免费ARP的作用,目前,免费ARP的作用有两种。第一种就是刚才上面所说的宣告广播的作用,以告诉整个广播域,目前这个IP所对应的MAC地址是什么。第二种是看看广播域内有没有别的主机使用自己的IP,如果使用了,则在界面上弹出“IP冲突”字样。普通ARP请求报文广播发送出去,广播域内所有主机都接收到,计算机系统判断ARP请求报文中的目的IP地址字段,如果发现和本机的IP地址相同,则将自己的MAC地址填写到该报文的目的MAC地址字段,并将该报文发回给源主机。所以只要发送ARP请求的主机接收到报文,则证明广播域内有别的主机使用和自己相同的IP地址(这里不考虑路由器的ARP代理问题)。免费ARP的报文发出去是不希望收到回应的,只希望是起宣告作用;如果收到回应,则证明对方也使用自己目前使用的IP地址。在所有网络设备(包括计算机网卡)up的时候,都会发送这样的免费ARP广播,以宣告并确认有没有冲突。
举例如下:
0000 ff ff ff ff ff ff 00 00 5e 00 01 ea 08 06 00 01
0010 08 00 06 04 00 01 00 00 5e 00 01 ea 86 4a ea 01
0020 00 00 5e 00 01 ea 86 4a ea 01 00 00 00 00 00 00
0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0040 00 00 00 00
报文中前48位是报文发送的目的MAC地址。
ff ff ff ff ff ff说明前48位都为1,表示这是一个局域网广播地址;
00 00 5e 00 01 ea是数据包发送的源MAC地址;
08 06表示为数据包类型为arp数据包;
00 01表示这是一个以太网数据包;
08 00表示为IP协议,6是硬件地址长度,4为协议地址长度;
00 01表示是ARP请求报文;
00 00 5e 00 01 ea发送者MAC地址;
86 4a ea 01(转换成十进制是134.74.234.1)是发送者的协议地址(由于协议是IP,所以这是IP地址);
86 4a ea 01是被请求的协议地址(可以看到请求的地址就是自身的IP地址);
00 00 5e 00 01 ea是被请求的MAC地址,正常情况下,如果不是免费ARP,这里应该为全0,在响应的时候,由目的主机来填写,但是在免费ARP的请求报文中,这里已经自动填写上自身的MAC地址。
1. 设置MAC地址和IP地址绑定。
2. 将交换机上某些端口设置为信任端口,来自这些端口的请求认为是可靠的,予以转发,其他的不转发。