一、QinQ基本原理:
QinQ 是在 802.1Q VLAN 的基础上增加了一层 802.1Q VLAN 标签,拓展了 VLAN 空间。为了适应城域以太网的发展, QinQ 封装、终结的方式也越来越丰富,在运营商的业务精细化运营方面得到了越来越深入的应用。
QinQ 报文封装格式
QinQ 报文有固定的格式,就是在 802.1Q 的标签之上再打一层 802.1Q 标签, QinQ 报文比 802.1Q报文多四个字节。
QinQ 封装
QinQ 封装是指如何把单层 Q 报文转换成双层 Q 报文,封装主要发生在城域网面向用户的 UPE 接口上进行。
根据不同的封装数据, QinQ 可以分为几种不同类型,包括基于接口的 QinQ 和基于流的 QinQ 两大类,另外,还可以在路由子接口上进行特殊的 QinQ 封装,具体如下:
基于接口的 QinQ 封装
基于接口的封装是指进入一个接口的所有流量全部封装一个相同的外层 VLAN Tag,封装方式不够灵活,用户业务区分不够细致,这种封装方式也称作 QinQ 二层隧道。
基于流的 QinQ 封装
基于流的 QinQ 封装可以对进入接口的数据首先进行流分类,然后对于不同的数据流选择是否封装外层 Tag、封装何种外层 Tag,因此这种封装方式也称作二层灵活 QinQ。
例如:当同一用户的不同业务使用不同的 VLAN ID 时,可以根据 VLAN ID 区间进行分流。
假设 PC 上网的 VLAN ID 范围是 101~200;IPTV 的 VLAN ID 范围是 201~300;大客户的VLAN ID 范围是 301~400。面向用户的 UPE 收到业务数据后,根据 VLAN ID 范围,对 PC上网业务封装上外层 Tag 100,对 IPTV 封装上外层 Tag 300,对大客户封装上外层 Tag 500。
在路由子接口上进行 QinQ 封装
QinQ 封装一般在交换式接口上进行,但有一种特殊情况, QinQ 也可以在路由子接口上进行封装。
当 MPLS/IP 核心网采用 PWE3/VLL/VPLS 透传业务数据时, NPE 上的路由子接口可以根据用户 VLAN ID 封装外层 VLAN ID,通过外层 VLAN ID 接入 VLL/PWE3。此种方法可以通过一个子接口来透传多个标识用户的 VLAN ID,这种子接口也叫 Q