流量的转发方法及装置与流程

文档序号:12838953阅读:281来源:国知局
流量的转发方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种流量的转发方法及装置。



背景技术:

多协议标签交换流量工程(mplstrafficengineering,简称为mpls-te)隧道是通过用户指定或受限最短路径优先算法(constrainedshortestpathfirst,简称为cspf)计算生成特定路径,并通过资源预留协议(resourcereservationprotocol,简称为rsvp)协议保留带宽资源并分配标签,建立起的基于标签交换转发流量的隧道。本发明中所提及的mpls-te隧道、te隧道、te_tunnel、隧道就是通过rsvp协议建立的te隧道。

目前te隧道的保护方式针对的是隧道的部分或完整路径上通过的接口或路由器节点的状态保护,通过rsvp协议信令中携带的字段和标志位通知上下游节点创建和维护一条新的标记交换路径(labelswitchpath,简称为lsp),并在故障发生时被动切换到保护lsp路径上。

网络设备在架构上普遍采用控制层面和转发层面分离的方式,用于在设备控制功能出现故障时通过保护转发层面不变化,并利用各种协议恢复控制面的方式保护故障发生时的流量转发。但当设备运行正常时,转发面始终与控制面保护一致,当控制面出现的意外不是重启这类的致命故障时,控制面的任何变化都会导致转发面实时更新,任何客观因素变化(如网络拓扑变化、接口带宽变化等)或人为因素(用户修改接口属性、te隧道属性、增减设备间的直连接口等)都可能实时影响到转发面导致流量转发中断。

针对相关技术中需要上下游设备升级以支持更新的协议功能或字段才能完成隧道的保护功能的问题,目前尚未存在有效的解决方案。



技术实现要素:

本发明提供了一种流量的转发方法及装置,以至少解决相关技术中需要上下游设备升级以支持更新的协议功能或字段才能完成隧道的保护功能的问题。

根据本发明的一个方面,提供了一种流量的转发方法,包括:在第一隧道的状态发生变化时,建立第二隧道,其中,在建立所述第二隧道的过程中将所述第一隧道的转发信息更新到所述第二隧道的转发信息中;依据所述第二隧道中更新后的转发信息进行流量的转发。

进一步地,所述依据所述第二隧道中更新后的转发信息进行流量的转发包括:将所 述第一隧道的网段的出接口更新为所述第二隧道的网段的出接口;依据更新后的出接口为所述第二隧道的网段进行流量的转发。

进一步地,所述建立第二隧道包括:建立所述第二隧道中用于保护所述第一隧道的保护策略,其中,保护策略包括:获取所述第一隧道的当前路径、根据所述第一隧道的路径策略重新算路、指定新的路径策略;建立所述第二隧道中用于指示所述第一隧道的属性,其中,所述属性包括:所述第一隧道的预留带宽、亲和力。

进一步地,所述第一隧道的状态发生变化的因素至少包括:所述第一隧道的属性、所述第一隧道的配置。

进一步地,在依据所述第二隧道中更新后的转发信息进行流量的转发之后,所述方法还包括:在所述第一隧道的阻塞状态被释放时,将所述第二隧道的网段的出接口更新为所述第一隧道的网段的出接口;依据出接口为所述第一隧道的网段进行流量的转发。

进一步地,在所述依据所述第二隧道中更新后的转发信息进行流量的转发之后,所述方法还包括:删除所述第二隧道。

根据本发明的另一个方面,提供了一种流量的转发装置,包括:建立模块,用于在第一隧道的状态发生变化时,建立第二隧道,其中,在建立所述第二隧道的过程中将所述第一隧道的转发信息更新到所述第二隧道的转发信息中;第一转发模块,用于依据所述第二隧道中更新后的转发信息进行流量的转发。

进一步地,所述第一转发模块包括:更新单元,用于将所述第一隧道的网段出接口更新为所述第二隧道的网段的出接口;转发单元,用于依据更新后的出接口为所述第二隧道的网段进行流量的转发。

进一步地,所述建立模块包括:第一建立单元,用于建立所述第二隧道中用于保护所述第一隧道的保护策略,其中,保护策略包括:获取所述第一隧道的当前路径、根据所述第一隧道的路径策略重新算路、指定新的路径策略;第二建立单元,用于建立所述第二隧道中用于指示所述第一隧道的属性,其中,所述属性包括:所述第一隧道的预留带宽、亲和力。

进一步地,所述第一隧道的状态发生变化的因素至少包括:所述第一隧道的属性、所述第一隧道的配置。

进一步地,在依据所述第二隧道中更新后的转发信息进行流量的转发之后,所述装置还包括:更新模块,用于在所述第一隧道的阻塞状态被释放时,将所述第二隧道的网段的出接口更新为所述第一隧道的网段的出接口;第二转发模块,用于依据出接口为所述第一隧道的网段进行流量的转发。

进一步地,在所述依据所述第二隧道中更新后的转发信息进行流量的转发之后,所述装置还包括:删除模块,用于删除所述第二隧道。

通过本发明,采用建立第二隧道,其中,在建立第二隧道的过程中将第一隧道的转发信息更新到第二隧道的转发信息中,而在第一隧道的状态发生变化时,依据第二隧道中更新后的转发信息进行流量的转发,可见,可以通过第二隧道来保护第一隧道进行流量的转发,解决了相关技术中需要上下游设备升级以支持更新的协议功能或字段才能完成隧道的保护功能的问题,提高了隧道中流量转发的效率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的流量的转发方法的流程图;

图2是根据本发明实施例的流量的转发装置的结构框图;

图3是根据本发明实施例的流量的转发装置的可选结构框图一;

图4是根据本发明实施例的流量的转发装置的可选结构框图二;

图5是根据本发明实施例的流量的转发装置的可选结构框图三;

图6是根据本发明实施例的流量的转发装置的可选结构框图四;

图7是根据本发明可选实施例的伪造转发信息保持mpls-te隧道转发不中断的方法流程图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种流量的转发方法,图1是根据本发明实施例的流量的转发方法的流程图,如图1所示,该流程包括如下步骤:

步骤s102:在第一隧道的状态发生变化时,建立第二隧道,其中,在建立第二隧道的过程中将第一隧道的转发信息更新到第二隧道的转发信息中;

步骤s104:依据第二隧道中更新后的转发信息进行流量的转发。

通过本实施例的步骤s102和步骤s104,采用建立第二隧道,其中,在建立第二隧道的过程中将第一隧道的转发信息更新到第二隧道的转发信息中,而在第一隧道的状态发生变化时,依据第二隧道中更新后的转发信息进行流量的转发,可见,可以通过第二 隧道来保护第一隧道进行流量的转发,解决了相关技术中需要上下游设备升级以支持更新的协议功能或字段才能完成隧道的保护功能的问题,提高了隧道中流量转发的效率。

需要说明的是,本实施例中第一隧道的状态发生变化的因素至少包括:第一隧道的属性、第一隧道的配置。

对于本实施例中涉及到的依据第二隧道中更新后的转发信息进行流量的转发的方式,在本实施例的可选实施方式中,可以通过如下方式来实现:

步骤s11:将第一隧道的网段的出接口更新为第二隧道的网段的出接口;

步骤s12:依据更新后的出接口为第二隧道的网段进行流量的转发。

在本实施例中的具体应用场景中,该步骤s11和步骤s12可以是,更新转发面的转发信息,将出接口为第一隧道的网段,更新为出接口第二隧道,需要说明的是,但这一更新过程在对用户呈现的转发表或路由表信息中并不可见,在转发表中看该网段的转发出接口仍然是第一隧道。

而在依据第二隧道中更新后的转发信息进行流量的转发的方式之后,本实施例的方法还可以包括:

步骤s21:在第一隧道的阻塞状态被释放时,将第二隧道的网段的出接口更新为第一隧道的网段的出接口;

步骤s22:依据出接口为第一隧道的网段进行流量的转发。

在本实施例的具体应用场景中,该步骤s21和步骤s22可以是,第一隧道根据新的配置或属性重新建立并up,并更新转发面的转发信息,将出接口为第一隧道的网段,更新为出接口第二隧道,但这一更新过程在对用户呈现的转发表或路由表信息中并不可见,在转发表中看该网段的转发出接口仍然是第一隧道。

而对于本实施例中涉及到的建立第二隧道的方式,可以通过如下方式来实现:

步骤s31:建立第二隧道中用于保护第一隧道的保护策略,其中,保护策略包括:获取第一隧道的当前路径、根据第一隧道的路径策略重新算路、指定新的路径策略;

步骤s32:建立第二隧道中用于指示第一隧道的属性,其中,属性包括:第一隧道的预留带宽、亲和力。

在本实施例的另一个可选实施方式中,在依据第二隧道中更新后的转发信息进行流量的转发之后,本实施例的方法还包括:删除第二隧道。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现 有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种流量的转发装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图2是根据本发明实施例的流量的转发装置的结构框图,如图2所示,该装置包括:建立模块22,在第一隧道进入阻塞状态时,用于建立第二隧道,其中,在建立第二隧道的过程中将第一隧道的转发信息更新到第二隧道的转发信息中;第一转发模块24,与建立模块22耦合连接,用于依据第二隧道中更新后的转发信息进行流量的转发。

对于本实施例中涉及到的第一隧道进入阻塞状态包括至少包括如下因素:当隧道因用户修改配置,接口带宽变化等等无法保持状态up时,先暂停隧道进入down状态;当然还可以包括其他因素,上述因素并不对本发明构成限定。

图3是根据本发明实施例的流量的转发装置的可选结构框图一,如图3所示,该第一转发模块24包括:更新单元32,用于将第一隧道的网段的出接口更新为第二隧道的网段的出接口;转发单元34,与更新单元32耦合连接,用于依据更新后的出接口为第二隧道的网段进行流量的转发。

图4是根据本发明实施例的流量的转发装置的可选结构框图二,如图4所示,在依据第二隧道中更新后的转发信息进行流量的转发之后,该装置还包括:更新模块42,与第一转发模块24耦合连接,用于在第一隧道的阻塞状态被释放时,将第二隧道的网段的出接口更新为第一隧道的网段的出接口;第二转发模块44,与更新模块42耦合连接,用于依据出接口为第一隧道的网段进行流量的转发。

图5是根据本发明实施例的流量的转发装置的可选结构框图三,如图5所示,该建立模块22包括:第一建立单元52,用于建立第二隧道中用于保护第一隧道的保护策略,其中,保护策略包括:获取第一隧道的当前路径、根据第一隧道的路径策略重新算路、指定新的路径策略;第二建立单元54,与第一建立单元52耦合连接,用于建立第二隧道中用于指示第一隧道的属性,其中,属性包括:第一隧道的预留带宽、亲和力。

图6是根据本发明实施例的流量的转发装置的可选结构框图四,如图6所示,在依据第二隧道中更新后的转发信息进行流量的转发之后,该装置还可以包括:删除模块62,与第一转发模块24耦合连接,用于删除第二隧道。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位 于多个处理器中。

下面结合本发明的可选实施例对本发明进行举例说明;

本可选实施例提出了伪造转发信息保持mpls-te隧道转发不中断的方法,该方法采用通过自动创建一条新的保护隧道,并在转发层面将实际转发的隧道替换为保护隧道,通过伪造的转发信息保持转发面不更新,以达到被保护隧道状态变为down时仍能正常转发流量的方法。其中包含对被保护隧道状态的预判断,阻塞被保护隧道的状态变化并根据配置的策略自动创建一条新的保护隧道,在转发面用伪造的转发信息替换出接口为保护隧道,确认被保护隧道是否恢复正常并通知用户,在转发面取消伪造的转发信息即更新出接口为被保护隧道,当被保护隧道不能恢复时通知用户等方法。

本可选实施例的实现流程如下:

1、针对te_tunnel1的配置指定对该隧道或针对mpls-te的配置指定对所有隧道进行伪造转发关系保护,配置中可指定创建伪造转发关系时创建的保护隧道所采用的保护策略:如可配置需要采用该保护策略的事件(用户配置修改,接口带宽变化,亲和力属性变化等);预先配置保护失败、创建保护隧道失败、恢复被保护隧道失败等各类情况的保护退出策略;获取被保护隧道的当前路径(rro)、采用被保护隧道的路径策略重新算路、指定新的路径策略等多种可选的隧道算路策略;并可以指定保护隧道的相关属性,如是否保留被保护隧道的预留带宽(qos),亲和力(affinity)属性、ds-te属性等。

2、流量通过静态路由、策略路由pbr(policy-basedrouting)、转发邻接(forwardingadjacency)、自动路由(autoroute)等方式引入mpls-te隧道进行转发后,转发面中相应网段的出接口为te_tunnel1。当te_tunnel1的配置变化(事件a)或与te_tunnel1隧道相关相关的对象属性变化(事件b),若过程(1)中描述的配置开关打开时,控制面先根据过程(1)中描述的配置判断该事件是否为需要阻塞的事件,并对该事件将引起的变化进行分析判断,如果该事件可能会引起隧道down就先阻塞te_tunnel1状态变化,即阻断该事件的响应流程。若过程(1)中描述的配置开关关闭或开关打开但该事件不会影响隧道转发状态时,则不阻塞事件的响应流程。

3、当配置或属性变化进入阻塞状态后,控制面根据过程(1)中描述的策略自动创建一条新的隧道te_tunnel2作为保护隧道,保护隧道建立时的策略取决于过程(1)中的配置。te_tunnel2建立并up后,更新转发面的转发信息,将出接口为te_tunnel1的网段和上层业务更新为出接口te_tunnel2,但这一更新过程在对用户呈现的转发表或路由表信息和与te_tunnel1相关的业务中并不可见,在转发表看该网段的转发出接口或上层业务关联接口仍然是te_tunnel1。

4、当转发面中的转发信息更新后,释放被阻塞的事件响应流程,te_tunnel1根据新的配置或属性重新建立并up,系统感知到te_tunnel1恢复up后,再更新转发信息,将出接口为te_tunnel2的网段,更新为出接口te_tunnel1,这一更新过程在对用户呈现的 转发表或路由表信息和与te_tunnel1相关的业务中并不可见。更新完成后,删除过程(3)中创建的te_tunnel2。

需要说明的是,流程(2)中所述事件a发生时,本系统可以通过人机交互接口给出te_tunnel1进入阻塞状态的通知,并在通知中对被保护隧道的状态、阻塞原因、解决方案等相关信息通知给用户。当用户修改了隧道的相关配置,系统根据新的配置尝试恢复被保护隧道的状态,并能将是否恢复成功以及新的相关信息更新并通知用户;

流程(2)中所述事件b发生时,本系统可以通过人机交互接口给出te_tunnel1进入阻塞状态的通知,并在通知中对被保护隧道的状态、阻塞原因、解决方案等相关信息通知给用户。当网络属性发生变化后,系统能够响应属性变化试图恢复被保护隧道的状态,并能将是否恢复成功以及新的相关信息更新并通知用户。

需要说明的是,流程(3)中创建保护隧道te_tunnel2及流程(4)中删除保护隧道te_tunnel2的过程可以是在系统判断被保护隧道可能down时创建并在保护过程结束时删除的临时隧道,也可以在被保护隧道up后即创建且转发表更新后不立即删除;

流程(3)中例举了用创建的保护隧道te_tunnel2保护te_tunnel1的流量转发,本发明中若多条被保护隧道有相同的特征,如相同的egress路由器等,则te_tunnel2可以同时保护多个被保护隧道流量;

当被保护隧道配置或状态连续发生变化或在被保护隧道up前再次发生变化,系统能够识别被保护隧道已经处于保护状态,如果其对应的保护隧道已经生成,能阻止再生成另一条新的保护隧道以节约系统资源;

转发面中网段的出接口从保护隧道切换回被保护隧道时,可以通过wtr(waitforrestore)延迟回切的方式,以减少被保护隧道状态连续改变造成的反复切换;

在流程(4)中,被保护隧道恢复up,转发面更新网段出接口为被保护隧道后,可以通过人机交互接口通知用户;

在流程(2)、(3)、(4)中各个阶段,用户都可以通过配置命令或其它人机交互功能,选择中止伪造转发信息的保护过程;

在流程(2)、(3)、(4)中各个阶段,当系统按流程(1)中描述的保护策略进行保护失败或恢复被保护隧道状态失败时,系统可以根据流程(1)中配置的或系统预先设置的策略中止伪造转发信息的保护过程;

中止伪造转发信息的保护过程时,系统释放被保护隧道的阻塞状态,被保护隧道状态立即同步给其它相关业务

图7是根据本发明可选实施例的伪造转发信息保持mpls-te隧道转发不中断的方法流程图,如图7所示,该方法的步骤:

步骤s701:被保护隧道配置或属性变化;

步骤s702:判断是否伪造转发信息保护,在判断结果为是时,执行步骤s704,在判断结果为否时,执行步骤s705;

步骤s703:配置存储器,之后执行步骤s704;

步骤s704:创建保护隧道;

步骤s705:被保护隧道重建;之后执行步骤s709;

步骤s706:更新转发表;

步骤s707:伪造的转发信息;

步骤s708:转发表;

步骤s709:判断被保护隧道重建是否成功;在判断结果为是时,执行步骤s711,在判断结果为否时,执行步骤s710;

步骤s710:通知用户;之后执行步骤s705;

步骤s711:通知用户,之后执行步骤s712;

步骤s712:更新转发表;

步骤s713:真实的转发信息;

步骤s714:更新转发表。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

s1:建立第二隧道,其中,在建立第二隧道的过程中将第一隧道的转发信息更新到第二隧道的转发信息中;

s2:在第一或多个第一隧道进入阻塞状态时,依据第二隧道中更新后的转发信息进行流量的转发。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多 个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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