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