一、QinQ介绍

随着网络规模扩大,运营商接入用户剧增,每个用户都需 VLAN,导致 VLAN ID 资源严重不足。而且不同用户常有自己的 VLAN 规划,使得 VLAN 编号易冲突,对不同用户的服务管理也变得繁杂困难。此时,QinQ 技术出现,它在每个用户 VLAN 外,添加一层运营商专属 VLAN,既扩充了 VLAN 资源,解决 ID 不足与编号冲突问题,又方便运营商基于外层 VLAN 对不同用户进行精细化服务管理。

QinQ(802.1Q-in-802.1Q),又称VLAN嵌套。802.1Q也就是VLAN标签标准。在原来的VLAN TAG 上再增加一个VLAN TAG,实现4094*4094(约1600万级),解决城域网中VLAN资源不足的问题。

二、QinQ类型与应用场景

1.基于端口的基本 QinQ:家庭宽带与企业专线

基于端口的基本 QinQ 在家庭宽带中,是通过光猫不同端口为上网、语音、IPTV 等业务添加内层 VLAN 标签,再由 OLT 根据业务类型封装外层 VLAN 标签,实现业务隔离与区分,经城域网传输至 BRAS 进行认证和 IP 分配。

这里普及下三网合一:指将之前独立运营的固定通信网、移动通信网和广播电视网三合并为一个统一的网络,也就是实现家庭用户一根线用完成上网、电视、电话业务接入。FTTH(Fiber To The Home)光纤到户,也就是光纤到你家光猫,更高级的是FTTR/FTTD(R:room房间,D:desk桌面)

  1. 光猫端口与内层 VLAN 标签:家庭光猫不同端口对应不同业务,网络口为上网业务添内层 VLAN 10 标签,语音口为语音业务添内层 VLAN 20 标签。IPTV 口为 IPTV 业务添内层 VLAN 30 标签。

  2. 楼道交换机功能:汇聚光猫数据,对带内层 VLAN 标签数据帧透传,上传至 OLT。

  3. 小区OLT 的基于端口的QinQ,外层 VLAN 封装:OLT 接收数据帧,为该小区通过封装外层 VLAN(用于区分不同小区,覆盖更多接入用户实现4096*4096)。

  4. 城域网传输:带双层 VLAN 标签数据帧在城域网按外层 VLAN 标签转发,传向 BRAS 或业务核心网。

  5. BRAS 的处理:终结外层 VLAN 标签,如剥离 “外层 VLAN 1001 + 内层 VLAN 10” 中的外层 VLAN 1001。依内层 VLAN 标签识别业务,对上网业务认证,按外层 VLAN 对应小区分配 IP 地址。将 IPTV 业务数据转至 IPTV 核心网,语音业务数据转至 IMS 核心网。

企业用户二层专线的QinQ同理:

  1. 企业端分配内层VLAN:A 企业总部与分部内部设备各自将两种业务数据打上 VLAN 10 、VLAN 20 标签。B 企业总部与分部内部设备各自将两种业务数据打上 VLAN 10 、VLAN 11 标签。因为每家公司有自己的VLAN规划,很有可能会重复VLAN。

  2. 运营商分配外层VLAN:为A企业(总部+分公司)分配外层 VLAN 11 ;为 B 企业(总部+分公司)分配外层 VLAN 22 。

  3. 企业端封装内层VLAN:当数据传输时,企业各分支的数据先被打上内层 VLAN 标签。

  4. 运营商封装外层VLAN:运营商设备从 A 企业专线接口收到数据封装外层 VLAN 11 标签,从 B 企业专线接口收到数据封装外层 VLAN 22 标签,在运营商网络中凭借外层 VLAN 标签进行转发。

  5. 运营商VLAN终结:到达目的地后,运营商接入设备识别并剥离外层 VLAN 标签转发到企业设备,企业设备依内层 VLAN 标签将数据准确转发,从而使总部与分公司通过外层 VLAN 实现不同业务数据的互通。

2.升级版QinQ:灵活QinQ

又称VLAN Stacking或QinQ Stacking,灵活 QinQ 允许根据除端口外的多种参数来建立内层和外层 VLAN 标签的映射关系,这些参数可以包括内层 VLAN ID、入端口、MAC 地址、IP 地址等。

  1. 基于 VLAN ID的灵活 QinQ。根据报文中已有的内层 VLAN ID,为其添加不同的外层 VLAN Tag。

  2. 基于 802.1p 优先级的灵活 QinQ,根据报文原有内层 VLAN 的 802.1p 优先级来添加不同的外层 VLAN Tag。

  3. 基于流策略的灵活 QinQ根据预先定义的 QoS(Quality of Service,服务质量)策略,为报文添加不同的外层 VLAN Tag。QoS 策略可以基于多种参数,如源 IP 地址、目的 IP 地址、端口号、协议类型等。

以小区宽带为例,VLANID的灵活QinQ,区别在小区OLT 的外层 VLAN 封装:OLT 接收数据帧,识别内层 VLAN 标签。依策略为上网业务(内层 VLAN 10)封装外层 VLAN 1001。为语音业务(内层 VLAN 20)封装外层 VLAN 2001。为 IPTV 业务(内层 VLAN 30)封装外层 VLAN 3001。不同小区通过外层 VLAN 范围区分。

那么好处是什么?

在城域网传输时,不同的外层VLAN代表不同的业务或者不同的客户,可以做QOS,比如保证电话数据优先!以及可以做其他VIP业务等等。

三、QinQ配置

1.端口QinQ

// 1.用户接入端口封装外层VLAN,相当于OLT往光猫方向
interface Gi0/1
 port link-type dot1q-tunnel // 配置接口的链路类型为QinQ
 port default vlan 1001 # 相当于access vlan 10,进入接口的数据封装外层VLAN 1001
# 2.上行口,相当于OLT网城域网方向的接口
interface GigabitEthernet0/0/3
 qinq protocol 9100 # 配置外层VLAN Tag的TPID值0x9100,这是为了不同厂商互通
 port link-type trunk
 port trunk allow-pass vlan 1001 2001 3001

2.VLAN的灵活QinQ

// 1.用户接入端口封装外层VLAN,相当于OLT往光猫方向
interface Gi0/1
 port link-type hybrid
 qinq vlan-translation enable // 使能VLAN转换功能
 port hybrid untagged vlan 1001 2001 3001 //配置这些VLAN的帧以Untagged方式通过接口
 port vlan-stacking vlan 10 stack-vlan 1001  //为内部VLAN 10 添加外层VLAN 1001
 port vlan-stacking vlan 20 stack-vlan 2001  //为内部VLAN 20 添加外层VLAN 2001
 port vlan-stacking vlan 30 stack-vlan 3001  //为内部VLAN 30 添加外层VLAN 3001
 
# 2.上行口,相当于OLT网城域网方向的接口
interface GigabitEthernet0/0/3
 port link-type trunk
 port trunk allow-pass vlan 1001 2001 3001

3.优先级的QinQ

# 接口下
port vlan-stacking 8021p 5 stack-vlan 1001 //802.1p 优先级 5 添加外层VLAN 1001
port vlan-stacking 8021p 6 stack-vlan 2001 //802.1p 优先级 6 添加外层VLAN 2001

4.流策略的QinQ

# 需要先定义QOS流
traffic classifier IPTV operator or
 if-match vlan-id 30
traffic behavior IPTV
 add-tag vlan-id 3001
traffic policy IPTV
 classifier IPTV behavior IPTV
# 接口下应用QOS
 interface Gi0/1
 port link-type hybrid
 port hybrid untagged vlan 1001 2001 3001
 traffic-policy name1 inbound # 应用QOS添加外层VLAN

四、总结

QinQ(802.1ad)是在原有 802.1Q 内层 VLAN 标签基础上再叠加一层外层 VLAN 标签的二层隧道技术,内层用于用户私网业务隔离,外层由运营商统一规划转发,可解决 VLAN 资源不足、跨地域二层透传及业务隔离问题;

主要分为:

  • 基于端口的基本 QinQ(同一端口统一打外层标签,适用于企业总分公司专线)

  • 基于 802.1p 优先级的灵活 QinQ(按报文 COS 优先级打不同外层标签,用于语音、视频等 QoS 分流)

  • 基于流的灵活 QinQ(通过 ACL 匹配 IP、端口等流量精细化打标,实现多业务精准隔离)三类。

核心是在用户侧入接口添加外层标签,运营商网络仅依据外层标签转发,对端剥离外层标签后还原内层标签,实现用户内网透明互通。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐