计算机网络——华为QINQ详解及其实验配置

article/2025/10/3 17:44:35

创作不易,记得点赞哦

QinQ协议在用户私网VLAN Tag之外封装公网VLAN Tag,在公网中报文只根据公网VLAN Tag传播。QinQ为用户提供一种较为简单的二层VPN隧道。 

目录

一. QINQ简述:

1.2  QinQ封装结构图

1.3 QinQ的分类

二 各QINQ的实验 

2.1基于端口的QINQ

2.2 灵活的QINQ


一. QINQ简述:

(1)什么是QinQ?

①基于802.1q/ISL封装的隧道协议

②报文封装双层VLAN Tag

(2)QinQ的优点

①解决日益紧缺的公网VLAN ID资源问题

②用户可以规划自己的私网VLAN ID

③提供一种较为简单的二层VPN解决方案

④使用户网络具有较高的独立性 

1.2  QinQ封装结构图

1.3 QinQ的分类

根据QinQ的具体实现方式,通常分为如下几类:

一、基于端口的QinQ

配置了此功能的端口,设备会为 从此端口进入的报文打上一层VLAN ID为端口PVID的外层VLAN Tag。

基于端口的QinQ通过配置端口类型为dot1q--tunnel实现

  • 当端口类型为dot1q----tunnel时,该端口加入的VLAN不支持二层组播功能

二、灵活QinQ------VLAN Stacking

灵活QinQ根据指定条件为入报文加一层S-VLAN Tag

  • 指定条件:入报文外层VLAN的范围或VLAN+802.1P
  • 仅指定报文802.1P优先级时,不关注入报文外层VLAN的具体值,只要外层VLAN的802.1P优先级匹配就会打上S-VLAN Tag

通过在端口配置VLAN Stacking实现

优势:相对基于端口的QinQ,灵活QinQ可以根据入报文的外层VLAN及802.1P来选择加或不加S-VLAN Tag,并且S-VLAN Tag可配置

注:灵活QINQ只能用在hybrid接口,trunk口无法实现

三、基于流的灵活QinQ-----基于ACL的灵活QinQ

基于流的灵活QinQ通过全局配置流分类、流行为。再将流策略绑定流分类和流行为来实现。(MQC)

优势:

相对灵活QinQ,基于流的灵活QinQ还可以根据入报文的内层VLAN的属性来加S-VLAN Tag,配置范围更加灵活。

  • 内层VLAN、内层VLAN+802.1P、外层VLAN、外层VLAN+802.1P等属性

支持单播和广播

MAC地址第一个字段的最后一位,如果为0则为单播,如果为1则为组播,如果 一个字段都为1,则为广播

u  t  l  关闭交换机信息提醒

二 各QINQ的实验 

2.1基于端口的QINQ

拓扑图:

实验目的:PC1与PC3属于VLAN10,PC2与PC4属于VLAN20,在经过SW1与SW2代表的服务器时(互联网)打上VLAN100的标签,即Tag来进行通信。因为服务器只识别VLAN100的通信报文。

#
sysname SW1
#
vlan batch 100
 #
interface GigabitEthernet0/0/1
 port link-type dot1q-tunnel  //将端口类型配置为dot1q-tunnel
 port default vlan 100
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 100

#
sysname SW2
#
vlan batch 100
#
interface GigabitEthernet0/0/1
 port link-type dot1q-tunnel
 port default vlan 100
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 100

#
sysname SW3
#
vlan batch 10 20
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 10 20
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 20
 

#
sysname SW4
#
vlan batch 10 20
#

interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 10 20
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 20
 

2.2 灵活的QINQ

拓扑图:

实验目的:PC1与PC3属于VLAN10,PC2与PC4属于VLAN20.通过SW1与SW2代表的服务器二时打上VLAN100的标签,通过SW5与SW6代表的服务器一时打上VLAN200的标签,即打上了双层标签。

#
sysname SW5
#
vlan batch 200 

#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
 port link-type dot1q-tunnel
 port default vlan 200
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 200

#
sysname SW6
#
vlan batch 200

#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 200
#
interface GigabitEthernet0/0/2
 port link-type dot1q-tunnel
 port default vlan 200
 

[SW1-GigabitEthernet0/0/3]dis this
#
interface GigabitEthernet0/0/3
 port link-type trunk
 port trunk allow-pass vlan 100
 

[SW2-GigabitEthernet0/0/3]dis this
#
interface GigabitEthernet0/0/3
 port link-type trunk
 port trunk allow-pass vlan 100
 

拓扑图:

实验目的:在SW1和SW2上开启QINQVLAN翻译,将VLAN10自动转变为VLAN100,回来时的报文通过g/0/0/1口时剥离VLAN100的标签,还原为原来的VLAN标签

只支持两层的VLAN TAG

#

sysname SW1

#

vlan batch 100

#
interface GigabitEthernet0/0/1
 qinq vlan-translation enable
 port hybrid untagged vlan 100
 port vlan-stacking vlan 10 stack-vlan 100
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 100
#
interface GigabitEthernet0/0/3
 shutdown
 port link-type trunk
 port trunk allow-pass vlan 100
 

#

sysname SW2

#

vlan batch 100

#
interface GigabitEthernet0/0/1
 qinq vlan-translation enable
 port hybrid untagged vlan 100
 port vlan-stacking vlan 10 stack-vlan 100
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 100
#
interface GigabitEthernet0/0/3
 shutdown
 port link-type trunk
 port trunk allow-pass vlan 100
#


http://chatgpt.dhexx.cn/article/JyvcgDvY.shtml

相关文章

QinQ基础知识

QinQ简介 定义: QinQ(802.1Q-in-802.1Q)技术是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能,可以使私网VLAN透传公网。由于在骨干网中传递的报文有两层802.1…

10 个有用的 Python 字符串函数你必须知道

💂 个人网站:【 海拥】【保卫机器人】【骑士冒险】🤟 风趣幽默的前端学习课程:👉28个案例趣学前端💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼家族】💬 免费且实用的计算机相关知识题…

Python字符串函数使用详解

Python的友好在于提供了非常好强大的功能函数模块,对于字符串的使用,同样提供许多简单便捷的字符串函数。Python 字符串自带了很多有用的函数,在字符串函数之前先介绍一个非常实用的dir()内置函数,因为对每一个初学者还是大佬级别…

MySQL 十大常用字符串函数

数据库函数是一种具有某种功能的模块,可以接收零个或多个输入值,并且返回一个输出值。MySQL 为我们提供了许多用于处理和分析数据的系统函数,本文给大家介绍 10 个常用的字符串函数,以及相关的其他函数。 1 CONCAT() CONCAT(str1,…

Oracle 中常用的字符串函数总结

一、substr 函数 —— 字符串截取 格式1: substr(string,start_pos,length) 格式2: substr(string,start_pos) 说明: 从指定位置start_pos截取字符串string的length位,如果不指定length(格式2)则从指…

MySQL --- 常用函数 - 字符串函数

函数 MySQL 函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。 MySQL 包含了大量并且丰富的函数,咱们讲解几十个常用的,剩下的比较罕见的函数我们可以到「MySQL 参考手册」查询。 字符串函数 函数作用UP…

常用字符串函数的使用

目录 一.求字符串长度 1.strlen用来计算字符串的长度(该长度不包括\0) 二.长度不受限制的字符串函数 1.strcpy字符串拷贝 2.strcat附加一个字符串 3.strcmp字符串大小比较 三.长度受限制的字符串函数介绍 1.strncpy字符串拷贝(能设置要拷贝的字符个…

字符串操作常用函数

字符串常用函数有如下 puts() //输出字符串 gets() //获取字符串 strlen() //计算字符串长度 memset() //初始化 strcpy() strncpy() //字符串的拷贝 strcat() //字符串的拼接 strcmp() //字符串的比较 strchr() strstr() //字符串的查找 strtok…

字符串函数

本文重点 重点介绍处理字符串内存的库函数的使用和注意事项 求字符串长度 ——strlen长度不受限制的字符串函数 ——strcpy、strcat、strcmp长度受限制的字符串函数介绍——strncpy、strncat、strncmp字符串查找——strstr、strtok错误信息报告——strerror字符操作 前言 C语…

java 使用 jep3.5 解析公式自动计算(包含BigDecimal模式 浮点数精准计算)

下载地址: jep3.5 jar包与文档.rar 由于3.X并未上传maven所有只能下载jar包使用maven本地导入 <dependency><groupId>com.singularsys</groupId><artifactId>jep</artifactId><version>3.5</version><scope>system</scope…

【译】Jep 文档(1)——介绍(Introction)

原文连接&#xff08;http://www.singularsys.com/jep/doc/html/index.html&#xff09; 介绍 综述 Jep 是一个用于分析和计算数学表达式的java库。有了这个包&#xff0c;您就可以把数学公式当作是字符串&#xff0c;并且立即求出它们的值。许多常见的数学函数和常量都是内…

Java RMI反序列化/JEP290相关

RMI 远程过程调用 (Remote Procedure Call)是一种服务器-客户端模式&#xff0c; Java的RMI&#xff08;Remote Method Invocation&#xff09;是一种RPC实现。 其基本思想是程序员可以像本地那样&#xff0c;与远程对象进行交互。 步骤&#xff1a; 1、创建一个接口IRemote…

Java第三方库——Jep数学公式计算

Java第三方库——Jep数学公式计算 官网简介&#xff1a;JEP JAVA仅用几行代码解析和计算数学表达式。这个包允许用户以字符串的形式输入公式&#xff0c;并立即对其求值。JEP支持用户定义的变量、常量和函数。包括一些常用的数学函数和常量。 1.下载3.x版本依赖并引入 官方网站…

你知道Java中的JCP, JEP, JLS, JSR是什么意思吗?

目录 一、JCP 二、JSR 三、JLS 四、JEP 公众号&#xff1a;MCNU云原生&#xff0c;欢迎微信搜索关注&#xff0c;更多干货&#xff0c;及时掌握。 JCP, JEP, JLS, JSR这些概念是Java社区中的一些概念&#xff0c;但是没有没有经常关注社区的童鞋们未必知道这些缩写所代表的…

Java中JCP, JEP, JLS, JSR是什么

JCP Java Community Process JCP&#xff08;Java Community Process&#xff09;是一个开放的国际组织&#xff0c;主要由Java开发者以及被授权者组成&#xff0c;职能是发展和更新。 JCP维护的规范包括J2ME、J2SE、J2EE&#xff0c;XML&#xff0c;OSS&#xff0c;JAIN等。组…

java 使用JEP解析字符串计算公式 求值(附带自定义函数编写)

2.X 存在精确度问题 推荐使用3.X 参考文章: java 使用 jep3.5 解析公式自动计算(包含BigDecimal模式 浮点数精准计算) 1.增加jep依赖 <dependency><groupId>org.scijava</groupId><artifactId>jep</artifactId><version>2.4.2</versio…

使用Jep在Java中执行Python代码

接上次用Eclipse编写Python代码&#xff1a;使用Eclipse编写Python代码_Cc_Sonia的博客-CSDN博客_eclipse写python程序 为了把深度学习模型部署到Java App上&#xff0c;需要用Java调用Python。试过Jython&#xff0c;但它只对python2有效。。。最后supervisor建议使用Jep&…

jep的使用

参考jep官网:http://www.singularsys.com/jep/ Jep Java只用几行代码解析和评估数学表达式。此程序包允许您的用户输入公式作为字符串&#xff0c;并立即对其进行评估。Jep支持用户定义的变量&#xff0c;常量和函数。包括许多常见的数学函数和常数。 那么啰嗦,说白了就是支持…

python JEP安装

安装python ( 深坑 &#xff1a;安装之前请yum install python3-devel 避免出现i.e.: export LD_PRELOAD/usr/lib/libpython2.7.so.1.0 问题 ) 下载源码 Python Release Python 3.6.5 | Python.org 解压 进入目录 ./configure --prefix/opt/software/python --enab…

JEP:Java表达式分析器

JEP 是一个用于解析和计算数学表达式的 Java 类库。通过使用这个包你可以把公式看 作字符串并快速计算它们。其中内置了大量公共的数学函数和常量供用户使用。另外&#xff0c;你也 可以通过自定义变量、常量、函数等方式扩展 JEP 。 使用 JEP 计算一个字符串表达式包括…