目录
前言
部署了VLAN的传统交换机不能实现不同VLAN间的二层报文转发,因此必须引入路由技术来实现不同VLAN间的通信。VLAN路由可以通过二层交换机配合路由器来实现,也可以通过三层交换机来实现。
VLAN的局限性
VLAN隔离了二层广播域,也严格地隔离了各个VLAN之间的任何二层流量,属于不同VLAN的用户之间不能进行二层通信。
VLAN路由-每个VLAN一个物理连接
因为不同VLAN之间的主机是无法实现二层通信的,所以必须通过三层路由才能将报文从一个VLAN转发到另外一个VLAN。
解决VLAN间通信问题的第一种方法是:在路由器上为每个VLAN分配一个单独的接口,并使用一条物理链路连接到二层交换机上。当VLAN间的主机需要通信时,数据会经由路由器进行三层路由,并被转发到目的VLAN内的主机,这样就可以实现VLAN之间的相互通信。
然而,随着每个交换机上VLAN数量的增加,这样做必然需要大量的路由器接口,而路由器的接口数量是极其有限的。并且,某些VLAN之间的主机可能不需要频繁进行通信,如果这样配置的话,会导致路由器的接口利用率很低。因此,实际应用中一般不会采用这种方案来解决VLAN间的通信问题。
VLAN路由-单臂路由
解决VLAN间通信问题的第二种方法是:
在交换机和路由器之间仅使用一条物理链路连接。在交换机上,把连接到路由器的端口配置成Trunk类型的端口,并允许相关VLAN的帧通过。在路由器上需要创建子接口,逻辑上把连接路由器的物理链路分成了多条。一个子接口代表了一条归属于某个VLAN的逻辑链路。配置子接口时,需要注意以下几点:
必须为每个子接口分配一个IP地址。该IP地址与子接口所属VLAN位于同一网段。
需要在子接口上配置802.1Q封装,来剥掉和添加VLAN Tag,从而实现VLAN间互通。
在子接口上执行命令arp broadcast enable使能子接口的ARP广播功能。
本例中,主机A发送数据给主机B时,RTA会通过G0/0/1.1子接口收到此数据,然后查找路由表,将数据从G0/0/1.2子接口发送给主机B,这样就实现了VLAN2和VLAN3之间的主机通信。
VLAN路由-三层交换
解决VLAN间通信问题的第三种方法是:
在三层交换机上配置VLANIF接口来实现VLAN间路由。如果网络上有多个VLAN,则需要给每个VLAN配置一个VLANIF接口,并给每个VLANIF接口配置一个IP地址。用户设置的缺省网关就是三层交换机中VLANIF接口的IP地址。
配置单臂路由
执行port link-type trunk命令,配置SWA的G0/0/1端口为Trunk类型的端口。
执行port trunk allow-pass vlan 2 3命令,配置SWA的G0/0/1端口允许VLAN 2和VLAN 3的数据通过。
配置单臂路由
interface interface-type interface-number.sub-interface number命令用来创建子接口。sub-interface number代表物理接口内的逻辑接口通道。
dot1q termination vid命令用来配置子接口dot1q封装的单层VLAN ID。缺省情况,子接口没有配置dot1q封装的单层VLAN ID。本命令执行成功后,终结子接口对报文的处理如下:接收报文时,剥掉报文中携带的Tag后进行三层转发。转发出去的报文是否带Tag由出接口决定。发送报文时,将相应的VLAN信息添加到报文中再发送。
arp broadcast enable命令用来使能终结子接口的ARP广播功能。缺省情况下,终结子接口没有使能ARP广播功能。终结子接口不能转发广播报文,在收到广播报文后它们直接把该报文丢弃。为了允许终结子接口能转发广播报文,可以通过在子接口上执行此命令。
配置验证
配置完成单臂路由后,可以使用ping命令来验证主机之间的连通性。如上所示,VLAN2中的主机A(IP地址:192.168.2.1)可以Ping通VLAN3中的主机B(IP地址:192.168.3.1)。
配置三层交换
在三层交换机上配置VLAN路由时,首先创建VLAN,并将端口加入到VLAN中。
配置三层交换
interface vlanif vlan-id命令用来创建VLANIF接口并进入到VLANIF接口视图。vlan-id表示与VLANIF接口相关联的VLAN编号。VLANIF接口的IP地址作为主机的网关IP地址,和主机的IP地址必须位于同一网段。
配置验证
配置三层交换后,可以用ping命令验证主机之间的连通性。如上所示,VLAN2中的主机A(IP地址:192.168.2.2)可以Ping通VLAN3中的主机B(IP地址:192.168.3.2)。
总结
1. dot1q termination vid vlan-id命令有两个功能。第一个功能是删除VLAN标签。接口在收到VLAN报文后,剥掉报文中携带的Tag后进行三层转发。第二个功能是添加VLAN标签。接口在发送报文时,将相应的VLAN信息添加到报文中再发送。
2. 必须把接口配置成Trunk口,并允许相应VLAN的数据通过。