地址解析协议(ARP),作用是将逻辑地址映射为物理地址,即将IP地址和物理地址关联起来。
当主机或路由器想要知道网络上另一台主机或者路由器的物理地址的时候,它就会发送ARP查询分组。这个分组包括发送端的物理地址和IP地址,以及接收端的IP地址。因为发送端不知道接收端的物理地址,所以查询就在网络上广播。
ARP查询分组将会被网络上的每一个主机或者路由器接收和处理。但是,只有目的接收者才会识别ARP查询分组的IP地址,从而发送ARP响应分组。响应分组包括接受者的IP地址和物理地址。这个响应分组是用单播方式直接发送给查询者。
ARP分组格式:
字段简单解释:
硬件类型:16位字段,用来定义运行ARP的网络的类型,如以太网是类型1;
协议类型:16位字段,用来定义协议的类型,如IPv4的值为0800;
硬件长度:8位字段,用来定义物理地址长度,以字节为单位,如以太网的值为6;
协议长度:8位字段,用来定义逻辑地址长度,以字节为单位,如IPv4的值为4;
操作:16位字段,用来定义分组的类型,如ARP请求为1,ARP回答为2;
发送者硬件地址:可变长字段,对以太网是6字节;
发送者协议地址:可变长字段,对IP是4字节;
目标硬件地址:可变长字段,对以太网是6字节,对于ARP请求报文,该字段全为0;
当主机或路由器想要知道网络上另一台主机或者路由器的物理地址的时候,它就会发送ARP查询分组。这个分组包括发送端的物理地址和IP地址,以及接收端的IP地址。因为发送端不知道接收端的物理地址,所以查询就在网络上广播。
ARP查询分组将会被网络上的每一个主机或者路由器接收和处理。但是,只有目的接收者才会识别ARP查询分组的IP地址,从而发送ARP响应分组。响应分组包括接受者的IP地址和物理地址。这个响应分组是用单播方式直接发送给查询者。
ARP分组格式:
硬件类型:16位字段,用来定义运行ARP的网络的类型,如以太网是类型1;
协议类型:16位字段,用来定义协议的类型,如IPv4的值为0800;
硬件长度:8位字段,用来定义物理地址长度,以字节为单位,如以太网的值为6;
协议长度:8位字段,用来定义逻辑地址长度,以字节为单位,如IPv4的值为4;
操作:16位字段,用来定义分组的类型,如ARP请求为1,ARP回答为2;
发送者硬件地址:可变长字段,对以太网是6字节;
发送者协议地址:可变长字段,对IP是4字节;
目标硬件地址:可变长字段,对以太网是6字节,对于ARP请求报文,该字段全为0;
目标协议地址:可变长字段,对IP是4字节。
用 wireshark 软件抓包验证报文格式:
1、请求报文
2、响应报文
windows系统下查看ARP高速缓存表: