免费ARP
特点:
- 使用自己的IP地址作为目的IP地址发送ARP请求
- OP码为2
作用:
- IP地址冲突检测。当设备接口的协议状态变为 Up 时,设备主动对外发送免费 ARP报文。正常情况下不会收到 ARP 应答,如果收到,则表明本网络中存在与自身 IP 地址重复的地址。如果检测到 IP 地址冲突,设备会周期性的广播发送免费 ARP 应答报文, 直到冲突解除。
- 通告一个新的MAC地址。发送方更换了网卡, MAC 地址变化了, 为了能够在动态 ARP 表项老化前通告网络中其他设备, 发送方可以发送一个免费 ARP。MAC地址刷新ARP
- 在VRRP备份组中用来通告主备发生变化。发生主备变换后, MASTER 设备会广播发送一个免费 ARP 报文来通告发生了主备变换。设备收到免费 ARP 报文后, 进行如下判断:
- 如果免费 ARP 报文中源 IP 地址和自己的 IP 地址相同, 则周期性的广播发送免费ARP 应答报文, 告知此 IP 地址在网络中存在冲突, 直到冲突解除。
- 如果免费 ARP 报文中源 IP 地址和自己的 IP 地址不同, 免费 ARP 报文是在 VLANIF接口收到的, 并且设备上已经有免费 ARP 报文中源 IP 地址对应的动态 ARP 表项, 则进行 ARP 学习, 即根据收到的免费 ARP 报文更新该 ARP 表项。 其余情况收到免费 ARP 报文后均不进行 ARP 学习
ARP代理(Proxy ARP)
如果 ARP 请求是从一个网络的主机发往同一网段但不在同一物理网络上的另一台主机,那么连接这两个网络的设备就可以回答该 ARP 请求, 这个过程称作 ARP 代理(Proxy ARP)。
产生原因
ARP 只适用于处于同一物理网络的相同网段主机之间的通信。 网络中的交换机收到主机发送的 ARP 请求报文后, 会检查报文的目的 IP 地址是否是本机的 IP, 以确定该报文请求的是不是本机的 MAC 地址。 如果是, 则回复 ARP 响应报文; 如果不是, 则丢弃该 ARP 请求报文。
对于不在同一物理网络但属于相同网段的主机, 或者在同一物理网络属于相同网段但不能二层互通的主机, 可以在其之间的交换机上部署 ARP 代理功能, 以实现这些主机之间的通信。 部署 ARP 代理功能后, 交换机收到 ARP 请求报文且发现其目的地址不是自己, 则使用交换机自己的 MAC 地址以及目的主机的 IP 地址向源主机回复 ARP 响应报文, 即交换机代替目的主机回复 ARP 响应报文。
适用场景
Proxy ARP方式 | 适用场景 |
路由式Proxy ARP | 需要互通的主机(主机上没有配置默认网关,也称缺省网关,英文为 default gateway)处于相同的网段但不在同一物理网络(即不在同一广播域)的场景 |
VLAN内Proxy ARP | 需要互通的主机处于相同网段,并且属于相同VLAN,但是VLAN内配置了端口隔离的场景 |
VLAN间Proxy ARP | 需要互通的主机处于相同网段,但属于不同VLAN的场景 |
特点:
- 部署在网关上,网络中的主机不必做任何改动
- 可以隐藏物理网络细节,使两个物理网络可以使用同一个网络号
- 只影响主机的ARP表,对网关的ARP表和路由表没有影响
实现过程
1、路由式Proxy ARP
VLANIF,是一种SVI(交换机虚拟接口),作为逻辑上同一VLAN的网关
如果主机属于同一网段却不在同一物理网络上并且连接主机的网关设备具有不同的网关地址,此时主机间要互通,则需要在交换机连接主机的接口上启用路由式 Proxy ARP 功能。如上图所示。
进行ARP请求的流程如下:
- HOSTA发送ARP请求报文,请求目的主机HOSTB的MAC地址
- Switch收到后,检查目的IP,发现不是自己的IP地址
- 如果满足一下条件,则转发,不然丢弃:
- 是否存在到达HOSTB的路由
- 是否开启了路由式Proxy ARP功能
- 将VLANIF 10的MAC地址通过ARP响应报文发送给HOSTA
- HOSTA收到后,认为此报文是HOSTB发送的ARP响应报文。学习,并使用此MAC地址向HOSTB发送数据报文
2、VLAN内Proxy ARP
如果主机属于相同的 VLAN, 但 VLAN 内配置了二层端口隔离, 此时主机间要互通, 则需要在关联 VLAN 的接口上启用 VLAN 内 Proxy ARP 功能。
请求流程:
- HostA发送ARP请求,请求目的主机HostB的MAC地址
- Switch收到后,检查目的IP,发送不是自己的IP地址
- 进行以下判断:
- 1)是否存在到达HostB的ARP表项
- 2)是否同VLAN
- 3)是否开启了VLAN内Proxy ARP功能
- 三个条件同时满足,则进行应答
- 只要不满足3),直接丢弃
- 1)不满足,2)、3)满足,会会在VLAN 4 内广播发送ARP请求报文
3、VLAN间Proxy ARP
如果主机处于同一物理网络相同网段但属于不同的 VLAN, 主机间要进行三层互通, 则需要在关联这些 VLAN 的接口上使能 VLAN 间 Proxy ARP 功能。