目录

一、以太网链路类型

二、以太网端口类型

三、端口类型对比

交换机内部处理的数据帧都是携带 VLAN Tag 的。

一、以太网链路类型

链路类型:华为交换机定义了接入链路(Access Link)和干道链路(Trunk Link)两种链路类型。不过没必要了解这两种链路类型,以免与端口类型搞混。

  • 接入链路:只可以承载一个 VLAN 的数据帧,用于连接交换机和终端设备(用户主机、服务器等)。所连接的设备至少有一端是不能识别 VLAN Tag(VLAN 标签)的,在接入链路上传输的都是不带 VLAN Tag 的数据帧。接入链路两端的端口类型可以是 Access 或 Hybrid。
  • 干道链路:可以承载多个不同 VLAN 的数据帧,用于交换机之间互连或连接交换机与路由器。所连接的设备都是能识别 VLAN Tag(VLAN 标签)的,在干道链路上传输的都是带 VLAN Tag 的数据帧。干道链路两端的链路类型为 Trunk。

PS:不要把 Access 链路、Trunk 链路与 Access、Trunk 端口类型一一对应。链路类型只体现链路的主要用途,交换机是根据端口类型进行数据帧的收、发处理的。

二、以太网端口类型

端口类型:华为定义了 Access 接口、Trunk 接口、Hybrid 接口和 QinQ 接口4 种二层以太网端口类型

① Access 接口:主要用来连接不能识别 VLAN Tag 的用户终端。

接收

① Access 接口收到没有 VLAN Tag 的数据帧,会根据接口的 PVID(缺省 VLAN ID)打上 VLAN Tag 并接收。(Access接口默认PVID为接口所加入的VLAN)

VLAN Tag :IEEE 802.1Q 标准,对传统的以太网帧格式进行了修改,在“源 MAC 地址”字段和“长度/类型”字段之间插入了一个 4 字节的“802.1Q Tag”(VLAN Tag)字段。“802.1Q Tag”字段又包括了 TPID、PRI、CFI 和 VLAN ID(VID)4 个子字段。


② Access 接口接收到一个有 VLAN Tag 的数据帧:

Ⅰ、如果携带的 VLAN Tag 与接口加入的 VLAN 相同接收该数据帧。

Ⅱ、如果携带的 VLAN Tag 与接口加入的 VLAN 不相同则直接丢弃

发送(Access接口发出的数据帧都是不携带VLAN Tag的)

发送一个携带 VLAN Tag 的数据帧

Ⅰ、如果携带的 VLAN Tag 与接口所加入的 VLAN 相同剥离 VLAN Tag 并发送。

Ⅱ、如果携带的 VLAN Tag 与接口所加入的 VLAN 不相同直接丢弃。

配置

步骤一:创建 VLAN

单独创建一个 VLAN: vlan 10

批量创建:vlan batch 2 3 4 或 vlan batch 2 to 4

步骤二:进入接口配置

int g0/0/1

port link-type access // 设置端口类型为Access

port default vlan 10 // 设置接口的 PVID 为 VLAN 10

② Trunk 接口:Trunk 端口一般用来连接交换机、路由器、AP

接收

① 接收一个无 VLAN Tag 的数据帧

先根据接口配置的 PVID 打上 VLAN Tag(缺省情况下PVID为1),再查看允许通过列表,如果允许通过列表存在对应的 VLAN 则接收不存在则丢弃

② 接收一个携带 VLAN Tag 的数据帧

查看允许通过列表,存在则接收,不存在则丢弃

发送

发送一个携带 VLAN Tag 的数据帧

Ⅰ、先查看允许通过列表,如果允许通过且 VLAN Tag 中的 VID 与接口 PVID 相同剥离 VLAN Tag 并发送,如果不同则携带 VLAN Tag 发送。

Ⅱ、如果 VLAN Tag 中的 VID 不在该端口的允许通过列表,则直接丢弃

配置:

步骤一:创建 VLAN

单独创建一个 VLAN: vlan 10

批量创建:vlan batch 2 3 4 或 vlan batch 2 to 4

步骤二:进入接口配置

int g0/0/1

port link-type trunk // 设置端口类型为Trunk

port trunk allow-pass vlan 10 20 // 设置接口的允许通过 VLAN

port trunk pvid vlan 10 // 设置缺省 VLAN ID(不设置默认为 1)

③ Hybrid 接口:华为设备私有的一种特殊二层以太网端口,可以认为是 Access 和 Trunk 的混合体。

接收

① 接收一个无 VLAN Tag 的数据帧

先根据接口配置的 PVID 打上 VLAN Tag(缺省情况下PVID为1),再查看允许通过列表(不像 Trunk 端口的配置,不需要配置 port hybrid allow-pass vlan xx,设置 port hybrid tagged/untagged vlan xx 时便默认允许该 VLAN 通过了),如果允许通过列表存在对应的 VLAN 则接收不存在则丢弃

② 接收一个携带 VLAN Tag 的数据帧

查看允许通过列表,存在则接收,不存在则丢弃

发送

发送一个携带 VLAN Tag 的数据帧

Ⅰ、如果 VLAN Tag 中的 VLAN ID 是允许通过的,可以通过手动配置选择是否携带 VLAN Tag 发送

Ⅱ、如果 VLAN Tag 中的 VID 不允许通过,则直接丢弃

配置:

步骤一:创建 VLAN

单独创建一个 VLAN: vlan 10

批量创建:vlan batch 2 3 4 或 vlan batch 2 to 4

步骤二:进入接口配置

int g0/0/1

port link-type hybrid // 设置端口类型为Hybrid

port hybrid untagged vlan 10 // 设置剥离 VLAN 10 的 VLAN Tag

port hybrid tagged vlan 20 // 设置 VLAN 20 携带 VLAN Tag

port hybrid pvid vlan 10 // 设置缺省 VLAN ID(不设置默认为 1)

④ QinQ 接口:专用于 QinQ 协议,一般用于公网和私网的连接。

给数据帧加上双层 VLAN Tag,在原来标签的基础上,给帧加上一个新的标签,从而可以支持多达 4094 × 4094 个 VLAN,外层的 Tag 通常用来标识公网的 VLAN。内层的 Tag 通常用来标识私网的 VLAN。

三、端口类型对比

下表从主要用途、接收处理逻辑、发送处理逻辑和典型配置命令等方面进行对比:

端口类型 主要用途 接收处理逻辑 发送处理逻辑 典型配置命令
Access 连接终端设备(PC、服务器等),通常只允许一个 VLAN 通过
  1. 收到无 Tag 帧:打上 PVID 对应的 VLAN Tag 并接收
  2. 收到有 Tag 帧:仅当 VLAN ID 与接口加入的 VLAN 相同时接收,否则丢弃
  1. 发送帧的 VLAN ID 与接口加入的 VLAN 相同:剥离 Tag 发送
  2. 发送帧的 VLAN ID 与接口加入的 VLAN 不同:丢弃
port link-type access

port default vlan 10
Trunk 连接交换机、路由器等网络设备,允许多个 VLAN 通过
  1. 收到无 Tag 帧:打上 PVID 对应的 VLAN Tag,检查允许列表,存在则接收
  2. 收到有 Tag 帧:检查允许列表,允许通过则接收,否则丢弃
  1. 发送帧的 VLAN ID 在允许列表中:若 VLAN ID = PVID:剥离 Tag 发送;若 VLAN ID ≠ PVID:携带 Tag 发送
  2. 发送帧的 VLAN ID 不在允许列表中:丢弃
port link-type trunk
port trunk allow-pass vlan 10 20
port trunk pvid vlan 10
Hybrid 华为私有类型,灵活连接终端或网络设备,可指定是否带 Tag 发送
  1. 收到无 Tag 帧:打上 PVID 对应的 VLAN Tag,检查允许列表,存在则接收
  2. 收到有 Tag 帧:检查允许列表,存在则接收,否则丢弃
  1. 发送帧的 VLAN ID 在允许列表中:可配置为 tagged(带 Tag)或 untagged(不带 Tag)发送
  2. 发送帧的 VLAN ID 不在允许列表中:丢弃
port link-type hybrid
port hybrid untagged vlan 10
port hybrid tagged vlan 20
port hybrid pvid vlan 10

总结:Access 端口用于终端接入,Trunk 端口用于设备互联,Hybrid 端口则提供了更灵活的 Tag 控制能力。在实际组网中,应根据设备类型和 VLAN 规划需求选择合适的端口类型。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐