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

QinQ技术与Portal技术

QinQ

  • 802.1Q-in-802.1Q,是一种扩展VLAN标签技术。在城域网中,需要大量的VLAN来隔离区分不同的用户,但是原有的802.1Q只有12个比特,仅能标识4096个VLAN
  • QinQ即在802.1Q的基础上,再增加一层外层标签。使得可以标识4096*4096个标签,大大增加了可以划分的VLAN数量
  • 数据帧拥有两层标签后,内外层标签信息可以代表着不同的信息。比如内层标签来区分用户,外层标签区分业务。内层标签在运营商网络透明传输,有助于运营商实现业务精细化运营
  • 基本原理
    • 封装两层VLAN标签后,在公网中传输,设备只根据外层的VLAN标签指导转发,并学习MAC地址,内层的VLAN标签会被作为数据部分直接转发
    • 在运营商的PE侧,可以将用户的不同私网VLAN打上相同的外层公网VLAN标签,公网设备根据外层标签指导转发,到达对端的PE设备后,剥离外层的标签,再交给用户网络的CE设备
  • 封装方式

  • 由于增加了一层标签,所以数据帧的大小也会变大,所以就需要设置转发设备接口所能发出的最大帧长(默认是1500)
  • QinQ实现方式
    • 基本QinQ
      • 根据接口进行外层标签的封装。
      • 无论收到的数据帧是否含有标签,都会再原有的基础上添加一层本端口所属的缺省标签
    • 灵活QinQ
      • 基于接口、VLAN、802.1p优先级来封装外层标签
      • 收到没有标签的数据帧则增加一层缺省VLAN标签;收到有一层标签的数据帧,可以根据内层的标签范围打上相应的外层标签;收到有一层标签的数据帧,可以根据内层标签的802.1p优先级标记外层标签的优先级,并打上外层标签
  • QinQ的封装反方式
    • 基于接口
      • 即QinQ二层隧道。对于进入相同接口的流量全部封装相同的VLAN标签,封装方式不够灵活,不能细致区分不同的业务
    • 基于流
      • 即二层灵活QinQ。对于进入相同接口的流量,可以根据不同的数据流,选择是否进行外层标签的封装以及封装什么标签
    • 在路由器基于子接口
      • QinQ Stacking子接口。QinQ一般是在二层接口上进行封装。但是当MPLS/IP核心网采用PWE3/VLL/VPLS透传业务数据时,NPE上的路由子接口可以根据用户VLAN ID封装外层VLAN ID,通过外层VLAN ID接入VLL/PWE3。通过一个子接口,透传多个标识用户的VLAN
      • QinQ Stacking子接口只能和L2VPN(PWE3/VLL/VPLS)业务结合起来才有意义,不支持三层转发功能
    • 不同运营商的系统可能将QinQ帧外层VLAN标记的TPID设置为不同值。为实现与这些系统的兼容性,可以修改TPID值,使QinQ帧发送到公网时,承载与特定运营商相同的TPID值,从而实现与该运营商设备之间的互操作性
  • QinQ Mapping
    • 功能类似于NAT技术,可以将私网的VLAN标签替换为运营商分配的VLAN标签,一次达到屏蔽不同用户VLAN的作用
    • 适用场景:
      • 新局点和老局点部署的VLAN ID冲突,但是新局点需要与老局点互通
      • 接入公网的各个局点规划不一致,导致VLAN ID冲突,但是各个局点之间不需要互通
      • 公网两端的VLAN ID规划不对称
    • 映射方式
      • 一对一:收到只有一层标签的数据报文,直接将标签映射为指定的一层标签
      • 二对一:收到有两层标签的数据报文,只将外层标签映射为指定的一层标签
  • QinQ Mapping与VLAN Mapping

Mapping类型

相同点

不同点

1 to 1

接口收到Tagged帧后,将帧中的一层Tag映射为用户指定的一层Tag

  • QinQ Mapping的映射动作发生在子接口上,并且主要用于接入VPLS网络
  • VLAN Mapping的映射动作发生在主接口上,并且主要用于通过VLAN转发的二层网络

2 to 1

入接口收到的帧带有两层Tag。将帧中的外层Tag映射为用户指定的一层Tag,内层Tag作为业务数据透传

  • QinQ Mapping的映射动作发生在子接口上,并且主要用于接入VPLS网络
  • VLAN Mapping的映射动作发生在主接口上,并且主要用于通过VLAN转发的二层网络
  • 配置
    • 华为

#基本QinQ

interface g0/0/1
 port link-type dot1q-tunnel

 port default vlan vlan-id

#灵活QinQ
interface g0/0/1
 port link-type hybrid

 port hybrid untagged vlan vlan-id

 qinq vlan-translation enable

 port vlan-stacking vlan vlan-id1 stack-vlan vlan-id3

 port vlan-stacking vlan vlan-id1 stack-vlan vlan-id2  map-vlan vlan-id4

  • 华三 & 锐捷

description to SXS-1F

port link-type trunk

port trunk permit vlan

port trunk pvid vlan *

qinq enable

qinq transparent-vlan *

switchport mode dot1q-tunnel
switchport dot1q-tunnel allowed vlan add tagged *
switchport dot1q-tunnel allowed vlan add untagged *
switchport dot1q-tunnel native vlan *
dot1q outer-vid * register inner-vid *

  • Portal认证也称为Web认证。当用户未认证时,会被强制登录到特定站点,用户可以免费访问其中的服务。当用户需要访问互联网时,就需要在门户网站(即Portal认证界面)中进行认证,认证通过后才可以正常上网
  • 用户可以主动访问门户网站进行认证(主动认证),也可以通过访问其他HTTP网站流量触发强制跳转到门户网站进行认证(强制认证)
  • Portal认证体系机构包括有外置的Portal认证服务器和内置的Portal认证服务器

Portal认证方式

  • 二层认证
    • 认证客户端与设备直连,或者中间只有二层设备,设备可以直接学习到用户的MAC地址,通过IP和MAC地址来标识用户
    • 二层认证流程简单,安全性高,但由于限制了用户只能与接入设备处于同一网段,降低了组网的灵活性

  • 三层认证
    • Portal认证服务器部署在汇聚或核心层,认证客户端与设备之间存在三层转发设备,设备无法直接学习到认证客户端的MAC地址,只能通过IP地址来识别认证客户端
    • 三层认证组网灵活,容易实现远程控制,但由于只有IP可以用来标识一个用户,所以安全性不高
  • Portal认证探测与逃生功能
    • 当Portal服务器与设备之间的网络出现故障,或Portal服务器自身出现故障,则会造成新的Portal认证用户无法上线,已经在线的Portal用户无法正常下线,会给用户带来不便,甚至带来计费不准确的问题
    • Portal探测和逃生功能可以保证在网络故障或Portal服务器无法正常工作的情况下,用户仍然可以正常使用网络,可以通过日志和Trap的方式报告故障。设备可以通过用户信息同步机制,保证Portal服务器与设备上用户信息的一致性,以避免出现计费不准确的问题

Portal认证协议

  • Portal接入协议
    • HTTP/HTTPS协议:描述了客户端和Portal服务器之间的协议交互。客户端通过HTTP/HTTPS协议依次向Portal服务器发起连接请求和Portal认证请求
  • Portal认证协议
    • Portal协议:描述了Portal服务器和接入设备之间的协议交互,可以用来传递用户名和密码等参数
    • HTTP/HTTPS协议:描述了客户端和接入设备之间的协议交互,可以用来传递用户名和密码等参数

Portal认证用户下线

  • 客户端主动下线
  • 接入设备控制客户端下线
    • 可以强制将用户下线,也可以通过用户探测功能,探测用户是否在线,若不在线则删除用户表项
  • 认证服务器强制用户下线
    • Redius服务器通过DM报文强制用户下线
  • Portal认证服务器强制用户下线


以上内容均属原创,如有不详或错误,敬请指出。

本文作者: 坏坏

本文链接:http://t.csdn.cn/q6VMm

版权声明: 转载请联系作者注明出处并附带本文链接!

相关文章:

QinQ技术与Portal技术

QinQ 802.1Q-in-802.1Q,是一种扩展VLAN标签技术。在城域网中,需要大量的VLAN来隔离区分不同的用户,但是原有的802.1Q只有12个比特,仅能标识4096个VLANQinQ即在802.1Q的基础上,再增加一层外层标签。使得可以标识4096*40…...

Vue-自定义表单验证(rule,value,callback)详细使用

前言 最近在实际开发中遇到需要验证合同编号是否在数据库已经存在,自定义表单验证。 的表单验证大家都知道form绑定rules,prop绑定值与form.值一样,必填,失去焦点触发 提示信息。 今天我们讲一讲自定义验证规则具体使用场景和它…...

港联证券|TMT板块全线退潮,这些个股获主力逆市抢筹

计算机、电子、传媒、通讯职业流出规模居前。 今天沪深两市主力资金净流出709.92亿元,其中创业板净流出218.36亿元,沪深300成份股净流出187.92亿元。 资金流向上,今天申万一级职业普跌,除了国防军工职业小幅上涨,获主…...

WPF学习

一、了解WPF的框架结构 (第一小节随便看下就可以,简单练习就行) 1、新建WPF项目 xmlns:XML的命名空间 Margin外边距:左上右下 HorizontalAlignment:水平位置 VerticalAlignment:垂直位置 2…...

C#使用WebDriver模拟浏览器操作WEB页面

有时候需要模拟访问页面触发某个功能,可以使用WebDriver来实现这一功能,驱动打开浏览器,并对页面重定向以及对页面写入脚本等操作。 安装Selenium.Chrome,Selenium.Support.UI,Selenium 引入 using OpenQA.Selenium.…...

正则表达式 - 简单模式匹配

目录 一、测试数据 二、简单模式匹配 1. 匹配字面值 2. 匹配数字和非数字字符 3. 匹配单词与非单词字符 4. 匹配空白字符 5. 匹配任意字符 6. 匹配单词边界 7. 匹配零个或多个字符 8. 单行模式与多行模式 一、测试数据 这里所用文本是《学习正则表达式》这本书带的&a…...

银行数字化转型导师坚鹏:银行数字化转型培训方案

目录 一、银行数字化转型培训背景 二、银行数字化转型模型 三、银行数字化转型课程设计思路 四、 银行数字化转型课程基本介绍 五、 银行数字化转型课程设置 六、银行数字化转型课程大纲 七、培训方案实施流程 一、银行数字化转型培训背景 2020年1月3日&#xff…...

多维时序 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积神经网络-长短期记忆网络多变量时间序列预测

多维时序 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积神经网络-长短期记忆网络多变量时间序列预测 目录 多维时序 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积神经网络-长短期记忆网络多变量时间序列预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 MATLAB实现BO-CNN-…...

Shell知识点(一)

1.echo 命令 echo命令的作用是在屏幕输入一行文本&#xff0c;可以降该命令的参数原样输出。 $ echo hello world hello world 如果想要输出的是多行文本&#xff0c;包含换行符&#xff0c;这时就需要把多行文本放在引号里面 $ echo "<HTML><HEAD><TITLE…...

mysql 索引失效、联合索引失效场景和举例

索引失效 假设有一张user 表&#xff0c;表中包含索引 (id); (name); (birthday); (name,age); 对索引字段进行函数操作 select name from user where year(birthday) 2000;使用模糊查询&#xff0c;查询中使用通配符 select name from user where name like %益达%;使用i…...

快速将PDF转换为图片:使用在线转换器的步骤

PDF文件是一种常见的文档格式&#xff0c;但在某些情况下需要将其转换为图片格式&#xff0c;例如将PDF文件插入PPT演示文稿中。此时&#xff0c;使用在线PDF转换器是一种快速且简便的方法。 本文将介绍如何使用在线转换器将PDF文件转换为图片格式。 步骤1&#xff1a;选择合…...

什么是gpt一4-如何用上gpt-4

怎么使用gpt-4 目前GPT-4还未正式发布或公开&#xff0c;因此也没有详细的对接说明。但是我们可以根据GPT-4的前身GPT-3的应用经验&#xff0c;以及GPT-4的预期功能推测一些可能的使用步骤&#xff1a; 选择适合的GPT-4实现技术&#xff1a;GPT-4可能有不同的实现技术&#xff…...

Docker 相关概念

1、Docker是什么&#xff1f; 如何确保应用能够在这些环境中运行和通过质量检测&#xff1f;并且在部署过程中不出现令人头疼的版本、配置问题&#xff0c;也无需重新编写代码和进行故障修复&#xff1f; 答案就是使用容器。Docker之所以发展如此迅速&#xff0c;也是因为它对…...

STM32平衡小车 TB6612电机驱动学习

TB6612FNG简介 单片机引脚的电流一般只有几十个毫安&#xff0c;无法驱动电机&#xff0c;因此一般是通过单片机控制电机驱动芯片进而控制电机。TB6612是比较常用的电机驱动芯片之一。 TB6612FNG可以同时控制两个电机&#xff0c;工作电流1.2A&#xff0c;最大电流3.2A。 VM电…...

动态加载 JS 文件

动态加载JS文件是指在网页运行过程中通过JavaScript代码向页面中动态添加外部JS文件&#xff0c;这种方式能够提高页面加载速度和用户体验&#xff0c;并且可以帮助网站实现更多的功能和特效。 本文将详细介绍动态加载JS文件的基本原理、优势、注意事项以及具体实现方法&#…...

14、lldb调试指令

LLDB LLDB(Low Lever Debug): 默认内置于Xcode中的动态调试工具.标准的lldb提供了一组广泛的命令,旨在与老版本的GDB命令兼容.除了使用标准配置外,还可以很容易地自定义lldb以满足实际需要. 1.1 lldb语法: <command> [<subcommand> [<subcommand>...]] &l…...

浏览器缓存策略:强缓存和协商缓存

浏览器缓存&#xff1a;其实就是在本地使用的计算机中开辟一个内存区&#xff0c;同时也开辟一个硬盘区&#xff0c;作为数据传输的缓冲区&#xff0c;然后利用这个缓冲区来暂时保护用户以前访问的信息通常浏览器的缓存策略分为两种&#xff1a;强缓存和协商缓存&#xff0c;强…...

2023年Chat GPT 应用前景分析

从2022年12月初刚上线至今&#xff0c;不到半年时间ChatGPT月活就超过了1亿用户&#xff01;可谓火的一塌糊涂&#xff0c;比尔盖茨都称&#xff1a;ChatGPT的历史意义重大&#xff0c;不亚于PC或互联网诞生。以至于ChatGPT官网长期都处于满负荷运转的状态&#xff01; 由于Ch…...

并发计算公式

常用并发数计算公式&#xff1a;N[(n0.8SP)/(T0.2)]*R 其中&#xff1a; n为系统用户数&#xff1b; S为每个用户发生的业务笔数&#xff08;QPS&#xff09;&#xff1b; P为每笔业务所需要访问服务器的时间&#xff0c;单位为秒&#xff1b; T为使用业务的时间&#xff0c;单…...

“华为杯”研究生数学建模竞赛2020年-【华为杯】E题:能见度估计与预测(附获奖论文及python代码实现)

​​​​​​​ 目录 摘 要: 一、问题背景与问题重述 1.1 问题背景 1.2 问题重述...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...