ICMP報文要使用IP頭來發送報文,為什麼ICMP依然與IP在同一層-網路層?Storm迎著風2019-08-09 23:52:38

icmp包是ip包沒錯,ip包頭中的協議號欄位為1,tcp和udp分別為6和17,但是它並不像tcp和udp樣有埠號對應到上層的應用,所以可以認為是介於網路層和傳輸層之間的協議,但沒有單獨為它劃分一個層,所以一般認為屬於IP層;主要用於三層主機之間檢測可達性和提供差錯故障報告報文等控制資訊的,例如ping的echo request可以根據返回的資訊來判斷是由於什麼原因導致網路不通,或者根據traceroute的返回訊息也可以判斷出中間網路的情況。

個人認為倒沒必要糾結於這種分類和劃定,重要的是它的作用和原理。