相同網路與不同網路間的通訊解釋!

2021-07-01 19:42:47 字數 1324 閱讀 7246

1、本機ip位址與本機子網掩碼進行與運算,得出網路號。

2、目標ip位址與本機子網掩碼進行與運算得出網路號。

3、觀察兩個網路號是否相同。

4、對方主機同樣進行1~3的計算

又因為通訊是雙向的,所以兩台主機都必須「各自」認為它們屬於相同網段,那麼資料才能往返。倘若把b主機的子網掩碼改為255.255.255.0;那麼b主機就認為自己的網段是192.168.2.0 而a主機的網段是192.168.1.0 ;那麼b主機就認為兩主機不屬於相同網段。這種情況下就必須配置路由器或者閘道器了。

注意:之前帖子出現的問題在這裡進行解釋!!!!(本人水平有限,之前分析不到位,請見諒,在此感謝huqiliu發現了問題)

兩主機互聯的情況大致可以分為3種(之前我只說到了「相同網段」和「不同網段」);

仔細分析下有以下三種:

對於情況1:兩台主機可以通訊是沒有問題的了。

對於情況2:兩台主機之間就必須要有路由器,路由器有兩種用法,一是進行通常情況的閘道器作用,二是路由器配置成**arp伺服器。

(1)為什麼a先ping b會不通呢?

如上圖,b在收到a傳送的arp請求報文後,對arp請求報文進行丟棄處理。丟棄處理也意味著b不會回應a的arp請求。所以a和b的arp快取都不會有對方的mac位址。所以通訊無法進行。b為什麼進行丟棄處理呢,對於此說法網上也是爭論不休,比較符合現實的解釋是因為當b收到a的arp請求報文時候,會對兩台主機a和b是否屬於同一網段進行判斷。如果兩台主機不是同一網段,則arp報文會被丟棄。

(2)為什麼b先ping a就能通呢?

分析過程:b ping a,首先會檢查a和b是否屬於同乙個網段,檢查發現不屬於同乙個網段。b主機檢查是否有設定閘道器,發現已經設定閘道器。b檢查arp快取,檢視是否有閘道器的mac位址,結果發現沒有。b向閘道器傳送arp請求報文,這裡閘道器其實就是主機a。當a收到b傳送來的arp報文(上圖中輸入層部分的資訊),檢查自己和b是否屬於同乙個網段,結果發現網段相同,則arp報文被順利接收。a從arp報文中提取b的mac位址,並放入arp快取中,然後a對b傳送過來的arp報文進行應答(上圖中輸出層部分的資訊)。b收到a傳送回來的arp應答報文,抽取a的mac位址資訊並存入自己arp快取之中。則現在雙方都有對方的mac位址了。自然能ping通了。

(3)為什麼b ping完a,a再回來ping b就能通呢?

相信聰明的你已經發現了,當b ping a的時候,a、b雙方就已經擁有對方的mac位址了。自然能ping通了。

如果要重新進行實驗,就如上文提到的,兩台主機都使用arp -d來清理arp快取。

原理:ip選路時,優先匹配主機ip位址,然後匹配網路號位址,最後才用預設路由**。

此處**,表述更清晰 兩主機互通訊的原貼

**

VxLAN實驗 相同網段的網路通訊

bin sh brctl addbr br zou ip link add zouveth0 type veth peer name zouveth1 brctl addif br zou zouveth0 ip link add vxlan 10 type vxlan id 10 group 23...

hybrid實現相同網段不同VLAN通訊

vlan可以分為 二層vlan 不同網段不同vlan 三層vlan 相同網段不同vlan 個人理解,如有問題歡迎指導 不同網段不同vlan需使用vlanif虛擬介面進行配置實現不同vlan之間的通訊 相同網段不同vlan通過鏈路混雜模式 hybrid 進行訪問控制,從而實現相同網段不同vlan之間的...

快速配置不同網路引數

對於筆記本使用者來說,最頭痛的就是,每次在家裡和辦公室使用都要重新配置網路設定,利用netsh工具可以快速實現不同網路設定的切換。1 在公司時,首先修改筆記本的網路設定,然後在 命令列提示符 中輸入 netsh c inte ce dump c configs officeinte ce.txt 這...