1引言
在前两节课的学习中,我们了解了VLAN及Trunk的作用,不同VLAN之间虽没有广播需求但仍有单播通信需求。对数据传输过程中分析发现,阻止不同VLAN之间通信的是交换机里的VLAN表,本节课程主要是分析如何实现不同VLAN之间的通信。
类似于路由器实现了不同网段之间的通信,如何创建虚拟的路由器端口来连接各个虚拟的局域网呢?实现不同VLAN间的通信,靠单臂路由。
2单臂路由
2.1路由器子接口
- 功能:
- 子接口功能与物理接口一致,仅稳定性不如物理接口,当一个接口分化出子接口后,自身无法再被使用。
- 属于3层接口,具备2层接口功能。
- 工作层级:工作于OSI模型第3层。
- 不同子接口的MAC地址与父接口相同。
- 例子:如下图,当路由器F0/0接口设置为两个子接口f0/0.1及f0/0.2时,其本身不再发挥网关作用,由子接口各自承担各自网段的网关功能,绑定各自网段的网关IP。同时,路由器接口属于3层设备,具备2层设备接口识别Trunk标及VLAN的能力,对于子接口f0/0.1,需要能封装与解封装VLAN10的标签,其他标签则丢弃,对于子接口f0/0.2同理。
2.2工作原理
- 当IT人员A对人事人员B通信时,首先判读目标IP地址与自身IP地址是否处于同一网段,发现不一致,需要找网关,(广播得到f0/0.1的MAC地址)将“网关MAC、自身MAC、类型;IP包头;数据……”等封装成数据帧,发送到交换机f0/1接口。
- 交换机从f0/1接口收到数据帧,对数据帧封装上VLAN10标签,识别MAC并匹配MAC地址表,发送给f0/24接口。
- 交换机f0/24是Trunk接口,不对数据帧上的VLAN10标签进行处理,转发出去。
- 路由器子接口f0/0.1收到了来自交换机的数据帧,发现是VLAN10标签去掉标签,检查数据帧目标MAC是否是自己,是则将数据送到路由器内部。
- 路由器检查路由表是否有数据帧中的目标IP所在网段,有则路由到该接口,即子接口f0/0.2。
- 子接口f0/0.2接受到数据帧,打上VLAN20标签,(广播得到B的MAC地址)将“B的MAC、自身MAC、类型;IP包头;数据……”等封装成数据帧,发送到交换机f0/24接口。
- 交换机f0/24接口收到数据帧,检查数据帧标签发现是VLAN20,检查数据帧MAC地址并匹配MAC地址表,发现是要将数据发送到f0/2接口,检查发现该接口同属于VLAN20,去掉标签,发送数据帧。
- B收到数据帧,发现目标MAC及目标IP均是自己,解封装上传至OSI上层。
- 至此,网络内部各成员间又能相互通信,但相比于未设置VLAN的网络,其最大的意义在于广播被控制在VLAN内部。
3单臂路由实验
按上述网络拓补图进行实验,命令如下:
'''PC端IP配置'''
手动配置IP地址、子网掩码、网关
'''对交换机进行设置'''
#对交换机接口进行VLAN及Trunk设置
en
conf t
ho SW1
vlan 10
exit
vlan 20
exit
int f0/1
switchport access vlan 10 #将接口f0/1划分至VLAN10。
exit
int f0/2
switchport access vlan 20 #将接口f0/2划分至VLAN20。
do show vlan brief #查看vlan表配置结果
int f0/24
Switchport mode trunk #设置该接口为Tunck
do write
'''对路由器进行设置'''
en
conf t
int f0/0
no shut #总接口开启后,其下子接口才能开启
exit
int f0/0.1 #对f0/0创建第1个子接口,回车进入该子接口配置模式
no shut #开启子接口
encapsulation dot1q 10 #封装与解封装VLAN10
ip add 10.1.1.254 255.255.255.0 #与实际接口类似,该子接口是10.1.1.0网段的虚拟网关
exit
int f0/0.2 #对f0/0创建第2个子接口
no shut
encapsulation dot1q 20 #封装与解封装VLAN20
ip add 20.1.1.254 255.255.255.0 #与实际接口类似,该子接口是20.1.1.0网段的虚拟网关
exit
#功能检查
do show ip int b #查看接口列表信息
do show ip route #查看路由表,该实验仅有两个网段以直连路由形式出现,故无需手动配置。
'''IT尝试ping人事'''
ping通
4总结
- 了解单臂路由的作用。
- 掌握理解单臂路由的工作原理,重点理解子接口的工作内容。
- 掌握相关命令。