CN103501275B - 一种邻居多链路处理方法及装置 - Google Patents
一种邻居多链路处理方法及装置 Download PDFInfo
- Publication number
- CN103501275B CN103501275B CN201310463878.4A CN201310463878A CN103501275B CN 103501275 B CN103501275 B CN 103501275B CN 201310463878 A CN201310463878 A CN 201310463878A CN 103501275 B CN103501275 B CN 103501275B
- Authority
- CN
- China
- Prior art keywords
- port
- neighbor
- local
- virtual
- neighbours
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种邻居多链路处理方法及装置,应用于SPB网络中的SPB网络设备上,该方法包括:根据邻居设备发送的邻居报文确定与该邻居设备相连的本地端口;在与该邻居设备相连的本地端口数量为多个时,以该些本地端口为成员端口创建面向SPB网络的虚拟端口;将该虚拟端口作为与该邻居设备相连的邻居端口,通过协议报文对外传播该虚拟端口的属性信息;在SPB数据报文进行转发时,对于以虚拟端口为出端口的SPB数据报文,根据预设的负载分担算法从该虚拟端口对应的正常状态的成员端口中选择一个成员端口来发送该SPB数据报文。相较于现有技术,本发明通过引入虚拟端口,避免了SPB网络中MSTP选路过程中无法实现负载分担的问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种邻居多链路处理方法及装置。
背景技术
SPB(Shortest Path Bridge,最短路径桥)是IEEE802.1aq定义的以太网标准之一。从某种意义上将SPB技术看作是多实例生成树协议(MSTP)的进一步延伸,旨在构建大型扁平的无阻塞二层网络。在SPB技术中,各个节点使用SPB-ISIS(Intermediate System toIntermediate System Routing Protocol,中间系统到中间系统的路由选择协议)来共享网络中的链路状态,SPB网络各个设备并行计算各节点之间的最短路径,避免了使用STP(Spanning Tree Protocol,生成树协议)带来的不稳定性和部分链路利用效率低下的不足。SPB技术同时具有配置管理简单以及成本低廉等优点,可以数据中心等重要场景中应用,也可以作为城域网或者园区网骨干部署。目前802.1aq定义了两个SPB模式:虚拟局域网(VLAN)模式(SPBV)和MAC(媒体接入控制)地址封装MAC地址(MAC-in-MAC)模式(SPBM),其中SPBV模式的协议非常复杂,应用案例稀少;而SPBM是目前的主要推荐模式,目前的市场上实现了SPB技术的设备,主要支持SPBM。
目前SPBM在继承MSTP好处的同时,却因为MSTP一些固有的特点使得其无法与ISIS协议完美配合。
发明内容
有鉴于此,本发明提供一种邻居多链路处理方法,应用于SPB网络中的SPB网络设备上,其中该方法包括如下步骤:
根据邻居设备发送的邻居报文确定与该邻居设备相连的本地端口;
在与该邻居设备相连的本地端口数量为多个时,以该些本地端口为成员端口创建面向SPB网络的虚拟端口;
将该虚拟端口作为与该邻居设备相连的邻居端口,通过协议报文对外传播该虚拟端口的属性信息;
在SPB数据报文进行转发时,对于以虚拟端口为出端口的SPB数据报文,根据预设的负载分担算法从该虚拟端口对应的正常状态的成员端口中选择一个成员端口来发送该SPB数据报文。
本发明还提供一种邻居多链路处理装置,应用于SPB网络中的SPB网络设备上,其中该装置包括:
邻接控制单元,用于根据邻居设备发送的邻居报文确定与该邻居设备相连的本地端口;在与该邻居设备相连的本地端口数量为多个时,以该些本地端口为成员端口创建面向SPB网络的虚拟端口;
SPB协议单元,用于将该虚拟端口作为与该邻居设备相连的邻居端口,通过协议报文对外传播该虚拟端口的属性信息;
链路分担单元,用于在对SPB数据报文进行转发时,对于以虚拟端口为出端口的SPB数据报文,根据预设的负载分担算法从该虚拟端口对应的正常状态的成员端口中选择一个成员端口来发送该SPB数据报文。
相较于现有技术而言,本发明通过引入虚拟端口,避免了SPB网络中MSTP选路过程中无法实现负载分担的问题,有效地利用了闲置链路带宽,对网络结构的优化以及ECT计算都有积极的意义。
附图说明
图1是一种SPB典型组网图。
图2是一种SPB网络中邻居报文交互示意图。
图3是本发明一种实施方式中邻居报文交互示意图。
图4是本发明一种实施方式中邻居多链路处理方法的流程图。
图5是本发明一种实施方式中沉默TLV的封装示意图。
图6是本发明一种实施方式中成员端口状态变化处理流程图。
图7是本发明一种实施方式中邻居多链路处理装置逻辑结构图。
图8是本发明一种实施方式中SPB网络设备的基本硬件结构图。
具体实施方式
请参考图1所示,在SPBM技术中,骨干网络(Core Network),比如运营商网络,通常又被称为SPT(Shortest Path Tree,最短路径树)域。SPT域中通常包括两种SPB设备:BEB(Backbone Edge Bridge,骨干网边缘网桥)设备以及BCB(Backbone Core Bridge,骨干网核心网桥)设备。BEB设备是骨干网络的边缘设备,在角色上其相当于MPLS VPN(MultiProtocol Label Switching Virtual Private Network,基于多协议标签交换协议的虚拟专用网)网络中的PE(Provider Edge,服务提供商网络边缘)设备,负责将来自用户网络的用户报文进行Mac-in-Mac(以下简称“MinM”)封装,并转发到骨干网络中;或者将来自骨干网络的MinM报文进行解封装,并转发到用户网络中。而BCB设备是骨干网络的核心设备,相当于MPLS VPN网络中的P(Provider,服务提供商网络)设备。它负责按照MinM报文头部的目的B-MAC和B-VLAN转发MinM报文。任何一个BCB设备只需要转发报文和学习骨干网中其他设备的B-MAC地址,不需要学习用户网络(Customer Network)中大量的用户MAC(C-MAC)地址,BCB设备这种源MAC地址学习以及基于目的MAC地址转发机制继承了传统以太网交换机的基础技术,因此实现成本相对较低,可有效缓解运营网络部署成本上的压力,同时也为骨干网络提供了更好的可扩展性。
从数据层面来说,BEB设备对用户报文进行封装时,会为其打上运营商分配的B-MAC(Backbone MAC,骨干网MAC)地址和B-VLAN(Backbone VLAN,骨干网VLAN),也就是报文外层的MAC与VLAN,所谓外层是相对于作为SPB数据报文载荷的用户报文中的C-MAC地址和C-VLAN而言的,这里的C-MAC,C-VLAN是指用户网络的MAC和VLAN。B-MAC包括源B-MAC和目的B-MAC,BEB设备在对用户报文进行封装时,会将自己的MAC作为源B-MAC、将隧道目的端BEB设备的MAC作为目的B-MAC进行封装。如前所述,在骨干网络中,BCB设备就是按照目的B-MAC和B-VLAN转发MinM报文。由于整个骨干网络提供的是VPN隧道服务,将用户的两个二层/三层网络直连,在传输过程中要能够保持用户报文不变,即提供所谓的透明传输服务,因此MinM报文中需要有标识对来区分不同的用户报文。在SPB中定义了代表用户的或某种网络业务类型的服务实例I-SID(Backbone Service Instance Identifier,骨干网服务实例编号)是该实例的唯一编号。BEB设备在对MinM报文解封装的时候,可以根据I-SID确定其中承载的用户报文到底应该转发到哪个用户网络中去。
从控制层面来说,SPBM通过改进知名的ISIS协议形成SPB-ISIS协议,即SPB网络中的控制协议,并配合MSTP中的ECT(Equal Cost Tree,等价开销树)算法来实现最短路径的计算。骨干网络中的各个设备运行SPB-ISIS协议来收集其他设备的信息,最终每个设备都获得骨干网络中完整拓扑信息。接下来每个设备分别根据自身保存的信息计算一个拓扑摘要。各设备计算得到摘要结果之后,将这个结果写在SPB-ISIS的邻居报文,这里为Hello报文中,通过Hello报文进行的邻居交互,将自己的摘要结果通告给邻居。其他邻居设备收到Hello报文后提取摘要信息,与自己本地的摘要信息进行比对,如比对结果一致,邻居状态置UP;如果不一致,则丢弃该邻居的Hello报文,不建立邻居关系。
在使用SPB-ISIS报文进行邻居建立和邻居信息交换,其同样遵循Level-1ISIS(第一等级ISIS)的协议中定义的各种标准,比如认证和三次握手等。每个SPB中的设备使用网络唯一的SID(SYSTEM_ID,系统标识)进行区别,对使能了SPBM的网络端口分配本地适用的CID(CIRCUIT_ID,电路标识),通过封装在SPB-ISIS Hello报文中的三次握手TLV(标签长度值,Tag-Length-Value),实现CID交互,并以SID较小的邻居设备的最小CID端口作为邻居端口。
SPB-ISIS中的ECT算法继承自MSTP协议,其设计中包含MSTP的防环考虑,因为BCB设备事实上是基于源地址学习进行转发的,因此防环考虑也是符合需求的。在这样的基础下,邻居设备之间的多链路负载分担是不被算法所允许的,请参考图2所示,当两个BCB设备之间存在多条链路时,SID较大的一端设备会忽略掉一个端口上接收到的Hello报文。如果通过去使能当前邻居接口的SPBM功能来尝试改变邻居端口,那么,如果这个去使能端口的对端设备端口的CID最小,就会出现SID较小的设备试图在CID最小的端口上建立邻居,而实际上该端口因为去对端的去使能而收不到回应,邻居建立失败。而其他可以收到Hello报文的端口却因为CID不是最小的原因,不能建立邻居。更为重要的是:由于SPB继承了MSTP为防环而使用的唯一选路特性,SPB邻居间多链路状态下的备份链路实际上没有负载分担功能。只有当主链路端口Down时,SPB才会去选择其他端口作为出端口。
本发明在SPB中引入虚拟邻居方案来解决目前所遭遇的技术困境。在本发明新引入的机制中,对于邻居多链路情形,不再进行这一系列的比较工作,而是将邻居关系都先行建立起来,然后生成虚拟的SPB端口(Virtual SPBM Port,VSP),将本地端口作为该虚拟端口的成员口加入,以虚拟端口的身份参与控制层面与数据层面的处理中。
请参考图3所示,在一种SPB网络典型的多链路连接的邻居关系中,设备A上的本地端口1(标识为CID1)与设备B上的本地端口3(CID3)通过链路1相连,其中设备A上的本地端口2(CID2)与设备B上的本地端口4(CID4)通过链路2相连。设备A上的本地端口5(CID5)与设备C上的本地端口6(CID6)通过链路3相连。请参考图4所示的流程图,从设备A的角度观察,本发明提供一种邻居多链路处理方法,其包括如下处理步骤:
步骤101,根据邻居设备发送的邻居报文确定与该邻居设备相连的本地端口;
步骤102,在与该邻居设备相连的本地端口数量为多个时,以该些本地端口为成员端口创建面向SPB网络的虚拟端口;
步骤103,将该虚拟端口作为与该邻居设备相连的邻居端口,通过协议报文对外传播该虚拟端口的属性信息;
步骤104,在SPB数据报文进行转发时,对于以虚拟端口为出端口的SPB数据报文,根据预设的负载分担算法从该虚拟端口对应的正常状态的成员端口中选择一个成员端口来发送该SPB数据报文。
在图3中,初始的时候,设备A会从三条链路上接收到三份邻居报文(比如Hello报文),这些报文携带的信息如表1所示。
SID | 本地CID(Local CID) | 邻居CID(Extend CID) | |
报文1 | 0000.0000.0003 | 6 | 5 |
报文2 | 0000.0000.0002 | 3 | 1 |
报文3 | 0000.0000.0002 | 4 | 2 |
表1
在表1中,Hello报文2是从设备B的本地端口3上发送出来的,设备A在本地端口1上接收到,对于设备B而言,设备A的本地端口就是报文2中的邻居端口。事实上,根据表1,设备A就可以发现本地端口1以及本地端口2是通过不同链路连接到同一个邻居设备上的两个端口。如前所述,由于本地端口1与本地端口2都是连接到同一个邻居设备的,因此这两个本地端口可以作为一个虚拟端口的成员端口。
在创建虚拟端口时,虚拟端口的属性定义可以参考本地端口来赋予,当然其并不一定具备本地端口的所有属性,只要能够其像普通本地端口那样参与到SPB协议中来即可,因此本发明称该端口为面向SPB网络的虚拟端口。在现有技术,SPB设备之间在建立邻居时,需要逐一每个端口的CID选择一个端口作为与邻居设备相连的邻居端口。而本发明并不需要进行逐一比较,而是先保存表1的内容,然后创建虚拟端口,将该创建好的虚拟端口作为与邻居设备相连的添加到邻居表中,而其成员端口则不需要添加到邻居表中。请参考表2所示,也就是说本地的CID7这个端口将是与作为邻居设备相连的邻居端口,而其他成员端口则不会出现在这个表中。由于邻居表发生了上述变化,控制层面将会按照邻居表中的端口来与外部交互,比如说后续发送Hello报文或者其他协议报文时,其只需要从VSP0这个端口发送Hello报文即可。这也就是说,控制层面在初始的时候会通过各个实际的端口发送Hello报文,但是一旦某些端口加入到虚拟端口之后,其不会在邻居表中有体现,那么控制层面不再直接通过这些端口发送各种协议报文了。
SID | CID | 端口名称 |
0000.0000.0002 | 7 | VSP0 |
表2
本质上来说,虚拟端口的作用是在SPB协议层面与数据层面对SPB网络中除了设备A和设备B以外的其他设备屏蔽掉底层的成员端口,使得这些其他设备“认为”只有虚拟端口的存在,而成员端口是不存在的。正因如此,设备A的虚拟端口可以有自身的CID(比如CID7)、端口速率以及端口链路开销(Cost)等关键属性,设备B的虚拟端口(比如CID8)也是一样的处理方式。SPB端口的链路开销是后续ECT计算中的重要参数,合理设置端口开销可以保证前述ECT计算结果的合理性。本发明在此提供一些可选的比较简洁有效的处理方式:
1)在设置虚拟端口的链路开销时,该虚拟端口的链路开销不高于任意一个成员端口的链路开销,一般来说开销值越大表明链路质量越差,由于虚拟端口中包括了多个成员端口,因此链路总体质量通常会有所提升,因此通常情况下,虚拟端口的开销通常会相对于某个成员端口而言更低一些。
2)若各成员端口都没有配置开销的情况下,通过各成员端口的链路速率和计算虚拟端口的链路开销;根据速率来计算开销的方法可以参考路由协议中的规定。
3)若在各成员端口链路没有配置开销,但全局配置开销的情况下,虚拟端口的链路开销以该全局开销为准,所谓全局开销通常是针对虚拟端口进行配置的开销。
4)若成员端口中有部分配置了链路开销的情况下,根据没有配置开销的成员端口的速率计算出对应的链路开销,然后从所有成员端口的链路开销中选择最小的一个作为虚拟端口的链路开销。
5)若成员端口全部配置开销,选择最小的一个开销作为虚拟端口的链路开销,当然如果各个成员端口的链路开销完全一样,任意选择一个即可。
如前所述,由于本发明将该虚拟端口作为一个SPB端口,对于控制层面的处理来说,其会认为该虚拟端口与其他邻居端口一样,在进行SPB-ISIS协议交互传播链路开销的时候,其会将该虚拟端口的链路开销传播给其他SPB设备。在其他SPB设备,比如其他BEB设备,获得该虚拟端口的属性信息时,其可以会认为设备A与设备B之间只有一条链路,也就是虚拟端口所连接的虚拟链路,因此该BEB设备进行ECT计算的时候就不需要考虑设备A与设备B之间两条链路的唯一选路的问题了。在完成控制层面对外屏蔽成员端口之后,事实上本设备还需要在正常报文转发服务过程中对SPB数据报文进行处理,如前所述由于虚拟端口对于数据层面而言就如同一个真实的普通SPB端口,因此对于转发处理过程而言,其会按照源地址学习的规则进行MAC地址转发表项学习,通过该虚拟端口学习到的MAC地址的出端口将是虚拟端口,完成地址学习之后可以按照正常查表转发的方式将当前SPB数据报文从其他端口转发出去。从其他端口进入设备的SPB数据报文,在基于目的MAC地址查表之后,其出端口若为上述虚拟端口,则报文会被送达到虚拟端口来,在虚拟端口上可以对所有的数据报文进行负载分担,具体的分担算法可以参考各种现有技术加以实现。一种典型的是实现方案是按照开销进行报文负载分担。各成员端口之间分担比例将与开销比例成反比,比如成员端口1与成员端口2的开销之比为1:10,那么成员端口1与成员端口2之间的分担比例将为10:1。这样做可以保证具有较高链路性能表现的成员端口承载较多的报文流量。
在优选的实施方式中,对于从成员端口上接收到的邻居报文,将该邻居报文中本地CID以及邻居CID分别修改为邻居虚拟端口的CID以及本地虚拟端口的CID;同样的道理,对于通过虚拟端口向邻居设备发送的邻居报文,将该邻居报文中的本地CID以及邻居CID分别修改为成员端口标识以及邻居成员端口标识。此外,在确定本地虚拟端口中的成员端口变化为非正常状态时,通过邻居报文向邻居设备发送去使能通知,并在该通知中携带去使能成员端口的CID;同样的道理,通过邻居报文获取到去使能通知,则根据该通知携带的去使能端口的CID确定与该去使能成员端口对应的本地成员端口,将该本地成员端口状态设置为睡眠状态。
对于从虚拟端口发送Hello报文而言,一方面其是在两个虚拟端口之间交互的Hello报文,也就是说是两个虚拟端口在打招呼;另一方面这个Hello报文最终还是要通过一个实际的成员端口发送出去的。由于成员端口有自身的CID,其可能会在Hello报文的处理上设有CID比较机制,在其接收到Hello报文时,可能会查询邻居表比对Hello报文中携带的邻居CID与自身的CID是否一致,Hello报文中携带的本地CID与邻居端口的CID是否一致;如果出现不一致的情况,则会丢弃掉该Hello报文。
请参考图3,设备A从虚拟端口发送出来的Hello报文中携带的本地CID将会是CID7,而邻居CID则会是CID8,假设这个报文从链路1发送给对端,对端成员端口3收到之后发现邻居CID与自身CID不一致,那么会丢弃该Hello报文。正因如此,本发明在优选的实施方式中,通过成员端口向邻居设备发送虚拟端口的Hello报文之前需要其中的邻居CID修改为当前选择的成员端口对应的邻居CID,而本地CID同样需要将其改为该成员端口的CID。同样的道理,从Hello报文的接收角度来看,当成员端口1从链路1收到设备B发送的Hello报文时,由于此时Hello报文携带的邻居CID以及本地CID分别为CID1以及CID3,此时需要将其对应修改为CID7以及CID8,然后上送到虚拟端口。这样一来从虚拟端口的角度来说,其就可以与邻居设备的虚拟端口正常交互Hello报文,实现邻居关系的感知。在优选的机制中,对于从虚拟端口发出的Hello报文,可以在每个非Down状态的成员端口上都发送一份到邻居设备,这样一来,只要虚拟端口内的成员端口还有一个非Down状态的成员端口,那么虚拟端口就不会处于Down状态。除了邻居报文之外,对于其他协议报文的处理机制来说,除非涉及到端口CID比较的,否则一般都可以按照数据报文的处理方式进行分担发送即可。
此前的数据处理过程中通过负载分担算法选择到的成员端口是状态正常的成员端口,因为非正常状态的成员端口,比如睡眠或者故障的成员端口显然是不能参与转发数据报文的。成员端口可能会发生故障,或者从故障中恢复过来,在控制层面感知到这个硬件状态变化的时候,其需要通过其他成员端口向邻居设备发送成员端口去使能通知,这个通知中需要携带去使能成员端口的CID。当然如果系统主动将某个正常状态的成员端口状态修改为故障或者睡眠这样的非正常状态,同样需要通知对端的邻居设备。在优选的方式中,本发明使用Hello报文来承载这种成员端口去使能通知,请参考图5所示,本发明通过在hello报文携带链路沉默子TLV来传递上述通知。链路沉默子TLV的字段接口如下:
Type:表示该子TLV类型,固定值0x7;
Length:表示该子TLV长度,也就是SID与CID长度,固定值56bit;
SID:表示发送子TLV设备的SID,用来确认邻居关系,长度为6字节;
CID:进入沉默状态的本地成员端口的CID,长度为1字节。
对于上述成员端口去使能通知处理过程可以参考图6所示。如前所述如果一个原先处于故障状态(Down)的本地端口在故障消除之后,设备首先将其设为Sleep状态,若本地端口在Sleep状态时接收到对端邻居设备发送的Hello报文,则将自身置为Init的状态,开始进行典型ISIS三次握手,在三次握手通过后,其状态会变更为正常状态(UP)。在本地端口恢复到UP状态后,获取该本地端口接收到的Hello报文中携带的邻居设备标识,若该邻居设备标识与虚拟端口的邻居设备标识一致,则将该本地端口作为成员端口加入到虚拟端口中。也就是说,如果该Hello报文中携带的SID与虚拟端口的邻居设备的SID相同,则允许该端口作为成员端口加入;如果不同则与按照正常方式与邻居端口建立邻居关系。同样的道理如果收到携带去使能通知的Hello报文时,由于Hello报文会上送到虚拟端口进行处理,此时需要根据该报文携带的去使能的成员端口的CID来判断其是否为某个成员端口的邻居端口的CID,如果是则将对应的成员端口状态设置为Sleep状态;当然在Sleep状态下该端口上是可以继续发送Hello报文的。
请参考图7以及图8,在以上实施方式的基础上,本发明还相应提供一种与上述方法对应的邻居多链路处理装置,应用于SPB网络中的SPB网络设备上,与上述流程的实现相对应。该装置可以使用硬件实现,也可以使用硬件或者软件硬件相结合的方式实现,若采用软件实现,则该装置是一个虚拟的逻辑装置,其本质上是CPU将非易失性存储其中的计算机程序指令读取到在内存中执行相应形成的。所述邻居多链路处理装置包括:
邻接控制单元,用于根据邻居设备发送的邻居报文确定与该邻居设备相连的本地端口;在与该邻居设备相连的本地端口数量为多个时,以该些本地端口为成员端口创建面向SPB网络的虚拟端口;
SPB协议单元,用于将该虚拟端口作为与该邻居设备相连的邻居端口,通过协议报文对外传播该虚拟端口的属性信息;
链路分担单元,用于在对SPB数据报文进行转发时,对于以虚拟端口为出端口的SPB数据报文,根据预设的负载分担算法从该虚拟端口对应的正常状态的成员端口中选择一个成员端口来发送该SPB数据报文。
进一步地,所述邻接控制单元进一步用于:
对于从成员端口上接收到的邻居报文,将该邻居报文中本地端口标识以及邻居端口标识分别修改为邻居虚拟端口标识以及本地虚拟端口标识;
对于通过虚拟端口向邻居设备发送的邻居报文,将该邻居报文中的本地端口标识以及邻居端口标识分别修改为成员端口标识以及邻居成员端口标识。
进一步地,所述邻接控制单元进一步用于在确定本地虚拟端口中的成员端口变化为非正常状态时,通过该本地虚拟端口中处于正常状态的成员端口发送邻居报文向邻居设备发送去使能通知,并在该通知中携带去使能成员端口的端口标识;通过邻居报文获取去使能通知,根据该去使能通知中携带的去使能成员端口的端口标识确定与该成员端口对应的本地成员端口,将该本地成员端口状态设置为睡眠状态。
进一步地,所述邻接控制单元进一步用于,对于从虚拟端口发出的Hello报文,在每个非故障状态的成员端口上都发送一份给邻居设备。
进一步地,所述邻接控制单元进一步用于在本地端口状态恢复为正常状态时,获取该本地端口接收到的邻居报文中携带的邻居设备标识,若该邻居设备标识与虚拟端口的邻居设备标识一致,则将该本地端口作为成员端口加入到虚拟端口中。
进一步地,其中该属性信息至少包括该虚拟端口的链路开销,通过协议报文对外传播该虚拟端口的属性信息之前,所述邻接控制单元进一步用于为虚拟端口设置对应的链路开销,其中该链路开销小于或等于任意一个成员端口的链路开销。
进一步地,所述虚拟端口的链路开销与成员端口中最小的链路开销相等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种邻居多链路处理方法,应用于SPB网络中的SPB网络设备上,其特征在于,该方法包括如下步骤:
根据邻居设备发送的邻居报文确定与该邻居设备相连的本地端口;
在与该邻居设备相连的本地端口数量为多个时,以该些本地端口为成员端口创建面向SPB网络的虚拟端口;
将该虚拟端口作为与该邻居设备相连的邻居端口,通过协议报文对外传播该虚拟端口的属性信息;
在SPB数据报文进行转发时,对于以虚拟端口为出端口的SPB数据报文,根据预设的负载分担算法从该虚拟端口对应的正常状态的成员端口中选择一个成员端口来发送该SPB数据报文;
该方法还包括:
对于从成员端口上接收到的邻居报文,将该邻居报文中本地端口标识以及邻居端口标识分别修改为邻居虚拟端口标识以及本地虚拟端口标识;
对于通过虚拟端口向邻居设备发送的邻居报文,将该邻居报文中的本地端口标识以及邻居端口标识分别修改为成员端口标识以及邻居成员端口标识。
2.如权利要求1所述的方法,其特征在于,还包括:
在确定本地虚拟端口中的成员端口变化为非正常状态时,通过该本地虚拟端口中处于正常状态的成员端口发送邻居报文向邻居设备发送去使能通知,并在该通知中携带去使能成员端口的端口标识;
通过邻居报文获取去使能通知,根据该去使能通知中携带的去使能成员端口的端口标识确定与该成员端口对应的本地成员端口,将该本地成员端口状态设置为睡眠状态。
3.如权利要求2所述的方法,其特征在于:对于从虚拟端口发出的邻居报文,在每个非故障状态的成员端口上都发送一份给邻居设备。
4.如权利要求2所述的方法,其特征在于,还包括:
在本地端口状态恢复为正常状态时,获取该本地端口接收到的邻居报文中携带的邻居设备标识,若该邻居设备标识与虚拟端口的邻居设备标识一致,则将该本地端口作为成员端口加入到虚拟端口中。
5.如权利要求1所述的方法,其特征在于,其中该属性信息至少包括该虚拟端口的链路开销,所述将该虚拟端口作为与该邻居设备的邻居端口,通过协议报文对外传播该虚拟端口的属性信息之前,还包括:
为虚拟端口设置对应的链路开销,其中该链路开销小于或等于任意一个成员端口的链路开销。
6.如权利要求5所述的方法,其特征在于,所述虚拟端口的链路开销与成员端口中最小的链路开销相等。
7.一种邻居多链路处理装置,应用于SPB网络中的SPB网络设备上,其特征在于,该装置包括:
邻接控制单元,用于根据邻居设备发送的邻居报文确定与该邻居设备相连的本地端口;在与该邻居设备相连的本地端口数量为多个时,以该些本地端口为成员端口创建面向SPB网络的虚拟端口;
SPB协议单元,用于将该虚拟端口作为与该邻居设备相连的邻居端口,通过协议报文对外传播该虚拟端口的属性信息;
链路分担单元,用于在对SPB数据报文进行转发时,对于以虚拟端口为出端口的SPB数据报文,根据预设的负载分担算法从该虚拟端口对应的正常状态的成员端口中选择一个成员端口来发送该SPB数据报文;
所述邻接控制单元进一步用于:
对于从成员端口上接收到的邻居报文,将该邻居报文中本地端口标识以及邻居端口标识分别修改为邻居虚拟端口标识以及本地虚拟端口标识;
对于通过虚拟端口向邻居设备发送的邻居报文,将该邻居报文中的本地端口标识以及邻居端口标识分别修改为成员端口标识以及邻居成员端口标识。
8.如权利要求7所述的装置,其特征在于,所述邻接控制单元进一步用于在确定本地虚拟端口中的成员端口变化为非正常状态时,通过该本地虚拟端口中处于正常状态的成员端口发送邻居报文向邻居设备发送去使能通知,并在该通知中携带去使能成员端口的端口标识;通过邻居报文获取去使能通知,根据该去使能通知中携带的去使能成员端口的端口标识确定与该成员端口对应的本地成员端口,将该本地成员端口状态设置为睡眠状态。
9.如权利要求8所述的装置,其特征在于,所述邻接控制单元进一步用于,对于从虚拟端口发出的邻居报文,在每个非故障状态的成员端口上都发送一份给邻居设备。
10.如权利要求8所述的装置,其特征在于,所述邻接控制单元进一步用于在本地端口状态恢复为正常状态时,获取该本地端口接收到的邻居报文中携带的邻居设备标识,若该邻居设备标识与虚拟端口的邻居设备标识一致,则将该本地端口作为成员端口加入到虚拟端口中。
11.如权利要求7所述的装置,其特征在于,其中该属性信息至少包括该虚拟端口的链路开销,通过协议报文对外传播该虚拟端口的属性信息之前,所述邻接控制单元进一步用于为虚拟端口设置对应的链路开销,其中该链路开销小于或等于任意一个成员端口的链路开销。
12.如权利要求11所述的装置,其特征在于,所述虚拟端口的链路开销与成员端口中最小的链路开销相等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310463878.4A CN103501275B (zh) | 2013-09-30 | 2013-09-30 | 一种邻居多链路处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310463878.4A CN103501275B (zh) | 2013-09-30 | 2013-09-30 | 一种邻居多链路处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103501275A CN103501275A (zh) | 2014-01-08 |
CN103501275B true CN103501275B (zh) | 2017-04-12 |
Family
ID=49866448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310463878.4A Active CN103501275B (zh) | 2013-09-30 | 2013-09-30 | 一种邻居多链路处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103501275B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10148583B2 (en) | 2015-02-23 | 2018-12-04 | Mitsubishi Electric Corporation | Transfer device |
CN108809672B (zh) * | 2017-04-26 | 2022-04-19 | 中兴通讯股份有限公司 | 一种虚拟端口的管理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710526A (zh) * | 2012-06-20 | 2012-10-03 | 杭州华三通信技术有限公司 | 一种基于运营商骨干桥接网的负载均衡方法和beb设备 |
CN103152283A (zh) * | 2013-03-15 | 2013-06-12 | 杭州华三通信技术有限公司 | 一种聚合链路负载分担的方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8711703B2 (en) * | 2010-10-29 | 2014-04-29 | Telefonaktiebolaget L M Ericsson (Publ) | Load balancing in shortest-path-bridging networks |
-
2013
- 2013-09-30 CN CN201310463878.4A patent/CN103501275B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710526A (zh) * | 2012-06-20 | 2012-10-03 | 杭州华三通信技术有限公司 | 一种基于运营商骨干桥接网的负载均衡方法和beb设备 |
CN103152283A (zh) * | 2013-03-15 | 2013-06-12 | 杭州华三通信技术有限公司 | 一种聚合链路负载分担的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103501275A (zh) | 2014-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9338052B2 (en) | Method and apparatus for managing the interconnection between network domains | |
EP2202923B1 (en) | Routing frames in a computer network using bridge identifiers | |
US8694664B2 (en) | Active-active multi-homing support for overlay transport protocol | |
EP2092692B1 (en) | Method for exchanging routing information and the establishment of connectivity across multiple network areas | |
US8948055B2 (en) | Resilient interworking of shortest path bridging and Ethernet virtual private networks | |
US7787480B1 (en) | Routing frames in a trill network using service VLAN identifiers | |
US9001647B2 (en) | Distributed failure recovery in a routed ethernet network | |
CN101964746B (zh) | 在多宿的传统网桥节点的最短路径计算机网络中路由帧 | |
CN102882784B (zh) | Spbm中的lsp信息泛洪方法及设备 | |
CN103227745B (zh) | 最短路径桥网和三层虚拟专网互通方法及公共边缘设备 | |
CN104518940A (zh) | 实现nvo3网络与mpls网络之间通信的方法和装置 | |
JPWO2009051179A1 (ja) | キャリアネットワーク接続装置およびキャリアネットワーク | |
CN108075969A (zh) | 报文转发方法和装置 | |
WO2018058639A1 (zh) | 伪线负载分担的方法和设备 | |
WO2014082467A1 (zh) | 多归接入最短路径桥接网络的方法和装置 | |
CN105763439B (zh) | 一种多链接透明互联网络中数据中心的互联方法及装置 | |
CN103501275B (zh) | 一种邻居多链路处理方法及装置 | |
CN103152283A (zh) | 一种聚合链路负载分担的方法和设备 | |
CN104219073B (zh) | Spbm网络中的报文转发方法及装置 | |
Faghani et al. | Shortcut switching strategy in metro Ethernet networks | |
CN113452606A (zh) | 通信方法及装置 | |
WO2022053007A1 (zh) | 网络可达性验证方法及装置、计算机存储介质 | |
WO2024016869A1 (zh) | 一种组播配置方法及装置 | |
US8040897B2 (en) | Multiple spanning tree extensions for trunk ports carrying more than 4K virtual services | |
CN103746916B (zh) | 一种改进spbm网络转发策略的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee 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 Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address |