電腦IP192.168.149.6/24

網關192.168.151.254

可聯網通訊

向不同網段的網關發送arp

如果能得到arp響應,那麼就能完成乙太網封裝,發送數據,反之則不能。

那麼如何讓網關回應arp呢?

一種方法是在網關介面上配置多個不同網段的IP,因為在同一個廣播域里,這些IP都能響應ARP,單必須至少有一個IP和電腦同網段,否則回包網關不知道應該往哪裡路由。

另一種方法是在網關設備上配置proxy arp,H3C的交換機arp代應答有兩種,一種只應答同網段目的IP(local-proxy-arp),另一種應答不同網段目的IP(proxy-arp),兩種可以同時啟用,啟用代應答後,網關設備會以三層介面的mac應答arp請求,但是這種方法回包有問題,只能去不能回,如果是UDP的話,是可以發出包的。

知道IP地址和子網掩碼,怎麼算出網路地址?怎麼算出主機地址??

www.zhihu.com圖標

抓一下arp


網關下地址池是可以在三層交換做配置的,一個網段254個地址不夠用,可以配置子網掩碼擴展,不一定必須網關和IP地址在一個地址段


@foxgab 回答正解,他說的是底層原理,具體到你這個示例情況,我給你舉個好理解點的例子。

假設你電腦的IP是 192.168.0.3 / 24 而網關的IP是192.168.1.1 你在客戶機上只能看到網關的IP,看不到網關的子網掩碼長度的。 網關可能是192.168.1.1/23 或192.168.1.1/16 (255.255.0.0) 在這樣的情況下,你用192.168.0.3去訪問網關192.168.1.1的時候, 如 @foxgab 所說,客戶機訪問網關的時候,是不關注網關地址是否和自己同網段的,只管廣播詢問,廣播:請問192.168.1.1是誰(MAC地址是多少)。 路由器收到廣播後,發現192.168.1.1是自己,他要向192.168.0.3回復一個單播。 因為路由器的子網是23或16,那麼192.168.0.3與192.168.1.1對路由器而言,是在同一個網段的。所以就可以直接回復給192.168.0.3。 它們之間就能正常通信了。

這裡涉及到一個經常使用的概念叫路由匯總。 比如你網關下面網路很大,然後給下面各個子網分配了B類地址段。172.16.10.x/24 172.16.20.x/24 .... 網關都可以統一設置為172.16.0.1 / 16。路由匯總可以減少路由條目,提高路由查詢效率,便於管理等。


拓撲圖

交換機下vlan介面的配置

電腦配置
測試結果,10.0.0.1為路由器內網地址,0.2為核心交換與路由器內網介面互通的地址

實際上非常簡單,只需要給同一個vlan介面啟用sub地址,然後手動配置電腦的IP地址即可。不過一般情況下同一個vlan內配置sub地址,也會配合全局地址池使用相應網段內的網關,而不會這樣跨網段使用。

這裡要說明一點,我是用模擬器模擬的,想做的更深一點,模擬器不支持,模擬器上不支持通過DHCP分配從地址的方式,你要是實機可以試一下不手動分配,直接dhcp select interface,或者通過兩個地址池分配。不過我印象中之前配置的時候,dhcp分配從地址下來的網關也是從地址這個網段的。也不知道你電腦是不是手動配置的ip,如果是的話就沒啥問題,是dhcp分配的話就得在研究研究了。

華為V200R010及之後的版本支持配置vlanif介面配置sub地址和全局地址池方式,為終端分配IP地址。


電腦也是一種路由器,是特殊的路由器


推薦閱讀:
相关文章