隧道连通性检测方法、装置及网络边缘设备与流程

文档序号:18639208发布日期:2019-09-11 22:46阅读:400来源:国知局
隧道连通性检测方法、装置及网络边缘设备与流程

本公开涉及网络通信的技术领域,尤其是涉及一种隧道连通性检测方法、装置及网络边缘设备。



背景技术:

通常,为了实现网络故障的快速收敛,缩短因故障导致的流量中断时间,必须首先快速地检测出网络链路间的故障,目前,bfd(bi-directionalforwardingdetection,双向转发检测)检测机制已成为当前解决上述问题的主流技术。

在快速故障检测的基础上实现对故障ip网络的快速恢复,对实现网络业务的高可靠性也至关重要。目前业界对此问题的主要解决方法是提前计算备份路由,即当路由器探测到故障时并不是立即扩散路由信息并进行路由计算,而是利用备份路由替换掉已经因故障而失效的主用路由来直接修复网络故障,这时路由协议将根据新的网络拓扑重新收敛路由,在重收敛完成之前一直使用这条备份路由来指导报文的转发,这样将大大缩短流量中断时间,此技术即ipfrr技术。

ipfrr技术是ipfastreroute(ip快速重路由)的简称,它是为了满足极高的路由恢复速度而提出的,其基本原理是在ip网络中为想保护的链路建立一条备份路由,主链路发生故障后,则将流量快速切换到备用链路上,当主链路故障恢复时,再将流量从备份链路上回切至主链路,这种技术的应用可以最大程度上减少网络节点或网络链路故障发生时流量报文丢失的情况,为网络中关键链路的稳定和安全提供可靠的保障。

通常,对于可以形成irr的网络设备,当通过bfd检测机制检测出对应的网络链路断开时,可以通过ipfrr快速切换至备用链路,发送bfd报文,不会出现bfd超时。但反过来,对于没有形成ipfrr的网络设备,当通过bfd检测机制检测出对应链路故障后,即使有备用链路,由于其链路的切换速度比较慢,导致接收端网络设备收到的bfd回应报文就比较慢,进而导致bfd回应报文超时,接收端网络设备将通知上层协议该链路对应的pw(pseudowire,伪线)状态为dwon,当链路切换完毕,bfd回应报文走备用链路到达接收端网络设备后,接收端网络设备又通知上层协议该pw的状态为up,有时这种反复过程可能多次重复出现,造成一定程度上的网络资源浪费。



技术实现要素:

有鉴于此,本公开的目的在于提供一种隧道连通性检测方法、装置及网络边缘设备,以提升网络资源的利用率。

第一方面,本公开实施方式提供了一种隧道连通性检测方法,该方法应用于公网隧道的第一网络边缘设备pe,公网隧道还包括第二pe,该方法包括:如果在预设时间内应用原拓扑路径未接收到第二pe发送的bfd报文,判断第一pe与第二pe之间是否有已创建bfd会话的虚拟拓扑路径;其中,虚拟拓扑路径为第二pe到第一pe的主机路由未形成快速重路由frr时创建的;如果是,在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话;如果在预设的缓冲期内原拓扑路径的bfd会话创建完成,通过原拓扑路径转发目的地址为第二pe的数据报文。

结合第一方面,本公开实施方式提供了第一方面的第一种可能的实施方式,其中,上述在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话的步骤包括:启动计时功能,在计时时长低于预设的缓冲期对应时长内,为第一pe与第二pe对应的原拓扑路径创建bfd会话。

结合第一方面的第一种可能的实施方式,本公开实施方式提供了第一方面的第二种可能的实施方式,其中,上述方法还包括:如果计时时长达到设定的缓冲期对应时长,且原拓扑路径的bfd会话未创建成功,停止缓冲期计时;设置第一pe与第二pe的连通状态为down状态。

结合第一方面,本公开实施方式提供了第一方面的第三种可能的实施方式,其中,上述方法还包括:接收第二pe发送的bfd报文;其中,bfd报文为第二pe应用原拓扑路径转发的,且,bfd报文携带有预设标识,预设标识用于表征第二pe到第一pe的主机路由未形成快速重路由frr;创建第一pe与第二pe对应的虚拟拓扑路径的转发表,以及,为虚拟拓扑路径创建bfd会话。

结合第一方面的第三种可能的实施方式,本公开实施方式提供了第一方面的第三种可能的实施方式,其中,上述为虚拟拓扑路径创建bfd会话的步骤包括:设置第一pe与第二pe对应的原拓扑路径的链路开销为预设的最大值;通过虚拟拓扑路径的出端口向第二pe发送bfd报文,以使第二pe通过虚拟拓扑路径回复bfd报文。

第二方面,本公开实施方式还提供一种隧道连通性检测方法,该方法应用于公网隧道的第二网络边缘设备pe,公网隧道还包括第一pe,该方法包括:在应用原拓扑路径向第一pe发送bfd报文时,检测第二pe到第一pe的主机路由是否形成快速重路由frr;如果否,向第一pe发送携带有预设标识的bfd报文,以使第一pe创建第一pe与第二pe对应的虚拟拓扑路径的转发表,以及,为虚拟拓扑路径创建bfd会话;使第一pe在预设时间内未接收到第二pe应用原拓扑路径发送的bfd报文时,在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话,并通过原拓扑路径转发目的地址为第二pe的数据报文。

第三方面,本公开实施方式还提供了一种隧道连通性检测装置,该装置应用于公网隧道的第一网络边缘设备pe,公网隧道还包括第二pe,该装置包括:判断模块,用于如果在预设时间内应用原拓扑路径未接收到第二pe发送的bfd报文,判断第一pe与第二pe之间是否有已创建bfd会话的虚拟拓扑路径;其中,虚拟拓扑路径为第二pe到第一pe的主机路由未形成快速重路由frr时创建的;第一创建模块,用于判断模块的判断结果为是时,在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话;转发模块,用于如果在预设的缓冲期内原拓扑路径的bfd会话创建完成,通过原拓扑路径转发目的地址为第二pe的数据报文。

结合第三方面,本公开实施方式提供了第三方面的第一种可能的实施方式,其中,上述第一创建模块用于:启动计时功能,在计时时长低于预设的缓冲期对应时长内,为第一pe与第二pe对应的原拓扑路径创建bfd会话。

结合第三方面的第一种可能的实施方式,本公开实施方式提供了第三方面的第二种可能的实施方式,其中,上述装置还包括:设置模块,用于如果计时时长达到设定的缓冲期对应时长,且原拓扑路径的bfd会话未创建成功,设置第一pe与第二pe间的连通状态为down状态。

结合第三方面,本公开实施方式提供了第三方面的第三种可能的实施方式,其中,上述装置还包括:接收模块,用于接收第二pe发送的bfd报文;其中,bfd报文为第二pe应用原拓扑路径转发的,且,bfd报文携带有预设标识,预设标识用于表征第二pe到第一pe的主机路由未形成快速重路由frr;第二创建模块,用于创建第一pe与第二pe对应的虚拟拓扑路径的转发表,以及,为虚拟拓扑路径创建bfd会话。

结合第三方面的第三种可能的实施方式,本公开实施方式提供了第三方面的第四种可能的实施方式,其中,上述第二创建模块还用于:设置第一pe与第二pe对应的原拓扑路径的链路开销为预设的最大值;通过虚拟拓扑路径的出端口向第二pe发送bfd报文,以使第二pe通过虚拟拓扑路径回复bfd报文。

第四方面,本公开实施方式还提供了一种隧道连通性检测装置,该装置应用于公网隧道的第二网络边缘设备pe,公网隧道还包括第一pe,该装置包括:检测模块,用于在应用原拓扑路径向第一pe发送bfd报文时,检测第二pe到第一pe的主机路由是否形成快速重路由frr;第一发送模块,用于检测模块的检测结果为否时,向第一pe发送携带有预设标识的bfd报文,以使第一pe创建第一pe与第二pe对应的虚拟拓扑路径的转发表,以及,为虚拟拓扑路径创建bfd会话;第二发送模块,用于第一pe在预设时间内未接收到第二pe应用原拓扑路径发送的bfd报文时,在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话,并通过原拓扑路径转发目的地址为第二pe的数据报文。

第五方面,本公开实施方式还提供了一种网络边缘设备,该网络边缘设备包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现第一方面或第二方面的方法。

第六方面,本公开实施方式还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现第一方面或第二方面的方法。

本公开实施方式提供的隧道连通性检测方法、装置及网络边缘设备,能够使公网隧道中的第一网络边缘设备pe在预定时间内应用原拓扑未接收到第二pe发送的bfd报文时,判断与第二pe之间是否有已创建bfd会话的虚拟拓扑路径,并在有该虚拟拓扑路径时,在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话,如果该bfd会话创建完成,则继续通过原拓扑路径转发目的地址为第二pe的数据报文,在该缓冲期期间,原拓扑路径的bfd会话不会向上层协议汇报延时故障,能够在一定程度上避免bfd会话机制的误报现象,以便于维持第一pe与第二pe之间的连通状态为up,从而有效避免了资源的浪费和流量的中断,以及造成的流量的多余丢失,为网络中关键链路的稳定和安全提供了可靠的保障。

本公开的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本公开实施方式提供的一种组网示意图;

图2为本公开实施方式提供的一种隧道连通性检测方法的流程图;

图3为本公开实施方式提供的另一种组网示意图;

图4为本公开实施方式提供的另一种隧道连通性检测方法的流程图;

图5为本公开实施方式提供的一种隧道连通性检测装置的结构示意图;

图6为本公开实施方式提供的另一种隧道连通性检测装置的结构示意图;

图7为本公开实施方式提供的另一种隧道连通性检测装置的结构示意图;

图8为本公开实施方式提供的一种网络边缘设备的结构示意图。

具体实施方式

为使本公开实施方式的目的、技术方案和优点更加清楚,下面将结合附图对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。

通常,为了实现网络故障的快速检测,多采用bfd检测机制,这是一种标准化、与接口介质无关、与各上层协议无关、通用的快速故障检测技术,能够快速检测两台设备间双向转发路径的故障,并提供毫秒级检测。

为了便于理解,图1示出了一种组网示意图,如图1所示,其中,ce1和ce2是直接与服务提供商网络相连的用户网络侧设备(customeredge,用户网络边缘),简称ce设备,pe-a、pe-b、pe-c、pe-d是与ce设备相连的服务提供商网络侧设备(provideredge,服务提供商网络边缘),简称pe设备,pe设备主要负责vpn(virtualprivatenetwork,虚拟专用网络)业务的接入,完成报文从用户网络到公网隧道、从公网隧道到用户网络的映射与转发,图中的数字为igp(interiorgatewayprotocol,内部网关协议)的开销。

在实际使用时,ce设备和pe设备之间通过ac(attachmentcircuit,接入电路)连接,pe设备与pe设备之间通过pw连接,其中,ac是连接ce设备和pe设备的物理电路或虚拟电路,例如framerelay(帧中继协议)的dlci(datalinkconnectionidentifier,数据链路连接标识)、atm(asynchronoustransfermode,异步传输模式)的vpi(virtualpathidentifier虚路径标识符)/vci(virtualchannelidentifier,虚通道标识符)、ethernet接口(以太网接口)、vlan(virtuallocalareanetwork,虚拟局域网)、物理接口上的ppp(pointtopointprotocol,点对点协议)连接等等。进一步,pw是两个pe设备之间的虚拟双向连接,例如,mpls(multiprotocollabelswitching,多协议标签交换)pw由一对方向相反的单向lsp(labelswitchedpath,标签交换路径)构成。

应当理解,图1所示的组网形式,仅仅是一种示意图,并且仅仅示出了两个ce设备和是个pe设备,在实际应用时,上述组网还可以有其他形式,其中所用的物理电路或者虚拟电路等也可以根据实际使用情况进行设备,本发明实施例对此不进行限制。

基于图1所示的组网形式,假设在vpls(virtualprivatelanservice,虚拟专用局域网业务)建立中,pe-d和pe-a、pe-b建立主备pw,pe-a为主,pe-b为备,pe-a、pe-b为分层的vpls,且,接末端pe-c,即,对pe-a、pe-b来说,左侧只有pe-d一个pw,右侧只有pe-c一个pw。因此,按照图1中数字标注的igp的开销,以及frr的无环理论标准,pe-d到pe-a的主机路由不能形成标准的ipfrr,而pe-a到pe-d的主机路由,是可以形成的。

通常为了实现链路的快速切换,图1中,对于公网隧道lsp,会配置bfd,如通过ldp(labeldistributionprotocol,标签分发协议)方式建立pw时,某些情况会配置tunnel方式的bfd,如pe-d到pe-a,以及反向pe-a到pe-d,均配置tunnelbfd,当该bfddown时,会认为整个tunnel不可用,从而进行pw的切换。在图1中,当pe-a和pe-d之间的链路断开时,对于pe-a而言,如果pe-a发给pe-d的bfd报文没有回应,由于pe-a侧可以形成ipfrr,所以pe-a至pe-d侧快速切换到备用链路,对pe-d而言,接收到bfd报文是正常的,不会出现tunnelbfd的超时,但反过来,pe-d至pe-a侧,由于之前没形成ipfrr,所以该链路的切换速度会比较慢,这样pe-d发往pe-a的bfd回应报文就比较慢,导致pe-a收到bfd报文会慢,很可能会导致pe-a侧的报文探测超时,若pe-a侧的bfd报文超时了,则pe-a要发生pw的切换,会让当前的pw状态变为不可用,然而pe-a只有一个pw,此时会导致流量不通。但实际上,图1所示的组网中还是有备用链路可用的,只是切换的较慢,此时,是不应该直接通知上层协议该pw不可用的。后续,当路由切换完毕,bfd报文走备份的链路,使得pw又重新up时,又会通知上层协议该pw是可用的,这样反复的过程,不仅消耗资源而且可能造成流量的多余丢失。

基于此,本公开实施方式提供的一种隧道连通性检测方法、装置及网络边缘设备,可以有效缓解上述问题。

为便于对本实施方式进行理解,首先对本公开实施方式所提供的一种隧道连通性检测方法进行详细介绍。

在一种可能的实施方式中,本公开提供了一种隧道连通性检测方法,该方法应用于公网隧道的第一网络边缘设备pe,在实际使用时,该公网隧道还包括第二pe,上述第一pe通常是公网隧道的组网中与第二pe建立了一段业务和bfd会话的网络边缘设备。具体地,如图2所示的一种隧道连通性检测方法的流程图,该方法包括以下步骤:

步骤s202,如果在预设时间内应用原拓扑路径未接收到第二pe发送的bfd报文,判断第一pe与第二pe之间是否有已创建bfd会话的虚拟拓扑路径;

其中,上述虚拟拓扑路径为第二pe到第一pe的主机路由未形成快速重路由frr时创建的;具体地,该虚拟拓扑路径通常视为一种虚拟的拓扑路径,当第一pe与第二pe之间有该已创建bfd会话的虚拟拓扑路径时,可以表明第一pe和第二pe之间有其他的路径可用,因此,bfd会话此时不会上上层协议汇报延时故障,而是继续执行步骤s204,重新为原拓扑路径创建bfd会话。

在实际使用时,上述第二pe可以作为bfd报文的接收端,以便于当接收到第一pe发送的bfd报文,进行回应;进一步,上述第二pe也可以处于主动模式,当bfd会话建立后,主动向第一pe发送bfd报文,具体可以根据实际使用情况进行设置,本公开实施方式对此不进行限制。

步骤s204,如果是,在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话;

通常,在该预设的缓冲期内,是继续维持上述第一pe与第二pe间的连通状态为up的,因此,在为第一pe与第二pe对应的原拓扑路径创建bfd会话时,上层协议感知不到这些动作。

步骤s206,如果在预设的缓冲期内原拓扑路径的bfd会话创建完成,通过原拓扑路径转发目的地址为第二pe的数据报文。

通常,按照现有的方式,如果预设时间内未接收到回应的bfd报文,已建立的bfd会话就会认为此段链路出现了网络故障,进而通告上层协议该段链路故障情况,上层协议将会根据上报的该故障信息进行故障处理,如,通告第一pe和第二pe之间的pwdown掉等等。

而通过上述步骤s202~s206的过程,如果在预设时间内未接收到第二pe发送的bfd报文时,会启动预设的缓冲期计时,而不是向上层协议上报网络故障。此时,主机路由可以依据原拓扑路径重新计算,并生成新的bfd报文转发链路,当在预设的缓冲期计内,检测到原拓扑路径中有新的链路生成,可以继续建立新的且稳定的bfd收发关系后,可继续进行第一pe与第二pe间的业务,即,整个缓冲期期间检测的隧道连通性是up状态,而不会通告业务的不可用。

本公开实施方式提供的隧道连通性检测方法,能够使公网隧道中的第一网络边缘设备pe在预定时间内应用原拓扑未接收到第二pe发送的bfd报文时,判断与第二pe之间是否有已创建bfd会话的虚拟拓扑路径,并在有该虚拟拓扑路径时,在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话,如果该bfd会话创建完成,则继续通过原拓扑路径转发目的地址为第二pe的数据报文,在该缓冲期期间,原拓扑路径的bfd会话不会向上层协议汇报延时故障,能够在一定程度上避免bfd会话机制的误报现象,以便于维持第一pe与第二pe之间的连通状态为up,从而有效避免了资源的浪费和流量的中断,以及造成的流量的多余丢失,为网络中关键链路的稳定和安全提供了可靠的保障。

在实际使用时,上述步骤s204中,在预设的缓冲期内为原拓扑路径创建bfd会话的过程,相当于是启动了一个计时过程,以便于在设定是时间内创建bfd会话,避免第一pe和第二pe之间出现长时间无法通信导致的影响业务流通的情况。因此,上述步骤s204中,在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话的步骤包括:启动计时功能,在计时时长低于预设的缓冲期对应时长内,为第一pe与第二pe对应的原拓扑路径创建bfd会话。

进一步,如果上述计时时长达到设定的缓冲期对应时长,且原拓扑路径的bfd会话未创建成功时,则设置第一pe与第二pe间的连通状态为down状态,即,上述预设的缓冲期可以通过计时的方式来实现,在计时期间,维持上述第一pe与第二pe间的连通状态为up;如果在计时期间,上述原拓扑路径的bfd会话创建完成,则通过原拓扑路径继续转发目的地址为第二pe的数据报文,并停止计时;如果计时时长达到设定的缓冲期对应时长,且,原拓扑路径的bfd会话未创建成功,则会向上层协议上报故障,同时,也可以停止上述计时功能。在实际使用时,上述缓冲期对应时长,可以根据实际情况进行配置,本公开实施方式对此不进行限制。

在实际使用时,上述虚拟拓扑路径通常是预先建立的,例如,可以在第一pe和第二pe所在的组网建立初期就创建上述虚拟拓扑路径,还可以在第一pe和第二pe之间初次建立bfd会话时创建上述虚拟拓扑路径。具体地可以根据实际使用情况进行设置,本公开实时方式对此不进行限制。

具体实现时,建立上述虚拟拓扑路径的过程可以包括以下步骤:

(1)接收第二pe发送的bfd报文;其中,该bfd报文为第二pe应用原拓扑路径转发的,且,bfd报文携带有预设标识,该预设标识用于表征第二pe到第一pe的主机路由未形成快速重路由frr;

具体地,当第二pe向第一pe发送bfd报文时,会先计算当前第二pe到第一pe的主机路由是否能够形成快速重路由frr,如果不能形成,则可以在bfd控制消息的flag字段中,增加一个无备份标识,即预设标识,使得向第一pe发送的bfd报文携带该预设标识,进而将第二pe未能形成frr的情况告知第一pe。

(2)创建第一pe与第二pe对应的虚拟拓扑路径的转发表,以及,为虚拟拓扑路径创建bfd会话。

具体地,创建该虚拟拓扑路径的转发表的过程,也可以表明第一pe和第二pe之间有其他的路径可用。

在实际使用时,上述第二pe发送的bfd报文所携带的预设标识,可以在bfd会话建立之后,第二pe首次向第一pe发送bfd报文时,在bfd报文中携带;或者,在第二pe设备重启时,如果建立了bfd会话,则向第一pe发送携带预设标识的bfd报文;或者,还可以在bfd会话建立后,按照预设的周期或者时长,周期性地发送携带有该预设标识的bfd报文,具体的发送形式可以根据实际使用情况进行设置,本公开实施方式对此不进行限制。

进一步,上述快速重路由frr,也称为ipfrr,通常是在网络处于正常的情况下,为想保护的一些关键链路或节点建立起的一条冗余备份链路,故障发生时,只需将流量迅速切换到备份链路上即可,因此,该ipfrr需要额外地进行计算,去创建备份路由,同时,在计算时需依据无环理论标准,即为要保护的链路计算出一条备份下一跳,这条下一跳必须是全网无环的,生成的路由转发表项同时拥有主下一跳和备下一跳,这时网络正常情况就采用主下一跳来转发报文,当出现故障时将流量转换到备下一跳上进行转发,在新路由完全收敛之前都采用这条备路由来进行流量的转发。

因此,对于组成组网的各个pe设备,都有能力获知到达某个目的地的整个路径的走向,即获知备份下一跳的能力,以便于在计算出能形成ipfrr后,能够在主链路断开后,迅速切换到备份链路上。因此,上述第二pe在向第一发送回应的bfd报文时,可以进行路由计算,以判断是否能够形成frr。

进一步,上述虚拟拓扑路径通常是基于多拓扑路由技术创建的,通常,为了实现网络的互通,多拓扑路由技术可以将某个组网中的物理拓扑划分成多个逻辑的拓扑,这些逻辑的拓扑可能是交叉或者重叠的,不同拓扑运行各自的路由计算,因此在每个逻辑网络中针对一个目的地址都会有单独属于自己的最优路径,会形成各自独立的路由表,或者转发表,网络正常运行时,将其中一张逻辑网络作为主路径,报文转发以这个主路径上的路由为准,但当主路径出现故障时,则将流量转换到另一张作为备路径的无网络故障的逻辑网络上进行转发,从而避免断流的发生。

而上述虚拟拓扑路径,通常是逻辑网络中的任意一个备路径形成的拓扑路径,将多拓扑路由技术使用在快速重路由应用中时,可以将全局拓扑作为主用网络,进而当上述第一pe在接收到第二pe发送的携带有预设标识的bfd报文后,可以基于当前组网中的全局拓扑创建第一pe与第二pe对应的虚拟拓扑路径的转发表。

具体实现时,主网络对应的拓扑路径相当于原拓扑路径,正常情况下bfd会话产生的bfd报文是经原拓扑路径转发的,当基于原拓扑路径第二pe发送的bfd报文未能及时到达第一pe时,才会判断第一pe与第二pe之间是否有已创建bfd会话的虚拟拓扑路径。

具体地,上述为虚拟拓扑路径创建bfd会话的步骤包括以下过程:

(1)设置上述第一pe与第二pe对应的原拓扑路径的链路开销为预设的最大值;

具体地,第一pe与第二pe对应的原拓扑路径的链路是指在上述虚拟拓扑路径中,与第一pe与第二pe之间的原拓扑路径对应的链路相同的链路,例如,基于图1所示的组网,原拓扑路径中pe-d到pe-a的链路为l1,则为上述虚拟拓扑路径创建bfd会话时,会在虚拟拓扑路径中,将原拓扑路径中pe-d到pe-a的链路l1的链路开销设置为预设的最大值,以避免在虚拟拓扑路径创建bfd会话时,发送的bfd报文重新按照原拓扑路径中进行转发而形成路由环路导致流量中断。

(2)通过虚拟拓扑路径的出端口向第二pe发送bfd报文,以使第二pe通过该虚拟拓扑路径回复bfd报文。

具体地,由于该虚拟拓扑路径中创建的bfd会话也是在第一pe与第二pe之间建立的双向转发检测机制,因此,第一pe通过虚拟拓扑路径的出端口向第二pe发送的bfd报文也会封装有源地址和目的地址,并且,该源地址和目的地址与通过原拓扑路径发送的bfd报文的源地址和目的地址是一样的,即,将上述第一pe与第二pe对应的原拓扑路径的链路开销设置为预设的最大值之后,在该虚拟拓扑路径中继续发送源和目的协议一样的bfd报文,进而为上述虚拟拓扑路径创建bfd会话。

在实际使用时,上述第一pe,通常是可以形成frr的网络边缘设备,即,该第一pe所在的主链路具有备份链路,以便于当主链路发生故障,时可以将流量快速切换到备用链路上来,而当主链路故障恢复时,还可以将流量从备份链路上回切回主链路。

进一步,由于原拓扑路径通常对应的是组网中的主链路,且通常是针对一个目的地址的最优路径,因此,如果在缓冲期计时期间,原拓扑路径的bfd会话可以重新创建完成,则会继续通过原拓扑路径继续转发目的地址为第二pe的数据报文,以保证业务的可靠进行。

此外,由于上述虚拟拓扑路径是基于逻辑网络中任意一条备网络可形成的拓扑路径,因此,上述原拓扑路径计算出的新的链路,通常是与该虚拟拓扑路径对应的链路的路径是重合的;如果在上述计时时长达到设定的缓冲期对应时长时,原拓扑路径中的bfd报文仍然没有按时收发,则可以强制结束缓冲期并通告上层协议,进而将第一pe和第二pe之间的连通状态设置为down状态。

具体地,为了便于理解,在图1所示的基础上,图3示出了另一种组网形式,如图3所示,同样以该组网中包括两个ce设备和四个pe设备为例,进行说明,具体地,假设pe-d、pe-a、pe-b是一段来建立业务和bfd会话,pe-a、pe-b、pe-c是另一段来建立业务和bfd会话,以pe-d、pe-a、pe-b为例进行说明,且pe-a的主机路由配置快速重路由frr,pe-d的主机路由未配置快速重路由frr,基于图3所示的组网形式,本公开实施例提供的隧道连通性检测方法的过程如下:

(1)pe-a建立了到pe-d的pwtunnelbfd,pe-d在回应bfd报文时,判断了回程路径的目的地址1.1.1.1/32是无法形成frr的,于是,pe-d回应的bfd报文携带有预设标识,以表征pe-d到pe-a的主机路由未配置快速重路由frr;

(2)pe-a接收到上述携带有预设标识的bfd报文后,解析该报文,并创建pe-a与pe-d对应的虚拟拓扑路径,以及该虚拟拓扑路径的转发表,并为该虚拟拓扑路径创建bfd会话,用于转发bfd报文,同时,如图3所示,在该虚拟拓扑路径的转发表中,将到达目的1.1.1.1/32的目的地址的最优路由下一跳l1的开销置为最大开销值,使得pe-d回应的bfd报文需要走其他链路,例如,图3中的l2链路;

(3)pe-a收到上述带有预设标识的bfd报文后,也将到达pe-d的4.4.4.4的主路径下一跳l1的开销置为最大值,使得bfd报文走图3所示的l3链路,并最终建立bfd会话,即,基于图3所示的组网形式,上述虚拟拓扑路径为l2+l3,原拓扑路径为l1;

在链路正常情况下,pe-a和pe-d是用过l1建立bfd会话的,虚拟拓扑路径为l2+l3相当于是一种虚拟拓扑路径,在l1正常时,是不启用的。

(4)当组网的原拓扑路径l1的链路真正发生故障时,出现原拓扑路径中,pe-a端接收的bfd报文超时,由于虚拟拓扑路径为中的bfd是可以建立的,因此,bfd会话不会向上层协议报pe-a和pe-d之间的pwdown,并认为此时的pw仍然可用,同时进入缓冲期,启动计时功能;

(5)在缓冲期期间,即,计时时长低于预设的缓冲期对应时长内,原拓扑路径中,由于l1链路故障,会根据路由重新计算,并且,由于在组网建立时,为pe-a和pe-b建立了主备关系,因此,在原拓扑路径中,会将l1链路切换到l3链路,继续进行bfd报文的重新收发,此时,原拓路径中重新计算的路由与虚拟拓扑路径对应的路由重合,如果在重合的路径中bfd会话创建完成,则缓冲期结束,停止上述缓冲期计时;

(6)若上述重合的路径中的bfd会话未创建成功,则bfd会话向上层协议上报故障,进而上层协议将此时的pw的状态设置为down状态。

具体实现时,上述缓冲期阶段,bfd会话并不会上上层协议上报故障情况,当计时时长达到设定的缓冲期对应时长时,且原拓扑路径的bfd会话仍未创建成功后,才会上报故障情况,以实现在网络真实不可用的情况下,才进行故障上报,避免了某些场景路由切换导致的bfd的震荡和大量断流,同时也能避免造成流量的多余丢失,为网络中关键链路的稳定和安全提供可靠的保障。

应当理解,上述实施方式是以图1或图3所示的组网情况进行说明,在实际使用时,本公开实施方式提供的隧道连通性检测方法也同样适用于l3vpn/evpn/l2vpn等类似的隧道技术,具体可以根据实际使用情况进行设置,本公开实施方式对此不进行限制。

此外,本公开实施方式还提供了另一种隧道连通性检测方法,该方法应用于公网隧道的第二网络边缘设备pe,该公网隧道还包括第一pe,在实际使用时,该第二网络边缘设备pe通常是与第一pe建立了一段业务和bfd会话的网络边缘设备,具体地,如图4所示的另一种隧道连通性检测方法的流程图,包括以下步骤:

步骤s402,在应用原拓扑路径向第一pe发送bfd报文时,检测第二pe到第一pe的主机路由是否形成快速重路由frr;

其中,第一pe通常是与第二pe对应的网络边缘设备,第一pe与第二pe建立bfd会话后,可以在第一pe和第二pe之间发送bfd报文,以检测第一pe与第二pe之间的链路是否出现故障。

步骤s404,如果否,向第一pe发送携带有预设标识的bfd报文,以使第一pe创建第一pe与第二pe对应的虚拟拓扑路径的转发表,以及,为虚拟拓扑路径创建bfd会话;

步骤s406,使第一pe在预设时间内未接收到第二pe应用原拓扑路径发送的bfd报文时,在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话,并通过原拓扑路径转发目的地址为第二pe的数据报文。

具体地,上述预设标识用于表征第二pe到第一pe的主机路由未形成快速重路由frr,以便于第一pe接收到该bfd报文并解析出该预设标识后,创建虚拟拓扑路径的转发表。

本公开实施方式提供的隧道连通性检测方法,能够在第二pe发送bfd报文时,检测自身的主机路由是否能形成快速重路由frr,并在未形成frr时,向第一pe回应携带有预设标识的bfd报文,进而使第一pe创建对应的虚拟拓扑路径的转发表,当第一pe在预设时间内未接收到第二pe的bfd报文时,在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话,并通过原拓扑路径转发目的地址为第二pe的数据报文,避免第一pe在预设时间内未接收到第二pe的bfd报文时向上层协议上报故障情况,实现从bfd会话进行控制,防止bfd会话的误报,同时也能避免造成流量的多余丢失,为网络中关键链路的稳定和安全提供可靠的保障。

对应于上述图2所示的隧道连通性检测方法,本公开实施方式还提供了一种隧道连通性检测装置,该装置应用于公网隧道的第一网络边缘设备pe,该公网隧道还包括第二pe,如图5所示的一种隧道连通性检测装置的结构示意图,该装置包括:

判断模块50,用于如果在预设时间内应用原拓扑路径未接收到第二pe发送的bfd报文,判断第一pe与第二pe之间是否有已创建bfd会话的虚拟拓扑路径;其中,虚拟拓扑路径为第二pe到第一pe的主机路由未形成快速重路由frr时创建的;

第一创建模块52,用于判断模块的判断结果为是时,在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话;

转发模块54,用于如果在预设的缓冲期内原拓扑路径的bfd会话创建完成,通过原拓扑路径转发目的地址为第二pe的数据报文。

具体地,上述第一创建模块用于:启动计时功能,在计时时长低于预设的缓冲期对应时长内,为第一pe与第二pe对应的原拓扑路径创建bfd会话。

基于图5,图6示出了另一种隧道连通性检测装置的结构示意图,除图5所示的结构外,上述隧道连通性检测装置还包括:

设置模块56,用于如果计时时长达到设定的缓冲期对应时长,且原拓扑路径的bfd会话未创建成功,设置第一pe与第二pe间的连通状态为down状态。

接收模块58,用于接收第二pe发送的bfd报文;其中,bfd报文为第二pe应用原拓扑路径转发的,且,bfd报文携带有预设标识,预设标识用于表征第二pe到第一pe的主机路由未形成快速重路由frr;

第二创建模块60,用于创建第一pe与第二pe对应的虚拟拓扑路径的转发表,以及,为虚拟拓扑路径创建bfd会话。

进一步,上述第二创建模块还用于:设置第一pe与第二pe对应的原拓扑路径的链路开销为预设的最大值;通过虚拟拓扑路径的出端口向第二pe发送bfd报文,以使第二pe通过虚拟拓扑路径回复bfd报文。

此外,对应于上述图4所示的隧道连通性检测方法,本公开实施方式还提供了另一种隧道连通性检测装置,该装置应用于公网隧道的第二网络边缘设备pe,该公网隧道还包括第一pe,如图7所示的另一种隧道连通性检测装置的结构示意图,该装置包括:

检测模块70,用于在应用原拓扑路径向第一pe发送bfd报文时,检测第二pe到第一pe的主机路由是否形成快速重路由frr;

第一发送模块72,用于检测模块的检测结果为否时,向第一pe发送携带有预设标识的bfd报文,以使第一pe创建第一pe与第二pe对应的虚拟拓扑路径的转发表,以及,为虚拟拓扑路径创建bfd会话;

第二发送模块74,用于第一pe在预设时间内未接收到第二pe应用原拓扑路径发送的bfd报文时,在预设的缓冲期内为第一pe与第二pe对应的原拓扑路径创建bfd会话,并通过原拓扑路径转发目的地址为第二pe的数据报文。

本公开实施方式提供的隧道连通性检测装置,与上述实施方式提供的隧道连通性检测方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本公开实施方式还提供了一种网络边缘设备,该网络边缘设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现上述隧道连通性检测方法。

进一步,本公开实施方式还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述隧道连通性检测方法。

参见图8,本公开实施方式还提供一种网络边缘设备的结构示意图,包括:处理器800,存储器801,总线802和通信接口803,所述处理器800、通信接口803和存储器801通过总线802连接;处理器800用于执行存储器801中存储的可执行模块,例如计算机程序。

其中,存储器801可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口803(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。

总线802可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器801用于存储程序,处理器800在接收到执行指令后,执行所述程序,前述本公开任一实施方式揭示的隧道连通性检测装置所执行的方法可以应用于处理器800中,或者由处理器800实现。

处理器800可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器800中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器800可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器800读取存储器801中的信息,结合其硬件完成上述方法的步骤。

本公开实施方式所提供的隧道连通性检测方法、装置及网络边缘设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施方式中所述的方法,具体实现可参见方法实施方式,在此不再赘述。

此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上实施方式,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施方式对本公开进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施方式所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施方式技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

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