arp协议主机(路由器)用来查询硬件地址的协议,即主机(路由器)向所在子网的所有主机(路由器)广播arp请求,询问类似下面这样的话:
Who has 192.168.1.192? Tell 192.168.1.153
arp协议格式:
共28字节。
最重要的两个字段是最后两个字段:
target mac: 是要查询的结果,留空,由目标主机填写
target ip: 是要查询的目标主机的ip地址
换句话说就是,挨个主机询问,你的ip为target ip
吗?如果是,把你的mac地址发给我
我们知道以太网帧的最小长度是60字节(不包含4字节的CRC),帧格式如下:
arp协议长度固定28字节,不够46字节,所以要填充18个字节
但是我用wireshark观察到我的主机发送的arp请求/响应的帧长度是42字节,但是我的主机收到的arp请求是60字节。
这是因为主机发送的arp请求/响应的帧被填充之前就被wireshark捕获了。主机所在子网上其它主机收到的arp请求仍然是60字节。