ICMP是“Internet Control Message Ptotocol”(Internet控制消息協議)的縮寫。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制消息。
在網絡中經常會使用到ICMP協議。例如經常用於檢查網絡不通的ping命令,這個ping的過程實際上就是ICMP協議工作的過程。
ping.exe的原理:向指定的IP地址發送一定長度的數據包,按照約定,若指定IP地址存在的話,會返回同樣大小的數據包,當然,若在特定時間內沒有返回,就是“超時”,會被認為指定的IP地址不存在。
由於ping使用的是ICMP協議,有些防火牆軟件會屏蔽ICMP協議,所以有時候ping的結果只能作為參考,ping不通並不一定說明對方IP不存在。
ping命令使用的協議:
1. ping命令后有時跟的是目標域名,需要先將域名轉換為ip地址,使用DNS協議。
2. 獲取到ip地址后,在數據鏈路層根據MAC地址傳播,需要將ip地址轉換成MAC地址,使用ARP協議。
3. ping命令基於ICMP協議實現。
