網路工程師都會用到ping,它是 檢查 路由問題的有效辦法。但也常聽工程師抱怨:不可能,怎麼會不通呢?
最簡單的三種情況:
1.太心急。即網線剛插到交換機上就想ping通閘道器,忽略了生成樹的收斂時間。
當然,較新的交換機都支援快速生成樹,或者有的 管理 員乾脆把使用者埠(access port)的生成樹協議關掉,問題就解決了。
2.訪問控制。不管中間跨越了多少跳,只要有節點(包括端節點)對icmp進行了過濾,ping不通是正常的。最常見的就是防火牆的行為。
3.某些路由器埠是不允許使用者ping的。還遇到過這樣的情形,更為隱蔽。
1.網路因裝置間的時延太大,造成icmp echo報文無法在預設時間(2秒)內收到。
時延的原因有若干,比如線路(衛星網時延上下星為540毫秒),路由器處理時延,或路由設計不合理造成迂迴路徑。使用擴充套件ping,增加timed out時間,可ping通的話就屬路由時延太大問題。
2.引入nat的場合會造成單向ping通。nat可以起到隱蔽內部位址的作用,當由內ping外時,可以ping通是因為nat表的對映關係存在,當由外發起ping內網主機時,就無從查詢邊界路由器的nat表項了。
3.多路由負載均衡場合。比如ping遠端目的主機,成功的reply和timed out交錯出現,結果發現在閘道器路由器上存在兩條到目的網段的路由,兩條路由權重相等,但經查一條路由存在問題。
4.ip位址分配不連續。位址規劃出現問題象是在網路中埋了地雷,位址重疊或掩碼劃分不連續都可能在ping時出現問題。
比如乙個極端情況,a、b兩台主機,經過多跳相連,a能ping通b的閘道器,而且b的閘道器設定正確,但a、b就是ping不通。經查,在b的網絡卡上還設有第二個位址,並且這個位址與a所在的網段重疊。
5.指定源位址的擴充套件ping。登陸到路由器上,ping遠端主機,當icmp echo request從序列廣域網介面發出去的時候,路由器會指定某個ip位址作為源ip,這個ip位址可能不是此介面的ip或這個介面根本沒有ip位址。
而某個下游路由器可能並沒有到這個ip網段的路由,導致不能ping通。可以採用擴充套件ping,指定好源ip位址。
當主機閘道器和中間路由的配置認為正確時,出現ping問題也是很普遍的現象。此時應該忘掉"不可能"幾個字,把ping的擴充套件引數和反饋資訊、traceroute、路由器debug、以及埠映象和sniffer等工具結合起來進行分析。
比如,當a、b兩台主機經過多跳路由器相連時,二者閘道器設定正確,在a上可以ping通b,但在b上不能ping通a。
可以通過在交換機做映象,並用sniffer抓包,來找出icmp 報文終止於何處,報文內容是什麼,就可以發現icmp報文中的源ip位址並非預期的那樣,此時很容易想象出可能是路由器的nat功能使然,這樣就能夠逐步地發現一些被忽視的問題。
而ping不通時的反饋資訊是"destination_net_unreachable"還是"timed out"也是有區別的。
使用ping命令檢查路由之解惑
網路工程師都會用到ping,它是 檢查 路由問題的有效辦法。但也常聽工程師抱怨 不可能,怎麼會不通呢?最簡單的三種情況 1.太心急。即網線剛插到交換機上就想ping通閘道器,忽略了生成樹的收斂時間。當然,較新的交換機都支援快速生成樹,或者有的 管理 員乾脆把使用者埠 access port 的生成樹...
ping命令的使用
ping 是測試網路聯接狀況以及資訊包傳送和接收狀況使用的工具,是網路測試最常用的命令。ping 向目標主機 位址 傳送乙個回送請求資料報,要求目標主機收到請求後給予答覆,從而判斷網路的響應時間和本機是否與目標主機 位址 連通。如果執行 ping 不成功,則可以 故障出現在以下幾個方面 1 網線故障...
Ping命令使用技巧
如何使用ping命令?1 開始 執行 鍵入 cmd 2 單擊 確定 後,會出現如下 dos 命令。3 在游標後鍵入 ping 空格後,鍵入要查詢的網路程式的 可以是ip位址,網路位址 這裡以 126.com 為例,鍵入 ping 126.com 單擊 enter 回車 如何來判斷網路故障?常見的網路...