我读到了主机如何相互通信的规则。让我们说hostA和hostB。 hostA通过按位获取自己的网络ID及其IP地址及其掩码,然后通过按位和hostB的ip地址和hostA的掩码获取hostB的网络ID。如果结果相同,则它们位于同一网段中。
假设hostA不知道hostB的MAC地址:如果它们在同一网段,则hostA向交换机发送ARP请求,最后获取hostB的MAC地址;如果它们不在同一网段,则hostA使用网关MAC地址作为目的MAC地址,使用hostB的IP地址作为目的IP地址,并将该帧发送给网关。这就是它的工作原理。
我可以理解这两个主机的IP地址何时是192.168.1.1/24和192.168.1.2/24。但是当他们像下面那样发生了什么:
如果hostA为192.168.0.1/16且hostB为192.168.1.1/24,则hostA获取自己的网络ID:
192.168.0.1 & 255.255.0.0 -> 192.168.0.0
然后hostA获取hostB的网络ID:
192.168.1.1 & 255.255.0.0 -> 192.168.0.0
所以hostA认为他们属于同一个细分市场。但是对于hostB,hostB获得了自己的网络ID:
192.168.1.1 & 255.255.255.0 -> 192.168.1.0
然后hostB获取hostA的网络ID:
192.168.0.1 & 255.255.255.0 -> 192.168.0.0
所以hostB认为hostA在不同的部分。
在这种情况下他们如何沟通?例如,他们不知道对方的MAC地址,hostA使用一种方法查找hostB,而hostB使用另一种方式查找hostA?
谢谢,
答案 0 :(得分:0)
你有一个错误,因为你有重叠的网络。您无法在路由器中配置它。您必须具有一致的寻址,并且在更正IP寻址之前,您将无法进行通信。