上一篇文章写到三层交换机实现多个VLAN之间互相通讯,有朋友提问要如何进行配置,可有案例分析。其实那天我在写的时候也有做过模拟,只是后来没有保存。今天重新模拟一次,并附上详细配置命令,希望能够帮助到大家。 首先回忆下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配置命令:
SwitchB和SwitchA的配置差不多,大家参考SwitchA的配置文件。
测试结果:PC1可以与PC2ping通,PC3可以与PC4ping通。 PC1 ping通 PC2 PC3 ping通 PC4 二、Hybrid链路类型端口案例上篇文章有朋友提到Hybrid链路类型端口模式功能非常强大而且相当复杂,今天下午复习了下,确实在很多方面变现出它的先进性。 使用Hybrid链路类型配置让PC3与PC1、PC2互通,PC1与PC2之间不通。 LSW1配置命令:
SwitchB和SwitchA的配置差不多,大家参考SwitchA的配置,再次不再累赘。
测试结果为: 这里有必要对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子网划分地的配置。欢迎在下方留言提问,看下哪里不大了解的? |
|