目录:
1:概述
2:ARP报文格式
3:ARP解析缓存
4:ARP实现例程
5:总结
1、概述
1.1:当数据需要在不同的局域网中进行传输时,由于不同的局域网可能其物理地址(MAC地址)格式不同,所以制定IP地址,来统一标识网络中的设备;
1.2:ARP协议是通过给定的IP地址,找到所对应设备的物理地址:,通过以太网协议进行传输;
1.3:当上层协议通过IP协议发送数据报时,已经有目的设备的IP地址,但此时需要知道物理地址通过以太网协议把数据发送至目标设备,这时,原设备会发送一个包含ARP报文的广播帧,ARP报文包含目的设备的IP地址。ARP帧被所有设备接收,在对ARP帧进行分析后,具有该IP地址的设备应答报文的发送者,在应答报文中就有其物理地址(MAC地址),通过这样的ARP请求和响应,目的设备和源设备都会知道双方的IP地址和物理地址,并各自将这些IP地址和对应的物理地址记录下来,形成ARP条目表;
2、ARP报文格式
2.1:ARP协议共28字节(IPv4协议);
2.2:报文中主要提供:数据链路层的硬件类型(以太网)+协议类型(IPv4)+硬件地址和协议地址长度+操作码(请求或者应答)+目标设备和源设备的物理地址(MAC地址)和协议地址(IPv4);
3、ARP解析缓存
3.1:运行在设备中的程序会维护一个IP地址和MAC地址的对应关系表(ARP条目表),当发送设备需要解析IP地址时,去条目表中字节查找,c语言中,我们用结构体数组来实现ARP条目标;