熱點推薦:
您现在的位置: 電腦知識網 >> 電腦常識 >> 正文

ping的作用

2013-11-11 14:23:38  來源: 電腦常識 

  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 computerlist] | [k computerlist] [w timeout] destinationlist
    t
    Ping 指定的計算機直到中斷
    a
    將地址解析為計算機名
    n count
    發送 count 指定的 ECHO 數據包數默認值為
    l length
    發送包含由 length 指定的數據量的 ECHO 數據包默認為 字節最大值是
    f
    在數據包中發送不要分段標志數據包就不會被路由上的網關分段
    i ttl
    將生存時間字段設置為 ttl 指定的值
    v tos
    將服務類型字段設置為 tos 指定的值
    r count
    在記錄路由字段中記錄傳出和返回數據包的路由count 可以指定最少 最多 台計算機
    s count
    指定 count 指定的躍點數的時間戳
    j computerlist
    利用 computerlist 指定的計算機列表路由數據包連續計算機可以被中間網關分隔(路由稀疏源)IP 允許的最大數量為
    k computerlist
    利用 computerlist 指定的計算機列表路由數據包連續計算機不能被中間網關分隔(路由嚴格源)IP 允許的最大數量為
    w timeout
    指定超時間隔單位為毫秒
    destinationlist
    指定要 ping 的遠程計算機
    Ping的返回信息有Request Timed OutDestination Net Unreachable和Bad 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這命令來測試網絡連通呢?
    連通問題是由許多原因引起的如本地配置錯誤遠程主機協議失效等當然還包括設備等造成的故障
    首先我們講一下使用Ping命令的步驟
    使用Ping檢查連通性有五個步驟
     使用ipconfig /all觀察本地網絡設置是否正確
     Ping 回送地址Ping回送地址是為了檢查本地的TCP/IP協議有沒有設置好
     Ping本機IP地址這樣是為了檢查本機的IP地址是否設置有誤
     Ping本網網關或本網IP地址這樣的是為了檢查硬件設備是否有問題也可以檢查本機與本地網絡連接是否正常(在非局域網中這一步驟可以忽略)
     Ping遠程IP地址這主要是檢查本網或本機與外部的連接是否正常
    在檢查網絡連通的過程中可能出現一些錯誤這些錯誤總的來說分為兩種最常見
     Request Timed Out
  request time out這提示除了在《PING(一)》提到的對方可能裝有防火牆或已關機以外還有就是本機的IP不正確和網關設置錯誤
    ①IP不正確
  IP不正確主要是IP地址設置錯誤或IP地址沖突這可以利用ipconfig /all這命令來檢查在WIN下IP沖突的情況很少發生因為系統會自動檢測在網絡中是否有相同的IP地址並提醒你是否設置正確在NT中不但會出現request time out這提示而且會出現Hardware error這提示信息比較特殊不要給它的提示所迷惑
    ②網關設置錯誤這個錯誤可能會在第四個步驟出現網關設置錯誤主要是網關地址設置不正確或網關沒有幫你轉發數據還有就是可能遠程網關失效這裡主要是在你Ping外部網絡地址時出錯錯誤表現為無法Ping外部主機返回信息Request timeout
     Destination Host Unreachable
    當你在開始PING網絡計算機時如果網絡設備出錯它返回信息會提示destination host unreachable如果局域網中使用DHCP分配IP時而碰巧DHCP失效這時使用 PING命令就會產生此錯誤因為在DHCP失效時客戶機無法分配到IP系統只有自設IP它往往會設為不同子網的IP所以會出現Destination Host Unreachable另外子網掩碼設置錯誤也會出現這錯誤
    還有一個比較特殊就是路由返回錯誤信息它一般都會在Destination Host Unreachable前加上IP地址說明哪個路由不能到達目標主機這說明你的機器與外部網絡連接沒有問題但與某台主機連接存在問題
  
    舉個例子吧
    我管理的網絡有台機由一台M集線器連接服務器使用DHCP動態分配IP地址
    有一次有位同事匆忙地告訴我我的OUTLOOK打不開了我到他機器檢查首先我檢查了本地網絡設置我用ipconfig /all看IP分配情況一切正常接著我就開始PING網絡中的其中一台機器第一次PING結果很正常但OUTLOOK還是無法使用其它網絡軟件和Copy網絡文件都可以使用但網絡速度很慢第二次PING我用了一個參數t(t可以不中斷地PING對方當時我想PING一次可能發現不了問題)發現有time=ms和request time out從服務器PING這台機就更有趣request time out比正常數據還多在局域中竟然有time=ms和request time out太不正常了開始我認為是網卡的問題但換網卡後故障依舊重做網線還是不能解決問題這故障真有趣!最後我沒辦法了把它插在集線器端口上的另一端的網線換到另一個端口哈!故障解決了原來是集線器端口壞了
  如何用Ping命令來判斷一條鏈路的速度?
    Ping這個命令除了可以檢查網絡的連通和檢測故障以外還有一個比較有趣的用途那就是可以利用它的一些返回數據來估算你跟某台主機之間的速度是多少字節每秒
    我們先來看看它有那些返回數據
  
    Pinging with bytes of data:
  
    Reply from : bytes= time=ms TTL=
    Reply from : bytes= time=ms TTL=
    Reply from : bytes= time=ms TTL=
    Reply from : bytes= time=ms TTL=
  
    Ping statistics for :
      Packets: Sent = Received = Lost = (% loss)
    Approximate round trip times in milliseconds:
      Minimum = ms Maximum = ms Average = ms
  
    在例子中bytes=表示ICMP報文中有個字節的測試數據(這是估算速度的關鍵數據)time=ms是往返時間
  
    怎樣估算鏈路的速度呢?舉個例子吧我們把A和B之間設置為PPP鏈路
  
    從上面的PING例子可以注意到默認情況下發送的ICMP報文有個字節除了這個字節外再加上個字節的IP首部和個字節的ICMP首部整個IP數據報文的總長度就是個字節(因為IP和ICMP是Ping命令的主要使用協議所以整個數據報文要加上它們)另外在使用Ping命令時還使用了另一個協議進行傳輸那就是PPP協議(點對點協議)所以在數據的開始和結尾再加上個字節在傳輸過程中由於每個字節含有bit數據bit起始位和bit結束位因此傳輸速率是每個字節ms由此我們可以估計需要ms**(乘是因為我們還要計算它的往返時間)
  
    我們來測試一下 b/s的鏈路
  
    Pinging with bytes of data:
  
    Reply from : bytes= time=ms TTL=
    Reply from : bytes= time=ms TTL=
    Reply from : bytes= time=ms TTL=
    Reply from : bytes= time=ms TTL=
  
    Ping statistics for :
      Packets: Sent = Received = Lost = (% loss)
    Approximate round trip times in milliseconds:
      Minimum = ms Maximum = ms Average = ms
  
    看是不是差不多啊^_^
  
    這裡大家可能要注意到這估算值跟實際值是有誤差的為什麼呢?因為我們現在估算的是一個理論值還有一些東西我們沒有考慮比如在網絡中的其它干擾這些干擾主要來之別的計算機因為在你測試時不可能全部計算機停止使用網絡給你做測試這是不實際的另外就是傳輸設備因為有某些設備如MODEM它在傳輸時會把數據壓
From:http://tw.wingwit.com/Article/Common/201311/5307.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.