網絡層
- 特點:無連接、不可靠(盡最大努力交付數據報)
- 網絡層協議:IP、ARP、RARP、ICMP、IGMP
- 爲什麼要使用IP協議:使用IP協議可以使異構的物理網絡進行通信
IP
-
IP地址的編址方法
三個階段:分類、子網劃分、超網(CIDR)
分類地址
-
每一類IP地址由網絡號和主機號組成,分爲A、B、C、D、E五類地址,D類地址爲組播地址,E類地址保留以後使用,採用點分十進制表示。每一個網段的首個IP地址表示網絡號,最後一個地址表示組播號。
-
特殊用途的地址
網段(直接)廣播:主機號全爲1,發送到目標網絡的所有主機,路由器可以轉發
有限(受限)廣播:IP地址全爲1,同一個子網的所有主機都會接收,路由器不轉發
環回地址:不經過網絡層,常用於本機測試
私有地址:不需要直接連接到因特網的主機,一般使用私有IP地址,私有IP地址允許重複
-
同一局域網的主機或路由器網絡號一致
-
IP路由(分組轉發算法)
1、目的地址與路由器直接相連,直接交付
2、判斷是否有特定主機路由(路由器直接連接一個主機)
3、判斷是否有到達目的網絡的路由
4、使用默認路由
子網劃分
-
目的:解決IP地址極大浪費的問題
-
將主機號劃分一部分作爲爲子網號,每一類IP地址由網絡號,子網號,主機號組成
-
劃分子網爲一個單位內部的事情,單位對外仍表現爲沒有劃分子網的網絡
-
子網掩碼:網絡號與子網號全爲1,主機號爲0
-
子網劃分的IP路由
- 直接相連的網絡的子網掩碼與目的IP地址相與,判斷是否和直接相連的網絡地址一致
- 判斷是否有目的地爲目的IP地址的主機
- 將路由表中的每一行子網掩碼與目的IP地址相與,判斷與下一跳地址是否一致
- 選擇默認路由
CIDR
-
每一類IP地址由網絡前綴,主機號組成,在IP地址後通過"/"指出網絡前綴位數,全0、1的主機號地址不用
-
一個CIDR地址可以表示許多IP地址,稱爲路由聚合
-
CIDR的掩碼:網絡前綴位全爲1,主機號全爲0
-
CIDR的IP路由
- 路由表由網絡前綴和下一跳地址組成
- 將掩碼與IP地址相與,與下一跳比較,若一致,則匹配
- 可能會有多個匹配項目,選擇最長前綴匹配
-
-
IP數據報格式:固定20字節,後接可選字段,最長60字節,校驗和只校驗頭部,不校驗數據部分
ARP
-
ARP請求:將IP地址轉換爲MAC地址,採用廣播
-
ARP應答:採用單播
-
ARP不需要封裝在IP數據報中
-
ARP請求發送流程
- 查找ARP緩存,查找到了匹配項,直接使用MAC地址
- ARP緩存中不存在,廣播ARP請求
- 接收到ARP請求的計算機會將發送主機的IP地址與MAC地址對存儲到自己的ARP緩存中
- ARP緩存每隔一段時間會刪除長時間沒有被更新的項(接收到對應的ARP請求包,或是指長時間未使用)
RARP
- MAC地址轉IP地址,用於無盤系統獲得自己的IP地址
- 涼了,被DHCP取代
ICMP
-
ICMP數據報封裝在IP數據報中
-
作用:解釋IP報文爲什麼無法傳輸
-
ICMP報文分爲差錯報告報文(向發送源報告差錯)和ICMP問詢報文
-
不發送ICMP報文的情況
- 廣播或組播報文
- 不爲ICMP差錯報文產生ICMP差錯報文
- 第一個IP分片以外的分片
- 具有特殊地址,例如環回地址
-
ICMP差錯報告
-
數據報的數據部分包括IP數據報首部和IP數據報數據部分的前8個字節,前8個字節包括運輸層端口號以及發送序列(對於TCP)
-
常用差錯報告
- 重定向:當發送源的默認路由器發現了比經過自己更短的路由時,會通過重定向ICMP報文告訴發送源,將報文發送給另外一個路由器,發送源主機在路由表中新增一項,指出到某目的地應該通過該路由器
- 目的地不可達:數據報無法到達目的地
- 源站抑制:抑制發送源發送數據的速度
- 超時:TTL爲0,IP分段不能在指定時間全部到達
- 參數問題:數據報頭部標誌出錯,或缺少必須選項
-
-
ICMP問詢報文
- 請求應答:例如ping,用於確認一臺主機是否可達
- 地址掩碼請求與應答:請求子網掩碼
- 時間戳請求與應答
-
Traceroute
-
發送TTL爲1的IP數據報,第一個接收路由器返回超時消息給發送源,發送源依據IP頭部信息獲得第一個路由器的IP地址
-
發送TTL+1的數據報,不斷重複,判斷是否到達目的地
- 發送的IP數據報封裝的是UDP,UDP的端口設置的很大,到達目的地後,目的主機發送ICMP端口不可達報文(目的地不可達)
- 發送的IP數據報封裝的是ICMP請求報文,到達目的地後,目的主機發送ICMP響應報文
-