单臂路由
单臂路由指,在一个路由器接口上配多个子接口(或"逻辑接口"),来实现不同vlan(虚拟局域网)之间的互联互通。
单臂路由实现不同vlan下通信
链路类型
- 交换机连接主机的端口为access链路
- 交换机连接路由器的端口为Trunk链路

实验

接口e0/0/1设置为access模式、加入vlan10;
接口e0/0/2设置为access模式 、加入vlan20;
接口e0/0/3设置为trunk模式,允许所有vlan通过该接口。
在交换机中创建VLAN,将端口加入到相应的VLAN中。
创建vlan10和vlan20;
接口e0/0/1设置为access模式、加入vlan10;
接口e0/0/2设置为access模式 、加入vlan20;
接口e0/0/3设置为trunk模式,允许所有vlan通过该接口。
csharp
<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 //将该接口加入vlan10
[Huawei-Ethernet0/0/1]undo shutdown //开启接口
Info: Interface Ethernet0/0/1 is not shutdown.
[Huawei-Ethernet0/0/1]int e0/0/2 //进入接口e0/0/2
[Huawei-Ethernet0/0/2]port link-type access //设置接口模式为access模式
[Huawei-Ethernet0/0/2]port default vlan 20 //将该接口加入vlan20
[Huawei-Ethernet0/0/2]undo shutdown //开启接口
Info: Interface Ethernet0/0/2 is not shutdown.
[Huawei-Ethernet0/0/2]int e0/0/3 //进入接口e0/0/2
[Huawei-Ethernet0/0/3]port link-type trunk //设置接口模式为trunk模式
[Huawei-Ethernet0/0/3]port trunk allow-pass vlan all //允许所有vlan通过该接口
在路由器中配置VLAN标签的封装结构和子接口地址。
将接口g0/0/0划分为两个子接口:g0/0/0.10、g0/0/0.20,建议与vlan一致;
分别为两个子接口配置VLAN标签的封装结构和子接口地址。
csharp
The device is running!
<Huawei>sys //切换至系统试图
Enter system view, return user view with Ctrl+Z.
[Huawei]int g0/0/0.10 //划分子接口,直接进入子接口0/0/0.10,建议与vlan一致
[Huawei-GigabitEthernet0/0/0.10]dot1q termination vid 10 //配置vlan封装结构(dot1q为IEEE802.1q协议,该子接口属于vlan10)
[Huawei-GigabitEthernet0/0/0.10]ip add 192.168.10.1 24 //设置子接口的IP地址(即vlan10下面所属主机的网关地址)
[Huawei-GigabitEthernet0/0/0.10]arp broadcast enable //开启向下arp广播请求功能
[Huawei-GigabitEthernet0/0/0.10]undo shutdown //开启接口
Info: Interface GigabitEthernet0/0/0.10 is not shutdown.
[Huawei-GigabitEthernet0/0/0.10]int g0/0/0.20 //进入子接口0/0/0.20,建议与vlan一致
[Huawei-GigabitEthernet0/0/0.20]dot1q termination vid 20 //配置vlan封装结构,该子接口属于vlan20
[Huawei-GigabitEthernet0/0/0.20]ip add 192.168.20.1 24 //设置子接口的IP地址(即vlan20下面所属主机的网关地址)
[Huawei-GigabitEthernet0/0/0.20]arp broadcast enable //开启向下arp广播请求功能
[Huawei-GigabitEthernet0/0/0.20]undo shutdown //开启接口
验证实验结果,查看两台主机之间能否相互通信。
单臂路由的缺陷
- "单臂"为网络骨干链路,容易形成网络瓶颈
- 子接口依然依托于物理接口,应用不灵活
- VLAN间转发需要查看路由表,严重浪费设备资源
三层交换机
层交换机
要实现van间通信,就需要路由,解决办法要么是二层交换机加路由器形成单臂路由,要么就是直接使用三层交换机。
单臂路由缺点
①"单臂"为网络骨干链路,容易形成网络瓶颈。
②子接口依托于物理接口,应用不灵活。
③van间转发需要查看路由表,浪费资源。所以就需要三层交换机来实现。
三层交换机
三层交换机、本质上就是"带有路由功能的(二层)交换机"。路由属于OSI参考模型中第三层网络层功能,因此被称为"三层交换机"。
原理
当三层设备接收到一个数据帧,会拆除源数据帧,重新封装新的源MAC地址和目标MAC地址,并且因为帧头部的信息发生变化,最后校验CRC也应当随之改变。 在这个数据流中的多个数据包,其中只有第一个数据包是由三层交换的三层引擎来处理的,处理方式是软件方式,与路由器相同,三层引擎获取了新的2层封装信息后,路由这个数据包。

csharp
lsw1
vlan batch 10 20 30
int e0/0/1
p l a #设置接口模式为access模式
p d v 10 # vlan 10
int e0/0/2
p l a
p d v 20
int e0/0/3
p l a
p d v 30
int g0/0/1
p l t #连接三层交换机
port trunk allow-pass vlan 2 to 4094
lsw2
vlan batch 10 20 30 100
int g0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
int g0/0/2
p l a
p d v 100
int vlanif 10 #进入虚拟vlan端口
ip add 192.168.1.254 24 # 设置虚拟网关
int vlanif 20
ip add 192.168.2.254 24
int vlanif 30
ip add 192.168.3.254 24
int vlanif 100
ip add 192.168.4.1 24
ip route-static 192.168.5.0 24 192.168.4.2 #静态路由
R1
int g0/0/0
ip add 192.168.4.2 24
int g0/0/1
ip add 192.168.5.254 24
ip route-static 0.0.0.0 0.0.0.0 192.168.4.1
总结:
单臂路由三层交换机都可以实现VLAN之间的通信
单臂路有工作原理:路由器重新封装MAC地址,转换VLANID
三层交换机:一次路由,多次交换
一次路由:数据流的第一个数据包由三层引擎来处理,重新封装MAc,再路由转发数据包
多次交换:第一个数据包转发后,会在硬件创建一个MSL条目,MSL包含FIB(转发信息库:包含邻接主机IP和vlanid)、邻接关系表(包含邻接主机MAC地址),通过查询FIB和邻接关系表重新封装数据帧,从相应端口转发数据
三层交换机具有路由功能可转发数据,ip地址是配置在虚接口上而不是物理接口上,物理接口对接交换机配置trunk,对接pc机配合access