Hybrid接口

接口属性

​ 交换机接口的类型,可以是Access、Trunk和Hybrid。Access类型的接口仅属于一个VLAN,,,,只能接收、转发相应VLAN的帧;而Trunk类型接口则默认属于所有VLAN任何Tagged帧都能经过Trunk接收和转发; Hybrid类型接口则介于二者之间,可自主定义端口上能接收和转发那些VLAN Tag帧,并可决定VLAN Tag是否继续携带或者剥离。。Access和Trunk类型接口是Hybrid类型接口的两个特例,,,一个仅支持一个VLAN传递,,一个默认支持所有VLAN的传递,而Access类型和Trunk类型的接口能做到的,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端口属性的关键!!!

收发过程

在数据发送时untag列表的原理,如下图
1.带有vlan 3标签的数据从F0/0接口出去,通过时查看untag列表,发现有对应的标签,将标签脱掉发送出去
2.带有vlan 8标签的数据从F0/1接口出去,通过时查看untag列表,发现没有对应的标签,继续查看tag表,发现有对应标签,所以直接带有vlan 8标签的数据发送出去
3.带有vlan 5标签的数据从F0/2接口出去,通过时查看untag列表,发现没有对应的标签 ,继续查看tag列表,发现也没有对应的标签,所以数据直接被丢弃
shoufa6505133622

tag列表处理数据帧的接收和发送的原理,如下图
1.没有标签的数据进入F0/0接口,接口查看到数据没有标签,根据接口PVID=3,将vlan 3标签打入数据
2.带有vlan 9标签的数据进入接口F0/1,接口查看到数据带有标签,接着查看tag列表,发现列表中存在对应标签,放通数据
3.带有vlan 5标签的数据从接口F0/2出去,接口查看到数据带有标签,查看untag列表,发现列表中没有对应vlan 5标签,继续查看tag列表,发现列表中存在对应标签vlan 5,放通数据出去
4.带有vlan 3标签的数据从F0/2接口出去,查看untag列表,发现列表中存在对应vlan 3标签,将标签脱掉,放通数据出去
5.带有vlan 9标签的数据从F0/2接口出去,查看untag表,发现列表中不存在对应vlan 9标签,继续查看tag列表,发现列表中不存在vlan 9标签,将数据丢弃

fataf2133722

实例分析

tuo2205133307

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之间不通的效果。