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

华为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…...

九识智能与徐工汽车达成战略合作,共绘商用车未来新蓝图

近日,九识智能与徐工汽车签署战略合作协议,标志着双方在智能驾驶技术与新能源商用车融合应用、联合生产及市场推广等方面迈入深度合作的新篇章,将共同引领智能驾驶技术商业化浪潮。 近年来,在国家智能化发展战略的引领下&#xff…...

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. 结论 💯小结 &#x1f4af…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

Java 加密常用的各种算法及其选择

在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...