一、单臂路由
1、单臂路由概述
单臂路由(router-on-a-stick)是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。
对于 VLAN 的链路类型:
- 交换机连接主机的端口为access链路
- 交换机连接路由器的端口为Trunk链路
- 路由器的三层接口不能配置为交换机的链路类型trunk
在路由器上划分子接口:
- 路由器的物理接口可以被划分成多个逻辑接口
- 每个子接口对应一个VLAN网段的网关
2、单臂路由原理
路由器重新封装MAC地址、转换VLAN标签
以上图为例,PC0需要发送数据给PC1,发现PC1和自己不是同一个网段,这时将数据交给自己的网关,网关为路由器0的F0/0.1子接口,通过ARP协议获取自己网关的MAC地址,数据会通过交换机进行转发。
到了交换机之后,会为收到的数据打上vlan标签10,将数据传到路由器0,路由器0收到数据,集合路由器的工作原理,查看目的IP地址,找到对应接口,再进行标签转换,再发送到交换机,这时交换机收到的就是打上vlan20标签数据,根据交换的mac地址表的对应关系直接转发。
3、单臂路由的配置
1、配置PC1和PC2的TCP/IP参数
2、配置交换机LSW1:
<Huawei>sys #进入系统视图
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info en #关闭提示信息
Info: Information center is disabled.
[Huawei]vlan batch 10 20 #创建VLAN10和VLAN20
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei]int e0/0/1 #进入e0/0/1接口
[Huawei-Ethernet0/0/1]port link-type access #配置接口类型为access
[Huawei-Ethernet0/0/1]port default vlan 10 #配置接口的缺省VLAN并同时加入VLAN10
[Huawei-Ethernet0/0/1]int e0/0/2
[Huawei-Ethernet0/0/2]port link-type access
[Huawei-Ethernet0/0/2]port default vlan 20
[Huawei-Ethernet0/0/2]int e0/0/3
[Huawei-Ethernet0/0/3]port link-type trunk #配置接口类型为trunk
[Huawei-Ethernet0/0/3]port trunk allow-pass vlan 10 20 #配置trunk类型接口可以承载VLAN10和VLAN20
3、在路由器AR1配置单臂路由,实现PC1和PC2互通
<Huawei>sys
[Huawei]undo info en
[Huawei]int g0/0/0.10 #交换机可以子接口划分,直接进入子接口0.10,建议与vlan一致
[Huawei-GigabitEthernet0/0/0.10]dot1q termination vid 10 #配置vlan封装结构,(dot1q为IEEE802.1q协议,该子接口属于vlan10)
[Huawei-GigabitEthernet0/0/0.10]ip address 192.168.10.1 24 #为该子接口添加ip地址(即vlan10下面所属主机的网关地址)
[Huawei-GigabitEthernet0/0/0.10]arp broadcast enable #开启向下arp广播请求功能
[Huawei-GigabitEthernet0/0/0.10]int g0/0/0.20 #进入子接口0.20,建议与对应的vlan一致
[Huawei-GigabitEthernet0/0/0.20]dot1q termination vid 20
[Huawei-GigabitEthernet0/0/0.20]ip address 192.168.20.1 24
[Huawei-GigabitEthernet0/0/0.20]arp broadcast enable
4、用PC2去PingPC1
4、单臂路由的缺点
- “单臂”为网络骨干链路,容易形成网络瓶颈
- VLAN间转发需要查看路由表,严重浪费设备资源
- 子接口依然依托于物理接口,应用不灵活
二、三层交换
1、三层交换技术的引入
由于单臂路由是采用在路由器上划分子接口的方式,子接口是依托于物理接口,所有的vlan流量都会通过一个物理接口进行转发,这样物理接口的压力过大,从而容易造成网络拥塞,所以才引入三层交换技术实现不同间的VLAN通信。
三层交换技术就是:二层交换技术+三层转发技术。它解决了局域网中网段划分之后,网段中子网必须依赖路由器进行管理的局面,解决了传统路由器低速、复杂所造成的网络瓶颈问题。
2、三层交换机转发原理
1)、传统的MLS(多层交换)
当三层设备接收到一个数据帧,会拆除原数据帧,重新封装新的源MAC地址和目标MAC地址,并且因为帧头部的信息发生变化,最后的帧校验CRC也应当随之改变。在这个流中的多个数据包,其中只有第一个数据包是由三层交换机的三层引擎来处理的,处理的方式是软件方式。
与路由器相同,三层引擎获取了新的2层封装信息后路由这个数据包。在第一个数据包转发完成后,在硬件中创建一个MLS条目,用于后续的数据包由硬件执行的重新封装和快速转发。2层数据帧会被重新封装为需要转发的下一个网段的帧格式。这就是MLS“一次路由,多次交换"的原理。
- 三层交换机上,第3层引擎处理数据流的第一个包
- 交换ASIC从3层引擎中获悉2层重写信息在硬件中创建一个MLS条目,负责重写和转发数据流中的后续数据包
2)、基于CEF的MLS
基于CEF (一种基于拓扑转发的模型)的MLS, 其关键是两张转发信息表,转发信息库(FIB) 与路由表一一对应,是路由表的一个镜像。路由表更新时,FIB随之变化,其中FIB包含邻接主机的IP地址与VLAN ID的对应关系。而邻接关系表包含邻接主机和交换机MAC地址的对应关系用来提供二层重写信息。
基于CEF的MLS转发过程,即发送单播数据包,通过查找FIB和邻接关系表,重新封装数据帧,从相应端口进行转发。
3、虚接口引入(三层交换机VLAN间通信的转发过程)
1)、三层交换机上接口属于不同VLAN
主机A发送数据给主机B,主机A是属于VLAN 10的,主机B是属于VLAN 20,主机A发送数据进入三层交换机的vlan 10接口,引入三层交换机的vlan 10虚接口,由vlan 10虚接口转发到vlan 20虚接口,再通过属于vlan 20的物理接口转发出去。
2)、三层交换机上所有接口属于trunk接口
主机A发送数据给主机C,主机A属于vlan10,主机C属于vlan30,三层交换机所有接口都属于trunk,三层交换机所有接口能够接收并转发所有vlan数据,主机A的数据通过trunk进来后,拆除标签,根据目的IP发现是需要发往vlan30的数据,打上vlan30的标签,通过trunk接口转发出去,下面肯定是需要有一个二层交换机进行接收,二层交换机收到数据后拆除标签,发往vlan30的主机。
4、三层交换的配置
- 在三层交换机上配置VLAN接口为虚接口
当在交换机上创建了对应的vlan,自动生成了对应的虚接口,交换机上的默认虚接口是vlan1,对应的虚接口就直接作为对应vlan的网关
<Huawei>sys
[Huawei]interface vlan 10 #进入虚接口(需要提前创建VLAN)
[Huawei-Vlanif10]ip address 192.168.10.1 24 #配置虚拟口的IP
- 实验案例
配置三层交换的步骤:
1、在二层交换机创建VLAN,将接口加入对应VLAN
2、二层交换机和三层交换机连接的接口需要承载多个VLAN
3、三层交换机和二层交换机连接的借楼需要承载多个VLAN
4、三层交换机引入虚接口
1、静态配置PC3和PC4的TCP/IP参数
2、配置二层交换机LSW3
<Huawei>system
[Huawei]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei]int e0/0/1
[Huawei-Ethernet0/0/1]port link-type access
[Huawei-Ethernet0/0/1]port default vlan 10
[Huawei-Ethernet0/0/1]int e0/0/2
[Huawei-Ethernet0/0/2]port link-type access
[Huawei-Ethernet0/0/2]port default vlan 20
[Huawei-Ethernet0/0/2]int e0/0/3
[Huawei-Ethernet0/0/3]port link-type trunk
[Huawei-Ethernet0/0/3]port trunk allow-pass vlan 10 20
3、配置三层交换机
<Huawei>sys
[Huawei]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
[Huawei-GigabitEthernet0/0/1]int vlan 10 #进入虚接口vlan 10并设置IP地址(即vlan10下面所属主机的网关地址)
[Huawei-Vlanif10]ip add 192.168.10.254 24
[Huawei-Vlanif10]int vlan 20 #进入虚接口vlan 20并设置IP地址(即vlan20下面所属主机的网关地址)
[Huawei-Vlanif20]ip add 192.168.20.254 24
4、用PC3去PingPC4