1.普通交换机的二层端口有三种常见的端口类型:access、trunk、hybird

access端口:一般用作PC或服务器主机接入,通过该端口的数据包都是不带VLAN tag的;

trunk端口:可以允许多个VLAN的数据包通过,一般连接其他交换机;

hybird端口:比较灵活,可以根据用户需求,对通过该端口的数据包进行VLAN tag打标和去标动作,可以连主机也可以连其他交换机;

在开始讲解之前,请记住交换机内部的所有数据报文是有VLAN tag的;

2019082309521670.png

下面我们通过分析交换机端口的进、出两个方向对VLAN tag的处理过程来详细说明这三种端口类型的区别;

access端口:

  • 通过access端口的数据包都是不带VLAN tag的,且只属于一个VLAN;

  • 在access端口进方向,交换机接收到数据包后,先判断是否带VLAN tag,有则丢弃数据包,没有则打上该端口已配置的VLAN tag;

  • 在access端口出方向,交换机将打了与端口相同VLAN tag的数据包转发出去,并且去掉VLAN tag变成普通数据包。

trunk端口:

  • 通过trunk端口的数据包都必须带上VLAN tag;

  • 在trunk端口进方向,交换机接收到数据包后,先判断是否带VLAN tag,没有则丢弃数据包,有则按照对应VLAN进行转发;

  • 在trunk端口出方向,交换机将带VLAN tag的数据包原封不动转发出去,没有带VLAN tag数据包不会从trunk端口转发出去。

  • 在trunk端口上有一种特殊情况,如果配置了native VLAN(也叫PVID),转发方式等同于access端口,当从端口进来的报文不带vlan tag时,就打上Native vlan tag; 当从端口出去的报文带Native vlan tag时,会剥离TAG。

hybird端口:

  • 顾名思义,这是一种混合端口,是access和trunk两种端口的混合,既可以转发无vlan tag报文,也可以转发有vlan tag报文;在hybird端口上通常会配置tag vlan和untag vlan,对于tag vlan,其转发方式与trunk口相同,对于untag vlan,其转发方式与access口相同;

  • 在hybird端口进方向,交换机接收到数据包后,先判断是否带VLAN tag,没有则丢弃,如果没有vlan tag但是配置了PVID,则打上PVID的vlan tag;有则按照对应VLAN进行转发;进方向不看untag配置;

  • 在hybird端口出方向,对于配置了tag vlan的数据包,原封不动发送出去,对于端口配置了untag vlan的数据包,则去掉vlan tag再发送出去;如果是PVID的vlan,则去掉vlan tag再发送出去;


2.tagged和untagged的区别

所谓:tagged和untagged就是(是否带标签),tagged和untagged就相当于网管型交换机中通过命令配置的 trunk链路类型 和 access链路类型

连接终端用access模式,设备之间连接用trunk模式。把access端口加入到某个VLAN,那么这个端口就只将这个VLAN的数据转发给PC,PC发送的数据通过这个端口后会打上这个VLAN的ID,转发到相同VLAN。

1、端口接收数据时不同
  • tagged:如果接收的数据包本身不包含VLAN信息的话,那么该数据包将会加上该缺省VLAN的信息;如果接收的数据包本身已经包含了VLAN信息,那么将不再添加。

  • untagged:无论接收的数据包是否已经含有VLAN信息,全部都要加上该缺省VLAN信息。

2、端口发送数据时不同
  • tagged:如果发送的数据包所含的VLAN与端口缺省的VLAN相同,那么就会把VLAN信息从该数据包中去掉;如果两者不相同,该数据包将带着原有VLAN信息一起发送出去。

  • untagged:无论端口缺省VLAN是否等于输出的数据包中的VLAN,都会将VLAN信息从该数据包中去掉

引用文章:

  1. 交换机VLAN 模式trunk和access 区别
  2. vlan tag和untag区别 tagged和untagged的区别
最后修改:2022 年 11 月 29 日 05 : 18 PM
如果觉得我的文章对你有用,无需赞赏用心感谢!