简介
ARP(Address Resolution Protocol,地址解析协议)是解决地址映射关系问题的协议,以目标IP地址为线索,用来定位下一个应该接收数据帧的网络设备,所对应的MAC地址。ARP只适用于IPv4,不能用于IPv6。IPv6中可以用ICMP替代ARP发送邻居探测消息。
逻辑地址-IP
物理地址-MAC
注意:仅仅知道目的的逻辑地址,不知道物理地址,设备不会像网络发送任何数据帧
点对点网络不需要ARP协议。有以下几种:
- PPP点对点
- 点对点GRE(Generic Routing Encapsulation)
- IPSec VTI(Virtual Tunnel Interface)
- 存储FC(FC其实就是光纤通道协议,FC存储是指以光纤通道协议为承载协议的存储)
- 数据中心FP
报文格式
- 硬件类型:指明了发送方想知道的硬件接口类型,以太网的值为1;
- 协议类型:指明了发送方提供的高层协议类型,IP为0800(16进制);
- 硬件地址长度和协议长度:分别指出硬件地址和协议的长度,以字节为单位。对于以太网上 IP 地址的ARP请求或应答来说,它们的值分别为 6 和 4。
- 操作类型:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4;
- 发送方硬件地址(0-3字节):源主机硬件地址的前3个字节;
- 发送方硬件地址(4-5字节):源主机硬件地址的后3个字节;
- 发送方IP地址(0-1字节):源主机硬件地址的前2个字节;
- 发送方IP地址(2-3字节):源主机硬件地址的后2个字节;
- 目标硬件地址(0-1字节):目的主机硬件地址的前2个字节;
- 目标硬件地址(2-5字节):目的主机硬件地址的后4个字节;
- 目标IP地址(0-3字节):目的主机的IP地址。 [3]