问题描述
客户要求不同VLAN的PC机互通,如下图拓扑所示。
此外,仅允许在设备 LSW3 上进行配置修改。
分析
由于所有的PC都在同一个网段,当任何一个设备想要和另一个设备通信时,它会首先根据数据交互的流程广播一个ARP请求报文来获取目的设备的MAC地址。
但是,由于 PC 都在不同的 VLAN 中,这会导致广播 ARP 请求消息无法转发到相应的目标设备。
也就是说,要解决这个问题,我们需要解决如何将一个VLAN的ARP请求报文桥接到另一个VLAN。
然而,首先想到的是路由 ARP 代理,因为 PC1 到 PC4 的 IP 地址分别为 10.1.1.1/24
、10.1.1.2/24
、10.1.1.3/24
和 10.1.1.4/24
,不可能为每台 PC 配置四个不同的 IP 网关。
还有另一种技术:VLAN 聚合,它涉及多个 VLAN,需要不同 VLAN 之间的通信。
在 VLAN 聚合中,它定义了 super-VLAN 和 sub-VLAN。我们可以在super-VLAN下配置VLAN间ARP代理,代理不同子VLAN之间的ARP请求。
配置
-
在LSW3上创建VLAN 2、3、4、5、10,并将接口VLANif 10的IP地址设置为10.1.1.10/24。
-
将LSW3的接口G0/0/1配置为Trunk接口,允许VLAN 2、3、4通过。
-
将LSW3上的接口G0/0/2配置为接入端口,默认VLAN为5。
-
在 LSW3 上配置 VLAN 聚合。配置VLAN 10为super-VLAN,VLAN 2、3、4、5为sub-VLAN。
-
在 R1 上测试,它可以互连所有其他 PC。
在 LSW1 和 LSW3 之间的链路上捕获的数据包(下图)显示 LSW3 响应了来自 PC1 的 ARP 请求。
-
PC1广播ARP请求包,请求MAC地址10.1.1.2。
-
LSW3代理PC1请求MAC地址10.1.1.2。
-
PC2 应答 LSW3 的 ARP 请求包。
-
由于 PC1 没有得到 10.1.1.2 的 ARP 响应,它向 10.1.1.2 发起另一个 ARP 请求,LSW3 响应这个 ARP 响应。
-
另一方面,LSW3 将回答来自 PC2 的 ARP 请求。
-
之后,PC1和PC2之间的互通成功。