计算机网络学习误区——上帝视角

您好,想问一下这里,h1虽然与h3在不同的网段,但h1不是可以arp获取h3的mac直接通信吗,为啥要进过路由器呢?特别感谢!

H1= 192.168.3.2/25, H3= 192.168.3.251/25,很明显,这两个主机的网段不相同。H1的网段= 192.168.3.0/25,H3的网段= 192.168.3.128/25。

H1与H3位于同一个广播域里,它们之间是通过二层桥接设备(switch/hub)相连,虽然在同一个广播域,H1、H3相互之间不能通过ARP发现彼此的MAC地址,也不能直接通信。因为主机的内部coding不允许主机那么做。

因为一旦主机H1、H3发现对方和自己不在一个网段,会直接联系自己的网关(ARP请求网关的MAC地址),H1、H3之间的通信流量必须通过网关代理转发才可以!因为如果网关失去了对跨网段的流量控制,那么要网关还有何用?从图里可知,由于H1的网关 =192.168.3.1 并不存在,所以H1与H3之间是无法通信的!

(1)H1能与H2正常通信。这两台主机位于同一个网段,同一个广播域,是可以通信的,而且是直接通信,不需要网关的参与!同理,H3能与H4正常通信,而且是直接通信,不需要网关的参与!

(2)H1、H2的网关(192.168.3.1)不存在时,无法访问Internet的,但是H3、H4是可以访问Internet的。

时刻提醒自己,计算机的行为是受coding约束的,而不是我们的主观意愿控制的。比如上文的H1= 192.168.3.2/25、H3= 192.168.3.251/25,只要将它们的掩码向左移一位,那么它们就是同一个网段的了。一个原则,如果H1、H3位于同一个广播域,那么它们就可以直接通信。否则,不能!

(0)

相关推荐