首页 > 其他分享 >VLAN

VLAN

时间:2024-06-13 11:21:33浏览次数:21  
标签:报文 VLAN 缺省 接口 Tag ID

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

标签:报文,VLAN,缺省,接口,Tag,ID
From: https://www.cnblogs.com/tryst/p/18245543

相关文章

  • VLAN技术和VLAN间路由
    VLAN技术和VLAN间路由VLAN技术:交换机分割广播域的技术。VLAN:VirtualLAN虚拟局域网。*这里把交换机的物理接口称为端口。VLAN技术一、VLAN概述:1.VLAN本质:逻辑独立的IP子网通过“路由”设备:第三层交换机进行通信2.优点:增加网络部署的灵活性(管理员可以规避地理、物理等......
  • VLAN技术和VLAN间 路由
    VLAN技术和VLAN间路由VLAN技术:交换机分割广播域的技术。VLAN:VirtualLAN虚拟局域网。*这里把交换机的物理接口称为端口。VLAN技术一、VLAN概述:1.VLAN本质:逻辑独立的IP子网通过“路由”设备:第三层交换机进行通信2.优点:增加网络部署的灵活性(管理员可以规避地理、物理等......
  • 计算机网络实验一:vlan的创建与划分
    这个是pkt文件有两道题所以我是两个文件https://pan.quark.cn/s/d4170897cb59https://pan.quark.cn/s/da48878c77f5发现复制不来图片把实验报告也放在夸克网盘大家自行下载https://pan.quark.cn/s/e4c63d315050有兴趣的可以一点一点跟着做没兴趣的自行下载提交(手动......
  • vlan划分
    实验一vlan的创建与划分一、实验目的: 1.了解vlan的工作原理;2.学习基于端口划分vlan的方法;3.了解跨交换机的相同vlan之间的通信;4.进一步学习交换机端口的配置命令。二、实验原理:VLAN(VirtualLocalAreaNetwork)即虚拟局域网,是一种通过将局域网内的设备逻辑地而不是物理地划分成......
  • 基于mac-vlan的网络准入控制方案
    网络拓扑图如下:SW1配置vlan1020304000#创建vlaninterfaceGigabitEthernet1/0/1#进入接口portlink-typehybrid#接口模式设为hybridporthybridvlan1020304000untagged#vlan1020304000数据包没有tagporthybridpvidvla......
  • 《计算机网络微课堂》实验22 VLAN间通信的实现方法:单臂路由
    下面‍‍我们来进行一个仿真实验,本仿真实验的目的在于验证VLAN间的通信,‍‍可以使用单臂路由来实现。我已经在仿真软件中构建好了我们理论课中所使用的网络拓扑,‍‍并且在各主机和路由器的各接口旁边都标注好了所需配置的IP地址和地址掩码。​​‍需要说明的是CIDR地址......
  • 《计算机网络微课堂》实验23 VLAN间通信的实现方法:使用三层交换机
    本仿真实验的目的在于验证VLAN间的通信可以使用三层交换机来实现。我已经在仿真软件中构建好了我们理论课中所使用的网络拓扑,并在各主机的旁边都标注好了所需配置的IP地址和地址掩码。​​‍博主注:在视频里使用到了三层交换机,但不知道是哪一种型号的,看到类似的有356024PS......
  • 《计算机网络微课堂》实验21 VLAN间通信的实现方法:多臂路由
    本仿真实验的目的在于验证微软件的通信可以使用多臂路由来实现。‍‍‍我已经在仿真软件中构建好了我们理论课中所使用的网络拓扑,‍‍并且在各主机和路由器的各接口旁边都标注好了所需配置的IP地址和地址掩码。‍‍​​‍需要说明的是三个地址块/后面的数字24,‍‍表明地址......
  • 计网期末复习指南(三):数据链路层(CRC冗余校验码计算、PPP协议、CSMA/CD协议、交换机的自
    前言:本系列文章旨在通过TCP/IP协议簇自下而上的梳理大致的知识点,从计算机网络体系结构出发到应用层,每一个协议层通过一篇文章进行总结,本系列正在持续更新中...  计网期末复习指南(一):计算机网络体系结构计网期末复习指南(二):物理层计网期末复习指南(三):数据链路层目录一.数......
  • 《计算机网络微课堂》实验7 虚拟局域网VLAN
    下面我们来进行一个仿真实验咱们仿真实验的内容是学习如何划分VLAN以及验证划分VLAN的作用。首先请您按图所示构建这样一个网络拓扑,然后给各个主机设置相应的IP地址。如果您构建好网络拓扑之后,发现交换机的各个端口并没有显示端口号,那您可以在菜单栏上选择选项,然后参数选择......