《H3C-TRILL技术及其组网模型.docx》由会员分享,可在线阅读,更多相关《H3C-TRILL技术及其组网模型.docx(8页珍藏版)》请在三一办公上搜索。
1、TRILL (Transparent Interconnection of lots of links,多链路透明互联) 是IETF为实现数据中心大二层扩展制定的一个标准,目前已经有一些协议文稿标准化,如 RFC6325, 6326, 6327等等。该协议的核心思想是将成熟的三层路由的控制算法引入到 二层交换中,将原先的L2报文加一个新的封装(隧道封装),转换到新的地址空间上进行 转发。而新的地址有与IP类似的路由属性,具备大规模组网、最短路径转发、等价多路径、 快速收敛、易扩展等诸多优势,从而规避STP/MSTP等技术的缺陷,实现健壮的大规模二 层组网。一、TRILL实现二层多路径转发TRI
2、LL标准涉及几个重要的概念: Routing Bridge:路由桥,简称RBridge或RB,是支持TRILL功能的网络节 点的统称,类似一个IP Router; VLAN x Forwarder: VLAN X转发器,类似于VPN中的PE角色,基于VLAN来 选举。主要功能是对用户侧的报文封装TRILL头送入TRILL网络进行转发或者将 TRILL网络的报文解封装还原成用户侧的报文发送给用户; Nickname: 16bit长,类似于IP地址,是RB节点路由计算的基础。Nickname 从Mac地址演变而来,因为Mac地址有48个bit,如果直接用于编码开销太大, 而且表示的空间太大,因此从
3、48bit缩减到16bit,64K范围。每个节点的Nickname 各不相同,Nickname可以自动选举也可以手工配置,每个RB可以有多个 Nicknameo多路径概念以往只用于IP转发。当两台路由器间存在多条等价转发路径(等价或非 等价),路由器可根据路由协议的计算结果,将IP报文沿最短路径、并按照路径度量值, 基于流的方式进行分担转发,由此可充分利用带宽资源。如果我们仔细回想一下我们交换机 中最常使用的L2转发表,即MAC表,我们可以看到对于一个单播表项,其出端口只能是 唯一的一个物理端口或者聚合端口,并不能同时有多个独立的物理端口,如果是那样的话, 表项就变成了一个多播表项。也就是说M
4、AC转发表天生不具备二层多路径能力。TRILL技 术的出现并没有改变这种状况,而是通过隧道封装,将原本的二层MAC转发转换成一个类 IP的三层路由转发,即TRILL技术将IP报文转发思路应用于以太帧转发,支持TRILL技 术的以太网交换机被称为“RBridge(Routing Bridge)。由于RB要对用户侧的报文进行封装和解封装操作,我们可以通俗的将负责报文加封装 /拆封装的端点设备称为Vlan X Forwarder,类似VPN中的PE。路由器可通过链路状态路由协议计算相互之间的最短路径、等价多路径/ECMP,并在 拓扑变化时更新转发路径。RBridge间通过类似IS-IS路由协议的链路
5、状态控制协议TRILL IS-IS实现相互间最短路径和等价多路径的计算。TRILL IS-IS只计算RBridge间的拓扑, 而不关心网络中两台主机间的拓扑(事实上,两台RB之间最常使用的拓扑是直连方式)。 为了实现上述的路由控制功能,需要在网络中为每个RB定义一个全局唯一的标识,由于 Router ID已经被IP使用了,且其形式类似IP地址,考虑到TRILL IS-IS还是为L2服务,因此TRILL重新选择了一种新的ID,名字叫Nickname,用来标识每个RB设备TRILLIS-IS计算的最后结果就是为了形成到不同Nickname的单播和组播转发表。TRILLOuter SA ;MAC=R
6、62Otfl* M*LAN=200Inner DA MAC =S2iftWSAMAC 瑚Inner SA MC = SlrnnerSAMAjC=SllrrSAf/WC = StEtjrtift B-MgrrEgress N|cinw jngr 蟠 Nichnarnt R8lKktparrw RB3ingress MtkAag RB 1Outer VUW=300Ehdge &MignInrwr VLANIOInner VLAN=10图1. RBridge对已知单播的转发如图1所示,当单播以太帧通过位于TRILL网络边缘的Ingress RBridge进入TRILL网络时,原始帧头前被增加一个额外
7、的“TRILL头(类似IP报文头),其中包含IngressRBridge 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帧实现 最短路径转发和等价路径分担,
8、避免了传统二层网络由于运行STP造成的链路阻塞问题。TRILL帧最终在TRILL网络边缘的Egress RBridge被还原成标准以太帧,并被送出TRILL网。RBridge只需要知道到达下一跳RBridge的最优路径即可,无需知道如何到达目的主 机。因此,只有Ingress/Egress RBridge需要使能传统的MAC地址学习(MAC表中区 分从本地端口学到的MAC地址,以及从远端Egress RBridge上学到的MAC地址),而 TRILL网络上的核心RBridge无需维护与主机相关的MAC表。另外,RBridge之间可以 采用传统以太交换机互联,并且在BRridge与互联交换机可运
9、行STP协议,但RBridge 会终结STP实例,不会将BPDU通过RBridge扩散。fRtLLtSIRIUM图2. RBridge对多目的帧的转发如图2所示,对于多目的以太帧(广播、组播、未知单播)的处理,要求RBridge通 过TRILL IS-IS的计算结果生成出多棵具有不同树根的分发树。多目的帧进入TRILL网络, 由Ingress RBridge选择一颗分发树用于该帧在TRILL网的转发,并将树根RBridge Nickname作为“TRILL头中的Egress RBridge Nickname,此后的处理过程与IP组播 报文在组播路由器间的转发类似,每个RBridge只根据树根R
10、Bridge标识的分发树选择 TRILL的复制和转发策略。需要说明一点,由于TRILL技术定义了新的帧格式,所以传统的以太网交换机不能通 过升级软件支持该特性,只有采用新款ASIC/NP芯片的以太网交换机才能支持TRILL转 发。二、TRILL的局限虽然TRILL具备明显的特点,但它也存在一些问题待解决。到目前为止,TRILL还在 不断的标准化过程中,依旧有大量的草案在讨论中。其协议本身问题主要包括:不支持大于4K的VLAN扩展能力。对于虚拟化多租户的云计算数据中心,往 往有大于4K的VLAN隔离需求,而TRILL的支持能力依旧限定在4K以内,难以 满足需求; OAM支持能力弱;由于TRILL
11、多用于数据中心,RB之间多是直连组网,不跨越传统Ethernet 网络,对于这种组网,TRILL的外层以太头封装显得多余,可以精简优化。 只支持Level0,没有Multi Level的机制;没有考虑如何承载FCoE业务。三、TRILL的应用TRILL在国内的应用目前还处于起步阶段。部分运营商、金融、大企业以及互联网公 司用户已经开始在关注或者开始考虑TRILL技术。TRILL的组网需要考虑下列因素:收敛比大小 L3网关的部署位置 L3网关的负载分担方式设备本身MAC/ARP表项的大小具体到组网应用,按照部署场景列举如下几种组网类型:1.组网模型1:现有组网扩建TRILL域leaf+aggre
12、gation+spine三层组网环境,L3网关在aggregation层,集中式L3网图3.现有组网扩建TRILL域组网说明(如图3所示):在现有的POD基础上,横向扩展新的TRILL POD域,TRILL域的L3网关在 aggregation层,向上和核心层通过路由协议对接;为了解决leaf层的双活接入的问题,leaf节点支持N:1虚拟化,如H3C的 IRF;两个aggregation节点也做N:1虚拟化,以便免VRRP配置,实现L3转发的 流量在网关的均匀分担;由于现有商用ASIC难以支持在一个Pipeline中同时处理TRILL+L3,那么aggregation节点处如何实现TRILL+
13、L3转发?采用板卡代理的方式:将设备上TRILL和L3分开到两种不同的板卡上,然后在他们之 间启用proxy代理,本质上是将原先一个芯片一个pipeline流程分解到两块芯片上分开执 行,降低对芯片的要求。典型的如思科N7K上的M1/F1板卡组合;采用1:N设备虚拟化方式,将一个设备虚拟成两个设备,其中一个虚拟设备运行TRILL, 一个虚拟设备运行L3。两个虚拟设备通过外部连线连接,就像完全独立的两台设备之间互 联一样(如图4所示)。例如采用H3C的MDC技术,或者思科的VDC技术。图4.通过设备1:N技术实现TRILL+L3这种组网模型能在现有传统技术组建的数据中心网络基础上平滑扩建TRIL
14、L域,实现 TRILL域内的VLAN跨机架二层连通。免STP,链路全活利用率高,高可靠。但其TRILL域规模有限,VLAN只能在POD内二层连通,无法跨POD;才外,集中的L3网关使得L3 转发性能有限。2.组网模型2:新建TRILL核心实现VLAN跨POD联通新建 TRILL core,和 L3 core 并列图5.新建TRILL核心实现VLAN跨POD联通组网说明(如图5所示):在组网模型1的基础上,满足VLAN跨POD更大范围的二层联通需求;为了不影响现有的组网,加入专门的TRILL核心,和现有的L3核心并列; VLAN 分本 POD 内的本地 VLAN,如 VLAN10,20,30,4
15、0 和跨 POD VLAN,如 VLAN1000; POD内本地VLAN之间的三层转发流量,比如VLAN10和VLAN20之间或者VLAN30 和VLAN40之间,直接在本地的L3网关上进行转发(如图5中流量1所示);跨POD VLAN的L2互通,通过TRILL进行,绕行TRILL core (如图5中流量 2所示);跨PODVLAN和本地VLAN之间的L3转发,需要绕行L3 core进行转发(如图 5中流量3所示)。这种组网模型可以在现有组网基础上平滑演进,实现VLAN跨POD联通。但跨 POD VLAN L3网关目前只能位于某个POD的aggregation节点上,存在性能瓶颈。3.组网模
16、型3:新建两层架构的TRILL网络完全新建TRILL,采用leaf+spine两层结构,网关集中在Spine节点上图6.新建两层架构的TRILL网络组网说明(如图6所示):取消aggregation层,整个网络精简为两层;网关在spine节点上,多网关负载分担,由于网关数量大于2个,此处可采用VRRPE, 实现多网关负载分担和备份功能。图6中用蓝色箭头示出了不同的host发出的流量采用不 同的网关MAC,转发到不同的网关节点上进行分担。这种组网模型的两层架构更精简,低时延;VLAN可以在数据中心内任意位置部署;L3 网关负载分担和备份;L2转发可以做到横向无收敛,扩展性好。但是集中式网关对于大
17、型 组网来如几千甚至上万台虚拟化服务器组网来说,一是ARP表项要求高;其次VRRPE的 分担方式对域同一个host的流量不能分担。4.组网模型4: L3网关在leaf节点使能图7. L3网关在leaf节点组网说明(如图7所示):对于L3转发要求不高的场合,可以采用在leaf边缘使能集中的L3网关功能; Spine节点不再担当L3网关的功能,只执行TRILL转发功能,也不学习用户 的 MAC;执行leaf功能的节点可以做N:1虚拟化,实现免VRRP配置和网关双活转发。这种组网模型spine节点处流量实现了均匀的分担和备份,将leaf节点翻上去,相当 于三层设备组部署TRILL(如图8所示),核心
18、集中到一台逻辑设备上。对于spine节点, 完全按照TRILL的多路径进行L3转发流量的分担,即使对于同一个host发出的不同的流量,也可以在spine节点之间进行分担,分担更均匀。但局限性体现在该组网只适合L3转 发性能要求不高的场合。图8.三层设备部署TRILL网络5.组网模型5:在模型3的基础上采用分布式L3网关方式图9.分布式L3网关组网组网说明(如图9所示): leaf节点和core节点同时使能L3网关功能;为保证leaf节点VLAN之间的联通性,整网所有网关设备之间配置一个共同 的互通VLAN。等价于将所有的网关节点连接在一个广播网上;各网关设备上可以配置静态路由,也可以配置动态路
19、由协议,形成路由转发 表;本地VLAN的网关在各个leaf节点上,跨leaf节点的VLAN的三层网关在spine 节点上;同leaf本地VLAN之间三层转发流量如图9中蓝色线所示,不同leaf节点本 地VLAN之间转发需要通过互通VLAN转接,如图9中红色线所示; Leaf节点的本地VLAN和跨leaf节点的VLAN之间互通需要到spine节点上 去转发,如图9中粉色线所示;这种组网模型将原先通过spine节点转发的leaf本地VLAN的三层接口下移到leaf 节点,减轻了 spine节点的负担,降低了 ARP表项需求;但配置相对复杂,需要引入互联 VLAN实现各leaf节点的路由可达。四、结束语通过以上这些组网模型的优缺点分析,可以看出在满足大二层扩展、链路利用率以及稳 定性可靠性方面,TRILL已经表现出比传统STP技术的明显优势。技术在不断发展,TRILL也在不断发展进步之中,这其中既包括协议本身的完善,也 包括ASIC功能的不断完善。当前的TRILL解决方案并不是十全十美的,还有改进优化的 余地。我们期望未来能获得更完美的TRILL组网方案,更好的满足用户的需求。