ARP(Address Resolution Protocol)
即地址解析协议, 用于将网络层L3的IP地址转换成数据链路层的L2地址(MAC地址), 常用在诸如以太网, 无线网络等局域网中, 但对如点对点(P2P)网络, 组播与多播IP地址, 都无需使用ARP
协议.
一般来说, L3-L2地址的转换通常被成为邻区协议(neighboring protocol
), 这种发现邻居节点(neighbor
)的协议被统称为邻居发现协议(Neighbor Discovery Protocol
, ND
). ARP
可以看作是ND
的ipv4版本(参考RFC826), 在ipv6中则直接称为ND
(参考RFC4861).
邻居节点(
neighbor
)指的是跟主机在同一局域网(LAN
)的其他节点
ND
协议有两种消息类型:
Solicitation Request
(也称为Neighbor Solicitation
): 用于主机发送消息到网络中查询是否有主机拥有某个L3的IP地址, 该消息可以是单播, 组播或者广播形式.Solicitation Reply
(又称为Neighbor Advertisement
): 收到Solicitation Request
包时发出的回应包(有可能是HOST本身发出的, 也有可能是ARP
代理服务器发送的)
那么, 什么是Gratuitous ARP
(简称GARP
, 免费ARP)了? 简单来说, GARP
是一种用于告知网络中其他节点某些特定信息的ARP请求包, 但无须其他节点发送回应包, 常用于如下三种情况: