内容发布更新时间 : 2024/12/24 1:42:39星期一 下面是文章的全部内容请认真阅读。
图4 灵活QinQ对多业务的识别标记
1.6 BPDU Tunnel(L2 Protocol Tunnel)
QinQ网络中,运营商网络对客户透明,当客户和运营商网络之间的连接有冗余时必然导致环路问题,如QinQ应用示意图2中的A客户。这就需要运营商网络能透明传输STP/RSTP/MSTP报文,这样客户可以跨运营商网络构建自己的STP树,切断冗余链路。另外为了保证客户全网VLAN配置的一致性,动态VLAN协议如GVRP、VTP等也要求通过运营商网络透传,如果客户使用GMRP作组播应用的话,GMRP报文也要求透传。同时在透传这些报文时,需要区分开不同用户的二层协议报文。
我们知道以上这些BPDU报文是桥设备的二层控制报文(基本上是以LLC封装的),是与设备全局相关的,不带VLAN Tag,所以需要一种机制来传输用户的二层控制报文,从而引入了BPDU Tunnel (Cisco:Layer 2 Protocol Tunneling)的概念,通过Tunnel来传播用户的二层控制报文。
通常BPDU Tunnel是这样实现的:当Tunnel端口收到一个用户的BPDU后,把目的MAC修改为一个组播MAC,然后再给协议报文打上用户所属VLAN的Tag信息,组播MAC保证报文在VLAN内广播,同时标识这个报文是个BPDU-Tunnel报文,交换机在收到这个报文时上送CPU处理,还原其BPDU身份,并根据报文中用户所属的VLAN信息,把报文送到相应的客户网络。
当前我司的实现就采取了上述这种方法,收到用户的BPDU报文后,给这个报文的目的MAC
修改为:01-00-0c-cd-cd-d0,再加上运营商分配该用户的VLAN Tag,如图5所示:
图5 BPDU-Tunnel报文封装
2
802.1ad
IEEE 802.1ad的全称是“Virtual Bridged Local Area Networks Amendment 4: Provider Bridges”,该协议的目标是业务提供商在为客户提供业务时使客户间的服务相互独立,没有相互依赖关系,同时尽量做到业务提供商透明地为客户提供业务。该标准描述了业务提供商(运营商)如何利用和扩展802.1Q在一个统一的网络中为相互独立的客户提供以太网业务。
2.1 标准化过程
该协议于2002年12月第一稿,中间历经了多个Draft,并于2006年5月形成正式标准(Amendment to IEEE Std 802.1Q-2005)。文档可从这里获得:http://tech/article.php/4360;
2.2 基本概念
? C-VLAN:Customer VLAN,是用户网络内部使用的VLAN;
? S-VLAN:Service VLAN,服务提供商网络中使用的VLAN,该VLAN标识VPN用户或者是用户的业务;
? Customer Bridge:Customer网络中的Bridge,只能识别C-VLAN;
? Provider Bridge:服务提供商网络中的Bridge,根据处理内容的不同又分为S-VLAN Bridge和Provider Edge Bridge。其中S-VLAN Bridge只能识别S-VLAN; Provider Edge Bridge可以同时识别C-VLAN和S-VLAN;
? C-VLAN Component:在Bridge内可识别、插入、删除C-VLAN的实体,每个端口一个,对C-VLAN的操作互相独立(两个端口上接收到相同的C-VLAN,但由于属于不同的客户最后的处理结果会不同);
? S-VLANComponent:在Bridge内可识别、插入、删除S-VLAN的实体,由于在一个Bridge内不存在相同的S-VLAN属于不同服务提供商的情况,因此在一个桥内只有一个S-VLAN的实体。
2.3 报文格式
802.1ad的报文格式,基本同前面我们所讲的QinQ报文格式一致,主要的区别就是802.1ad中重新定义了TPID的值和把原来的CFI位修改为DEI(丢弃标识)位。
图6 802.1ad报文封装
同前面所述的QinQ相比,在802.1ad中明确规定了用户报文和运营商报文的TPID值,从而可以简单的区分用户报文和运营商报文: Tag Type C-VLAN Tag S-VLAN Tag Name Value IEEE 802.1Q Tag Protocol Type(802.1Q Tag Type) 81-00 IEEE 802.1Q Server Tag Type(802.1Q S-Tag Type) 88-a8 表格 1 802.1ad Ethernet Type allocations
同时标准中对S-VLAN的TCI位修改为DEI(Drop Eligible Indicator),丰富了QoS特性,
当用户报文进入运营商网络时会打上以88a8标识的外层标签,在离开运营商网络时会剥离这个外层标签。
2.4 802.1ad如何解决Tunnel问题
在传统的QinQ Tunnel中是通过修改原协议报文的目的地址及加上用户所属VLAN标识来传递用户L2协议报文的(这样做的缺点在于需要在边缘设备上对报文进行修改加重设备CPU的负担)。
在802.1ad中为C-VLAN及S-VLAN分配了不同的保留地址,在S-VLAN中处理C-VLAN中的协议报文和处理普通的数据报文一样,从而不需要Tunnel就可以透明传输用户二层协议报文。
Assignment Bridge Group Address IEEE 802.3 Full Duplex PAUSE operation IEEE 802.1X PAE address Provider Bridge Group Address Provider Bridge GVRP Address Value 01-80-C2-00-00-00 01-80-C2-00-00-01 01-80-C2-00-00-03 01-80-C2-00-00-08 01-80-C2-00-00-0D IEEE 802.1AB Link Layer Discovery Protocol 01-80-C2-00-00-0E multicast address 表格 2:保留的地址
Spanning Tree Protocol
Provider网络的STP操作和Customer网络的STP操作完全独立运行,相互不关联。在Provider网络内部采用不同的Bridge Group Address(01-80-C2-00-00-08),对于用户的BPDU报文(01-80-C2-00-00-00)作为普通数据报文透传,不进行识别和处理。Provider网络边缘的C-VLAN component端口可以参与用户STP拓扑的计算和用户BPDU的处理。
GVRP
Provider网络的GVRP操作和Customer网络的GVRP的操作完全独立运行,相互不关联。在Provider网络内部采用不同的Provider Bridge GVRP Address(01-80-C2-00-00-0D),对于用户GVRP报文(01-80-C2-00-00-21)以及其他的GARP保留地址作为普通数据报文透传,不进行识别和处理。Provider网络边缘的C-VLAN component端口可以参与用户的GARP报文的处理。
2.5 802.1ad对灵活QinQ的支持
802.1ad对灵活QinQ的支持同当前常见的灵活QinQ基本一致,在802.1ad中提供了两种确定用户所属S-VLAN的方式:
1、基于端口(Port-based service interface),在这种模式下用户是根据接入的端口来选择S-VLAN(Service Instance)的
2、基于C-VLAN(C-Tagged service interfaces),在这种模式下是根据用户使用的C-VID来先择S-VLAN(Service Instance),即同当前我们所见的灵活QinQ类似