ping的做用

Ping是潛水艇人員的專用術語,表示迴應的聲納脈衝,在網絡中Ping 是一個十分好用的TCP/IP工具。它主要的功能是用來檢測網絡的連通狀況和分析網絡速度。服務器

Ping有好的善的一面也有惡的一面。先說一下善的一面吧。上面已經說過Ping的用途就是用來檢測網絡的連通狀況和分析網絡速度,但它是經過什麼來顯示連通呢?這首先要了解Ping的一些參數和返回信息。網絡

如下是PING的一些參數:工具

ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list
-t    Ping 指定的計算機直到中斷。
-a    將地址解析爲計算機名。
-n count    發送 count 指定的 ECHO 數據包數。默認值爲 4-l length    發送包含由 length 指定的數據量的 ECHO 數據包。默認爲 32 字節;最大值是65,527-f    在數據包中發送不要分段標誌。數據包就不會被路由上的網關分段。
-i ttl    將生存時間字段設置爲 ttl 指定的值。
-v tos    將服務類型字段設置爲 tos 指定的值。
-r count    在記錄路由字段中記錄傳出和返回數據包的路由。count 能夠指定最少 1 臺,最多 9 臺計算機。
-s count    指定 count 指定的躍點數的時間戳。
-j computer-list    利用 computer-list 指定的計算機列表路由數據包。連續計算機能夠被中間網關分隔(路由稀疏源)IP 容許的最大數量爲 9-k computer-list    利用 computer-list 指定的計算機列表路由數據包。連續計算機不能被中間網關分隔(路由嚴格源)IP 容許的最大數量爲 9-w timeout    指定超時間隔,單位爲毫秒。
destination-list    指定要 ping 的遠程計算機。

Ping的返回信息有Request Timed OutDestination Net UnreachableBad IP address還有Source quench received
Request Timed Out這個信息表示對方主機能夠到達但TIME OUT,這種狀況一般是爲對方拒絕接收你發給它的數據包形成數據包丟失。大多數的緣由多是對方裝有防火牆或已下線。
Destination Net Unreachable這個信息表示對方主機不存在或者沒有跟對方創建鏈接。這裏要說明一下destination host unreachable和time out的區別,若是所通過的路由器的路由表中具備到達目標的路由,而目標由於其它緣由不可到達,這時候會出現time out,若是路由表中連到達目標的路由都沒有,那就會出現destination host unreachable。
Bad IP address 這個信息表示你可能沒有鏈接到DNS服務器因此沒法解析這個IP地址,也多是IP地址不存在。
Source quench received信息比較特殊,它出現的機率不多。它表示對方或中途的服務器繁忙沒法迴應。測試

怎樣使用Ping這命令來測試網絡連通呢?spa

連通問題是由許多緣由引發的,如本地配置錯誤、遠程主機協議失效等,固然還包括設備等形成的故障。code

首先咱們講一下使用Ping命令的步驟。blog

使用Ping檢查連通性有五個步驟:ip

  1. 使用ipconfig /all觀察本地網絡設置是否正確;
  2. Ping 127.0.0.1,127.0.0.1 回送地址Ping回送地址是爲了檢查本地的TCP/IP協議有沒有設置好;
  3. Ping本機IP地址,這樣是爲了檢查本機的IP地址是否設置有誤;
  4. Ping本網網關或本網IP地址,這樣的是爲了檢查硬件設備是否有問題,也能夠檢查本機與本地網絡鏈接是否正常;(在非局域網中這一步驟能夠忽略)
  5. Ping遠程IP地址,這主要是檢查本網或本機與外部的鏈接是否正常。

在檢查網絡連通的過程當中可能出現一些錯誤,這些錯誤總的來講分爲兩種最多見路由

1. Request Timed Out
request time out這提示除了在《PING(一)》提到的對方可能裝有防火牆或已關機之外,還有就是本機的IP不正確和網關設置錯誤。
①、IP不正確:
IP不正確主要是IP地址設置錯誤或IP地址衝突,這能夠利用ipconfig /all這命令來檢查。在WIN2000下IP衝突的狀況不多發生,由於系統會自動檢測在網絡中是否有相同的IP地址並提醒你是否設置正確。在NT中不但會出現request time out這提示並且會出現Hardware error這提示信息比較特殊不要給它的提示所迷惑。
②、網關設置錯誤:這個錯誤可能會在第四個步驟出現。網關設置錯誤主要是網關地址設置不正確或網關沒有幫你轉發數據,還有就是可能遠程網關失效。這裏主要是在你Ping外部網絡地址時出錯。錯誤表現爲沒法Ping外部主機返回信息Request timeout。
2. Destination Host Unreachable
當你在開始PING網絡計算機時若是網絡設備出錯它返回信息會提示destination host unreachable。若是局域網中使用DHCP分配IP時,而碰巧DHCP失效,這時使用 PING命令就會產生此錯誤。由於在DHCP失效時客戶機沒法分配到IP系統只有自設IP,它每每會設爲不一樣子網的IP。因此會出現Destination Host Unreachable。另外子網掩碼設置錯誤也會出現這錯誤。
還有一個比較特殊就是路由返回錯誤信息,它通常都會在Destination Host Unreachable前加上IP地址說明哪一個路由不能到達目標主機。這說明你的機器與外部網絡鏈接沒有問題,但與某臺主機鏈接存在問題。it

舉個例子吧。
我管理的網絡有19臺機,由一臺100M集線器鏈接服務器,使用DHCP動態分配IP地址。
有一次有位同事匆忙地告訴我個人OUTLOOK打不開了,我到他機器檢查,首先我檢查了本地網絡設置,我用ipconfig /all看IP分配狀況一切正常。接着我就開始PING網絡中的其中一臺機器,第一次PING結果很正常,但OUTLOOK仍是沒法使用其它網絡軟件和Copy網絡文件均可以使用但網絡速度很慢,第二次PING我用了一個參數-t(-t能夠不中斷地PING對方,當時我想PING一次可能發現不了問題)發現有time=30ms和request time out,從服務器PING這臺機就更有趣,request time out比正常數據還多,在局域中居然有time=30ms和request time out太不正常了。開始我認爲是網卡的問題但換網卡後故障依舊,重作網線仍是不能解決問題,這故障真有趣!最後我沒辦法了把它插在集線器端口上的另外一端的網線換到另外一個端口,哈!故障解決了。原來是集線器端口壞了。
如何用Ping命令來判斷一條鏈路的速度?
Ping這個命令除了能夠檢查網絡的連通和檢測故障之外,還有一個比較有趣的用途,那就是能夠利用它的一些返回數據,來估算你跟某臺主機之間的速度是多少字節每秒
咱們先來看看它有那些返回數據。

1 Pinging 202.105.136.105 with 32 bytes of data:
2 Reply from 202.105.136.105: bytes=32 time=590ms TTL=114
3 Reply from 202.105.136.105: bytes=32 time=590ms TTL=114
4 Reply from 202.105.136.105: bytes=32 time=590ms TTL=114
5 Reply from 202.105.136.105: bytes=32 time=601ms TTL=114
6 Ping statistics for 202.105.136.105:
7 Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
8 Approximate round trip times in milli-seconds:
9 Minimum = 590ms, Maximum = 601ms, Average = 593ms

在例子中bytes=32表示ICMP報文中有32個字節的測試數據(這是估算速度的關鍵數據),time=590ms是往返時間。

怎樣估算鏈路的速度呢?舉個例子吧。咱們把A和B之間設置爲PPP鏈路。
從上面的PING例子能夠注意到,默認狀況下發送的ICMP報文有32個字節。除了這32個字節外再加上20個字節的IP首部和8個字節的ICMP首部,整個IP數據報文的總長度就是60個字節(由於IP和ICMP是Ping命令的主要使用協議,因此整個數據報文要加上它們)。另外在使用Ping命令時還使用了另外一個協議進行傳輸,那就是PPP協議(點對點協議),因此在數據的開始和結尾再加上8個字節。在傳輸過程當中,因爲每一個字節含有8bit數據、1bit起始位和1bit結束位,所以傳輸速率是每一個字節2.98ms。由此咱們能夠估計須要405ms。即68*2.98*2(乘2是由於咱們還要計算它的往返時間)。
咱們來測試一下33600 b/s的鏈路:

1 Pinging 202.105.36.125 with 32 bytes of data:
2 Reply from 202.105.36.125: bytes=32 time=415ms TTL=114
3 Reply from 202.105.36.125: bytes=32 time=415ms TTL=114
4 Reply from 202.105.36.125: bytes=32 time=415ms TTL=114
5 Reply from 202.105.36.125: bytes=32 time=421ms TTL=114
6 Ping statistics for 202.105.36.125:
7 Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
8 Approximate round trip times in milli-seconds:
9 Minimum = 415ms, Maximum = 421ms, Average = 417ms

看是否是差很少啊。^_^這裏你們可能要注意到,這估算值跟實際值是有偏差的,爲何呢?由於咱們如今估算的是一個理論值,還有一些東西咱們沒有考慮。好比在網絡中的其它干擾,這些干擾主要來之別的計算機。由於在你測試時不可能所有計算機中止使用網絡給你作測試,這是不實際的。另外就是傳輸設備,由於有某些設備如MODEM它在傳輸時會把數據壓縮.

相關文章
相關標籤/搜索