VLAN
发布日期:2022-02-12 16:06:59 浏览次数:17 分类:技术文章

本文共 1669 字,大约阅读时间需要 5 分钟。

VLAN报文结构:

VLAN11.png

è¿éåå¾çæè¿°

TPID    2Byte    Tag Protocol Identifier(标签协议标识符),表示数据帧类型。    表示帧类型,取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。 各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时, 为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。

PRI    3bit    Priority,表示数据帧的802.1p优先级。    取值范围为0~7,值越大优先级越高。当网络阻塞时,设备优先发送优先级高的数据帧。
CFI    1bit    Canonical Format Indicator(标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网。    CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI的值为0。
VID    12bit    VLAN ID,表示该数据帧所属VLAN的编号。    VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094。

 

同类型接口添加或剥除VLAN标签的比较

接口类型    对接收不带Tag的报文处理    对接收带Tag的报文处理    发送帧处理过程
Access接口    接收该报文,并打上缺省的VLAN ID。    当VLAN ID与缺省VLAN ID相同时,接收该报文。当VLAN ID与缺省VLAN ID不同时,丢弃该报文。    先剥离帧的PVID Tag,然后再发送。
Trunk接口    打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。打上缺省的VLAN ID,当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。    当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。    当VLAN ID与缺省VLAN ID相同,且是该接口允许通过的VLAN ID时,去掉Tag,发送该报文。当VLAN ID与缺省VLAN ID不同,且是该接口允许通过的VLAN ID时,保持原有Tag,发送该报文。
Hybrid接口    打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。打上缺省的VLAN ID,当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。    当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。    当VLAN ID是该接口允许通过的VLAN ID时,发送该报文。可以通过命令设置发送时是否携带Tag。

 

- 当接收到不带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会给数据帧打上VLAN标签,但Trunk接口、Hybrid接口会根据数据帧的VID是否为其允许通过的VLAN来判断是否接收,而Access接口则无条件接收。

当接收到带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会根据数据帧的VID是否为其允许通过的VLAN(Access接口允许通过的VLAN就是缺省VLAN)来判断是否接收。

当发送数据帧时:

Access接口直接剥离数据帧中的VLAN标签。

Trunk接口只有在数据帧中的VID与接口的PVID相等时才会剥离数据帧中的VLAN标签。
Hybrid接口会根据接口上的配置判断是否剥离数据帧中的VLAN标签。
因此,Access接口发出的数据帧肯定不带Tag,Trunk接口发出的数据帧只有一个VLAN的数据帧不带Tag,其他都带VLAN标签,Hybrid接口发出的数据帧可根据需要设置某些VLAN的数据帧带Tag,某些VLAN的数据帧不带Tag。
 

 

 

转载地址:https://blog.csdn.net/wellsmith/article/details/90437689 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:MongoDB docker 方式启动
下一篇:VXLAN

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月15日 16时21分52秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

Codeforces Round #479 (Div. 3) D. Divide by three, multiply by two 【dfs】 2019-04-26
VK Cup 2015 - Qualification Round 1, problem: (A) Reposts 【map】 2019-04-26
VK Cup 2015 - Qualification Round 1, problem: (A) Reposts 【dfs】 2019-04-26
Codeforces Round #318 (Div. 2), problem: (B) Bear and Three Musketeers 【暴力】 2019-04-26
Codeforces Round #197 (Div. 2), problem: (C) Xenia and Weights 【dfs回溯 31ms 100KB】 2019-04-26
Codeforces Round #216 (Div. 2), problem: (C) Valera and Elections 【树形dp+dfs】 2019-04-26
2020 我只需要一行命令,就可给头像戴上口罩!【必看】 2019-04-26
Codeforces Round #484 (Div. 2), problem: (C) Cut 'em all! 【dfs】 2019-04-26
Educational Codeforces Round 37 (Rated for Div. 2), problem: (C) Swap Adjacent Elements 【贪心】 2019-04-26
Codeforces Round #549 (Div. 2), problem: (C) Queen 【思维】 2019-04-26
关于Vue那些事儿—Javascript 传递异步操作 #Promise# 2019-04-26
【爱丽丝、鲍勃和马洛里】分分钟让你理解HTTPS 2019-04-26
【机器学习】机器学习和深度学习概念入门(上) 2019-04-26
【机器学习】机器学习和深度学习概念入门(下) 2019-04-26
【机器学习】C++ 从零实现神经网络(一) Net类——基于Mat 2019-04-26
【机器学习】C++ 从零实现神经网络(二)前向传播与反向传播 2019-04-26
【机器学习】C++ 从零实现神经网络(三)神经网络的训练和测试 2019-04-26
【Make IT Simple】开发者常用的程序调试工具 2019-04-26
Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2), problem: (C) Connect 【dfs】 2019-04-26
【机器学习】神经网络浅讲:从神经元到深度学习(一) 2019-04-26