发明内容
本发明提供了一种MPLS TE隧道故障检测方法及其设备,以提高MPLSOMA的配置效率。
为了达到上述目的,本发明提供一种MPLS TE隧道故障检测方法,包括:
入节点Ingress向出节点Egress发送第一资源预留协议RSVP报文,以使所述Egress获取所述第一RSVP报文中携带的前向隧道的标签交换路由设备标识lsr-id、前向隧道的隧道标识tunnel-id以及检测报文的类型信息,并根据所述第一RSVP报文中携带的信息确定所述前向隧道对应的反向隧道;
所述Ingress接收所述Egress响应的第二RSVP报文,并获取所述第二RSVP报文中携带的所述反向隧道的lsr-id、反向隧道的tunnel-id、反向隧道资源共享类型信息、以及所述前向隧道的lsr-id和tunnel-id;
当需要进行MPLS OAM检测时,所述Ingress通过所述前向隧道向所述Egress发送操作、管理和维护OAM检测报文,并当接收到所述Egress通过所述反向隧道返回反向缺陷通告BDI报文时,确定所述前向隧道故障。
优选地,当所述检测报文的类型为快速缺陷检测FFD报文时,所述第一RSVP报文中还携带检测报文发送频率;
所述Egress通过所述反向隧道返回反向缺陷通告BDI报文,具体为:
当所述Egress未在预设时间内接收到所述FFD报文时,确定所述前向隧道故障,分析该前向隧道的缺陷类型,并向所述Ingress返回携带缺陷类型信息的BDI报文;或,
当所述Egress在预设时间内接收到所述FFD报文,且确定所述Ingress发送所述FFD报文的频率与所述检测报文发送频率不一致时,确定所述前向隧道故障,分析该前向隧道的缺陷类型,并向所述Ingress返回携带缺陷类型信息的BDI报文。
优选地,所述第一RSVP报文中还携带有前向隧道的名称标识;
所述Egress向所述Ingress返回第二RSVP报文,具体为:
当所述Egress接收到所述第一RSVP报文,且根据本地策略和所述第一RSVP报文中携带的前向隧道的名称标识确定需要对所述前向隧道进行OAM检测时,向所述Ingress返回第二RSVP报文。
优选地,所述第二RSVP报文中还携带有反向隧道的名称标识;
所述Ingress通过所述前向隧道向所述Egress发送OAM检测报文,具体为:
当所述Ingress接收到第二RSVP报文,且根据本地策略和所述第二RSVP报文中携带的反向隧道的名称标识确定允许接收通过所述反向隧道返回的 BDI报文时,所述Ingress通过所述前向隧道向所述Egress发送OAM检测报文。
优选地,所述第一RSVP报文为扩展的Path报文,所述第二RSVP报文为扩展的Resv报文。
本发明实施例还提供一种标签交换路由设备LSR,可应用为多协议标签交换MPLS网络的入节点Ingress,该LSR包括:
发送模块,用于向出节点Egress发送第一RSVP报文,以使所述Egress获取所述第一RSVP报文中携带的前向隧道的标签交换路由设备标识lsr-id、前向隧道的隧道标识tunnel-id以及检测报文的类型信息,并根据所述第一RSVP报文中携带的信息确定所述前向隧道对应的反向隧道;
接收模块,用于接收所述Egress响应的第二RSVP报文;
获取模块,用于获取所述接收模块接收到的第二RSVP报文中携带的反向隧道lsr-id、反向隧道的tunnel-id、反向隧道资源共享类型信息、以及所述前向隧道的lsr-id和tunnel-id;
检测模块,用于当需要进行MPLS操作、管理和维护OAM检测时,通过所述前向隧道向所述Egress发送OAM检测报文,并当接收到所述Egress通过所述反向隧道返回的反向缺陷通告BDI报文时,确定所述前向隧道故障。
优选地,当所述第二RSVP报文中还携带有反向隧道的名称标识时,该LSR还包括:
判断模块,用于根据本地策略和所述第二RSVP报文中携带的反向隧道的名称标识判断是否允许接收通过所述反向隧道返回的BDI报文;
所述检测模块具体用于,当所述判断模块确定允许接收通过所述反向隧道返回的BDI报文时,通过所述前向隧道向所述Egress发送OAM检测报文。
优选地,所述第一RSVP报文为扩展的Path报文,所述第二RSVP报文为扩展的Resv报文。
本发明实施例还提供一种标签交换路由设备LSR,可应用为多协议标签交 换MPLS网络的出节点Egress,该LSR包括:
接收模块,用于接收Ingress发送的第一RSVP报文;
获取模块,用于获取所述第一RSVP报文中携带的前向隧道的标签交换路由设备标识lsr-id、前向隧道的隧道标识tunnel-id以及检测报文的类型信息;
确定模块,用于根据所述第一RSVP报文中携带的信息确定所述前向隧道对应的反向隧道;
发送模块,用于通过所述反向隧道向所述Ingress响应第二RSVP报文,以使所述Ingress获取所述第二RSVP报文中携带的所述反向隧道的lsr-id、反向隧道的tunnel-id、反向隧道资源共享类型信息、以及所述前向隧道的lsr-id和tunnel-id;
检测模块,用于接收所述Ingress通过所述前向隧道发送的OAM检测报文,并当确定所述前向隧道故障时,通过所述反向隧道返回反向缺陷通告BDI报文。
优选地,当所述检测报文的类型为快速缺陷检测FFD报文时,所述第一RSVP报文中还携带检测报文发送频率;该LSR还包括:
第一判断模块,用于判断所述检测模块是否在预设时间内接收到FFD报文,并当所述检测模块在预设时间内接收到FFD报文时,判断所述FFD报文的频率与所述检测报文发送频率是否一致;
所述检测模块具体用于,当未在预设时间内接收到所述FFD报文时,确定所述前向隧道故障,分析该前向隧道的缺陷类型,并向对应的Ingress返回携带缺陷类型信息的BDI报文;或,
当在预设时间内接收到所述FFD报文,且所述FFD报文的发送频率与所述检测报文发送频率不一致时,确定所述前向隧道故障,分析该前向隧道的缺陷类型,并向所述Ingress返回携带缺陷类型信息的BDI报文。
优选地,当所述第一RSVP报文中还携带有前向隧道的名称标识时,该LSR还包括:
第二判断模块,用于根据本地策略和所述第一RSVP报文中携带的前向隧道的名称标识判断是否需要对所述前向隧道进行OAM检测;
所述发送模块具体用于,当所述第二判断模块确定需要对所述前向隧道进行OAM检测时,向所述Ingress响应第二RSVP报文。
优选地,所述第一RSVP报文为扩展的Path报文,所述第二RSVP报文为扩展的Resv报文。
本发明的有益技术效果包括:
通过对RSVP(Resource Reservation Protocol,资源预留协议)协议进行扩展,利用扩展后的RSVP协议动态实现TE隧道的OAM检测,即通过扩展后的RSVP协议中报文的交互,动态实现OAM检测信息的收集,并根据所收集的信息对TE隧道进行OAM检测,动态实现了MPLS网络中TE隧道的OAM检测,提高了MPLS OAM的配置效率,进而提高了MPLS TE隧道故障检测的效率。
具体实施方式
针对上述现有技术中存在的问题,本发明实施例提供了一种MPLS TE隧道故障检测的技术方案。在该技术方案中,通过对RSVP协议进行扩展,利用 扩展后的RSVP协议动态实现TE隧道的OAM检测,即通过扩展后的RSVP协议中报文的交互,动态实现OAM检测信息的收集,并根据所收集的信息对TE隧道进行OAM检测,动态实现了MPLS网络中TE隧道的OAM检测,提高了MPLS OAM的配置效率,进而提高了MPLS TE隧道故障检测的效率。
其中,为了便于描述,在本发明实施例中,若未明确说明,所描述的隧道均为TE隧道(即MPLS TE隧道)。
下面将结合本发明的实施例中的附图,对本发明的实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明的实施例保护的范围。
如图2所示,为本发明实施例提供的一种MPLS TE隧道故障检测方法的流程示意图,可以包括以下步骤:
步骤201、Ingress向Egress发送第一RSVP报文。其中,该报文中至少携带有前向隧道的lsr-id(Label Switching Router-Identity,标签交换路由设备标识)、前向隧道的tunnel-id(隧道标识)以及检测报文的类型信息。
具体的,由于现有技术中TE隧道的OAM检测流程中,需要手动配置OAM检测信息,效率较低。因此,为了提高TE隧道OAM检测的效率,在本发明实施例中,对RSVP协议进行扩展,利用RSVP协议中的报文交互实现OAM检测信息的动态收集,以提高OAM检测信息收集的效率,进而提高OAM检测的效率。
在本发明实施例中,可以通过对待检测TE隧道的Ingress进行隧道口下的OAM使能(或全局OAM使能),以使该待检测TE隧道的Ingress能自动收集该待检测TE隧道的OAM检测信息,如前向隧道的lsr-id(即Ingress的标识)、前向隧道的tunnel-id(即待检测隧道对应的Ingress隧道的端口标识)以及检测报文的类型信息(FFD/CV),并通过第一RSVP报文发送给待检测TE隧道的 Egress,以实现OAM检测所需要的相关信息的动态收集。其中,该待检测TE隧道可以是已经建立的TE隧道,也可以是正在建立的TE隧道。
对于正在建立的TE隧道,由于TE隧道的建立主要是通过Path报文和Resv报文的交互实现,因此,在本发明实施例中,可以通过对Path报文和Resv报文进行扩展,在Path报文和Resv报文中新增相应字段,用于携带OAM检测所需要的相关信息。即本发明实施例中,第一RSVP报文可以为扩展的Path报文。
步骤202、Egress接收Ingress发送的第一RSVP报文,并获取其中携带的前向隧道的lsr-id、前向隧道的tunnel-id以及检测报文的类型信息,并根据获取到的信息确定该前向隧道对应的反向隧道。
具体的,Egress接收到Ingress发送的第一RSVP报文,并获取到其中携带的OAM检测所需要的相关信息后,可以根据获取到的信息确定待检测的TE隧道,进而确定该待检测TE隧道的反向隧道。
其中,Egress可以根据用户预先配置的策略确定待检测TE隧道的反向隧道,如用户可以预先配置前向隧道和反向隧道的对应关系,当Egress接收到第一RSVP报文,并确定待检测隧道后,根据所配置的前向隧道和反向隧道的对应关系,确定该待检测隧道对应的反向隧道;Egress还可以根据获取到的OAM检测信息自动发现对应的反向隧道,如Egress接收到第一RSVP报文后,根据其中携带的前向隧道的lsr-id查询目的节点为该lsr-id对应的节点的TE隧道,并将查询到的TE隧道作为该前向隧道的反向隧道,其中,当查询到多条目的节点为该lsr-id对应的节点的TE隧道时,可以按照一定的规则自动选择一条作为该前向隧道的反向隧道(如选择负载最低的)。
需要注意的是,在本发明实施例中,Egress接收到Ingress发送的第一RSVP报文后,还可以根据本地配置的策略确定是否需要对相应的前向隧道进行OAM检测,并当判断结果为是时,向Ingress返回第二RSVP报文;否则,可以不对接收到的第一RSVP报文进行响应。其中,为了使管理人员更直观地获 知Egress接收到的第一RSVP报文是通过哪条隧道发送的,第一RSVP报文中还需要携带有前向隧道的名称标识,相应地,管理人员在配置本地策略时,通常以隧道的名称标识来标注对应的隧道,并对应隧道的名称标识来配置相关的策略。
步骤203、Egress向Ingress响应第二RSVP报文。其中,该第二RSVP报文至少携带反向隧道的lsr-id、反向隧道的tunnel-id、反向隧道资源共享类型信息、以及前向隧道的lsr-id和tunnel-id。
具体的,在本发明实施例中,可以通过对待检测TE隧道的Egress进行隧道口下的OAM使能(或全局OAM使能),以使Egress确定待检测TE隧道的反向隧道后,可以获取与反向隧道对应的OAM检测所要需要的相关信息,如反向隧道的lsr-id、反向隧道的tunnel-id、反向隧道资源共享类型信息、以及前向隧道(该反向隧道所对应的前向隧道,在本实施例中即为待检测TE隧道)的lsr-id和tunnel-id,并将该OAM检测所需要的相关信息携带在第二RSVP报文中响应给Ingress。其中,该第二RSVP报文可以为扩展的Resv报文。
步骤204、Ingress接收Egress响应的第二RSVP报文,并获取其中携带的反向隧道的lsr-id、反向隧道的tunnel-id、反向隧道资源共享类型信息、以及前向隧道的lsr-id和tunnel-id。
具体的,Ingress接收到Egress响应的第二RSVP报文后,可以根据该报文中携带的前向隧道的lsr-id和tunnel-id确定该报文指定的反向隧道所对应的前向隧道,从而确定前向隧道和反向隧道的对应关系。
其中,与第一RSVP报文相类似的,第二RSVP报文中也可以携带反向隧道的名称标识,管理人员也可以对应反向隧道的名称标识,在Ingress中配置相应的本地策略,以使Egress根据本地策略和第二RSVP报文中携带的反向隧道的名称标识确定是否允许接收该反向隧道返回的BDI报文,并当判断为是时,将相应的前向隧道和反向隧道进行关联,并进行相应的OAM检测;当判断为否时,确定该反向隧道不符合要求。
步骤205、当需要进行MPLS OAM检测时,Ingress通过前向隧道向Egress发送OAM检测报文,并当接收到Egress通过对应的反向隧道返回的BDI报文时,确定该前向隧道故障。
具体的,Ingress确定了前向隧道和反向隧道的对应关系后,当需要对其中某一前向隧道进行MPLS OAM检测时,Ingress可以通过该前向隧道向Egress发送OAM检测报文。Egress可以根据接收检测报文的状况确定该前向隧道是否发生故障,并当检测到隧道故障发生时,分析出缺陷类型,并通过反向隧道将携带缺陷信息的BDI报文发送给Ingress,从而使入节点及时获知缺陷状态。该OAM检测的具体实现流程与现有OAM检测机制类似,在此不再赘述。
其中,OAM检测报文主要包括FFD报文和CV报文,且CV报文的发送频率是固定的,而FFD报文的发送频率是可变的,因此,当Ingress通过向Egress发送FFD报文进行OAM检测时,Egress需要预先获知FFD报文的发送频率。因此,当Ingress向Egress发送的第一RSVP报文中携带的检测报文的类型为FFD报文时,第一RSVP报文中还需要携带FFD报文的发送频率。在OAM检测流程中,Egress可以根据该检测报文发送频率确定是否在预设时间内接收到FFD报文,若未接收到,则确定相应的前向隧道故障,分析该前向隧道的缺陷类型,并向Ingress返回携带缺陷类型信息的BDI报文;若接收到,则进一步确定Ingress发送FFD的发送频率是否与上述检测报文发送频率相同,若不同,则确定相应的前向隧道故障,分析该前向隧道的缺陷类型,并向Ingress返回携带缺陷类型信息的BDI报文;若相同,则确定该前向隧道正常。
需要注意的是,在本发明实施例提供的技术方案中,第一RSVP报文和第二RSVP报文并不限定于为扩展的Path报文和Resv报文,该第一RSVP报文和第二RSVP报文还可以是RSVP协议扩展后新增的报文,该报文用于OAM检测所需要的相关信息的收集和交互。
下面结合具体的应用场景对本发明实施例提供的技术方案进行更加清楚和详细的说明。
在该实施例中,对RSVP报文进行扩展,在现有报文内容的基础上增加新的对象,用于填充携带MPLS OAM检测所需要的相关信息。由于MPLS OAM检测和保护主要用于TE隧道,因此,可以在TE隧道建立的同时实现MPLSOAM检测信息的收集。
TE隧道建立主要是通过Path报文和Resv报文交互实现的,因此,可以通过对Path报文和Resv报文进行扩展,在其报文结构中增加新的对象以携带MPLS OAM检测所需要的相关信息。通过Path报文和Resv报文在MPLS网络的上下游之间的进行传递,Ingress可以通过扩展的Resv报文收集到下游Egress的反向隧道的lsr-id、反向隧道的tunnel-id、反向隧道名称标识以及隧道资源共享类型等信息;Egress可以通过扩展的Path报文收集到上游Ingress的前向隧道的lsr-id,前向隧道的tunnel-id、前向隧道的名称标识、检测报文的类型以及检测报文的发送频率等信息。通过扩展的Path报文和Resv报文的交互,Ingress和Egress均能动态收集到OAM检测所需要的相关信息,并自动进行相应的关联。
其中,在该实施例中,对Path报文的扩展主要是在现有Path报文结构的基础上,在现有Path报文的对象内容后新增一些对象,具体内容为:<前向隧道的lsr-id>、<前向隧道的tunnel-id>、<前向隧道的名称标识>、<检测报文的类型>、<检测报文发送频率>;同样,对Resv报文的扩展主要是在现有Resv报文结构的基础上,在现有Resv报文的对象内容后新增一些对象,具体内容为:<反向隧道lsr-id>、<反向隧道的tunnel-id>、<反向隧道的名称标识>、<隧道资源共享类型>、<前向隧道lsr-id>、<前向隧道tunnel-id>。
通过上述处理,在TE隧道的建立过程中,完成了MPLS OAM检测所需要的相关信息的收集,而不再需要通过手工静态配置的方式实现相关信息的收集,提高了MPLS OAM的配置效率。
以图3所示的应用场景为例,在该实施例中,分别在Ingress和Egress隧道口下使能MPLS OAM,激活RSVP扩展协议,使Ingress和Egress在建立 TE隧道的同时收集OAM检测所需要的相关信息。
在完成信息收集后,在Ingress和Egress全局使能MPLS OAM,Ingress和Egress之间通过MPLS协议,周期性地发送OAM检测报文。当主隧道出现异常down掉时,Egress通过反向TE隧道向Ingress发送BDI报文,从而使Ingress及时获知缺陷状态,同时在Ingress上进行保护倒换(从主隧道切换到备份隧道)。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过对RSVP协议进行扩展,利用扩展后的RSVP协议动态实现TE隧道的OAM检测,即通过扩展后的RSVP协议中报文的交互,动态实现OAM检测信息的收集,并根据所收集的信息对TE隧道进行OAM检测,动态实现了MPLS网络中TE隧道的OAM检测,提高了MPLS OAM的配置效率,进而提高了MPLS TE隧道故障检测的效率。
基于上述方法流程相同的技术构思,本发明实施例还提供了一种LSR,可以应用于上述方法流程中作为Ingress。
如图4所示,为本发明实施例提供的一种LSR的结构示意图,该LSR可应用为MPLS网络的Ingress,该LSR可以包括:
发送模块41,用于向Egress发送第一RSVP报文,以使所述Egress获取所述第一RSVP报文中携带的前向隧道的lsr-id、tunnel-id以及检测报文的类型信息,并根据所述第一RSVP报文中携带的信息确定所述前向隧道对应的反向隧道;
接收模块42,用于接收所述Egress响应的第二RSVP报文;
获取模块43,用于获取所述接收模块42接收到的第二RSVP报文中携带的反向隧道lsr-id、反向隧道的tunnel-id、反向隧道资源共享类型信息、以及所述前向隧道的lsr-id和tunnel-id;
检测模块44,用于当需要进行MPLS OAM检测时,通过所述前向隧道向所述Egress发送OAM检测报文,并当接收到所述Egress通过所述反向隧道返 回的BDI报文时,确定所述前向隧道故障。
其中,本发明实施例提供的LSR还可以包括判断模块45。
当所述第二RSVP报文中还携带有反向隧道的名称标识时,所述判断模块45可以用于,根据本地策略和所述第二RSVP报文中携带的反向隧道的名称标识判断是否允许接收通过所述反向隧道返回的BDI报文;
所述检测模块44可以具体用于,当所述判断模块45确定允许接收通过所述反向隧道返回的BDI报文时,通过所述前向隧道向所述Egress发送OAM检测报文。
其中,所述第一RSVP报文为扩展的Path报文,所述第二RSVP报文为扩展的Resv报文。
基于上述方法流程相同的技术构思,本发明实施例还提供了一种LSR,可以应用于上述方法流程中作为Egress。
如图5所示,为本发明实施例提供的一种LSR的结构示意图,该LSR可应用为MPLS网络的Egress,该LSR可以包括:
接收模块51,用于接收Ingress发送的第一RSVP报文;
获取模块52,用于获取所述第一RSVP报文中携带的前向隧道的标签交换路由设备标识lsr-id、前向隧道的隧道标识tunnel-id以及检测报文的类型信息;
确定模块53,用于根据所述第一RSVP报文中携带的信息确定所述前向隧道对应的反向隧道;
发送模块54,用于通过所述反向隧道向所述Ingress响应第二RSVP报文,以使所述Ingress获取所述第二RSVP报文中携带的所述反向隧道的lsr-id、反向隧道的tunnel-id、反向隧道资源共享类型信息、以及所述前向隧道的lsr-id和tunnel-id;
检测模块55,用于接收所述Ingress通过所述前向隧道发送的OAM检测报文,并当确定所述前向隧道故障时,通过所述反向隧道返回反向缺陷通告BDI报文。
其中,本发明实施例提供的LSR还可以包括判断模块56。
当所述检测报文的类型为快速缺陷检测FFD报文时,所述第一RSVP报文中还携带检测报文发送频率;
相应地,所述判断模块46可以用于判断所述检测模块55是否在预设时间内接收到FFD报文,并当所述检测模块55在预设时间内接收到FFD报文时,判断所述FFD报文的频率与所述检测报文发送频率是否一致;
所述检测模块55可以具体用于,当未在预设时间内接收到所述FFD报文时,确定所述前向隧道故障,分析该前向隧道的缺陷类型,并向所述Ingress返回携带缺陷类型信息的BDI报文;或,
当在预设时间内接收到所述FFD报文,且所述FFD报文的发送频率与所述检测报文发送频率不一致时,确定所述前向隧道故障,分析该前向隧道的缺陷类型,并向所述Ingress返回携带缺陷类型信息的BDI报文。
其中,当所述第一RSVP报文中还携带有前向隧道的名称标识时,所述判断模块56可以用于,根据本地策略和所述第一RSVP报文中携带的前向隧道的名称标识判断是否需要对所述前向隧道进行OAM检测;
所述发送模块54可以具体用于,当所述判断模块56确定需要对所述前向隧道进行OAM检测时,向所述Ingress响应第二RSVP报文。
其中,所述第一RSVP报文可以为扩展的Path报文,所述第二RSVP报文可以为扩展的Resv报文。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以 是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。