首页> 中国专利> 最短路径桥接网络中的转发路径确定方法及设备

最短路径桥接网络中的转发路径确定方法及设备

摘要

本发明提出最短路径桥接网络中的转发路径确定方法及设备。方法包括:当第一SPB设备与第二SPB设备间有多条链路时,则针对每条链路分别与第二SPB设备建立一个邻居;第一SPB设备根据自身建立的邻居信息以及来自其它设备的邻居信息,计算SPF树,其中,在计算SPF树时,对于第二SPB设备,将针对第二SPB设备的多条邻居信息中的链路开销设为同一值,分别为SPF树绑定不同的ECT算法,得到每个VSI下本设备与其它设备间的转发路径。本发明优化了SPB网络中的负载分担效果。

著录项

  • 公开/公告号CN104579997A

    专利类型发明专利

  • 公开/公告日2015-04-29

    原文格式PDF

  • 申请/专利权人 杭州华三通信技术有限公司;

    申请/专利号CN201310516437.6

  • 发明设计人 黄智明;

    申请日2013-10-28

  • 分类号H04L12/803(20130101);H04L12/721(20130101);H04L12/753(20130101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人衣淑凤;宋志强

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

  • 入库时间 2023-12-18 08:35:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-24

    授权

    授权

  • 2017-05-10

    著录事项变更 IPC(主分类):H04L12/803 变更前: 变更后: 申请日:20131028

    著录事项变更

  • 2015-06-24

    实质审查的生效 IPC(主分类):H04L12/803 申请日:20131028

    实质审查的生效

  • 2015-04-29

    公开

    公开

说明书

技术领域

本发明涉及最短路径桥接(SPB,Shortest Path Bridging)技术领域,尤其涉及SPB网络中的转发路径确定方法及设备。

背景技术

SPB是为解决大型组网中多生成树协议(MSTP,Multiple Spanning TreeProtocol)组网的一些弊端而产生的。相比MSTP组网而言,有如下一些优势:软件层通过下发驱动规则的方式控制特定流量的转发,不需要完全阻塞链路造成资源浪费;基于链路状态和开销来计算最优的转发路径,最大程度减小时延和不必要的带宽消耗;提供针对不同服务的负载均衡,充分利用网络中的冗余链路等。

SPB原理如下:

1、两个节点通过直连线路或者纯二层网络连接后,,通过交互Hello报文来发现对方并建立SPB邻居。通常有两报文交互或者三报文交互的方式。

两报文交互方式下,端口Up后就持续发送Hello报文,如果此时能收到对端发过来的Hello报文,则建立一个到对端的邻居。

三报文交互方式下,端口Up后持续发送初始化Hello报文,如果此时能收到对端的初始化Hello报文,则将本端状态置为“正在初始化”,并向对端发送请求建立邻居报文。当端口处于“正在初始化”并且收到对端的请求建立邻居报文时,则建立一个到对端的邻居。

邻居建立完成后该链路即拥有转发流量的能力。

2、建立了邻居的链路拥有一个开销值属性,表示流量走该链路所需的花费。SPB中的最优路径是指路径总开销值最小。

SPB将自己了解到的邻居和链路开销信息封装在链路状态协议(LSP,Link State Protocol)报文中,并扩散给其它节点。每个节点通过收集其它节点的LSP来获取整个网络中的链路状态,并以此计算出本节点到任意节点之间的最优路径。所有最优路径的集合就是一个最短路径优先(SPF,ShortestPath First)树。

3、当两个节点之间存在多个总开销值和跳数都相等的路径时,这两条路径成为等价路径。此时SPF树中会有类似于图1中所示的两条路径,其中CE+ED的开销等于CF+FD的开销。

SPB有自己的负载均衡实现,该实现依赖于一种称为等价树(ECT,EqualCost Tree)的算法。ECT算法共有16种,在组建SPB网络时,需要为SPF树绑定ECT算法,该过程实际上是在多条等价路径中选取一条。绑定不同的ECT算法会导致最终选取的路径不同,最终结果取决于中间节点的系统标识(system-id)、桥优先级和所使用的ECT算法。

如图1,假设该SPF树绑定ECT 1时,最终的结果是选择路径A->C->E->D->B,而当绑定ECT 15时,最终的结果是选择路径A->C->F->D->B。这样当外围用户网络连接到SPB网络时,可以为它们分配不同的ECT算法,使得不同用户的流量可以运行在不同的路径上,达到负载分担的效果。

如上描述的负载均衡技术是一个全局意义上的均衡,从设计上来说,每两个节点之间只能有一条链路。如果有需要在两个节点使用多条链路进行负载均衡和备份,SPB并没有提供解决办法。

当前实现是,如果两个节点之间存在一条以上的链路,如图2所示,那么有两种组网方式:

1、两条链路独立并分别都在两端使能SPB。这时候SPB会自动选择一条链路建立邻居并转发,另一条链路闲置。如果在用的一条出现了故障,如down掉,会切换到另一条链路重新建立邻居并转发;

如图2所示,SPB网络中存在两台设备A、B,它们之间有两条链路Link1、Link2。A设备的SPB协议启动后,会通过端口P1和P2同时向B发送Hello报文探测邻居。假定B首先收到A从P1口发过来的Hello报文,则B在P1口上建立到A的邻居。然后B又在P2口上收到A的报文,则B此时会进行一定的决策,从P1和P2中选择出一个端口重新建立邻居。比如决策的结果为P2更优,则B将P1上到A的邻居删除,同时在P2上建立到B的邻居。同理,B也会向A发送Hello报文探测邻居,处理方式亦同。等到网络稳定后,A和B之间仅有一条链路可以建立邻居,其它节点通过LSP报文获取到的A、B之间的邻居信息也仅有一条。当流量经过时,不论A还是B,都只选择建立了邻居的链路转发流量,另外一条链路被闲置。

2、将两条链路加入到一个聚合组中,在聚合组上建立邻居并转发。此时由聚合组负责流量的分担,当一条链路出现问题,所有流量都走另一条链路。

如上描述的2种方式有各自的局限性:

按1的方式组网并没有达到负载分担的效果,总有一条链路闲置,而且链路切换和重新计算转发表都需要时间,会引起较长时间的震荡;

按2的方式组网,在SPB中效果不理想。在SPB网络中转发的报文是一种二次封装的报文,是在用户报文外面再套一层媒体接入控制(MAC,Media Access Control)头,目的MAC地址和源MAC地址是由SPB决定的,相对固定。受限于一些交换机芯片的设计,在流数目较少时负载分担效果不理想,某些情况也有可能达不到分担的效果。

发明内容

本发明提供SPB网络中的转发路径确定方法及设备,以优化SPB网络中的负载分担效果。

本发明的技术方案是这样实现的:

一种最短路径桥接SPB网络中的转发路径确定方法,包括:

第一SPB设备与相邻SPB设备建立邻居,其中,当第一SPB设备与任一相邻SPB设备间有多条链路时,则针对每条链路分别与该相邻SPB设备建立一个邻居;

第一SPB设备向所述SPB网络广播邻居信息,其中,当与任一相邻SPB设备间有多条链路时,在广播该相邻SPB设备对应的邻居信息时,只将该相邻SPB设备作为一个邻居广播邻居信息;

第一SPB设备根据自身建立的邻居信息以及来自其它SPB设备的邻居信息,计算最短路径优先SPF树,其中,在计算SPF树时,若针对一个邻居SPB设备存在多条邻居信息,则将该多条邻居信息中的链路开销设为同一值,分别为SPF树绑定不同的等价树ECT算法,得到每个虚拟服务实例VSI对应的本设备到该多链路邻居SPB设备的转发路径。

所述方法进一步包括:

当第一SPB设备向多链路邻居发送报文时,根据报文中的VSI标识确定对应的转发路径。

所述当与任一相邻SPB设备间有多条链路时,在广播该相邻SPB设备对应的邻居信息时,只将该相邻SPB设备作为一个邻居广播邻居信息包括:

该邻居信息中的邻居节点ID为该相邻SPB设备的设备节点ID,链路开销根据第一SPB设备与该相邻SPB设备间建立邻居关系的所有链路的总传输能力计算获得。

所述针对每条链路分别与该相邻SPB设备建立一个邻居包括:

向与该相邻SPB设备间的每条链路分别发送Hello报文,其中,向不同链路上发送的Hello报文中携带的本地节点ID互不相同,从每条链路上接收来自该相邻SPB设备的Hello报文,其中,从不同链路上接收到的Hello报文中的邻居节点ID互不相同。

所述第一SPB设备向所述SPB网络广播邻居信息进一步包括:

当第一SPB设备接收到任一其它SPB设备发来的邻居信息时,忽略该邻居信息中本设备的多链路邻居与本设备之间的信息。

一种SPB设备,包括:

邻居建立模块:与相邻SPB设备建立邻居,其中,当与任一相邻SPB设备间有多条链路时,则针对每条链路分别与该相邻SPB设备建立一个邻居;

邻居信息发布模块:向SPB网络广播邻居信息,接收其它SPB设备发来的邻居信息,其中,当与任一相邻SPB设备间有多条链路时,在广播该相邻SPB设备对应的邻居信息时,只将其作为一个邻居进行广播;

SPF树计算模块:根据邻居建立模块建立的邻居信息以及邻居信息发布模块接收到的来自其它SPB设备的邻居信息,计算SPF树,其中,在计算SPF树时,若针对一个邻居SPB设备存在多条邻居信息,则将该多条邻居信息中的链路开销设为同一值,分别为SPF树绑定不同的ECT算法,得到不同VSI下本设备到该多链路邻居SPB设备间的转发路径。

所述设备进一步包括:

负载均衡模块:当本设备向多链路邻居发送报文时,根据报文中的VSI标识,在SPF树计算模块得到的转发路径中,选择对应的转发路径。

所述邻居信息发布模块在广播该相邻SPB设备对应的邻居信息时,只将其作为一个邻居进行广播包括:该邻居信息中的邻居节点ID为该相邻SPB设备的设备节点ID,链路开销根据与该相邻SPB设备间建立邻居关系的所有链路的总传输能力计算获得。

所述邻居建立模块针对每条链路分别与该相邻SPB设备建立一个邻居包括:向与该相邻SPB设备间的每条链路分别发送Hello报文,其中,向不同链路上发送的Hello报文中携带的本地节点ID互不相同,从每条链路上接收来自该相邻SPB设备的Hello报文,其中,从不同链路上接收到的Hello报文中的邻居节点ID互不相同。

所述邻居信息发布模块进一步用于,当接收到任一其它SPB设备发来的邻居信息时,则忽略该邻居信息中本设备的多链路邻居与本设备之间的信息。

可见,本发明中,当两个SPB设备间存在多条链路时,针对每条链路建立一个邻居,并将每个邻居中的链路开销设为同一值,使得该两设备间的所有链路能够作为等价链路都加入到SPF树中,从而达到负载均衡的目的。且,根据VSI进行负载分担,使得同一流也能实现负载均衡。

附图说明

图1为现有的SPB网络中的等价路径示意图;

图2为现有的SPB网络中的节点间存在多条链路的示意图;

图3为本发明实施例提供的SPB网络中的转发路径确定方法流程图;

图4为本发明又一实施例提供的SPB网络中的转发路径确定方法流程图;

图5-1为本发明应用示例一对应的SPB组网图;

图5-2为本发明应用示例一对应的SPF树的示意图

图6为本发明的另一应用示例对应的SPB组网图;

图7为本发明实施例提供的SPB设备的组成示意图。

具体实施方式

下面结合附图及具体实施例对本发明再作进一步详细的说明。

图3为本发明实施例提供的SPB网络中的转发路径确定方法流程图,如图3所示,其具体步骤如下:

步骤301:第一SPB设备与各相邻SPB设备建立邻居,其中,当第一SPB设备与任一相邻SPB设备间有多条链路时,第一SPB设备针对每条链路分别与该相邻SPB设备建立一个邻居。

其中,例如:当第一SPB设备与相邻的第二SPB设备间有多条链路时,第一SPB设备针对每条链路分别与第二SPB设备建立一个邻居包括:

第一SPB设备向与第二SPB设备间的每条链路分别发送Hello报文,其中,向不同链路上发送的Hello报文中携带的本地节点ID互不相同,从每条链路上接收来自第二SPB设备的Hello报文,其中,从不同链路上接收到的Hello报文中的邻居节点ID互不相同。

步骤302:第一SPB设备向SPB网络广播邻居信息,其中,当与任一相邻SPB设备间有多条链路时,在广播该相邻SPB设备对应的邻居信息时,只将该相邻SPB设备作为一个邻居广播邻居信息。

其中,例如:当第一SPB设备与相邻的第二SPB设备间有多条链路时,对于第二SPB设备,第一SPB设备只将第二SPB设备作为一个邻居广播邻居信息包括:

该邻居信息中的邻居节点ID为第二SPB设备的设备节点ID,链路开销根据与第二SPB设备间建立邻居关系的所有链路的总传输能力计算获得。

步骤303:第一SPB设备根据自身建立的邻居信息以及来自其它SPB设备的邻居信息,计算SPF树,其中,在计算SPF树时,若针对一个邻居SPB设备存在多条邻居信息,则将该多条邻居信息中的链路开销设为同一值,分别为SPF树绑定不同的ECT算法,得到每个VSI对应的本设备到该多链路邻居SPB设备的转发路径。

其中,当第一SPB设备接收到任一其它SPB设备发来的邻居信息时,忽略该邻居信息中本设备的多链路邻居与本设备之间的信息。

图4为本发明又一实施例提供的SPB网络中的转发路径确定方法流程图,如图4所示,其具体步骤如下:

步骤400:对于任一SPB设备,设为第一SPB设备,当第一SPB设备与相邻的第二SPB设备间有多条链路时,则在第一SPB设备上针对每条链路分别配置一个system-id,不同链路配置的system-id互不相同。

例如:设system-id共48bit,则为第一SPB设备本身配置system-id时,仅配置低位44bit,而高位4bit全为0,即设备system-id的形式为:00xx-xxxx-xxxx;当为第一SPB设备与第二SPB设备间的链路配置system-id时,其低位44bit与设备system-id相同,高位4bit用于区分不同链路。例如:第一SPB设备与第二SPB设备间有两条链路,则为该两条链路配置的system-id可以表示为:0aaa-aaaa-aaaa、1aaa-aaaa-aaaa,可见,为第一条链路配置的system-id与为本设备配置的system-id相同。

不同SPB设备的system-id不同。以下为了方便区分,将为SPB设备配置的system-id称为设备system-id,将为SPB设备的链路配置的system-id称为链路system-id。

步骤401:当第一SPB设备与第二SPB设备间的任一链路,设为Link mUp后,第一SPB设备通过该链路上的自身端口P1m向外发送Hello报文,该报文中携带的本地节点ID为Link m的system-id,设为A-m,该报文携带的本地端口ID为P1m,其中,m为正整数,1≤m≤n,n为第一SPB设备与第二SPB设备间的链路总数。

其中,A为第一SPB设备的设备system-id。

步骤402:第二SPB设备从自身端口P2m接收到该Hello报文,根据该报文建立到第一SPB设备的邻居,其中,邻居节点ID=A-m,本地端口ID=P2m,对端端口ID=P1m,链路开销=Cm,保持时间(Holdtime)=30s。

设第一SPB设备与第二SPB设备之间的链路有n条,则第二SPB设备会建立n个到第一SPB设备的邻居,其中,邻居节点ID分别为:A-1~A-n,本地端口ID分别为:P21~P2n,对端端口ID分别为:P11~P1n,链路开销分别为:C1~Cn。

同样地,最终第一SPB设备也会建立n个到第二SPB设备的邻居,其中,邻居节点ID分别为B-1~B-n,本地端口ID分别为:P11~P1n,对端端口ID分别为:P21~P2n,链路开销分别为:C1~Cn。

举例对步骤401~402进行说明:

如图5-1所示,A和B是SPB网络中的两台设备,A、B之间有两条链路Link1、Link2,初始状态下,Link1和Link2都处于Down状态,A和B互相不能感知。

步骤01:当Link1Up后,设备A通过端口P11,设备B通过端口P21向对端发送Hello报文,报文中携带的本地节点ID分别为A-1和B-1,本地端口ID分别为P11和P21。

步骤02:A收到B发过来的Hello报文后建立到B的邻居B-1,其中,对端节点ID=B-1,本地端口ID=P11,对端端口ID=P21,链路开销=C1;同理,B也建立到A的邻居A-1,其中,对端节点ID=A-1,本地端口ID=P21,对端端口ID=P11,链路开销=C1。

步骤03:当Link2Up后,设备A通过端口P12,设备B通过端口P22向对端发送Hello报文,报文中携带的本地节点ID分别为A-2和B-2,本地端口ID分别为P12和P22。

步骤04:A收到B-2发来的Hello报文后,根据报文中的节点ID和端口ID,识别出这是一个已知邻居B的不同端口发来的Hello报文,且自己的接收端口也不同,则认为这是本端到B的另一条可选链路,新建一个邻居B-2,其中,对端节点ID=B-2,本地端口ID=P12,对端端口ID=P22,链路开销=C2;同理,B也建立到A的新邻居A-2,其中,对端节点ID=A-2,本地端口ID=P22,对端端口ID=P12,链路开销=C2。

这样,A上就会存在两个邻居:B-1和B-2,邻居信息如下:

节点ID  本地端口ID  对端端口ID  链路开销

B-1      P11        P21         C1

B-2      P12        P22         C2

B上也存在两个邻居:A-1和A-2,邻居信息如下:

节点ID  本地端口ID  对端端口ID  链路开销

A-1      P21        P11         C1

A-2      P22        P12         C2

步骤403:当第二SPB设备与第一SPB设备邻居建立完成后,第二SPB设备计算到邻居节点:第一SPB设备的链路总开销C=1/(1/C1+1/C2+…+1/Cn)。

步骤404:第二SPB设备向网络广播LSP报文,该报文中携带的针对第一SPB设备的邻居信息为:邻居节点ID=A,链路开销=C,其中,A为第一SPB设备的设备system-id。

LSP报文中会携带SPB设备的邻居信息。

第二SPB设备在发布LSP报文时,不会将到第一SPB设备的所有邻居信息都放到报文中,而与现有技术一样,只将一个邻居信息放入报文(其中,邻居节点ID为邻居的设备system-id,链路开销为到第一SPB设备的链路总开销),这样,在其它SPB设备看来,第二SPB设备与第一SPB设备就是一个邻居,而是不n个,从而其它SPB设备在计算SPF树时,与现有技术相同。

步骤405:第一SPB设备接收任一其它SPB设备发来的LSP报文,发现该报文中针对第一、二SPB设备之间的信息与自己建立的到第二SPB设备的邻居信息不同,则忽略该报文中的该信息,仍保留本地建立的到第二SPB设备的邻居信息。

例如:第一SPB设备接收到任一其他SPB设备发来的LSP报文,该报文中第二SPB设备到第一SPB设备的邻居信息为:邻居节点ID=A,链路开销=C,而第一SPB设备本地建立的到第二SPB设备的邻居信息为:邻居节点ID分别为B-1~B-n,链路开销分别为:C1~Cn,则第一SPB设备仍以本地建立的到第二SPB设备的邻居信息为准。

在实际应用中,每个SPB设备都会通过LSP报文向外发送自己的链路状态信息(其中包含邻居信息),当该LSP报文到达任一个SPB设备时,该SPB设备学习该LSP报文中的链路状态信息,若该SPB设备从LSP报文中学习到了新的链路状态信息,则将自身更新后的链路状态信息再通过LSP报文发送出去。因此,本步骤中,第一SPB设备收到的包含第一、二SPB设备之间的链路状态信息(其中包含邻居信息)的LSP报文,除了来自第二SPB设备外,还可能来自其他SPB设备。

步骤406:第二SPB设备根据自身建立的邻居信息以及其它SPB设备发来的LSP报文中的邻居信息,计算SPF树,其中,在计算SPF树时,将本设备到第一SPB设备间的所有链路的开销都强制为相同值。

其中,在计算SPF树时,将到第一SPB设备间的所有链路的开销都强制为相同值,这样到第一SPB设备间的所有链路就会成为等价链路,从而都被保留在SPF树中。具体实现时,可以将到第一SPB设备间的所有链路的开销都强制为所有链路的开销平均值。

如图5-1所示,在计算SPF树时,将A和B之间的链路Link1、Link2的开销都强制为相同值,这样最终计算出的SPF树如图5-2所示,其中,A→B-1,A→B-2为等价链路。

步骤407:第二SPB设备根据自身配置的ECT算法,将各ECT算法分别绑定到SPF树上,从而得到各VSI下自身到其它各SPB设备的转发路径。

如,背景技术中所描述,SPB设备上通常配置有多种ECT算法,最多有16种,每种ECT算法分别对应一个或多个虚拟服务实例(VSI,Virtual ServiceInstance)。ECT算法的直接目的是在VSI的多条等价路径中选择一条。对于SPF树中的任意两个节点来说,对于一个VSI,当两个节点间存在等价路径时,为SPF树绑定不同的ECT算法,最终会选择不同的转发路径。

如图5-2所示,当为SPF树绑定ECT算法X时,得到A、C间的转发路径为:A→B-1→C;当为SPF树绑定ECT算法Y时,得到A、C间的转发路径为:A→B-2→C。

步骤408:当第二SPB设备向第一SPB设备发送报文时,根据报文中的VSI标识,找到对应的第二SPB设备到第一SPB设备之间的转发路径,即链路,通过该链路将报文发送出去。

如图5-2所示,设ECT算法1对应VSI1、2,ECT算法2对应VSI3、4,则当A接收到一个报文时,若该报文中的VSI标识为VSI1或2,则选择转发路径A→B-1→C,即将该报文通过Link1发送出去,若该报文中的VSI标识为VSI3或4,则选择转发路径A→B-2→C,即将该报文通过Link2发送出去。

以下给出本发明的另一应用示例:

如图6所示,网络中存在5个SPB设备:A~E。其中A和B之间存在两条链路。每台设备均配置SPB相关必备配置,其中,设备C、D之间的链路开销为20,其它链路开销均为10。具体如下:

过程一、邻居建立

SPB协议启用后,所有设备均从各自的端口发送Hello报文。此时:

E上收到来自A和D的Hello报文,因此E上新建两个邻居D和A,邻居信息如下:

节点ID  本端端口ID  对端端口ID  链路开销值

A        E1         A1          10

D        E2         D2          10

A上收到来自E、D、B的Hello报文,其中,来自B的报文有两份,分别来自B的B2、B3端口,因此,A上新建四个邻居E、D、B-1、B-2。设B的设备system-id为0001-0001-0001,则B-1的system-id为0001-0001-0001,B-2的system-id为0101-0001-0001。A上的邻居信息如下:

B、D、C上的邻居建立过程可类比,不再赘述。

二、邻居信息发布

邻居建立完成后,各设备开始向其它设备发布LSP报文,报文中的邻居信息与上述建立的邻居信息相似,唯一不同的是不包含端口信息。以E为例,其发布的LSP报文中的邻居信息为:

节点E:

邻居A,链路开销=10;

邻居D,链路开销=10。

而对于A,由于A与B之间有两条链路,因此,需要先将该两条链路的开销进行合并,得到链路总开销为1/(1/10+1/10)=5,则A发布的LSP报文中的邻居信息为:

节点A:

邻居E,链路开销=10;

邻居D,链路开销=10;

邻居B,链路开销=5。

其余节点发布的邻居信息可类比,不再赘述。

三、SPF计算及负载均衡

当所有设备的邻居信息发布完成后,各设备开始独立计算SPF树。

以E为例,E计算出的到C的路径有三条:E→A→B→C、E→A→D→C和E→D→C。经过比较总开销值,E确认E→A→B→C路径最优,则将该路径加到SPF树中。

不同的,A计算出的到C的路径有四条:A→E→D→C、A→D→C、A→B-1→C和A→B-2→C(对A来说,B-1和B-2是两个不同的邻居,都参与SPF树计算)。经过比较总开销值,确认A→B1→C和A→B2→C是两条等价且最优的路径。

当A为SPF树绑定不同的ETC算法时,会得到不同的到C的路径,例如:绑定ECT算法1时,得到的到B的路径为A→B-1→C,绑定ECT算法2时,得到的到B的路径为A→B-2→C。设ECT算法1对应VSI1,ECT算法2对应VSI2,则当A收到往C方向的报文带VSI1时,则将报文发往B-1,即由端口A2发出;带VSI2时,则将报文送往B-2,即由端口A3发出,从而达到负载均衡的效果。

图7为本发明实施例提供的SPB设备的组成示意图,如图7所示,其主要包括:邻居建立模块71、邻居信息发布模块72、SPF树计算模块73和负载均衡模块74,其中:

邻居建立模块71:与相邻SPB设备建立邻居,其中,当与任一相邻SPB设备间有多条链路时,则针对每条链路分别与该相邻SPB设备建立一个邻居。

邻居信息发布模块72:向SPB网络广播邻居建立模块71建立的邻居信息,接收其它SPB设备发来的邻居信息,其中,当与任一相邻SPB设备间有多条链路时,在广播该相邻SPB设备对应的邻居信息时,只将其作为一个邻居进行广播。

SPF树计算模块73:根据邻居建立模块71建立的邻居信息以及邻居信息发布模块72接收到的来自其它SPB设备的邻居信息,计算SPF树,其中,在计算SPF树时,若针对一个邻居SPB设备存在多条邻居信息,则将该多条邻居信息中的链路开销设为同一值,分别为SPF树绑定不同的ECT算法,得到不同VSI下本设备到该多链路邻居SPB设备间的转发路径。

负载均衡模块74:当发送报文时,根据报文中的VSI标识,在SPF树计算模块73得到的转发路径中,选择对应的转发路径。

邻居建立模块71在本设备与任一相邻SPB设备间有多条链路时,针对每条链路分别与该相邻SPB设备建立一个邻居包括:向与该相邻SPB设备间的每条链路分别发送Hello报文,其中,向不同链路上发送的Hello报文中携带的本地节点ID互不相同,从每条链路上接收来自该相邻SPB设备的Hello报文,其中,从不同链路上接收到的Hello报文中的邻居节点ID互不相同。

邻居信息发布模块72在本设备与任一相邻SPB设备间有多条链路时,在广播该相邻SPB设备对应的邻居信息时,只将其作为一个邻居进行广播包括:该邻居信息中的邻居节点ID为该相邻SPB设备的设备节点ID,链路开销根据与该相邻SPB设备间建立邻居关系的所有链路的总传输能力计算获得。

邻居信息发布模块72进一步用于,当接收到任一其它SPB设备发来的邻居信息时,忽略该邻居信息中本设备的多链路邻居与本设备之间的信息。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号