VLAN

news/2024/10/24 13:29:25/文章来源:https://www.cnblogs.com/tryst/p/18245543

VLAN的基本概念

1.1定义:

VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。

1.2目的:

以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的共享通讯介质的数据网络通讯技术。当主机数目较多时会导致冲突严重、广播泛滥、性能显著下降甚至造成网络不可用等问题。通过交换机实现LAN互连虽然可以解决冲突严重的问题,但仍然不能隔离广播报文和提升网络质量。

在这种情况下出现了VLAN技术,这种技术可以把一个LAN划分成多个逻辑的VLAN,每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,这样,广播报文就被限制在一个VLAN内。

1.3作用:

  • 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
  • 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
  • 提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
  • 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。

1.4VLAN标签:

要使设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息。

VLAN帧格式:

VLANtag格式

 

图:VLAN数据帧格式

 

字段解释:

字段 长度 含义 取值
TPID 2Byte Tag Protocol Identifier(标签协议标识符),表示数据帧类型。 表示帧类型,取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。 各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时, 为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。
PRI 3bit Priority,表示数据帧的802.1Q优先级。 取值范围为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标签中的VID来识别数据帧所属的VLAN,广播帧只在同一VLAN内转发,这就将广播域限制在一个VLAN内。

pvid和vid

        默认的pvid=vlan id(vid:vlan id);
        PVID为Port Vlan ID,关系到端口收发数据帧时的VLAN TAG 标记;
        pvid是交换机上的概念,说的是进入该端口的报文如果没有打vlan id就按pvid的值打上;
        vid是报文上的vlan tag的意思;
        一个端口可以属于多个vlan,但是只能有一个pvid;
        简单的说,VID(VLAN ID)是VLAN的标识,定义其中的端口可以接收发自这个VLAN的包;而PVID(Port VLAN ID)定义这个untag端口可以转发哪个VLAN的包。
        比如,当端口1同时属于VLAN1、VLAN2和VLAN3时,而它的PVID为1,那么端口1可以接收到VLAN1,2,3的数据,但发出的包只能发到VLAN1(以VLAN1值建立的虚拟interface)中。

常用设备收发数据帧的VLAN标签情况:

在一个VLAN交换网络中,以太网帧主要有以下两种格式:

  • 有标记帧(Tagged帧):加入了4字节VLAN标签的帧。
  • 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的帧。

常用设备中:

  • 用户主机、服务器、Hub只能收发Untagged帧。
  • 交换机、路由器和AC既能收发Tagged帧,也能收发Untagged帧。
  • 语音终端、AP等设备可以同时收发一个Tagged帧和一个Untagged帧。

为了提高处理效率,设备内部处理的数据帧一律都是Tagged帧。

1.5链路类型和接口类型:

设备内部处理的数据帧一律都带有VLAN标签,而现网中的设备有些只会收发Untagged帧,要与这些设备交互,就需要接口能够识别Untagged帧并在收发时给帧添加、剥除VLAN标签。同时,现网中属于同一个VLAN的用户可能会被连接在不同的设备上,且跨越设备的VLAN可能不止一个,如果需要用户间的互通,就需要设备间的接口能够同时识别和发送多个VLAN的数据帧。

为了适应不同的连接和组网,设备定义了Access接口、Trunk接口和Hybrid接口3种接口类型,以及接入链路(Access Link)和干道链路(Trunk Link)两种链路类型。

链路类型:

根据链路中需要承载的VLAN数目的不同,以太网链路分为:

  • 接入链路

    接入链路只可以承载1个VLAN的数据帧,用于连接设备和用户终端(如用户主机、服务器等)。通常情况下,用户终端并不需要知道自己属于哪个VLAN,也不能识别带有Tag的帧,所以在接入链路上传输的帧都是Untagged帧。

  • 干道链路

    干道链路可以承载多个不同VLAN的数据帧,用于设备间互连。为了保证其它网络设备能够正确识别数据帧中的VLAN信息,在干道链路上传输的数据帧必须都打上Tag。

接口类型:

根据接口连接对象以及对收发数据帧处理的不同,以太网接口分为:

  • Access接口

    Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。它只能收发Untagged帧,且只能为Untagged帧添加唯一VLAN的Tag。

  • Trunk接口

    Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。它可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。

  • Hybrid接口

    Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等)和网络设备(如Hub),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。它可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)、某些VLAN的帧不带Tag(即剥除Tag)。

    Hybrid接口和Trunk接口在很多应用场景下可以通用,但在某些应用场景下,必须使用Hybrid接口。比如一个接口连接不同VLAN网段的场景中,因为一个接口需要给多个Untagged报文添加Tag,所以必须使用Hybrid接口。

1.6缺省VLAN:

缺省VLAN又称PVID(Port Default VLAN ID)。前面提到,设备处理的数据帧都带Tag,当设备收到Untagged帧时,就需要给该帧添加Tag,添加什么Tag,就由接口上的缺省VLAN决定。

接口收发数据帧时,对Tag的添加或剥除过程。

  • 对于Access接口,缺省VLAN就是它允许通过的VLAN,修改缺省VLAN即可更改接口允许通过的VLAN。
  • 对于Trunk接口和Hybrid接口,一个接口可以允许多个VLAN通过,但是只能有一个缺省VLAN。接口的缺省VLAN和允许通过的VLAN需要分别配置,互不影响。

同类型接口添加或剥除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。

 

2. QinQ报文封装格式

因为IEEE 802.1Q中定义的VLAN Tag域只有12个比特,仅能表示4096个VLAN,无法满足城域以太网中标识大量用户的需求,于是产生了QinQ技术,拓展VLAN的数量空间。QinQ在原有的802.1Q报文的基础上增加一层802.1Q标签,使得VLAN数量增加到4094×4094。

在公网的传输过程中,设备只根据外层VLAN Tag转发报文,并根据报文的外层VLAN Tag进行MAC地址学习,而用户的内层VLAN Tag将被当作报文的数据部分进行传输。QinQ的内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务。

图1-2 802.1Q封装和QinQ封装

帧大小

QinQ报文比802.1Q报文多四个字节,因此建议用户在组网时适当增加运营商网络中各接口的最大帧长(至少为1504 字节)。目前交换机缺省支持的最大帧长超过1504字节,不需要手动配置。

TPID

不同运营商的系统可能将QinQ帧外层VLAN标记的TPID设置为不同值。为实现与这些系统的兼容性,可以修改TPID值,使QinQ帧发送到公网时,承载与特定运营商相同的TPID值,从而实现与该运营商设备之间的互操作性。VLAN数据帧的TPID与不带VLAN标记的帧的协议类型字段位置相同,为避免在网络中转发和处理数据包时出现问题,不可将TPID值设置为下表中的任意值。

协议类型字段数值及其表示的协议

对应值

协议类型

0x0806

ARP

0x8035

RARP

0x0800

IP

0x86DD

IPv6

0x8863/0x8864

PPPoE

0x8847/0x8848

MPLS

0x8137

IPX/SPX

0x8809

LACP

0x888E

802.1x

0x88A7

HGMP

0xFFFD/0xFFFE/0xFFFF

设备保留


                        
参考:

VLAN Tag的使用

https://cshihong.github.io/2017/11/05/VLAN%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/

https://blog.csdn.net/hao745580264_dawei/article/details/123444426

https://support.huawei.com/enterprise/zh/doc/EDOC1100088136

https://www.cnblogs.com/clover-toeic/p/3741115.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/724165.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

龙哥量化:通达信新超买超卖指标公式源码

如果您需要代写公式, 请联系我。 龙哥QQ:591438821 龙哥微信:Long622889 新超买超卖指标公式 使用说明: 1.适用于超跌反弹行情。 2.个股大幅下跌后,连续出现黄区块表明进入超卖严重,一段时间内出现的次数越多连续时间越长,后面的行情越有期待。 3.当出现买入信号,可以试…

开源数据库生态遇新变数,天翼云TeleDB提供企业数据管理更优解!

天翼云TeleDB分析型实例是一款性能卓越、完全托管的PB级国产化云分析型数据库产品,可提供轻松的海量数据分析体验。基于元数据、计算和存储分离的架构,TeleDB分析型实例集成了MPP数据库的高性能和分析功能、大数据平台的扩展性和灵活性以及云计算的弹性和敏捷性,支持SQL及标…

五连冠!天翼云稳居中国专属云服务市场榜首!

近日,国际数据公司IDC发布的《中国专属云服务市场(2023下半年)跟踪》报告显示,2023下半年,专属云服务整体市场规模同比增长18.0%。中国电信天翼云以21.8%的市场份额,蝉联中国专属云服务市场第一。天翼云连续五次登顶,以实力持续领跑中国专属云服务市场。近日,国际数据公…

数字先锋 | SaaS服务“拎包入住”?央企数字化转型体验感拉满!

在数字化转型过程中,SaaS模式凭借其快速部署、易于管理、成本低廉等优势,成为国资央企数字化转型的首选模式之一。 基于国资央企SaaS应用服务共享平台,中国电信天翼云与中国信科共建国云邮箱SaaS应用,依托标准化、高质量的邮箱系统,提供了高效的管理和运营支撑,为行业持续…

龙哥量化:通达信简单抄底吃货副图源码

如果您需要代写公式, 请联系我。 龙哥QQ:591438821 龙哥微信:Long622889 B:=EMA((C-LLV(L,3))/(HHV(H,3)-LLV(L,3))*C*1.2,3); 抄底吃货:COUNT(B<H*0.2,2) AND C/REF(C,1)>1.093,COLORYELLOW,LINETHICK2; STICKLINE(抄底吃货,0,0.8,2,0),COLOR0000FF;

龙哥量化:通达信波段潜伏金叉副图指标公式源码

如果您需要代写公式, 请联系我。 龙哥QQ:591438821 龙哥微信:Long622889 T:80,POINTDOT,COLORBLUE,LINETHICK3; OO:20,POINTDOT,COLORMAGENTA,LINETHICK3; ZKK:kd.K#WEEK(9,3,3),COLORRED; ZKD:KD.D#WEEK(9,3,3),COLORYELLOW; VAR1:=FILTER(crOSS(ZKK,ZKD) AND REF(ZKD,1)&l…

龙哥量化:通达信神密底指标,抄底类源码副图

如果您需要代写公式, 请联系我。 龙哥QQ:591438821 龙哥微信:Long622889 DRAWGBK(CLOSE>0,RGB(0,10,10),RGB(88,0,0),0,2,0); VAR1:=MA(CLOSE,55); VAR2:=expma(CLOSE,6); VAR3:=MA(CLOSE,5); VAR4:=MA(CLOSE,5)-MA(CLOSE,13)+MA(CLOSE,8); VAR5:=MA(VAR4,2); VAR6:=VAR4…

代码随想录 算法训练营 d7 Leetcode344 反转字符串 Leetcode541 反转字符转2 替换数字54

Leetcode344 反转字符串 题目链接 双指针思想 交换字符即可class Solution {public void reverseString(char[] s) {int l = 0;int r = s.length-1;while(l<r){char tep = s[l];s[l] = s[r];s[r] = tep;l++;r--;}} }Leetcode541 反转字符转2 题目链接 讲解 理顺题目逻辑即可…

酷炫大屏展示!一个完全开源的BI平台!

AJ-Report —— 一个全开源的BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。大家好,我是 Java陈序员。 在工作中,我们积累了很多宝贵的数据,但是数据是冰冷的,需要以图表的形式展示给用户观看,这时候就需要一个强大的 BI 平台。 今天,给大家介…

龙哥量化:通达信成交宝典指标公式源码

如果您需要代写公式, 请联系我。 龙哥QQ:591438821 龙哥微信:Long622889 {指标介绍:红色走强持股,灰色走弱持币,绿色清仓。} X_1:=25;X_2:=(X_1-HHVBARS(HIGH,X_1))/X_1*100;X_3:=(X_1-LLVBARS(HIGH,X_1))/X_1*100;X_4:=(CLOSE*2+HIGH+LOW)/4;X_5:=EMA(X_4,13)-EMA(X_4,3…

龙哥量化:通达信机构进场减仓主图指标公式源码

如果您需要代写公式, 请联系我。 龙哥QQ:591438821 龙哥微信:Long622889 上市日期:FINANCE(42)/100, NODRAW ; VAR1:=MA(CLOSE,5),COLOR00FFFF; VAR2:=MA(CLOSE,13),COLOR00FF33; VAR5:=MA(CLOSE,34),COLORFF9900; VAR6:=MA(CLOSE,54),COLORFF9900; VAR7:=((EMA(CLOSE,5)*7+…

高性能版本的零内存分配LikeString函数(ZeroMemAllocLikeOperator)

继上一篇文章在.NET Core,除了VB的LikeString,还有其它方法吗?(四种LikeString实现分享)分享了四种实现方式,笔者对这四种实现方式,不管是执行性能还是内存分配性能上,都不太满意。 那么是否有好的实现方法呢?答案是有的。 今天我们就搬出ReadOnlySpan<T>这个非常…