精华:QinQ基础,VLAN双层TAG

2023-05-16

QinQ 是 802.1Q in 802.1Q 的简称,是基于 IEEE 802.1Q 技术的一种比较简单的二层 VPN 协议。

QinQ简介

IEEE 802.1Q 定义的 VLAN ID 域有 12 个比特,最多可以提供 4094 个 VLAN。但在实际应用中,尤其是在城域网中,需要大量的 VLAN 来隔离用户,4094 个 VLAN 远远不能满足需求。QinQ 使整个网络最多可以提供 4094×4094 个 VLAN,满足了城域网对 VLAN 数量的需求。

QinQ 是 802.1Q in 802.1Q 的简称,是基于 IEEE 802.1Q 技术的一种比较简单的二层 VPN 协议。

通过将一层 VLAN Tag 封装到私网报文上,使其携带两层 VLAN Tag 穿越运营商的骨干网络(又称公网),从而使运营商能够利用一个 VLAN 为包含多个 VLAN 的用户网络提供服务。

QinQ 具备以下优点

缓解公网 VLAN 资源日益紧缺的问题。

用户可以规划自己的私网 VLAN,不会导致与公网 VLAN 冲突。

为用户提供了一种简单、灵活的二层 VPN 解决方案。

当运营商进行 VLAN 规划时,用户网络不必更改原有配置,使用户网络具有了较强的独立性。

QinQ的工作原理

QinQ报文在运营商网络中传输时带有双层VLAN Tag:

内层 VLAN Tag:为用户的私网 VLAN Tag,Customer VLAN Tag (简称 CVLAN)。设备依靠该 Tag 在私网中传送报文。

外层 VLAN Tag:为运营商分配给用户的公网 VLAN Tag, Service VLAN Tag(简称 SVLAN)。设备依靠该 Tag 在公网中传送 QinQ 报文。

精华:QinQ基础,VLAN双层TAG精华:QinQ基础,VLAN双层TAG

在公网的传输过程中,设备只根据外层 VLAN Tag 转发报文,而内层 VLAN Tag 将被当作报文的数据部分进行传输。

QinQ网络拓扑

精华:QinQ基础,VLAN双层TAG精华:QinQ基础,VLAN双层TAG

用户网络A和B的私网VLAN分别为VLAN 1~10 和VLAN 1~20。运营商为用户网络A和B分配的公网VLAN分别为VLAN 3 和VLAN 4。

当用户网络 A 和 B 中带私网 VLAN Tag 的报文进入运营商网络时,报文外面就会被分别封装上 VLAN 3 和 VLAN 4 的公网 VLAN Tag。

来自不同用户网络的报文在运营商网络中传输时被隔离,即使这些用户网络各自的 VLAN 范围存在重叠,因为分配到的公网 VLAN 不同,在运营商网络中传输时也不会产生冲突。

当报文穿过运营商网络,到达运营商网络另一侧 PE(Provider Edge,服务提供商网络边缘)设备后,报文被剥离公网 VLAN Tag,然后再传送给用户网络的 CE(Customer Edge,用户网络边缘)设备。

QinQ的实现方式

当端口上配置了 QinQ 功能后,不论从该端口收到的报文是否带有 VLAN Tag,设备都会为该报文添加本端口缺省 VLAN 的 Tag:

如果收到的是带有 VLAN Tag 的报文,该报文就成为带两层 Tag 的报文;

如果收到的是不带 VLAN Tag 的报文,该报文就成为带有本端口缺省 VLAN Tag 的报文。

干货:《Linux就该这么学》

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

精华:QinQ基础,VLAN双层TAG 的相关文章

随机推荐

  • 旭日x3派个人配置总结(ubuntu server + xrdp)

    旭日x3派基本设置 旭日x3派使用文档 首发 多方位玩转旭日x3派 XRDP 43 Xface4远程桌面设置 安装xrdp并解决闪退 黑屏问题 ROS2 Foxy配置 解决 Failed to connect to raw githubus
  • 思岚S2激光雷达1—初次连接

    1 去官网下载Robostudio xff0c 我这里是windows http www slamtec com robostudio 2 连接激光雷达 3 去官网下载SDK 4 在SDK文件夹里的tools里面找驱动下载驱动 5 电脑成功
  • ZED2双目相机1:标定

    一 下载及安装 xff08 1 xff09 按照下面这个链接 xff1a https blog csdn net TengYun zhang article details 123072847 下载完是这样的 xff1a xff08 2 x
  • ZED2双目相机2:畸变矫正

    1 运行ZED2相机 xff08 注意是在ZED WS工作空间里 xff09 xff08 1 xff09 关闭anconda xff08 如果有的话 xff09 xff1a conda deactivate span class token
  • 用android代码实现一个可以万能播放器

    要实现一个万能播放器需要使用多媒体库 xff0c 可以使用Android自带的MediaPlayer类以及ExoPlayer库 以下是一个简单的示例代码 xff1a 在XML布局文件中添加一个SurfaceView和几个按钮 xff1a s
  • 初出茅庐的小李第108篇博客二进制打印

    二进制打印介绍 C语言在格式化打印的时候有很多格式控制 xff0c 比如十进制打印用 d输出 xff0c 十六进制用 x输出 xff0c 八进制用 o格式输出 xff0c 但是当我们期望看一个数据的二进制的时候就必须借助计算器或者其他比较不
  • QGroundControl 自定义命令小工具的使用

    Custom Command Widgets 不用编译qgc的源码 xff0c 仅仅需要编写一个QML UIs文件这个小工具窗口可以被加载 xff0c 并且从重启之后仍然可以使用 xff0c 而且不受操作系统的限制主要有两个用途 xff11
  • HTTP请求方式GET和POST代码示例

    HTTP请求方式GET和POST代码示例 1 HTTP名词解释1 2 HTTP传输方式1 2 1GET名词解释1 2 1POST名词解释 1 3Http中Post 和Get代码实现 1 HTTP名词解释 HTTP大名叫做超文本传输协议 xf
  • Postman工具常见操作

    Postman常见操作 1 新建GET或POST请求 xff08 1 xff09 打开Postman xff0c 选择File gt New xff08 2 xff09 选择Request xff0c 进入 xff08 3 xff09 输入
  • Ubuntu18.04+ROS melodic 跑通VINS-MONO的一些踩坑记录

    VINS MONO的一些踩坑记录 0 本机环境 笔者的环境为Ubuntu 18 04 43 ros melodic 43 opencv 4 1 1 43 Eigen 3 3 9 43 ceres solver 1 14 跟VINS MONO
  • GPIO库函数开发和寄存器开发的区别

    函数原型为 xff1a void GPIO SetBits GPIO TypeDef GPIOx uint16 t GPIO Pin xff08 1 xff09 gt 箭头操作符要求左操作数必须是个指针GPIO TypeDef GPIOx
  • C++ 编译

    C 43 43 编译原理 参考博客 https www cnblogs com kevinWu7 p 10163443 html C C 43 43 编译就是要将C C 43 43 的代码映射到相应的机器码 xff0c 以及讨论其中的内存管
  • STM32串口中断的方式发送

    我将其改为真正的中断发送 步骤一 xff1a 初始化GPIO GPIO InitTypeDef GPIO InitStructure GPIO InitStructure GPIO Pin 61 GPIO Pin 10 LED1 PC10
  • 什么是大端小端 and 如何判断大端小端

    1 为什么会有大小端模式之分呢 xff1f 这是因为在计算机系统中 xff0c 我们是以字节为单位的 xff0c 每个地址单元都对应着一个字节 xff0c 一个字节为8bit 但是在C语言中除了8bit的char之外 xff0c 还有16b
  • python中串口通信的步骤及实现

    python内置的库函数确实很强大 xff0c serial库中包含了串口通信所用到的一些函数 本文用python实现了串口的一种简单通信 代码实现 xff1a span class token keyword import span se
  • 结构体作用(STM32)

    结构体作用 xff08 STM32 xff09 来源 xff1a 正点原子 MDK 中很多地方使用结构体以及结构体指针 xff0c 下面总结一下其使用结构体的主要作用 1 结构体是将不同的数据类型整合为一个有机整体 xff0c 方便数据管理
  • 两轴舵机云台的一点实践

    两轴舵机云台的一点实践 效果演示硬件使用情况定时器中断代码计算机体系下的云台角代码舵机控制代码工程源码下载 简介 xff1a 为了学习姿态解算相关知识 xff0c 最近做了一个作品 xff0c 模仿炮塔跟随系统 xff0c 用陀螺仪使两个舵
  • 栈的使用场景

    当数据的处理顺序要与接收顺序相反时 xff08 LIFO xff09 last in first out xff0c 就可以用栈 像文字处理器的 撤销 动作 xff0c 或网络应用程序的函数调用 xff0c 你应该都会需要栈来实现 在处理括
  • 如何重装Ubuntu 系统

    如果你弄坏了你的 Ubuntu 系统 xff0c 并尝试了很多方法来修复 xff0c 你最终放弃并采取简单的方法 xff1a 重新安装 Ubuntu 我们一直遇到这样一种情况 xff0c 重新安装 Linux 似乎比找出问题并解决来得更好
  • 精华:QinQ基础,VLAN双层TAG

    QinQ 是 802 1Q in 802 1Q 的简称 xff0c 是基于 IEEE 802 1Q 技术的一种比较简单的二层 VPN 协议 QinQ简介 IEEE 802 1Q 定义的 VLAN ID 域有 12 个比特 xff0c 最多可