CN107547241B - 一种te隧道的故障检测方法和装置 - Google Patents
一种te隧道的故障检测方法和装置 Download PDFInfo
- Publication number
- CN107547241B CN107547241B CN201710352684.5A CN201710352684A CN107547241B CN 107547241 B CN107547241 B CN 107547241B CN 201710352684 A CN201710352684 A CN 201710352684A CN 107547241 B CN107547241 B CN 107547241B
- Authority
- CN
- China
- Prior art keywords
- detection
- node
- tunnel
- detection node
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本公开提供一种TE隧道的故障检测方法和装置,该方法包括:确定经过第一检测节点和第二检测节点的第一类TE隧道;为所述第一类TE隧道生成检测报文,并通过所述第一类TE隧道发送所述检测报文,所述检测报文的目标节点为所述第二检测节点;若在预设时间内接收到所述第二检测节点返回的针对所述检测报文的响应报文,确定所述第一类TE隧道未发生故障;否则确定所述第一类TE隧道发生故障。通过本公开的技术方案,可以快速检测出TE隧道是否发生故障,在TE隧道发生故障时,及时拆除TE隧道,TE隧道的拆除时间较短。可以准确检测出TE隧道是否发生故障,检测结果准确有效。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种TE隧道的故障检测方法和装置。
背景技术
网络拥塞是影响骨干网络性能的主要问题,而网络拥塞的原因可能是网络资源负载不均衡导致的,TE(Traffic Engineering,流量工程)是一种可以用于解决网络资源负载不均衡导致的拥塞问题的技术。其中,在复杂的网络环境中,可以通过TE技术,控制数据的传输路径,并动态调整数据的传输路径,从而可以优化网络资源的使用,并可以避免网络资源负载不均衡导致的拥塞问题。
为了控制数据的传输路径,可以在源节点和目的节点之间创建TE隧道,如图1所示,假设数据的传输路径为节点A-节点B-节点C-节点D,则在节点A-节点B-节点C-节点D之间创建TE隧道,各节点需要为这个TE隧道进行资源预留。由于各节点的资源有限,因此,当这个TE隧道出现故障时,需要及时拆除这个TE隧道,使得分配给这个TE隧道的资源能够分配给其它TE隧道。
目前,针对TE隧道的故障检测,可以采用如下方式:源节点(节点A)周期性的向目的节点(节点D)发送Path报文,若在预设时间内未接收到针对该Path报文的响应报文,就可以确定这个TE隧道出现故障,并拆除这个TE隧道。
由于源节点每隔一段时间(如5秒)才会发送一次Path报文,且在发送Path报文后,需要等待预设时间(如1秒),若在预设时间内未接收到响应报文,才会拆除TE隧道,TE隧道的拆除时间较长,这段时间将无法释放资源。
发明内容
本公开提供一种TE隧道的故障检测方法,在TE隧道的第一检测节点和第二检测节点之间建立邻居,所述方法应用于第一检测节点,所述方法包括:
确定经过所述第一检测节点和所述第二检测节点的第一类TE隧道;
为所述第一类TE隧道生成检测报文,并通过所述第一类TE隧道发送所述检测报文,其中,所述检测报文的目标节点为所述第二检测节点;
若在预设时间内接收到所述第二检测节点返回的针对所述检测报文的响应报文,则确定所述第一类TE隧道未发生故障;
否则,确定所述第一类TE隧道发生故障。
本公开提供一种TE隧道的故障检测方法,在TE隧道的第一检测节点和第二检测节点之间建立邻居,所述方法应用于第二检测节点,所述方法包括:
接收检测报文,所述检测报文是第一检测节点为经过所述第一检测节点和所述第二检测节点的第一类TE隧道生成、且通过所述第一类TE隧道发送的;
若所述检测报文的目标节点为所述第二检测节点,则生成针对所述检测报文的响应报文,所述响应报文的目的地址为所述第一检测节点的地址信息;
向所述第一检测节点发送所述响应报文,以使所述第一检测节点根据所述响应报文检测出所述第一类TE隧道是否发生故障。
本公开提供一种TE隧道的故障检测装置,在TE隧道的第一检测节点和第二检测节点之间建立邻居,所述装置应用于第一检测节点,所述装置包括:
确定模块,用于确定经过第一检测节点和第二检测节点的第一类TE隧道;
发送模块,用于为所述第一类TE隧道生成检测报文,并通过所述第一类TE隧道发送所述检测报文,所述检测报文的目标节点为所述第二检测节点;
检测模块,用于当在预设时间内接收到针对所述检测报文的响应报文时,则确定所述第一类TE隧道未发生故障;当在预设时间内未接收到针对所述检测报文的响应报文时,则确定所述第一类TE隧道发生故障。
本公开提供一种TE隧道的故障检测装置,在TE隧道的第一检测节点和第二检测节点之间建立邻居,所述装置应用于第二检测节点,所述装置包括:
接收模块,用于接收检测报文,所述检测报文是第一检测节点为经过第一检测节点和第二检测节点的第一类TE隧道生成、通过第一类TE隧道发送的;
生成模块,用于当所述检测报文的目标节点为第二检测节点时,生成针对检测报文的响应报文,所述响应报文的目的地址为第一检测节点的地址信息;
发送模块,用于向所述第一检测节点发送所述响应报文,以使所述第一检测节点根据所述响应报文检测出所述第一类TE隧道是否发生故障。
基于上述技术方案,本公开实施例中,通过在TE隧道的第一检测节点和第二检测节点之间建立邻居,且第一检测节点向第二检测节点发送检测报文,第二检测节点向第一检测节点返回针对该检测报文的响应报文,这样,第一检测节点就可以根据响应报文检测出TE隧道是否发生故障,上述方式可以快速检测出TE隧道是否发生故障,并在TE隧道发生故障时,及时拆除TE隧道,TE隧道的拆除时间较短。上述方式是在第一检测节点和第二检测节点之间传输报文,而传统方式是在源节点和目的节点之间传输报文,通常情况下,源节点和目的节点之间的节点数量较多,因此报文传输时间较长,而第一检测节点和第二检测节点之间的节点数量较少,因此报文传输时间较短,综上所述,与传统方式相比,上述方式可以快速检测出TE隧道是否发生故障。第一检测节点在向第二检测节点发送检测报文时,是通过TE隧道发送的,而不是通过路由发送,这样,可以准确检测出TE隧道是否发生故障,检测结果准确有效。
附图说明
为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。
图1是在源节点和目的节点之间创建TE隧道的示意图;
图2和图3是本公开一种实施方式中的TE隧道的应用场景示意图;
图4是本公开一种实施方式中的TE隧道的故障检测方法的流程图;
图5是本公开另一种实施方式中的TE隧道的故障检测方法的流程图;
图6是本公开一种实施方式中的TE隧道的故障检测装置的结构图;
图7是本公开一种实施方式中的第一检测节点的硬件结构图;
图8是本公开另一种实施方式中的TE隧道的故障检测装置的结构图;
图9是本公开一种实施方式中的第二检测节点的硬件结构图。
具体实施方式
在本公开使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对TE隧道的创建过程,可以采用静态方式或RSVP(Resource ReservationProtocol,资源预留协议)方式。当采用静态方式创建TE隧道时,可以在各节点输入命令,各节点根据该命令配置入标签、出标签、出接口等,对此方式不做限制。当采用RSVP方式创建TE隧道时,各节点可以基于Path(路径)报文和针对Path报文的Resv(响应)报文,配置入标签、出标签、出接口等。
如图2所示,节点A(源节点)获知需要在节点A-节点B-节点C-节点D-节点E-节点F之间创建TE隧道(后续称为TE隧道0)时,则发送Path报文,该Path报文的目的地址为节点F(目的节点)的IP地址。节点B接收到该Path报文后,为TE隧道0分配标签100,并继续向节点C发送Path报文。节点C接收到该Path报文后,为TE隧道0分配标签200,并继续向节点D发送Path报文。节点D接收到该Path报文后,为TE隧道0分配标签300,并继续向节点E发送Path报文。节点E接收到该Path报文后,为TE隧道0分配标签400,并继续向节点F发送Path报文。节点F接收到该Path报文后,为TE隧道0分配标签500,并向节点E发送携带标签500的针对Path报文的Resv报文。
节点E通过接口E2接收到该Resv报文后,在标签转发表中记录标签400(入标签)、标签500(出标签)与接口E2(出接口)的对应关系,向节点D发送携带标签400的Resv报文。节点D通过接口D2接收到该Resv报文后,在标签转发表中记录标签300(入标签)、标签400(出标签)与接口D2(出接口)的对应关系,向节点C发送携带标签300的Resv报文。节点C通过接口C2接收到该Resv报文后,在标签转发表中记录标签200(入标签)、标签300(出标签)与接口C2(出接口)的对应关系,向节点B发送携带标签200的Resv报文。节点B通过接口B2接收到该Resv报文后,在标签转发表中记录标签100(入标签)、标签200(出标签)与接口B2(出接口)的对应关系,向节点A发送携带标签100的Resv报文。节点A通过接口A1接收到该Resv报文后,在标签转发表中记录标签100(出标签)与接口A2(出接口)的对应关系。
基于上述处理,在节点A-节点B-节点C-节点D-节点E-节点F之间创建TE隧道0,各节点可以为TE隧道0预留资源(如带宽资源),对此过程不再赘述。
此外,节点A还可以在转发表中记录IP地址(如100.100.100.10)/IP网段(如100.100.100.0/24)与标签100的对应关系,节点A在接收到数据1后,若数据1的目的IP地址与IP地址(如100.100.100.10)/IP网段(如100.100.100.0/24)匹配,则为数据1封装标签100,得到数据2,并通过数据2的标签100查询标签转发表,得到接口A2,然后通过接口A2发送数据2。节点B在接收到数据2后,通过数据2的标签100查询标签转发表,得到标签200和接口B2,将数据2的标签100修改为标签200,得到数据3,然后通过接口B2发送数据3。节点C在接收到数据3后,通过数据3的标签200查询标签转发表,得到标签300和接口C2,将数据3的标签200修改为标签300,得到数据4,然后通过接口C2发送数据4。节点D在接收到数据4后,通过数据4的标签300查询标签转发表,得到标签400和接口D2,将数据4的标签300修改为标签400,得到数据5,然后通过接口D2发送数据5。节点E在接收到数据5后,通过数据5的标签400查询标签转发表,得到标签500和接口E2,将数据5的标签400修改为标签500,得到数据6,然后通过接口E2发送数据6。节点F在接收到数据6后,去除数据6的标签500,得到数据1,然后基于数据1的目的IP地址进行发送。至此,可以在TE隧道0上成功传输数据,对此数据传输过程不再赘述。
在传统方式中,为了实现TE隧道的故障检测,由源节点(节点A)周期性的向目的节点(节点F)发送Path报文,其会导致TE隧道的拆除时间较长。
针对上述发现,本公开实施例提出一种TE隧道的故障检测方法,该方法可以应用于包括多个节点(如路由器、交换机等)的系统,这些节点之间可以创建TE隧道。为了实现TE隧道的故障检测,在一个例子中,可以将TE隧道的任意两个节点(如节点B和节点E)配置为检测节点,为了方便描述,将这两个节点称为第一检测节点和第二检测节点。而且,还可以在TE隧道的第一检测节点和第二检测节点之间建立邻居(如检测邻居,又可以称为nodehello邻居)。
其中,第一检测节点和第二检测节点是TE隧道的任意两个节点,可以根据实际需要进行配置。与第二检测节点相比,第一检测节点更靠近源节点或者第一检测节点就是源节点,与第一检测节点相比,第二检测节点更靠近目的节点或者第二检测节点就是目的节点。通常情况下,当第一检测节点是源节点时,第二节点不是目的节点,当第二节点是目的节点时,第一检测节点不是源节点。
例如,当需要检测节点B和节点E之间的TE隧道是否发生故障时,则可以将节点B和节点E配置为检测节点,并在节点B和节点E之间建立邻居。与节点E相比,由于节点B更靠近源节点,因此节点B可以为第一检测节点;与节点B相比,由于节点E更靠近目标节点,因此节点E可以为第二检测节点。
在一个例子中,为了在第一检测节点和第二检测节点之间建立邻居,还可以在第一检测节点上配置第二检测节点的地址信息(如节点E的IP地址),并在第二检测节点上配置第一检测节点的地址信息(如节点B的IP地址)。
基于上述应用场景,第一检测节点可以构造检测报文(如Node hello检测报文),并周期性的发送该检测报文,且该检测报文的目标节点(这里称为目标节点,而不是称为目的节点,与上述的目的节点不同)可以为第二检测节点。第二检测节点在接收到该检测报文之后,可以向第一检测节点返回针对该检测报文的响应报文。进一步的,若第一检测节点在预设时间内接收到第二检测节点返回的响应报文,则可以确定第一检测节点和第二检测节点之间的TE隧道未发生故障;若第一检测节点在预设时间内没有接收到第二检测节点返回的响应报文,则可以确定第一检测节点和第二检测节点之间的TE隧道发生故障。
本公开的上述方式与传统方式的不同之处在于:本公开实施例中,是在第一检测节点和第二检测节点之间传输报文(如检测报文和检测报文的响应报文),而传统方式是在源节点和目的节点之间传输报文(如Path报文和Path报文的响应报文)。通常情况下,第一检测节点和第二检测节点是位于源节点和目的节点之间的节点,而且,源节点和目的节点之间的节点数量较多,报文传输时间较长,第一检测节点和第二检测节点之间的节点数量较少,报文传输时间较短。基于此,与传统方式相比,本公开实施例中,可以快速检测出TE隧道是否发生故障,减低了TE隧道故障检测的时间,且可以及时拆除TE隧道。
具体的,假设源节点在发送Path报文后,若在预设第一时间内未接收到针对Path报文的响应报文时,确定TE隧道发生故障,而第一检测节点在发送检测报文后,若在预设第二时间内未接收到针对检测报文的响应报文时,确定TE隧道发生故障,则:由于源节点和目的节点之间的节点数量较多,因此预设第一时间设置的可以长一些,如3秒,以保证TE隧道未发生故障时,源节点可以在预设第一时间内接收到针对Path报文的响应报文;由于第一检测节点和第二检测节点之间的节点数量较少,因此预设第二时间设置的可以短一些,如1秒,这样,在TE隧道未发生故障时,第一检测节点也可以在预设第二时间内接收到针对检测报文的响应报文。综上所述,由于预设第二时间小于预设第一时间,因此,可以快速检测出TE隧道是否发生故障,减低了TE隧道故障检测的时间。
本公开实施例中,为了实现TE隧道的故障检测,包括但不限于如下方式:
方式一、第一检测节点构造检测报文,该检测报文的目的地址为第二检测节点的地址信息,并向第二检测节点发送检测报文。由于检测报文的目的地址为第二检测节点的地址信息,因此检测报文的目标节点为第二检测节点,该检测报文可以传输至第二检测节点。第二检测节点在接收到检测报文后,由于检测报文的目的地址为第二检测节点的地址信息,因此第二检测节点会向第一检测节点返回针对检测报文的响应报文。若第一检测节点在预设时间内接收到第二检测节点返回的响应报文,则确定第一检测节点和第二检测节点之间的TE隧道未发生故障;若第一检测节点在预设时间内没有接收到第二检测节点返回的响应报文,则确定第一检测节点和第二检测节点之间的TE隧道发生故障。
第一检测节点在向第二检测节点发送检测报文时,可以通过检测报文的目的地址查询路由表,并基于路由表发送该检测报文。例如,路由表的一个示例可以如表1所示,第一检测节点在通过检测报文的目的地址(如节点E的IP地址E)查询路由表后,可以通过接口B2发送该检测报文。而且,第一检测节点与第二检测节点之间的各节点也可以通过该检测报文的目的地址查询路由表,并根据路由表发送该检测报文,从而最终将该检测报文发送给第二检测节点。
表1
目的地址 | 出接口 |
节点E的IP地址E | 接口B2 |
但是,在上述方式下,可能无法准确检测出TE隧道是否发生故障,检测结果出现错误。例如,如图3所示,假设TE隧道为节点A-节点B-节点C-节点D-节点E-节点F,第一检测节点(节点B)维护的路由表如表2所示,则第一检测节点在通过检测报文的目的地址(如节点E的IP地址E)查询路由表之后,得到出接口为接口B2和接口B3,因此,可以通过接口B2或者接口B3发送该检测报文,假设通过接口B3发送该检测报文。基于此,若节点B与节点D之间的链路没有发生故障,则检测报文可以通过节点D发送给第二检测节点,且最终的检测结果是TE隧道未发生故障。但是实际上,若节点B与节点C之间的链路或者节点C与节点D之间的链路发生故障,则检测结果应该是TE隧道发生故障,显然,上述方式得到的检测结果并不准确,检测结果出现错误。
表2
目的地址 | 出接口 |
节点E的IP地址E | 接口B2 |
节点E的IP地址E | 接口B3 |
方式二、第一检测节点在生成检测报文时,会关联对应的TE隧道,并根据该TE隧道生成检测报文,然后通过该TE隧道发送该检测报文。这样,可以准确检测出TE隧道是否发生故障,检测结果正确。参见图4所示,为方式二下的TE隧道的故障检测方法的流程图,该方法可以法应用于第一检测节点。
步骤401,确定经过第一检测节点和第二检测节点的第一类TE隧道。
在一个例子中,第一检测节点记录的每个TE隧道均经过第一检测节点,因此只要从记录的每个TE隧道中选取出经过第二检测节点的TE隧道即可,而选取出的TE隧道也就是经过第一检测节点和第二检测节点的第一类TE隧道。
在一个例子中,为了确定经过第一检测节点和第二检测节点的第一类TE隧道,则:第一检测节点可以获取TE隧道经过的节点的地址信息,并在映射表中记录该TE隧道的标签信息与节点的地址信息的对应关系。基于此,针对“确定经过第一检测节点和第二检测节点的第一类TE隧道”的过程,包括但不限于:第一检测节点通过第二检测节点的地址信息查询映射表,得到与第二检测节点的地址信息匹配的标签信息,并将该标签信息对应的TE隧道确定为经过第一检测节点和第二检测节点的第一类TE隧道。
例如,在TE隧道0的创建过程中,节点F向节点E发送的携带标签500的Resv报文中,还可以携带节点F的地址信息(如节点F的IP地址F)。节点E向节点D发送的携带标签400的Resv报文中,还可以携带节点F的地址信息、节点E的地址信息(如节点E的IP地址E)。节点D向节点C发送的携带标签300的Resv报文中,还可以携带节点F的地址信息、节点E的地址信息、节点D的地址信息(如节点D的IP地址D)。节点C向节点B发送的携带标签200的Resv报文中,还可以携带节点F的地址信息、节点E的地址信息、节点D的地址信息、节点C的地址信息(如节点C的IP地址C)。进一步,节点B在接收到该Resv报文后,除了在标签转发表中记录标签100(入标签)、标签200(出标签)与接口B2(出接口)的对应关系,还可以从该Resv报文中获取出TE隧道0经过的节点的地址信息,并可以在映射表中记录TE隧道0的标签信息(如标签100和/或标签200)与各节点的地址信息(如节点F的地址信息、节点E的地址信息、节点D的地址信息、节点C的地址信息)的对应关系。
若配置节点B和节点E为检测节点,在节点B和节点E之间建立邻居,且在节点B上配置节点E的地址信息,则节点B通过节点E的地址信息查询映射表,得到与该地址信息匹配的标签信息(如标签100和/或标签200),并将该标签信息对应的TE隧道0确定为经过节点B和节点E的第一类TE隧道。
步骤402,为该第一类TE隧道生成检测报文,并通过该第一类TE隧道发送该检测报文,其中,该检测报文的目标节点可以为第二检测节点。
在一个例子中,针对“为该第一类TE隧道生成检测报文,并通过该第一类TE隧道发送该检测报文”的过程,可以包括但不限于如下方式:获取该第一类TE隧道对应的标签信息和出接口,生成包括该第一类TE隧道对应的标签信息的检测报文,并通过该第一类TE隧道对应的出接口发送该检测报文。
例如,节点B在确定经过节点B和节点E的第一类TE隧道时,就可以获取到该第一类TE隧道(TE隧道0)对应的标签信息(如标签100和/或标签200),并通过该标签信息(如标签100和/或标签200)查询标签转发表(记录有标签100、标签200与接口B2的对应关系),得到的出接口可以为接口B2。
然后,节点B生成检测报文,该检测报文的目的地址可以为节点E的地址信息,也可以不是节点E的地址信息,对此目的地址不做限制。之后,节点B为该检测报文封装第一类TE隧道对应的标签信息(如标签200,此处封装的不包括标签100),从而得到包括该第一类TE隧道对应的标签信息的检测报文。
然后,节点B可以通过接口B2发送包括标签200的检测报文。
节点C在接收到检测报文后,通过检测报文的标签200查询标签转发表,得到标签300和接口C2,将检测报文的标签200修改为标签300,并通过接口C2发送检测报文。节点D在接收到检测报文后,通过检测报文的标签300查询标签转发表,得到标签400和接口D2,将检测报文的标签300修改为标签400,并通过接口D2发送检测报文。节点E在接收到检测报文后,由于节点E是该检测报文的目标节点,因此,节点E不再向节点F继续发送该检测报文,而是生成针对该检测报文的响应报文,并向节点B返回该响应报文。
在一个例子中,为了使第二检测节点(如节点E)获知本第二检测节点是检测报文的目标节点,则可以采用如下方式:在第一检测节点和第二检测节点上配置预设标记(如AAA),第一检测节点在发送检测报文时,该检测报文还可以携带该预设标记,该预设标记用于使第二检测节点根据该检测报文携带的预设标记确定本第二检测节点为检测报文的目标节点。而第二检测节点在接收到检测报文后,若该检测报文携带的预设标记与第二检测节点本地配置的预设标记匹配(如二者相同),则可以确定本第二检测节点为检测报文的目标节点。若该检测报文携带的预设标记与第二检测节点本地配置的预设标记不匹配(如二者不同),则可以确定本第二检测节点不是检测报文的目标节点。
进一步的,若本第二检测节点不是检测报文的目标节点,则可以通过检测报文携带的标签查询标签转发表,得到出标签和出接口,将检测报文携带的标签修改为该出标签,并通过该出接口发送该检测报文,对此过程不再赘述。
若本第二检测节点是检测报文的目标节点,则可以生成针对该检测报文的响应报文,该响应报文的目的地址为第一检测节点的地址信息(如节点B的IP地址B,是预先配置在第二检测节点的),向第一检测节点发送该响应报文,以使该第一检测节点根据该响应报文检测出上述第一类TE隧道是否发生故障。
针对第二检测节点向第一检测节点发送响应报文的过程,由于响应报文的目的地址为第一检测节点的地址信息,因此第二检测节点可以通过响应报文的目的地址查询路由表,并基于路由表发送响应报文。而且,第二检测节点与第一检测节点之间的各节点也可以通过响应报文的目的地址查询路由表,并根据路由表发送响应报文,从而最终将响应报文发送给第一检测节点。
步骤403,判断在预设时间内是否接收到第二检测节点返回的针对上述检测报文的响应报文。如果是,则执行步骤404;如果否,则执行步骤405。
步骤404,确定第一类TE隧道未发生故障。
步骤405,确定第一类TE隧道发生故障。
在一个例子中,第一检测节点在发送检测报文后,可以启动定时器,该定时器的超时时间是上述预设时间。若第一检测节点在预设时间内接收到第二检测节点返回的响应报文,则确定第一检测节点和第二检测节点之间的TE隧道未发生故障;若第一检测节点在预设时间内没有接收到第二检测节点返回的响应报文,则确定第一检测节点和第二检测节点之间的TE隧道发生故障。
进一步的,若TE隧道未发生故障,则保持该TE隧道,该TE隧道可以继续传输数据。若TE隧道发生故障,则进行TE隧道的拆除,该TE隧道不再传输数据。针对TE隧道的拆除过程,第一检测节点先拆除该TE隧道,并向源节点发送PathResv报文,以通知第一检测节点与源节点之间的各节点、源节点拆除该TE隧道,并向目的节点发送PathTear报文,以通知第一检测节点与目的节点之间的各节点、目的节点拆除该TE隧道,对此拆除过程不再赘述。
基于上述技术方案,本公开实施例中,通过在TE隧道的第一检测节点和第二检测节点之间建立邻居,且第一检测节点向第二检测节点发送检测报文,第二检测节点向第一检测节点返回针对该检测报文的响应报文,这样,第一检测节点就可以根据响应报文检测出TE隧道是否发生故障,上述方式可以快速检测出TE隧道是否发生故障,并在TE隧道发生故障时,及时拆除TE隧道,TE隧道的拆除时间较短。上述方式是在第一检测节点和第二检测节点之间传输报文,而传统方式是在源节点和目的节点之间传输报文,通常情况下,源节点和目的节点之间的节点数量较多,因此报文传输时间较长,而第一检测节点和第二检测节点之间的节点数量较少,因此报文传输时间较短,综上所述,与传统方式相比,上述方式可以快速检测出TE隧道是否发生故障。第一检测节点在向第二检测节点发送检测报文时,是通过TE隧道发送的,而不是通过路由发送,这样,可以准确检测出TE隧道是否发生故障,检测结果准确有效。
基于与上述方法同样的构思,本公开实施例还提出一种TE隧道的故障检测方法,该方法应用于第二检测节点,参见图5所示,为该方法的流程图。
步骤501,接收检测报文,该检测报文是第一检测节点为经过第一检测节点和第二检测节点的第一类TE隧道生成、且通过该第一类TE隧道发送的。
步骤502,若该检测报文的目标节点为本第二检测节点,则生成针对该检测报文的响应报文,且该响应报文的目的地址为第一检测节点的地址信息。
在一个例子中,第二检测节点接收到的检测报文还携带预设标记,针对确定该检测报文的目标节点是否为本第二检测节点的过程,可以包括但不限于如下方式:若该检测报文携带的预设标记与第二检测节点本地配置的预设标记匹配(如二者相同),则可以确定该检测报文的目标节点为本第二检测节点;或者,若该检测报文携带的预设标记与第二检测节点本地配置的预设标记不匹配(如二者不同),则可以确定该检测报文的目标节点不是本第二检测节点。
步骤503,向第一检测节点发送该响应报文,以使第一检测节点根据该响应报文检测出第一类TE隧道是否发生故障,对此检测过程不再赘述。
其中,步骤501-步骤503的处理可以参见图4所示流程,在此不再赘述。
基于与上述方法同样的构思,本公开实施例中还提出一种TE隧道的故障检测装置,在TE隧道的第一检测节点和第二检测节点之间建立邻居,且该装置可以应用于第一检测节点,如图6所示,为该装置的结构图,该装置包括:
确定模块11,用于确定经过所述第一检测节点和所述第二检测节点的第一类TE隧道;发送模块12,用于为所述第一类TE隧道生成检测报文,并通过所述第一类TE隧道发送所述检测报文,其中,所述检测报文的目标节点为所述第二检测节点;检测模块13,用于当在预设时间内接收到针对所述检测报文的响应报文时,则确定所述第一类TE隧道未发生故障;当在预设时间内未接收到针对所述检测报文的响应报文时,则确定所述第一类TE隧道发生故障。
在一个例子中,所述TE隧道的故障检测装置还包括(在图中未体现):记录模块,用于获取所述TE隧道经过的节点的地址信息,并在映射表中记录所述TE隧道的标签信息与所述节点的地址信息的对应关系;所述确定模块11,具体用于在确定经过第一检测节点和第二检测节点的第一类TE隧道的过程中,通过所述第二检测节点的地址信息查询所述映射表,得到与所述第二检测节点的地址信息匹配的标签信息,并将所述标签信息对应的TE隧道确定为经过所述第一检测节点和所述第二检测节点的第一类TE隧道。
在一个例子中,所述发送模块12,具体用于在为所述第一类TE隧道生成检测报文,并通过所述第一类TE隧道发送所述检测报文的过程中,获取所述第一类TE隧道对应的标签信息和出接口,生成包括所述第一类TE隧道对应的标签信息的检测报文,通过第一类TE隧道对应的出接口发送所述检测报文。
在一个例子中,所述发送模块12发送的所述检测报文还携带预设标记;
所述预设标记用于使配置有预设标记的第二检测节点根据所述检测报文携带的预设标记确定所述第二检测节点为所述检测报文的目标节点。
本公开实施例提供的第一检测节点,从硬件层面而言,其硬件架构示意图可以参见图7所示。包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本公开上述示例公开的TE隧道的故障检测操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
基于与上述方法同样的构思,本公开实施例还提出一种TE隧道的故障检测装置,在TE隧道的第一检测节点和第二检测节点之间建立邻居,该装置可以应用于第二检测节点,如图8所示,为该装置的结构图,该装置可以包括:
接收模块21,用于接收检测报文,所述检测报文是所述第一检测节点为经过所述第一检测节点和所述第二检测节点的第一类TE隧道生成、且通过第一类TE隧道发送的;生成模块22,用于当所述检测报文的目标节点为第二检测节点时,生成针对检测报文的响应报文,所述响应报文的目的地址为第一检测节点的地址信息;发送模块23,用于向第一检测节点发送所述响应报文,以使第一检测节点根据所述响应报文检测出所述第一类TE隧道是否发生故障。
在一个例子中,所述接收模块21接收的所述检测报文还携带预设标记;
所述TE隧道的故障检测装置还包括(在图中未体现):确定模块;其中:
所述确定模块,用于当所述检测报文携带的预设标记与所述第二检测节点本地配置的预设标记匹配时,则确定所述检测报文的目标节点为所述第二检测节点;或者,当所述检测报文携带的预设标记与所述第二检测节点本地配置的预设标记不匹配时,则确定所述检测报文的目标节点不是所述第二检测节点。
本公开实施例提供的第二检测节点,从硬件层面而言,其硬件架构示意图可以参见图9所示。包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本公开上述示例公开的TE隧道的故障检测操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员应明白,本公开的实施例可提供为方法、系统或计算机程序产品。因此,本公开可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本公开可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。
Claims (10)
1.一种TE隧道的故障检测方法,其特征在于,在TE隧道的第一检测节点和第二检测节点之间建立邻居,所述第一检测节点和所述第二检测节点的至少一个是所述TE隧道的中间节点,所述方法应用于第一检测节点,该方法包括:
确定经过所述第一检测节点和所述第二检测节点的第一类TE隧道;
为所述第一类TE隧道生成检测报文,并通过所述第一类TE隧道发送所述检测报文,其中,所述检测报文的目标节点为所述第二检测节点;
若在预设时间内接收到所述第二检测节点返回的针对所述检测报文的响应报文,则确定所述第一类TE隧道未发生故障;
否则,确定所述第一类TE隧道发生故障;
其中,所述检测报文还携带预设标记,所述预设标记用于使配置有预设标记的第二检测节点根据所述检测报文携带的预设标记确定所述第二检测节点为所述检测报文的目标节点;
其中,在所述第一检测节点和所述第二检测节点上预先配置相同的预设标记,若所述检测报文携带的预设标记与所述第二检测节点本地配置的预设标记匹配,则所述检测报文的目标节点为所述第二检测节点。
2.根据权利要求1所述的方法,其特征在于,所述确定经过所述第一检测节点和所述第二检测节点的第一类TE隧道之前,所述方法还包括:
获取所述TE隧道经过的节点的地址信息,并在映射表中记录所述TE隧道的标签信息与所述节点的地址信息的对应关系;
所述确定经过所述第一检测节点和所述第二检测节点的第一类TE隧道的过程,具体包括:通过所述第二检测节点的地址信息查询所述映射表,得到与所述第二检测节点的地址信息匹配的标签信息,并将所述标签信息对应的TE隧道确定为经过所述第一检测节点和所述第二检测节点的第一类TE隧道。
3.根据权利要求1所述的方法,其特征在于,所述为所述第一类TE隧道生成检测报文,并通过所述第一类TE隧道发送所述检测报文的过程,包括:
获取所述第一类TE隧道对应的标签信息和出接口;
生成包括所述第一类TE隧道对应的标签信息的检测报文;
通过所述第一类TE隧道对应的出接口发送所述检测报文。
4.一种TE隧道的故障检测方法,其特征在于,在TE隧道的第一检测节点和第二检测节点之间建立邻居,所述第一检测节点和所述第二检测节点的至少一个是所述TE隧道的中间节点,所述方法应用于第二检测节点,该方法包括:
接收检测报文,所述检测报文是第一检测节点为经过所述第一检测节点和所述第二检测节点的第一类TE隧道生成、且通过所述第一类TE隧道发送的;
若所述检测报文的目标节点为所述第二检测节点,则生成针对所述检测报文的响应报文,所述响应报文的目的地址为所述第一检测节点的地址信息;
向所述第一检测节点发送所述响应报文,以使所述第一检测节点根据所述响应报文检测出所述第一类TE隧道是否发生故障;
其中,所述检测报文还携带预设标记,针对确定所述检测报文的目标节点是否为第二检测节点的过程,还包括:
若所述检测报文携带的预设标记与所述第二检测节点本地配置的预设标记匹配,则确定所述检测报文的目标节点为所述第二检测节点;
其中,在所述第一检测节点和所述第二检测节点上预先配置相同的预设标记。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述检测报文携带的预设标记与所述第二检测节点本地配置的预设标记不匹配,则确定所述检测报文的目标节点不是所述第二检测节点。
6.一种TE隧道的故障检测装置,其特征在于,在TE隧道的第一检测节点和第二检测节点之间建立邻居,所述第一检测节点和所述第二检测节点的至少一个是所述TE隧道的中间节点,所述装置应用于第一检测节点,该装置包括:
确定模块,用于确定经过第一检测节点和第二检测节点的第一类TE隧道;
发送模块,用于为所述第一类TE隧道生成检测报文,并通过所述第一类TE隧道发送所述检测报文,所述检测报文的目标节点为所述第二检测节点;
检测模块,用于当在预设时间内接收到针对所述检测报文的响应报文时,则确定所述第一类TE隧道未发生故障;当在预设时间内未接收到针对所述检测报文的响应报文时,则确定所述第一类TE隧道发生故障;
其中,所述发送模块发送的所述检测报文还携带预设标记;
所述预设标记用于使配置有预设标记的第二检测节点根据所述检测报文携带的预设标记确定所述第二检测节点为所述检测报文的目标节点;
其中,在所述第一检测节点和所述第二检测节点上预先配置相同的预设标记,若所述检测报文携带的预设标记与所述第二检测节点本地配置的预设标记匹配,则所述检测报文的目标节点为所述第二检测节点。
7.根据权利要求6所述的装置,其特征在于,还包括:
记录模块,用于获取所述TE隧道经过的节点的地址信息,并在映射表中记录所述TE隧道的标签信息与所述节点的地址信息的对应关系;
所述确定模块,具体用于在确定经过第一检测节点和第二检测节点的第一类TE隧道的过程中,通过所述第二检测节点的地址信息查询所述映射表,得到与所述第二检测节点的地址信息匹配的标签信息,并将所述标签信息对应的TE隧道确定为经过所述第一检测节点和所述第二检测节点的第一类TE隧道。
8.根据权利要求6所述的装置,其特征在于,
所述发送模块,具体用于在为所述第一类TE隧道生成检测报文,并通过所述第一类TE隧道发送所述检测报文的过程中,获取所述第一类TE隧道对应的标签信息和出接口,并生成包括所述第一类TE隧道对应的标签信息的检测报文,并通过所述第一类TE隧道对应的出接口发送所述检测报文。
9.一种TE隧道的故障检测装置,其特征在于,在TE隧道的第一检测节点和第二检测节点之间建立邻居,所述第一检测节点和所述第二检测节点的至少一个是所述TE隧道的中间节点,该装置应用于第二检测节点,该装置包括:
接收模块,用于接收检测报文,所述检测报文是第一检测节点为经过第一检测节点和第二检测节点的第一类TE隧道生成、通过第一类TE隧道发送的;
生成模块,用于当所述检测报文的目标节点为第二检测节点时,生成针对检测报文的响应报文,所述响应报文的目的地址为第一检测节点的地址信息;
发送模块,用于向所述第一检测节点发送所述响应报文,以使所述第一检测节点根据所述响应报文检测出所述第一类TE隧道是否发生故障;
其中,所述接收模块接收的所述检测报文还携带预设标记,所述装置还包括:确定模块;所述确定模块,用于当所述检测报文携带的预设标记与所述第二检测节点本地配置的预设标记匹配时,则确定所述检测报文的目标节点为所述第二检测节点;
其中,在所述第一检测节点和所述第二检测节点上预先配置相同的预设标记。
10.根据权利要求9所述的装置,其特征在于,所述确定模块,还用于当所述检测报文携带的预设标记与所述第二检测节点本地配置的预设标记不匹配时,则确定所述检测报文的目标节点不是所述第二检测节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710352684.5A CN107547241B (zh) | 2017-05-18 | 2017-05-18 | 一种te隧道的故障检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710352684.5A CN107547241B (zh) | 2017-05-18 | 2017-05-18 | 一种te隧道的故障检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547241A CN107547241A (zh) | 2018-01-05 |
CN107547241B true CN107547241B (zh) | 2021-07-23 |
Family
ID=60966918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710352684.5A Active CN107547241B (zh) | 2017-05-18 | 2017-05-18 | 一种te隧道的故障检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547241B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471821A (zh) * | 2007-12-29 | 2009-07-01 | 华为技术有限公司 | 运营商骨干网传输网络的故障检测方法和装置 |
CN102487306A (zh) * | 2010-12-06 | 2012-06-06 | 南京邮电大学 | 一种无线mesh网络编码方法 |
CN104219068A (zh) * | 2013-05-29 | 2014-12-17 | 北京华为数字技术有限公司 | 隧道故障通知的方法和网络设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499934A (zh) * | 2008-01-29 | 2009-08-05 | 华为技术有限公司 | 在对等网络中诊断节点是否异常的方法、装置及系统 |
CN101267360B (zh) * | 2008-04-10 | 2010-08-18 | 华为技术有限公司 | 伪线故障检测方法和用户边缘设备 |
CN103166848B (zh) * | 2013-03-07 | 2016-12-28 | 杭州华三通信技术有限公司 | 选择多协议标签交换流量工程旁路隧道的方法及节点 |
CN104468208A (zh) * | 2014-11-28 | 2015-03-25 | 杭州华三通信技术有限公司 | 通信故障的检测恢复方法及装置 |
-
2017
- 2017-05-18 CN CN201710352684.5A patent/CN107547241B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471821A (zh) * | 2007-12-29 | 2009-07-01 | 华为技术有限公司 | 运营商骨干网传输网络的故障检测方法和装置 |
CN102487306A (zh) * | 2010-12-06 | 2012-06-06 | 南京邮电大学 | 一种无线mesh网络编码方法 |
CN104219068A (zh) * | 2013-05-29 | 2014-12-17 | 北京华为数字技术有限公司 | 隧道故障通知的方法和网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107547241A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018054397A1 (zh) | 业务功能链检测路径的方法和装置 | |
US11177976B2 (en) | Method and device for automatically implementing IOAM encapsulation and storage medium | |
CN108259299B (zh) | 一种转发表项生成方法、装置及机器可读存储介质 | |
CN108259347B (zh) | 一种报文传输方法和装置 | |
CN108718278B (zh) | 一种报文传输方法和装置 | |
CN109495320B (zh) | 一种数据报文的传输方法和装置 | |
CN111431800B (zh) | 一种建立路径的方法、装置、设备及机器可读存储介质 | |
CN106878194B (zh) | 一种报文处理方法和装置 | |
CN106878184B (zh) | 一种数据报文传输方法和装置 | |
JP6633775B2 (ja) | パケット伝送 | |
US11463345B2 (en) | Monitoring BGP routes of a device in a network | |
CN109379241B (zh) | 一种路径信息确定方法及装置 | |
CN109167700B (zh) | 段路由sr隧道的检测方法和装置 | |
CN113328916B (zh) | Bfd检测模式的切换方法、装置及设备 | |
JP2017121056A (ja) | パケット紛失検出を実装するための方法、装置、およびシステム | |
CN109873766B (zh) | 报文传输方法和装置 | |
US20220255831A1 (en) | Method and apparatus for detecting link status | |
CN107547400B (zh) | 一种虚拟机迁移方法和装置 | |
CN110708275B (zh) | 一种协议报文的处理方法和装置 | |
CN108390811B (zh) | 一种gre隧道建立方法及其设备 | |
CN104468855A (zh) | 地址解析协议arp报文的处理方法和装置 | |
CN113726652B (zh) | 一种通告信息的处理方法、装置及存储介质 | |
CN107547241B (zh) | 一种te隧道的故障检测方法和装置 | |
KR101952187B1 (ko) | 서비스 노드 능력 처리 방법, 장치, 서비스 분류기 및 서비스 제어기 | |
CN111147385A (zh) | 一种软件定义数据中心网络数据平面转发方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |