您的位置:網站首頁 > 電器維修資料網 > 正文 >
詳解Ping命令工作原理
★★★★★【文章導讀】:詳解Ping命令工作原理具體內容是:在互聯網應用中,ping網速與ip地址等都是十分常用的命令,但大家知道ping命令的工作原理嗎?要知道這其中的奧秘,我們有必要來看看ping命令的工作過程到底是怎么樣的。ping命令的應用與原理假定主機a的ip地址是192.1…
來源: 日期:2013-11-25 10:23:03 人氣:標簽:
在互聯網應用中,ping網速與ip地址等都是十分常用的命令,但大家知道ping命令的工作原理嗎?要知道這其中的奧秘,我們有必要來看看ping命令的工作過程到底是怎么樣的。
ping命令的應用與原理
假定主機a的ip地址是192.168.1.1,主機b的ip地址是192.168.1.2,都在同一子網內,則當你在主機a上運行“ping 192.168.1.2”后,都發生了些什么呢?
首先,ping命令會構建一個固定格式的icmp請求數據包,然后由icmp協議將這個數據包連同地址“192.168.1.2”一起交給ip層協議(和icmp一樣,實際上是一組后臺運行的進程),ip層協議將以地址“192.168.1.2”作為目的地址,本機ip地址作為源地址,加上一些其他的控制信息,構建一個ip數據包,并在一個映射表中查找出ip地址192.168.1.2所對應的物理地址(也叫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其他的機器時,會存在這樣的問題:
(1)主機不知道將數據包發到哪個網絡接口,因為有兩個網絡接口都連接在同一網段;
(2)主機不知道用哪個地址作為數據包的源地址。因此,從這臺主機去ping其他機器,ip層協議會無法處理,超時后,ping 就會給出一個“超時無應答”的錯誤信息提示。但從其他主機ping這臺主機時,請求包從特定的網卡來,icmp只須簡單地將目的、源地址互換,并更改一些標志即可,icmp應答包能順利發出,其他主機也就能成功ping通這臺機器了。
介紹到這里相信大家對ping命令有了一個比較詳細的了解,對于ping命令我們常用來檢測局域網內網絡信號發送與接收的檢測,網絡速度的檢測,3也可以判斷網絡是否存在故障等,對于經常接觸網絡的朋友ping命令是的大家經常需要使用的命令。
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: 5大原因解釋無線網絡為何連接不上
- 下一篇: 64位Win7還需要安裝殺毒軟件嗎?