一种链路检测方法及装置制造方法
【专利摘要】本发明公开了一种链路检测方法及装置,本发明中,接收对端设备发送的第一检测报文;判断所述第一检测报文是否为接收到的首个检测报文;如果判定所述第一检测报文是接收到的首个检测报文,则使能检测功能;若在设定的检测周期内未接收到所述对端设备发送的与所述第一检测报文协议类型相同的第二检测报文,则确定与所述对端设备之间的链路存在故障。通过本发明保证了两端设备同步进入检测状态后,进行链路检测,能够避免由于两端设备未同步进入检测状态造成的检测误报问题。
【专利说明】一种链路检测方法及装置
【技术领域】
[0001] 本发明涉及通信【技术领域】,尤其涉及一种链路检测方法及装置。
【背景技术】
[0002] 随着网络技术的发展,网络的运营和部署也越来越复杂。为了保证网络的正常 运行,需要对网络的业务状态进行检测,例如通过操作管理和维护(英文Operations Administration and Maintenance ;简称:0AM)等协议进行定期查询的方式检测网络链路 故障,并在检测到网络链路发生故障后,通过自动保护倒换(英文:Automatic protection switching ;简称:APS)等协议进行保护倒换,以将网络链路故障所产生的影响降到最低, 保证网络的正常运行。
[0003] 对网络的业务状态进行检测主要采用链路检测方式,S卩:在网络中设置相互对应 的两端设备同时工作,例如设置A设备和B设备为相互对应的两端设备,其中,A设备和B设 备均具有报文发送和接收功能,即A设备和B设备均具有发送端和接收端,发送端用于发送 检测报文,接收端用于接收检测报文,并依据接收的检测报文对链路进行检测。例如:A设 备的发送端向B设备的接收端发送检测报文,B设备通过判断在检测周期内是否正常接收 到A设备发送的检测报文,以判断A设备和B设备之间的链路是否正常。然而建立会话的A 设备和B设备使能检测功能的时间存在较大差异,使得两端设备不能保证同步进入检测状 态,例如,B设备的接收端已经进入检测状态,但A设备的发送端还未使能检测功能,故未开 始发送检测报文,B设备在预设的检测周期内是无法接收到A设备发送的检测报文,因此B 设备会误认为检测到了链路故障,进而产生检测误报。
[0004] 目前,为保证进行会话建立的两端设备同步进入检测状态,一种实现方式中,采用 定时器方案,即在A设备的发送端开始向B设备发送检测报文时,A设备的定时器开始计 时,该定时器的计时时间达到,则认为B设备使能检测功能,接收端进入检测状态开始进行 链路检测。但是,在不同的网络,配置的时长可能不同,因此此种方案可移植性差,设定的定 时时长不好把握,如果采用最长时间定时,则同步时间过长,使得会话建立时间过长,反应 速度慢,效率低。另一种实现方式中,通过人工同时给A设备和B设备下发使能检测功能的 命令来保证A设备和B设备同时使能检测功能,从而同步进入检测状态。然而,当有大量需 要进行检测的设备时,人工部署操作复杂,且容易出错。
[0005] 故提供一种行之有效的链路检测方法,势在必行。
【发明内容】
[0006] 本发明实施例提供一种链路检测方法及装置,以解决目前由于进行会话建立的两 端设备未同步进入检测状态造成的检测误报问题。
[0007] 第一方面,提供一种链路检测方法,包括:
[0008] 接收对端设备发送的第一检测报文;
[0009] 判断所述第一检测报文是否为接收到的首个检测报文;
[0010] 如果判定所述第一检测报文是接收到的首个检测报文,则使能检测功能;
[0011] 若在设定的检测周期内未接收到所述对端设备发送的与所述第一检测报文协议 类型相同的第二检测报文,则确定与所述对端设备之间的链路存在故障。
[0012] 结合第一方面,在第一种实现方式中,判定所述第一检测报文是接收到的首个检 测报文之后,该方法还包括:
[0013] 将首包标志位置位。
[0014] 结合第一方面的第一种实现方式,在第二种实现方式中,将首包标志位置位后,该 方法还包括:
[0015] 存储首包置位信息,所述首包置位信息用以表示所述首包标志位是否被置位。
[0016] 结合第第一方面的第二种实现方式,在第三种实现方式中,存储首包置位信息,包 括:
[0017] 对应每一协议类型的每一链路的首包置位信息,分配单位比特进行存储。
[0018] 结合第一方面的第二种实现方式或者第一方面的第三种实现方式,在第四种实现 方式中,将首包标志位置位后,该方法还包括:
[0019] 确定首包标志位被置位的数量;
[0020] 在首包标志位被置位的数量达到设定数量时,将首包置位信息进行打包并上报。
[0021] 结合第一方面的第二种实现方式,第一方面的第三种实现方式或者第一方面的第 四种实现方式,在第五种实现方式中,将首包标志位置位后,该方法还包括:
[0022] 若接收参数满足停止接收检测报文的条件,停止接收检测报文并将首包标志位复 位。
[0023] 第二方面,提供一种链路检测装置,包括接收单元、判断单元、使能单元和检测单 元,其中:
[0024] 所述接收单元,用于接收对端设备发送的第一检测报文;
[0025] 所述判断单元,用于判断所述接收单元接收的所述第一检测报文是否为接收到的 首个检测报文;
[0026] 所述使能单元,用于在所述判断单元判定所述第一检测报文是接收到的首个检测 报文,则使能检测功能;
[0027] 所述检测单元,用于在所述接收单元在设定的检测周期内未接收到所述对端设备 发送的与所述第一检测报文协议类型相同的第二检测报文时,确定与所述对端设备之间的 链路存在故障。
[0028] 结合第二方面,在第一种实现方式中,所述装置还包括置位单元,其中:
[0029] 所述置位单元,用于,在所述判断单元判定所述检测报文为首个检测报文后,将首 包标志位置位。
[0030] 结合第二方面的第一种实现方式,在第二种实现方式中,所述装置还包括存储单 元,其中:
[0031] 所述存储单元,用于存储首包置位信息,所述首包置位信息用以表示所述首包标 志位是否被置位。
[0032] 结合第二方面的第二种实现方式,在第三种实现方式中,所述存储单元,具体用于 按如下方式存储首包置位信息:
[0033] 对应每一协议类型的每一链路的首包置位信息,分配单位比特进行存储。
[0034] 结合第二方面的第二种实现方式或者第二方面的第三种实现方式,在第四种实现 方式中,所述装置还包括确定单元和上报单元,其中:
[0035] 所述确定单元,用于确定首包标志位被置位的数量;
[0036] 所述判断单元,还用于判断所述确定单元确定的首包标志位被置位的数量是否达 到设定数量;
[0037] 所述上报单元,用于在所述判断单元确定首包标志位被置位的数量达到设定数量 时,将首包置位信息进行打包并上报。
[0038] 结合第二方面的第二种实现方式,第二方面的第三种实现方式或者第二方面的第 四种实现方式,在第五种实现方式中,所述判断单元,还用于:
[0039] 判断接收参数是否满足停止接收检测报文的条件;
[0040] 所述接收单元,还用于在所述判断单元判定所述接收参数满足停止接收检测报文 的条件时,停止接收检测报文;
[0041] 所述置位单元,还用于:
[0042] 在所述接收单元停止接收检测报文时,将首包标志位复位。
[0043] 本发明实施例提供的链路检测方法及装置,判定接收到的对端设备发送的第一检 测报文为接收到的首个检测报文,则能保证本端设备已能正常接收对端设备发送的检测报 文,并在判定接收到的对端设备发送的第一检测报文为接收到的首个检测报文时,使能检 测功能,进行链路检测,能够保证在对端设备发送的检测报文已正常进行接收的情况下进 行链路检测,即保证了两端设备同步进入检测状态后,进行链路检测,能够避免由于两端设 备未同步进入检测状态造成的检测误报问题。
【专利附图】
【附图说明】
[0044] 图1为本发明实施例提供的跨设备进行链路检测方法适用的系统架构图;
[0045] 图2为本发明实施例提供的跨设备进行链路检测方法的第一实现流程图;
[0046] 图3为本发明实施例提供的跨设备进行链路检测方法的第二实现流程图;
[0047] 图4为本发明实施例提供的跨设备进行链路检测方法的第三实现流程图;
[0048] 图5为本发明实施例提供的发送检测报文的方法实现流程图;
[0049] 图6A至图6D为本发明实施例提供的链路检测装置构成示意图;
[0050] 图7为本发明实施例提供的又一链路检测装置构成示意图。
【具体实施方式】
[0051] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0052] 本发明实施例提供的链路检测方法,应用于图1所示的系统架构。图1中设备A 和设备B为两端设备,设备A和设备B均具有报文发送和接收功能,设备A和设备B分别 通过各自的控制软件配置发送端初始化参数和接收端初始化参数,使能报文发送和接收功 能。发送端初始化参数主要包括发送周期、协议类型以及链路对应关系等,接收端初始化参 数主要包括接收周期、协议类型、链路对应关系以及检测功能使能与否等。发送端获取到发 送端初始化参数后进行检测报文的发送,接收端获取到接收端初始化参数后进行检测报文 的接收。接收端的检测功能使能后,接收端通过在设定的检测周期内是否接收到对端设备 发送的检测报文判断设备A和设备B之间的链路状态。本发明实施例中在判定接收的对端 设备发送的第一检测报文为接收到的首个检测报文的情况下,使能检测功能,保证了两端 设备同步进入检测状态后,进行链路检测,避免由于两端设备未同步进入检测状态造成的 检测误报问题。
[0053] 图2所示为本发明实施例提供的链路检测方法,该方法的执行主体可以是进行链 路检测的设备,也可以是设备中的各个部件,例如设备中的接收端。如图2所示,该方法包 括:
[0054] S101 :接收对端设备发送的第一检测报文。
[0055] 本发明实施例中的对端设备是指设置在网络中进行链路检测的两端设备中发送 检测报文的设备,例如图1中,若设备A作为进行链路检测的设备,则设备B即为对端设备; 若设备B作为进行链路检测的设备,则设备A即为对端设备。
[0056] 本发明实施例中进行链路检测的设备,在接收端初始化参数配置完成后,则可进 行接收端初始化,使能设备的接收端,实时接收检测报文。
[0057] S102 :判断S101中接收的第一检测报文是否为接收到的首个检测报文。
[0058] 若判定接收的第一检测报文为接收到的首个检测报文,则执行S103,否则执行 S104。
[0059] S103 :使能检测功能,进行链路检测。
[0060] 本发明实施例中判定接收的第一检测报文为接收到的首个检测报文,则表明对端 设备已进入检测状态并已正常发送,并且该进行链路检测的设备也可正常进行报文的接 收,故此时使能检测功能,能够保证两端设备同步进入检测状态。
[0061] 本发明实施例中在保证两端设备同步进入检测状态的前提下,检测接收到的检测 报文,可采用例如在固定检测周期内判断接收到的检测报文的时间间隔是否符合要求,即 在设定的检测周期内未接收到对端设备发送的与第一检测报文协议类型相同的第二检测 报文,则可确定本端设备与对端设备之间的链路存在故障。
[0062] S104 :不使能检测功能。
[0063] 本发明实施例提供的链路检测方法,判定接收到的对端设备发送的第一检测报 文为接收到的首个检测报文,则能保证本端设备已能正常接收对端设备发送的检测报文, 并在判定接收到的对端设备发送的第一检测报文为接收到的首个检测报文时,使能检测功 能,进行链路检测,能够保证在对端设备发送的检测报文已正常进行接收的情况下进行链 路检测,即保证了两端设备同步进入检测状态后,进行链路检测,能够避免由于两端设备未 同步进入检测状态造成的检测误报问题。
[0064] 本发明实施例以下将对上述实施例中涉及的具体实现过程进行详细说明。
[0065] 进行链路检测的设备进行链路检测时,一般是对应不同的链路以及不同的协议类 型的检测报文分别进行检测,即进行链路检测的设备是在接收到进行链路检测所需的检测 报文后,才会进行相应检测报文的检测过程,故本发明实施例中进行链路检测的设备需要 判断接收到的检测报文是否为合法检测报文,合法检测报文为进行链路检测所需的检测报 文。
[0066] 本发明实施例中可按照实际应用设计至少一种协议类型的检测报文,并不受限于 固定一种的检测报文,但是在进行检测链路检测时,需区分检测报文的协议类型进行检测, 故本发明实施例在进行链路检测时,可识别S101中接收的第一检测报文的协议类型,然后 使能协议类型与识别得到的协议类型一致的检测报文的检测功能。
[0067] 可选的,本发明实施例中可通过检测报文的首包标志位(英文:First Packet Flag ;简称:FPF)置位与否来表示首个检测报文是否被接收,即首包标志位被置位则表示 首个检测报文已被接收,首包标志位未被置位则表示首个检测报文未被接收。即本发明实 施例可在判定接收的第一检测报文为接收到的首个检测报文之后,将首包标志位置位,使 能检测功能。后续进行链路检测时,可判断接收到的检测报文的首包标志位是否被置位,来 决定是否使能检测功能。本发明实施例中若确定协议类型与当前检测报文的协议类型一致 的检测报文的首包标志位已被置位,则可确定该协议类型的检测功能已使能,能够进行该 协议类型对应的链路检测。若确定协议类型与当前检测报文的协议类型一致的检测报文的 首包标志位未被置位,则可确定该协议类型的检测功能未被使能,还不能够进行相应链路 的检测。
[0068] 本发明实施例中上述通过首包标志位置位的方式,使能检测功能,实现过程简单。
[0069] 本发明实施例以下将以通过首包标志位置位的技术方案实施链路检测过程进行 举例说明,图3所示为本发明实施例提供的链路检测具体实现流程图,如图3所示,该方法 包括:
[0070] S201 :接收对端设备发送的检测报文。
[0071] S202 :判断S201中接收到的检测报文是否为合法检测报文,若是,则进行S203,否 则返回执行S201中进行检测报文接收的过程。
[0072] S203 :识别接收到的检测报文的协议类型。
[0073] S204 :判断S201中接收到的检测报文是否为S203中识别得到的协议类型的首个 检测报文,若是则执行S205,否则返回执行S201中进行检测报文接收的过程。
[0074] S205 :将对应S203中识别得到的协议类型的首包标志位置位。
[0075] S206 :使能检测功能,进行对应S203中识别得到的协议类型的链路检测。
[0076] 本发明实施例中进行链路检测时,可通过启动检测定时器,通过判断在检测定时 器设置的检测周期内是否接收到对端设备发送的检测报文,若在检测周期内未接收到对端 设备发送的检测报文,则可确定本端设备与对端设备之间的链路存在故障。
[0077] 本发明实施例图3所示的链路检测方法,在确定接收到的检测报文为首个检测报 文后,进行首包标志位置位,并使能检测功能,能够在S205中将产生对应协议类型的首包 标志位置位后,立即使能检测功能,能够较为及时的使能检测功能,并且无需单独设置定时 器,实施过程简单易行,提高了系统性能。并且本发明实施例中在首包标志位置位后使能检 测功能,能够保证在对端设备发送的检测报文已正常进行接收的情况下进行链路检测,避 免由于两端设备未同步进入检测状态造成的检测误报问题。
[0078] 可选的,本发明实施例中执行S205之后,还可存储首包置位信息,该首包置位信 息用以表示首包标志位是否被置位,使得在后续接收到检测报文时,可通过存储的首包置 位信息,判断接收到的检测报文是否为首个检测报文,若首包置位信息中存储有该接收到 的检测报文的协议类型的首包标志位被置位的首包置位信息,则确定当前接收到的检测报 文不是首个检测报文,表明首个检测报文已被接收,则可直接进行检测流程。
[0079] 可选的,本发明实施例中可按照不同的协议类型,以及不同的链路,分配相应的存 储空间存储首包置位信息。本发明实施例中优选对应每一协议类型以及每一链路的首包置 位信息,分配单位比特进行存储,具体的存储方式可采用多种形式,例如采用如下表1中所 示的二维矩阵式存储:
[0080]
【权利要求】
1. 一种链路检测方法,其特征在于,包括: 接收对端设备发送的第一检测报文; 判断所述第一检测报文是否为接收到的首个检测报文; 如果判定所述第一检测报文是接收到的首个检测报文,则使能检测功能; 若在设定的检测周期内未接收到所述对端设备发送的与所述第一检测报文协议类型 相同的第二检测报文,则确定与所述对端设备之间的链路存在故障。
2. 如权利要求1所述的方法,其特征在于,判定所述第一检测报文是接收到的首个检 测报文之后,该方法还包括: 将首包标志位置位。
3. 如权利要求2所述的方法,其特征在于,将首包标志位置位后,该方法还包括: 存储首包置位信息,所述首包置位信息用以表示所述首包标志位是否被置位。
4. 如权利要求3所述的方法,其特征在于,存储首包置位信息,包括: 对应每一协议类型的每一链路的首包置位信息,分配单位比特进行存储。
5. 如权利要求3或4所述的方法,其特征在于,将首包标志位置位后,该方法还包括: 确定首包标志位被置位的数量; 在首包标志位被置位的数量达到设定数量时,将首包置位信息进行打包并上报。
6. 如权利要求3至5任一项所述的方法,其特征在于,将首包标志位置位后,该方法还 包括: 若接收参数满足停止接收检测报文的条件,停止接收检测报文并将首包标志位复位。
7. -种链路检测装置,其特征在于,包括接收单元、判断单元、使能单元和检测单元,其 中: 所述接收单元,用于接收对端设备发送的第一检测报文; 所述判断单元,用于判断所述接收单元接收的所述第一检测报文是否为接收到的首个 检测报文; 所述使能单元,用于在所述判断单元判定所述第一检测报文是接收到的首个检测报 文,使能检测功能; 所述检测单元,用于在所述接收单元在设定的检测周期内未接收到所述对端设备发送 的与所述第一检测报文协议类型相同的第二检测报文时,确定与所述对端设备之间的链路 存在故障。
8. 如权利要求7所述的装置,其特征在于,所述装置还包括置位单元,其中: 所述置位单元,用于,在所述判断单元判定所述第一检测报文为首个检测报文后,将首 包标志位置位。
9. 如权利要求8所述的装置,其特征在于,所述装置还包括存储单元,其中: 所述存储单元,用于存储首包置位信息,所述首包置位信息用以表示所述首包标志位 是否被置位。
10. 如权利要求9所述的装置,其特征在于,所述存储单元,具体用于按如下方式存储 首包置位信息: 对应每一协议类型的每一链路的首包置位信息,分配单位比特进行存储。
11. 如权利要求9或10所述的装置,其特征在于,所述装置还包括确定单元和上报单 元,其中: 所述确定单元,用于确定首包标志位被置位的数量; 所述判断单元,还用于判断所述确定单元确定的首包标志位被置位的数量是否达到设 定数量; 所述上报单元,用于在所述判断单元确定首包标志位被置位的数量达到设定数量时, 将首包置位信息进行打包并上报。
12.如权利要求9至11任一项所述的装置,其特征在于,所述判断单元,还用于: 判断接收参数是否满足停止接收检测报文的条件; 所述接收单元,还用于在所述判断单元判定所述接收参数满足停止接收检测报文的条 件时,停止接收检测报文; 所述置位单元,还用于: 在所述接收单元停止接收检测报文时,将首包标志位复位。
【文档编号】H04L12/26GK104113449SQ201410337253
【公开日】2014年10月22日 申请日期:2014年7月15日 优先权日:2014年7月15日
【发明者】刘抒珍, 黄超 申请人:华为技术有限公司