Proxy ARP
定义
如果ARP请求是从一个网络的主机发往同一网段但不在同一物理网络上的另一台主机,那么连接这两个网络的设备就可以回答该ARP请求,这个过程称作ARP代理(Proxy ARP)。
特点
- Proxy ARP部署在网关上,网络中的主机不必做任何改动。
- Proxy ARP可以隐藏物理网络细节,使两个物理网络可以使用同一个网络号。
- Proxy ARP只影响主机的ARP表,对网关的ARP表和路由表没有影响。
类型
Proxy ARP分为路由式Proxy ARP、VLAN内Proxy ARP和VLAN间Proxy ARP,如表2-2所示。
路由式Proxy ARP
路由式Proxy ARP就是使那些在同一网段却不在同一物理网络上的网络设备能够相互通信的一种功能。
在实际应用中,如果连接设备的主机上没有配置缺省网关地址(即不知道如何到达本网络的中介系统),此时将无法进行数据转发。
如图2-3所示,Host_1的IP地址为172.16.1.10/16,Host_2的IP地址为172.16.2.20/16,Host_1与Host_2处于同一网段。Switch通过VLAN10和VLAN20连接两个网络,VLANIF10和VLANIF20的IP地址不在同一个网段。
当Host_1需要与Host_2通信时,由于目的IP地址与本机的IP地址为同一网段,因此Host_1以广播形式发送ARP请求报文,请求Host_2的MAC地址。但是,由于两台主机处于不同的物理网络(不同广播域)中,Host_2无法收到Host_1的ARP请求报文,因此也就无法应答。
通过在Switch上启用路由式Proxy ARP功能,可以解决此问题。启用路由式Proxy ARP后,Switch收到ARP请求报文后,Switch会查找路由表。由于Host_2与Switch直连,因此Switch上存在到Host_2的路由表项。Switch使用自己的MAC地址给Host_1发送ARP应答报文。Host_1将以Switch的MAC地址进行数据转发。此时,Switch相当于Host_2的代理。如图2-3所示,Host_1上的ARP表项中到目的地址Host_2的IP地址对应的MAC地址为Switch的VLANIF10接口的MAC地址。
VLAN内Proxy ARP
如果两个用户属于相同的VLAN,但VLAN内配置了端口隔离。此时用户间需要三层互通,可以在关联了VLAN的接口上启动VLAN内Proxy ARP功能。
如图2-4所示,Host_1和Host_2是Switch设备下的两个用户。连接Host_1和Host_2的两个接口在Switch属于同一个VLAN10。
VLAN间Proxy ARP
如果两台主机处于相同网段但属于不同的VLAN,用户间要进行三层互通,可以在关联了这些VLAN的接口(例如VLANIF接口或者子接口)上使能VLAN间Proxy ARP功能。
仅S5720-EI、S5720-HI、S5720I-SI、S5720S-SI、S5720-SI、S5735-S、S5735S-S、S5735-S-I、S5730-HI、S5730S-EI、S5730-SI、S5731-H-K、S5731-H、S5731-S、S5731S-H、S5731S-S、S5732-H、S5732-H-K、S6720-EI、S6720-HI、S6720S-EI、S6720S-SI、S6720-SI、S6730-H-K、S6730-H、S6730S-H、S6730-S和S6730S-S支持VLAN间Proxy ARP。
如图2-5所示,Host_1和Host_2是Switch设备下的两个用户,Host_1和Host_2处于相同网段,但Host_1属于Sub-VLAN10,Host_2属于Sub-VLAN20。