以太网子接口常用于Vlan间的三层互通和局域网与广域网间的互联。因传统的三层网接口不支持vlan,当收到vlan报文时会当做非法报文而丢弃,通过在子接口上部署终结子接口功能将vlan报文中的vlan标签去掉,从而实现vlan间的三层互通(终结子接口不仅能剥离vlan,也能添加vlan)。

不同Vlan间互通可以通过vlanif接口来实现,也可以通过路由器的子接口来实现。下面的例子通过子接口来实现vlan20和vlan 30之间互通,交换机的GE0/0/1接口允许通过vlan30,vlan 20,在路由器AR1的GE0/0/0上做子接口来实现不同vlan间的互通,拓扑图如下:

单臂路由vlan间通信的优劣势(通过子接口实现不同vlan间的互通)(1)

AR1配置如下:

interface GigabitEthernet0/0/0#interface GigabitEthernet0/0/0.10 dot1q termination vid 30 ip address 192.168.10.1 255.255.255.0 arp broadcast enable#interface GigabitEthernet0/0/0.20 dot1q termination vid 20 ip address 192.168.20.1 255.255.255.0 arp broadcast enable #

交换机配置如下:

#interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 20 30// 注意没有配置 端口的pvid ,也不能配置为20或30中的一个,否则不通(因终结子接口处理收到的报文必须是带标签的)。

#interface GigabitEthernet0/0/2 port hybrid pvid vlan 30 port hybrid untagged vlan 30#interface GigabitEthernet0/0/3 port hybrid pvid vlan 20 //必须有,不然默认pvid为1,PC发送的报文进入时都会打上pvid为1的标签。所有的端口默认都允许vlan1的报文通过。 port hybrid untagged vlan 20#

--------------------------------------------

上述配置,试验可以实现PC1与PC2互通;

PC2 PING PC1过程中,GE0/0/1口抓包结果展示:

单臂路由vlan间通信的优劣势(通过子接口实现不同vlan间的互通)(2)

因为192.168.10.2 与 PC2 不在同一个网段,需要先找到网关的地址;上图可以看出,共有4个ICMP包,第一个包的vlan tag 是20 ,是LSW1 至AR1的0/0/0.20子接口;查询路由表,路由器找到目的地址的下一跳,将数据包从G0/0/0.10子接口转发出去,第二个包

vlan tag是 30。第三个包是应答包,从PC1途经LSW1至AR1的G0/0/0.10接口,所以第三个包的vlan tag 是30 ;第四个包也是应答包,从路由器的G0/0/0.20子接口途经LSW1至PC2,所以,此包的vlan tag 为 20.

注意:因为路由器的子接口配置了dot1q terminal vlan ,所以从交换机G0/0/1口发出的帧必须是带vlan tag ,否则,PC1与PC2不通。

,