发明内容
为了提高对标签转发路径进行差分处理的灵活性以及可靠性,本发明实施例提供了一种对标签转发路径进行差分处理的方法、节点及系统。所述技术方案如下:
一方面,提供了一种对标签转发路径进行差分处理的方法,所述方法包括:
接收上游节点发送的路径状态刷新请求;
根据所述路径状态刷新请求判断标签转发路径是否处于空闲状态,记录所述标签转发路径的空闲状态情况,并向下游节点发送所述路径状态刷新请求,其中,如果所述路径状态刷新请求中携带有空闲状态标识,则所述空闲状态标识对应的所述标签转发路径处于空闲状态;
当需要对待处理的标签转发路径进行处理时,查询所述待处理标签转发路径的空闲状态情况,并根据所述待处理标签转发路径的空闲状态情况,对所述待处理标签转发路径进行差分处理。
另一方面,提供了一种对标签转发路径进行差分处理的节点,所述节点包括:
接收模块,用于接收上游节点发送的路径状态刷新请求;
处理模块,用于根据所述路径状态刷新请求判断标签转发路径是否处于空闲状态,记录所述标签转发路径的空闲状态情况,并向下游节点发送所述路径状态刷新请求,其中,如果所述路径状态刷新请求中携带有空闲状态标识,则所述空闲状态标识对应的所述标签转发路径处于空闲状态;
查询模块,用于当需要对待处理的标签转发路径进行处理时,查询待处理标签转发路径的空闲状态情况;
差分处理模块,用于根据所述待处理标签转发路径的空闲状态情况,对所述待处理标签转发路径进行差分处理。
还提供了一种对标签转发路径进行差分处理的节点,所述节点包括:
设置模块,用于为空闲的标签转发路径设置空闲状态标识,并将所述空闲状态标识携带在路径状态刷新请求中;
传输模块,用于将所述携带空闲状态标识的路径状态刷新请求传输给下游节点;
查询模块,用于当需要对待处理的标签转发路径进行处理时,查询待处理标签转发路径的空闲状态情况;
差分处理模块,用于根据所述待处理标签转发路径的空闲状态情况,对所述待处理标签转发路径进行差分处理。
再一方面,还提供了一种对标签转发路径进行差分处理的系统,所述系统包括:头节点和非头节点,其中,
所述头节点,用于为空闲的标签转发路径设置空闲状态标识,并将所述空闲状态标识携带在路径状态刷新请求中传输给下游节点;
所述非头节点,用于接收上游节点发送的路径状态刷新请求,根据所述路径状态刷新请求判断标签转发路径是否处于空闲状态,记录所述标签转发路径的空闲状态情况,并向下游节点发送所述路径状态刷新请求;
当需要对待处理的标签转发路径进行处理时,所述头节点或者非头节点查询待处理标签转发路径的空闲状态情况,并根据所述待处理标签转发路径的空闲状态情况,对所述待处理标签转发路径进行差分处理。
本发明实施例提供的技术方案的有益效果是:
通过查询待处理标签转发路径的空闲状态情况,并根据空闲状态情况对待处理标签转发路径进行差分处理,能够按照标签转发路径的实际状态对其进行处理,具有很好的实时性,不仅能够提高差分处理的灵活性,还能提高其可靠性。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
参见图1,本实施例提供了一种对标签转发路径进行差分处理的方法,该方法流程具体如下:
101:接收上游节点发送的路径状态刷新请求;
102:根据路径状态刷新请求判断标签转发路径是否处于空闲状态,记录标签转发路径的空闲状态情况,并向下游节点发送路径状态刷新请求,其中,如果路径状态刷新请求中携带有空闲状态标识,则空闲状态标识对应的标签转发路径处于空闲状态;
103:当需要对待处理的标签转发路径进行处理时,查询待处理标签转发路径的空闲状态情况,并根据待处理标签转发路径的空闲状态情况,对待处理标签转发路径进行差分处理。
进一步地,本实施例提供的方法还包括:头节点为空闲的标签转发路径设置空闲状态标识,并将空闲状态标识携带在路径状态刷新请求中传输给下游节点,其中,
为空闲的标签转发路径设置空闲状态标识,具体包括:若标签转发路径未承载业务,则标签转发路径处于空闲状态,为处于空闲状态的标签转发路径设置空闲状态标识;
将空闲状态标识携带在路径状态刷新请求中,具体包括:在路径状态刷新请求中的会话属性对象中定义新的空闲标识位,或者,在路径状态刷新请求中新增用于携带空闲状态标识的扩展对象。
本实施例提供的方法,通过查询待处理标签转发路径的空闲状态情况,并根据空闲状态情况对待处理标签转发路径进行差分处理,能够按照标签转发路径的实际状态对其进行处理,具有很好的实时性,不仅可以提高差分处理的灵活性,还能够提高其可靠性。
实施例二
本实施例提供了一种对标签转发路径进行差分处理的方法,该方法根据标签转发路径的空闲状态情况对标签转发路径进行差分处理,不仅可以提高差分处理的灵活性,还能够提高其可靠性。参见图2,本实施例提供的方法流程具体如下:
201:头节点为空闲的LSP设置空闲状态标识,并将空闲状态标识携带在路径状态刷新请求中传输给下游节点;
具体地,LSP的空闲状态情况可根据LSP是否承载业务进行划分,如果承载业务,则为非空闲状态,否则,为空闲状态。空闲的LSP包括但不限于:未承载业务的Tunnel内部的所有LSP;承载业务的Tunnel内部除正在使用LSP之外的其他LSP;未生效的保护组备份Tunnel内的所有LSP;已生效的保护组备份Tunnel内除正在使用的LSP之外的其他LSP;未用的Bypass Tunnel内的所有LSP;已用的Bypass Tunnel内除正在使用的LSP之外的其他LSP;正在尝试创建的未UP的LSP,如果这条LSP不是业务唯一可用的LSP,则也属于空闲LSP。将上述之外的LSP称为非空闲的LSP,本实施例不对空闲LSP的划分方式进行限定。
另外,本实施例不对将空闲状态标识携带在路径状态刷新请求中的具体方式进行限定,包括但不限于:在路径状态刷新请求中的会话属性对象中定义新的空闲标识位,或者,在路径状态刷新请求中新增用于携带空闲状态标识的扩展对象。由于路径状态刷新请求的发送间隔为30秒,为避免状态更新过慢,当LSP空闲状态发生变化时,需要立即发送路径状态刷新请求,以通知下游节点更新。
202:下游节点接收到上游节点发送的携带空闲状态标识的路径状态刷新请求后,记录空闲状态标识对应的LSP的状态,并向下游节点发送携带空闲状态标识的路径状态刷新请求;
其中,由于每个下游节点接收到上游节点发送的携带空闲状态标识的路径状态刷新请求后,除了记录空闲状态标识对应的LSP的状态,同时还要向下游节点发送该携带空闲状态标识的路径状态刷新请求,因而最终可使所有下游节点均记录下空闲状态的LSP对应的状态。而对于非空闲状态的LSP,由于没有对应的空闲状态标识,下游节点同样可以获知其状态,该状态即为非空闲状态。也就是说,没有空闲状态标识的LSP,均为非空闲状态。因而无论是头节点还是中间节点,对于任何待处理LSP,均可通过查询获知其是否为空闲状态,并根据每条待处理LSP的空闲状态情况进行差分处理,具体差分处理过程详见如下步骤。
203:本地节点查询待处理LSP的空闲状态情况;
针对该步骤,本实施例不对具体的查询方式进行限定,由于每个节点均记录了LSP的状态情况,因此,无论本地节点是头节点,还是中间节点,通过查询即可获知待处理LSP的空闲状态情况是空闲还是非空闲。
204:根据该待处理LSP的空闲状态情况,对该待处理LSP进行差分处理。
具体地,每条待处理LSP的空闲状态情况均可分为空闲和非空闲两种状态,如何实现根据待处理LSP的空闲状态情况,对待处理LSP进行差分处理,本实施例将结合以下几个不同的应用场景,进行举例说明:
一、在Graceful Shutdown(优雅关闭)中的应用:
在进行优雅关闭时,查询待处理标签转发路径的空闲状态情况,通过查询获知待处理LSP的空闲状态情况后,如果该待处理LSP为空闲状态,则对该待处理LSP不执行Reroute处理,可删除重建;如果该待处理LSP为非空闲状态,则将对该待处理LSP执行Reroute(重路由)处理,如果LSP在Reroute时失败,在本实施例中,不会将其强制删除,而将通知业务层面进行切换,业务层面切换后,为该LSP设置空闲状态标识。
二、在LSP Preemption(抢占)中的应用:
在进行LSP抢占时,查询待处理标签转发路径的空闲状态情况,当同时存在可抢占的空闲/非空闲LSP时,如果LSP为空闲状态,则优先抢占该空闲状态的LSP。发生拥塞时,如果LSP为空闲状态,则优先释放该空闲状态的LSP占用的资源。
三、在其它场景中的应用:
1.Pre Delete(主动删除)场景:如果待处理LSP为空闲状态,则将该LSP删除。
2.Graceful Restart(优雅重启)场景:有大量待处理LSP,如果待处理LSP为非空闲状态,则优先重启该LSP。
3.LSP震荡场景:如果待处理LSP为非空闲状态,则优先处理该LSP。
4.FRR(Fast Reroute,快速重路由)/Hot standby(热备份)/保护组切换场景:如果待处理LSP为非空闲状态,则优先对该LSP执行切换处理。
5.MBB(Make Before Break,先建后删)及慢切/慢删技术场景:如果待处理LSP为非空闲状态,则对该LSP执行MBB及慢切慢删技术,保证业务流量平滑过渡,如果该待处理LSP为空闲状态,则对该LSP使用BBM(Break Before Make,先删后建),减少资源耗费。
进一步地,根据LSP的空闲状态情况进行差分处理,具体还可以体现在基于LSP的空闲标识确定维护升级计划,优先保证承载业务LSP不受影响,或有针对性的切换流量。但在用户通过查看经过Graceful shutdown/Upgrade节点或链路的LSP的空闲状态,保证对链路进行维护或升级之前,需要确认业务流量已经切走,再使用命令察看LSP的空闲状态,本实施例不对查看LSP的空闲状态的具体命令进行限定,举例如下:
<route>display mpls lsp
Destination label interface idle-state
1.1.1.1 2045/2034 Eth1/0/0/Eth2/0/0 idle
2.2.2.2 2044/2067 Eth3/0/0/Eth4/0/0 non-idle
需要说明的是,本实施例仅以上述几个典型的应用场景为例进行了说明,本实施例提供的方法可以应用于各种类型的MPLS LSP,如RSVP(ResourceReSerVation Protocol,资源预留协议)/LDP(Label Distribution Protocol,标签分发协议)/CRLDP(Constraint based Routing Label DistributionProtocol,基于限制的路由标记分配协议)/BGP(Border Gateway Protocol,边界网关协议)等等,本实施例不对差分处理的具体应用场景进行限定。
本实施例提供的方法,通过查询待处理LSP的空闲状态情况,并根据空闲状态情况对待处理LSP进行差分处理,能够按照标签转发路径的实际状态对其进行处理,具有很好的实时性,不仅能够提高差分处理的灵活性,还能够提高其可靠性。
实施例三
参见图3,本实施例提供了一种对标签转发路径进行差分处理的节点,该节点包括:
接收模块301,用于接收上游节点发送的路径状态刷新请求;
处理模块302,用于根据路径状态刷新请求判断标签转发路径是否处于空闲状态,记录标签转发路径的空闲状态情况,并向下游节点发送路径状态刷新请求,其中,如果路径状态刷新请求中携带有空闲状态标识,则空闲状态标识对应的标签转发路径处于空闲状态;
查询模块303,用于当需要对待处理的标签转发路径进行处理时,查询待处理标签转发路径的空闲状态情况;
差分处理模块304,用于根据待处理标签转发路径的空闲状态情况,对待处理标签转发路径进行差分处理。
具体地,本实施例提供的节点为非头节点,路径状态刷新请求中携带有空闲状态标识,具体为:在路径状态刷新请求中的会话属性对象中定义新的空闲标识位,或者,在路径状态刷新请求中新增用于携带空闲状态标识的扩展对象。
综上所述,本实施例提供的节点,通过查询待处理标签转发路径的空闲状态情况,并根据空闲状态情况对待处理标签转发路径进行差分处理,能够按照标签转发路径的实际状态对其进行处理,具有很好的实时性,不仅可以提高差分处理的灵活性,还能够提高其可靠性。
实施例四
参见图4,本实施例提供了一种对标签转发路径进行差分处理的节点,该节点包括:
设置模块401,用于为空闲的标签转发路径设置空闲状态标识,并将空闲状态标识携带在路径状态刷新请求中;
传输模块402,用于将携带空闲状态标识的路径状态刷新请求传输给下游节点;
查询模块403,用于当需要对待处理的标签转发路径进行处理时,查询待处理标签转发路径的空闲状态情况;
差分处理模块404,用于根据待处理标签转发路径的空闲状态情况,对待处理标签转发路径进行差分处理。
具体地,本实施例提供的节点为头节点,则设置模块401为空闲的标签转发路径设置空闲状态标识,具体为:若标签转发路径未承载业务,则标签转发路径处于空闲状态,为处于空闲状态的标签转发路径设置空闲状态标识;
设置模块401在将设置的空闲状态标识携带在路径状态刷新请求中,具体为:在路径状态刷新请求中的会话属性对象中定义新的空闲标识位,或者,在路径状态刷新请求中新增用于携带空闲状态标识的扩展对象。
综上所述,本实施例提供的节点,通过查询待处理LSP的空闲状态情况,并根据空闲状态情况对待处理LSP进行差分处理,能够按照标签转发路径的实际状态对其进行处理,具有很好的实时性,不仅能够提高差分处理的灵活性,还能够提高其可靠性。
实施例五
参见图5,本实施例提供了一种对标签转发路径进行差分处理的系统,该系统包括:头节点501和非头节点502,其中,
头节点501,用于为空闲的标签转发路径设置空闲状态标识,并将空闲状态标识携带在路径状态刷新请求中传输给下游节点;
非头节点502,用于接收上游节点发送的路径状态刷新请求,根据路径状态刷新请求判断标签转发路径是否处于空闲状态,记录标签转发路径的空闲状态情况,并向下游节点发送路径状态刷新请求;
当需要对待处理的标签转发路径进行处理时,头节点501或者非头节点502查询待处理标签转发路径的空闲状态情况,并根据待处理标签转发路径的空闲状态情况,对待处理标签转发路径进行差分处理。
其中,为空闲的标签转发路径设置空闲状态标识,具体为:若标签转发路径未承载业务,则标签转发路径处于空闲状态,为处于空闲状态的标签转发路径设置空闲状态标识;
将设置的空闲状态标识携带在路径状态刷新请求中,具体为:在路径状态刷新请求中的会话属性对象中定义新的空闲标识位,或者,在路径状态刷新请求中新增用于携带空闲状态标识的扩展对象。
综上所述,本实施例提供的系统,通过头节点或非头节点查询待处理LSP的空闲状态情况,并根据空闲状态情况对待处理LSP进行差分处理,从而能够按照标签转发路径的实际状态对其进行处理,具有很好的实时性,不仅能够提高差分处理的灵活性,还能够提高其可靠性。
需要说明的是:上述实施例提供的节点在对标签转发路径进行差分处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将节点的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,本实施例提供的对标签转发路径进行差分处理的节点、系统与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本发明实施例中的全部或部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。