【IT168技术】在交换机上划分VLAN 后,VLAN 间的计算机就无法通信了。VLAN 间的通信需要借助第三层设备,我们可以使用路由器来实现这个功能,如果使用路由器通常会采用单臂路由模式。实践上,VLAN 间的路由大多是通过三层交换机实现的,三层交换机可以看成是路由器加交换机,然而因为采用了特殊的技术,其数据处理能力比路由器要大得多。VLAN间路由主要有单臂路由和三层交换两种解决方案。
物理接口和子接口
使用物理接口的传统 VLAN 间路由具有一定的局限性。随着网络中 VLAN 数量的增加,每个 VLAN 配置一个路由器接口的物理方式将受到路由器物理硬件的局限。路由器用于连接不同 VLAN 的物理接口数量有限。因此子接口便是最好的选择。
物理接口和字接口的区别:
单臂路由
处于不同VLAN 的计算机即使它们是在同一交换机上,它们之间的通信也必须使用路由器。可以在每个VLAN 上都有一个以太网口和路由器连接。采用这种方法,如果要实现N 个VLAN 间的通信,则路由器需要N 个以太网接口,同时也会占用了N 个交换上的以太网接口。单臂路由提供了一种解决方案。
路由器只需要一个以太网接口和交换机连接,交换机的这个接口设置为Trunk 接口。在路由器上创建多个子接口和不同的VLAN 连接,子接口是路由器物理接口上的逻辑接口。如图11-1,当交换机收到VLAN1 的计算机发送的数据帧后,从它的Trunk 接口发送数据给路由器。
由于该链路是Trunk 链路,帧中带有VLAN1的标签,帧到了路由器后,如果数据要转发到VLAN2 上,路由器将把数据帧的VLAN1 标签去掉,重新用VLAN2 的标签进行封装,通过Trunk 链路发送到交换机上的Trunk 接口;交换机收到该帧,去掉VLAN2 标签,发送给VLAN2 上的计算机,从而实现了VLAN 间的通信。
单臂路由的缺点:
VLAN 之间的通信需要路由器来完成
数据量增大,路由器与交换机之间的通道会成为整个网络的瓶颈:
▲单臂路由示意
单臂路由配置中用到的命令:
创建子接口
Interface F0/0.1
指明子接口承载哪个VLAN 的流量以及封装类型,同时该VLAN 是native vlan
encapture dot1q 1 native
三层交换
采用单臂路由实现VLAN 间的路由时转发速率较慢,在实际工作中多在局域网内部采用三层交换的方式实现VLAN间路由。由于三层交换机采用硬件来实现路由,所以其路由数据包的速率是普通路由器的几十倍。从使用者的角度可以把三层交换机看成是二层交换机和路由器的组合,现在Cisco 主要采用CEF 的三层交换技术。
在CEF 技术中,交换机利用路由表形成转发信息库(FIB),FIB 和路由表是同步的,关键的是它的查询是硬件化,查询速度快得多。除了FIB,还有邻接表(Adjacency Table),该表和ARP 表有些类似,主要放置了第二层的封装信息。
FIB 和邻接表都是在数据转发之前就已经建立准备好了,这样一有数据要转发,交换机就能直接利用它们进行数据转发和封装,不需要查询路由表和发送ARP 请求,所以VLAN 间的路由速率大大提高。如下图所示:
三层交换解决VLAN间路由中用到的命令:
打开路由功能:ip routing
接口不作为交换机接:no switchport