一、簡介
Ping程序的目的是爲了測試另一臺主機是否可達。該程序發送一份ICMP回顯請求報文給主機,並等待返回ICMP回顯應答。一般來說,不能Ping到某臺主機,就不能Telnet或FTP到那臺主機。
二、Ping程序
ICMP回顯請求和應答報文如下所示:
Unix系統在實現ping程序時把ICMP報文中的標識符字段置成發送進程的ID號。這樣即使在同一臺主機上同時運行了多個ping程序實例,ping程序也可以識別出返回的信息。
序列號從0開始,每發送一次新的回顯請求就加1。ping程序打印出返回的每個分組的序列號,允許我們查看是否有分組丟失,失序或重複。
ping程序通過在ICMP報文中存放發送請求的時間值來計算往返時間。當應答返回時,用當前時間減去存放在ICMP報文中的時間值,即是往返時間。
當返回ICMP回顯應答時,要打印出序列號和TTL,並計算往返時間。TTL位於IP首部的生存時間字段。
ping -R選項,可以顯示IP記錄路由。可通過此選項知道ICMP在傳輸過程中都經過了那些IP地址所在主機的轉發。