Eu li sobre as regras de como os hosts se comunicam entre si. Vamos dizer hostA e hostB. O hostA obtém sua própria ID de rede por bitwise e seu endereço IP e sua máscara, em seguida, obtém o ID de rede do hostB bitwise e o endereço IP do hostB e a máscara do hostA. Se os resultados forem os mesmos, eles estarão no mesmo segmento de rede.
Supondo que hostA não saiba o endereço MAC do hostB: se eles estão no mesmo segmento, hostA envia um pedido ARP para alternar e finalmente obtém o endereço MAC do hostB; se não estiverem no mesmo segmento, o hostA usa o endereço MAC do gateway como o endereço MAC de destino e o endereço IP do hostB como o endereço IP de destino e envia o quadro ao gateway. É assim que funciona.
Eu posso entender quando os endereços IP dos dois hosts são como 192.168.1.1/24 e 192.168.1.2/24. Mas o que aconteceu quando eles são como os seguintes:
Se hostA for 192.168.0.1/16 e hostB for 192.168.1.1/24, o hostA obterá seu próprio ID de rede:
192.168.0.1 & 255.255.0.0 -> 192.168.0.0
então o hostA obtém o ID de rede do hostB:
192.168.1.1 & 255.255.0.0 -> 192.168.0.0
Então o hostA acha que eles estão no mesmo segmento. Mas para hostB, o hostB recebe seu próprio ID de rede:
192.168.1.1 & 255.255.255.0 -> 192.168.1.0
então o hostB recebe o ID de rede do hostA:
192.168.0.1 & 255.255.255.0 -> 192.168.0.0
Então hostB pensa hostA em um segmento diferente.
Como eles se comunicam nesse caso? Por exemplo, eles não conhecem o endereço MAC um do outro, o hostA usa uma maneira de localizar o hostB e o hostB usa outra maneira de localizar o hostA?
Obrigado,