網路層協議(二)IP網際協議

2021-08-04 06:04:18 字數 3001 閱讀 9525

①  ip協議的多播

向多台主機傳送資料的方法有兩種:廣播和多播。在早期的多播實現方法主要是利用廣播技術,接收端根據是否需要資料來判斷資料是否丟棄。這樣會造成網路流量的浪費。另外廣播無法穿透路由,因此需要往不同的網段傳送資料時,就需要採用其他技術。

多播使用d類位址,前四位為1110,就可以認為是多播位址,剩下的28位為多播編號。從224.0.0.0到239.255.255.255都是多播位址,而224.0.0.0和224.0.0.255範圍內不需要路由控制。在這個範圍之外的多播位址會給全網組內成員的傳送多播位址。

對於多播,所有的主機,必須屬於224.0.0.1的組。路由器必須屬於224.0.0.2的組。多播位址有眾多已知位址。多播的技術實現還需要igmp的協議的支援。

②  子網掩碼

網路標識相同的計算機必須屬於同乙個鏈路。例如b類ip網段允許接入6.5k個計算機,而實際情況同乙個資料鏈路不會同時接入如此多的計算機,因此這類網路結構不存在。

因而,直接使用a類或者b類的位址,有些浪費。並且網路位址也越來越不足以應對需求,直接用a、b、c類ip位址更會導致資源浪費,因此使用組合方式可以減少這種浪費。

現在的方法是,乙個ip位址的網路標識和主機標識不再受限於位址類別,而是用乙個子網掩碼的識別碼通過子網網路位址細分出比a、b、c類網路粒度更小的網路,實際上即將原來的abc類的主機位址部分用作子網位址,將原網路劃分為多個物理子網的一種機制。

子網掩碼工32bit,他對應ip位址網路標識的部分全部為1,對應ip位址主機標識的部分全部為0,因此,乙個ip位址可以借助子網掩碼自由的定位自己的網路標識長度。

例如:子網掩碼:255.255.255.192(11111111.11111111.11111111.11000000)

因此如果要得出網路標識位址,將ip位址與子網掩碼進行與即可。

③  cidr和vlsm

90年代,一般大型的網路,會分配乙個a類位址,小架構的網路中,會分配c類網路位址。總之網路ip資源有限,無法滿足日益成長的網路需求。

因此,人們放棄了ip位址的分類,採用了ip位址任意分割的網路標識和主機標識。這種方式成為cidr(classinter-domain routing),無型別域間路由。而邊界閘道器協議(bgr)對應了cidr,因此不受ip位址分類而自由分配。cidr技術可以更好的利用網路位址資源。

在cidr初期,子網掩碼的長度是固定的,即如果子網掩碼的長度設定為24,那麼域內所有的子網掩碼都得為24,但是這些固定的機制無法適應實際變化多樣的環境。即有乙個矛盾:如果全部採用統一的標準,就難以架構出乙個高效的網路結構。

vlsm(可變長度子網掩碼)就是為了這種問題而但是的技術,其可以通過域間的路由器轉換,這樣,當網段內裝置為500個時,則將子網掩碼長度設定為23位,當主機數量為50時,子網掩碼長度設定為26位。從而理論上將ip位址的利用率提高了50%。

但這個只是緩解的辦法,根本矛盾是ip位址資源不足,因此才出現了後續的ipv6。

④  全域性位址和私有位址

初期,ip位址是不允許重複的,但ip資源不夠的問題明顯了以後,就提出了新技術,不要求對每個主機或者路由器分配乙個固定的ip位址,而是在必要的時候,為一定數量的裝置分配ip位址。

a類:10.0.0.0-10.255.255.255

b類:172.16.0.0-172.31.255.255

c類:192.168.0.0-192.168.255.255

這類ip位址稱為私有ip,除此以外的稱為公網ip或者全域性ip

私有ip如果需要接入網際網路,需要使用nat技術,將私有ip轉為公網ip。現代的家庭路由器,一般都具有nat功能,即為裝置分配的是私有ip,路由器或者伺服器上配置全域性ip。全域性ip一般在網際網路上是唯一的,但私有位址不需要,不同網段內的私有ip相同互不影響。

因此,現代網際網路的主要解決ip位址衝突的方案就是nat+私有ip,但也存在一些限制,比如不同網段內的機器不能直接使用互相的私有ip進行通訊。ipv6目前尚未普及。

⑤  路由控制

路由的重要概念是路由表,這個表有兩種方式生成,乙個是管理員配置的,乙個是路由器彼此之間互動生成的。前者叫做靜態路由,後者叫做動態路由。

ip協議適中認為路由表是正確的,而ip協議並沒有定義生成路由表的協議。該表是由乙個稱為路由協議的協議生成的。

1.   確定ip包首部的目標位址

2.   找到路由控制表中的記錄,該記錄與目標位址的網路位址相同

3.   **資料報

如果出現了多個對應的情況,則選擇最長匹配。例如,172.20.100.52的網路位址與172.20/16和172.20.100/24都對應的情況下,選擇後者作為匹配。

預設路由一般標記為0.0.0.0/32,主要作用是任何乙個網路位址都可與其匹配。防止出現路由表要記錄所有網路和子網資訊。

主機路由是全部為網路位址的情況,例如192.168.153.15/32,即整個ip位址都參與路由,它主要被用於不希望通過網路位址進行路由的情況。但是缺點很明顯,很容易導致路由表的膨脹,引起網路負荷增加。

路由表的聚合是指路由表中記錄了如192.168.2.0/24和192.168.3.0/24這類的網路位址,那麼路由器會將這兩條記錄合併成為:192.168.2.0/23的記錄,來縮減路由表,提高**效率。並且對路由器管理的裝置進行公示。(即能互相通訊的裝置中,告訴他們,如果發現了192.168.2.0/23網段的包,就往我這裡傳送,我負責進行**),如下所示:

⑥  ip資料的分割和再構

前面說過資料鏈路層重要區別就是mtu大小,而ip協議要做到能遮蔽這一點。因此主要問題是在資料的分割上面。路由器通常會對資料量較大的ip包進行分割,而隨著資料鏈路的速率變快,這種分割所造成的效能消耗比較嚴重。為了使得資料傳輸時路由器盡可能的少分割資料,提出了乙個路徑mtu發現機制:

1.   ip協議對上層發下來的資料,依照自己機器所接的資料鏈路進行資料分割,然後發給路由器

2.   路由器收到資料以後如果超出路由器所接鏈路的mtu大小,那麼則丟掉這個包,並通過icmp傳送乙個目標不可到達訊息。

3.   傳送主機收到這個訊息,重新組裝乙個測試包,一直測試到不在收到icmp的錯誤訊息為止,並記錄下此時的mtu大小

4.   這個mtu大小約維持10分鐘,10分鐘內則按照這個mtu進行對上層的資料分割。

網路層 網際協議IP

網路層提供的兩種服務 網路層向上只提供簡單靈活的 無連線的 盡最大努力交付的資料報服務。這裡的資料報和分組是一樣的。網路在傳送分組時不需要先建立連線。每乙個分組 即ip資料報 獨立傳送,與前後的分組無關,不進行編號。網路層不提供服務質量的保證,有可能出現出錯 丟失 重複 失序,也不能保證分組交付的時...

網路層 IP網際協議 ifconfig a

1 ip資料報格式 四位首部長度 最大首部長度60個位元組 八位服務型別 在現在的tcp ip實現中會自動選擇 16位總長度 是指加上首部和資料部的所有長度 最大長度65535其中在回環介面中mtu其實使用的是ip資料報的總長度,不是乙個真正的mtu,只是使用了ip資料報的總長度 標識欄位是每發乙份...

IP網際協議

定義 ip協議位於osi網路模型的網路層,提供一種速度快但不可靠的服務,不可靠的意思是它不保證ip資料報能成功的到達目的地。tcp udp icmp igmp資料都是以ip資料報格式傳輸的,每乙份資料報都包含源ip和目的ip位址。ip協議提供點到點的服務,ip解決的最根本的問題是如何把網路上的主機連...