这是一个实验,两台主机的arp都是空的。
主机A的IP地址:192.168.1.3 子网掩码:255.255.255.0
主机B的IP地址:192.168.1.193 子网掩码:255.255.255.224
网关都是192.168.1.1
现在使用B去pingA,包是这样的:
B(192.168.1.193)pingA(192.168.1.3),因为B的子网掩码是255.255.224,B主机认为A是在不同的网段中,所以先去找网关,找网关就需要其mac地址,才能通信,所以先发了个arp,找网关的mac地址:
问Who has 192.168.1.1 ? Tell 192.168.1.193
网关机器收到B发出的arp广播包,就会发个arp,说192.168.1.1是00:50:56:ff:8b:ac的地址。
然后192.168.1.193会发ICMP包给192.168.1.3,但mac地址为网关的地址:
因为B认为A和他不在一个网段,就会把包先给网关,让网关转发,我这里网关已经转发了。
最后
B和A都MAC地址和IP都记录到ARP表里面都有了记录。所以可以直接通信了。