(三)網絡層——網際協議IP

一、網絡層提供的兩種服務

1、面向連接:在通信的雙方之間先建立一條虛電路實現可靠的傳輸。
2、無連接:不需要建立連接,每個分組都有終點的完整地址,可能發生丟失、錯序等問題。
注意:目前因特網提供的是無連接的服務。

二、網際協議IP

網際協議IP是TCP/IP體系中兩個最主要的協議之一。與IP協議配套的還有4個協議:
1、地址解析協議ARP
2、逆地址解析協議
3、網際控制報文協議ICMP
4、網際組管理協議IGMP
這裏寫圖片描述
IP協議會用到ARP和PARP,而ICMP和IGMP會用到IP協議。

三、IP地址的分類

每一類IP地址由“網絡號、主機號”組成。網絡號標誌主機或路由器連接到哪個網絡,一個網絡號在整個因特網範圍內是唯一的。主機號標誌該主機或路由器,一個主機號在當前網絡範圍是內唯一的。
這裏寫圖片描述
注意:A、B、C類地址是單播地址(一對一通信),D類地址用於多播通信,E類地址保留爲以後用。

A類地址:以0開頭, 第一個字節範圍:0~127(1.0.0.0 - 126.255.255.255);
B類地址:以10開頭,第一個字節範圍:128~191(128.0.0.0 - 191.255.255.255);
C類地址:以110開頭,第一個字節範圍:192~223(192.0.0.0 - 223.255.255.255);
其他IP地址爲Internet上保留地址用於內部。

IP地址的特點:
1、每一個IP地址都是由網絡號和主機號組成。IP地址管理機構只分配網絡號,主機號由該網絡號的擁有單位自行分配。路由器根據網絡號進行分組轉發,大幅度減小路由表所佔存儲空間和查找時間。
2、當一個主機同時連接到兩個網絡時,該主機擁有兩個網絡號不同的IP地址。該主機稱爲多歸屬主機,例如路由器。

四、IP地址與MAC地址

MAC地址是數據鏈路層和物理層使用的地址,IP地址是網絡層和以上各層使用的邏輯地址。
IP地址放在IP數據報的首部,而硬件地址放在MAC幀的首部。
這裏寫圖片描述

五、地址解析協議ARP 與 逆地址解析協議RARP

ARP:將IP地址映射到MAC地址
RARP:將MAC地址映射到IP地址(現在包含在DHCP協議中)
這裏寫圖片描述

地址解析協議ARP :在每個主機設有一個ARP高速緩存,裏面包含本局域網中每個主機和路由器的IP地址到MAC地址的映射表,並經常動態更新(ARP中每一個映射地址都有生存時間)。
當ARP高速緩存中沒有目標主機的IP地址源主機的ARP高速緩存爲空時,源主機自動運行ARP:
1、源主機在本局域網上廣播發送一個ARP請求分組,包含源主機的IP、MAC地址以及目標主機的IP地址。
2、目標主機收到這個分組,向源主機發送自己的IP、MAC地址,並將源主機的IP、MAC地址記錄在自己的ARP高速緩存中。其餘主機忽略這個請求分組。
3、源主機收到目標主機發送的分組,將目標主機的IP、MAC地址寫入自己的ARP高速緩存。
這裏寫圖片描述

六、IP數據報格式

IP數據報的首部的固定部分是20字節,是所有IP數據報必須具有的。可變部分包含一些可選字段。
這裏寫圖片描述

1、IP數據報首部的固定部分
(1)版本:佔4位,指IP協議的版本,IPv4或IPv6
(2)首部長度:佔4位,可表示的最大十進制數字是15。這個字段所表示的數字單位是32位,即4字節。當首部長度表示爲0001時,並不是說首部長度是1,而是說首部長度是1個4字節。因此真正的首部的長度應該是0~15(4字節),即0~60字節。在TCP/IP的標準中,各種數據格式常以32位(4字節)爲單位進行描述。在首部,某些格式是必須的,所以,規定首部的固定部分是20個字節。特別的:首部長度爲“0101”是最常用的,此時只有固定部分,沒有任何選項(可變部分)。當首部長度不是4字節的整數倍時,用全0補充成4字節整數倍。
(3)區分服務:佔8位,只有在使用區分服務時,這個字段才起作用,一般不使用。
(4)總長度::佔16位,首都及數據之和的長度,單位爲字節,最大長度爲2161=65535 字節。IP數據報的總長度不得小於576字節,不得大於數據鏈路層的最大傳送單元MTU。
(5)標識:佔16位。在存儲器中維持一個計數器,每產生一個數據報,計數器就加 1,並將此值賦給標識字段。由於IP是無連接服務,數據報不存在按序接收的問題。當數據報由於長度超過網絡的 MTU 而必須分片時,這個標識字段的值就被複制到所有的數據報的標識字段中。相同的標識字段值使分片後的各數據報片最後能正確地重裝成爲原來的數據報。
(6)標誌:佔3 位,但目前只有2位有意義。標誌字段中的最低位記爲 MF。MF=1表示後面還有分片的數據報。MF=0表示這已是最後一個數據報。標誌字段中間的一位記爲 DF,意思是“不能分片”。只有當 DF=0時才允許分片。
(7)片偏移:佔 13位。較長的分組在分片後,某片在原分組中的相對位置。片偏移以 8個字節爲偏移單位。這就是說,每個分片的長度一定是 8字節 (64位)的整數倍。通過片偏移來按照正確的順序重組數據報。
(8)生存時間::佔 8位,生存時間字段TTL 表明數據報在網絡中的壽命,單位是跳數。
(9)協議::佔 8 位,表示數據報攜帶的數據是使用何種協議,以便使目的主機的IP層知道應將數據部分上交給哪個處理過程。
(10)首部檢驗和:佔 16位。這個字段只檢驗數據報的首部,不包括數據部分。
(11)源地址:佔 32位。
(12)目的地址:佔 32位。

七、路由表及分組轉發流程

在路由表中,每一條路由中最主要的兩個信息是 <目的網絡地址,下一跳地址>。根據目的網絡地址來確定下一跳路由器,只有到達最後一個路由器時,才向目的主機進行直接交付。
這裏寫圖片描述
注意:這裏不討論加入子網掩碼後的路由表,劃分子網的部分在下一章。

分組轉發流程
1、從IP數據報首部提取目的主機的IP地址D,得到目的網絡地址N。
2、若N與此路由器直接相連,則進行直接交付,把數據報直接交付給目的主機。具體過程爲:將目的主機地址D轉換爲MAC地址,將IP數據報封裝爲MAC幀,再發送此幀。
3、若N與此路由器不直接相連,則進行間接交付,若路由表中有目的地址爲D的特定主機路由,則將數據報傳送給路由表中所指明的下一跳路由。否則,執行4。
4、若路由表中有到達網絡N的路由,則將數據報傳送給路由表中所指明的下一跳路由。否則,執行5。
5、若路由表中有一個默認路由,則把數據傳送給路由表中的默認路由器。否則,執行6。
6、報告轉發分組出錯。

發佈了52 篇原創文章 · 獲贊 10 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章