IRF与TRILL——构建无生成树协议的数据中心二层网络

来源:互联网 发布:node redis消息队列 编辑:程序博客网 时间:2024/04/29 00:23

文/康乐

构建二层网络以实现虚拟机动态迁移,是满足数据中心计算资源灵活调配和业务永续要求的基本条件。传统二层网络延生成树协议(STP)构造的分发树转发以太网帧,为避免二层环路,STP将部分链路被阻塞,致使链路带宽利用率不足。未来,随着业务系统对IT基础设施灵活度需求的不断提升,虚拟机动态迁移技术将得以更广泛应用,数据中心内的二层网络范围将不断扩大,如何避免通过STP构建二层网络的带宽利用率问题,摆在了网络设计人员面前。本文介绍了两种构建无STP二层网络的新技术,希望能给读者带来一些数据中心网络规划的新思路。

一、 STP的带宽利用率问题

STP是IEEE 802.1D中定义的一个应用于以太网交换机的标准,这个标准为交换机定义了一组规则用于探知链路层拓扑,并对交换机的链路层转发行为进行控制。如果STP发现网络中存在环路,它会在环路上选择一个恰当的位置阻塞链路上的端口——阻止端口转发或接收以太网帧,通过这种方式消除二层网络中可能产生的广播风暴。然而在实际部署中,为确保网络的高可用性,无论是数据中心网络还是园区网络,通常都会采用具有环路的物理拓扑,并采用STP阻塞部分端口的转发。对于被阻塞端口,只有在处于转发状态的端口及链路发生故障时,才可能被STP加入到二层数据帧的转发树中。

图1. STP引起的带宽利用率问题

STP的这种机制导致了二层链路利用率不足,尤其是在网络设备具有全连接拓扑关系时,这种缺陷尤为突出。如图1所示,当采用全网二层设计时,服务器层、接入层、汇聚层及核心层之间都有16×10G的链路带宽资源,但STP将阻塞大多数链路,使接入到汇聚间带宽降至40G,汇聚至核心间带宽降至20G。这种缺陷造成越接近树根的交换机,端口拥塞越严重,同时还限制了网络的"对分带宽(* 注1)"。

*注1:"对分带宽(bisection bandwidth)"是考量具有逐级收敛特征的网络拓扑的带宽利用率的单位。这个概念可简单的理解为:"将网络中的主机分成同样大小的两组,且主机都使用相同的网络链路进行互联,"对分带宽"就是这两组主机之间通信的总链路带宽。"如图1,将主机分左右两组,每组8台,由于部分链路被阻塞,左右两组间的"对分带宽"只有10G。

虽然MSTP(IEEE 802.1s)解决了所有VLAN必须在同一棵生成树上转发的问题,并且随着40GE/100GE的出现,对分带宽太小的问题也可适当缓解,但采用STP构建二层网络时,因端口阻塞导致链路带宽利用率不足的问题仍无法避免。解决上述问题的唯一方法是废除二层网络的生成树模型,使所有端口都处于转发状态,实现端到端具有多条二层转发路径。当前,业界有两种比较成熟的构建无STP二层网络技术:

   基于设备N:1虚拟化(如H3C IRF技术)的跨备链路聚合

   TRILL

二、 IRF——实现以太网跨设备链路聚合

1. IRF技术概述

IRF(Intelligent Resilient Framework)是H3C公司的N:1网络虚拟化技术。IRF可将多台网络设备(成员设备)虚拟化为一台网络设备(虚拟设备),并将这些设备作为单一设备管理和使用。IRF成员设备在本地记录自己已知的拓扑信息,拓扑信息通过IRF互联端口传递,经过一段时间的收集,所有设备上都会收集到完整的拓扑信息(称为拓扑收敛)。此时会进入角色选举阶段,确定成员为Master或者Slave。

对于盒式交换机,IRF形成的虚拟设备相当于一台框式分布式交换机,IRF互联电缆模拟了交换背板,IRF中的Master相当于虚拟设备的主用主控板,Slave设备相当于备用主控板(同时担任接口板的角色),如图2.a所示。对于框式分布式交换机,IRF形成的虚拟设备也相当于一台框式分布式设备,但该虚拟的框式分布式设备拥有更多的备用主控板和接口板,IRF中的Master的主用主控板相当于虚拟设备的主用主控板,Master的备用主控板以及Slave的主用、备用主控板均相当于虚拟设备的备用主控板(同时担任接口板的角色),如图2.b所示。

图2. 交换机IRF虚拟化的原理

2. 基于IRF的跨设备链路聚合特性

跨设备链路聚合:用户可以将Fabric中不同Unit的多个端口进行聚合,实现了对Fabric内统一的聚合管理。这不仅可以使聚合的设置更加方便,而且跨越设备的链路聚合也有效地避免了单点故障的发生。

IRF技术实现了以太帧分布式转发,虚拟设备中的每个成员设备都具有完整的二层转发能力,当某成员设备端口上收到待转发以太帧时,可通过查询该成员设备的二层转发表得到以太帧的出接口,并将其从正确的出接口送出。以太帧的出接口既可以在该成员设备上,也可以在其它成员设备上。由于虚拟设备被当作一台逻辑设备进行管理,因此不同成员设备的物理端口可以被捆绑在一起,作为一个逻辑端口使用,在配置与组网上与单台交换机的端口聚合功能相同,由此就实现了"跨设备链路聚合"特性(如图3所示)。

图3. IRF跨设备链路聚合的原理

3. 通过IRF构建无STP的数据中心二层网络

IRF虚拟化不仅使多台物理设备简化成一台逻辑设备,同时网络各层之间的多条链路连接也将变成两台逻辑设备之间的直连,因此可以将多条物理链路进行跨设备的链路聚合,从而变成了一条逻辑链路,增加带宽的同时也避免了由多条物理链路引起的环路问题。如图4.1所示,在采用全万兆互联的分层(接入、汇聚、核心)物理拓扑上,需构建一个纯二层网络,如采用STP部署方案,当拓扑收敛时,从接入至核心逐层收敛,对分带宽只有10GE;如采用IRF部署方案,如图4.2所示,将接入、汇聚与核心交换机两两虚拟化,层与层之间采用跨设备链路捆绑方式互联,整网物理拓扑没有变化,但逻辑拓扑上变成了如图4.3的树状结构,以太帧延拓扑树转发,不存在二层环路,且对分带宽(bisection bandwidth)为40GE。

IRF虚拟化技术起到了横向整合的作用,从逻辑上将全互联的网状拓扑整合为无环路的树状拓扑,整合后的虚拟化设备具备跨设备链路聚合功能,所有链路都参与以太帧转发,对分带宽提高。

图4 基于IRF构建无STP二层网络

三、 TRILL——实现二层多路径转发

1. TRILL技术概述

TRILL(Transparent Interconnection of Lots of Links,多链路透明互联)是由IETF提出的 "以太帧多路径转发"技术标准,目前该标准还处于草案阶段。TRILL提供了一种与传统以太帧转发方式完全不同的技术。"多路径"概念以往只用于IP转发。当两台路由器间存在多条等价转发路径(等价或非等价),路由器可根据路由协议的计算结果,将IP报文沿最短路径、并按照路径度量值,基于流的方式进行分担转发,由此可充分利用带宽资源。TRILL技术将IP报文转发思路应用于以太帧转发,支持TRILL技术的以太网交换机被称为"RBridge(Routing Bridge)"。

路由器可通过链路状态路由协议计算相互之间的最短路径、等价多路径/ECMP,并在拓扑变化时更新转发路径。RBridge间通过类似IS-IS路由协议的链路状态控制协议TRILL IS-IS实现相互间最短路径和等价多路径的计算。TRILL IS-IS只计算RBridge间的拓扑,而不关心网络中两台主机间的拓扑。

路由器具备"可寻址性",因此可通过链路状态路由协议(OSPF、IS-IS)计算整网拓扑,并通过已获得的拓扑计算出相互间最短路径和分担策略。传统以太网交换机不具"可寻址性"(桥MAC只用在控制层协议/STP,不影响以太帧转发),以太帧头只包含源端和目的端主机MAC,转发路径中的所有交换机对于源端和目的端主机都是透明的。TRILL定义的以太帧转发模型与IP报文在路由器上转发模型相似,因此RBridge必须与路由器一样成为可寻址设备。TRILL网络中的RBridge都被赋予不同的Nickname(2字节),其更能类似与IP地址,由此RBridge变为可寻址设备。

图5 RBridge对已知单播的转发

如图5所示,当单播以太帧通过位于TRILL网络边缘的Ingress RBridge进入TRILL网络时,原始帧头前被增加一个额外的"TRILL头"(类似IP报文头),其中包含Ingress RBridge Nickname和Egress RBridge Nickname,就像IP头中的源IP地址和目的IP地址。"TRILL头"前还要添加"Next-Hop头"(就像IP报文前的MAC头或PPP头),由此完成TRILL帧封装。此后,TRILL帧在RBridge间的转发过程就像IP报文在路由器间的转发过程。RBridge根据TRILL头中的Egress Nickname进行逐跳转发,Next-hop头在每一跳都要修改,而TRILL头中只有TTL值发生变化。RBridge间对TRILL帧实现最短路径转发和等价路径分担,避免了传统二层网络由于运行STP造成的链路阻塞问题。TRILL帧最终在TRILL网络边缘的Egress RBridge被还原成标准以太帧,并被送出TRILL网。RBridge只需要知道到达下一跳RBridge的最优路径即可,无需知道如何到达目的主机。因此,只有Ingress/Egress RBridge需要使能传统的MAC地址学习(MAC表中区分从本地端口学到的MAC地址,以及从远端Egress RBridge上学到的MAC地址),而TRILL网络上的核心RBridge无需维护与主机相关的MAC表。另外,RBridge之间可以采用传统以太交换机互联,并且在BRridge与互联交换机可运行STP协议,但RBridge会终结STP实例,不会将BPDU通过RBridge扩散。

图6 RBridge对多目的帧的转发

如图6所示,对于多目的以太帧(广播、组播、未知单播)的处理,要求RBridge通过TRILL IS-IS的计算结果生成出多棵具有不同树根的分发树。多目的帧进入TRILL网络,由Ingress RBridge选择一颗分发树用于该帧在TRILL网的转发,并将树根RBridge Nickname作为"TRILL头"中的Egress RBridge Nickname。此后的处理过程其过程与IP组播报文在组播路由器间的转发类似,每个RBridge只根据树根RBridge标识的分发树选择TRILL的复制和转发策略。

需要说明一点,由于TRILL技术定义了新的帧格式,所以传统的以太网交换机不能通过升级软件支持该特性,只有采用新款ASIC/NP芯片的以太网交换机才能支持TRILL转发。

2. 通过TRILL构建无STP的数据中心二层网络

图7是采用TRILL技术构建的数据中心大二层网络,网络分为核心层、接入层。接入层是TRILL网络与传统以太网的边界,某些情况下可能需要运行STP用于连接传统以太网。核心层RBridge不提供主机接入,只负责TRILL帧的高速转发。每个接入层RBridge通过8个万兆端口分别接入到8台核心层RBridge上,此时的网络对分带宽(bisection bandwidth)可达320G。假设每台核心RBridge通过160个万兆端口与160台接入层RBridge连接,则对分带宽可达6400G,也就是说整个数据中心可以构建拥有12K台服务器的大二层网络。这种拓扑结构通常应用在"分布式IO集群计算"环境,以及"并行文件处理计算计算"环境。前者的典型应用是搜索引擎,后者的典型应用是图像/动画渲染。另外,这里的核心层和接入层RBridge都应采用具有端口大缓存能力的设备,以防范在转发路径中可能出现 "多条流同时向一个端口转发"所造成的拥塞现象。

图7 通过TRILL技术构建大二层网络

四、 结束语 —— IRF与TRILL的综合对比

IRF

TRILL

技术成熟度

5

2

配置管理简易性

5

3

二层网络规模(分值大代表规模大)

3

5

与传统STP网络的无缝连接能力

5

4

现网设备对该技术的支持能力

4

0

*注:满分为5,分值越接近5,表示该项技术参数越优良。

计算虚拟化技术以及大规模集群技术的广泛应用,必然会使数据中心内的二层网络范围不断扩大。IRF与TRILL都是解决无STP大二层网络的方案,通过本文的比较分析可以看出,TRILL的优势在于可构建超大规模的二层网络(应用于大规模集群计算),但TRILL的问题在于技术尚未成熟,而且传统以太网交换机不能通过软件升级支持该特性。反观IRF,其技术成熟度、配置简易性以及对现网设备支持能力都要强于TRILL。另外,从金融行业数据中心业务系统的架构来看,超大规模二层网络集群计算环境并不多见,所以就近期的网络技术及应用架构的发展趋势来看,IRF无疑是最为合适的构建无STP大二层网络的技术。

0 0
原创粉丝点击