在windows系統下進行cmd能夠進行ping操做。html
ping命令是用來肯定本地主機與網絡中其餘主機的網絡通訊狀況,或者查看是不是爲效IP。windows
ping的工做原理:網絡另外一主機發送ICMP報文,經過返回信息判斷網絡鏈接情況。沒有經過運輸層的TCP或者UDP網絡
能夠看到ping的返回信息中有一個值爲TTL(time to live)表示ping程序發送的ICMP數據包的生存週期,沒通過一個網段,TTL減1,當其值被減到0時,改數據包將被丟棄,該數據包的源地址被告知的狀況下,以從新發送數據包。不一樣的操做系統TTL值不一樣,Linux64,Windows??(不肯定)ui
ping的流程:編碼
補充spa
ICMP協議:操作系統
即網際控制報文協議,可在網絡中實現主機探測,路由維護、路由選擇和流量控制。.net
因爲IP協議沒有機制來獲取網絡錯誤信息以及對錯誤進行處理,因此須要一個協議—ICMP協議來解決這個問題,ICMP是IP層的一部分,用於傳輸差錯報文及控制報文,遇到錯誤時能把錯誤報告給源發送方,ICMP報文是封裝在IP數據報內部。unix
ICMP包頭格式:htm
ICMP報文分爲兩種,一是差錯報告報文,二是查詢報文。每一個ICMP報頭均包含類型(8B)、編碼(8B)、校驗(16B)三項內容。其他選項歲ICMP功能不一樣而不一樣。
ping命令只適用衆多ICMP報文中的兩種:「回送請求(ICMP_ECHO)」和「回送回答報文(ICMP_ECHOREPLY)」,往返的ICMP報文中都有時間戳。
參考:http://blog.csdn.net/petershina/article/details/8571562
http://blog.chinaunix.net/uid-20321537-id-1966835.html