我们今天学习的三层交换的出现,解决了局域网中网段划分之后,网段中子网必须依赖路由器进行管理的局面,从而缓解了由于路由器负担过重而造成的网络瓶颈问题。
想要理解三层交换首先需要了解“虚接口”机制:
由此我们可以引出三层交换的概念:
当三层设备接收到一个数据帧,会拆除原数据帧,重新封装新的源MAC地址和目标MAC地址,并且因为帧头部的信息发生变化,最后的帧校验CRC也应当随之改变。
在这个流中的多个数据包,其中只有第一个数据包是由三层交换机的三层引擎来处理的,处理的方式是软件方式,与答单臂路由工作方式相同,三层引擎获取了新的二层封装信息后,路由转发这个数据包。
在第一个数据包转发完成后,在硬件中创建一个MLS条目,用于后续的数据包由硬件执行的重新封装和快速转发。二层数据帧会被重新封装为需要转发的下一个网段的帧格式。这就是MLS “一次路由,多次交换 ” 的原理
【
工作原理:
一次路由:第一个数据包是由三层交换机的三层路由引擎进行转发的。(与单臂路由工作原理相同:重新封装MAC地址与转换VLAN标签)
多次交换:从第一个数据包之后,都是由二层交换机硬件转发, 硬件转发又是通过第一次路由转发时获悉的的重写信息在硬件中创建的 MLS条目。
】
基于CEF(一种基于拓扑转发的模型)的MLS,其关键是两张转发信息表,转发信息库(FIB)与路由表一一对应,是路由表的一个镜像。路由表更新时,FIB随之变化,其中FIB包含邻接主机的IP地址与VLANID的对应关系。而邻接关系表包含邻接主机和交换机MAC地址的对应关系用来提供二层重写信息。
基于CEF的MLS转发过程,即发送单播数据包,通过查找FIB和邻接关系表,重新封装数据帧,从相应端口进行转发。
在三层交换机上配置的VLAN接口为虚接口
一个是三层交换机可以配置多个虚接口。
三层交换机配置的命令:
interface vlanif 10 #配置虚接口
ip address 192.168.10.1 24
#端口自动激活,不用执行un sh
display ip interface brief
[SW1]vlan batch 10 20 30
[SW1]int g0/0/1
[SW1-GigabitEthernet0/0/1]p l a
[SW1-GigabitEthernet0/0/1]p d v 10
[SW1-GigabitEthernet0/0/1]int g0/0/2
[SW1-GigabitEthernet0/0/2]p l a
[SW1-GigabitEthernet0/0/2]p d v 20
[SW1-GigabitEthernet0/0/2]int g0/0/3
[SW1-GigabitEthernet0/0/3]p l a
[SW1-GigabitEthernet0/0/3]p d v 30
[SW1-GigabitEthernet0/0/3]q
[SW1]int Vlanif 10
[SW1-Vlanif10]ip address 192.168.10.1 24
[SW1-Vlanif10]int Vlanif 20
[SW1-Vlanif20]ip address 192.168.20.1 24
[SW1-Vlanif20]int Vlanif 30
[SW1-Vlanif30]ip address 192.168.30.1 24
[SW1-Vlanif30]q
[SW1]dis ip routing-table
[SW1]dis ip int brief
PC1配置:192.168.10.10 网关为:192.168.10.1
PC2配置:192.168.20.20 网关为:192.168.20.1
PC3配置:192.168.30.30 网关为:192.168.30.1
实验结果:
三个不同VLAN之间的主机可以相互ping通。
在实验一的基础上,增加两台路由器 AR1 和 AR2,使不同VLAN100内的 PC4 可以和其他三个VLAN之间的主机进行通信。
配置重点:SW1 与 R1 配置时,三层交换机SW1都是在虚接口上配置的,如 int vlanif 100 ,然后在虚接口上配置网关。而三层交换机下又有三个网关,R1配置非直连静态路由时,都需要配置。
配置步骤:
【R1】
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 10.0.0.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 12.0.0.1 24
[R1-GigabitEthernet0/0/1]q
#跨网关需要配置静态路由
[R1]ip route-static 192.168.10.0 24 10.0.0.254
[R1]ip route-static 192.168.20.0 24 10.0.0.254
[R1]ip route-static 192.168.30.0 24 10.0.0.254
[R1]ip route-static 192.168.100.0 24 12.0.0.2
【R2】
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.100.1 24
[R2-GigabitEthernet0/0/0]un sh
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 12.0.0.2 24
[R2-GigabitEthernet0/0/1]q
#跨网关需要配置默认路由
[R2]ip route-static 0.0.0.0 0.0.0.0 12.0.0.1
【三层交换机 SW1】
[SW1]vlan 100
[SW1-vlan100]int vlanif 100
[SW1-Vlanif100]ip add 10.0.0.254 24
[SW1-Vlanif100]int g0/0/4
[SW1-GigabitEthernet0/0/4]p l a
[SW1-GigabitEthernet0/0/4]p d v 100
[SW1-GigabitEthernet0/0/4]q
#跨网关需要配置默认路由
[SW1]ip route-static 0.0.0.0 0.0.0.0 10.0.0.1
PC4配置:192.168.100.100 网关为:192.168.100.1
实验结果:
四个不同VLAN之间的主机可以相互ping通。