首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VLAN-TAG超经典解释

VLAN-TAG超经典解释

原创
作者头像
利又德智能感知
发布于 2022-12-28 02:16:59
发布于 2022-12-28 02:16:59
2.3K0
举报

VLAN技术要点主要有两点:

    1.支持VLAN的交换机的内部交换原理;

    2.设备之间(交换机之间,交换机与路由器之间,交换机与主机之间)交互时,VLAN TAG的添加和移除。

   802.1Q VLAN只定义了数据帧的封装格式,即,在以太网帧头中插入了4个字节的VLAN字段。其主要内容为VLAN TAG,紧随其后的数据类型和802.1p报文优先级的标识。

以太网帧格式

| DMAC(6bytes) | SMAC(6bytes) | Ether-Type(2bytes) | DATA |

带VLAN TAG的以太网帧格式

| DMAC(6bytes) | SMAC(6bytes) | Ether-Type(0x8100) | VLAN(4bytes) | DATA |

 VLAN TAG的格式

| PRI(3bits) | CFI(1bit) | TAG(12bits) | Ether-Type(2bytes) | DATA |

PRI:帧优先级,就是通常所说的802.1p。

CFI:规范标识位,0为规范格式,用于802.3或EthII。

TAG:就是我们通常说的VLAN ID

Ether-Type:标识紧随其后的数据类型。

PC:大部分的PC(专用的,或用于测试的除外)是工作在应用层的,缺省情况下是不支持(其实也不需要)VLAN TAG的。也就是说,PC发出的都是UNTAGED数据帧。

Router:路由器是支持VLAN TAG的。也就是说,路由器可以发出TAGED数据帧,也可以发出UNTAGED数据帧。需要说明的是,路由器是处理数据包的三层信息的,对于二层信息(包括VLAN信息),路由器只是检查其有效性,之后将其剥离。这个过程就是我们常说的‘终结’,也就是说,路由器会终结掉报文的VLAN信息的。

Switch:以太网交换机。VLAN技术就是主要针对于交换机提出的,所以,在讨论VLAN概念时都是立足于交换机来讨论。很显然,交换机既支持收发TAGED数据帧,也支持收发UNTAGED数据帧。从严格意义上讲,引入VLAN后,交换机的行为不再是‘透明传输’,因为数据帧经过交换机后可能发生了变化。

典型配置

交换机连接不同典型设备时的常用配置。

1). 连接PC

    在通常情况下,PC只支持收发UNTAG的数据帧,所以,连接PC的端口只需要加入一个VLAN,而且,在该VLAN中的属性为UNTAG。

2). 连接Router

    路由器既支持收发TAG数据帧,也支持收发UNTAG数据帧。通常情况下,不同的VLAN数据帧都能通过该端口与路由器互通。所以连接路由器的端口可以属于多个VLAN,而且,只能在一个VLAN中的属性是UNTAG的,在其他的VLAN中都是TAG的。

3). 连接Switch

    也就是交换机的级联。通常情况下是不同性能的交换机进行级联。这种情况和连接路由器的情况基本相同。

交换机对VLAN的tag处理

     所有能感知VLAN的交换机,报文在交换机内部转发过程中都是带Tag的。在交给交换芯片处理之前,或者交换芯片交给端口时会根据端口的设置添加或去掉Tag。

 如果没有进行配置,默认所有的端口都处于Access模式。一般来说,对端口来说与VLAN相关的有三个属性,PVID、Tag Vlan、Untag Vlan。PVID有且只有一个,Tag Vlan和Untag Vlan可能有一个,多个,也可以没有,但两个至少其中一个有一个。PVID的作用是:如果此端口收到一个Untag的报文,则交换机会根据PVID的值给此报文打上等于PVID的Tag,然后交给交换芯片处理;如果交换芯片要将一个报文从此端口发送,发现此报文的Tag值与PVID相同,则会将Tag去掉,然后从此端口发送出去。Tag Vlan和Untag Vlan主要是用于报文发送的处理,如果交换芯片要将报文从此端口发送,发现报文的Tag在此端口的Tag Vlan中,且不等于PVID,则此报文将以Tag的形式发送出去,如果在Untag Vlan中,则以Untag形式发出去。如果报文的Tag既不在Tag Vlan中,也不在Untag Vlan中,则只有一种可能,交换芯片出毛病了。这就是交换机处理Vlan Tag的基本原则了。可以如图所示,即Tag处理只在交换芯片的进、出时刻。

    这里做了简化,假设一个报文从Port1入,从Port2出,期间可能经过的环节如上所示的1-5。

报文的Tag处理主要在1、5

    环节1:如果报文的是Untag的,则报文被加上Port1的PVID的tag,然后送给2层转发引擎L2。如果报文的Tag不是Port1所属的VLAN,则报文丢弃。

环节5:如果报文此时的Tag等于Port2的PVID,则报文去Tag,变为Untag的,如果报文的Tag在端口的Untag列表里,报文去掉Tag,变为Untag。如果报文的Tag不是Port2的PVID,但在端口的Tag列表里,报文Tag不变。

     对于任意端口来说,只能是三种类型的一种:Access,Trunk,Multi。

如果是Access,端口只能属于特定VLAN,只能有一个Untag的VLAN,且其等于PVID,没有Tag的VLAN。因此Access端口只能接收Untag的报文或所属的VLAN,即等于PVID的VLAN。出去的报文都是Untag的。

    如果是Trunk端口,端口只能有一个Untag的VLAN,且其等于PVID,有多个Tag的VLAN。端口可以接收在所有允许的VLAN和Untag的报文,如果是Untag的报文,则在PVID所在的VLAN转发。报文发送时,按上述规则转发,即可能是Tag的,也可能是Untag的。

    Multi端口是一种特殊的端口,任何VLAN可能属于此端口的Untag的,也可以属于Tag的。PVID可能等于Tag VLAN中的一个,也可能属于Untag VLAN中的一个。因此这里就有矛盾的是,如果PVID是Tag VLAN中的一个,转发时仍按PVID来处理,也就是上述的规则,先进行报文的Tag与PVID的比较,只要相等就给Untag。

可以再简要分析几种转发情况。

    如果报文从Port1入,如果报文是Untag的,或者报文的Tag是Port1所属的VLAN,则报文是合法的。如果报文的MAC地址不等于端口的VLAN的MAC地址,则进行二层转发。如果L2引擎查找到目的MAC的表项,则按端口转发,否则在VLAN内广播。

    如果报文的MAC地址等于端口的VLAN的MAC地址,且此VLAN的三层接口是UP的,则会进行三层转发。报文通过环节3到三层转发引擎,如果三层转发引擎匹配到了目的IP,则硬件直接转发,从环节5出,此时Tag已经变成出接口VLAN的Tag,然后在按照端口转发原则进行转发。因此,三层报文如果从Trunk端口出,可能是Tag的,也可能是Untag的,如果是Untag的,那肯定是报文出接口的PVID所对应的VLAN。

     这里还有一个细节是交换机如何对协议报文的处理,最频繁的应该是ARP的请求报文,其余还有一些路由协议或其他协议报文。ARP报文的目的MAC是广播的,不等于VLAN的目的MAC,因此会将此报文在VLAN内广播,对所有VLAN来说,CPU也是其的一个端口。因此CPU是可以收到其他主机或网络设备对其IP的ARP请求,正确处理之后,其他主机或网络设备以后就可以使用此MAC进行三层通信了。

     引入VLAN概念后,数据帧只在相应的VLAN进行交换。用通俗一点的话来讲,一个交换机被虚拟出了多个逻辑交换机,每一个VLAN内的端口都是一个逻辑上的交换机。用专业一点的话来讲,一个交换机被划分了多个不同的广播域,每一个VLAN内的端口,在同一个广播域内。

    引入VLAN后的交换原理与传统的交换原理相比,并没有本质上的改变,同样遵循‘源MAC学习,目的MAC转发’的基本原则。唯一不同的是,学习和转发都只在同一个VLAN中进行,数据帧不能跨VLAN交换或转发。

    如果收到的数据帧携带了VLAN信息 (通常称为'TAGED数据帧',前面已经介绍了带VLAN TAG的以太帧格式),该VLAN信息中的VLAN TAG就是交换该帧的VLAN。

    如果收到的数据帧没有携带VLAN信息(通常称为‘UNTAGED’数据帧),收到该帧的端口的PVID就是交换该帧的VLAN。

    根据上面的原则,也定义了PVID的概念。当端口收到一个UNTAGED数据帧时,无法确定在哪个VLAN中进行交换,PVID定义了在这种情形下交换该帧的VLAN。从某种意义上讲,可以把PVID理解为端口的default VLAN。在支持VLAN的交换机中,每个端口都有一个PVID值,该值有一个缺省值,当然你也可以更改它。

交换机收发数据帧的处理总结

    分几种情况讨论交换机的接收和发送处理:接收端口和发送端口在VLAN中属性;收到的数据帧是TAG的还是UNTAG的。

    1). 端口接收到数据帧

     a). 如果是TAG的数据帧,检查该接收端口是否在该VLAN(数据帧中所携带的VLAN TAG)中

    - 接收端口在该VLAN中,则在该VLAN中根据交换原理(即,'源MAC学习,目的MAC转发'的原理)交换该数据包

    - 接收端口不在该VLAN中,丢弃该数据帧

     b). 如果是UNTAG的数据帧,检查该接收端口是否在某个VLAN中的属性是UNTAG

    - 接收端口在某个VLAN中的属性是UNTAG的,则在该VLAN中根据交换原理交换该数据包

    - 接收端口在任何VLAN中的属性都不是UNTAG的,丢弃该数据包

    注:根据这个原理可知,一个端口最多在一个VLAN中的属性是UNTAG的,否则,收到一个UNTAG的数据帧之后,就无法确定在哪个VLAN中进行交换。其实,端口UNTAG所在的VLAN,

2). 端口发送数据帧

     a).检查该端口在该VLAN(就是交换该数据帧的VLAN)中的属性

   - 该端口在该VLAN种的属性是TAG的,发送的数据帧为TAG的数据帧

   - 该端口在该VLAN种的属性是UNTAG的,发送的数据帧为UNTAG的数据帧

    注:由于数据已经被交换到该端口,说明该端口肯定在该VLAN里。

好了,海翎光电的小编就介绍到这里吧。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
37张图详解MAC地址、以太网、二层转发、VLAN
每个网卡或三层网口都有一个 MAC 地址, MAC 地址是烧录到硬件上,因此也称为硬件地址。MAC 地址作为数据链路设备的地址标识符,需要保证网络中的每个 MAC 地址都是唯一的,才能正确识别到数据链路上的设备。
网络工程师笔记
2021/05/17
3.2K0
37张图详解MAC地址、以太网、二层转发、VLAN
网络工程师必看 | 从动态图看VLAN技术,建议收藏!
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。
网络技术联盟站
2020/09/14
1.8K1
网络工程师必看 | 从动态图看VLAN技术,建议收藏!
VLAN
“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是广播帧,多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast Frame)也能在同一个广播域中畅行无阻。
Nujil
2023/04/12
1.8K0
VLAN及Trunk,重要!看瑞哥如何讲的明明白白!
对于一台二层交换机来说,缺省时整机的所有接口属于一个广播域。这意味着,只要连接到这个交换机的PC都配置在同一个IP子网内,即可直接进行互相访问,而且更重要的一点是,处于同一个广播域内的某个节点只要发送一个广播数据帧,在这个广播域内的所有其他节点都会收到这个数据帧,并且耗费资源来处理(即使它可能并不需要这个数据帧)。当这个广播域变得特别大(交换机上连接的用户数量特别多)时网络就非常有可能被大量的广播消耗掉大量资源。
网络技术联盟站
2020/11/04
21.6K0
VLAN及Trunk,重要!看瑞哥如何讲的明明白白!
图文并茂VLAN详解,让你看一遍就理解VLAN
VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。
Stare
2019/04/11
30.8K10
图文并茂VLAN详解,让你看一遍就理解VLAN
理解Neutron(2):Neutron OpenvSwitch + VLAN 虚拟网络
特别说明:本文于2015年基于OpenStack M版本发表于本人博客,现转发到公众号。因为时间关系,本文部分内容可能已过时甚至不正确,请注意。
SammyLiu
2019/06/28
1.8K0
理解Neutron(2):Neutron OpenvSwitch + VLAN 虚拟网络
图解3种方法实现不同vlan的主机互通
在局域网内,我们会用 VLAN 对不同的用户、不同的部门、不同用途的区域进行分组,一个 VLAN 区分一组用户,便于管理和使用。
网络工程师笔记
2021/05/17
15.5K1
图解3种方法实现不同vlan的主机互通
当一个数据帧在经过Access、trunk链路的时候分别经历了什么样的过程?
这一篇来详细了解下整个数据在该网络中是如何传递的,对于我们深入了解access以及Trunk的处理过程是非常有帮助的。(建议先看一遍,自己看是否能够去理解,然后配合视频在看一次,反复看,直到理解为止)
网络之路一天
2024/01/08
9210
当一个数据帧在经过Access、trunk链路的时候分别经历了什么样的过程?
网络工程师必须要精通的Vlan 技术 802.1Q技术,今天带你入坟!
不管在学习过程还是在实际的项目工作中,大家对 vlan 技术都不陌生而且都可以灵活运用,虽然会用但对于数据帧在何时打上 vlan tag,如何在 trunk 链路上传输、何时剥离 vlan tag 以及在华为交换机的交换机制又是怎样的呢?大家可能有这方面的困惑,今天有我和大家一块儿探讨一下数据帧交换的详细过程:
网络技术联盟站
2021/02/22
1.6K0
28张图硬是将H3CNE知识点总结成全网第一技术锦囊,附整个H3CNE完整思维导图下载
H3CNE我是太熟悉了,大学时候考H3CTE证书,H3CNE属于基础部分,那本《构建中小型企业网络》书籍不知道被我翻了多少遍,左一遍又一遍,看到最后,随便提到哪个技术点,我能一下子翻到,笔记也是做的密密麻麻。
网络技术联盟站
2023/03/13
1.8K0
28张图硬是将H3CNE知识点总结成全网第一技术锦囊,附整个H3CNE完整思维导图下载
VLAN工作原理
VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。可以看做是在一个物理局域网络上搭建出几个逻辑上分离的几个局域网。举个例子来说,如果一个交换机划分为两个VLAN,则相当于这台交换机逻辑上划分为两个交换机。
用户5807183
2019/07/15
3.8K0
VLAN工作原理
你就像我专属的 VLAN,在茫茫网络世界里,把我的心圈成了只属于你的独立空间,别人无法随意闯入,只有我们的爱自由通信——基于华为ENSP的VLAN深入浅出
盛透侧视攻城狮
2025/02/08
1750
你就像我专属的 VLAN,在茫茫网络世界里,把我的心圈成了只属于你的独立空间,别人无法随意闯入,只有我们的爱自由通信——基于华为ENSP的VLAN深入浅出
网工知识大扫盲——二层交换技术
今天给大家带来的是交换技术,主要是二层方向的,文中提到的示例都以锐捷设备为例,很适合大家查漏补缺,以下是目录:
网络技术联盟站
2021/04/25
1.7K0
VLAN技术白皮书
VLAN( Virtual Local Area Network)的中文名为"虚拟局域网"。VLAN 是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术。IEEE 于 1999 年颁布了用以标准化 VLAN 实现方案的 802.1Q 协议标准草案。
利又德智能感知
2022/11/11
4850
VLAN技术白皮书
VLAN基础知识_vlan的基本原理
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。
全栈程序员站长
2022/09/23
7080
VLAN基础知识_vlan的基本原理
网工必备技术,VLAN端口类型详解
VLAN(Virtual Local Area Network,虚拟局域网)技术可以把一个物理LAN划分成多个逻辑的LAN——VLAN,每个VLAN是一个广播域。处于同一VLAN的主机能够直接互通,而处于不同VLAN的主机不能够直接互通。
网络技术联盟站
2021/02/22
2K0
话说VLAN Tag 的“来龙去脉”
前言 自从上篇文章《三层交换机的工作原理》发布后,有很多的网络爱好者私底下与我取得了联系,针对当前的TCP/IP网络做了很多的探讨,从这些爱好者身上我也学习到了很多,正所谓活到老,学到老;看这些爱好者
SDNLAB
2018/03/28
2.5K0
话说VLAN Tag 的“来龙去脉”
链路聚合、Vlan技术基础概述
1、手工负载(默认模式) 最多捆绑链路8条,没有活动链路、非活动链路之分,一旦一个接口被绑进eth-trunk,马上进入转发状态;不交互报文
团团生活志
2022/08/16
1.4K0
VLAN技术_vlan的基本概念、作用和实现原理
MUX VLAN分为Principal VLAN和Subordinate VLAN,Subordinate VLAN又分为Separate VLAN和Group VLAN:
全栈程序员站长
2022/09/22
2.3K0
VLAN技术_vlan的基本概念、作用和实现原理
h3c交换机-初级命令
参考文档 H3C_S3600_v1510 手册 H3C_S5000E 手册 网上其他热心网友的配置文档 ##########################################################################################
py3study
2020/01/06
1.2K0
推荐阅读
相关推荐
37张图详解MAC地址、以太网、二层转发、VLAN
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档