在网络世界中,只有两种地址,一种是之前讲解过的MAC地址,另一种是IP地址。MAC地址是烧制在NIC网卡内部的物理地址,在数据链路层中进行;IP地址则是在操作系统(OS)中设置的逻辑地址,在网络层中运行。ARP就是负责将这两个地址关联起来,起着数据链路层和网络层之间的架桥作用的协议。虽然ARP是位于数据链路层和网络层中间的协议,但也可以作为数据链路层的协议来进行讲解。
当某台终端发送数据时,需要将接收到的来自网络层的IP数据包封装成以太帧,并将其传输到缆线中。但是,如果只是接收了IP数据包,是不足以创建以太帧的,还需要其他信息。发送方MAC地址已经写入自己的NIC网卡中,因此是可知的,但是对接收方MAC地址一无所知。因此,在实际进行数据通信之前,需要使用ARP根据接收方IPv4地址计算出接收方MAC地址,这一处理被称为地址解析。
目录
ARP的数据帧格式
接下来,对ARP数据帧格式中的每个字段进行讲解:
--硬件类型
硬件类型是一个2字节(16比特)的字段,表示使用的是第二层的协议。它对各种第二层的协议进行了定义,如果是以太网,硬件类型就是0x0001。
--协议类型
协议类型是一个2字节(16比特