基于带宽的MBB算路方法及系统与流程

文档序号:15845900发布日期:2018-11-07 09:00阅读:489来源:国知局
基于带宽的MBB算路方法及系统与流程

本发明涉及通信路径建立领域,具体涉及一种基于带宽的mbb(makebeforebreak,故障前建立)算路方法及系统。

背景技术

mbb是在原有lsp(labelswitchpath,标签交换路径)被拆除前先建立新路径(也称为modifylsp);在流量切换时尽可能在不丢失数据、也不占用额外带宽的前提下,改变mplste(multi-protocollabelswitchingtrafficengineering,多协议标签交换流量工程)的隧道属性(例如改变原路径的带宽、或者修改路径,将原先的部分路径停用,采用其他路径替代等)的机制。

传统的mpls-te实现mbb的方法为:需要改变隧道属性时,触发mbb建立合适带宽的新路径。当新路径与原有路径存在部分共享的节点(节点为路由器或者其他网关)时,需要为共享的链路分配指定的额外占用带宽(因为原有路径还在使用,所以会存在已经使用的带宽和可用带宽),为不共享的路径分配与新路径占用带宽相同的额外占用带宽。

但是,上述方法在使用时存在以下问题:

(1)现有的mbb在建立新路径时,会判断原有路径的可用带宽是否在新路径占用带宽以上,若是,则继续使用原有路径的节点,否则认为新路径无法建立。

(2)由于原有路径的已用带宽无法得知,因此需要在收到改变隧道属性的新路径要求之后、触发mbb之前,先获取每个节点的端口信息(例如ip地址、下一跳等)和2个相邻节点之间链路的已用带宽,而获取每个节点的端口信息(例如ip地址、下一跳等)和相邻节点之间链路的已用带宽的过程比较复杂;具体为首节点之外的其余每个节点向首节点发送端口信息和相邻节点之间链路的带宽,这不仅会降低工作效率,而且会存在丢包现象。



技术实现要素:

针对现有技术中存在的缺陷,本发明解决的技术问题为:如何在原有路径的可用带宽,在新路径要求的占用带宽以上的基础上,利用原有路径来建立新路径。本发明的算路精度较高,还能够降低新路径建立时的丢包率,不仅工作效率较高,而且能够保证通信质量。

为达到以上目的,本发明提供的基于带宽的mbb算路方法,在需要建立新路径时,获取原有路径的mbb信息,mbb信息包括相邻2个节点之间链路的初始可用带宽;根据mbb信息计算出符合新路径占用带宽的新路径属性信息;符合新路径占用带宽的标准包括:原有路径中相邻2个节点之间链路的初始可用带宽,在新路径占用带宽以上。

在上述技术方案的基础上,所述初始可用带宽等于相邻2个节点之间链路的已用带宽和可用带宽之和,所述新路径属性信息包括相邻2个节点之间链路的额外占用带宽;在计算新路径属性信息的过程中,当新路径的相邻2个节点,均存在于mbb信息中时,根据新路径占用带宽和mbb信息中对应的已用带宽,设置额外占用带宽;当新路径的相邻2个节点中的1个不存在于mbb信息中时,根据新路径占用带宽设置额外占用带宽。

在上述技术方案的基础上,所述根据mbb信息计算出符合新路径占用带宽的新路径属性信息的流程包括:

步骤1:将原有路径的首节点作为新路径节点,选取首节点作为当前节点,转到步骤2;

步骤2:判断mbb信息中是否存在当前节点的相邻节点,若是,转到步骤3,否则转到步骤4;

步骤3:判断当前节点与相邻节点之间链路的初始可用带宽,是否在新路径占用带宽以上、且相邻节点符合路径节点指示要求,若是,将相邻节点作为新路径节点,根据新路径占用带宽和mbb信息中的对应带宽,为当前节点和新路径节点之间的链路设置额外占用带宽,转到步骤5;否则转到步骤4;

步骤4:获取与当前节点相邻、且节点之间链路的实际可用带宽在新路径占用带宽以上、且符合路径节点指示要求的所有可用节点;根据路径选取规则,在所有可用节点中选取新路径节点,根据新路径占用带宽为当前节点和新路径节点之间的链路设置额外占用带宽,转到步骤5;

步骤5:判断新路径节点是否为原有路径的尾节点,若是,转到步骤6,否则将新路径节点作为当前节点,转到步骤2;

步骤6:将所有新路径节点的端口信息、以及相邻2个新路径节点之间的链路的额外占用带宽,形成新路径属性信息。

在上述技术方案的基础上,所述路径节点指示要求包括指定使用节点和禁止使用节点,步骤3和步骤4中所述符合路径节点指示要求的节点为:该节点为指定使用节点、或者该节点不为禁止节点。

在上述技术方案的基础上,所述根据新路径占用带宽和mbb信息中对应的已用带宽,设置额外占用带宽的流程为:定义额外占用带宽为b2,新路径占用带宽为b1,mbb信息中对应的已用带宽为b3,当b3≥b1时,b2=0,当b3<b1时,b2=b1-b3。

本发明提供的基于带宽的mbb算路系统,包括mbb算路模块,其用于:获取原有路径的mbb信息,mbb信息包括相邻2个节点之间链路的初始可用带宽;根据mbb信息计算出符合新路径占用带宽的新路径属性信息;符合新路径占用带宽的标准包括:原有路径中相邻2个节点之间链路的初始可用带宽,在新路径占用带宽以上。

在上述技术方案的基础上,所述mbb算路模块包括mbb信息获取模块、新路径算路模块和新路径创建模块;

mbb信息获取模块用于:在原有路径建立并通信后,将原有路径中每个节点的端口信息、相邻2个节点之间链路的已用带宽、以及相邻2个节点之间链路的初始可用带宽,初始可用带宽等于相邻2个节点之间链路的已用带宽和可用带宽之和,形成mbb信息;

新路径算路模块用于:需要建立新路径时,根据mbb信息计算出符合新路径要求的新路径属性信息;新路径要求包括新路径占用带宽,新路径属性信息包括新路径中每个节点的端口信息、以及相邻2个节点之间链路的额外占用带宽;在计算新路径属性信息的过程中,当新路径的相邻2个节点,均存在于mbb信息中时,根据新路径占用带宽和mbb信息中对应的已用带宽,设置额外占用带宽;当新路径的相邻2个节点中的1个不存在于mbb信息中时,根据新路径占用带宽设置额外占用带宽,向新路径创建模块发送新路径创建信号;

新路径创建模块用于:收到新路径创建信号后,根据新路径属性信息建立新路径。

在上述技术方案的基础上,所述新路径算路模块中的新路径要求还包括新路径的首节点和尾节点、以及路径节点指示要求,新路径的首尾节点与原有路径相同;所述新路径算路模块的工作流程包括:

新路径算路步骤1:将首节点作为新路径节点,选取首节点作为当前节点,转到新路径算路步骤2;

新路径算路步骤2:判断mbb信息中是否存在当前节点的相邻节点,若是,转到新路径算路步骤3,否则转到新路径算路步骤4;

新路径算路步骤3:判断当前节点与相邻节点之间链路的初始可用带宽,是否在新路径占用带宽以上、且相邻节点符合路径节点指示要求,若是,将相邻节点作为新路径节点,根据新路径占用带宽和mbb信息中的对应带宽,为当前节点和新路径节点之间的链路设置额外占用带宽,转到新路径算路步骤5;否则转到新路径算路步骤4;

新路径算路步骤4:获取与当前节点相邻、且节点之间链路的实际可用带宽在新路径占用带宽以上、且符合路径节点指示要求的所有可用节点;根据路径选取规则,在所有可用节点中选取新路径节点,根据新路径占用带宽为当前节点和新路径节点之间的链路设置额外占用带宽,转到新路径算路步骤5;

新路径算路步骤5:判断新路径节点是否为尾节点,若是,转到新路径算路步骤6,否则将新路径节点作为当前节点,转到新路径算路步骤2;

新路径算路步骤6:将所有新路径节点的端口信息、以及相邻2个新路径节点之间的链路的额外占用带宽,形成新路径属性信息。

在上述技术方案的基础上,所述路径节点指示要求包括指定使用节点和禁止使用节点,所述新路径算路模块确定符合路径节点指示要求的节点为:该节点为指定使用节点、或者该节点不为禁止节点。

在上述技术方案的基础上,所述新路径算路模块根据新路径占用带宽和mbb信息中对应的已用带宽,设置额外占用带宽的流程为:定义额外占用带宽为b2,新路径占用带宽为b1,mbb信息中对应的已用带宽为b3,当b3≥b1时,b2=0,当b3<b1时,b2=b1-b3。

与现有技术相比,本发明的优点在于:

(1)由于原有路径在新路径建立后会拆除,因此原有路径的可用带宽会出现:原有路径拆除前满足(小于)新路径占用带宽、原有路径拆除后在新路径占用带宽以上的情况。而本发明在原有路径的可用带宽,在新路径要求的占用带宽以上时,能够直接根据原有路径的初始可用带宽,来适配新路径,进而避免了上述情况发生。

进一步,本发明能够自动计算出符合新路径要求的新路径属性信息,并根据原有路径中相邻节点之间链路的已用带宽,调整新路径属性信息中对应相邻节点之间链路的额外占用带宽;由此可知,本发明的算路精度较高,不易出现误差。

(2)本发明在原有路径建立并通信后,就获取了包含有原有路径中每个节点的端口信息和已用带宽的mbb信息。因此,与现有技术中在收到改变隧道属性的路径要求之后、触发mbb之前,分别从多个节点获取原有路径信息相比,本发明能够在触发mbb时直接获取mbb信息,不仅提高了工作效率,而且降低了丢包率。

附图说明

图1为本发明实施例中基于带宽的mbb算路方法的流程图;

图2为本发明实施例六中原有路径和新路径的算路场景示意图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

本发明实施例中的基于带宽的mbb算路方法的步骤为:需要建立新路径时(即要改变路径属性),获取原有路径的mbb信息,mbb信息包括相邻2个节点之间链路的初始可用带宽(初始可用带宽等于相邻2个节点之间链路的已用带宽和可用带宽之和,初始可用带宽为原有路径建立时为所述相邻节点链路分配的可用带宽,在不考虑预留带宽的情况下,可理解为最大带宽);根据mbb信息计算出符合新路径占用带宽的新路径属性信息;符合新路径占用带宽的准包括:原有路径中相邻2个节点之间链路的初始可用带宽,在新路径中对应链路的占用带宽以上。

上述标准能够保证在原有路径的初始可用带宽满足新路径占用带宽、但原有路径的已用带宽在新路径的占用带宽以上时,依然能够利用原有路径建立新路径。例如新路径的占用带宽要求为30m,当前节点为r1,相邻节点为mbb信息中的r2,r1和r2之间链路的初始可用带宽为30m,r1和r2使用占用了10m带宽;这种情况下,由于原有路径在新路径建立后是要拆除的,而拆除后,r1和r2之间链路的可用带宽为30m,这是符合新路径的占用带宽要求的。

下面通过六个实施例说明本发明的方法。

实施例一:参见图1所示,本发明实施例中的基于带宽的mbb算路方法,具体包括以下步骤:

s1:在原有的lsp路径建立并通信后,将原有路径中每个节点的端口信息、相邻2个节点之间链路的已用带宽、以及相邻2个节点之间链路的初始可用带宽,形成mbb信息,转到s2。

s2:需要建立新路径时,根据mbb信息计算出符合新路径要求的新路径属性信息;新路径要求包括新路径占用带宽,新路径属性信息包括新路径中每个节点的端口信息、以及相邻2个节点之间链路的额外占用带宽。在计算新路径属性信息的过程中,当新路径的相邻2个节点,均存在于mbb信息中时,根据新路径占用带宽和mbb信息中对应的已用带宽,设置额外占用带宽;当新路径的相邻2个节点中的1个不存在于mbb信息中时,根据新路径占用带宽设置额外占用带宽,转到s3。

在执行s3的过程中,保持原有路径的通信,进而使得新路径建立后,只会发送正在接收的数据包,保证了数据包的发送速率正常,降低了丢包率,进而提高了通信质量。

s3:根据新路径属性信息,建立对应的新路径后,将原有路径拆除,以确保此过程中通信不会中断。

实施例二:在实施例一的基础上,新路径要求还包括新路径的首节点和尾节点、以及路径节点指示要求,新路径的首尾节点与原有路径相同;s2的流程包括:

s201:将首节点作为新路径节点,选取首节点作为当前节点,转到s202。

s202:判断mbb信息中是否存在当前节点的相邻节点,若是,转到s203,否则转到s204;

s203:判断当前节点与相邻节点之间链路的初始可用带宽,是否在新路径占用带宽以上、且相邻节点符合路径节点指示要求,若是,将相邻节点作为新路径节点,根据新路径占用带宽和mbb信息中的对应带宽,为当前节点和新路径节点之间的链路设置额外占用带宽,转到s205;否则转到s204。

s204:获取与当前节点相邻、且节点之间链路的实际可用带宽(即新路径建立后实际上的可用带宽)在新路径占用带宽以上、且符合路径节点指示要求的所有可用节点;根据路径选取规则,在所有可用节点中选取新路径节点,根据新路径占用带宽为当前节点和新路径节点之间的链路设置额外占用带宽,转到s205。

s205:判断新路径节点是否为尾节点,若是,转到s206,否则将新路径节点作为当前节点,转到s202。

s206:将所有新路径节点的端口信息、以及相邻2个新路径节点之间的链路的额外占用带宽,形成新路径属性信息。

实施例二中的路径选取规则为cspf算法(constrainedshortestpathfirst,最短约束路径优先算法),即根据该算法选取的节点为距离被选取节点最近的节点;在实际应用中,路径选取规则可根据用户不同的需求对应定制。

实施例三:在实施例一的基础上,路径节点指示要求包括指定使用节点和禁止使用节点,实施例二中符合路径节点指示要求的节点为:该节点为指定使用节点、或者该节点不为禁止节点。

实施例四:在实施例一的基础上,s2中根据新路径占用带宽和mbb信息中对应的已用带宽,设置额外占用带宽的流程为:定义额外占用带宽为b2,新路径占用带宽为b1,mbb信息中对应的已用带宽为b3,当b3≥b1时,b2=0,当b3<b1时,b2=b1-b3。

实施例五:在实施例一的基础上,s3中根据新路径属性信息,建立新路径的流程包括:获取新路径属性信息中的所有节点,根据新路径属性信息中相邻2个节点之间链路的额外占用带宽,为对应的2个节点之间的链路分配带宽。

实施例六:参见图2所示,原有路径的节点为r1、r2和r3,r1和r2之间链路的可用带宽为20m,已用带宽为10m,r2和r3之间链路的可用带宽为30m,已用带宽为10m,此时本发明的方法为:

原有路径信息保存过程:将r1、r2和r3的端口信息、r1和r2之间链路的已用带宽(10m)、r2和r3之间链路的已用带宽(10m),形成mbb信息并保存至节点r1(首节点)。

新路径算路过程:需要触发mbb,触发的新路径要求为新路径占用带宽为30m,路径的首节点为r1,尾节点为r3,路径节点指示要求为指定使用节点为r4,没有禁止使用节点。

选择节点r1的相邻节点r4,r1和r4之间链路的可用带宽为40m(>30m),将r4作为新路径节点,将r1和r4之间链路的额外占用带宽设置为30m;

根据路径选取规则搜索节点r4的相邻节点r2,r4和r2之间链路的可用带宽为30m(≥30m),将r2作为新路径节点,将r4和r2之间链路的额外占用带宽设置为30m;

mbb信息中存在r2的相邻节点r3,r2和r3之间链路的初始可用带宽为30m(≥30m),将r3作为新路径节点;新路径属性信息中的r2和r3的端口信息,与mbb信息相同(即r2和r3之间的链路已用带宽10m,为原有路径和新路径的共享链路),此时将r2和r3之间链路额外的占用带宽设置为20m(30-原有路径已用的10);

r3为尾节点,将r1、r2、r3和r4的端口信息、以及相邻节点之间链路的额外占用带宽形成新路径属性信息。

新路径建立过程:获取r1、r4、r2和r3的端口信息,为r1和r4之间的链路、以及r4和r2之间的链路均分配30m带宽,为r2和r3之间的链路分配20m带宽,带宽分配完成后,将原有路径拆除。

本发明实施例中的基于带宽的mbb算路系统,包括mbb算路模块,其用于:获取原有路径的mbb信息,mbb信息包括相邻2个节点之间链路的初始可用带宽;根据mbb信息计算出符合新路径占用带宽的新路径属性信息;符合新路径占用带宽的准包括:原有路径中相邻2个节点之间链路的初始可用带宽,在新路径占用带宽以上。

mbb算路模块包括mbb信息获取模块、新路径算路模块和新路径创建模块。

mbb信息获取模块用于:在原有路径建立并通信后,将原有路径中每个节点的端口信息、相邻2个节点之间链路的已用带宽、以及相邻2个节点之间链路的初始可用带宽,初始可用带宽等于相邻2个节点之间链路的已用带宽和可用带宽之和,形成mbb信息。

新路径算路模块用于:需要建立新路径时,根据mbb信息计算出符合新路径要求的新路径属性信息;新路径要求包括新路径占用带宽、新路径的首节点和尾节点、以及路径节点指示要求(新路径的首尾节点与原有路径相同)。新路径属性信息包括新路径中每个节点的端口信息、以及相邻2个节点之间链路的额外占用带宽;在计算新路径属性信息的过程中,当新路径的相邻2个节点,均存在于mbb信息中时,根据新路径占用带宽和mbb信息中对应的已用带宽,设置额外占用带宽;当新路径的相邻2个节点中的1个不存在于mbb信息中时,根据新路径占用带宽设置额外占用带宽,向新路径创建模块发送新路径创建信号。

新路径算路模块的工作流程包括:

新路径算路步骤1:将首节点作为新路径节点,选取首节点作为当前节点,转到新路径算路步骤2;

新路径算路步骤2:判断mbb信息中是否存在当前节点的相邻节点,若是,转到新路径算路步骤3,否则转到新路径算路步骤4;

新路径算路步骤3:判断当前节点与相邻节点之间链路的初始可用带宽,是否在新路径占用带宽以上、且相邻节点符合路径节点指示要求,路径节点指示要求包括指定使用节点和禁止使用节点,符合路径节点指示要求的节点为:该节点为指定使用节点、或者该节点不为禁止节点;若是,将相邻节点作为新路径节点,根据新路径占用带宽和mbb信息中的对应带宽,为当前节点和新路径节点之间的链路设置额外占用带宽,转到新路径算路步骤5;否则转到新路径算路步骤4;

根据新路径占用带宽和mbb信息中对应的已用带宽,设置额外占用带宽的流程为:定义额外占用带宽为b2,新路径占用带宽为b1,mbb信息中对应的已用带宽为b3,当b3≥b1时,b2=0,当b3<b1时,b2=b1-b3;

新路径算路步骤4:获取与当前节点相邻、且节点之间链路的实际可用带宽在新路径占用带宽以上、且符合路径节点指示要求的所有可用节点;根据路径选取规则,在所有可用节点中选取新路径节点,根据新路径占用带宽为当前节点和新路径节点之间的链路设置额外占用带宽,转到新路径算路步骤5;

新路径算路步骤5:判断新路径节点是否为尾节点,若是,转到新路径算路步骤6,否则将新路径节点作为当前节点,转到新路径算路步骤2;

新路径算路步骤6:将所有新路径节点的端口信息、以及相邻2个新路径节点之间的链路的额外占用带宽,形成新路径属性信息。

新路径创建模块用于:收到新路径创建信号后,根据新路径属性信息建立新路径。

需要说明的是:本发明实施例提供的系统在进行模块间通信时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1