在设置交换机vlan的时候,不太理解vid和vlan标签的区别,网上搜索资料,没找到很明确清晰的答案,deepseek的回答比较有用,这里记录一下。

流量类型 处理方式(接收) 处理方式(发送)
不带标签 (Untagged) 端口根据 PVID 为其打上标签 端口根据目标VLAN的成员类型:如果是Untagged则剥离标签
带标签 (Tagged) 端口检查是否允许该VLAN通过,允许则接收,否则丢弃 端口根据目标VLAN的成员类型:如果是Tagged则保留标签

deepseek给出的表格已经比较清晰了,这里再补充一下。

基本概念

  • PVID(交换机设置界面的VID)
    • 每个端口只能设置一个PVID,当端口收到不带标签的流量时,会根据PVID为其打上标签
    • 因此交换机进入内部的流量一定全部带标签
    • PVID只作用于入口
  • VLAN
    • 所有相同tag的虚拟网络,每个VLAN表都可以设置自己的端口选项
    • 交换机内部的流量根据VLAN设置来处理,例如tag=1的流量根据vlan1的设置来处理
    • VLAN只作用于出口

工作原理:按流量方向分解

1. 接收流量(数据进入交换机端口)

当端口收到一个数据帧时,交换机会根据帧是否带有VLAN标签来采取不同的行动:

  • 如果收到的是不带标签的帧(Untagged):

    • 交换机会查看这个端口的 PVID(Port VLAN ID,端口默认VLAN ID)
    • 然后,交换机会给这个数据帧打上与PVID值相同的VLAN标签
    • 之后,这个帧就在交换机内部作为这个VLAN的成员进行转发。
  • 如果收到的是带标签的帧(Tagged):

    • 交换机会直接读取帧中原有的VLAN标签。
    • 然后,它会检查这个端口是否允许这个VLAN ID的流量通过(即端口是否是这个VLAN的Tagged成员)。
    • 如果允许,就在交换机内部正常处理该帧。
    • 如果不允许,则直接丢弃该帧。

2. 发送流量(数据从交换机端口出去)

当交换机需要将一个数据帧从某个端口发送出去时,它会根据目标VLAN和端口的成员类型来决定如何处理:

  • 如果这个端口在目标VLAN中的成员类型是 Untagged(不带标签):

    • 交换机在发送前,会剥离(Remove) 该数据帧的VLAN标签。
    • 然后将一个普通的、不带标签的以太网帧发送出去。
  • 如果这个端口在目标VLAN中的成员类型是 Tagged(带标签):

    • 交换机在发送时,会保留(Keep) 该数据帧的VLAN标签。
    • 然后将带标签的帧发送出去。