华为HCIP —— QinQ技术实验配置
一、QinQ的概述
1.1QinQ的概念
QinQ(802.1Q in 802.1Q)技术是一项扩展VLAN空间的技术,通过在原有的802.1Q报文基础上再增加一层802.1Q的Tag来实现。
1.2QinQ封装结构
QinQ封装报文是在无标签的以太网数据帧的源MAC地址字段后面加上两个VLAN标签构成。如图所示

1.3QinQ封装类型分两种
- 基本QinQ:基于接口的QinQ封装,进入一个接口的所有流量全部封装一个相同的外层VLAN tag。这种方式也称为基本QinQ或者QinQ隧道。
- 灵活QinQ:可根据流分类的结果是否外层VLAN Tag,打上何种外层VLAN Tag。灵活QinQ可根据用户的VLAN 标签、优先级、MAC地址、IP协议、IP源地址、IP目的地址、或应用程序的端口号进行分流分类。
灵活QinQ功能是对基本QinQ功能的扩展,他比基本QinQ的功能更灵活。二者之间的主要区别是:
基本QinQ:对进行二层QinQ接口的所有帧都加上相同的外层Tag。
灵活QinQ:对进行二层QinQ接口的帧,可以根据不同的内层Tag二加上不同的外层Tag,对于用户VLAN的划分更加细致。
1.4QinQ的工作原理
QinQ技术的工作原理主要通过数据封装、数据传输和数据解封三个阶段来实现的
- 数据封装:在原始802.1Q报文的基础上,在增加一层802.1Q的标签,形成所谓的双层标签。将用户的私网VLAN Tag封装在公网网络VLAN Tag中,使双层VLAN Tag的报文穿越运营商的骨干网(公网)
数据传输:设备在装法使依据外层标签决定流量路径,二内层标签则用于区分不同的用户或者业务。
数据解封装:报文离开运营商网络前会撕掉公网VLAN Tag,使之还原为原始的私网报文,发送至另一侧用户网络。
二、QinQ的实验
2.1实验拓扑图

2.2实验目的:
掌握灵活qinq和基本qinq的配置
2.3实验要求:
1. 配置公司A和公司B的私有网络,创建对应的vlan,并且接口的链路类型
2. 在公网设备配置公网vlan,并且配置qinq
3. 配置公网设备互联端口的链路类型,放行公网vlan流量通过
4. 测试PC1和PC2 、PC5和PC6、PC3和PC4的连通性,并且在S1的G0/0/2口抓包
2.4实验步骤:
(1)配置PC1-PC5的IP地址
| 设备名称 | IP地址/子网掩码 | 私网所属VLAN |
| PC1 | 10.1.1.1/24 | VLAN 10 |
| PC2 | 10.1.1.2/24 | VLAN 10 |
| PC3 | 10.1.1.3/24 | VLAN 20 |
| PC4 | 10.1.1.4/24 | VLAN 20 |
| PC5 | 10.1.1.5/24 | VLAN 10 |
| PC6 | 10.1.1.6/24 | VLAN 10 |
(2)配置公司A、公司B的私有网络,创建对应的VLAN,并配置接口的链路类型
LSW3
[LSW3]vlan batch 10 20[LSW3]int g0/0/2[LSW3-GigabitEthernet0/0/2]port link-type access[LSW3-GigabitEthernet0/0/2]port default vlan 10[LSW3-GigabitEthernet0/0/2]q[LSW3]int g0/0/3[LSW3-GigabitEthernet0/0/3]port link-type access[LSW3-GigabitEthernet0/0/3]port default vlan 20[LSW3-GigabitEthernet0/0/3]q[LSW3]int g0/0/1[LSW3-GigabitEthernet0/0/1]port link-type trunk[LSW3-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20[LSW3-GigabitEthernet0/0/1]q[LSW3]q
LSW4
[LSW4]vlan batch 10 20[LSW4]int g0/0/2[LSW4-GigabitEthernet0/0/2]port link-type access[LSW4-GigabitEthernet0/0/2]port default vlan 10[LSW4-GigabitEthernet0/0/2]q[LSW4]int g0/0/3[LSW4-GigabitEthernet0/0/3]port link-type access[LSW4-GigabitEthernet0/0/3]port default vlan 20[LSW4-GigabitEthernet0/0/3]q[LSW4]int g0/0/1[LSW4-GigabitEthernet0/0/1]port link-type trunk[LSW4-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20[LSW4-GigabitEthernet0/0/1]q[LSW4]q
LSW5
[LSW5]vlan 10[LSW5-vlan10]q[LSW5]int g0/0/2[LSW5-GigabitEthernet0/0/2]port link-type access[LSW5-GigabitEthernet0/0/2]port default vlan 10[LSW5-GigabitEthernet0/0/2]q[LSW5]int g0/0/1[LSW5-GigabitEthernet0/0/1]port link-type trunk[LSW5-GigabitEthernet0/0/1]port trunk allow-pass vlan 10[LSW5-GigabitEthernet0/0/1]q[LSW5]
LSW6
[LSW6]vlan 10[LSW6-vlan10]q[LSW6]int g0/0/2[LSW6-GigabitEthernet0/0/2]port link-type access[LSW6-GigabitEthernet0/0/2]port default vlan 10[LSW6-GigabitEthernet0/0/2]q[LSW6]int g0/0/1[LSW6-GigabitEthernet0/0/1]port link-type trunk[LSW6-GigabitEthernet0/0/1]port trunk allow-pass vlan 10[LSW6-GigabitEthernet0/0/1]q
(3)在 公司设备配置公网VLAN 并配置QinQ。
LSW1
[LSW1]vlan batch 2 3 4[LSW1]int g0/0/1[LSW1-GigabitEthernet0/0/1]port link-type hybrid[LSW1-GigabitEthernet0/0/1]port hybrid untagged vlan 2 3[LSW1-GigabitEthernet0/0/1]qinq vlan-translation enable[LSW1-GigabitEthernet0/0/1]port vlan-stacking vlan 10 stack-vlan 2[LSW1-GigabitEthernet0/0/1]port vlan-stacking vlan 20 stack-vlan 3[LSW1-GigabitEthernet0/0/1]q[LSW1]int g0/0/3[LSW1-GigabitEthernet0/0/3]port link-type do[LSW1-GigabitEthernet0/0/3]port link-type dot1q-tunnel[LSW1-GigabitEthernet0/0/3]port default vlan 4[LSW1-GigabitEthernet0/0/3]q[LSW1]q
LSW2
[LSW2]vlan batch 2 3 4[LSW2]int g0/0/1[LSW2-GigabitEthernet0/0/1]port link-type hybrid[LSW2-GigabitEthernet0/0/1]port hybrid untagged vlan 2 3[LSW2-GigabitEthernet0/0/1]qinq vlan-translation enable[LSW2-GigabitEthernet0/0/1]port vlan-stacking vlan 10 stack-vlan 2[LSW2-GigabitEthernet0/0/1]port vlan-stacking vlan 20 stack-vlan 3[LSW2-GigabitEthernet0/0/1]q[LSW2]int g0/0/3[LSW2-GigabitEthernet0/0/3]port link-type dot1q-tunnel[LSW2-GigabitEthernet0/0/3]port default vlan 4[LSW2-GigabitEthernet0/0/3]q[LSW2]q
(4)配置公网设备互联网端口的链路类型,放行公网VLAN 流量通过
LSW1
[LSW1]int g0/0/2[LSW1-GigabitEthernet0/0/2]port link-type trunk[LSW1-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 3 4[LSW1-GigabitEthernet0/0/2]q[LSW1]q
LSW2
[LSW2]int g0/0/2[LSW2-GigabitEthernet0/0/2]port link-type trunk[LSW2-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 3 4[LSW2-GigabitEthernet0/0/2]q[LSW2]q
(5)测试PC1访问PC2、PC5访问PC5、PC3访问PC4,并在LSW1的G0/0/2接口进行抓包。
测试PC1和PC2的连通性


查看抓包,可以看到外层标签为2 (公网VLAN的标签)、内层标签为10(私网VLAN的标签),说明灵活QinQ实现了将不同的私网VLAN映射到不同的公网VLAN 上。
测试PC5和PC6的连通性


查看抓包,可以看到外层标签为3 (公网VLAN的标签)、内层标签为20(私网VLAN的标签),说明灵活QinQ实现了将不同的私网VLAN映射到不同的公网VLAN 上。
测试PC3和PC4的连通性


查看抓包,可以看到外层标签为4 (公网VLAN的标签)、内层标签为10(私网VLAN的标签),说明基本QinQ无论内层标签时多少,映射是外层标签都是固定的同一个。
三、总结
通过实验,成功实现了QinQ技术的配置和应用。不同用户网络中的设备能够通过运营商网络进行通信,且保持了用户网络的独立性。同时,通过VLAN透传功能、BPDU透明传输和VLAN Mapping等高级功能,进一步满足了复杂网络环境下的业务需求。通过实验,还认识到QinQ技术在扩展VLAN空间、实现业务隔离与传输等方面的重要性,为未来在复杂网络环境中部署和应用QinQ技术打下了坚实的基础。
相关文章:
华为HCIP —— QinQ技术实验配置
一、QinQ的概述 1.1QinQ的概念 QinQ(802.1Q in 802.1Q)技术是一项扩展VLAN空间的技术,通过在原有的802.1Q报文基础上再增加一层802.1Q的Tag来实现。 1.2QinQ封装结构 QinQ封装报文是在无标签的以太网数据帧的源MAC地址字段后面加上两个VL…...
全网最简单的GraphRAG讲解,包你懂
一、什么是 GraphRAG? GraphRAG(基于图的检索增强生成)是在传统 RAG 方法的基础上,引入了图数据结构的新型方法。它利用大语言模型的强大自然语言理解能力,从非结构化文本中抽取实体和关系,构建知识图谱&a…...
rust 压缩解压库flate2保姆级教程
前言 flate2 是 Rust 中用于处理 gzip 和其他压缩格式的库。以下是 flate2 的主要 API 和用法说明。 依赖添加 在你的 Cargo.toml 中添加依赖: [dependencies] flate2 "1.0.34"主要模块 flate2::write:用于压缩数据的写入器。flate2::re…...
秒杀优化(异步秒杀,基于redis-stream实现消息队列)
目录 秒杀优化一:异步秒杀1:思路2:实现 二:redis实现消息队列1:什么是消息队列2:基于list结构实现消息队列3:基于pubsub实现消息队列4:基于stream实现消息队列5:stream的…...
Node.js——fs模块-文件读取
1、文件读取:通过程序从文件中去除其中的数据 2、方法 方法 说明 readFile 异步读取 readFileSync 同步读取 createReadStrean 流式读取 3、readFile 异步读取 语法: 本文的分享到此结束,欢迎大家评论区一同讨论学习,下一…...
深入理解 ZooKeeper:分布式协调服务的核心与应用
一、引言 随着互联网技术的飞速发展,分布式系统的规模和复杂性不断增加。在分布式环境中,各个节点之间需要进行高效的协调和通信,以确保系统的正常运行。ZooKeeper 正是为了解决分布式系统中的协调问题而诞生的一款开源软件。它提供了一种简单…...
你竟然还不了解 LDAP?
目录 什么是 LDAP LDAP 的工作原理 LDAP 的数据模型 LDAP 操作 LDAP 的使用场景 常见的 LDAP 服务器 小结 什么是 LDAP LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)是用于访问和管理目录服务的一种开放协议&…...
宝塔使用clickhouse踩坑
前言 最近有个物联网项目,需要存储物联网终端发送过来的信息(类似log日志,但又要存储在数据库里,方便后期聚合统计),本来想写文件的奈何客户要求聚合统计,所以只能用数据库才能达到更高的计算效…...
Linux命令学习记录
ls 查看文件资源,ls [选项] [路径] ls ls [单个选项] ls [组合选项],选项的组合与顺序无关 ls --help 查看更多命令参数 clear 清屏 cd 更换工作目录,cd [路径] cd [特殊路径符] . 表示当前目录 .. …...
一般无人机和FPV无人机的区别
文章目录 一般无人机的工作原理关键组件:一般无人机的应用领域一般无人机的操控体验 FPV无人机的工作原理关键组件:FPV无人机的应用领域FPV无人机的操控体验性能特点FPV无人机的性能特点 未来无人机发展方向和通信方式拓展 一般无人机的工作原理 一般无…...
数据结构初阶排序全解
目录 1>>排序前言 2>>插入排序 2.1>>直接插入排序 2.2>>希尔排序 3>>选择排序 3.1>>直接选择排序 3.2>>堆排序 4>>交换排序 4.1冒泡排序 4.2快速排序 5>>归并排序 6>>测试 test.c sort.h sort.c 7…...
MySQL的SQL语句之触发器的创建和应用
触发器 Trigger 一.触发器 作用:当检测到某种数据表发生数据变化时,自动执行操作,保证数据的完整性,保证数据的一致性。 1.创建一个触发器 如上图所示,查看这个create的帮助信息的时候,这个create trig…...
myWebserver 介绍
项目总结 项目准备过程中,主要阅读了《Linux 高性能服务器编程》游双 一书。源码参考的是:TinyWebServer,我在此源码的基础上做了一定的优化和修改。 我的代码:Github: myWebserver: 我的C服务器项目 我的 Webserver 项目总结&…...
钉钉平台开发小程序
一、下载小程序开发者工具 官网地址:小程序开发工具 - 钉钉开放平台 客户端类型 下载链接 MacOS x64 https://ur.alipay.com/volans-demo_MiniProgramStudio-x64.dmg MacOS arm64 https://ur.alipay.com/volans-demo_MiniProgramStudio-arm64.dmg Windows ht…...
九识智能与徐工汽车达成战略合作,共绘商用车未来新蓝图
近日,九识智能与徐工汽车签署战略合作协议,标志着双方在智能驾驶技术与新能源商用车融合应用、联合生产及市场推广等方面迈入深度合作的新篇章,将共同引领智能驾驶技术商业化浪潮。 近年来,在国家智能化发展战略的引领下ÿ…...
Serverless + AI 让应用开发更简单
本文整理自 2024 云栖大会,阿里云智能高级技术专家,史明伟演讲议题《Serverless AI 让应用开发更简单》 随着云计算和人工智能(AI)技术的飞速发展,企业对于高效、灵活且成本效益高的解决方案的需求日益增长。本文旨在…...
外包功能测试就干了4周,技术退步太明显了。。。。。
先说一下自己的情况,大专生,21年通过校招进入武汉某软件公司,干了差不多3个星期的功能测试,那年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我才在一个外包企业干了4周的功…...
外观模式及运用场景
外观模式(Facade Pattern)是一种结构性设计模式,它为复杂子系统提供一个统一的接口,从而简化与这些子系统的交互。通过外观模式,客户端可以更轻松地使用复杂系统,而不必了解其内部实现。接下来,…...
PyQt5实战——多脚本集合包,UI以及工程布局(二)
个人博客:苏三有春的博客 系列往期: PyQt5实战——多脚本集合包,前言与环境配置(一) 布局 2.1 UI页面布局 整体框架分为分为三个部分,垂直分布。 第一个部分为功能选择按钮(如UTF-8转换&#…...
Python 数据结构对比:列表与数组的选择指南
文章目录 💯前言💯Python中的列表(list)和数组(array)的详细对比1. 数据类型的灵活性2. 性能与效率3. 功能与操作4. 使用场景5. 数据结构选择的考量6. 实际应用案例7. 结论 💯小结 💯…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
