【计算机网络】网络层 : ICMP 协议 ( ICMP 差错报文 | 差错报文分类 | ICMP 询问报文 | ICMP 应用 | Ping | Traceroute )
文章目錄
- 一、ICMP 協議
- 二、ICMP 協議 簡介
- 三、ICMP 五種差錯報告報文
- 四、ICMP 差錯報文形成
- 五、ICMP 差錯報文 不發送 情形
- 六、ICMP 詢問報文
- 七、ICMP 應用
一、ICMP 協議
網絡層 協議 :
① IP 協議 : IP 協議是 網絡層 核心協議 ;
② ARP 協議 : ARP 協議 是 網絡層 與 數據鏈路層 之間的協議 , 通過 IP 地址查找 物理地址 ;
③ ICMP 和 IGMP 協議 : ICMP 和 IGMP 協議 是 網絡層 與 傳輸層 之間的協議 ; 目的是更加有效的轉發 IP 數據報 , 提高交付的成功率 ;
二、ICMP 協議 簡介
ICMP 協議 簡介 :
① ICMP 協議 全稱 : 網際控制報文協議 ;
② ICMP 協議 功能 :
- 差錯報告 : 對應 發送 差錯報文 ;
- 網絡探尋 : 對應 發送 探尋報文 ;
③ ICMP 報文 在 IP 數據報中位置 : ICMP 報文 屬于 IP 數據報 的 數據部分 ;
ICMP 報文內容 : 其中的類型是 差錯報文 / 探詢報文 ;
三、ICMP 五種差錯報告報文
ICMP 五種差錯報告報文 :
① 終點不可達報文 : 路由器 / 主機 不能交付數據報時 , 就會向源點 發送 終點不可達報文 ;
② 源點抑制報文 : 路由器 / 主機 擁塞 , 丟棄 IP 數據報 , 向源點發送源點抑制報文 , 讓源點降低發送速率 ;
③ 時間超過報文 :
- 生存周期為 000 : 路由器 生存周期 TTL = 000 時 , 丟棄該報文 , 同時向源點發送 時間超過報文 ;
- 分組丟失 : 終點 在預定時間內 沒有收到 數據報的全部數據分組時 , 就會將已收到的數據分組全部丟棄 , 向源點發送時間超過報文 ;
④ 參數問題報文 : 路由器 / 主機 收到的 數據報 首部 字段由錯誤值 , 丟棄該數據報 , 向源點發送 參數問題報文 ;
⑤ 改變路由報文 : 路由器 將 改變路由報文 發送給主機 , 讓主機下次將數據報發送給另外的路由器 ; 又稱為 “重定向報文” ;
四、ICMP 差錯報文形成
ICMP 差錯報文形成 :
① 取出 IP 數據報內容 : 取出 IP 數據報 首部 , 以及 數據部分的 前 888 字節 ;
② ICMP 差錯報文 組成 : ICMP 前 888 個字節 + IP 數據報 首部 + IP 數據報數據部分前 888 字節 ;
③ 組裝 IP 數據報 : 將 ICMP 數據報 裝入 IP 數據報 數據部分 ;
五、ICMP 差錯報文 不發送 情形
ICMP 差錯報文 不發送 情形 :
① ICMP 差錯報文錯誤 : IP 數據報 中 , 如果 ICMP 差錯報文部分出錯 , 就不用再發送 ICMP 差錯報告報文了 ;
② 后續數據報分片 : ICMP 差錯報文只針對數據報的第一個分片 , 后續分片就不發送 ICMP 差錯報告報文了 ;
③ 組播地址 : 如果 IP 數據報的地址是 組播地址 , 不發送 ICMP 差錯報文 ;
④ 特殊地址 : 如果 IP 數據報的地址是 特殊地址 , 不發送 ICMP 差錯報文 ; 如 : 默認路由地址 等 ;
六、ICMP 詢問報文
ICMP 詢問報文 :
① 回送請求 和 回答報文 : 主機 / 路由器 詢問特定主機 , 目的主機收到該報文后 , 必須給源主機 發送 ICMP 回答報文 ; 目的是 測試該 目的主機是否可達 ;
② 時間戳請求 和 回答報文 : 請求 主機 / 路由器 當前的日期 和 時間 ; 用于進行時鐘同步 和 時間測量 ;
七、ICMP 應用
ICMP 應用 :
① PING : 測試連通性 , 使用 ICMP 回送請求 和 回答報文 ;
② Traceroute : 追蹤 分組 從原點 到 終點 路徑 , 使用 ICMP 時間超過差錯報告報文 ;
Traceroute 應用 細節 :
源主機 與 目的主機之間 有 nnn 個路由器 ;
第 111 個數據報 TTL = 111 , 第 111 個路由器收到該數據報 , 發現其生存周期為 000 , 向源主機回送 ICMP 時間超過差錯報告報文 , 這樣就得到了第 111 個路由器的地址 ;
第 222 個數據報 TTL = 111 , 第 222 個路由器收到該數據報 , 發現其生存周期為 000 , 向源主機回送 ICMP 時間超過差錯報告報文 , 這樣就得到了第 222 個路由器的地址 ;
?\vdots?
第 nnn 個數據報 TTL = nnn , 第 nnn 個路由器收到該數據報 , 發現其生存周期為 000 , 向源主機回送 ICMP 時間超過差錯報告報文 , 這樣就得到了第 nnn 個路由器的地址 ;
總結
以上是生活随笔為你收集整理的【计算机网络】网络层 : ICMP 协议 ( ICMP 差错报文 | 差错报文分类 | ICMP 询问报文 | ICMP 应用 | Ping | Traceroute )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算机网络】网络层 : DHCP 协
- 下一篇: 【计算机网络】网络层 : IPv6 协