QinQ概述

QinQ(802.1Q in 802.1Q)技术是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再曾加一层802.1Q的Tag来达到扩展VLAN空间的功能

如图所示,用户报文在公网上传递时携带了两层Tag,内层时私网Tag,外层时公网Tag

   

QinQ封装结构

QinQ封装报文是在无标签的以太网数据帧的源MAC地址字段后面加上两个VLAN标签构成

字段解释:

  • TPID(Tag Protocol Identifier,标签协议标识)表示帧类型。取值为0x8100时表示802.1Q Tag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃
  • 对于内层的802.1Q Tag,该值设置为0x8100;对于外层的802.1Q Tag,不同厂商所使用的值可能不相同
    • 0x8100:Huawei路由器使用
    • 0x88a8:802.1ad规定外层802.1Q Tag中TPID为0x88a8

   

QinQ工作原理

在公网传输过程中,设备只根据外层VLAN Tag转发报文,并根据报文的外层VLAN Tag进行MAC地址学习,而用户的私网VLAN Tag将被当作报文的数据部分进行传输。即使私网VLAN Tag相同,也能通过公网VLAN Tag区分不同用户

   

QinQ实现方式

基本QinQ

  • 基本QinQ是基于端口方式实现的
  • 开启端口的基本QinQ功能后,当该端口接收到报文,设备会为该报文打上本端口缺省VLAN的VLAN Tag
  • 如果接收到的是已经带有VLAN Tag的报文,该报文就成为双Tag的报文
  • 如果接收到的是不带VLAN Tag的报文,该报文就成为带有端口缺省VLAN Tag报文

基本QinQ的报文处理过程:

  1. SW1收到VLAN iD为10和20的报文,将该报文发给SW2
  2. SW2收到该报文后,在该报文原有Tag的外侧再添加一层VLAN ID为100的外层Tag
  3. 带着两层Tag的用户数据报文在网络中按照正常的二层转发流程转发
  4. SW3收到VLAN 100的报文后,剥离报文的外层Tag(VLAN ID为100),将报文发送给SW4,此时报文只有一层Tag(VLAN ID为10或20)
  5. SW4收到该报文,根据VLAN ID和目的MAC地址进行相应的转发

灵活QinQ

  • 灵活QinQ可根据流分类的结果选择是否打外层VLAN Tag,打上何种外层VLAN Tag。
  • 灵活QinQ可根据用户的VLAN标签、优先级、MAC地址、IP协议、IP源地址、IP目的地址,或应用程序的端口号进行流分类
    • 基于VLAN ID的灵活QinQ:为具有不同内层VLAN ID的报文添加不同的外层VLAN Tag
    • 基于802.1p优先级的灵活QinQ:根据报文的原有内层VLAN的802.1p优先级添加不同的外层VLAN Tag
    • 基于流策略的灵活QinQ:根据QoS策略添加不同的外层VLAN Tag。基于流策略的灵活QinQ能够针对业务类型提供差别服务

灵活QinQ的报文处理过程:

  1. SW1收到VLAN ID为10和20的报文,将该报文转发给SW2
  2. SW2收到VLAN ID为10的报文后,添加一层VLAN ID为100的外层Tag;SW2收到VLAN ID为20的报文后,添加一层VLAN ID为200的外层Tag
  3. 带着两层Tag的用户数据报文在网络中按照正常的二层转发流程转发
  4. SW3收到报文后,剥离报文的外层Tag(VLAN ID为100或200),将报文发送给SW4,此时报文只有一层Tag(VLAN ID为10或20)
  5. SW4收到报文,根据VLAN ID和目的MAC地址进行相应的转发

原文地址:http://www.cnblogs.com/hongliang888/p/16783797.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性