最近对hybird接口很有疑惑,经过试验与资料查找,有了初步的认知。
很简单的一张拓扑,在不走三层的情况下,是两个不同VLAN的主机通信。
hybird端口是access和trunk的集合,切记。
那么在hybird端口接受和发送的时候有一些原则,遵循这些原则,hybird就简单明了了。
hybrid端口untagged tagged对报文的处理过程
实验后得出结论:
接收报文时:
hybrid报文在收到数据的时候,先看它是否带VLAN标签和是否允许通过(在untagged和tagged列表中的都算允许通过,这个就相当于trunk的 allow-pass vlan),如图,当你给PC1划入vlan10的时候(port hybrid pvid vlan 10),相应的就要放行vlan10(port hybrid untagged vlan 10)。
如果报文已经有标签且可以通过,则让报文带着标签通过;
如果报文没标签且可以通过,则打上PVID,再让带着PVID标签的报文通过;(以上两点跟trunk端口一样)
如果不在untagged或tagged列表,则表示不允许通过,丢弃此报文。
发送报文时:
如果报文在untagged或tagged列表,则表示可以从此端口通过,
对于untagged列表中的报文,在发送的时候去掉vlan标签后再从端口发送出去;
对于tagged列表中的报文,在发送的时候带着vlan标签从端口发送出去。
如果报文不在untagged或tagged列表,表示不从此端口通过。
总结:接收报文的时候,可以当做trunk口来对待;untagged(去标签)和tagged(带标签)只是做到了trunk的是否放行vlan的需要,和实际打不打标没有半毛钱关系。untagged(去标签)和tagged(带标签)只对从端口发送出去的报文起作用(保留标签或去掉标签再发送出去)。在untagged或tagged列表的vlan表示可以从本端口发送或者接收;不在untagged或tagged列表的vlan表示不可以从本端口发送或接收。
发送报文的时候,hybird也当做trunk使用,只是增加了打标和去标的附属功能。
把SW1的两个接口配置贴上,tagged untagged根据具体情况而定,因为我下面的PC机读不懂tag,所以我选择untagged。
interface GigabitEthernet0/0/1
port hybrid pvid vlan 10
port hybrid untagged vlan 10 20
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094