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