首先回忆下vlan间数据传输的三种端口模式各自代表的含义:
Access 类型的端口只能属于1个VLAN,一般用于连接计算机的端口,也可以连接交换机和交换机。
Trunk 类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,trunk口一般用于连接两台交换机,这样可以只用一条trunk连接实现多个vlan的扩展。对于trunk口发送出去的报文,只有默认vlan的报文不带vlan ID,其它vlan的报文都要带vlan ID(要不然,对端的交换机不知道该报文属于哪个vlan,无法处理,也就不能实现vlan跨交换机扩展了)。简而言之,trunk端口的设计目的就是通过一条连接实现多个vlan的跨交换机扩展。
Hybrid 类型的端口可以实现比trunk端口更多的功能,trunk端口是hybrid端口的真子集。可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。hybrid端口可以加入多个vlan,并可以设置该vlan的报文通过该端口发送是否带vlan ID(trunk端口不能设置,只有默认vlan的报文不带vlan ID进行发送)。
以下配合每个端口模式在eNSP模拟器上模拟的实验:
一、Trunk Access链路端口混合模式案例
由于Access链路类型端口是单一VLAN,而且连接计算机的,所以跟Trunk链路类型端口合并成一个案例,节约大家学习时间。
通过配置使都在vlan2的PC1和PC2互通,同vlan3的PC3和PC4互通。
SwitchA配置命令:
<Huawei>system-view
[Huawei]sysname SwitchA
[SwitchA]vlan batch 2 3 //批量创建VLAN,也可以分两次创建VLAN 2 VLAN 3
[SwitchA]int vlanif 2
[SwitchA-Vlanif2]ip address 192.168.100.1 255.255.255.0
[SwitchA-Vlanif2]quit
[SwitchA]int vlanif 3
[SwitchA-Vlanif3]ip address 192.168.200.1 255.255.255.0
[SwitchA-Vlanif3]quit
[SwitchA] int G0/0/1
[SwitchA-GigabitEthernet0/0/1]port link-type access //与连接PC1的端口链路类型设置为access
[SwitchA-GigabitEthernet0/0/1]port default vlan 2 //将端口G0/0/1加入vlan 2
[SwitchA-GigabitEthernet0/0/1]int G0/0/2 // 可以直接跳入G0/0/2 ,新手可以先quit到系统视图
[SwitchA-GigabitEthernet0/0/2] port link-type access //与连接PC2端口链路类型设置为access
[SwitchA-GigabitEthernet0/0/2] port default vlan 3 //将端口GE1/0/2加入vlan3
[SwitchA] int G0/0/3
[SwitchA-GigabitEthernet0/0/3] port link-type trunk //因为有vlan2 vlan3两个vlan,将交换机互联的端口链路类型设置为trunk
[SwitchA-GigabitEthernet1/0/3] port trunk allow-pass vlan 2 3 //将端口G0/0/3加入vlan2和vlan 3
SwitchB和SwitchA的配置差不多,大家参考SwitchA的配置文件。
将PC1和PC2配置在一个网段,比如192.168.100.2/24和192.168.100.3/24,网关皆为192.168.100.1;
将PC3和PC4配置在一个网段,比如192.168.200.2/24和192.168.200.3/24,网关皆为192.168.200.1;
测试结果:PC1可以与PC2ping通,PC3可以与PC4ping通。
PC1 ping通 PC2
PC3 ping通 PC4
二、Hybrid链路类型端口案例
上篇文章有朋友提到Hybrid链路类型端口模式功能非常强大而且相当复杂,今天下午复习了下,确实在很多方面变现出它的先进性。
使用Hybrid链路类型配置让PC3与PC1、PC2互通,PC1与PC2之间不通。
LSW1配置命令:
<Huawei>system-view
[Huawei]sysname LSW1
[LSW1]vlan batch 2 3 99
[LSW1]int g0/0/1
[LSW1-GigabitEthernet0/0/1]undo port hybrid vlan 1
[LSW1-GigabitEthernet0/0/1]port hybrid tagged vlan 99
[LSW1-GigabitEthernet0/0/1]port hybird untagged vlan 2 3
[LSW1-GigabitEthernet0/0/1]int g0/0/2
[LSW1-GigabitEthernet0/0/2]undo port hybrid vlan 1
[LSW1-GigabitEthernet0/0/2]port hybrid pvid vlan 2
[LSW1-GigabitEthernet0/0/2]port hybird untagged vlan 2 99
[LSW1-GigabitEthernet0/0/2]int g0/0/3
[LSW1-GigabitEthernet0/0/3]undo port hybrid vlan 1
[LSW1-GigabitEthernet0/0/3]port hybrid pvid vlan 3
[LSW1-GigabitEthernet0/0/3]port hybird untagged vlan 3 99
[LSW1-GigabitEthernet0/0/3]quit
SwitchB和SwitchA的配置差不多,大家参考SwitchA的配置,再次不再累赘。
PC1、PC2和PC3的IP地址分别顺序设置为192.168.1.1/24、192.168.1.2/24、192.168.1.3/24,网关不填。
测试结果为:
这里有必要对Hybrid原理解释一下:
1、pvid这个属性只针对进入该端口的!没有标签的!普通的!数据包有效,作用是将没有标签的普通数据包打上pvid中配置的标签号;
2、hybrid属性中,tag是针对于端口的接收方向的(从该端口进来的流量允许带有这些vlan标签的通过),untag是针对端口的发送方向的(从该端口出去的流量去除这些vlan标签);
Hybird实例配置分析(非常有必要解释):
1、为了让我们更加简洁的理解hydrid的属性,首先在所有的端口上移除了vlan1这个默认有的vlan,假设为所有端口初始不属于任何vlan,都不能相互之间通信;
2、pvid是当普通的主机数据帧进入交换机端口后被打上的vlan-tag的属性,在途中可以看出PC1、PC2、PC3的流量在进入交换机的时候分别会被打上vlan2、vlan3、vlan99的vlan标签;
3、untag后面的vlan就是该端口属于的vlan,那么不难看出LSW1的G0/0/1属于vlan2、3,G0/0/2属于vlan2、99,G0/0/3属于vlan3、99,而untag的动作是在流量出端口去往主机的时候把vlan-tag全部去除,那么不难看出LSW1的G0/0/1将去除vlan2、3的标签,G0/0/2去除vlan2、1099的标签,G0/0/3去除vlan3、99的标签(还原成普通帧)。
LSW2的G0/0/1属于vlan99,G0/0/2属于vlan99,在流量出端口的时候会去除vlan99的标签(还原成普通帧)。
PC1与PC2之间的通信分析:当PC1发送arp去请求PC2的MAC地址的时候,PC1会将数据包广播发往LSW1的G0/0/2接口,LSW1收到后发现是个普通的不带标签的数据帧,于是根据接口的pvid给该帧打上vlan2的tag,然后往vlan2中进行泛洪,无奈G0/0/3端口只属于vlan3、99所以无法收到vlan2中的泛洪,故PC1与PC2通信失败。
PC1与PC3之间的通信分析:PC1把帧给LSW1后在G0/0/2打上pvid vlan2的tag,从G0/0/1转发出去,同时untag掉这个帧vlan2的标签,LSW2从G0/0/1收到普通的帧后打上vlan99的tag后从G0/0/2转发给PC3(去掉vlan99的tag后转发给PC3),PC3回包给PC1过程:PC3把帧丢给LSW2的G0/0/2后被pvid打上vlan99的tag后,LSW2根据mac表和vlan信息将帧从G0/0/1口转发出去,!这里因为并没有untag属性所以转发的帧并不会去除任何vlan,而是以vlan99的帧从G0/0/1转发出去!(G0/0/1配置的tag vlan 99是为了让这个端口能转发vlan99的数据帧)当LSW1拿到LSW2发来的带有vlan99的tag的数据帧后,根据G0/0/1上配置的tag vlan99属性,放行vlan99的数据帧,然后根据mac表和vlan信息把帧丢给G0/0/2,由G0/0/2端口将vlan99的tag去除后转发给PC1,完成了PC1与PC3的整个通信过程。
PC2与PC3的通信过程同理PC1与PC3。
Hybrid确实有点复杂,不过它的功能非常强大,集合了Access和Trunk的优点,还能适合基于汇聚层设备做网关、MAC地址划分、IP子网划分地的配置。欢迎在下方留言提问,看下哪里不大了解的?