- 相關(guān)推薦
ping命令詳解
在網(wǎng)絡(luò )中Ping 是一個(gè)十分好用的TCP/IP工具。它主要的功能是用來(lái)檢測網(wǎng)絡(luò )的連通情況和分析網(wǎng)絡(luò )速度。下面我們對ping命令進(jìn)行了詳細解釋?zhuān)?/p>
以下是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
發(fā)送 count 指定的 ECHO 數據包數。默認值為 4。
-l length
發(fā)送包含由 length 指定的數據量的 ECHO 數據包。默認為 32 字節;最大值是65,527。
-f
在數據包中發(fā)送"不要分段"標志。數據包就不會(huì )被路由上的網(wǎng)關(guān)分段。
-i ttl
將"生存時(shí)間"字段設置為 ttl 指定的值。
-v tos
將"服務(wù)類(lèi)型"字段設置為 tos 指定的值。
-r count
在"記錄路由"字段中記錄傳出和返回數據包的路由。count 可以指定最少 1 臺,最多 9 臺計算機。
-s count
指定 count 指定的躍點(diǎn)數的時(shí)間戳。
-j computer-list
利用 computer-list 指定的計算機列表路由數據包。連續計算機可以被中間網(wǎng)關(guān)分隔(路由稀疏源)IP 允許的最大數量為 9。
-k computer-list
利用 computer-list 指定的計算機列表路由數據包。連續計算機不能被中間網(wǎng)關(guān)分隔(路由嚴格源)IP 允許的最大數量為 9。
-w timeout
指定超時(shí)間隔,單位為毫秒。
destination-list
指定要 ping 的遠程計算機。
Ping的返回信息有"Request Timed Out"、"Destination Net Unreachable"和"Bad IP address"還有"Source quench received"。
"Request Timed Out"這個(gè)信息表示對方主機可以到達到TIME OUT,這種情況通常是為對方拒絕接收你發(fā)給它的數據包造成數據包丟失。大多數的原因可能是對方裝有防火墻或已下線(xiàn)。
"Destination Net Unreachable"這個(gè)信息表示對方主機不存在或者沒(méi)有跟對方建立連接。這里要說(shuō)明一下"destination host unreachable"和"time out"的區別,如果所經(jīng)過(guò)的路由器的路由表中具有到達目標的路由,而目標因為其它原因不可到達,這時(shí)候會(huì )出現"time out",如果路由表中連到達目標的路由都沒(méi)有,那就會(huì )出現"destination host unreachable"。
"Bad IP address" 這個(gè)信息表示你可能沒(méi)有連接到DNS服務(wù)器所以無(wú)法解析這個(gè)IP地址,也可能是IP地址不存在。
"Source quench received"信息比較特殊,它出現的機率很少。它表示對方或中途的服務(wù)器繁忙無(wú)法回應。
怎樣使用Ping這命令來(lái)測試網(wǎng)絡(luò )連通呢?
連通問(wèn)題是由許多原因引起的,如本地配置錯誤、遠程主機協(xié)議失效等,當然還包括設備等造成的故障。
首先我們講一下使用Ping命令的步驟。
使用Ping檢查連通性有五個(gè)步驟:
1. 使用ipconfig /all觀(guān)察本地網(wǎng)絡(luò )設置是否正確;
2. Ping 127.0.0.1,127.0.0.1 回送地址Ping回送地址是為了檢查本地的TCP/IP協(xié)議有沒(méi)有設置好;
3. Ping本機IP地址,這樣是為了檢查本機的IP地址是否設置有誤;
4. Ping本網(wǎng)網(wǎng)關(guān)或本網(wǎng)IP地址,這樣的是為了檢查硬件設備是否有問(wèn)題,也可以檢查本機與本地網(wǎng)絡(luò )連接是否正常;(在非局域網(wǎng)中這一步驟可以忽略)
5. Ping遠程IP地址,這主要是檢查本網(wǎng)或本機與外部的連接是否正常。
在檢查網(wǎng)絡(luò )連通的過(guò)程中可能出現一些錯誤,這些錯誤總的來(lái)說(shuō)分為兩種最常見(jiàn)。
1. Request Timed Out
"request time out"這提示除了在《PING(一)》提到的對方可能裝有防火墻或已關(guān)機以外,還有就是本機的IP不正確和網(wǎng)關(guān)設置錯誤。
、、IP不正確:
IP不正確主要是IP地址設置錯誤或IP地址沖突,這可以利用ipconfig /all這命令來(lái)檢查。在WIN2000下IP沖突的情況很少發(fā)生,因為系統會(huì )自動(dòng)檢測在網(wǎng)絡(luò )中是否有相同的IP地址并提醒你是否設置正確。在NT中不但會(huì )出現"request time out"這提示而且會(huì )出現"Hardware error"這提示信息比較特殊不要給它的提示所迷惑。
、、網(wǎng)關(guān)設置錯誤:這個(gè)錯誤可能會(huì )在第四個(gè)步驟出現。網(wǎng)關(guān)設置錯誤主要是網(wǎng)關(guān)地址設置不正確或網(wǎng)關(guān)沒(méi)有幫你轉發(fā)數據,還有就是可能遠程網(wǎng)關(guān)失效。這里主要是在你Ping外部網(wǎng)絡(luò )地址時(shí)出錯。錯誤表現為無(wú)法Ping外部主機返回信息"Request timeout"。
2. Destination Host Unreachable
當你在開(kāi)始PING網(wǎng)絡(luò )計算機時(shí)如果網(wǎng)絡(luò )設備出錯它返回信息會(huì )提示"destination host unreachable"。如果局域網(wǎng)中使用DHCP分配IP時(shí),而碰巧DHCP失效,這時(shí)使用 PING命令就會(huì )產(chǎn)生此錯誤。因為在DHCP失效時(shí)客戶(hù)機無(wú)法分配到IP系統只有自設IP,它往往會(huì )設為不同子網(wǎng)的IP。所以會(huì )出現"Destination Host Unreachable"。另外子網(wǎng)掩碼設置錯誤也會(huì )出現這錯誤。
還有一個(gè)比較特殊就是路由返回錯誤信息,它一般都會(huì )在"Destination Host Unreachable"前加上IP地址說(shuō)明哪個(gè)路由不能到達目標主機。這說(shuō)明你的機器與外部網(wǎng)絡(luò )連接沒(méi)有問(wèn)題,但與某臺主機連接存在問(wèn)題。
舉個(gè)例子吧。
我管理的網(wǎng)絡(luò )有19臺機,由一臺100M集線(xiàn)器連接服務(wù)器,使用DHCP動(dòng)態(tài)分配IP地址。
有一次有位同事匆忙地告訴我"我的OUTLOOK打不開(kāi)了",我到他機器檢查,首先我檢查了本地網(wǎng)絡(luò )設置,我用ipconfig /all看IP分配情況一切正常。接著(zhù)我就開(kāi)始PING網(wǎng)絡(luò )中的其中一臺機器,第一次PING結果很正常,但OUTLOOK還是無(wú)法使用其它網(wǎng)絡(luò )軟件和Copy網(wǎng)絡(luò )文件都可以使用但網(wǎng)絡(luò )速度很慢,第二次PING我用了一個(gè)參數-t(-t可以不中斷地PING對方,當時(shí)我想PING一次可能發(fā)現不了問(wèn)題)發(fā)現有time=30ms和request time out,從服務(wù)器PING這臺機就更有趣,request time out比正常數據還多,在局域中竟然有time=30ms和request time out太不正常了。開(kāi)始我認為是網(wǎng)卡的問(wèn)題但換網(wǎng)卡后故障依舊,重做網(wǎng)線(xiàn)還是不能解決問(wèn)題,這故障真有趣!最后我沒(méi)辦法了把它插在集線(xiàn)器端口上的另一端的網(wǎng)線(xiàn)換到另一個(gè)端口,哈!故障解決了。原來(lái)是集線(xiàn)器端口壞了。
如何用Ping命令來(lái)判斷一條鏈路的速度?
Ping這個(gè)命令除了可以檢查網(wǎng)絡(luò )的連通和檢測故障以外,還有一個(gè)比較有趣的用途,那就是可以利用它的一些返回數據,來(lái)估算你跟某臺主機之間的速度是多少字節每秒
我們先來(lái)看看它有那些返回數據。
Pinging 202.105.136.105 with 32 bytes of data:
Reply from 202.105.136.105: bytes=32 time=590ms TTL=114
Reply from 202.105.136.105: bytes=32 time=590ms TTL=114
Reply from 202.105.136.105: bytes=32 time=590ms TTL=114
Reply from 202.105.136.105: bytes=32 time=601ms TTL=114
Ping statistics for 202.105.136.105:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 590ms, Maximum = 601ms, Average = 593ms
在例子中"bytes=32"表示ICMP報文中有32個(gè)字節的測試數據(這是估算速度的關(guān)鍵數據),"time=590ms"是往返時(shí)間。
怎樣估算鏈路的速度呢?舉個(gè)例子吧。我們把A和B之間設置為PPP鏈路。
從上面的PING例子可以注意到,默認情況下發(fā)送的ICMP報文有32個(gè)字節。除了這32個(gè)字節外再加上20個(gè)字節的IP首部和8個(gè)字節的ICMP首部,整個(gè)IP數據報文的總長(cháng)度就是60個(gè)字節(因為IP和ICMP是Ping命令的主要使用協(xié)議,所以整個(gè)數據報文要加上它們)。另外在使用Ping命令時(shí)還使用了另一個(gè)協(xié)議進(jìn)行傳輸,那就是PPP協(xié)議(點(diǎn)對點(diǎn)協(xié)議),所以在數據的開(kāi)始和結尾再加上8個(gè)字節。在傳輸過(guò)程中,由于每個(gè)字節含有8bit數據、1bit起始位和1bit結束位,因此傳輸速率是每個(gè)字節2.98ms。由此我們可以估計需要405ms。即68*2.98*2(乘2是因為我們還要計算它的往返時(shí)間)。
我們來(lái)測試一下33600 b/s的鏈路:
Pinging 202.105.36.125 with 32 bytes of data:
Reply from 202.105.36.125: bytes=32 time=415ms TTL=114
Reply from 202.105.36.125: bytes=32 time=415ms TTL=114
Reply from 202.105.36.125: bytes=32 time=415ms TTL=114
Reply from 202.105.36.125: bytes=32 time=421ms TTL=114
Ping statistics for 202.105.36.125:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 415ms, Maximum = 421ms, Average = 417ms
看是不是差不多啊。
這里大家可能要注意到,這估算值跟實(shí)際值是有誤差的,為什么呢?因為我們現在估算的是一個(gè)理論值,還有一些東西我們沒(méi)有考慮。比如在網(wǎng)絡(luò )中的其它干擾,這些干擾主要來(lái)之別的計算機。因為在你測試時(shí)不可能全部計算機停止使用網(wǎng)絡(luò )給你做測試,這是不實(shí)際的。另外就是傳輸設備,因為有某些設備如MODEM它在傳輸時(shí)會(huì )把數據壓縮后再發(fā)送,這大大減少了傳輸時(shí)間。這些東西產(chǎn)生的誤差我們是不能避免的,但其數值大約在5%以?xún)任覀兌伎梢越邮?利用MODEM傳輸例外),但是可以減少誤差的產(chǎn)生。比如把MODEM的壓縮功能關(guān)閉和在網(wǎng)絡(luò )沒(méi)有那么繁忙時(shí)進(jìn)行測試。有時(shí)候誤差是無(wú)須消除的。因為我們需要這些誤差跟所求得的理論值進(jìn)行比較分析,從而找出網(wǎng)絡(luò )的缺陷而進(jìn)行優(yōu)化。這時(shí)測試網(wǎng)絡(luò )的所有數據包括誤差都會(huì )成為我們優(yōu)化的依據。
還要注意,這種算法在局域網(wǎng)并不適用,因為在局域網(wǎng)中速度非常的快幾乎少于1ms,而Ping的最小時(shí)間分辨率是1ms,所以根本無(wú)法用Ping命令來(lái)檢測速度。如果想測試速度那就要用專(zhuān)門(mén)儀器來(lái)檢測。
總的來(lái)說(shuō),Ping命令是一個(gè)在故障檢查方面很有用而且很便利的工具,你不應該忽視它的存在。
【ping命令詳解】相關(guān)文章:
ping命令的應用及原理10-25
ping命令檢測網(wǎng)絡(luò )故障的方法09-25
Solaris iostat命令詳解10-17
簡(jiǎn)單的ping命令來(lái)檢測網(wǎng)絡(luò )故障04-02
Windows常用網(wǎng)絡(luò )命令詳解01-23
CISCO路由器配置命令詳解設置試題08-28
華為3COM交換機配置命令詳解06-19
Linux認證基礎知識:RedHat之vi命令詳解10-02
H3C交換機配置命令詳解01-22