流量切换方法及装置与流程

文档序号:13391389阅读:227来源:国知局
流量切换方法及装置与流程

本公开涉及通信技术领域,尤其涉及一种流量切换方法及装置。



背景技术:

在mpls(multiprotocollabelswitching,多协议标签交换)te(trafficengineering,流量工程)网络中,rsvp(resourcereservationprotocol,资源预留协议)可以作为标签分发协议,沿着指定路径分发mpls标签,并预留资源,以建立crlsp(constraint-basedroutedlabelswitchedpaths,基于约束路由的标签交换路径)。

frr(fastreroute,快速重路由)是mplste网络中实现网络局部保护的技术。开启隧道的frr功能后,当crlsp主路径上的链路或节点故障时,流量可以被切换到bypass(旁路)隧道上,从而减少网络故障导致的数据丢失。bfd(bidirectionalforwardingdetection,双向转发检测)是一种快速检测机制,利用bfd可以快速检测到链路或节点失效。通过在mplste隧道内的两个rsvp邻居上分别配置rsvp与bfd联动,rpl(pointoflocalrepair,本地修复节点)可以快速感知与被保护节点之间的链路的故障,以及被保护节点的故障,从而在出现故障时及时将流量从crlsp主路径切换到bypass隧道上。然而,prl无法快速感知被保护节点之后到mp(mergepoint,汇聚点)之前的这段crlsp主路径上的链路的故障,需要被保护节点感知到故障后,通过rsvp协议报文通知plr,导致流量切换不及时。



技术实现要素:

有鉴于此,本公开提出了一种流量切换方法及装置,能够解决被保护节点与mp节点之间链路故障时,流量切换不及时的问题。

根据本公开的一方面,提供了一种流量切换方法,在mplste隧道的crlsp主路径上plr和mp之间的节点分别存储bfd会话关联链,所述bfd会话关联链包括相互关联的bfd会话的标识,该方法应用于任一存储bfd会话关联链的节点,该方法包括:若第一接口上的第一bfd会话失效,则根据所述第一bfd会话的标识查找本地维护的bfd会话关联链,确定与所述第一bfd会话关联的第二bfd会话、以及与所述第二bfd会话对应的第二接口;设置第二bfd会话失效;通过所述第二接口向第二节点发送bfd控制报文,以使所述第二节点的第二bfd会话失效,所述第二节点为通过所述第二接口与本地节点连接的节点。

根据本公开的另一方面,提供了一种流量切换装置,在mplste隧道的crlsp主路径上plr和mp之间的节点分别存储bfd会话关联链,所述bfd会话关联链包括相互关联的bfd会话的标识,所述装置应用于任一存储bfd会话关联链的节点,该装置包括:会话确定模块,用于当第一接口上的第一bfd会话失效时,根据所述第一bfd会话的标识查找本地维护的bfd会话关联链,确定与所述第一bfd会话关联的第二bfd会话、以及与所述第二bfd会话对应的第二接口;第一设置模块,用于设置第二bfd会话失效;报文发送模块,用于通过所述第二接口向第二节点发送bfd控制报文,以使所述第二节点的第二bfd会话失效,所述第二节点为通过所述第二接口与本地节点连接的节点。

通过在第一接口上的第一bfd会话失效时,设置与第一bfd会话关联的第二接口上的第二bfd会话失效,并向通过第二接口与本地节点连接的第二节点发送bfd报文,以使第二节点的第二bfd会话失效,根据本公开的各方面的流量切换方法及装置能够将节点一个链路上的故障快速传递至该节点另一个链路的对端,使另一个链路的对端快速感知到非直接相连的链路的故障,从而及时进行流量切换。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1示出根据本公开一实施例的流量切换方法的流程图;

图2示出根据本公开一实施例的流量切换方法的流程图;

图3示出根据本公开一实施例的流量切换方法的流程图;

图4示出根据本公开一实施例的frr节点保护场景示意图;

图5示出根据本公开一实施例的流量切换装置的框图;

图6示出根据本公开一实施例的流量切换装置的框图;

图7示出根据本公开一实施例的流量切换装置的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

图1示出根据本公开一实施例的流量切换方法的流程图。在mplste隧道的crlsp主路径上plr和mp之间的节点分别存储bfd会话关联链,所述bfd会话关联链包括相互关联的bfd会话的标识,该方法可以应用于任一存储bfd会话关联链的节点,如图1所示,该流量切换方法包括:

步骤s11,若第一接口上的第一bfd会话失效,则根据所述第一bfd会话的标识查找本地维护的bfd会话关联链,确定与所述第一bfd会话关联的第二bfd会话、以及与所述第二bfd会话对应的第二接口。

crlsp主路径可以表示被保护的crlsp。plr可以表示本地修复节点,可以将流量从crlsp主路径切换到bypass隧道,plr可以为crlsp主路径上除出口节点外的任一节点。mp可以表示汇聚节点,可以将bypass隧道上的流量汇聚到crlsp主路径上,mp可以为crlsp主路径上除入口节点外的任一节点。bypass隧道可以表示旁路隧道,可以保护crlsp主路径中的某条链路或者某个节点。bypass隧道与crlsp主路径可以为mplste隧道。plr为bypass隧道的入口节点,mp为bypass隧道的出口节点。

上述的在crlsp主路径上plr和mp之间的节点分别存储bfd会话关联链,可以使crlsp主路径上plr和mp之间的节点根据本地存储相互关联的bfd会话的标识,确定本地bfd会话之间的联动关系。

节点之间可以通过接口建立链路,同一个节点可以通过不同接口建立多条链路。例如,本地节点可以通过第一接口建立与第一节点之间的链路,通过第二接口建立与第二节点之间的链路。

在mplste网络中,mplste隧道内相邻节点互为rsvp邻居,可以相互发送rsvp协议报文。通过在mplste隧道内的两个rsvp邻居上分别配置rsvp与bfd联动,可以快速地感知邻居之间链路的故障。

本地节点可以在一个或多个接口配置rsvp与bfd联动,从而与一个和多个其他节点建立bfd会话。例如:本地节点可以在第一接口上配置rsvp与bfd联动,从而在本地节点和第一节点之间建立第一bfd会话,在第二接口上配置rsvp与bfd联动,从而在本地节点和第二节点之间建立第二bfd会话。

bfd会话的标识可以是指用于识别本地bfd会话唯一性的标识。例如,在一种可能的实现方式中,bfd会话的标识可以为所在接口的以太网端口的标识。bfd会话的标识还可以由数字、字母和符号中的一种或多种组成的其他标识。本公开对bfd会话的标识的形式不做限定。本地节点根据bfd会话的标识可以在本地确定唯一的bfd会话,以及与该bfd会话对应的接口。

bfd会话关联链包括相互关联的bfd会话的标识,bfd会话关联链可以用于表示bfd会话之间的关联关系,bfd会话关联链中的bfd会话标识对应的bfd会话的状态相互关联。举例来说,bfd会话关联链中所有bfd会话的标识对应的bfd会话的状态具有一致性,当bfd会话关联链中任一bfd会话的标识对应的bfd会话发生状态迁移时,可以触发该bfd关联链中其他bfd会话的标识对应的bfd会话的状态的迁移。

bfd会话存在admindown(强制失效)、down(失效)、init(初始)、up(有效)四个状态。其中,admindown表示会话被管理者强制无效,down表示会话是无效的,init表示正在和对端系统通信中且本地希望建立bfd会话,up表示已经建立成功bfd会话,系统之间的连接正常工作。接收的对端的bfd会话的状态和本端的bfd会话的状态结合起来可以驱动本端bfd会话的状态迁移。例如,接收的对端的bfd会话的状态为down,本端的bfd会话的状态为down,本端的bfd会话的状态可以迁移到init;接收的对端的bfd会话的状态为down,本端的bfd会话的状态为up,本端的bfd会话的状态可以迁移到down。

本地节点通过查找bfd会话关联链,可以确定与所述第一bfd会话关联的第二bfd会话、以及与所述第二bfd会话对应的第二接口。

步骤s12,设置第二bfd会话失效。

由于第二bfd会话的标识与第一bfd会话的标识存在于同一bfd会话关联链,当第一bfd会话失效时,本地节点可以根据相关技术设置第二bfd会话失效。

步骤s13,通过所述第二接口向第二节点发送bfd控制报文,以使所述第二节点的第二bfd会话失效,所述第二节点为通过所述第二接口与本地节点连接的节点。

本地节点的第二bfd会话的状态迁移到down,可以通过所述第二接口向对端(第二节点)发送bfd控制报文。

在一种可能的实现方式中,本地节点向第二节点发送的bfd控制报文的诊断字可以为用于表示bfd会话失效的值。

表1示出了bfd控制报文的格式。如表1所示,sta字段表示bfd会话当前状态,取值为:0代表admindown,1代表down,2代表init,3代表up。本地节点的第二bfd会话down后,将bfd控制报文sta字段设置为1,并发送至第二节点。本地节点可以向第二节点发送sta字段为1的bfd控制报文,相当于通知第二节点第二bfd会话down,第二节点的第二bfd会话会迁移到down状态。

表1bfd控制报文的格式

在一种可能的实现方式中,本地节点向第二节点发送的bfd控制报文的诊断字可以为用于表示邻居通知bfd会话失效的值。如表1所示,bfd控制报文的diag(诊断字)表明本地bfd系统最后一个会话down的原因,取值为:0代表nodiagnostic(没有诊断信息),1代表controldetectiontimeexpired(控制检测超时),2代表echofunctionfailed(回声功能失效),3代表neighborsignaledsessiondown(邻居通告会话失效),4代表forwardingplanereset(转发面复位),5代表pathdown(通道失效),6代表concatenatedpathdown(级联通道失效),7代表administrativelydown(管理强制失效),8代表reverseconcatenatedpathdown(反向链路失效),9-31代表reservedforfutureuse(保留)。

本地节点可以向第二节点发送diag字段取值为3的bfd控制报文。这样可以表示第二节点的第二bfd会话失效是由邻居通告会话失效而造成的,第二节点和本地节点之间的链路,以及第二节点并没故障。

在一种可能的实现方式中,第二节点可以为plr,第二节点接收用于指示第二bfd会话失效的bfd控制报文,将第二bfd会话迁移到down状态后,第二节点可以向rsvp上报第二bfd会话失效,从而将crlsp主路径上的流量切换至bypass隧道。以通过第一接口与本地节点连接的第一节点为mp为例,第二节点可以在报文内层压入第一节点的入标签,在报文外层压入bypass隧道标签,通过bypass隧道绕过本地节点与第一节点之间的链路,第一节点接收从bypass隧道转发的报文,之后第一节点可以去除报文的外层的bypass隧道标签,继续按照原有流程转发报文。

在一种可能的实现方式中,第二节点可以为plr与本地节点之间的节点,第二节点接收用于指示第二bfd会话失效的bfd控制报文,第二节点设置bfd会话失效,并根据所述第二bfd会话的标识查找本地维护的bfd会话关联链,确定与所述第二bfd会话关联的bfd会话,以及关联的bfd会话对应的接口,设置关联的bfd会话失效,向通过关联的bfd会话对应的接口与第二节点连接的节点(对端)发送bfd控制报文,以使对端的关联的bfd会话失效。重复上述过程,直至plr上与第二bfd会话对应的bfd会话失效,plr可以将crlsp主路径上的流量切换至bypass隧道。

通过在第一接口上的第一bfd会话失效时,设置与第一bfd会话关联的第二接口上的第二bfd会话失效,并向通过第二接口与本地节点连接的第二节点发送状态为失效的bfd报文,根据本公开的流量切换方法能够将节点一个链路的故障快速传递给该节点另一个链路的对端,使另一个链路的对端快速感知到非直接相连的链路的故障,从而及时进行流量切换。

图2示出根据本公开一实施例的流量切换方法的流程图。如图2所示,该流量切换方法还包括:

步骤s14,建立第一bfd会话的标识与第二bfd会话的标识的对应关系。

步骤s15,根据所述对应关系维护本地存储的bfd会话关联链。

在一个示例中,如上所述bfd会话的标识可以为所在接口的以太网端口的标识,本地节点可以通过代码rsvpbfdlinkageinterfacegigabitethernet1/0interfacegigabitethernet1/2,建立第二个插槽中的第一个千兆以太网端口(gigabitethernet1/0)上的bfd会话的状态和第二个插槽中的第三个千兆以太网端口(gigabitethernet1/2)上的bfd会话的状态的对应关系。

需要说明的是,对应关系的建立过程不需要重复进行,对应关系一次建立可以重复使用。

本地节点可以根据对应关系维护本地存储的bfd会话关联链。在一个示例中,本地节点上的接口上建立了新的bfd会话时,可以建立新的bfd会话的标识与原bfd会话的标识的对应关系,将该新的bfd会话的标识加入原bfd会话所在的bfd会话关联链,从而更新bfd会话关联链。

在一种可能的实现方式中,crlsp上所有与plr连接的节点上,均可以建立本地其他接口上的bfd会话的标识与第二bfd会话的标识的对应关系,从而在这些节点的其他链路发生故障时,能够及时通知plr进行流量切换,较大程度的减少网络故障时数据的丢失。

通过建立第一bfd会话的标识与第二bfd会话的标识的对应关系,根据本公开的流量切换方法可以根据对应关系维护本地存储的bfd会话的关联链,从而使bfd会话关联链较为可靠,plr能够快速感知到非直接相连的链路的故障,及时进行流量切换。

图3示出根据本公开一实施例的流量切换方法的流程图。如图3所示,该流量切换方法还包括:

步骤s16,若在检测时间内未收到第一节点发送的bfd控制报文,则设置所述第一bfd会话失效,所述检测时间用于判断本地节点与所述第一节点之间的链路是否发生故障,所述第一节点为通过所述第一接口与本地节点连接的节点。

bfd会话建立及定时器协商完成后,如果在检测时间内没有收到对端发送的控制报文,本端的bfd会话会迁移到down状态,并通知该bfd会话所服务的上层应用。

这样,本地节点与第一节点之间链路的故障检测通过bfd会话完成,可以进一步加快故障检测的速度,从而使plr及时进行流量切换。

应用示例

图4示出根据本公开一实施例的frr节点保护场景示意图。如图4所示,crlsp主路径由依次连接的路由设备a、路由设备b、路由设备c、路由设备d和路由设备e组成,bypass隧道由依次连接的路由设备b、路由设备f和路由设备d组成。其中,路由设备b是bypass隧道的入口节点称为本地修复节点,路由设备d是bypass隧道的出口节点称为汇聚节点,crlsp主路径上位于路由设备b和路由设备d之间的路由设备c为被保护节点。路由设备c通过第一接口与路由设备d之间建立了第一bfd会话,路由设备c通过第二接口与路由设备b之间建立了第二bfd会话。路由设备c与路由设备d之间的链路故障。

在步骤s14中,路由设备c建立第一bfd会话的标识与第二bfd会话的标识的对应关系。在步骤s15中,路由设备c根据所述对应关系维护本地存储的bfd会话关联链。在步骤s16中,当在检测时间内未收到路由设备d发送的bfd控制报文时,路由设备c设置所述第一bfd会话失效。在步骤s11中,当第一接口上的第一bfd会话失效时,路由设备c根据第一bfd会话查找本地维护的bfd会话关联链,确定与第一bfd会话的标识对应的第二bfd会话的标识,根据第二bfd会话的标识确定第二bfd会话、以及第二bfd会话对应的第二接口。在步骤s12中,路由设备c设置第二接口上的第二bfd会话失效。在步骤s13中,路由设备c将发送给路由设备b的bfd控制报文的sta字段填为1,diag字段填为3,并向路由设备b发送该bfd控制报文。

之后,路由设备b接收路由设备c发送的bfd控制报文,当接收的bfd控制报文的sta字段为1,或者在检测时间内未收到路由设备c发送的bfd控制报文时,路由设备b可以将crlsp主路径上的流量切换至bypass隧道。

图5示出根据本公开一实施例的流量切换装置的框图。在mplste隧道的crlsp主路径上plr和mp之间的节点分别存储bfd会话关联链,所述bfd会话关联链包括相互关联的bfd会话的标识,所述装置应用于任一存储bfd会话关联链的节点,如图5所示,装置50包括:会话确定模块51、第一设置模块52和报文发送模块53。

会话确定模块51,用于当第一接口上的第一bfd会话失效时,根据所述第一bfd会话的标识查找本地维护的bfd会话关联链,确定与所述第一bfd会话关联的第二bfd会话、以及与所述第二bfd会话对应的第二接口。

第一设置模块52,用于设置第二bfd会话失效。

报文发送模块53,用于通过所述第二接口向第二节点发送bfd控制报文,以使所述第二节点的第二bfd会话失效,所述第二节点为通过所述第二接口与本地节点连接的节点。

通过在第一接口上的第一bfd会话失效时,设置与第一bfd会话关联的第二接口上的第二bfd会话失效,并向通过第二接口与本地节点连接的第二节点发送指示第二节点的第二bfd会话失效的bfd控制报文,根据本公开的流量切换装置能够将节点一个链路上的故障快速传递至该节点另一个链路的对端,使另一个链路的对端快速感知到非直接相连的链路的故障,从而及时进行流量切换。

图6示出根据本公开一实施例的流量切换装置的框图。如图6所示,在一种可能的实现方式中,所述bfd控制报文的状态字为用于表示bfd会话失效的值,所述bfd控制报文的诊断字为用于表示邻居通知bfd会话失效的值。

在一种可能的实现方式中,装置50还包括:

关系建立模块54,用于建立第一bfd会话的标识与第二bfd会话的标识的对应关系。

关系维护模块55,用于根据所述对应关系维护本地存储的bfd会话关联链。

在一种可能的实现方式中,装置50还包括:

第二设置模块56,用于当在检测时间内未收到第一节点发送的bfd控制报文时,设置所述第一bfd会话失效,所述检测时间用于判断本地节点与所述第一节点之间的链路是否发生故障,所述第一节点为通过所述第一接口与本地节点连接的节点。

图7是根据一示例性实施例示出的一种用于流量切换的装置900的框图。参照图7,该装置900可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器901与机器可读存储介质902可经由系统总线903通信。并且,处理器901通过读取机器可读存储介质902中与流量切换逻辑对应的机器可执行指令以执行上文所述的流量切换方法。

本文中提到的机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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