IP 網際協議

1. 概述

IP 協議,網際協議,所有計算機網絡都使用 IP 協議, 使得性能各異的網絡在網絡層上就像是一個統一的網絡,在網絡中傳輸數據包,上層協議使用TCP協議就是現在的互聯網。

IP不提供可靠的傳輸服務,它不提供端到端的或(路由)結點到(路由)結點的確認,對數據沒有差錯控制,它只使用報頭的校驗碼,它不提供重發和流量控制。如果出錯可以通過ICMP報告,ICMP在IP模塊中實現。

IP 由網絡號 和 主機號 構成, 主機號在網絡號表示的範圍內必須唯一。以IPV4爲例,如下圖所示(該圖出自《計算機網絡第七版》,謝希仁老師編著,下同)。單位請求的IP地址指的是網絡號,主機號有單位自己分配,但需要保證主機號唯一。

分爲網絡號和主機號的兩級結構的好處,減少路由表中數據的存儲,路由器可以根據僅靠網絡號來轉發分組。

IP數據報和TCP報文、MAC幀的關係,如下圖所示:

2. 地址解析協議 ARP

地址解析協議 ARP。ARP協議只用在局域網中,它用來將IP地址解析爲MAC地址(物理地址)。

局域網中的每個主機都有一個ARP緩存,它保存了最近發起的IP地址到MAC地址的映射記錄,當該主機要向局域網中的某一主機發送數據時,它會先從自己的緩存中查找,看是否存在目標IP地址,如果找到了,就通過映射找到它的MAC地址,從而發送過去,如果沒有找到該目的IP地址,它就向該局域網內發送一個廣播,廣播中包含自己的IP地址、MAC地址和目的主機的IP地址,局域網內的所有主機都會收到該廣播,但只有目的IP地址的主機會做出迴應,並把自己的MAC地址發送給源主機,源主機收到後,在自己的ARP緩存中增加上該映射,並根據發來的MAC地址將數據發送給目的主機。

ARP高速緩存中的表項一般都要設置超時值,如果一段時間內沒有與某主機通信,就將該主機對應的IP與MAC之間的映射關係去掉,下次在需要通信時,依然發送廣播。

如果ARP請求是從一個網絡的主機到另一個網絡的主機,那麼連接這兩個網絡的路由器就可以回答該請求,這個過程成爲ARP代理。

ARP協議 常與RARP協議(逆地址解析協議)配合使用,但現在已經被淘汰, DHCP協議中 包含 RARP 。

3. IP分片

以太網的MTU是1500。如果IP層有數據包要傳,而且數據包的長度超過了MTU,那麼IP層就要對數據包進行分片(fragmentation)操作,使每一片的長度都小於或等於MTU。我們假設要傳輸一個UDP數據包,以太網的MTU爲1500字節,一般IP首部爲20字節,UDP首部爲8字節,數據的淨荷(payload)部分預留是1500-20-8=1472字節。如果數據部分大於1472字節,就會出現分片現象。

IP 數據包的格式如下所示:

4. 子網掩碼

子網掩碼的作用:主機號再分成一個子網號和主機號,便將一個網絡又劃分成了若干子網,子網掩碼與該子網中的IP地址相與,便得到該子網,另外,子網對於子網內部的路由器是不透明的(對於本網絡以外透明),也就是說IP數據報傳到該網絡的網關時,網關再將該數據報傳送到子網的默認路由器上,最後通過該路由器再交付給該主機。

子網掩碼的用途:減少路由表中數據的存儲。

對於A類地址來說,默認的子網掩碼是255.0.0.0;

對於B類地址來說默認的子網掩碼是255.255.0.0;

對於C類地址來說默認的子網掩碼是255.255.255.0。

5. 路由器分組轉發  

主機通過路由器和目的主機連接。主機通過IP數據報連接目的主機時,按照如下步驟搜索(同一網絡中的搜索要經過ARP協議將目的主機的IP地址解析爲MAC地址):

搜索路由表,優先搜索匹配主機,如果能找到和IP地址完全一致的目標主機,則將該包發向目標主機。

搜索路由表,如果匹配主機失敗,則匹配同子網的路由器,這需要子網掩碼的協助。如果找到路由器,則將該包發向路由器。

搜索路由表,如果匹配同子網路由器失敗,則匹配同網號路由器,如果找到路由器,則將該包發向路由器。

搜索路由表,如果以上都失敗了,就搜索默認路由,如果默認路由存在,則發包。

如果都失敗了,報告轉發分組失敗。

參考文獻:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章