一种通用路由封装隧道的检测方法

文档序号:7625186阅读:165来源:国知局
专利名称:一种通用路由封装隧道的检测方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种通用路由封装隧道的检测方法。
背景技术
GRE(通用路由封装)是对某些网络层协议,如IP和IPX(包交换协议)的报文进行封装,使这些被封装的报文能够在另一网络层协议,如IP中传输。
目前的GRE协议自身没有检测机制,导致GRE隧道存在着不可维护性。由于无法对GRE隧道进行探测,无法监控GRE隧道的状态,也无法实现隧道的备份,因此,隧道的可靠性不高。
因此,需要提供一种方法可以对GRE隧道进行检测。

发明内容
鉴于上述现有技术所存在的问题,本发明的目的在于提供一种通用路由封装隧道的检测方法,利用OAM(操作维护)/BFD(双向转发检测)检测机制,检测GRE隧道,有效提高了GRE隧道的可靠性。
本发明的目的是通过以下技术方案实现的一种通用路由封装隧道的检测方法,包括A、通用路由封装隧道GRE两端的路由器使能检测功能,分别发送检测报文给对端;
B、统计规定时间内接收到的报文个数,确定GRE隧道状态。
采用OAM检测机制对所述GRE隧道进行检测。
所述步骤A包括两端路由器分别发送连通性验证CV/快速故障检测FFD报文,将所述CV/FFD报文打包在用户数据报协议UDP中,设置接收验证指示Hear域值为0。
所述步骤B包括B1、当发送Hear值为0的报文时,GRE隧道处于会话状态;B2、当接收到Hear值为0的报文时,停止发送Hear值为0的报文时,改为发送Hear值为1的报文,GRE隧道处于检测状态。
所述步骤B包括B3、统计规定时间内接收的报文个数,若在规定范围内,则确定GRE隧道处于检测状态;若超过规定范围,则可确定GRE隧道处于缺陷状态。
所述步骤B3包括GRE隧道处于会话状态时检测出GRE隧道缺陷及GRE隧道处于检测状态时检测出GRE隧道缺陷。
当GRE隧道处于会话状态检测出GRE隧道缺陷时,所述方法还包括向管理平面发出告警,请求GRE隧道配置的维护操作。
当GRE隧道处于缺陷状态时,所述步骤B3还包括B31、继续对GRE隧道进行检测,若在规定时间内一直检测到缺陷,则确定GRE隧道处于故障状态;或,B32、继续对GRE隧道进行检测,若在规定时间内一直检测到GRE隧道正常,则可确定GRE隧道处于检测状态。
确定GRE隧道处于故障状态时,所述方法还包括向管理平面发出告警,将业务自动切换到备用隧道上。
所述步骤B31还包括
B311、GRE隧道处于故障状态时,继续对GRE隧道进行检测,在一定时间内一直检测到GRE隧道正常,则可确定GRE隧道正常。
所述方法还包括向管理平面发出报告,将业务倒回到原GRE隧道。
采用双向转发检测BFD检测机制对所述GRE隧道进行检测。
将BFD控制报文作为GRE隧道的净荷发送。由上述本发明提供的技术方案可以看出,本发明实现了对GRE隧道的双向连通性检测,并在GRE隧道出现异常时,启用倒换机制,有效提高了GRE隧道的可靠性。


图1为本发明所述方法操作流程图;图2为本发明所述方法实施例一操作流程图;图3为本发明所述方法信号流向示意图;图4为本发明所述方法实施例二操作流程图。
具体实施例方式
本发明的核心思想是提供一种通用路由封装隧道的检测方法,利用OAM(操作维护)/BFD(双向转发检测)检测机制,检测GRE隧道,有效提高了GRE隧道的可靠性。
本发明提供一种通用路由封装隧道的检测方法,参照图1为本发明所述方法操作流程图,该方法具体包括步骤10GRE隧道建立后,GRE隧道两端的路由器使能检测功能,分别向对端发送检测报文;由于GRE隧道为双向隧道,因此双向连通性都需要进行检测,两端的路由器都要发送检测报文给对端;
首先在GRE隧道的两端配置检测功能实体,在GRE隧道建立后,路由器使能检测功能,该检测功能实体开始发送检测报文给对端;步骤11统计规定时间内接收到的对端报文个数,确定当前隧道状态;GRE隧道两端的路由器接收对端发送的检测报文,由于该检测报文是按照一定的周期发送,因此在确定当前GRE隧道状态时,可通过在规定时间内接收到的报文个数与规定个数相比来判断,当所述接收到的报文个数在规定范围内时,检测该GRE隧道正常,则可确定GRE隧道处于检测状态;若所述接收到的报文个数不在规定范围内时,则可确定该GRE隧道进入故障状态;步骤12根据当前隧道状态对GRE隧道采取相应措施;若判断GRE隧道处于故障状态,则检测功能实体发出告警,若该故障GRE隧道有备份隧道,切换到备份隧道,继续检测;若判断GRE隧道处于检测状态,则继续对该隧道进行检测。
下面分别以OAM、BFD检测为例对具体的检测进行说明当采用OAM进行检测时,参照图2包括如下步骤步骤20首先简化OAM的报文格式,使用CV(连通性验证)/FFD(快速故障检测)报文作为检测报文,进行检测;将报文打包在UDP(用户数据包协议)报文中,端口号为3786,报文格式如下

CV报文格式为

1 octet 1 octet2 octets 32 octets 18 octets 2 octets
FFD报文格式为

1 octet 1 2 octets 32 octets1 octet 17 octets 2octet octetsTTSI(路径源端标识符)如下

16 octets 16 octetsIP地址如下

10 octets 2 octets4 octets步骤21GRE隧道建立后,路由器使能检测功能,发送CV/FFD检测报文给对端,开始检测;由于GRE隧道为双向隧道,因此双向连通性都需要进行检测,两端的路由器都要发送检测报文给对端;参照图3,路由器A根据配置向路由器B发送CV/FFD报文,设置Hear(表示接收验证的指示)域值为0,路由器B发送同样报文给路由器A,在开始检测时,隧道处于会话状态;步骤22根据接收报文个数判断GRE隧道状态;当路由器接收到CV/FFD报文时,若隧道处于会话状态,则停止发送Hear为0的报文,改为发送Hear为1的报文,则隧道处于检测状态;在规定的时间内统计接收的报文个数,其中CV报文发送周期为1s,FFD报文发送周期可以根据需要设置为10ms、20ms、50ms、100ms、200ms或500ms,如可以统计3个检测周期内接收到的报文个数,并判断是否超过规定个数,如判断是否超过4个,若3个检测周期内接收到的报文个数超过4个,则可以确定检测到缺陷;若接收到的报文个数在规定范围内,如在3个检测周期内接收到的报文为2-4个,则可确定检测正常,GRE隧道处于检测状态;步骤23根据检测到的GRE隧道状态,对GRE隧道采取相应措施;若GRE隧道处于会话状态时,检测到隧道缺陷,则向管理平面告警,通知管理平面该GRE隧道存在缺陷,请求维护隧道的配置;若GRE隧道处于检测状态时,检测到隧道缺陷,则隧道进入缺陷状态;当GRE隧道在缺陷状态时,若在T1时间内一直检测到缺陷,则可确定隧道进入故障状态,此时向管理平面告警,若该隧道存在备用隧道,并自动切换到备用隧道上;所述的T1时间可根据需要设定,如可以设定为0-10个检测周期;隧道进入故障状态后,若在T2时间内一直检测正常,则确定隧道进入检测状态,需要向管理平面报告,若此隧道的业务切换到了备用隧道上,则可根据需要将业务倒回;所述T2时间可根据需要设定,如可以设定为3-10个检测周期;若隧道进入缺陷状态后,在T1时间内检测到正常,则确定隧道处于检测状态,继续进行检测操作。
上述为采用OAM进行检测的操作步骤,当采用BFD进行检测时,可以采用1hop(单跳)的检测方式来检测GRE隧道,将UDP端口号为3784的BFD控制报文作为GRE隧道的净荷,其中BFD控制报文如下表

上述BFD控制报文各个域的说明参照下表


参照图4,采用BFD进行GRE检测的方法具体包括如下步骤步骤30路由器使能检测功能,发送BFD检测报文到对端;参照图3路由器A对隧道启动BFD检测后,构造一个端口号为3784的UDP报文,报文的净荷为BFD控制报文,BFD控制报文的H域设置为0,YourDiscriminator域为0,将此UDP报文作为GRE隧道的净荷发送,设置隧道的检测状态为INIT(初始状态),路由器B的操作同路由器A;步骤31路由器B收到Your Discriminator域为0的控制报文后,根据GRE隧道的索引将其关联到本端BFD检测Session(会话)上,将发送的BFD控制报文的Your Discriminator域填为收到的BFD控制报文中的MyDiscriminator域值,路由器A的操作过程同路由器B;步骤32确定GRE隧道状态,根据所述状态对GRE隧道采取相应处理;在INIT状态收到BFD控制报文后,将隧道状态设置为DOWN(缺陷)状态,将发送的BFD控制报文H域值设置为1,继续发送BFD报文;在INIT状态若一定周期内没有收到H域为1的BFD控制报文,则确定GRE隧道进入FAILING(故障)状态;在FAILING状态收到H域为0的BFD控制报文时,不需做任何处理;在INIT状态收到H域为1的BFD控制报文时,则确定GRE隧道进入UP(正常)状态,并向管理平面报告;在DOWN状态收到H域为1的BFD控制报文,则可确定GRE隧道进入UP状态,并向管理平面报告;在UP状态下若收到H域为0的BFD控制报文,则进入FAILING状态,并且根据Diag中的原因向管理平面报告;
若在UP状态下,Detect Mult(检测时间倍数)个周期内没有收到BFD控制报文,则也可确定GRE处于FAILING状态,并向管理平面报告。
由于GRE隧道采用1∶1保护的方式,OAM/BFD启用对主GRE隧道的检测,若OAM/BFD检测到隧道异常时,则向管理平面报告,管理平面可以根据配置启用倒换机制;若在一定周期内没有收到隧道正常的报告,则启用倒换机制,将业务流量倒换到备份隧道;在发生倒换后,主用隧道继续检测,若发现主用隧道恢复正常,则管理平面可以根据配置,若在一定周期内没有收到隧道异常的报告,则启用倒回机制,将业务流量倒回到主隧道。
综上所述,本发明实现了对GRE隧道的双向连通性检测,并在GRE隧道出现异常时,启用倒换机制,有效提高了GRE隧道的可靠性。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种通用路由封装隧道的检测方法,其特征在于,包括A、通用路由封装隧道GRE两端的路由器使能检测功能,分别发送检测报文给对端;B、统计规定时间内接收到的报文个数,确定GRE隧道状态。
2.如权利要求1所述的一种通用路由封装隧道的检测方法,其特征在于,采用OAM检测机制对所述GRE隧道进行检测。
3.如权利要求2所述的一种通用路由封装隧道的检测方法,其特征在于,所述步骤A包括两端路由器分别发送连通性验证CV/快速故障检测FFD报文,将所述CV/FFD报文打包在用户数据报协议UDP中,设置接收验证指示Hear域值为0。
4.如权利要求2或3所述的一种通用路由封装隧道的检测方法,其特征在于,所述步骤B包括B1、当发送Hear值为0的报文时,GRE隧道处于会话状态;B2、当接收到Hear值为0的报文时,停止发送Hear值为0的报文时,改为发送Hear值为1的报文,GRE隧道处于检测状态。
5.如权利要求2或3所述的一种通用路由封装隧道的检测方法,其特征在于,所述步骤B包括B3、统计规定时间内接收的报文个数,若在规定范围内,则确定GRE隧道处于检测状态;若超过规定范围,则可确定GRE隧道处于缺陷状态。
6.如权利要求5所述的一种通用路由封装隧道的检测方法,其特征在于,所述步骤B3包括GRE隧道处于会话状态时检测出GRE隧道缺陷及GRE隧道处于检测状态时检测出GRE隧道缺陷。
7.如权利要求6所述的一种通用路由封装隧道的检测方法,其特征在于,当GRE隧道处于会话状态检测出GRE隧道缺陷时,所述方法还包括向管理平面发出告警,请求GRE隧道配置的维护操作。
8.如权利要求6所述的一种通用路由封装隧道的检测方法,其特征在于,当GRE隧道处于缺陷状态时,所述步骤B3还包括B31、继续对GRE隧道进行检测,若在规定时间内一直检测到缺陷,则确定GRE隧道处于故障状态;或,B32、继续对GRE隧道进行检测,若在规定时间内一直检测到GRE隧道正常,则可确定GRE隧道处于检测状态。
9.如权利要求8所述的一种通用路由封装隧道的检测方法,其特征在于,确定GRE隧道处于故障状态时,所述方法还包括向管理平面发出告警,将业务自动切换到备用隧道上。
10.如权利要求8所述的一种通用路由封装隧道的检测方法,其特征在于,所述步骤B31还包括B311、GRE隧道处于故障状态时,继续对GRE隧道进行检测,在一定时间内一直检测到GRE隧道正常,则可确定GRE隧道正常。
11.如权利要求10所述的一种通用路由封装隧道的检测方法,其特征在于,所述方法还包括向管理平面发出报告,将业务倒回到原GRE隧道。
12.如权利要求1所述的一种通用路由封装隧道的检测方法,其特征在于,采用双向转发检测BFD检测机制对所述GRE隧道进行检测。
13.如权利要求12所述的一种通用路由封装隧道的检测方法,其特征在于,将BFD控制报文作为GRE隧道的净荷发送。
全文摘要
本发明涉及网络通信技术领域中一种通用路由封装隧道的检测方法,利用OAM(操作维护)/BFD(双向转发检测)检测机制,检测GRE隧道,首先,通用路由封装隧道GRE两端的路由器使能检测功能,分别发送检测报文给对端;统计规定时间内接收到的报文个数,确定GRE隧道状态;根据所述GRE隧道状态采取相应措施。本发明实现了对GRE隧道的双向连通性检测,并在GRE隧道出现异常时,启用倒换机制,有效提高了GRE隧道的可靠性。
文档编号H04L12/26GK1863101SQ200510109119
公开日2006年11月15日 申请日期2005年10月18日 优先权日2005年10月18日
发明者李贺军 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1