当前位置: 首页 > news >正文

华为eNSP:QinQ

一、什么是QinQ?

QinQ是一种网络技术,全称为"Quantum Insertion",也被称为"Q-in-Q"、"Double Tagging"或"VLAN stacking"。它是一种在现有的VLAN(Virtual Local Area Network)标签中再添加一个额外的VLAN标签的方法。

QinQ的主要目的是解决VLAN的可扩展性问题。在传统的VLAN中,每个VLAN只能支持一定数量的网络设备。当网络规模扩大时,就会出现VLAN数量不足的情况。通过使用QinQ技术,可以在已有的VLAN标签中嵌套一个额外的VLAN标签,从而扩展了VLAN的数量。

QinQ的工作原理是在原始数据帧的头部添加两个VLAN头部,其中外层的VLAN头部用于区分不同的VLAN,内层的VLAN头部用于标识具体的网络设备。

QinQ技术在大规模企业网络中被广泛应用,特别是在数据中心和服务提供商的网络中。它能够提供更高的网络灵活性和可扩展性,同时可以隔离和区分不同的网络流量。

二、QinQ的作用

  1. 扩展VLAN数量:QinQ技术可以将多个VLAN堆叠在同一个物理链路上,通过两层封装的方式将内部VLAN打包在外层VLAN中传输,从而扩展了VLAN的数量。这样可以解决VLAN数量不够用的问题。

  2. 增强VLAN隔离:QinQ技术可以在不同的网络中使用相同的内部VLAN标识,通过不同的外层VLAN标识进行区分,从而增强了VLAN之间的隔离性。这样可以实现不同用户之间的隔离,提高网络的安全性。

  3. 简化网络拓扑结构:QinQ技术可以将多个VLAN传输在同一个物理链路上,减少了物理链路的数量,简化了网络拓扑结构,降低了网络部署和维护的成本。

  4. 提高网络性能:QinQ技术可以减少网络中不必要的广播和多播,提高网络的性能和带宽利用率。通过将不同VLAN的数据打包在同一个物理链路上传输,可以减少广播域,减少广播和多播帧的传输量。

三、QinQ的功能

  1. 扩展VLAN数量:通过将多个VLAN标签堆叠,QinQ可以将原本支持的VLAN数量增加到更多,从而满足更复杂的网络拓扑需求。

  2. 实现二层隔离:QinQ可以在一个物理链路上实现多个VLAN之间的二层隔离,避免不同VLAN之间的冲突和干扰。

  3. 提供更高层级的VLAN隔离:QinQ可以将一个VLAN作为另一个VLAN的承载,形成更高层级的VLAN隔离。这种隔离可以提供更多的灵活性和可扩展性。

  4. 优化网络带宽利用率:QinQ可以将多个VLAN数据流合并在一个物理链路上传输,从而提高网络带宽利用率。

  5. 统一管理:QinQ可以通过将多个VLAN合并在一起,实现对这些VLAN的统一管理和配置。

四、实验拓扑和命令及步骤

拓扑:

实验目的:
掌握灵活qinq和基本qinq的配置
实验步骤:
1. 配置公司A和公司B的私有网络,创建对应的vlan,
并且接口的链路类型
2. 在公网设备配置公网vlan,并且配置qinq 
3. 配置公网设备互联端口的链路类型,
放行公网vlan流量通过
4. 测试PC1和PC2 、PC5和PC6、PC3和PC4的连通性,
并且在S1的G0/0/2口抓包

实验命令:
SW1
<Huawei>sy
[Huawei]un in e
[Huawei]sys SW1
[SW1]vlan batch 2 3 4
[SW1]int g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type hybrid     
[SW1-GigabitEthernet0/0/1]port hybrid untagged vlan 2 3
[SW1-GigabitEthernet0/0/1]qinq vlan-translation enable 
[SW1-GigabitEthernet0/0/1]port vlan-stacking vlan 10 stack-vlan 2
[SW1-GigabitEthernet0/0/1]port vlan-stacking vlan 20 stack-vlan 3
[SW1-GigabitEthernet0/0/1]int g0/0/3
[SW1-GigabitEthernet0/0/3]port l        
[SW1-GigabitEthernet0/0/3]port link-type dot1q-tunnel     
[SW1-GigabitEthernet0/0/3]port default vlan 4
[SW1-GigabitEthernet0/0/3]q
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk 
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 3 4

SW2

<Huawei>sy
[Huawei]un in e
[Huawei]sys SW2
[SW2]vlan batch 2 3 4
[SW2]int g0/0/1
[SW2-GigabitEthernet0/0/1]port link-type hybrid 
[SW2-GigabitEthernet0/0/1]port hybrid untagged vlan 2 3    
[SW2-GigabitEthernet0/0/1]qinq vlan-translation enable
[SW2-GigabitEthernet0/0/1]port vlan-stacking vlan 10 stack-vlan 2
[SW2-GigabitEthernet0/0/1]port vlan-stacking vlan 20 stack-vlan 3
[SW2-GigabitEthernet0/0/1]int g0/0/3
[SW2-GigabitEthernet0/0/3]port link-type dot1q-tunnel 
[SW2-GigabitEthernet0/0/3]port default vlan 4
[SW2-GigabitEthernet0/0/3]int g0/0/2
[SW2-GigabitEthernet0/0/2]port link-type trunk 
[SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 3 4

SW3
<Huawei>sy
[Huawei]un in e
[Huawei]sys SW3
[SW3]vlan batch 10 20
[SW3]int g0/0/2
[SW3-GigabitEthernet0/0/2]port link-type access
[SW3-GigabitEthernet0/0/2]port default vlan 10
[SW3-GigabitEthernet0/0/2]int g0/0/3
[SW3-GigabitEthernet0/0/3]port link-type access
[SW3-GigabitEthernet0/0/3]port default vlan 20
[SW3-GigabitEthernet0/0/3]int g0/0/1
[SW3-GigabitEthernet0/0/1]port link-type trunk 
[SW3-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20

SW4
<Huawei>sy
[Huawei]un in e
[Huawei]sys SW4
[SW4]vlan batch 10 20
[SW4]int g0/0/2
[SW4-GigabitEthernet0/0/2]port link-type access
[SW4-GigabitEthernet0/0/2]port default vlan 10
[SW4-GigabitEthernet0/0/2]int g0/0/3
[SW4-GigabitEthernet0/0/3]port link-type access
[SW4-GigabitEthernet0/0/3]port default vlan 20
[SW4-GigabitEthernet0/0/3]int g0/0/1
[SW4-GigabitEthernet0/0/1]port link-type trunk 
[SW4-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20

SW5
<Huawei>sy
[Huawei]un in e
[Huawei]sys SW5
[SW5]vlan batch 10
[SW5]int g0/0/2
[SW5-GigabitEthernet0/0/2]port link-type access
[SW5-GigabitEthernet0/0/2]port default vlan 10
[SW5-GigabitEthernet0/0/2]int g0/0/1
[SW5-GigabitEthernet0/0/1]port link-type trunk
[SW5-GigabitEthernet0/0/1]port trunk allow-pass vlan 10

SW6
<Huawei>sy
[Huawei]un in e
[Huawei]sys SW6
[SW6]vlan batch 10
[SW6]int g0/0/2
[SW6-GigabitEthernet0/0/2]port link-type access
[SW6-GigabitEthernet0/0/2]port default vlan 10
[SW6-GigabitEthernet0/0/2]int g0/0/1
[SW6-GigabitEthernet0/0/1]port link-type trunk 
[SW6-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
实验测试: 

使用PC1和PC2、PC5和PC6、PC3和PC4的连通性,并在S1的G0/0/2的接口抓包

 

五、总结

1、QinQ通过堆叠多个VLAN标签,提供了更灵活、可扩展和高效的VLAN解决方案,使得以太网网络能够应对更复杂的拓扑需求和隔离要求。

2、QinQ技术可以扩展VLAN数量,增强VLAN隔离,简化网络拓扑结构,提高网络性能,是一种在VLAN环境中提供更加灵活和高效的解决方案。

相关文章:

华为eNSP:QinQ

一、什么是QinQ&#xff1f; QinQ是一种网络技术&#xff0c;全称为"Quantum Insertion"&#xff0c;也被称为"Q-in-Q"、"Double Tagging"或"VLAN stacking"。它是一种在现有的VLAN&#xff08;Virtual Local Area Network&#xff0…...

JAVA基础-多线程线程池

文章目录 1. 多线程1.1什么是多线程&#xff08;1&#xff09;并发和并行&#xff08;2&#xff09;进程和线程 1.2多线程的实现方式1.2.1 方式一&#xff1a;继承Thread类1.2.2 方式二&#xff1a;实现Runnable接口1.2.3方式三: 实现Callable接口 1.3 常见的成员方法1.3.1 设置…...

HarmonyOS 沉浸式状态实现的多种方式

1. HarmonyOS 沉浸式状态实现的多种方式 HarmonyOS 沉浸式状态实现的多种方式 1.1. 方法一 1.1.1. 实现讲解 &#xff08;1&#xff09;首先设置setWindowLayoutFullScreen(true)&#xff08;设置全屏布局&#xff09;。   布局将从屏幕最顶部开始到最底部结束&#xff0c…...

Python3.11.9下载和安装

Python3.11.9下载和安装 1、下载 下载地址&#xff1a;https://www.python.org/downloads/windows/ 选择版本下载&#xff0c;例如&#xff1a;Python 3.11.9 - April 2, 2024 2、安装 双击exe安装 3、配置环境变量 pathD:\Program Files\python3.11.9...

简简单单的UDP

前言 上一篇了解了TCP的三次握手过程&#xff0c;目的、以及如何保证可靠性、序列号与ACK的作用&#xff0c;最后离开的时候四次挥手的内容&#xff0c;这还只是TCP内容中的冰山一角&#xff0c;是不是觉得TCP这个协议非常复杂&#xff0c;这一篇我们来了解下传输层另外一个协…...

减少 try...catch,定义全局统一异常处理器!

前言 软件开发springboot项目过程中&#xff0c;不可避免的需要处理各种异常,spring mvc 架构中各层会出现大量的try {...} catch {...} finally {...}代码块&#xff0c;不仅有大量的冗余代码&#xff0c;而且还影响代码的可读性。这样就需要定义个全局统一异常处理器&#x…...

多点支撑:滚珠导轨的均匀分布优势!

滚珠导轨的滚珠稳定性可以有效保持滚珠导轨的稳定运行&#xff0c;减少滚珠脱落的风险&#xff0c;确保设备的长期稳定性和可靠性。事实上&#xff0c;滚珠导轨的滚珠稳定性主要依赖于以下几个方面&#xff1a; 1、精密的制造工艺&#xff1a;滚珠导轨的导轨和滑块通常采用高精…...

电气火灾探测器在商场火灾隐患监测和火灾预防中的应用

徐悦 安科瑞电气股份有限公司 近年来&#xff0c;全国火灾事故频发&#xff0c;尤其是在大型商场等公共场所&#xff0c;火灾造成了巨大的人员伤亡和财产损失。以南京金盛百货中央门店火灾为例&#xff0c;该起事故暴露了商场在电气安全、消防管理方面的重大隐患&#xff0c;…...

速盾:如何有效防止服务器遭受攻击?

服务器攻击是网络安全中常见的问题&#xff0c;但我们可以采取一系列的措施来有效防止服务器的遭受攻击。以下是一些常见的防御措施&#xff1a; 更新和维护服务器软件&#xff1a;及时更新操作系统、应用程序以及安全补丁&#xff0c;以确保最新版本的软件没有已知的漏洞。同时…...

【今日更新】使用Python辅助处理WebGIS

Linux发行版本: Debian GNU/Linux 12 (bookworm)操作系统内核: Linux-6.1.0-18-amd64-x86_64-with-glibc2.36Python版本: 3.11.2 1.使用Python处理MapServer配置文件Mapfile 创建、分析、修改和格式化的python库 MapServer Mapfiles。 Python 2和3 兼容 纯Python-无MapServer依…...

Linux 消息队列

在Linux中&#xff0c;线程间消息队列可以通过使用System V消息队列或POSIX消息队列来实现。 使用System V消息队列&#xff1a; System V消息队列是一种基于IPC&#xff08;Inter-process Communication&#xff0c;进程间通信&#xff09;的通信机制&#xff0c;可以用于进程…...

十大经典排序算法-冒泡算法详解介绍

1、十大经典排序算法 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序&#xff0c;内部排序是数据记录在内存中进行排序&#xff0c;而外部排序是因排序的数据很大&#xff0c;一次不能容纳全部的排序记录&#xff0c;在排序过程中需要…...

delphi 编译多语言工程 error RC2104 : undefined keyword or key name:

Delphi 10.3中建立多语言工程&#xff0c;编译时出现错误&#xff1a;error RC2104 : undefined keyword or key name: 出现错误的的文件是.rc文件&#xff0c;出现错误的位置是 System_JSONConsts_SInvalidJavascriptQuote, L"Invalid JavaScript string quote character…...

[python] 如何debug python脚本中C++后端的core dump

文章目录 Debug过程Reference Debug过程 另外&#xff1a;对于core dump: gdb版本是>7&#xff0c;gdb从版本7开始支持对Python的debug。确保你的系统中安装了 GDB 调试器和对应版本的 Python 调试信息包&#xff08;例如 python-dbg 或 python-debuginfo&#xff09;。 #…...

Ecmascript(ES)标准

Ecmascript&#xff08;ES&#xff09;标准 ECMAScript&#xff08;通常简称为 ES&#xff09;是一种标准化的脚本语言&#xff0c;由 Ecma International 通过 ECMA-262 标准定义。ECMAScript 是 JavaScript 的规范版本&#xff0c;几乎所有的现代浏览器和许多服务器端环境&a…...

易泊车牌识别相机:4S 店的智能之选

在当今数字化时代&#xff0c;科技的进步不断为各个行业带来更高效、便捷的解决方案。对于 4S 店来说&#xff0c;易泊车牌识别相机的出现&#xff0c;无疑为其运营管理带来了全新的变革。 一、易泊车牌识别相机的强大功能 易泊车牌识别相机以其卓越的性能和精准的识别能力&…...

Webpack 深度解析与实战指南

文章目录 前言一、安装于基本配置安装Webpack 和 Webpack CLI创建基本配置文件 二、加载器常见的加载器配置加载器 三、插件&#xff08;Plugins&#xff09;常用的插件配置插件 四、性能优化缓存代码分割Tree Shaking压缩 五、开发服务器安装服务器配置服务器启动服务器生产环…...

【RabbitMQ】06-消费者的可靠性

1. 消费者确认机制 没有ack&#xff0c;mq就会一直保留消息。 spring:rabbitmq:listener:simple:acknowledge-mode: auto # 自动ack2. 失败重试机制 当消费者出现异常后&#xff0c;消息会不断requeue&#xff08;重入队&#xff09;到队列&#xff0c;再重新发送给消费者。…...

【K8S系列】如何监控集群CPU使用率并设置告警的分析与详细解决方案

监控 Kubernetes 集群的 CPU 使用率并设置告警是确保集群健康和性能的关键。以下是几种常见的方案&#xff0c;每种方案的具体步骤都进行了详细说明。 方案 1: 使用 Prometheus 和 Grafana 1. 安装 Prometheus 和 Grafana 1.1 使用 Helm 安装 Prometheus 添加 Helm 仓库: hel…...

解线性方程组(二)

实验类型&#xff1a;●验证性实验 ○综合性实验 ○设计性实验 实验目的&#xff1a;进一步熟练掌握用Jacobi迭代法和Gauss-Seidel法解线性方程组的算法&#xff0c;提高编程能力和解算线性方程组问题的实践技能。 实验内容&#xff1a; 1)取初值性x(0)(0,0,0,0)T, 精度要求ε…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...