4.4.2 不同VLAN之间的数据转发
若要实现VLAN间的通信,就必须为VLAN设置路由,可使用路由器或三层交换机来实现。
1.使用单臂路由实现不同VLAN之间的数据转发
对于没有路由功能的二层交换机,若要实现VLAN间的相互通信,就要借助外部的路由器(单臂路由)来为VLAN指定默认路由。此时路由器的快速以太网接口与交换机的快速以太网端口,应以Trunk链路的方式相连,并在路由器的快速以太网接口上,为每一个VLAN创建一个对应的逻辑子接口,同时设置逻辑子接口的IP地址,该IP地址以后就成为该VLAN的默认网关(路由)。由于这些逻辑子接口是直接连接在路由器上的,一旦每个逻辑子接口设置了IP地址,路由器就会自动在路由表中为各VLAN添加路由,从而实现VLAN间的路由转发,如图4-8所示。
图4-8 同一VLAN不同交换机之间的数据转发
当路由器的一个接口连接的交换机有多个VLAN时,这多个VLAN通过路由器进行不同VLAN之间的通信,产生一个链路连接多个子网的单臂路由结构。因此,有几个VLAN就必须建立几个逻辑子接口,给每个逻辑子接口配置IP地址,并与相关的VLAN建立关联,指定交换机与路由器之间链路的封装协议。单臂路由的具体配置步骤如下:
(1)先启动原路由器的接口,并清除IP地址。
(2)配置子接口,子接口号10自定,配置子接口的IP地址为192.168.2.1,并启用。
(3)指定封装协议为802.1Q,并与VLAN关联。命令为enc dot1q VLAN号,2为VLAN号。
如果路由器的两个或多个接口分别连接不同的二层交换机,每台二层交换机都划分了多个VLAN,则在路由器的每个接口上定义单臂路由,使所有二层交换机不同的VLAN之间相互通信。路由器的不同接口所连接的不同交换机的VLAN必须不同,如f1/0所连接的SW1的VLAN是10、20,f1/1所连接SW2的VLAN是30、40,而不能有相同的VLAN 10、20,否则同一子网在路由器的不同的接口上,而这是不允许的,因为路由器的接口必须连接不同的网络,路由器的功能就是实现不同网络之间的数据转发。
由于路由器的接口较少,这种方式连接的下级二层交换机数量有限,从而网络数量也有限,因此,实际应用中多采用三层交换机取代路由器,完成多个网络之间的数据转发。
2.使用三层交换机实现不同VLAN之间的数据转发
和物理网络一样,一个VLAN通常和一个IP子网联系在一起。所有在同一个IP子网中的主机属于同一个VLAN,VLAN之间的通信可以通过三层设备(路由器或者三层交换机)。使用三层交换机来配置VLAN和提供VLAN间的通信,比使用路由器更好,配置和使用也更方便,如图4-8所示。
三层交换机与二层交换机之间的连接有多种方式,可以定义三层交换机的连接口为以下几种情况。
(1)三层路由口(Routed Port):它相当于一个路由器的物理接口,通过no switchport命令把一个三层交换机的接口设为三层接口而非默认时的二层接口。在三层交换机上,每个接口都可以定义为三层路由口,为其配置IP地址,连接某一个网络,通常采用此方式,与二层交换机的连接,二层交换机仅属于同一VLAN,三层交换机的三层路由口作为此VLAN的网关接口。
(2)Trunk口:也可以将多个二层接口汇聚成一个逻辑接口,再使此汇聚口为Trunk口,这样下连的二层交换机可以定义多个VLAN,这多个VLAN通过相互间连接的Trunk口到达三层交换机。在三层交换机中定义虚拟交换接口(SVI),也就是各VLAN的网关,从而通过三层交换机的路由模块,实现不同的VLAN间转发数据。
锐捷的三层交换机可以通过SVI(Switch Virtual Interface)接口来进行VLAN之间的IP路由。通过Interface VLAN接口配置命令来创建一个SVI接口,然后给SVI接口分配一个IP地址,此IP地址就是这个VLAN中所有主机的默认网关,从而建立VLAN之间的路由。
(3)三层模式下的聚合链路(L3 Aggregate Link):它将多个三层接口进行聚合,成为一个逻辑的三层接口,再将此聚合成的逻辑接口定义为三层口,并指定其IP地址。
(4)Access接口:如果将三层交换机与二层交换机之间的连接口定义为Access接口,则下连的二层交换机必须属于同一VLAN,与此Access接口的VLAN相同。
类似地,三层交换机与三层交换机之间的连接也有多种方式。
(1)三层路由口(Routed Port):上下均为三层接口,属于同一网段,它相当于两个路由器互连,通常要通过三层路由协议达到两台三层交换机之间的不同网络相互通信。
(2)Trunk口:也可以将多个二层接口聚合成一个逻辑接口,再使此聚合口为Trunk口,这样下连的三层交换机相当于一台二层交换机,配置简单。但如果VLAN较多,此链路容易堵塞。
(3)三层模式下的聚合链路:它将多个三层接口进行聚合,成为一个逻辑的三层接口,再给此聚合成的逻辑接口定义为三层接口,并指定其IP地址,这种方式同三层路由口,相当于两台路由器互连,只不过增加了链路的带宽。
(4)Access接口:两个三层交换机的Access接口属于同一VLAN,且下连的三层交换机都属于此VLAN,否则,其他VLAN的数据不能到达此Access接口。