• switch中的PVID、VID、untag、tag概念


    以openwrt为例,下图是mt7621(glinet mt1300)中switch配置图
    在这里插入图片描述
    该switch一共有7个port,一个连接CPU,还有6个可供外部使用,上图只显示了6个port;
    一个switch可以设置多个VLAN(虚拟局域网 Virtual Local Area Network),如上图设置了两个VLAN;

    VID

        VLAN的ID,一个port可以属于多个VLAN,也就是拥有多个VID,如上图LAN3(port2)拥有VID 1、2;

    PVID

        基于端口的VLAN ID(Port-base VLAN ID),一个port只允许有一个untag存在,而那个untag所属的VLAN的VID成为这个port的pvid,如上图LAN4(port3)的PVID为1,WAN(port4)的PVID为2;

    untag

        接收报文:
            如果该报文untag,允许报文进入该端口所属VLAN中,并给报文打上PVID的vlan tag;
            如果该报文带有tag并且tag与该port的PVID相等,则单独接收到该VLAN中,否则丢弃;
        发送报文:
            将报文中的tag剥掉,发送出去(VLAN中的报文一定会包含tag,所以不存在发送前没有tag的报文)

    tag

        接收报文:
            如果该报文带有tag并且tag与该port所属的VLAN的vid相等,则单独接收到该VLAN中,否则丢弃;
        发送报文:
            将带有tag的报文,直接发出(VLAN中的报文一定会包含tag,所以不存在发送前没有tag的报文)

    access端口

        该端口只属于一个VLAN,并且为untag;表现就是untag端口;

    trunk端口

        该端口只属于多个VLAN,并且全部为tag;表现就是多个tag端口;

    hybrid端口

        该端口只属于多个VLAN,并且分别拥有tag和untag;
        接收报文:
            tag功能优先,所以会先判断报文是否有tag,如果有则接收进入tag与VID相等的VLAN中;
            否则进入untag功能,如果该报文untag,允许报文进入该端口所属VLAN中,并给报文打上PVID的vlan tag,如果该报文带有tag并且tag与该port的PVID相等,则单独接收到该VLAN中,否则丢弃;
        发送报文:
            tag功能优先,所以会先判断报文tag是否与其所属的VLAN的VID相等,如果相等则发出;
            否则进入untag功能,将报文中的tag剥掉,发送出去(VLAN中的报文一定会包含tag,所以不存在发送前没有tag的报文)

  • 相关阅读:
    openFeign夺命连环9问,这谁受得了?
    ​LeetCode解法汇总377. 组合总和 Ⅳ
    SpringMVC-02 MVC模式介绍
    校园网升级改造怎么做
    图论学习笔记 - 二分图的匹配
    创业可以做什么项目,六个轻资产创业项目推荐
    StringBuilder类用法解析
    python垃圾自动清理机制
    漏洞挖掘之Spring Cloud注入漏洞
    cartographer中创建轨迹
  • 原文地址:https://blog.csdn.net/dengxinfa/article/details/125995555