為什麼不同網段的ip 不能直接通訊

2022-02-01 18:28:17 字數 910 閱讀 5840

首先要明白一點,ios一共七層, 傳送資料的過程是從上到下,也就是從應用層一直到物理層,接受資料是從下至上.

來看你的問題,環境如下,我們來用乙個ping命令的過程來解釋:

乙個交換機,連兩個電腦a和b,a和b不在乙個網段,他們的ip分別是192.168.1.2,255.255.255.0,b是 192.168.2.1,255.255.255.0,閘道器也可以設也可以不設,但其實你設了也是個假的閘道器,因為在你的環境裡面只有乙個交換機,並沒有路由器,對嗎?

a ping b:

1.ping命令會構建乙個固定格式的icmp請求資料報,然後由icmp協議將這個資料報連同ip位址「192.168.2.1」一起交給ip層協議.

2.ip協議會檢視目的ip位址是否和源ip在同一網段,如果在同一網段就直接查詢arp快取,查詢目的mac,如果目的ip位址是否和源ip不在同一網段,那麼就將資料報傳送到閘道器.

3.按照前面的描述,在a電腦上有兩種情況,1是沒設閘道器 2是設了乙個假的閘道器,那麼如果沒設的話,資料報到這一步就丟棄了,目的ip和源ip不在乙個網段而且a沒有閘道器,那麼就無法傳送.如果a設閘道器了的話,接著往走.

4.假設a電腦設定的閘道器是192.168.1.1,那麼ip協議知道了目的ip,但是不知道目的mac,所以會查詢a電腦的arp快取,看裡面有沒有目的mac,很遺憾,肯定沒有,因為環境裡並沒有這個閘道器裝置存在.所以a會發乙個arp廣播到192.168.1.x整個網段,來查詢ip是192.168.1.1 的mac,當然,物理上就不存在192.168.1.1這個裝置,自然就沒有裝置來響應這個arp廣播,所以最終ip協議無法知道目的mac,就無法將資料報往下乙個層資料鏈路層傳遞.

回到最開始,還是那句話:ios一共七層, 傳送資料的過程是從上到下,也就是從應用層一直到物理層,接收資料是從下至上.

在此場景中資料報在三層就停住了,根本不會涉及到二層.

用vbs自動切換不同網段的IP

開發和測試環境處於不同的網段,經常需要更改ip,手工修改非常麻煩。後來找到了乙個vbs小指令碼,實現了自動切換。假如ip段分別為192.168.30.和192.168.41.分別新添兩個檔案turn30.vbs和turn41.vbs 內容如下 strcomputer set objwmiservic...

為什麼區域網網段不同不能通訊

最近在上計算機網路的實驗,發現處在相同校園網中的台式電腦和我帶來的pc 通過無線網連線 ping不通,然後問了老師說 網段不同,就ping不同。通過ipconfig查詢了一下兩台電腦,網段的確不同,但還是有些不解 既然都在同乙個交換機中 將問題簡化一下 這台交換機上的機器都可以互相通訊嘛,為什麼還有...

閘道器和本機IP不同網段的上網辦法

原貼 本機ip位址是 202.netmask是255.255.255.192 閘道器是 61.兩者不在同一網段。windows下貌似很容易解決,直接設好ip閘道器即可,路由表會自動設好,linux卻不行。可以這樣搞定 route add host 61.netmask 0.0.0.0 dev eth...