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

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

Info

Publication number
CN104579997B
CN104579997B CN201310516437.6A CN201310516437A CN104579997B CN 104579997 B CN104579997 B CN 104579997B CN 201310516437 A CN201310516437 A CN 201310516437A CN 104579997 B CN104579997 B CN 104579997B
Authority
CN
China
Prior art keywords
equipment
spb
neighbours
adjacent
neighbor information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310516437.6A
Other languages
English (en)
Other versions
CN104579997A (zh
Inventor
黄智明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201310516437.6A priority Critical patent/CN104579997B/zh
Priority to US15/031,166 priority patent/US20160277283A1/en
Priority to PCT/CN2014/089722 priority patent/WO2015062484A1/en
Publication of CN104579997A publication Critical patent/CN104579997A/zh
Application granted granted Critical
Publication of CN104579997B publication Critical patent/CN104579997B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/026Details of "hello" or keep-alive messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

最短路径桥接网络中的转发路径确定方法及设备
技术领域
本发明涉及最短路径桥接(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 StateProtocol)报文中,并扩散给其它节点。每个节点通过收集其它节点的LSP来获取整个网络中的链路状态,并以此计算出本节点到任意节点之间的最优路径。所有最优路径的集合就是一个最短路径优先(SPF,Shortest Path First)树。
3、当两个节点之间存在多个总开销值和跳数都相等的路径时,这两条路径成为等价路径。此时SPF树中会有类似于图1中所示的两条路径,其中CE+ED的开销等于CF+FD的开销。
SPB有自己的负载均衡实现,该实现依赖于一种称为等价树(ECT,Equal CostTree)的算法。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为Linkm的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 Service Instance)。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设备发来的邻居信息时,忽略该邻居信息中本设备的多链路邻居与本设备之间的信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种最短路径桥接SPB网络中的转发路径确定方法,其特征在于,包括:
第一SPB设备与相邻SPB设备建立邻居,其中,当第一SPB设备与任一相邻SPB设备间有多条链路时,则针对每条链路分别与该相邻SPB设备建立一个邻居;
第一SPB设备向所述SPB网络广播邻居信息,其中,当与任一相邻SPB设备间有多条链路时,在广播该相邻SPB设备对应的邻居信息时,只将该相邻SPB设备作为一个邻居广播邻居信息;
第一SPB设备根据自身建立的邻居信息以及来自其它SPB设备的邻居信息,计算最短路径优先SPF树,其中,在计算SPF树时,若针对一个邻居SPB设备存在多条邻居信息,则将该多条邻居信息中的链路开销设为同一值,分别为SPF树绑定不同的等价树ECT算法,得到每个虚拟服务实例VSI对应的本设备到多链路邻居SPB设备的转发路径。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
当第一SPB设备向多链路邻居发送报文时,根据报文中的VSI标识确定对应的转发路径。
3.根据权利要求1所述的方法,其特征在于,所述当与任一相邻SPB设备间有多条链路时,在广播该相邻SPB设备对应的邻居信息时,只将该相邻SPB设备作为一个邻居广播邻居信息包括:
该邻居信息中的邻居节点ID为该相邻SPB设备的设备节点ID,链路开销根据第一SPB设备与该相邻SPB设备间建立邻居关系的所有链路的总传输能力计算获得。
4.根据权利要求1所述的方法,其特征在于,所述针对每条链路分别与该相邻SPB设备建立一个邻居包括:
向与该相邻SPB设备间的每条链路分别发送Hello报文,其中,向不同链路上发送的Hello报文中携带的本地节点ID互不相同,从每条链路上接收来自该相邻SPB设备的Hello报文,其中,从不同链路上接收到的Hello报文中的邻居节点ID互不相同。
5.根据权利要求1所述的方法,其特征在于,所述第一SPB设备向所述SPB网络广播邻居信息进一步包括:
当第一SPB设备接收到任一其它SPB设备发来的邻居信息时,忽略该邻居信息中本设备的多链路邻居与本设备之间的信息。
6.一种SPB设备,其特征在于,包括:
邻居建立模块:与相邻SPB设备建立邻居,其中,当与任一相邻SPB设备间有多条链路时,则针对每条链路分别与该相邻SPB设备建立一个邻居;
邻居信息发布模块:向SPB网络广播邻居信息,接收其它SPB设备发来的邻居信息,其中,当与任一相邻SPB设备间有多条链路时,在广播该相邻SPB设备对应的邻居信息时,只将其作为一个邻居进行广播;
SPF树计算模块:根据邻居建立模块建立的邻居信息以及邻居信息发布模块接收到的来自其它SPB设备的邻居信息,计算SPF树,其中,在计算SPF树时,若针对一个邻居SPB设备存在多条邻居信息,则将该多条邻居信息中的链路开销设为同一值,分别为SPF树绑定不同的ECT算法,得到不同VSI下本设备到多链路邻居SPB设备间的转发路径。
7.根据权利要求6所述的设备,其特征在于,所述设备进一步包括:
负载均衡模块:当本设备向多链路邻居发送报文时,根据报文中的VSI标识,在SPF树计算模块得到的转发路径中,选择对应的转发路径。
8.根据权利要求6所述的设备,其特征在于,所述邻居信息发布模块在广播该相邻SPB设备对应的邻居信息时,只将其作为一个邻居进行广播包括:该邻居信息中的邻居节点ID为该相邻SPB设备的设备节点ID,链路开销根据与该相邻SPB设备间建立邻居关系的所有链路的总传输能力计算获得。
9.根据权利要求6所述的设备,其特征在于,所述邻居建立模块针对每条链路分别与该相邻SPB设备建立一个邻居包括:向与该相邻SPB设备间的每条链路分别发送Hello报文,其中,向不同链路上发送的Hello报文中携带的本地节点ID互不相同,从每条链路上接收来自该相邻SPB设备的Hello报文,其中,从不同链路上接收到的Hello报文中的邻居节点ID互不相同。
10.根据权利要求6所述的设备,其特征在于,所述邻居信息发布模块进一步用于,当接收到任一其它SPB设备发来的邻居信息时,则忽略该邻居信息中本设备的多链路邻居与本设备之间的信息。
CN201310516437.6A 2013-10-28 2013-10-28 最短路径桥接网络中的转发路径确定方法及设备 Active CN104579997B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310516437.6A CN104579997B (zh) 2013-10-28 2013-10-28 最短路径桥接网络中的转发路径确定方法及设备
US15/031,166 US20160277283A1 (en) 2013-10-28 2014-10-28 Calculating a shortest path first tree
PCT/CN2014/089722 WO2015062484A1 (en) 2013-10-28 2014-10-28 Calculating shortest path first tree

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310516437.6A CN104579997B (zh) 2013-10-28 2013-10-28 最短路径桥接网络中的转发路径确定方法及设备

Publications (2)

Publication Number Publication Date
CN104579997A CN104579997A (zh) 2015-04-29
CN104579997B true CN104579997B (zh) 2017-11-24

Family

ID=53003351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310516437.6A Active CN104579997B (zh) 2013-10-28 2013-10-28 最短路径桥接网络中的转发路径确定方法及设备

Country Status (3)

Country Link
US (1) US20160277283A1 (zh)
CN (1) CN104579997B (zh)
WO (1) WO2015062484A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017199301A1 (ja) * 2016-05-16 2017-11-23 三菱電機株式会社 転送装置、調整装置およびパラメータ調整方法
CN106161230B (zh) * 2016-06-29 2020-10-30 新华三技术有限公司 一种备份链路确定方法及装置
CN110138670B (zh) * 2019-04-30 2022-06-07 哈尔滨英赛克信息技术有限公司 一种基于动态路径的负载迁移方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152265A (zh) * 2013-03-22 2013-06-12 杭州华三通信技术有限公司 一种spb网络中的报文转发方法和设备
CN103368863A (zh) * 2013-07-09 2013-10-23 杭州华三通信技术有限公司 最短路径桥网络中的负载分担方法及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7126907B2 (en) * 2001-08-31 2006-10-24 Tropic Networks Inc. Label switched communication network, a method of conditioning the network and a method of data transmission
US8958305B2 (en) * 2009-10-30 2015-02-17 Juniper Networks, Inc. OSPF point-to-multipoint over broadcast or NBMA mode
CN102171998B (zh) * 2011-04-26 2013-10-09 华为技术有限公司 业务实例映射方法、装置和系统
US8559314B2 (en) * 2011-08-11 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Implementing OSPF in split-architecture networks
CN102916875B (zh) * 2012-09-21 2016-06-29 杭州华三通信技术有限公司 一种基于isis网络的序列号翻转方法和设备
US9137144B2 (en) * 2012-09-28 2015-09-15 Alcatel Lucent Method and apparatus for communication path selection
CN103841019B (zh) * 2012-11-27 2018-06-08 中兴通讯股份有限公司 多归接入最短路径桥接网络的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152265A (zh) * 2013-03-22 2013-06-12 杭州华三通信技术有限公司 一种spb网络中的报文转发方法和设备
CN103368863A (zh) * 2013-07-09 2013-10-23 杭州华三通信技术有限公司 最短路径桥网络中的负载分担方法及设备

Also Published As

Publication number Publication date
WO2015062484A1 (en) 2015-05-07
CN104579997A (zh) 2015-04-29
US20160277283A1 (en) 2016-09-22

Similar Documents

Publication Publication Date Title
CN102884767B (zh) 第2层多路径网络中链路成本按图分配
CN104135420B (zh) 一种报文转发的方法、设备及系统
CN102171998B (zh) 业务实例映射方法、装置和系统
CN100473069C (zh) 支持伪线标签反射的二层虚拟专网设备和组网方法
CN100583825C (zh) 最短路径桥中对称树的生成方法
CN102224707B (zh) 到提供商链路状态桥接(plsb)网络的弹性附着
CN102037685B (zh) 通过链路状态协议控制的以太网的ip转发
CN102594664B (zh) 流量转发方法和装置
CN105812259B (zh) 一种报文转发方法和设备
US20120131216A1 (en) Active-Active Multi-Homing Support for Overlay Transport Protocol
CN102368727B (zh) 跨ip网络的trill网络通信方法、系统和设备
CN102413059B (zh) 一种基于spb网络的组播转发方法和spbm桥
CN104871490B (zh) 能够改进能量使用效率的多径通信装置及其用于改进能量使用效率的业务分配方法
CN102217238A (zh) 应用于mpls网络的服务实例
US8929249B2 (en) System and method for virtual private local area network service to use the flow aware pseudowire
CN107592262A (zh) 报文发送方法和装置、报文跨域转发的网络架构
CN103780509B (zh) 报文转发方法和路由转发设备
CN103346979B (zh) 一种spbm网络中的流量分配方法及设备
CN104798350A (zh) 跨多个架构交换机的虚拟链路聚合
CN103138955B (zh) 在第2层网络中使用多个igmp查询器
CN104601461B (zh) 一种纵向智能弹性架构系统中的报文转发方法及装置
CN102882784A (zh) Spbm中的lsp信息泛洪方法及设备
CN102916888B (zh) 一种组播数据传输方法和设备
CN104579997B (zh) 最短路径桥接网络中的转发路径确定方法及设备
CN103905325A (zh) 二层网络数据传送方法及网络节点

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant