最近遇到一个QinQ的问题,总结一下。 对QinQ协议的交换机做Span,tcpdump抓包后发现,有一些包大小为1522字节,这些包都被网卡丢掉了。...事情虽小,但还是有不少知识点的,归纳一下: QinQ 简介 IEEE 802.1ad或称为QinQ、vlan stacking。是一种以802.1Q为基础衍生出来的通讯协定。...QinQ的作用,在大规模组网时,或者建立Paas云时,可以允许不同的租户设置相同的vlan id。 并不是所有的交换机都支持QinQ的,QinQ只是一个草案,需要交换机厂商的支持。...包长 QinQ比正常的报文多了4个字节,所以QinQ报文,在链路层,最大包长到了1522个字节。...阅读linux tg3驱动源码发现,丢弃此类包的判断是很简单的: 10188 /* MTU + ethernet header + FCS + optional VLAN tag *
本文瑞哥给大家带来的是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标签,然后确定应该添加哪个标签。
首先简单了解一下什么是qinq?...对于内层的802.1Q Tag,该值设置为0x8100;对于外层的802.1Q Tag,不同厂商所使用的值可能不相同: 0x8100:Huawei路由器使用(linux内核默认也是0x8100) 0x88A8...如下图所示,通过对802.1Q封装和QinQ封装的报文抓包,可以明显看出QinQ报文比802.1Q多了一层802.1Q标签。 QinQ技术的应用场景,本文就不介绍的,想了解的可以参考文章结尾链接。...= vec_elt_at_index (em->qinq_pool, (*vlan_intf)->qinqs); *qinq_intf = &qinq_table->vlans[inner_id]...使用的命令行create sub-interfaces tap10 10 dot1ad 10 inner-dot1q 100 exact-match.外层使用的dot1ad(默认TPID=0x88a8),而linux
我们发现,IPoE和PPPoE的转发面对硬件的要求差别较大,IPoE只需要能够终结QinQ(剥离两层QinQ TAG)即可,而PPPoE则还需要处理PPP的状态机。...vBRAS本身是一个运行于标准x86服务器上的软件,拥有终结QinQ,处理PPPoE、IPoE等能力。...而NP可以处理较为复杂的PPP+QinQ业务,被用于处理PPPoE转发。最简单的IPoE交给交换机ASIC。...我们知道,x86上运行的操作系统,无论是Linux,还是windows,实际上都是不适合处理网络密集型的任务的。这是因为,x86的网络适配器(网卡),每收发一个数据包都会触发一次处理器的中断。...此外,传统的Linux内核在收到数据包时,会将数据包缓存(mbuf)从网卡驱动的地址空间(内核态)拷贝到应用程序的地址空间(用户态)。这更是在数据平面无法接受的。这也限制了x86在网络领域的应用。
QinQ 因为IEEE 802.1Q中定义的VLAN Tag域只有12个比特,仅能表示4096个VLAN,无法满足城域以太网中标识大量用户的需求,于是产生了QinQ技术,拓展VLAN的数量空间。...QinQ在原有的802.1Q报文的基础上增加一层802.1Q标签,使得VLAN数量增加到4094×4094。...QinQ的内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务。...802.1Q封装和QinQ封装: 图片 帧大小 QinQ报文比802.1Q报文多四个字节,因此建议用户在组网时适当增加运营商网络中各接口的最大帧长(至少为1504 字节)。...TPID 不同运营商的系统可能将QinQ帧外层VLAN标记的TPID设置为不同值。
场景 测试qinq 发包,但是tcpreplay是没法带vlan tag的。所以需要用pktgen发送qinq包。...问题 qinq双层vlan tag,有些包大小超过了1518字节,pktgen不支持。
因此,工程师们想到了利用一种V**技术来实现每用户的隔离——QinQ。 QinQ最早用于城域二层专线,但VPLS/VLL横空出世后淡出专线圈子。...本期问题: QinQ可以把网络隔离为4K * 4K = 16M个子网,而VXLAN也支持16M个子网。那么,为什么运营商网络中不采用VXLAN隔离各个用户,而要使用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种接口的链路类型: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)。
4、QinQ与VXLAN 随着设备和用户数量的大规模增长,由于可扩展性有限,最多只能支持 4094 个 VLAN,以及对可用网络链路的低效利用。...VLAN 已不能满足日益增长的网络规模需求,于是VXLAN(虚拟可扩展局域网)和QinQ技术应运而生。...QinQ 是在原有 802.1Q 报文头的基础上增加了一层 802.1Q 标签(VLAN 标签),通过双层标签,VLAN 数量增加到 802.1Q。...QinQ 将用户的私网 VLAN Tag 封装在公网网络 VLAN Tag 中,使双层 VLAN Tag 的报文穿越运营商的骨干网(公网)。
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功能,将来自
1、基本QinQ 通信特点: ① 基本QinQ基于端口实现。...② 基本QinQ配置简单,但是不能灵活地为用户或业务选取外层VLAN标签。...2、灵活QinQ 通信特点: ① 灵活QinQ可以为不同的数据流打上不同的外层标签(可以通过用户数据的vlan标签及802.1q优先级封装不同标签。)...② 基本QinQ配置简单,但是不能灵活地为用户或业务选取外层VLAN标签。...注意:进行QinQ的SW上无需存在用户的VLAN也可以放行用户标签的数据,只需做好对用户数据的新标签封装的VLAN存在即可(及vlan 10为用户,vlan 100为新qinq的vlan。
16.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...link-type trunk [ProviderA-Ethernet1/0/3] port trunk permit vlan 1000 2000 [ProviderA-Ethernet1/0/3] qinq...enable // 配置端口的基本QinQ功能,将来自VLAN20的报文封装VLAN ID为2000的外层Tag 转载自:https://blog.csdn.net/EbowTang/article
sub-interfaces dot1q|dot1ad |any [exact-match] # 使用此命令指定外部VLAN ID 和内部 VLAN ID,也就是qinq...802.1q(dot1q)和802.1ad(QINQ)区别: 802.1Q就是我们常说的dot1q,IEEE 802.1Q -英文缩写写为dot1q。...qinq就是在vlan的外层再封装一个vlan,扩充vlan数量,主要用途为电信供应商可以放置一个vlan标签作为通过外部网络的辨识,而不需变动客户的封包所带出的vlan标签。...192.168.1.1/24 set interface ip address: sub-interface without exact-match doesn't support IP addressing 在linux
16、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功能,将来自
dpdk DPDK drivers found 2 ports... 2020/09/28 20:42:11:757 info dpdk qinq...strip soft offload enabled for interface 2020/09/28 20:42:11:774 info dpdk qinq strip
领取专属 10元无门槛券
手把手带您无忧上云