卷一十八章:ICMP

ICMP
Internet Control Message Protocol,由RCF定義的一個網絡層協議,用於報告IP數據包傳遞過程當中發生的錯誤、失敗等信息,提供網絡診斷功能。
因爲IP是盡力傳輸協議,其提供的數據傳送服務是不可靠的,並且沒法提供相反診斷信息,而ICMP正是所以誕生。
ICMP可分爲梁總消息類型:差錯消息和查詢消息。
8種ICMP包類型
網絡

 

 
經常使用4種介紹:
(1)Destination Unreachable 目的不可達-----
《1》目的主機可能不存在或者關機;
《2》發送或提供的路由沒法實現;
《3》設定了不分段的包太大而不能封裝於幀中;

(2)Echo Request(type=8) 和 Echo Reply(type=0)
平常咱們ping常常使用的來回消息類型;工具

(3)TimeExceeded:當IP包中的TTL字段減到0或分片重組定時器到期,此包或任何爲未重組的分片將從網絡中被刪除,刪除分組的路由器接着向源發送一個Time Exceeded下次,說明分組未被投遞。3d

(個人理解:根據TTL的原理,每通過一個節點,設備收到TTL=0的包,回源主機一個ICMP TYPE=11的time exceeded包)

以及不經常使用的(統一截圖)
blog

 

 


如下介紹ICMP的經常使用工具:

ping------------------------------------
ping是ICMP的一個最多見的應用,主機經過發送ICMP Echo Request而目的主機回ICMP Echo Reply消息。
假設某個中間設備沒有到達目的網絡的路由,便會向源主機返回一條ICMP Destinaion Unreachable,告知源主機不可達;若是中間網絡異常,源主機沒有收到中間路由返回的des unreable消息,因源主機沒有收到任何回包而提示目的地址不可達或超時;
路由

 

 




tracert--------------
原理:發送一個帶有特定TTL的值,經過數據包轉發每一條使TTL減一的原理。若是TTL值爲0則設備會丟棄這個數據包,並向源主機發回一個ICMP超時消息報告錯誤。
工做原理:
《1》RTA發送一個TTL=1的udp報文,目的地址爲RTC;
《2》RTB收到數據包後,TTL-1=0,因而RTB回一個ttl-exceeded報文給RTA,這個報文含有第一跳的地址。這樣RTA就獲得了第一跳的地址;
《3》RTA發送一個TTL=2的udp報文,目的地址爲RTC;
《4》報文到RTB後,ttl-1=1,而後丟給RTC。RTC收到後,ttl-1=0,因爲RTC爲目的地址,且ttl=0,RTC將回一個ttl-exceeded報文給RTA,裏面包含RTC的地址。
io

 

 


相關文章
相關標籤/搜索