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

Ping命令工作原理詳解

2013-11-11 15:14:25  來源: 電腦常識 

  在網絡應用中ping網速與IP地址等都是非常常用的命令但大家知道ping命令的工作原理嗎?要知道這其中的奧秘我們有必要來看看Ping命令的工作過程到底是怎麼樣的接下來今天綠色資源網與大家介紹下ping命令的詳細知識

  假定主機A的IP地址是主機B的IP地址是都在同一子網內則當你在主機A上運行“Ping ”後都發生了些什麼呢?

  首先Ping命令會構建一個固定格式的ICMP請求數據包然後由ICMP協議將這個數據包連同地址“”一起交給IP層協議(和ICMP一樣實際上是一組後台運行的進程)IP層協議將以地址“”作為目的地址本機IP地址作為源地址加上一些其他的控制信息構建一個IP數據包並在一個映射表中查找出IP地址所對應的物理地址(也叫MAC地址熟悉網卡配置的朋友不會陌生這是數據鏈路層協議構建數據鏈路層的傳輸單元——幀所必需的)一並交給數據鏈路層後者構建一個數據幀目的地址是IP層傳過來的物理地址源地址則是本機的物理地址還要附加上一些控制信息依據以太網的介質訪問規則將它們傳送出去

  主機B收到這個數據幀後先檢查它的目的地址並和本機的物理地址對比如符合則接收;否則丟棄接收後檢查該數據幀將IP數據包從幀中提取出來交給本機的IP層協議同樣IP層檢查後將有用的信息提取後交給ICMP協議後者處理後馬上構建一個ICMP應答包發送給主機A其過程和主機A發送ICMP請求包到主機B一模一樣

  從Ping的工作過程我們可以知道主機A收到了主機B的一個應答包說明兩台主機之間的去回通路均正常也就是說無論從主機A到主機B還是從主機B到主機A都是正常的那麼是什麼原因引起只能單方向Ping通的呢?

  一安裝了個人防火牆

  在共享上網的機器中出於安全考慮大部分作為服務器的主機都安裝了個人防火牆軟件而其他作為客戶機的機器則一般不安裝幾乎所有的個人防火牆軟件默認情況下是不允許其他機器Ping本機的一般的做法是將來自外部的ICMP請求報文濾掉但它卻對本機出去的ICMP請求報文以及來自外部的ICMP應答報文不加任何限制這樣從本機Ping其他機器時如果網絡正常就沒有問題但如果從其他機器Ping這台機器即使網絡一切正常也會出現“超時無應答”的錯誤大部分的單方向Ping通現象源於此解決的辦法也很簡單根據你自己所用的不同類型的防火牆調整相應的設置即可

  二錯誤設置IP地址

  正常情況下一台主機應該有一個網卡一個IP地址或多個網卡多個IP地址(這些地址一定要處於不同的IP子網)但對於在公共場所使用的電腦特別是網吧人多手雜其中不泛有“探索者”曾有一次兩台電腦也出現了這種單方向Ping通的情況經過仔細檢查發現其中一台電腦的“撥號網絡適配器”(相當於一塊軟網卡)的TCP/IP設置中設置了一個與網卡IP地址處於同一子網的IP地址這樣在IP層協議看來這台主機就有兩個不同的接口處於同一網段內當從這台主機Ping其他的機器時會存在這樣的問題

  ()主機不知道將數據包發到哪個網絡接口因為有兩個網絡接口都連接在同一網段;

  ()主機不知道用哪個地址作為數據包的源地址因此從這台主機去Ping其他機器IP層協議會無法處理超時後Ping 就會給出一個“超時無應答”的錯誤信息提示但從其他主機Ping這台主機時請求包從特定的網卡來ICMP只須簡單地將目的源地址互換並更改一些標志即可ICMP應答包能順利發出其他主機也就能成功Ping通這台機器了

  介紹到這裡相信大家對ping命令有了一個比較詳細的了解對於ping命令我們常用來檢測局域網內網絡信號發送與接收的檢測網絡速度的檢測也可以判斷網絡是否存在故障等對於經常接觸網絡的朋友ping命令是的大家經常需要使用的命令


From:http://tw.wingwit.com/Article/Common/201311/6347.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.