最近遇到一个QinQ的问题,总结一下。 对QinQ协议的交换机做Span,tcpdump抓包后发现,有一些包大小为1522字节,这些包都被网卡丢掉了。 事情虽小,但还是有不少知识点的,归纳一下: QinQ 简介 IEEE 802.1ad或称为QinQ、vlan stacking。是一种以802.1Q为基础衍生出来的通讯协定。 QinQ报文有固定的格式,就是在802.1Q的标签之上再打一层802.1Q标签,QinQ报文比正常的802.1Q报文多4个字节。这4个字节用作外层标签,即运营商网络的公网VLAN Tag。 QinQ的作用,在大规模组网时,或者建立Paas云时,可以允许不同的租户设置相同的vlan id。 并不是所有的交换机都支持QinQ的,QinQ只是一个草案,需要交换机厂商的支持。 包长 QinQ比正常的报文多了4个字节,所以QinQ报文,在链路层,最大包长到了1522个字节。
QinQ 是什么 QinQ (802.1ad)是一种vlan 嵌套技术,也叫VLAN Stacking 或 Double VLAN ,在VLAN TAG 外再加一层VLAN TAG,达到扩展VLAN的目的 QinQ 分为基本QinQ 和 灵活QinQ QinQ的应用场景 由于IEEE 802.1Q中定义VLAN ID 只有12bit ,仅能4096个VLAN ID ,除去0 和 4095 ,可用ID link-type trunk undo port trunk permit vlan 1 port trunk permit vlan 30 port trunk pvid vlan 30 qinq port link-mode bridge port link-type trunk undo port trunk permit vlan 1 port trunk permit vlan 30 qinq ps:qinq是否可以无限叠加下去?
本文瑞哥给大家带来的是QinQ技术,让我们直接开始! 什么是QinQ? QinQ技术标准来自IEEE 802.1ad,是802.1Q协议的扩展。 QinQ 数据包具有固定的格式,通常一个带有 802.11Q 标记的数据包被封装在另一个 802.1Q 标记中,这就是“QinQ”这个名字的由来。 使用这种双标记形式,QinQ 数据包比普通的 802.1Q VLAN 标记数据包多四个字节。 QinQ功能 为用户提供一个简单的 L2 VPN 隧道。 不需要协议和信令的支持;由静态配置实现。 QinQ的实现方式 QinQ有两种实现方式: 基本QinQ QinQ 端口在收到报文时,不管报文是否有 VLAN TAG,都会在报文中添加该端口默认 VLAN 的 VLAN TAG。 选择性QinQ 选择性QinQ 解决了基本QinQ 的缺点,QinQ 端口收到报文时,根据报文的 VLAN TAG 为报文添加指定的外层 VLAN TAG。
—苏格拉底 文章目录 一、QinQ 基本原理 二、VLAN Mapping 基本原理 三、拓扑 四、配置与分析 五、总结 一、QinQ 基本原理 QinQ是指在802.1Q VLAN的基础上增加一层 1、QinQ 报文封装格式 QinQ报文有固定的格式,就是在802.1Q的标签之上再打一层802.1Q标签,QinQ报文比802.1Q报文多四个字节。 2、QinQ配置 (1)QinQ功能可以为已存在VLAN标签的数据再次封装指定VLAN,使得数据携带二层VLAN标签。 (2)只有Hybrid及Trunk类型的接口支持此功能。 ,携带标签进入发出时,查看外层标签 (2)QinQ,离开拆除标签时,只拆除外层标签 1、QinQ的部署 (1)基本QinQ,接口下收到任何数据都会封装指定的标签 (2)灵活QinQ,可以针对接收到的数据依据不同的特征添加不同的外层标签 QinQ核心作用: 为携带标签的数据再次封装新的标签,至于多层表的转发与拆除与qinq配置无关。
QinQ实现方式 - 基本QinQ 基本QinQ是基于端口方式实现的。开启端口的基本QinQ功能后,当该端口接收到报文,设备会为该报文打上本端口缺省VLAN 的VLAN Tag。 QinQ实现方式 - 灵活QinQ 灵活QinQ(Selective QinQ)可根据流分类的结果选择是否打外层VLAN Tag,打上何种外层VLAN Tag。 基于流策略的灵活QinQ能够针对业务类型提供差别服务。 灵活QinQ功能是对基本QinQ功能的扩展,它比基本QinQ的功能更灵活。 二者之间的主要区别是: 基本QinQ:对进入二层QinQ接口的所有帧都加上相同的外层Tag。 QinQ配置举例 - 基本QinQ 实验要求: 企业1与企业2接入同一个ISP网络,并使用了重叠的VLAN空间。 ISP通过QinQ技术,实现同一个企业的不同站点之间的数据交互。
编辑 | 排版 | 制图 | 测试 | ©瑞哥 此文用时1小时44分钟,原创不易,坚持更不易,希望我的每一份劳动成果都可以得到大家的一个【在看】 QinQ简介 QinQ分为两种: 1、基本QinQ,也叫做普通 QinQ。 2、灵活QinQ,也叫做VLAN Stacking。是基于接口和VLAN实现的,即对该接口收到的与指定VLAN相匹配的报文,才会再加上一层VLAN Tag 。 基本QinQ的应用场景 ? 基本QinQ的配置步骤 拓扑 ? 配置思路: 在PE设备上配置灵活QinQ功能,使数据业务在透传运营商网络时,使用VLAN100进行通信。 在PE设备上直接透传语音业务对应的VLAN30。 灵活QinQ的配置步骤 拓扑 ?
于是VXLAN(虚拟可扩展局域网)和QinQ技术应运而生。 在这篇文章中,将对这三种技术进行说明和比较。 VLAN、VXLAN、QinQ概述 VLAN VLAN 是一种将网络划分为多个广播域的技术。 QinQ QinQ 也称为堆叠 VLAN 或双 VLAN,由 IEEE 802.1ad 标准化。 它将VLAN标签封装成两层——私有网络的内层标签和公网的外层标签。 因此使用QinQ将VLAN号扩展至4096×4096,可以有效节省公网VLAN ID。 QinQ 数据包具有固定的格式。 使用这种双标记形式,QinQ 数据包比普通的 802.1Q VLAN 标记数据包多四个字节。 有两种 QinQ 实现方式: 基本 QinQ 选择性 QinQ。 选择性QinQ 拥有基本QinQ 的功能,但更灵活。它可以根据MAC地址、IP协议、源IP地址和VLAN标签识别数据包的内层VLAN标签,然后确定应该添加哪个标签。
802.1ad(QinQ)的双重Tagging机制QinQ通过在标准的802.1Q标签之外再添加一个外层标签来实现。 QinQ的优点扩展VLAN空间通过在帧中使用双重标签,QinQ技术极大地扩展了可用的VLAN数量。 QinQ的实现与配置配置QinQ技术时,不同厂商的交换机命令可能会有所不同,但基本步骤大致相似。 QinQ与VXLAN技术的对比QinQ(802.1ad)是一种通过在以太网帧中添加双重VLAN标签来扩展VLAN空间和实现多租户隔离的技术。 技术架构对比QinQ架构:基于二层网络,通过双重VLAN标签扩展VLAN空间。主要用于服务提供商网络,实现多租户隔离。需要物理网络设备支持QinQ功能。
技术(802.1Q-in-802.1Q)✅ 技术原理:QinQ允许在以太帧上叠加两个VLAN Tag,实现多租户或业务隔离的穿越传输;**内层Tag(Customer VLAN,CVLAN)**由用户侧打上 (普通QinQ):所有用户打同一个SVLAN;实现简单;Selective QinQ(选择性QinQ):可根据CVLAN/端口等灵活决定是否添加SVLAN;精细化管理。 enable qinq vlan-translation 100 to 300✅ 应用场景:多租户网络、运营商汇聚网络;用户VLAN保持不变,运营商只加外层标识;四、灵活QinQ(Flexible QinQ)✅ 原理与区别:在普通QinQ基础上提供更灵活的匹配策略(如MAC、协议类型、IP段等);可通过ACL、策略路由等触发QinQ行为;✅ 应用场景:跨省专线租用;VPN场景中区分不同租户业务;五 Tag透传;不解析Tag,作为普通字段转发;六、QinQ 与 MPLS VPN 协同应用简述层级 说明 用户侧使用CVLAN标识用户内部VLAN 汇聚层添加SVLAN封装
首先简单了解一下什么是qinq? 如下图所示,通过对802.1Q封装和QinQ封装的报文抓包,可以明显看出QinQ报文比802.1Q多了一层802.1Q标签。 QinQ技术的应用场景,本文就不介绍的,想了解的可以参考文章结尾链接。 本文主要通过在vpp配置三层qinq接口来学习业务转发流程。 ** qinq_intf) { vlan_table_t *vlan_table; qinq_table_t *qinq_table; u32 vlan_table_id; /*分别依次读取 = vec_elt_at_index (em->qinq_pool, (*vlan_intf)->qinqs); *qinq_intf = &qinq_table->vlans[inner_id]
场景 测试qinq 发包,但是tcpreplay是没法带vlan tag的。所以需要用pktgen发送qinq包。 问题 qinq双层vlan tag,有些包大小超过了1518字节,pktgen不支持。
因此,工程师们想到了利用一种V**技术来实现每用户的隔离——QinQ。 QinQ最早用于城域二层专线,但VPLS/VLL横空出世后淡出专线圈子。 本期问题: QinQ可以把网络隔离为4K * 4K = 16M个子网,而VXLAN也支持16M个子网。那么,为什么运营商网络中不采用VXLAN隔离各个用户,而要使用QinQ?
VLAN的数据 典型应用:交换机之间的互联 标签保留:会保留原始VLAN标签进行传输 3)Hybrid接口 混合特性:兼具Access和Trunk接口的功能 灵活控制:可自定义标签处理方式 4)QinQ 城域网技术 1)QinQ技术 技术标准: 基于IEEE 802.1ad标准,是802.1Q的b 实现方式: 采用双层VLAN标签封装,外层为运营商标签(4字节),内层为用户标签(4字节)。 注意区分用户VLAN标记(内层)和运营商VLAN标记(外层) 答案确认: 26题选A(运营商VLAN标记),27题选A(Q-in-Q技术) 2)例题:城域网技术判断 技术识别: 明确802.1ad对应QinQ ) QinQ技术实现方式、 标签位置(原MAC地址之后) QinQ技术 用户标签+运营商标签,各4字节 内外层标签的作用与区别 用于运营商城域网、家庭宽带、部分校园网 应用场景 802.1h MAC VXLAN可视为VLAN的延伸技术,QinQ是两层VLAN VXLAN与QinQ的关系
根据接口连接对象以及对收发数据帧处理的不同,华为定义了4种接口的链路类型:Access、Trunk、Hybrid和QinQ,以适应不同的连接和组网。 比如在灵活QinQ中,服务提供商网络的多个VLAN的报文在进入用户网络前,需要剥离外层VLAN Tag,此时Trunk接口不能实现该功能,因为Trunk接口只能使该接口缺省VLAN的报文不带VLAN Tag QinQ接口 QinQ接口(802.1Q-in-802.1Q)使用QinQ协议,一般用于私网与公网之间的连接。 QinQ接口也被称为Dot1q-tunnel接口。 以太网链路包括接入链路(Access Link)和干道链路(Trunk Link)。
1616、QinQ配置 Provider A、Provider B之间通过Trunk端口连接,Provider A属于运营商网络的VLAN1000,Provider B属于运营商网络的VLAN2000。 hybrid [ProviderA-Ethernet1/0/1] port hybrid vlan 10 20 1000 2000 untagged [ProviderA-Ethernet1/0/1] qinq -vid-1000] raw-vlan-id inbound 10 [ProviderA-Ethernet1/0/1-vid-1000] quit [ProviderA-Ethernet1/0/1] qinq [ProviderA-Ethernet1/0/2] port access vlan 1000 [ProviderA-Ethernet1/0/2] qinq enable 配置端口的基本QinQ功能,将来自 [ProviderB-Ethernet1/0/2] port access vlan 2000 [ProviderB-Ethernet1/0/2] qinq enable 配置端口的基本QinQ功能,将来自
因此,IPoE也需要结合QinQ来实现。 如下图所示: IPoE与PPPoE的区别,大家发现了吗? 上期遗留问题: QinQ可以把网络隔离为4K * 4K = 16M个子网,而VXLAN也支持16M个子网。那么,为什么运营商网络中不采用VXLAN隔离各个用户,而要使用QinQ? 答案:1. QinQ的内外层VLAN ID可以用来区分接入位置,如小区/门牌号;2. QinQ只需要接入交换机支持VLAN,汇聚交换机支持QinQ,而VXLAN则需要交换机支持VXLAN,成本显然更高;3.
4、QinQ与VXLAN 随着设备和用户数量的大规模增长,由于可扩展性有限,最多只能支持 4094 个 VLAN,以及对可用网络链路的低效利用。 VLAN 已不能满足日益增长的网络规模需求,于是VXLAN(虚拟可扩展局域网)和QinQ技术应运而生。 QinQ 是在原有 802.1Q 报文头的基础上增加了一层 802.1Q 标签(VLAN 标签),通过双层标签,VLAN 数量增加到 802.1Q。 QinQ 将用户的私网 VLAN Tag 封装在公网网络 VLAN Tag 中,使双层 VLAN Tag 的报文穿越运营商的骨干网(公网)。
我们发现,IPoE和PPPoE的转发面对硬件的要求差别较大,IPoE只需要能够终结QinQ(剥离两层QinQ TAG)即可,而PPPoE则还需要处理PPP的状态机。 vBRAS本身是一个运行于标准x86服务器上的软件,拥有终结QinQ,处理PPPoE、IPoE等能力。 而NP可以处理较为复杂的PPP+QinQ业务,被用于处理PPPoE转发。最简单的IPoE交给交换机ASIC。
1、基本QinQ 通信特点: ① 基本QinQ基于端口实现。 ② 基本QinQ配置简单,但是不能灵活地为用户或业务选取外层VLAN标签。 2、灵活QinQ 通信特点: ① 灵活QinQ可以为不同的数据流打上不同的外层标签(可以通过用户数据的vlan标签及802.1q优先级封装不同标签。) ② 基本QinQ配置简单,但是不能灵活地为用户或业务选取外层VLAN标签。 注意:进行QinQ的SW上无需存在用户的VLAN也可以放行用户标签的数据,只需做好对用户数据的新标签封装的VLAN存在即可(及vlan 10为用户,vlan 100为新qinq的vlan。
+ 认证服务器(RADIUS) + 交换机(Authenticator)配置关键开启端口认证功能,绑定认证服务器IP和秘钥等 六、VLAN与QinQ VLAN类型 Access VLAN、Trunk VLAN、Hybrid VLAN VLAN打标签IEEE 802.1Q 标准封装,使用12位VLAN ID QinQ VLAN嵌套技术(tag in tag) 应用场景 跨运营商传输业务、多租户隔离 配置命令示例 port vlan-stacking,qinq