區域網內的單向ping通問題。

2021-04-02 22:57:23 字數 1928 閱讀 8135

怎麼辦?於是我就試試ping,其實我不願意用,因為我認為在乙個網段內,都能上www,怎麼就不通呢?結果讓我深思?單向ping通。為什麼?不解。

於是乎,google搜尋「區域網內 單方向ping 」,果然有討論的:

什麼原因引起只能單方向ping通呢?

當網路出現問題時,我們最常用的測試工具就是「ping」命令了。但有時候我們會碰到單方向ping通的現象,例如通過hub或一根交叉線連線的在同乙個區域網內的電腦a、 b,在檢查它們之間的網路連通性時,發現從主機a ping 主機b正常而從主機b ping 主機a時,出現「超時無應答」錯誤。為什麼呢?   

要知道這其中的奧秘,我們有必要來看看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通的問題

在區域網內為什麼主機a可以ping通主機b,主機b卻ping不通主機a呢?大家可以看一下ping命令的工作流程 假定主機a的ip位址是192.168.1.3,主機b的ip位址是192.168.1.2,都在同一子網內,則當你在主機a上執行 ping 192.168.1.2 後,都發生了些什麼呢?首先,...

區域網內機器名PING不通,IP能PING通的問題

在公司區域網內安裝了一台普通winxp的機器,在其上安裝apache做內部web伺服器。首先是ip不能ping通。這個只要在 windows防火牆 高階 icmp設定 允許傳入回顯請求 開啟就好了。接下來發現,不能通過機器名訪問該機器上的web服務。一番折騰,先檢查了機器名是否正確,是否和其他機器在...

區域網中電腦之間無法ping通問題

首先我對網路協議方面不是很了解,只是網路上查了一些資料解決當前區域網電腦間無法ping通這個小問題。之前了解的解決方式是關閉防火牆,但當我考慮伺服器關閉防火牆是不是恰當的時候,想找一下是否有其他方式,下面是在不關閉防火牆的前提下如何使區域網中電腦之間ping通。1.以windows server 2...