为什么 trunk 口发送缺省 VLAN 的包要去掉 tag?
学交换机配置到 trunk 这一步,很多人卡在同一个问题上:trunk 的意义不就是让带 VLAN tag 的帧通过吗,为什么偏偏缺省 VLAN 的包要剥掉 tag 再发?结论:缺省 VLAN 是 trunk 上唯一一条「裸帧通道」——出方向剥掉 tag 发出去,入方向收到裸帧再打回自己的 VLAN 号;其余 VLAN 一律带着 tag 通行。 华为设备里,端口的「缺省 VLAN」就是 PVID。
为什么要有这条特殊通道
- 兼容不认识标签的老设备。802.1Q 标准出现之前,所有以太网帧都是裸帧;trunk 对接老交换机、老服务器网卡时,带 tag 的帧会被它们当错误帧丢弃,只能走这条裸帧通道迁就。
- 留一条兜底链路。trunk 两端配置有出入时,裸帧通道常常还能维持基本连通,给排障留一线生机。
- 剥 tag 只发生在出方向,且只对 PVID 对应的那一个 VLAN——其余放行的 VLAN 照常带 tag,不要误解成 trunk 会剥掉所有标签。
配置与排查三步
- 查两端端口的 PVID。华为交换机接口视图下执行
display port vlan,看 untagged 列——trunk 口的 PVID 就是以 untagged 方式通过的那个 VLAN。 - 对齐两端。修改用
port trunk pvid vlan 10这样的命令,trunk 两端必须一致。 - 核对放行列表。
port link-type trunk设定口型,port trunk allow-pass vlan 10 20决定哪些 VLAN 过得去,PVID 对应的 VLAN 要在放行之列。
相关提示
- 两端 PVID 不一致是最隐蔽的坑:一端把 VLAN 10 当裸帧、另一端把它当带 tag 的帧,结果是这个 VLAN 时通时不通,甚至两个不同 VLAN 被串到一起,属于典型的「查很久查不出来」类故障。
- 不少设备出厂时 trunk 的缺省 VLAN 是 VLAN 1,所以「放行了所有 VLAN 反而不通、禁掉 VLAN 1 反而通」的现象时有发生,本质是 PVID 与对端没对上。
- 想眼见为实,可以在 trunk 链路上抓包,看帧里有没有 0x8100 那四个字节的 tag 头,带没带标签一目了然。
- 记一条口诀:trunk 上「PVID 裸奔、其余带牌」——判断任何 trunk 转发行为,先问这个 VLAN 是不是两端的 PVID,多数疑问当场解开。
划 VLAN、通 trunk 是内网管理的地基,地基不牢后面全是怪病。贵州诚鑫致达做企业组网交付时,VLAN 规划与 trunk 对齐核对写进交付文档。
企业存储选型参考|贵州诚鑫致达
群晖在售企业级机型速览:DS 系列桌面式(从入门盘位到 8 盘位以上,小机起步大机收口)。从选型到部署交付,搜「诚鑫致达」找到我们。