在數(shù)據(jù)鏈路層之上,是網(wǎng)絡(luò)層。網(wǎng)絡(luò)層提供了獨(dú)立于傳輸網(wǎng)絡(luò)并且全網(wǎng)絡(luò)統(tǒng)一的地址,即 IP 地址,還提供了獨(dú)立于傳輸網(wǎng)絡(luò)并且用 IP 地址表示發(fā)送端和接收端的分組,即 IP 分組。
IP地址
IP 地址分為 IPV4 和 IPV6。IPV4 是用 32 位二進(jìn)制數(shù)表示的 IP 地址,而 IPV6 使用 128 位二進(jìn)制數(shù)表示的 IP 地址。
以下使用的 IP 地址均是現(xiàn)流行的 <b>IPV4</b>。
<br />
IP 地址有兩種編址方式,一種是分類編址,另一種是無分類編址。
分類編址:
分類編址將 IP 地址分為 ABCDE 五類地址,如下:

- ABC 這三類地址稱為單播地址,包括網(wǎng)絡(luò)號和主機(jī)號兩部分
- 主機(jī)號全為 0 表示網(wǎng)絡(luò)地址,比如 192.1.1.0 是一個(gè) C 類的網(wǎng)絡(luò)地址
- 主機(jī)號全為 1 表示廣播地址,比如 192.1.1.255 是一個(gè) C 類的廣播地址
- 32 位全為 1 表示受限廣播地址(限于發(fā)送終端所在網(wǎng)絡(luò))
- 0.0.0.0 表示 IP 地址無法確定,終端沒有分配 IP 地址前可以作為 IP 分組的源地址
- 127.x.x.x 是回送測試地址
- 224.0.0.1 表示網(wǎng)絡(luò)中所有支持組播的終端和路由器
- 224.0.0.2 表示網(wǎng)絡(luò)中所有支持組播的路由器
- 224.0.0.9 表示網(wǎng)絡(luò)中所有運(yùn)行 RIP 進(jìn)程的路由器
無分類編址
由于在分類編址中存在浪費(fèi) IP 地址、無法有效精簡路由項(xiàng)和 C 類網(wǎng)絡(luò)地址使用率較低的問題,人們提出了<b>無分類編址</b>。
無分類編址通過<b>子網(wǎng)掩碼</b>指明 IP 地址中作為網(wǎng)絡(luò)號的位數(shù),如 5.1.1.2/255.0.0.0 或 5.1.1.2/8 表示前 8 個(gè)二進(jìn)制數(shù)為網(wǎng)絡(luò)號,剩下的 24 位為主機(jī)號。
IP分組

- 版本:4 位。IPV4 的版本號為 4,即 0100,IPV6 的版本號為 6,即 0110
- 首部長度:4 位,以 32 位字即 4 個(gè)字節(jié)為單位。該字段的最小值為 5,用于沒有可選項(xiàng)的情況
- 服務(wù)類型:8 位。 用于指定 IP 分組的優(yōu)先級、延遲、吞吐率和可靠性要求等要求的組合。前三位表示優(yōu)先級,第四位表示時(shí)延,第五位為吞吐率,第六位為可靠性,剩下兩位為保留位
- 總長度:16 位,以字節(jié)為單位。表示包括首部和數(shù)據(jù)的 IP 分組的長度,最大值為 65535
- 標(biāo)識:16位。用于標(biāo)識屬于同一 IP 分組的數(shù)據(jù)片,屬于同一 IP 分組的數(shù)據(jù)片該字段值相同
- 標(biāo)志: 3 位。分別為 DF、MF 和保留位。DF = 1 表示不允許分片, MF = 0 表示該片為最后一片
- 片偏移:13 位,以 8 個(gè)字節(jié)為單位。表示當(dāng)前數(shù)據(jù)片在原始 IP 分組中的位置
- 生存時(shí)間:8 位。用于限制 IP 分組在網(wǎng)絡(luò)中的存在時(shí)間,由終端設(shè)定
- 協(xié)議:8 位。表示數(shù)據(jù)所屬的高層協(xié)議類型
- 首部校驗(yàn)和:16 位。對首部用檢驗(yàn)和算法計(jì)算出的檢錯(cuò)碼,沒每經(jīng)過一個(gè)路由器計(jì)算一次
- 源地址和目的地址:32 位。表示源終端和目的終端的 IP 地址
- 可選項(xiàng):包括 保密、嚴(yán)格的源站選路、不嚴(yán)格的源站選路、記錄路由和時(shí)間戳
IP over 以太網(wǎng)
基于以太網(wǎng)的 IP 的關(guān)鍵是如何根據(jù)終端的 IP 地址獲得 MAC 地址,這就要用到 <b>ARP(Address Resolution Protocol) 協(xié)議</b>
工作流程:
假設(shè)終端 A 需要通過終端 B 的 IP 地址獲得終端 B 的 MAC 地址
- 終端 A 發(fā)送以下格式的廣播幀:

網(wǎng)絡(luò)中所有終端都接收到請求幀,所有終端都根據(jù)給出的 IP 地址確定自己是否為目的終端
只有終端 B 回復(fù) 終端 A,回復(fù)幀的格式如下:

Internet 控制報(bào)文協(xié)議
Internet 控制報(bào)文協(xié)議 (Internet Control Message Protocol,ICMP)分為<b>差錯(cuò)報(bào)告報(bào)文</b>和<b>詢問報(bào)文</b>
差錯(cuò)報(bào)告報(bào)文:
- 終點(diǎn)不可達(dá):
網(wǎng)絡(luò)不可達(dá)
主機(jī)不可達(dá)
協(xié)議不可達(dá)
端口不可達(dá)
需要分片但 DF 位置 1
源路由失敗
- 源站抑制:
當(dāng)路由器或主機(jī)由于擁塞而丟棄IP分組時(shí),就向IP分組的發(fā)送終端發(fā)送源站抑制報(bào)文,要求IP分組的發(fā)送終端降低發(fā)送速率。
- 超時(shí):
當(dāng)路由器接收到生存時(shí)間為零的IP分組
接收終端在規(guī)定時(shí)間內(nèi)不能接收到分片某個(gè)IP分組后產(chǎn)生的全部數(shù)據(jù)片
- 參數(shù)問題:
當(dāng)路由器或目的終端接收到首部字段有錯(cuò)的IP分組,且已無法再繼續(xù)轉(zhuǎn)發(fā)該IP分組
- 改變路由:
當(dāng)路由器發(fā)現(xiàn)分組接收到的端口和將要轉(zhuǎn)發(fā)出去的端口相同時(shí),可以要求發(fā)送該分組的終端改變路由
#######詢問報(bào)文:
- 回送請求和響應(yīng):
路由器或主機(jī)通過回送請求報(bào)文向一個(gè)特定設(shè)備發(fā)出詢問
接收到該報(bào)文的設(shè)備(主機(jī)或路由器)必須向發(fā)送回送請求報(bào)文的源設(shè)備回答一個(gè)回送響應(yīng)報(bào)文
- 時(shí)間戳請求和響應(yīng):
時(shí)間戳請求報(bào)文用于向某個(gè)目的設(shè)備詢問當(dāng)前的日期和時(shí)間
時(shí)間戳響應(yīng)報(bào)文用于回送接收請求報(bào)文的日期和時(shí)間及發(fā)送響應(yīng)報(bào)文的日期和時(shí)間
- 地址掩碼請求和響應(yīng):
主機(jī)通過子網(wǎng)掩碼請求和響應(yīng)來獲知所在網(wǎng)絡(luò)的子網(wǎng)掩碼
- 路由器詢問和通告:
主機(jī)通過廣播路由器詢問報(bào)文查詢網(wǎng)絡(luò)內(nèi)路由器的工作狀態(tài)
接收到路由器詢問報(bào)文的路由器通過廣播路由器通告報(bào)文來通告其路由信息