SPB(Shortest Path Bridging,最短路径桥接)是多生成树协议(MSTP)的进一步拓展,它使用IS-IS协议来共享交换机间的多个学习的拓扑,并迅速学习以太网连接中各端点之间的最短路径。SPB是IEEE组织针对数据中心大规模二层网络应用模型定义的一组协议(IEEE 802.1aq),是CEE(Convergence Enhanced Ethernet,融合增强型以太网)的重要组成部分。于2012年3月得到IEEE的批准正式标准化。
相对于TRILL(IETF组织针对数据中心大规模二层网络应用模型定义的协议族),SPB最大的优势在于能够方便的支持VLAN扩展功能,正是这一点吸引了很多需要支持多租户业务的运营商以及有规模运营需求的企业的关注。
图1. SPB的基本结构示意
SPB的基本结构如图1所示:多台服务器A/B/C通过交换机1/2/3二层互联。服务器之间的流量可以通过二层路由协议计算的最短路径转发,而不必依赖于传统STP形成的绕行网络拓扑转发。这样SPB可以有效的提高二层网络流量转发效率。同时,SPB还可以通过二层路由协议在多条转发路径之间形成等价路径,对流量进行负荷分担,提高网络整体的利用效率和HA性能。
SPB的优势主要体现在以下四个方面:
基于拓扑计算的最短路径能够有效减少转发跳数,提高转发性能;
基于等价路由的多链路负载均衡(最大16条),能够有效的提高带宽利用率;
基于等价路由的快速切换能够保证100毫秒内的故障切换;
管理简单,网络规模可达1000个节点。
#p#
一、 SPB技术解读
1. SPB协议族的结构
图2. SPB协议组的架构
如图2所示,SPB协议支持两种模式:
Q-in-Q模式称为SPBV,目前在业界基本没有应用;
M-in-M模式称为SPBM,是目前的主要推荐模式。本文将针对SPBM展开介绍。
无论是SPBV还是SPBM,在控制平面都是基于L2 IS-IS实现拓扑发现、管理。在协议的具体实现思路方面两者是一致的。
M-in-M是指Mac in Mac技术,也称为PBB(见附录介绍)。PBB定义了二层网络中的数据转发流程,但是PBB本身没有定义控制流程。也就是说二层网络的拓扑控制、二层环路管理都必须依赖于传统的STP等技术,这就直接降低了PBB应用的可行性。因此PBB迫切需要定义一套控制流程,使其能够有效的替代STP协议管理大规模二层网络的拓扑和环路, SPBM应运而生。
SPBM和PBB的关系可以简单地概括为:SPBM+PBB=完整的二层网络技术,其中SPBM是控制平面协议,而PBB是数据转发层面协议。
2. SPBM的转发路径管理
如前文所述,SPBM基于PBB技术,可以看作是PBB的控制流程协议:
SPBM管理二层网络的拓扑、环路,计算路径等;
PBB根据SPBM计算的路径进行转发。
当然,PBB分为骨干网和接入网两个层次。接入网层次较低,规模可以规划控制,是标准的二层网络,可以采用STP或其他二层技术来管理控制。SPBM的目的是通过L2 IS-IS协议学习骨干网的拓扑,计算最短转发路径和等价路径,指导报文在骨干网上做最优的二层转发。
SPBM多实例的概念
SPBM在骨干网上存在多实例的概念。如图3所示,SPBM的UNI相当于VPLS技术的PE设备,负责外层标签的封装与解封装;而NNI相当于VPLS技术的P设备,负责根据外层标签转发报文。
SPBM的多实例类似VPLS的VSI概念,即在同一个物理网络上形成多个相互独立的逻辑转发实体,彼此之间逻辑隔离。图3中不同的颜色代表不同的实例(指BVID:BVlAN1/2/3/4),它们在相同的物理拓扑上形成不同的逻辑拓扑,,经过计算形成不同的转发路径(指不同的出接口Interface)。
图3. SPBM的原理架构
SPBM的单播转发管理
SPBM的单播转发从本质上与标准的L3 IS-IS路由网络非常类似。如图4所示,在实例I-SID5中,节点A计算骨干网上到各节点的最短转发路径。
图4. SPBM的单播路径计算原理
节点A通过IS-IS协议相互通告邻居网络信息,学习到整网的拓扑信息,然后计算出整个骨干网的拓扑结构。基于这样一张标准的拓扑图,节点A计算从本节点到其他各节点的最短路径,形成最优转发路径。如果存在多条转发路径等价的情况,则需要通过特定的算法——等价路径算法(ECT:Equal Cost Tree)计算本实例应该选定的路径。
#p#
SPBM的等价路径算法相对比较复杂,其基本思路是:
在任一实例中,计算任意节点到另一节点的最短路径,存在等价路径;
分别计算各条等价路径的Key值;
比较各条等价路径的Key值,取最小的Key值对应的路径作为转发路径。
Key值计算公式为:
N = min {Bridge ID XOR MASK[i-1]}
#N = Bridge ID
公式中的Bridge ID是用户指定的交换机ID,是用户直接配置的数据,相当于一个唯一的编号或名字。
公式中的MASK[i]是一个标准协议中定义的数组,数组大小是16。由协议为该数组指定具体数据,对应16个不同的实例。当前协议中定义的数组是:00 ff 88 77 44 33 cc bb 22 11 66 55 aa 99 dd ee。
SPBM的组播管理
图5. SPBM的组播管理
SPBM的组播与传统的三层网络组播管理很类似,都是基于单播管理,在单播管理形成的转发路径上计算组播路径。如图5所示,节点A作为源节点,D/E/F节点是叶子节点。通过图3中形成的单播转发路径,节点A计算到各个叶子节点之间的组播转发路径,形成图5所示的组播树。其中,
不同的实例中,定义不同层次的组播树,相互独立;
每个实例中,每个节点有以自己为根的独立组播树。
二、 SPBM在数据中心的应用
1. 大中型规模数据中心:两层的SPBM组网模型
大中型数据中心对于二层网络的组网要求可以概括为:
管理成百上千台交换机形成大规模二层网络;
支持最短路径转发,提高转发效率,降低网络时延;
支持等价多路径转发,提高网络带宽利用率;
支持多租户网络运维管理。
其组网应用方案如下:
图6. SPBM在大中型数据中心内部的组网架构
图6中红圈标注部分即是SPBM的骨干网部分,接入层交换机与服务器的虚拟交换机部分即是SPBM的接入网络,由IRF技术实现二层管理(或STP)。在SPBM的骨干网里,可以实现最大16条等价路径,也就是说数据中心的二层网络的汇聚交换机最大可以支持16台。汇聚换机的数量越多,容量越大,可以接入的服务器数量也就越多。可以有效地扩大数据中心服务器的容量和虚拟机的数量,提高数据中心的规模。
同时,SPBM可以保证骨干网的HA性能,确保任意节点、任意链路出现异常后,能在毫秒级时间范围内保证业务恢复正常。这一点能够有效的提高数据中心的HA性能,提高用户的业务体验。
#p#
2. 超大规模数据中心:三层SPBM组网模型
部分运营商的核心数据中心或是超大企业的数据中心需要部署在同一个二层网络中的服务器规模非常庞大(例如超过2万台服务器)。两层的SPBM组网模型有可能无法满足其超大规模的接入密度,所以需要调整SPBM的组网模型,进一步扩展整个二层网络的规模,将二层组网结构改成三层组网架构(如图7所示)。
图7. SPBM在超大规模数据中心内部的组网架构
需要说明的是,SPBM相对比较复杂。将二层SPBM结构调整为三层SPBM结构后,固然可以增加数据中心二层网络规模。但代价是进一步增加了网络构建和运维的复杂程度,提高了运维成本。
3. 小型数据中心:大二层简化组网模型IRF+PBB
大规模乃至超大规模数据中心毕竟仍是少数,大部分数据中心的规模都在5000台服务器以下。很多企业为了降低数据中心的建设成本,租用运营商的机房或机架空间,将数据中心部署在运营商机房中独立运维,可以视为一个独立的企业数据中心。运营商的数据中心运维管理也不包括这部分服务器。
这些小型数据中心,一个最显著的特点就是用户的运维水平以及对新技术跟踪掌握能力有限,所以SPBM的管理压力会让用户很难接受。用户希望网络能够支持VLAN扩展方案,便于其做多租户配置,但又不希望网络配置过于复杂,增加运维难度和风险。简单总结小型数据中心虚拟化二层组网的需求如下:
二层网络规模较小(覆盖5000台服务器以下);
尽量避免新技术带来的学习、管理、运维压力;
支持多租户。
IRF+PBB为其提供了更加简单的组网方案,降低对新技术的难度要求。
传统的IRF+LACP组网方案是目前替代STP组网的的最佳方案。从IRF技术开始正式商用到现在已经有8年的时间,在市场上得到了广泛的应用。方案非常成熟,运维管理简单。PBB同样是非常成熟的技术,用户也不存在运维方面的压力。
图8. PBB+IRF在数据中心内部的组网架构
如图8所示,在这个简化的组网方案中,最大的特点是在汇聚交换机层面利用4台交换机IRF虚拟化替代了复杂的SPBM协议。在汇聚交换机和接入交换机之间只需要配置简单的LACP协议。这样整个网络的控制平面就是传统的IRF结合LACP技术。将极大地简化配置管理和运维管理复杂度。
在数据中心转发平面,是标准的PBB协议(见附录介绍)。PBB协议支持VLAN扩展功能,可以支持多租户的应用。
#p#
结束语
数据中心的集中化、规模化运营可以有效的降低整体运营成本。服务器的虚拟化可以有效提高资源利用率。因此,未来的数据中心一定会向规划化、虚拟化的方向发展。同时,更多企业客户为了降低数据中心的建设、运维成本,会选择将数据中心租用或托管的方式交由第三方运营管理。这样多租户也成为未来数据中心发展的必然方向。
从SPB协议的定制角度来看,其根本的目的就是要解决大规模二层网络的多租户应用。因此,SPB技术与数据中心的发展趋势是契合的,未来可能会在大规模和超大规模的数据中心网络中得到广泛的应用。
附录:PBB协议简介
PBB(Provider Backbone Bridge,运营商骨干网桥)协议,是IEEE 802.1ah所定义的MAC-in-MAC协议。MAC-in-MAC是一种二层VPN技术,通过MAC地址的嵌套,将用户MAC封装在运营商MAC之中,作为内层MAC加以隔离,从而增强了以太网的扩展性和业务的安全性。
PBB的网络架构
图. PBB的网络架构
PBB本质上是一种VPN技术,通过BEB(类似PE设备)和BCB(类似P设备)构建VPN的骨干网PBBN。通过PBBN连通各个用户的私网。需要注意的是,PBB仅仅定义了数据转发层面的协议内容,但是对于PBBN上的控制协议没有定义,必须由用户自行部署。SPBM就是目前最新的控制平面协议。
#p#
PBB的报文格式
图. PBB的报文结构
PBB的报文(802.1ah)简单来说就是给原始报文(基于802.1Q格式)加装一层以太报头。相对于传统的QinQ(802.1ad)报文格式而言,PBB的报文格式中多出一个字段I-TAG。这个字段中有一个20位的标识I-SID。这是PBB标准定义的多实例标识域,但在实际应用中,由于I-SID定义较为复杂,很多芯片厂商都没有针对I-SID字段做识别处理。多数芯片会借用外层VLAN ID(B-Tag)作为实例标识。从而简化PBB得的实例层次架构。
PBB转发流程
图.PBB的转发过程
BEB 1将来自用户网络的报文封装上相应的B-MAC、B-VLAN和I-SID头,然后通过其上行口转发给BCB;
BCB将来自BEB 1的MAC-in-MAC报文按照B-MAC和B-VLAN转发给BEB 2;
BEB 2将来自BCB的MAC-in-MAC报文解封装,还原成标准的以太网报文,然后通过其相应的下行口向用户网络转发。