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