端口tagged和untagged详解

发布于:2021-06-19 04:13:56

情况列举 Switch 收发 Switch 对标记的处理 remark Access (接收) Tagged = PVID 不接收 注:部分高端产品可能接收。 Access (接收) Tagged =/ PVID 不接收 注:部分高端产品可能接收。 Access (接收) Untagged 接收 增加 tag=PVID 从 PC Access (发送) Tagged = PVID 转发 删除 tag Access (发送) Tagged =/ PVID 不转发 不处理 Access (发送) Untagged 无此情况 无此情况 无此情况 Trunk Trunk Trunk Trunk Trunk Trunk (接收) (接收) (接收) (发送) (发送) (发送) Tagged = PVID 接收 不修改 tag Tagged =/ PVID 接收 不修改 tag Untagged 接收 增加 tag=PVID Tagged = PVID If Passing then 转发 删除 tag Tagged =/ PVID If Passing then 转发 不修改 tag Untagged 无此情况 无此情况 无此情况(注)

Hybrid (接收) Tagged = PVID 接收 不修改 tag 对端是 trunk Hybrid (接收) Tagged =/ PVID 接收 不修改 tag 对端是 trunk Hybrid (接收) Untagged 接收 增加 tag=PVID 类 Trunk Hybrid (发送) Tagged = PVID Tag 和 untag 中列出的 vlan 可以 passing 看 Tag 项和 untag 项 Hybrid (发送) Tagged =/ PVID Tag 和 untag 中列出的 vlan 可以 passing 看 Tag 项和 untag 项 Hybrid (发送) Untagged 无此情况 无此情况 无此情况(注)

我来解释一下 收报文: Acess 端口 1、收到一个报文,判断是否有 VLAN 信息:如果没有则打上端口的 PVID,并进行交换转发,如果有则直接丢弃(缺省) 发报文: Acess 端口: 1、将报文的 VLAN 信息剥离,直接发送出去 收报文: trunk 端口: 1、收到一个报文,判断是否有 VLAN 信息:如果没有则打上端口 的 PVID,并进行交换转发,如果有判断该 trunk 端口是否允许该 VLAN 的数据进 入:如果可以则转发,否则丢弃 发报文: trunk 端口: 1、比较端口的 PVID 和将要发送报文的 VLAN 信息,如果两者相等 则剥离 VLAN 信息,再发送,如果不相等则直接发送 收报文: hybrid 端口: 1、收到一个报文 2、判断是否有 VLAN 信息:如果没有则打上端口的 PVID,并进行交换转 发, 如果有则判断该 hybrid 端口是否允许该 VLAN 的数据进入: 如果可以则转发,

否则丢弃 发报文: hybrid 端口:1、判断该 VLAN 在本端口的属性(disp interface 即可看到该端 口对哪些 VLAN 是 untag, 哪些 VLAN 是 tag) 2、如果是 untag 则剥离 VLAN 信息,再发送,如果是 tag 则直接发送 先呈请一下上面的几个帖子的术语: Tag 为 IEEE802.1Q 协议定义的 VLAN 的标记在数据帧中的标示; ACCESS 端口,TRUNK 端口是厂家对某一种端口的叫法,并非 IEEE802.1Q 协议的 标准定义; 这个数据交换的过程比较复杂,如果想解释的话,首先要了解一下几个 IEEE802.1Q 协议的定理; 1、下面是定义的各种端口类型对各种数据帧的处理方法; Tagged 数据帧 in out 原样接收 原样发送 去掉 TAG 标记 Untagged 数据帧 in out 按端口 PVID 按照 PVID 打 打 TAG 标记 TAG 标记 按端口 PVID 原样发送 打 TAG 标记

Tagged 端口

Untagged 端口 丢弃

2、所谓的 Untagged Port 和 tagged Port 不是讲述物理端口的状态,而是讲诉 物理端口所拥有的某一个 VID 的状态, 所以一个物理端口可以在某一个 VID 上是 Untagged Port,在另一个 VID 上是 tagged Port; 3、一个物理端口只能拥有一个 PVID,当一个物理端口拥有了一个 PVID 的时候, 必定会拥有和 PVID 的 TAG 等同的 VID,而且在这个 VID 上,这个物理端口必定 是 Untagged Port; 4、PVID 的作用只是在交换机从外部接受到 Untagged 数据帧的时候给数据帧添 加 TAG 标记用的,在交换机内部转发数据的时候 PVID 不起任何作用;

5、拥有和 TAG 标记一致的 VID 的物理端口,不论是否在这个 VID 上是 Untagged Port 或者 tagged Port,都可以接受来自交换机内部的标记了这个 TAG 标记的

tagged 数据帧; 6、拥有和 TAG 标记一致的 VID 的物理端口,只有在这个 VID 上是 tagged Port, 才可以接受来自交换机外部的标记了这个 TAG 标记的 tagged 数据帧; 以下是神州数码对命令的定义(各个厂家对命令的定义可能不一定一致,但是都 必须遵循上面的定理): 1、Trunk 端口就是在一个物理端口上增加这个交换机所有 VLAN 的 VID 标示,并 且除了和这个物理端口 PVID 标示一致的 VID 标示为 Untagged Port 外,在其他 的 VID 上都是 Tagged Port; 2、Access 端口就是指拥有一个和 PVID 标记相同的 VID 的物理端口,在这个 VID 上,遵循定理一定为 untagged Port; 在了解了以上的基础理论之后,我们在来看一下楼主的问题: 一个数据包从 PC 机发出经过 ACCESS 端口->TRUNK 端口->TRunk->ACCESS->PC 数 据包发生了怎么样的变化? 我们先把上述的描述变换为 IEEE802.1Q 的标准描述: 一个数据包从 PC 机发出经过(Untagged 数据帧) ACCESS 端口(PVID 定义为 100,VID=100=Untagged Port)-> TRUNK 端口(PVID 定义为 1〈出厂配置,没有更改〉,VID=1=Untagged Port, VID=100=tagged Port)-> 另一个交换机的 TRunk 端口(PVID 定义为 1〈出厂配置,没有更改〉, VID=1=Untagged Port,VID=100=tagged Port)->

另一个交换机的 ACCESS 端口(PVID 定义为 100,VID=100=Untagged Port)-> PC 数据包发生了怎么样的变化?(Untagged 数据帧) 首先假设两台交换机刚刚开机(MAC 地址表为空)从 PC 机发出的数据帧进入交 换机的 ACCESS 端口以后,会按照这个端口的 PVID 打 100 的 Tag 标记,根据交换 机的转发原理,交换机会把这个数据帧转发给 VID=100 的所有端口(除了进口以 外),这个过程叫做 VLAN Flood;参照上面的定理 1; 由于 Trunk 端口拥有 VID=100,所以才可接受这个标记 Tag 为 100 的 tagged 数 据帧;参照上面的定理 5; 由于 Trunk 端口在 VID=100 上为 tagged Port,所以在发送数据帧出交换机的时 候,不改变 Tagged 数据帧的结构;参照上面的定理 1; 到了另一个交换机的 Trunk 端口的时候,由于 Trunk 端口拥有 VID=100,所以才 可接受这个标记 Tag 为 100 的 tagged 数据帧;参照上面的定理 6; 另一个交换机的 Trunk 端口,接收到标记 tag 为 100 的 tagged 数据帧,并不作 任何的更改;参照上面的定理 1; 另一个交换机收到到标记 tag 为 100 的 tagged 数据帧, 根据交换机的转发原理, 交换机会把这个数据帧转发给 VID=100 的所有端口(除了进口以外);参照交换 机交换原理(受到一个未知目的 MAC 数据帧); 这样另一个交换机的 ACCESS 端口就可以收到标记 tag 为 100 的 tagged 数据帧; 参照上面的定理 5; 另一个交换机的 ACCESS 端口在发出标记 tag 为 100 的 tagged 数据帧的时候, 会 去掉 TAG 标记,转发 untagged 数据帧给 PC;参照上面的定理 1; 这样 PC 机就收到了这个数据;
===================================================================== 其实就是 cisco 中的 trunk 和 access 的区别 端口接收数据时: 如果端口是 tagged 方式, 当数据包本身不包含 VLAN 的话, 输入的数据包就加上该缺省 vlan;如果数据包本身已经包含了 VLAN,那么就不再添加。 如果是 untagged 方式,输入的数据包全部都要加上该缺省 vlan。不管输入的数据包是 否已经有 VLAN 标记。 端口发送数据时: 如果端口是 tagged 方式,如果端口缺省 VLAN 等于发送的数据包所含的 VLAN,那么就 会将 VLAN 标记从发送的数据包中去掉;如果不相等,则数据包将带着 VLAN 发送出去,实

现 VLAN 的透传。 如果是 untagged 方式, 则不管端口缺省 VLAN 为多少, 是否等于要输出的数据包的 VLAN, 都会将 VLAN ID 从数据包中去掉。
进 ac 加内部标签 出 tr 剥内部 加外部 进 tr 剥外部 加内部 出 ac 剥内部


相关推荐

最新更新

猜你喜欢