hybrid端口属性

hybrid属性具有trunk和access两种端口属性的特点,tag类似trunk,untag类似access,但是又不同,因为hybrid端口可以接收某个或者多个vlan的数据。

在开始研究之前强调几点:

1、在hybrid端口中,所有端口都默认属于vlan1,除非配置undo port hybrid vlan 1 才能将该hybrid剔除出vlan1,可以使用display vlan 查看端口所属的vlan

2、在hybrid端口中,无论是tag还是untag后面配置的vlan-id就是该hybrid端口所能够收到vlan数据的vlan-id,换句话说就是这些vlan中发出的数据该端口都能收到,可以使用display vlan查看(这里注意虽然可以收到这些vlan的数据但是严格意义上讲hybrid端口并不属于任何一个vlan)

3、所有类型端口的默认pvid都是vlan1,而pvid这个属性只!针对!进入!该端口的!没有标签的!普通数据包有效,作用是将没有标签的普通数据包打上pvid中配置的标签号

4、hybrid属性中,tag是针对于端口的接收方向的(从该端口进来的流量允许带有这些vlan标签的通过),untag是针对端口的发送方向的(从该端口出去的流量去除这些vlan标签)

5、加入一个hybrid端口配置tag vlan 2 3和untag vlan 4 5 ,那么默认情况下这个hybrid属于vlan1、2、3、4、5,在display vlan中可以查看到,只有端口属于了某个vlan,那么该端口才能收到某个vlan的数据包,这一点是理解下列两种配置和hybrid端口属性的关键!!!

实例分析

   以下两种hybrid的配置方法达到同一个目的,就是让PC3与PC1、PC2互通,PC1与PC2之间不通。两种配置方法都可以达到效果,具体不同是根据hybrid端口的tag和untag两种属性的理解和配置来区分的,熟悉了这2个配置后hybrid端口也就基本掌握了。

实例一配置分析:

hybrid端口实例技术漫谈---非常实用!!_第1张图片
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、10,G0/0/3属于vlan3、10,而untag的动作是在流量出端口去往主机的时候把vlan-tag全部去除,那么不难看出LSW1的G0/0/1将去除vlan2、3的标签,G0/0/2去除vlan2、10的标签,G0/0/3去除vlan3、10的标签(还原成普通帧)

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、10所以无法收到vlan2中的泛红,故PC1与PC2通信失败。

下面再来分析PC1与PC3通信:前面已经分析了PC1要去请求PC3的MAC,被LSW1的G0/0/2收到,并且打上vlan2的tag,然后在vlan2中泛红,那么在vlan2中的端口就都能收到该泛红了,所以在配置了untag vlan 2 3的G0/0/1端口自然也能收到vlan2和vlan3的泛红并转发出去,但是LSW1发现G0/0/1配置untag vlan2 3,所以将从该端口发送出去的所有带有vlan2和vlan3的数据包的tag全部去除(还原成普通帧),然后这个普通的帧就会发往LSW2被G0/0/1端口接收到,LSW2发现了一个普通的帧,那么就会用到pvid了不是,所以LSW2收到这个帧后打上vlan99的tag进行泛红,那么PC3所在的hybrid因为配置有untag vlan99必然能够收到vlan99的数据包了,然后在G0/0/2发给PC3的时候将vlan99的tag去除掉,PC3收到的就是一个不带任何tag的普通包(PC3完全不知道在它个PC1之间还有SW这种东西存在,什么鬼!),好了PC3收到了PC1发来的arp请求,那么作为有礼貌的人应该回复自己的MAC地址了,与回一个arp响应给PC1,

下面PC3的回包分析:PC3使用PC1的MAC和ip封装好数据包后从网卡发送出去,LSW2的G0/0/2端口收到了,发现是一个普通帧,OK来pvid打上vlan99的tag,然后查看mac地址表发现PC1的MAC地址在G0/0/1口,在查看vlan信息,发现G0/0/1口可以接收vlan99的数据(untag vlan99),两个转发条件都满足了,那么久把数据包发给G0/0/1转发,G0/0/1转发的时候根据untag vlan99把数据包vlan-id去除还原成普通帧,被LSW1的G0/0/1收到,按照pvid的惯例,普通帧被打上了pvid vlan10的tag(用vlan10举例,也可以是任意vlan),然后LSW1根据MAC地址表找到PC1在自己的G0/0/2口,再查看vlan信息发现G0/0/2接口配置了untag vlan2 10,可以接收vlan10的数据包,于是就把这个被打上vlan10的PC3发来的arp响应通过G0/0/2发送给了PC1,当然在从G0/0/2接口出去的时候根据untag vlan2 10的配置将vlan10的tag去除还原成一个普通的帧,PC1收到的是一个普通的帧,完全不知道它和PC3之间还有交换机这个东西。好了,这就是一次通信过程,PC2与PC3的通信原理也是一样的,于是就实现了PC3与PC1、PC2互通,PC1与PC2之间不通的效果,就酱。
hybrid端口实例技术漫谈---非常实用!!_第2张图片

实例二配置分析:

如果能看懂了实例一,那么实例二只需要关注一个点就可以,就是在hybrid中tag个untag的共性和区别。

共性:后面所跟的vlan的数据端口都能收到

区别:tag放行进入端口的带有该tag的数据包,untag去除掉流出端口的该tag的标签。(方向也是不一样,tag类似trunk、untag类似access但又不同)

所以在实例二中,只是LSW1和;SW2之间的hybrid的配置有所不同,LSW1的G0/0/2、G0/0/3只有微小改动而已

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分别ping PC2和PC3
hybrid端口实例技术漫谈---非常实用!!_第3张图片