ICMP(Internet Control Message Protocal),網(wǎng)際消息控制協(xié)議,ICMP向源節(jié)點(diǎn)報(bào)告關(guān)于向目的地傳輸IP數(shù)據(jù)包過程中的錯(cuò)誤和信息。IP協(xié)議不是一個(gè)面向連接的協(xié)議,也就意味不是絕對(duì)可靠。ICMP提供了很多類型的消息反饋一些錯(cuò)誤問題。IP Protocal值為1。
ICMP報(bào)文詳解
Type:8bit,類型;
Code:8bit,代碼;
Checksum:16bit,校驗(yàn)和;
接著的4個(gè)字節(jié)內(nèi)容與Type有關(guān),最后是數(shù)據(jù)字段,其長(zhǎng)度取決于ICMP類型。以下是常用Tpye類型可分差錯(cuò)報(bào)告報(bào)文和詢問報(bào)文:
差錯(cuò)報(bào)告報(bào)文
3 Destination Unreachable 終點(diǎn)不可達(dá) 含13種Code,即13種不可達(dá)的原因
4 Source Quench 源點(diǎn)抑制 路由器或主機(jī)由于擁塞而丟棄數(shù)據(jù)報(bào)時(shí)發(fā)送
5 Redirect 重定向 為讓主機(jī)知道更好的路由
11 Time Exceeded 時(shí)間超時(shí) TLL=0時(shí)發(fā)送
12 Parameter Problem 參數(shù)錯(cuò)誤 數(shù)據(jù)包的首部有字段值不正確時(shí)
詢問報(bào)文
8 Echo 回送請(qǐng)求,通過這種詢問測(cè)試destination是否可達(dá)
0 Echo Reply 回送應(yīng)答
13 Timestamp 時(shí)間戳請(qǐng)求 請(qǐng)某主機(jī)或路由器回答當(dāng)前日期和時(shí)間,可以用來進(jìn)行時(shí)鐘同步和測(cè)量時(shí)間
14 Timestamp Reply 時(shí)間戳應(yīng)答
Code的詳細(xì)說明:未提及的Type類型只有Code=0一種情況
Destination Unreachable Type=3:
Redirect Type=5:
Time Exceeded Type=11:
Parameter Problem Type=12:
ping原理:利用Echo/Echo Reply測(cè)試兩個(gè)主機(jī)的連通性;
traceroute原理:利用Time Exceeded,traceroute向目標(biāo)主機(jī)發(fā)一連串的IP數(shù)據(jù)報(bào),封裝著無法交付的UDP用戶數(shù)據(jù)包,第一個(gè)數(shù)據(jù)報(bào)P1的TTL設(shè)置為1,第1個(gè)路由器R1收到后TTL減一后等于零了,R1丟棄P1,返回源主機(jī)Time Exceeded;第二個(gè)數(shù)據(jù)包P2的TTL設(shè)置為2,等傳到第2個(gè)路由器時(shí)TTL=0了,R2丟棄P2,返回源主機(jī)Time Exceeded;以此類推,到達(dá)目的主機(jī)時(shí),TTL=1,主機(jī)也不把TTL值減1也不轉(zhuǎn)發(fā),但是由于IP數(shù)據(jù)包中封裝的是無法交付的UDP用戶數(shù)據(jù)報(bào),因此目的主機(jī)要向源主機(jī)發(fā)送Destination Unreachable報(bào)文。
在IPv6中,ICMPv6除了提供ICMPv4常用的功能之外,還是其它一些功能的基礎(chǔ),如鄰接點(diǎn)發(fā)現(xiàn)、無狀態(tài)地址配置(包括重復(fù)地址檢測(cè))、PMTU發(fā)現(xiàn)等。協(xié)議類型號(hào)即Next Header值為58。
ICMPv6報(bào)文詳解
Type:8bit,類型,0至127表示差錯(cuò)報(bào)文類型,128至255表示消息報(bào)文類型;
Code:8bit,代碼,消息類型細(xì)分;
Checksum:16bit,校驗(yàn)和;
Message Body:ICMPv6數(shù)據(jù);
差錯(cuò)報(bào)文類型:4種
Destination Unreachable Message Type=1,目的地址不可達(dá)時(shí)
Packet Too Big Message Type=2&Code=0,報(bào)文超過出接口的鏈路MTU時(shí)(IPv4里沒有)
Time Exceeded Message Type=3,Hop Limit字段值等于0時(shí)
Parameter Problem Message Type=4,參數(shù)錯(cuò)誤時(shí)
消息報(bào)文類型:2種
Echo Request Message:Type=128&Code=0,回送請(qǐng)求報(bào)文
Echo Reply Message:Type=129&Code=0,回送應(yīng)答報(bào)文響應(yīng)
Code的詳細(xì)說明:未提及的Type類型只有Code=0一種情況
Destination Unreachable Message Type=1:
Time Exceeded Message Type=3:
Parameter Problem Message Type=4:
聯(lián)系客服