1. 程式人生 > >TCP/IP模型網路層中的ICMP協議、ICMP請求資料包

TCP/IP模型網路層中的ICMP協議、ICMP請求資料包

 ICMP是(Internet Control Message Protocol)Internet控制報文協議。它是TCP/IP協議族的一個子協議,用於在IP主機路由器之間傳遞控制訊息。控制訊息是指網路通不通、主機是否可達、路由是否可用等網路本身的訊息。這些控制訊息雖然並不傳輸使用者資料,但是對於使用者資料的傳遞起著重要的作用。

ICMP協議是一種面向無連線的協議,用於傳輸出錯報告控制資訊。它是一個非常重要的協議,它對於網路安全具有極其重要的意義。 [1]

它是TCP/IP協議族的一個子協議,屬於網路層協議,主要用於在主機與路由器之間傳遞控制資訊,包括報告錯誤、交換受限控制和狀態資訊等。當遇到IP資料無法訪問目標、IP

路由器無法按當前的傳輸速率轉發資料包等情況時,會自動傳送ICMP訊息。ICMP報文在IP幀結構的首部協議型別欄位(Protocol 8bit)的值=1.

如下圖所示,ICMP包有一個8位元組長的包頭,其中前4個位元組是固定的格式,包含8位型別欄位,8位程式碼欄位和16位的校驗和;後4個位元組根據ICMP包的型別而取不同的值。

ICMP提供一致易懂的出錯報告資訊。傳送的出錯報文返回到傳送原資料的裝置,因為只有傳送裝置才是出錯報文的邏輯接受者。傳送裝置隨後可根據ICMP報文確定發生錯誤的型別,並確定如何才能更好地重發失敗的資料包。但是ICMP唯一的功能是報告問題而不是糾正錯誤,糾正錯誤的任務由傳送方完成。