设为首页   锐捷官网
用其他帐号登录:
查看: 1805|回复: 0

[讨论] 14 QinQ >> 14.1 QinQ概述

[复制链接]

72

主题

129

帖子

1670

积分

金牌会员

Rank: 6Rank: 6

积分
1670
发表于 2016-6-15 17:09:42 | 显示全部楼层 |阅读模式
本帖 * 后由 no_on 于 2016-6-15 17:35 编辑

14 QinQ >> 14.1 QinQ概述

14.1 QinQ概述

       QinQ 其标准出自 IEEE 802.1ad,业界有多种不同的称呼,比如 dot1q-tunnelingTag in TagVLAN VPNStack VLAN因为 IEEE 802.1Q 中定义的 VLAN Tag 域只有 12 个比特用于表示 VLAN ID,所以设备 * 多只能支持 4094 VLAN。在城域网中需要大量的 VLAN 来隔离用户, 4094 VLAN 远远不能满足需求QinQ 的基本原理是在用户报文进入服务提供商网络之前封装上一个服务提供商网络的 VLAN Tag,而把用户报文中的原有的 VLAN Tag 当做数据,使报文带着两层 VLAN Tag 穿越服务提供商网络。在服务提供商网络中,报文只根据外层 VLAN Tag 传播,当用户报文离开服务提供商网络时,剥去外层 VLAN Tag,在用户网络中根据私网 VLAN Tag 传播,从而解决 VLAN 数目不足的问题。
       如下图所示,用户网络 A VLAN 1001 的报文在进入服务提供商网络之前被添加上一层 vlan Tag 1005 的外层 Tag,使报文携带两层 Tag,在服务商网络中根据外层 Vlan Tag 1005 传播。当报文离开服务提供商网络时,外层 Vlan Tag 1005 将被剥去,报文在用户网络中仍然以 Vlan Tag 1001 进行传播。


图 14-1 QinQ 示意图


图 14-1 QinQ 示意图

图 14-1 QinQ 示意图

      下图显示了双 Tag 添加的过程:边界设备的入口称为 dot1q-tunnel port 或简称 tunnel port,所有进入边界设备的帧都被当作是 Untagged 帧,而不管它实际上是 Untagged 还是已经带 802.1Q Tag 头的帧,都被封装上服务商的 TagVLAN 号为Tunnel port 的缺省 VLAN
14-2 双 Tag 报文的结构

下图显示了双 Tag 添加的过程:边界设备的入口称为 dot1q-tunnel port 或简称 tunnel port,所有进入边界设 ...

下图显示了双 Tag 添加的过程:边界设备的入口称为 dot1q-tunnel port 或简称 tunnel port,所有进入边界设 ...



       14.1.1 基本 QinQ

       基本 QinQ 是基于端口实现的。配置了 tunnel 口后,当该端口接收到报文,设备会为该报文打上 tunnel 口缺省 VLAN VLAN Tag。如果接收到的是已经带有 VLAN Tag 的报文,该报文就成为双 Tag 的报文;如果接收到的是不带 VLAN Tag 报文,该报文就成为带有端口缺省 VLAN Tag 的报文。基本 QinQ 简单,但外层 VLAN Tag 封装方式不够灵活。

       14.1.2 灵活 QinQ

       灵活 QinQ 可以为不同的数据流打上不同的外层 VLAN Tag:如根据用户 VLAN TagMAC 地址、 IP 协议、源地址、目的地址、优先级、或应用程序的端口号等信息的不同,封装不同的外层 Tag。借助上述分类方法,实际实现了根据不同用户、不同业务、不同优先级等对报文进行外层 VLAN Tag 封装。
当前,在配置上可以使用的具体策略有:

>>根据内层 VLAN Tag 添加外层 VLAN Tag;
>>根据外层 VLAN Tag 修改外层 VLAN Tag;
>>根据内层 VLAN Tag 修改外层 VLAN Tag;
>>利用 ACL,根据 ACL 添加外层 VLAN Tag;
>>利用 ACL,根据 ACL 修改外层 VLAN Tag;
>>利用 ACL,根据 ACL 修改内层 VLAN Tag

       14.1.3 TPID 设置及优先级的复制与映射

       以太网帧 Tag 包含四个字段: TPID(Tag Protocol Identifier,标签协议标志)User PriorityCFIVLAN ID。对于 TPID值,缺省采用 IEEE802.1Q 协议规定的 0x8100。而某些厂商的设备将报文外层 Tag TPID 值设置为 0x9100 或其他值。为了和这些设备兼容,提供了基于端口的报文 TPID 可配置功能。用户可自行配置端口的 TPID 值,那么这些端口在转发报文时,会将报文的外层 Vlan Tag 中的 TPID 替换为用户设定的值。

>>优先级复制:指的是在添加外层 Tag 的时候,将内层 Tag(用户 Tag)的优先级复制到外层 Tag(服务商 Tag)。
>>优先级映射:指的是在添加外层 Tag 的时候,根据内层 Tag(用户 Tag)的优先级将外层 Tag(服务商 Tag)的优先级设置为不同的值。


       14.1.4 MAC 地址复制

       由于采用基于数据流的灵活 QinQ 时, 交换机学到的 mac 的 vid 是 native vlan 的。故当采用基于数据流的 vlan 转换时,当报文从对端回来时候,就会发生无法查询到 mac 地址而泛洪的情况。
图 14-3 灵活 QinQ 报文的 MAC 地址学习示意图

图 14-3 灵活 QinQ 报文的 MAC 地址学习示意图

图 14-3 灵活 QinQ 报文的 MAC 地址学习示意图

       如上图所示,假设交换机和用户网络相连端口是 dot1q-tunnel port,且在该端口上配置 native vlan 4,并且配置策略对源MAC A 的报文封装外层 Tag vlan 5。当交换机收到用户网络 vlan 3 且源 MAC A 的报文后,为其添加 vlan 5 的外层Tag,同时由于接收端口的 native vlan vlan 4MAC-A 将被学习到 vlan 4 中。当响应报文返回时,由于其外层 Tag vlanvlan 5,将在 vlan 5 中查找 MAC-A,但是 MAC-A 并没有被学习到 vlan 5 中,此报文将被泛洪。为此,可以将 native vlan mac 地址复制到外层 Tag 所在的 vlan 中,解决从公网返回的报文被持续泛洪的问题。同样,也可以将外层 Tag 所在 vlan 的 mac 地址复制到 native vlan,解决从用户网络发往公网的报文被持续泛洪的问题。


       14.1.5 二层协议透传

       为了实现用户网络之间二层协议报文的传输而又不对运营商网络产生影响,可以使用二层报文透传功能。当用户网络中二层协议报文进入边缘设备后,将目的 mac 地址改成私有地址在运营商网络中转发,到了另外一端边缘设备后,再将目的 mac地址改成公有地址回到另一端用户网络,以达到二层协议报文在运营商网络透传的效果。

       14.1.6 Uplink 端口

      Uplink 端口其实就是一种特殊的 Trunk 口,不同的是,从 Uplink 口输出的报文都是带 Tag 的,而从 Trunk Port 输出的报文,如果是 Native VLAN 转发过来的,则是不带 Tag 的。上链端口(如:用户网络中连接到服务商网络的端口)通常被配置成 Uplink口。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则