发明内容
有鉴于此,本发明提供一种双向转发检测方法和路由转发设备,能够节省网络带宽和CPU资源。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种双向转发检测BFD方法,应用于多协议交换标签MPLS网络中,所述MPLS网络中包含两个以上服务商边缘路由器PE设备,各PE设备间建立标签交换路径LSP,所述MPLS网络中任一PE设备与对端PE设备进行发送报文时间间隔和接收报文超时时间协商,同时向对端PE设备发送BFD标签以及接收对端发送的BFD标签以进行BFD标签探测功能协商时,当确认对端PE支持BFD标签探测功能时,将所述接收的对端PE设备发送的BFD标签与对端PE设备建立的LSP的LSPID绑定,所述方法包括:
所述发送报文时间间隔到时,本地PE设备确定自身与对端PE设备建立的LSP的转发队列中是否有数据报文发送对端PE设备,如果是,选择所述数据报文中的最先发送的报文封装所述与对端PE设备建立的LSP的LSPID绑定的BFD标签,并发送给对端;否则,发送BFD快速检测报文给对端PE设备;
在所述接收报文超时时间内,所述对端PE设备接收到所述本地PE设备发送的携带BFD标签的数据报文,且所述携带的BFD标签的值与自身发送给本地PE设备的BFD标签的值相同,或接收到所述本地PE设备发送的BFD检测报文时,确定与本地PE设备建立的LSP正常;否则,确定与本地PE设备建立的LSP故障。
一种路由转发设备,可应用于为多协议交换标签MPLS网络中任一PE设备,所述MPLS网络包括多个PE设备,各PE设备间建立标签交换路径LSP,所述路由转发设备包括:协商单元、判断单元、处理单元和发送单元;当所述路由转发设备应用为所述任一PE设备时;
所述协商单元,用于自身所在PE设备与对端PE设备进行发送报文时间间隔和接收报文超时时间协商,同时向对端PE设备发送BFD标签以及接收对端发送的BFD标签以进行BFD标签探测功能协商时,当确认对端PE支持BFD标签探测功能时,将所述接收的对端PE设备发送的BFD标签与对端PE设备建立的LSP的LSPID绑定;
所述判断单元,用于当所述协商单元协商的发送报文时间间隔到时,确定自身所在PE设备与对端PE设备建立的LSP的转发队列中是否有数据报文发送对端PE设备;
所述处理单元,用于当所述确定单元确定自身所在PE设备与对端PE设备建立的LSP的转发队列中有数据报文发送对端PE设备时,选择所述数据报文中的最先发送的报文封装与对端PE设备建立的LSP的LSPID绑定的BFD标签;
所述发送单元,用于将所述处理单元中封装BFD标签的数据报文发送给对端PE设备;当所述确定单元确定自身所在PE设备与对端PE设备建立的LSP的转发队列中未有数据报文发送对端PE设备时,发送BFD快速检测报文发送给对端PE设备。
一种路由转发设备,可应用于为多协议交换标签MPLS网络中任一PE设备,所述MPLS网络包括多个PE设备,各PE设备间建立标签交换路径LSP,所述路由转发设备包括:协商单元、接收单元和确定单元;当所述路由转发设备应用为所述任一PE设备时;
所述协商单元,用于自身所在PE设备与对端PE设备进行发送报文时间间隔和接收报文超时时间协商,同时向对端PE设备发送BFD标签以及接收对端发送的BFD标签以进行BFD标签探测功能协商,其中向对端PE设备发送的BFD标签表示本设备支持BFD标签探测功能;
所述接收单元,用于接收对端PE设备发送的携带BFD标签的数据报文;接收到对端PE设备发送的BFD检测报文;
所述确定单元,用于在所述协商单元协商的接收报文超时时间内,当所述接收单元接收到对端PE设备发送的携带BFD标签的数据报文,且所述携带的BFD标签的值与自身所在PE设备发送给对端PE设备的BFD标签的值相同,或接收到对端PE设备发送的BFD检测报文时,确定与对端PE设备建立的LSP正常;否则,确定与对端PE设备建立的LSP故障。
综上所述,本发明通过本地PE设备与对端PE设备协商BFD标签探测功能,当确认对端PE支持BFD标签探测功能时,在协商的发送报文时间间隔到时,若本地的LSP的转发队列中有数据报文转发对端PE设备,则在其中最先发送的数据报文中封装协商的BFD标签转发给对端PE设备;否则,发送BFD快速检测报文给对端PE设备,能够节省网络带宽和CPU资源。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例一中提出一种双向转发检测方法,应用于MPLS网络中,该MPLS网络中包含两个以上PE设备,各PE设备间建立LSP,所述MPLS网络中任一PE设备与对端PE设备进行发送报文时间间隔和接收报文超时时间协商,同时向对端PE设备发送BFD标签以及接收对端发送的BFD标签以进行BFD标签探测功能协商时,当确认对端PE设备支持BFD标签探测功能时,将所述接收的对端PE设备发送的BFD标签与对端PE设备建立的LSP的LSPID绑定。
在具体实现时,当接收对端PE发送的BFD标签的值在MPLS标签的正常范围内时,确定对端PE设备支持BFD标签探测功能,此时,记录对端PE设备发送的BFD标签;否则,确定对端PE不支持BFD标签,并且对对端PE设备发送的BFD标签不做记录。其中,MPLS标签的正常标签范围为16到1,048,575,0到15为协议保留值,以及其他值定义为MPLS标签的非正常标签范围内的值。
由上可知,本发明在具体协商时,存在如下两种情况,第一种为本地PE设备支持BFD标签探测功能,对端PE设备也支持BFD标签探测功能;另一种为本地PE设备支持BFD标签探测功能,对端PE设备不支持BFD标签探测功能。
参见图2,图2为本发明实施例中对端PE设备支持BFD标签探测功能时发送BFD快速检测报文流程示意图。具体步骤为:
步骤201,本地PE设备确定与对端PE设备协商的发送报文时间间隔到时。
步骤202,本地PE设备确定自身与对端PE设备建立的LSP的转发队列中是否有数据报文发送对端PE设备,如果是,执行步骤203;否则,执行步骤204。
步骤201与步骤202之间进一步包括:
确定BFD的状态是否标识为可用状态,如果是,执行本步骤;否则,将BFD快速检测报文发送给对端PE设备。
在具体实现时,本地PE设备和对端PE设备进行BFD会话建立,当BFD会话UP时,BFD的状态标识为可用状态,BFD会话处于其他状态时,BFD的状态标识为不可用状态。
步骤203,本地PE设备选择所述数据报文中的最先发送的报文封装所述与对端PE设备建立的LSP的LSPID绑定的BFD标签,并发送给对端,本流程结束。
本步骤中在LSP的转发队列里如果存在多条报文发送对端PE设备,选择最先发送的报文封装与所述LSPID绑定的BFD标签,再将选择的数据报文封装LSP标签,即在现有实现时发送对端PE设备的数据报文的基础上再封装一层BFD标签。
步骤204,本地PE设备发送BFD快速检测报文给对端PE设备。
下面描述对端PE设备对接收的本地PE设备发送的报文如何进行处理:
在所述接收报文超时时间内,所述对端PE设备接收到所述本地PE设备发送的携带BFD标签的数据报文,且所述携带的BFD标签的值与自身发送给本地PE设备的BFD标签的值相同,或接收到所述本地PE设备发送的BFD检测报文时,确定与本地PE设备建立的LSP正常;否则,确定与本地PE设备建立的LSP故障。
当对端PE设备接收到本地PE设备发送的携带BFD标签的报文时,弹掉该数据报文携带的BFD标签,当该BFD标签的值与自身发送给本地PE设备的BFD标签的值相同时,确定自身与所述本地PE设备建立的LSP正常;同时,将弹掉标签的数据报文根据报文内容进行转发。对端PE设备接收到本地PE设备发送的BFD快速检测报文时,处理方式同现有实现处理方式,这里不再详细赘述。
当协商结果为第二种情况时,即确认对端PE设备不支持BFD标签探测功能,在所述发送报文时间间隔到时,所述本地PE设备将BFD快速检测报文发送给对端PE设备;
对端PE设备在所述接收报文超时时间内,接收到所述本地PE设备发送的BFD快速检测报文,则确定与本地PE设备建立的LSP正常;否则,确定与本地PE设备建立的LSP故障。由此可见当对端PE设备不支持BFD标签探测功能时,本地PE发送BFD快速检测报文和对端PE设备处理接收到的BFD快速检测报文同现有实现,这里不再详细赘述。
上述实施例中在进行BFD标签探测功能协商时,可通过两种方式协商:
第一种,通过LSPping报文协商。将本地PE设备发送给对端PE设备的BFD标签携带在发送给对端PE设备的LSPping请求报文中;接收到对端PE设备发送的BFD标签携带在对端PE设备发送的LSPping应答报文中。
第二种,在BFD会话建立过程中协商。在BFD建立会话过程中,本地PE设备发送给对端PE设备的BFD标签携带在发送给对端PE设备的BFD报文中;接收对端PE设备发送的BFD标签携带在对端PE设备发送的BFD报文中。
在具体实现时,上述两种协商方法都可以通过在报文中携带协商标识来实现协商。参见图3,图3为本发明具体实施例中协商标识的TLV结构示意图。图3中,Type,表示该协商标识的作用,用于协商是否通过携带的BFD标签封装报文;Length,表示数据字段长度,即路径类型和路径值的总长;标签值,为该次协商的BFD标签的值。
下面结合附图,以本发明实施例中第一种协商结果为例来详细说明具体实施例中如何实现双向转发检测的。
如图1中,PE设备101与PE设备103建立LSP,该LSP的ID为1,通过LSPping同PE设备103进行协商,协商发送报文时间间隔和接收报文超时时间;在PE设备101发送给PE设备103的LSPping请求报文中携带BFD标签,且携带的BFD标签的值为16;接收到PE设备103发送的携带值为18的BFD标签的LSPping应答报文,将该BFD标签的值18与该LSP的LSPID1绑定。
在协商的所述发送报文时间间隔到时,确定LSPID为1的LSP的转发队列中是否有发送PE设备103的数据报文,如果有,则选择其中最先发送的数据报文封装绑定的对应值为18的BFD标签,再封装ID为1的LSP对应的出标签,并将该封装后的数据报文发送给PE设备103;否则,将BFD快速检测报文所述LSP发送给PE设备103。
参见图4,图4为本发明具体实施例中发送携带BFD标签的报文的结构示意图。图4中ETH头、公网标签,即LSP标签、私网标签和报文内容同现有实现,其中,报文内容可以为数据报文的内容。图4中的BFD标签为本发明具体实施例中与LSPID绑定的BFD标签。
在协商的所述接收报文时间内,PE设备103接收到BFD快速检测报文则确定PE设备101与PE设备103建立的LSP正常;或者PE设备103接收到PE设备101发送的报文携带BFD标签时,确定携带的BFD标签的值是否为PE设备103发送给PE设备101的BFD标签的值18,如果是,则确定PE设备101与PE设备103建立的LSP正常,并将该BFD标签剥掉,则根据数据报文的私网标签处理该数据报文。在协商的所述接收报文时间到时,PE设备103未接收到PE设备101发送的携带BFD标签值为18的数据报文,或BFD快速检测报文,则确定与PE设备101建立的LSP路径故障。本发明具体实施例中所有判断的基础都是指本地PE设备与对端PE设备建立的同一条LSP为例。
基于同样的发明构思本申请提供了一种路由转发设备,可应用于为多协议交换标签MPLS网络中任一PE设备,所述MPLS网络包括多个PE设备,各PE设备间建立标签交换路径LSP。参见图5,图5为本发明具体实施例中应用于上述报文发送技术的路由转发设备的结构示意图。该路由转发设备包括:协商单元501、判断单元502、处理单元503和发送单元504,当该路由转发设备应用为所述任一PE设备时;
协商单元501,用于自身所在PE设备与对端PE设备进行发送报文时间间隔和接收报文超时时间协商,同时向对端PE设备发送BFD标签以及接收对端发送的BFD标签以进行BFD标签探测功能协商时,当确认对端PE支持BFD标签探测功能时,将所述接收的对端PE设备发送的BFD标签与对端PE设备建立的LSP的LSPID绑定。
判断单元502,用于当协商单元501协商的发送报文时间间隔到时,确定自身所在PE设备与对端PE设备建立的LSP的转发队列中是否有数据报文发送对端PE设备。
处理单元503,用于当判断单元502确定自身所在PE设备与对端PE设备建立的LSP的转发队列中有数据报文发送对端PE设备时,选择所述数据报文中的最先发送的报文封装与对端PE设备建立的LSP的LSPID绑定的BFD标签。
发送单元504,用于将处理单元503中封装BFD标签的数据报文发送给对端PE设备;当判断单元502确定自身所在PE设备与对端PE设备建立的LSP的转发队列中未有数据报文发送对端PE设备时,发送BFD快速检测报文发送给对端PE设备。
较佳地,该路由转发设备进一步包括:接收单元505和确定单元506。
接收单元505,用于接收对端PE设备发送的携带BFD标签的数据报文;接收对端PE设备发送的BFD检测报文。
确定单元506,用于在协商单元501协商的接收报文超时时间内,当接收单元505接收到对端PE设备发送的携带BFD标签的数据报文,且所述携带的BFD标签的值与自身所在PE设备发送给对端PE设备的BFD标签的值相同,或接收到对端PE设备发送的BFD检测报文时,确定与对端PE设备建立的LSP正常;否则,确定与对端PE设备建立的LSP故障。
较佳地,
判断单元502,进一步用当协商单元501协商的发送报文时间间隔到时,确定BFD的状态是否标识为可用状态,如果是,执行所述确定自身所在PE设备与对端PE设备建立的LSP的转发队列中是否有数据报文发送对端PE设备的操作及后续步骤;否则,触发发送单元504执行发送BFD快速检测报文给对端PE设备的操作。
较佳地,
确定单元506,用于弹掉所述接收单元接收到的携带BFD标签的数据报携带的BFD标签,当该BFD标签的值与自身发送给本地PE设备的BFD标签的值相同时,确定自身与所述本地PE设备建立的LSP正常;同时,将弹掉标签的数据报文根据报文内容进行转发。
较佳地,
协商单元501,向对端PE设备发送的BFD标签携带在LSPping请求报文中,或与所述对端PE设备建立BFD会话的BFD报文中;接收对端PE设备发送的BFD标签携带在LSPping应答报文中,或与所述对端PE设备建立BFD会话的BFD报文中。
本发明基于同样的发明构思,还提出一种路由转发设备,可应用于为多协议交换标签MPLS网络中任一PE设备,所述MPLS网络包括多个PE设备,各PE设备间建立标签交换路径LSP。参见图6,图6为本发明具体实施例中应用于上述报文接收技术的路由转发设备的结构示意图。该路由转发设备包括:协商单元601、接收单元602和确定单元603,当该路由转发设备应用为所述任一PE设备时;
协商单元601,用于自身所在PE设备与对端PE设备进行发送报文时间间隔和接收报文超时时间协商,同时向对端PE设备发送BFD标签以及接收对端发送的BFD标签以进行BFD标签探测功能协商,其中向对端PE设备发送的BFD标签表示本设备支持BFD标签探测功能。
接收单元602,用于接收对端PE设备发送的携带BFD标签的数据报文;接收到对端PE设备发送的BFD检测报文。
确定单元603,用于在协商单元601协商的接收报文超时时间内,当接收单元602接收到对端PE设备发送的携带BFD标签的数据报文,且所述携带的BFD标签的值与自身所在PE设备发送给对端PE设备的BFD标签的值相同,或接收到对端PE设备发送的BFD检测报文时,确定与对端PE设备建立的LSP正常;否则,确定与对端PE设备建立的LSP故障。
较佳地,
确定单元603,用于弹掉所述接收单元接收到的携带BFD标签的数据报携带的BFD标签,当该BFD标签的值与自身发送给对端PE设备的BFD标签的值相同时,确定自身与所述本地PE设备建立的LSP正常;同时,将弹掉标签的数据报文根据报文内容进行转发。
较佳地,
协商单元601,向对端PE设备发送的BFD标签携带在LSPping请求报文中,或与所述对端PE设备建立BFD会话的BFD报文中;接收对端PE设备发送的BFD标签携带在LSPping应答报文中,或与所述对端PE设备建立BFD会话的BFD报文中。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例中通过本地PE设备与对端PE设备协商BFD标签探测功能,当确认对端PE支持BFD标签探测功能时,在协商的发送报文时间间隔到时,若本地的LSP的转发队列中有数据报文转发对端PE设备,则在其中最先发送的数据报文中封装协商的BFD标签转发给对端PE设备;否则,发送BFD快速检测报文给对端PE设备,能够节省网络带宽和CPU资源。并且在确认对端PE设备不支持BFD标签探测功能时,本端PE设备在协商的发送报文时间间隔到时,直接发送BFD快速检测报文,即本发明具体实现时,可以在对端PE不支持BFD标签探测功能时,同样可以通过本发明具体实施例提供的方法,实现BFD快速检测,减少了本发明实现BFD快速检测的局限性,提高了实现的灵活性。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。