網絡層—ICMP

本文主要介紹ICMP(Internet Control Message Protocol)網際控制報文協議,對IP數據報進行差錯報告,提高交付的機會。

        ICMP報文是在IP數據報裏面的,是作爲IP數據報中數據的一部分。ICMP報文有兩種類型,一個是ICMP差錯報告報文,另外一個是ICMP詢問報文。ICMP報文的前4個字節是統一的格式,一共有三個字段:類型、代碼、檢驗和(IP數據報的首部也有檢驗和,但是它不檢驗數據部分),接下來又有4個字節,和ICMP的類型有關,最後面是數據字段,長度和ICMP的類型有關。
      ICMP差錯報告報文:一共有五種報文
(1)終點不可達
如果不能夠交付就發送這個報文
(2)源點抑制
如果由於擁塞丟棄數據的時候,這時候就要向發送方發送這個報文,讓發送方放慢一點速度
(3)時間超過
如果收到了生存時間爲0的IP數據報,就要發送該報文
(4)參數問題
如果IP數據報的首部某些字段的值不正確,就發送該報文
(5)改變路由(重定向)
這個報文要好好理解下:主機一般是不和每一臺路由器都定期進行路由信息交互的。而是這樣,當主機開始想要傳送數據的時候,不管目的地是哪裏,先將IP數據報傳送到網絡上的某個默認的路由器(這個是預先指定的),由於路由器之間進行了交換路由信息,所以這個默認的路由器知道到每一個路由器的最佳路徑。如果默認路由器發現了這個目的地不應該首先交給默認路由器,而是另外的一個路由器的話,那麼就發送改變路由報文,通知主機。主機於是就記錄下來,下次發送到這個目的地的時候就不通過默認路由器了。
應用ICMP的地方有PING(Packet InterNet Groper)以及traceroute。
發佈了52 篇原創文章 · 獲贊 8 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章