複製鏈接
請複製以下鏈接發送給好友

網間控制報文協議

鎖定
網間控制報文協議Internet Control Message Protocol,簡稱ICMP,TCP/IP協議族中的一種協議,位於IP層,用於傳輸網絡中的控制信息。ICMP允許出錯消息的生成、檢測分組和與 IP相關的信息郵件。
中文名
網間控制報文協議
外文名
internet Control Message Protocol
性    質
報文協議
稱    簡
ICMP
實例
IP協議的目的比較明確,它只是盡力地、最快地傳遞數據到目的站點,因此很難診斷錯誤情況,必須通過另外的協議返回相應的信息。針對網間層的錯誤診斷、擁塞控制、路徑控制和查詢服務四大功能,ICMP提供相應的報文。例如:當一個分組無法到達目的站點或TTL超時後,路由器就會廢除這個分組,同時向源站點返回一個目的站點不可達的ICMP報文;另外,當網絡擁塞(congestion)時,路由器就會廢除過載的分組,同時向源站點返回一個源站點抑制的報文。RFC 792中定義了ICMP協議
如圖1所示,ICMP報文是封裝IP數據報的數據區中發送的,因此並不能保證它的可靠性。為了避免重複報告所引起的“雪崩”現象,ICMP報文不再引發ICMP報文。
┌──────┬───────┐
│ICMP頭標│ICMP數據區│ICMP報文
└──────┴───────┘
┌────┬──────────────┐
│IP頭標│ IP數據區 │IP數據報
└────┴──────────────┘
圖1 ICMP報文的封裝
2.7.1 ICMP報文格式
ICMP報文分成頭標和數據區兩部分,其中頭標包含類型、代碼和校驗和三個域。ICMP報文格式如圖2所示。
0 1  2 3
01234567890123456789012345678901
┌───┬───┬───────┐
│ 類型│代碼 │校驗和 │
├───┴───┴───────┤
│ 數據 │
├───────────────┤
│  ··· │
└───────────────┘
圖2 ICMP報文格式
計算校驗和的算法與IP報頭校驗和的算法相同,也是16位二進制反碼和的反碼。但要注意的是,它是整個ICMP數據報的校驗和而不僅僅是頭標的校驗和;類型域是一個單字節整數,它指出報文的類型;代碼域也是一個單字節整數,它提供關於報文類型更進一步的信息。表2-3定義了15個ICMP報文類型。
0││12│
3││12│
4││12│
5││12│
8││12│
9││12│
10││12│
11││12│
(t001)