網路層(網際控制報文協議ICMP)

2021-06-19 07:39:10 字數 1903 閱讀 5850

icmp是(internet control message protocol)internet控制報文協議。它是tcp/ip協議族的乙個子協議,用於在ip主機、路由器之間傳遞控制訊息。控制訊息是指網路通不通、主機是否可達、路由是否可用等網路本身的訊息。這些控制訊息雖然並不傳輸使用者資料,但是對於使用者資料的傳遞起著重要的作用。

這個就是icmp的報文格式。

icmp報文分為兩種型別(1)icmp差錯報告報文  (2)icmp詢問報文

icmp差錯報告報文共有5種

1、終點不可達:終點不可達分為:網路不可達,主機不可達,協議不可達,埠不可達,需要分片但df位元已置為1,以及源路由失敗等六種情況,其**字段分別置為0至5。當出現以上六種情況時就向源站傳送終點不可達報文。

說明:埠不可達:udp的規則之一是:如果收到udp資料報而且目的埠與某個正在使用的程序不相符,那麼udp返回乙個icmp不可達報文。

2、 源站抑制:當路由器或主機由於擁塞而丟棄資料報時,就向源站傳送源站抑制報文,使源站知道應當將資料報的傳送速率放慢。

3、 時間超過:當路由器收到生存時間為零的資料報時,除丟棄該資料報外,還要向源站傳送時間超過報文。當目的站在預先規定的時間內不能收到乙個資料報的全部資料報片時,就將已收到的資料報片都丟棄,並向源站傳送時間超過報文。

4、引數問題:當路由器或目的主機收到的資料報的首部中的字段的值不正確時,就丟棄該資料報,並向源站傳送引數問題報文。

5、改變路由(重定向)路由器將改變路由報文傳送給主機,讓主機知道下次應將資料報傳送給另外的路由器。

說明:以下幾種情況都不會導致產生icmp差錯報文

1、icmp差錯報文(但是,icmp查詢報文可能會產生icmp差錯報文)

2、目的位址是廣播位址或多播位址的ip資料報

3、作為鏈路層廣播的資料報

4、不是ip分片的第一片

5、源位址不是單個主機的資料報。即源位址不能為零位址、環迴位址、廣播位址或多播位址。

這些規則是為了防止過去允許icmp差錯報文對廣播分組響應所帶來的廣播風暴。

所有的icmp差錯報告報文中的資料字段都具有同樣的格式。將收到的需要進行差錯報告ip資料報的首部和資料字段的前8個位元組提取出來,作為icmp報文的資料字段。再加上響應的icmp差錯報告報文的前8個位元組,就構成了icmp差錯報告報文。提取收到的資料報的資料字段的前8個位元組是為了得到運輸層的埠號(對於tcp和udp)以及運輸層報文的傳送序號(對於tcp)。

icmp詢問報文(40位元組)

icmp詢問報文有四種回送請求和回答,時間戳請求和回答,掩碼位址請求和回答,以及路由器詢問和通過。

1、icmp回送請求報文是由主機或路由器向乙個特定的目的主機發出的詢問。收到此報文的機器必須給源主機傳送icmp回送應答報文。這種詢問報文用來測試目的站是否可達以及了解其有關狀態。

2、icmp時間戳請求允許系統向另乙個系統查詢當前的時間。該icmp報文的好處是它提供了毫秒級的解析度,而利用其他方法從別的主機獲取的時間只能提供秒級的解析度。請求端填寫發起時間,然後傳送報文。應答系統收到請求報文時填寫接收時間戳,在傳送應答時填寫傳送時間戳。大多數的實現是把後面兩個欄位都設成相同的值。

3、主機使用icmp位址掩碼請求報文可向子網掩碼伺服器得到某個介面的位址掩碼。系統廣播它的icmp請求報文。icmp報文中的識別符號和序列號字段由傳送端任意選擇設定,這些值在應答中將被返回,這樣,傳送端就可以把應答與請求進行匹配。

4、主機使用icmp路由器詢問和通過報文可了解連線在本網路上的路由器是否正常工作。主機將路由器詢問報文進行廣播(或多播)。收到詢問報文的乙個或幾個路由器就使用路由器通過報文廣播其路由選擇資訊

ICMP(網際控制報文協議)

為了更有效的提高ip資料報的成功 和交付的效率,在網際層使用了icmp網際控制報文協議,這個協議允許主機和路由器提供差錯和異常情況的報告,icmp不是高層協議,而是網際層的協議,加在ip資料報中一起發出 icmp的報文種類有icmp差錯報文和icmp詢問報文 差錯報告報文有5種 1 終點不可以到達 ...

ICMP網際控制報文協議分析

icmp internet control message protocol 網際控制報文協議。它是tcp ip協議族的乙個子協議,是一種面向無連線的協議,用於傳輸出錯報告控制資訊。用於在ip主機 路由器之間傳遞控制訊息。這些控制訊息雖然並不傳輸使用者資料,但是對於使用者資料的傳遞起著重要的作用。鑑...

網路控制報文協議(ICMP)

ping也屬於乙個通訊協議,是tcp ip協議的一部分。利用 ping 命令可以檢查網路是否連通,可以很好地幫助我們分析和判定網路故障。應用格式 ping空格ip位址。tracert 跟蹤路由 是路由跟蹤實用程式,用於確定 ip資料報訪問目標所採取的路徑。tracert 命令使用用 ip 生存時間 ...