一种SPBM网络中的流量分配方法及设备与流程

文档序号:12009543阅读:444来源:国知局
一种SPBM网络中的流量分配方法及设备与流程
本发明涉及通信技术领域,尤其涉及一种最短路径桥MAC-in-MAC模式(ShortestPathBridgingMACmode,SPBM)网络中的流量分配方法及设备。

背景技术:
最短路径桥(ShortestPathBridge,SPB)是IEEE802.1aq定义的以太网标准之一,是生成树协议(STP,SpanningTreeProtocol)的进一步延伸,旨在构建大型扁平的无阻塞二层网络,使用ISIS(IntermediateSystem-to-IntermediateSystemintra-domainroutinginformationexchangeprotocol,中间系统到中间系统的域内路由信息交换协议)-SPB来共享网络中的链路状态,网络各个节点并行计算各节点之间的最短路径,避免了使用STP协议带来的不稳定性和部分链路利用效率低下的不足。SPB同时配置管理简单,成本低廉,可以针对以太网在数据中心的应用。SPB集成了802.1ah的优势,可以作为城域网或者园区网骨干部署。802.1aq定义了两个SPB模式:Q-in-Q模式(SPBV)和MAC-in-MAC模式(SPBM),其中SPBM是目前的主要推荐模式。其中,SPBM模式继承了802.1ah的报文封装格式及多实例的思想,但重新定义了数据平面的转发方式和控制平面,由ISIS-SPB来学习链路状态信息,并进行全网同步,计算转发路径,如图1所示,为SPBM基本组网模型。SPBM技术可以运用于运营商骨干网络。运营商骨干网络由运营商骨干网桥(PBB,ProviderBackboneBridge)类型的设备以及设备之间的骨干链路组成,设备可划分为骨干网边缘网桥(BEB,BackboneEdgeBridge)、骨干网核心网桥(BCB,BackboneCoreBridge)等类型。SPBM技术在运营商骨干网 络中的应用最终体现在转发上:BEB设备将来自用户网络的报文进行M-in-M封装,并转发到骨干网络中;BCB设备根据B-MAC和B-VLAN(BackboneVisualLocalAreaNetwork,骨干网虚拟局域网)转发M-in-M报文;最后报文到达目的侧的BEB设备,BEB设备将来自骨干网络的M-in-M报文进行解封装,并转发到目的侧的用户网络中。整个转发过程都是通过二层转发来实现,但又不同于普通的二层转发,因此把应用SPBM技术的网络称为大二层网络。在现有技术中,SPBM默认支持16个ECT(EqualCostTree,等价路径树)算法,每个均衡算法由32位的数字标识,标识由OUI(OrganizationallyUniqueIdentifier,全球统一标识符)和索引组成。OUI表示允许不同组织实现和管理自己的ECT算法,可以将其算法提交到IEEE,或者作为私有、实验用途等。SPBM通过分配不同I-SID(BackboneServiceInstanceIdentifier,骨干网服务实例编号)的流量到不同的B-VLAN从而走不同的ECT树转发。SPB定义了一个开放的框架可以容纳大量的算法且实现了16种预定义的算法。SPB使用与计算方向无关的算法保证逆向路径的一致性,称为Path-ID算法。当SPF(ShortestPathFirst,最短路径优先)计算完毕发现存在多条最短等价路径时,给每个Path按大小顺序分配ID,分配原则如下:1、将每个Path上所有桥按字典序进行排列,每一个桥的数字只是表明其位置,桥的个数越少则PathID越小;例如{9,15,22}<{7,8,9,10,22}2、桥数目相等时,根据Path上排列的桥的大小进行比较,桥ID越小则PathID越小;例如{9,15,22,99}<{9,15,22,100}对于某个SPT(ShortestPathTree,最短路径树)集合,其ECT算法是唯一的。若干B-VLAN关联到一个ECT算法,通过LSP(LabelSwitchedPath,标签交换路径)将该关联关系发布到SPT区中所有桥,以及在SPB-ISISHello中与邻居交互该关联关系。SPT区所有桥一致同意B-VLAN与ECT算法的关联关系之前不能使用该B-VLAN承载流量。允许在给B-VLAN配置新的ECT 算法时导致的临时不一致,以及在B-VLAN未使用的时候存在不一致。SPBM中,管理员可以配置将I-SID映射到B-VLAN,给B-VLAN关联ECT,从而可以调整流量转发使用的ECT算法。管理员可以通过配置分配流量到特定的ECT算法和或者在ECT算法之间迁移流量而实现流量均衡目的。在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:在目前的实现中,对于SPBM的网络,只存在简单的负载分担方式,使得无法根据用户的不同需求定制不同B-VLAN的使用带宽权限,从而无法达到对于流量的精确控制,并且,也不存在利用备用路径进行转发流量的方式,降低了网络使用率。

技术实现要素:
本发明实施例的目的在于提供确定链路传输路径的方法及设备,以解决现有技术中无法实现的对于流量精确的控制。为了达到上述目的,本发明实施例提供了一种SPBM网络中的流量分配方法,应用于包含BEB设备和/或BCB设备的SPBM网络中,所述方法包括:同步链路状态数据库,获取链路带宽信息及B-VLAN所需带宽信息;根据B-VLAN的优先级选定当前处理的B-VLAN,依据所述链路带宽信息及B-VLAN所需带宽信息为当前处理的B-VLAN筛选出符合该B-VLAN带宽需求的链路,然后基于所筛选出的符合该B-VLAN带宽需求的链路,为当前处理的B-VLAN计算最短路径树SPT树,从而获得最优路径;在全网拓扑下,根据为当前处理的B-VLAN所确定的最优路径,在该最优路径所经设备的各接口上减掉该B-VLAN所占用的带宽,从而确定各链路接口当前的未被占用的剩余带宽;当还有其它B-VLAN需要进行拓扑计算时,基于各链路接口所剩余的带宽,重复执行上述为B-VLAN确定最优路径的步骤及确定各链路接口当前的 未被占用的剩余带宽的步骤,以完成所有B-VLAN的拓扑计算。优选地,所述获取链路带宽信息及B-VLAN所需带宽信息的方法具体为:在LSP报文中增加第一类型长度内容TLV和第二TLV,所述第一TLV携带链路带宽信息,所述第二TLV携带B-VLAN所需带宽信息;在进行链路状态数据库同步时,通过新增所述第一TLV和第二TLV的标签交换路径LSP获取链路带宽信息及B-VLAN所需带宽信息。优选地,所述方法进一步包括:所述为当前处理的B-VLAN计算SPT树以确定最优路径时,优选开销最小的链路作为最优路径。优选地,当为当前处理的B-VLAN计算出多个SPT树时,根据等价路径树ECT算法为当前处理的B-VLAN确定唯一的一颗SPT树,将该SPT树对应的路径确定为当前处理的B-VLAN的最优路径。优选地,所述方法进一步包括:在选定的优选路径上进行B-VLAN流量的链路传输的步骤,该链路传输步骤通过如下两种方式实现:方式一、在每确定完一个B-VLAN所对应的最优路径后,就直接通过该最优路径进行链路传输;方式二、在确定完所有的B-VLAN所对应的最优路径后,通过各自的最优路径一起进行链路传输。一种SPBM网络中的流量分配设备,其特征在于,包括:同步模块,用于同步链路状态数据库,获取链路带宽信息及B-VLAN所需带宽信息;获取模块,用于根据B-VLAN的优先级选定当前处理的B-VLAN,依据所述链路带宽信息及B-VLAN所需带宽信息为当前处理的B-VLAN筛选出符 合该B-VLAN带宽需求的链路,然后基于所筛选出的符合该B-VLAN带宽需求的链路,为当前处理的B-VLAN计算最短路径树SPT树,从而获得最优路径;确定模块,用于在全网拓扑下,根据为当前处理的B-VLAN所确定的最优路径,在该最优路径所经设备的各接口上减掉该B-VLAN所占用的带宽,从而确定各链路接口当前的未被占用的剩余带宽;控制模块,用于当还有其它B-VLAN需要进行拓扑计算时,基于各链路接口所剩余的带宽,重复指令所述获取模块及确定模块的步骤,以完成所有B-VLAN的拓扑计算。优选地,所述同步模块通过新增所述第一TLV和第二TLV的标签交换路径LSP获取链路带宽信息及B-VLAN所需带宽信息,所述第一TLV携带链路带宽信息,所述第二TLV携带B-VLAN所需带宽信息。优选地,所述获取模块为当前处理的B-VLAN计算SPT树以确定最优路径时,优选开销最小的链路作为最优路径。优选地,当为当前处理的B-VLAN计算出多个SPT树时,所述获取模块根据等价路径树ECT算法为当前处理的B-VLAN确定唯一的一颗SPT树,将该SPT树对应的路径确定为当前处理的B-VLAN的最优路径。优选地,所述设备还包括:传输模块,用于在选定的优选路径上进行B-VLAN流量的链路传输的步骤;所述传输模块,包括:第一传输子模块,用于在每确定完一个B-VLAN所对应的最优路径后,就直接通过该最优路径进行链路传输;第二传输子模块,用于在确定完所有的B-VLAN所对应的最优路径后,通过各自的最优路径一起进行链路传输。与现有技术相比,本发明实施例所提出的技术方案具有以下优点:通过本发明方案的提出,实现了根据流量带宽分配网络资源,达到了对流量的精确控制,且通过次优路径转发流量,提高了网络使用率。附图说明图1是SPBM基本组网架构图;图2是本发明实施例提供的SPBM网络中的流量分配的流程示意图;图3是本发明实施例一提供的SPBM网络中的流量分配的流程示意图;图4是本发明实施例提供的SPBM网络中的流量分配的装置图。具体实施方式下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。参见图2,为本发明实施例提供的SPBM网络中的流量分配的流程示意图,该流程可包括:步骤201、同步链路状态数据库,获取链路带宽信息及B-VLAN所需带宽信息。在链路状态数据库同步完成后,BEB设备即可获知到达目的设备的所有路径;所述链路带宽信息及B-VLAN所需带宽信息可携带在LSP中,例如可通过新增的第一TLV携带链路带宽信息,通过第二TLV携带B-VLAN所需带宽信息。在具体实施中,对于B-VLAN的带宽使用权限,是由运营商根据用户的需求进行定制的,而对于其中的第一TLV信息和第二TLV信息,是在本申请实施例中,将所获取的各B-VLAN所需的带宽信息与链路接口的带宽信息分 别进行封装,从而得到的信息。需要注意的是,B-VLAN在所有的BEB上均可以配置,有可能出现不同的BEB上配置相同的B-VLAN所需带宽不同的情况,当LSP同步后,如果收集到以上情况,将以所需带宽配置大的为准。步骤202、根据B-VLAN的优先级选定当前处理的B-VLAN,依据所述链路带宽信息及B-VLAN所需带宽信息为当前处理的B-VLAN筛选出符合该B-VLAN带宽需求的链路,然后基于所筛选出的符合该B-VLAN带宽需求的链路,为当前处理的B-VLAN计算SPT树,从而确定该B-VLAN的最优路径;进一步地,为当前处理的B-VLAN计算SPT树以确定最优路径时,应优选开销最小的链路作为最优路径;进一步地,如果为当前处理的B-VLAN计算出的SPT树有多个,则说明存在等价路径,即存在多条开销相同的最优路径,此时根据ECT算法为当前处理的B-VLAN确定唯一的一颗SPT树,将该SPT树对应的路径确定为当前处理的B-VLAN的最优路径。该步骤中,在具体的应用场景中,B-VLAN的优先级顺序可以通过B-VLAN的ID值大小进行确定;对于最优路径的确定,是BEB设备基于同步获取到的链路状态数据库的数据,根据该数据计算得到的,所采用的算法为SPF算法,对于其中采用SPF算法计算最优路径的方式,如现有中的SPF算法,在此不再做具体的阐述;对于其中存在与最优路径的等价路径的情况,找出等价路径的终点,为等价路径应用ECT算法,即以每个桥设备(指的BEB设备、BCB设备)为根计算最短路径树SPT,对于得到的多个SPT,将这些SPT构成一个SPTs集合,当然,在SPBM网络中,规定,任意两个节点间的最短路径在不同的SPT上是对称的。步骤203、在全网拓扑下,根据为当前处理的B-VLAN所确定的最优路 径,在该最优路径所经设备的各接口上减掉该B-VLAN所占用的带宽,从而确定各链路接口当前的未被占用的剩余带宽;该步骤中,在B-VLAN的最优路径所对应的任一链路接口上,分别通过链路接口的带宽总量,以及当前经过该链路接口的所有最优路径所对应的B-VLAN所需的带宽,确定该链路接口当前的未被占用的剩余带宽。步骤204、当还有其它B-VLAN需要进行拓扑计算时,基于各链路接口所剩余的带宽,重复执行上述步骤202至步骤203,以完成所有B-VLAN的拓扑计算。该步骤中,返回步骤202至步骤203的目的是,继续确定剩余的其它B-VLAN的最优路径,直至所有的B-VLAN完成最优路径的确定。本发明优选实施例中,对于确定了B-VLAN的优选路径后,通过以下两种方式进行链路传输:方式一、在每确定完一个B-VLAN所对应的最优路径后,就直接通过该最优路径进行链路传输;方式二、在确定完所有的B-VLAN所对应的最优路径后,通过各自的最优路径一起进行链路传输。通过方式一,可以实现首次B-VLAN链路传输的零时延,但可能会涉及到传输最后一个B-VLAN时的时延较大;通过方式二,可以实现所有B-VLAN流量信息的同时传输,但需要等待所有B-VLAN的最优路径的确定。对于上述两种链路传输方式,具体链路传输方式的选择,可以根据实际情况进行实际选择。在本实施例中,同步链路状态数据库,获取链路带宽信息及B-VLAN所需带宽信息,根据B-VLAN的优先级选定当前处理的B-VLAN,依据所述链路带宽信息及B-VLAN所需带宽信息为当前处理的B-VLAN筛选出符合该B-VLAN的链路,然后基于所筛选出的符合该B-VLAN的链路,为当前处理的B-VLAN计算SPT树,从而获得最优路径,在全网拓扑下,根据为当前处 理的B-VLAN所确定的最优路径,在最优路径所经设备的各接口上减掉该B-VLAN所占用的带宽,当还有其它B-VLAN需要进行拓扑计算时,针对剩余的B-VLAN重复执行上述步骤202至步骤203,以完成所有B-VLAN的拓扑计算,当最优路径确定后,按照最优路径进行链路传输,实现了根据流量带宽分配网络资源,达到了对流量的精确控制,且可以通过次优路径转发流量,提高了网络使用率。下面以一具体的实施例对上述本发明做详细的阐述,但不仅限于该实施例。如图3所示,为本发明实施例一提供的SPBM网络中的流量分配的流程图,应用于包含两个B-VLAN,两条链路的系统中,且每条链路仅有一个链路接口,该流程可包括:BEB1设备与BEB2设备连接,在它们之间存在两条路径,即经过BCB1设备的路径,与经过BCB2设备的路径,在BEB1设备上有两个B-VLAN,它们的ID值分别为B-VLAN100和B-VLAN200,其中,B-VLAN100所需的最大带宽为50M,B-VLAN200所需的最大带宽为100M。步骤301,BEB1设备进行同步链路状态数据库LSDB,获取链路带宽信息和B-VLAN所需的带宽信息。该实施例中,链路带宽信息及B-VLAN所需带宽信息携带在LSP中,在SPB-ISIS的LSDB同步完成后,所有的设备都能了解到所有B-VLAN最大需要的带宽大小,以及所有网络中的带宽分配情况。该步骤中,当BEB1设备与对端设备邻居建立后,BEB1设备需要与网内的所有对端设备进行同步,从而获取所需的信息:第一TLV(TypeLengthValue,报文类型长度内容)信息,其中携带了链路接口1和链路接口2的带宽信息,第二TLV信息,其中携带了B-VLAN100和B-VLAN200的ID值 和所需的带宽信息。其中,BCB1设备所在的链路接口1的开销为10,最大带宽150M,预留带宽50M,BCB2设备所在的链路接口2的开销为12,最大带宽120M,预留带宽10M;B-VLAN100的带宽信息为50M,B-VLAN200的带宽为100M。对于上述涉及的最大带宽,是由系统配置的,是当前链路接口所能传输的最大带宽值,而对于预留带宽,也是由系统配置的,是当前链路接口的最小保留带宽值。其中,第一TLV信息的结构如下表所示:字节大小类型2长度1链路接口4接口最大带宽4接口预留带宽4第二TLV信息的结构如下表所示:字节大小类型2长度1B-VLAN端口号2B-VLAN需要带宽4步骤302,BEB1设备根据B-VLAN100和B-VLAN200的ID值大小确定优先级顺序。步骤303,BEB1设备选取ID值小的B-VLAN100的优先级为最高优先 级。步骤304,BEB1设备根据链路接口1和链路接口2的带宽信息,以及传输B-VLAN100所需的带宽信息确定出符合传输该B-VLAN100的链路。在该步骤中,由于B-VLAN100所需的带宽为50M,链路接口1的可用带宽为100M(可用带宽=最大带宽-预留带宽,即150M-50M=100M),链路接口2的可用带宽为110M(120M-10M=110M),所以,该链接接口1和链路接口2所在的链路都符合传输该B-VLAN100所需的带宽信息的要求。步骤305,BEB1设备为该B-VLAN100计算SPT树,确定传输该B-VLAN100的最优路径为经过链路接口1的链路。对于其中最优路径的确定,由于链路接口1的剩余可用带宽为100M,而链路接口2的剩余可用带宽为110M,基于可用带宽能够满足需求,且可用带宽越少越好的原则,优选链路接口1所在的链路,并且,链路接口1所在的链路的开销较之链路接口2所在的链路要小,所以,选取链路接口1所在的链路为传输B-VLAN100的最优路径。步骤306,BEB1设备通过链路接口1所在的链路传输B-VLAN100的流量信息。步骤307,BEB1设备获取链路接口1所在的链路在分配B-VLAN100的流量后剩余的带宽。该步骤中,在BEB1设备选定通过链路接口1传输B-VLAN100的流量后,从链路接口1的带宽中扣除传输B-VLAN100所需的带宽,得到链路接口1剩余的带宽,为50M。步骤308,当BEB1设备确定传输次优先级的B-VLAN200时,确定传输该B-VLAN200的最优路径。该步骤中,具体的,由于链路接口1所在的链路在传输完B-VLAN100的流量信息后,所剩余的可用带宽信息为50M,不能满足传输B-VLAN200 所需的带宽信息100M,故BEB1设备先排除不符合传输B-VLAN200所需带宽需求的链路1,在选出的符合带宽要求的链路中,为该B-VLAN200计算SPT树,确定传输该B-VLAN200的最优路径为链路接口2所在的链路。在具体实施中,若还有链路接口3(开销为11,最大带宽为180M,预留带宽为50M),且该链路接口3所在的链路符合传输B-VLAN200所需的带宽信息,即该链路接口3所在的链路为链路接口2所在链路的等价路径,基于可用带宽能够满足需求,且可用带宽越少越好的原则,优选链路接口2所在的链路传输该B-VLAN200的流量信息。步骤309,BEB1设备通过链路接口2所在的链路传输B-VLAN200的流量。需要提醒的是,当系统中有多个B-VLAN、多条链路存在时,其确定最优路径的方法与本方案相同,故在此不再做具体的阐述。对于本领域技术人员而言,在本实施例的基础上,想到的其它通过带宽确定最优路径的方式均属于本发明的保护范围。基于与上述方法相同的构思,本发明实施例还提供了一种SPBM网络中的流量分配设备,如图4所示,该设备包括:同步模块41,用于同步链路状态数据库,获取链路带宽信息及B-VLAN所需带宽信息;所述同步模块通过新增所述第一TLV和第二TLV的标签交换路径LSP获取链路带宽信息及B-VLAN所需带宽信息,所述第一TLV携带链路带宽信息,所述第二TLV携带B-VLAN所需带宽信息。获取模块42,用于根据B-VLAN的优先级选定当前处理的B-VLAN,依据所述链路带宽信息及B-VLAN所需带宽信息为当前处理的B-VLAN筛选出符合该B-VLAN带宽需求的链路,然后基于所筛选出的符合该B-VLAN带宽需求的链路,为当前处理的B-VLAN计算最短路径树SPT树,从而获得最优 路径;所述获取模块42为当前处理的B-VLAN计算SPT树以确定最优路径时,优选开销最小的链路作为最优路径;当为当前处理的B-VLAN计算出多个SPT树时,所述获取模块42根据等价路径树ECT算法为当前处理的B-VLAN确定唯一的一颗SPT树,将该SPT树对应的路径确定为当前处理的B-VLAN的最优路径。确定模块43,用于在全网拓扑下,根据为当前处理的B-VLAN所确定的最优路径,在该最优路径所经设备的各接口上减掉该B-VLAN所占用的带宽,从而确定各链路接口当前的未被占用的剩余带宽;控制模块44,用于当还有其它B-VLAN需要进行拓扑计算时,基于各链路接口所剩余的带宽,重复指令所述获取模块42及确定模块43的步骤,以完成所有B-VLAN的拓扑计算。传输模块45,用于在选定的优选路径上进行B-VLAN流量的链路传输的步骤;所述传输模块45,包括:第一传输子模块451,用于在每确定完一个B-VLAN所对应的最优路径后,就直接通过该最优路径进行链路传输;第二传输子模块452,用于在确定完所有的B-VLAN所对应的最优路径后,通过各自的最优路径一起进行链路传输。在本实施例中,同步链路状态数据库,获取链路带宽信息及B-VLAN所需带宽信息,根据B-VLAN的优先级选定当前处理的B-VLAN,依据所述链路带宽信息及B-VLAN所需带宽信息为当前处理的B-VLAN筛选出符合该B-VLAN带宽需求的链路,然后基于所筛选出的符合该B-VLAN的链路,为当前处理的B-VLAN计算SPT树,从而获得最优路径,在全网拓扑下,根据为当前处理的B-VLAN所确定的最优路径,在该最优路径所经设备的各接口上减掉该B-VLAN所占用的带宽,从而确定各链路接口当前的未被占用的剩 余带宽,当还有其它B-VLAN需要进行拓扑计算时,基于各链路接口所剩余的带宽,重复执行上述为B-VLAN确定最优路径的步骤及确定各链路接口当前的未被占用的剩余带宽的步骤,以完成所有B-VLAN的拓扑计算,实现了根据流量带宽分配网络资源,达到了对流量的精确控制,且通过次优路径转发流量,提高了网络使用率。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1