電腦網路學習–網際控制報文協議ICMP及應用(4)

來源:互聯網
上載者:User

ICMP(網際控制報文協議)

為了更有效轉寄IP資料報和提高交付成功的機會,在網路層使用了網際控制報文協議ICMP。ICMP作為IP資料報的資料,加上資料報的首部,組成IP資料報轉寄出去。

ICMP允許主機或者路由器報告差錯情況和提供有關異常情況的報告。

ICMP報文分為兩種類型:差錯報告報文和詢問報文。

差錯報告報文類型包含:終點不可達,源點抑制,時間超過,參數問題,改變路由(重新導向)。

詢問報文類型包括:回送請求或回答,時間戳記請求或回答。

 

ICMP的一個重要應用就是分組網間探測PING,即Packet Inter-Net Groper,用來測試兩個主機之間的連通性。ICMP使用了回送請求和回送回答報文。

PING是應用程式層直接使用ICMP的一個例子,沒有經過TCP或者UDP。

 

另一個非常有用的應用是traceroute(這是UNIX作業系統下的關鍵字),在Windows作業系統下是tracert。這個應用用來跟蹤一個分組從源點到終點的路徑。

Traceroute這個應用向目的主機發送一連串的IP資料報,而這些資料報中封裝的是無法交付的UDP使用者資料報。

第一個資料報P1的存留時間TTL設定為1,當資料報到達第一個接收它的路由器R1以後,TTL減1,由於變成了0,所以路由器R1將該資料報丟棄,並且向源主機發送一個ICMP時間超過差錯報告報文。

接著源主機發送第二個資料報P2,並將存留時間設定為2,P2到達路由器R1後先將TTL減1,然後將資料報轉寄給下一個路由器R2,R2收到P2時TTL為1,減1後變成0,所以路由器R2丟棄了這個資料報P2,並且向源主機發送一個ICMP時間超過差錯報告報文。

這樣一直繼續下去,直到…….

最後一個資料報到達目的主機時,資料報的TTL正好為1,主機不轉寄資料報,也不將TTL減1,但由於IP資料報中封裝的是無法交付的UDP使用者資料報,所以目的主機會向源主機發送一個ICMP終點不可達的差錯報告報文。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.