ICMP是個啥?

提起TCP/IP,好像大家都能說上幾句。從OSI七層模型到TCP三次握手,如果不知道這些面試都不好意跟人打招呼,甚至最近幾天老張在開發者頭條看到有人在爭論TCP到底會不會走向滅亡。

但是,如果問到ICMP是啥又有多少人知道呢?今天老張帶大家一分鐘瞭解重要但是被忽略的ICMP協議。

ICMP是啥?

ICMP,全稱爲Internet Control Message Protocol,即爲因特網控制報文協議。

ICMP解決了啥?

IP協議本身即沒有爲終端系統提供直接的方式來發現那些發往目的地址失敗的IP數據包,也沒有提供直接的方式來獲取診斷信息。而ICMP就是爲了解決IP協議的不足引入的網絡協議。

ICMP屬於TCP/IP四層模型的哪一層?

ICMP既不是網絡層協議,也不是傳輸層協議,但是通常ICMP被認爲是IP層的一部分。

ICMP長啥樣?

以ICMP分爲ICMPv4和ICMPv6版本,分別對應IPv4協議和IPv6協議。以簡單的ICMPv4爲例,一條ICMPv4消息分爲IPv4頭部(20~60字節)、ICMP頭部(又分爲1字節的類型位、1字節的代碼位、2字節的校驗和)以及ICMP數據,其中IPv4頭部中的協議位數值爲1。

一條ICMPv4消息結構

ICMPv4保留了42個不同的類型值,用於含義明確的報文,但是大概只有8個是經常用到的。

ICMP有啥應用?

最簡單而且常見的應用就是traceroute和ping命令,可以用來確認網絡主機的狀態。

後面老張會寫兩篇文章介紹traceroute和ping分別幹了啥,感興趣的小夥伴可以點擊一波訂閱。

在看點這裏

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章