網關和IP必須設置在同一個網段嗎?

 網關和IP必須設置在同一個網段嗎?       

網關和IP必須設置在同一個網段,我一直是這樣認爲的,但是有一天,我在一個學校的辦公室,看到一臺電腦:
 
網絡設置如下:
 
IP:172.16.20.8
 
子網掩碼:255.255.252.0
 
網關:10.0.0.3
 
DNS:172.16.20.1
 
IE裏設置爲局域網上網
 
這樣的設置竟然可以上網?不在一個網段居然可以通信?
仔細研究,並找專家解釋,得出一定結論:
要深入理解這個問題,首先要搞清楚網絡通訊的原理,網絡上通訊工作在物理層和數據鏈路層,源地址和目標地址是通過源和目的的mac地址進行通訊的。
 
當源主機訪問目標主機時,首先看兩者的IP在不在同一網段,結果是
 
1 兩者在同一網段,就會直接把包發向目標IP,這時要做:
 
1.1 查本地arp緩存,看看是否有IP和Mac的對應表.
 
1.1.1 有,直接向網絡上發包,包中包括原mac及目標mac 。
 
1.1.2 沒有,則向網絡發arp 廣播,用來查找與目標IP對應的mac地址。
 
1.1.2.1 如果查到了,則向網絡發包。
 
1.1.2.2 沒查到,則不通訊。
2 兩者不在同一網段,則把目標地址轉爲網關地址(也就是平時說的向網關發包),然後查找本地arp緩存,繼續1.1 。
 
由此可以看出,源主機和網關的通訊過程中,並不會檢查兩者是不是同一網段,而是直接去查arp緩存。所以是可能通訊的。
 
當然,這裏說的只是單向的,要想讓目標主機響應的包能回到源地址上,還要在路由器上做路由策略,這裏不說了。
 
什麼情況下用這樣,一般情況下單臂路由時用到的較多。路由器的一個內網接口接幾個不同的子網,網管爲了省事兒,就這樣設了。
 
這樣有什麼好處呢,我想,這樣可以對網關起到一定的保護作用,使得網關不輕易暴露(外部***)。但這樣做對於網絡調試可能會有麻煩,或者當網絡故障時,查錯比較麻煩。一般不建議這樣做。 ll
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章