ICMP協議的基本結構和報文類型
在網絡協議中,ICMP協議的作用有很多,它既可以對網絡安全作出貢獻,又可以進行一些數據報錯,故障隔離恢復等工作。那么對于這個人見人愛的協議我們來詳細地介紹一下吧。
ICMP協議簡介
ICMP全稱Internet Control Message Protocol,中文名為因特網控制報文協議。它工作在OSI的網絡層,向數據通訊中的源主機報告錯誤。ICMP可以實現故障隔離和故障恢復。
網絡本身是不可靠的,在網絡傳輸過程中,可能會發生許多突發事件并導致數據傳輸失敗。網絡層的IP協議是一個無連接的協議,它不會處理網絡層傳輸中的故障,而位于網絡層的ICMP協議卻恰好彌補了IP的缺限,它使用IP協議進行信息傳遞,向數據包中的源端節點提供發生在網絡層的錯誤信息反饋。ICMP的報頭長8字節,結構如圖1所示。
(圖1 ICMP報頭結構)
類型:標識生成的錯誤報文,它是ICMP報文中的***個字段;
代碼:進一步地限定生成ICMP報文。該字段用來查找產生錯誤的原因;
校驗和:存儲了ICMP所使用的校驗和值;
未使用:保留字段,供將來使用,起值設為0;
數據:包含了所有接受到的數據報的IP報頭。還包含IP數據報中前8個字節的數據;
ICMP協議提供的診斷報文類型如表1所示。#p#
類型
|
描述
|
0
|
回應應答(Ping應答,與類型8的Ping請求一起使用)
|
3
|
目的不可達
|
4
|
源消亡
|
5
|
重定向
|
8
|
回應請求(Ping請求,與類型8的Ping應答一起使用)
|
9
|
路由器公告(與類型10一起使用)
|
10
|
路由器請求(與類型9一起使用)
|
11
|
超時
|
12
|
參數問題
|
13
|
時標請求(與類型14一起使用)
|
14
|
時標應答(與類型13一起使用)
|
15
|
信息請求(與類型16一起使用)
|
16
|
信息應答(與類型15一起使用)
|
17
|
地址掩碼請求(與類型18一起使用)
|
18
|
地址掩碼應答(與類型17一起使用)
|
(表1 ICMP診斷報文類型)
ICMP提供多種類型的消息為源端節點提供網絡層的故障信息反饋,它的報文類型可以歸納為以下5個大類:
診斷報文(類型8,代碼0;類型0,代碼0);
目的不可達報文(類型3,代碼0-15);
重定向報文(類型5,代碼0-4);
超時報文(類型11,代碼0-1);
信息報文(類型12-18)。