一种基于ICMP报文的快速故障检测方法技术

技术编号:15062711 阅读:148 留言:0更新日期:2017-04-06 11:49
本发明专利技术涉及一种基于ICMP报文的快速故障检测方法,包括如下步骤:确定试验所需要连接的测试设备,选出底层使用TCP/IP协议进行通信的测试设备,并建立测试设备连接列表;在设备初始化前,测试过程中,测试结束后,上位机向连接列表中的测试设备周期性发送ICMP报文,直到接收到正常的ICMP报文回令,如果在超时时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息;本发明专利技术提出的基于ICMP报文的快速故障检测技术,通过发送ICMP报文并等待ICMP回复报文的方式来判断链路是否正常,可以及时发现故障,并切换至冗余设备。

【技术实现步骤摘要】

本专利技术涉及一种基于ICMP报文的快速故障检测方法,属于测控

技术介绍
在航天测控领域中,存在着一种外部设备,该外部设备使用封装的驱动进行通信,仅需要驱动接口对外部设备操作。以VXI设备为例,此类设备在应用层使用VISA通用接口,而在底层实际使用TCP/IP协议进行通信。由于外部驱动的不完善,在调用此类设备的驱动时,无法及时识别链路故障,导致即使有冗余设备存在,由于故障无法及时发现,冗余设备无法起到实际作用。在使用测控设备提供的驱动函数对设备进行操作时,由于驱动的不完善,无法及时识别通信链路故障;当通信链路出现故障时,继续使用驱动提供方法其结果将是不可预测的,极端情况下可能导致应用程序无响应,甚至异常退出。因此,如何在及时诊断此类设备的链路故障,并进行冗余设备的切换对于提高测控的可靠性具有深远的意义。现阶段,在使用此类设备的测控系统中,尚无技术手段检测此类外部设备的链路故障,需要在准备阶段靠人工检查来保证通信链路的正常,不仅需要耗费大量的人力物力,而且仅能保证在设备连接前链路的正确性,无法检测在测试过程中发生的链路故障。如何自动识别链路故障是本领域亟待解决的技术问题。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种基于ICMP报文的快速故障检测技术,通过发送ICMP报文并等待ICMP回复报文的方式来判断链路是否正常,可以及时发现故障,并切换至冗余设备。本专利技术目的通过如下技术方案予以实现:提供一种基于ICMP报文的快速故障检测方法,包括如下步骤:(1)确定试验所需要连接的测试设备,选出底层使用TCP/IP协议进行通信的测试设备,并建立测试设备连接列表;(2)在设备初始化前,上位机向连接列表中的测试设备周期性发送ICMP报文,直到接收到正常的ICMP报文回令,如果在超时时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息;(3)在测试过程中,由上位机向连接列表中的测试设备周期性发送ICMP报文,如果在超时时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息,并停止使用该测试设备继续测试,若存在冗余设备,则切换到冗余设备继续进行测试;如果在超时时间内收到ICMP报文回令,则表明该测试设备连接正常,能够使用该测试设备继续测试;(4)在测试结束后,上位机向连接列表中的测试设备周期性发送ICMP报文,如果在超时时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息;如果在超时时间内收到ICMP报文回令,则表明该测试设备连接正常,能够正常关闭该测试设备。优选的,步骤(2)具体操作方法为:a.读取步骤(1)中所建立的设备连接列表,并获取设备连接列表中每个测试设备的IP地址;b.通过以太网向每个IP地址发送ICMP请求报文,并等待每个测试设备的ICMP回复报文,其中ICMP回复报文的超时时间根据以下原则动态调整:b1.超时时间初始值设为Ttimeout,默认状态下采用100ms;b2.若测试设备为嵌入式设备或者处理器主频低于1Ghz,则Ttimeout值增加50ms;b3.若待连接设备与上位机不处于同一网段,则每跨越一层交换机Ttimeout值增加50ms;b4.若在指定超时时间内未收到回复报文,则允许自动重试,最多重试2次,每次重试Ttimeout值增加100ms;c.若在超时时间内接收到回复报文,则认为该设备网络连接已建立并可以进行初始化,如果在超时时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息。优选的,步骤(3)在测试过程中,由上位机向连接列表中的测试设备周期性发送ICMP报文的具体方法为:a.对步骤(2)中已建立连接并初始化好的设备建立保活机制,每当间隔Tspan时间未与某测试设备进行数据传输时,则由上位机向该测试设备发送ICMP请求报文,以检测该测试设备运行状态;ICMP回复报文的超时时间根据以下原则动态调整:a1.超时时间初始值设为Ttimeout,默认状态下采用100ms;a2.若测试设备为嵌入式设备或者处理器主频低于1Ghz,则Ttimeout值增加50ms;a3.若待连接设备与上位机不处于同一网段,则每跨越一层交换机Ttimeout值增加50ms;c.若在超时时间内未接收到回复报文,则认为网络或者该测试设备存在故障,此时若存在冗余备份设备,则自动切换到备份设备并给出故障提示,若不存在冗余备份设备,则给出错误提示信息并停止使用该设备继续测试;若在超时时间内接收到回复报文,则认为该测试设备正常,能够继续用于测试。优选的,步骤(4)中描述的测试结束后设备关闭的具体方法为:向步骤(3)中所有状态正常的测试设备发送请求报文,并等待应答如果在超时时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息,并持续检测测试设备状态,直至设备状态恢复好或者用户取消;如果在超时时间内收到ICMP报文回令,则表明该测试设备连接正常,对于检测正常的设备调用驱动函数进行反初始化并关闭设备。本专利技术与现有技术相比具有如下优点:(1)本专利技术的故障检测方法在初始化前、测试过程中以及测试结束后均对测试设备进行故障检测,在确保测试设备状态准备好时才调用驱动函数对设备进行操作,避免了由于驱动不完善给上位机带来的风险,使得整个系统的可靠性进一步提高;(2)提供了运行中的故障检测机制,可以保证在链路或设备发生故障时及时切换到冗余备份设备,使热备份设备真正发挥作用。附图说明图1为本专利技术设备初始化阶段故障检测流程图;图2为本专利技术测试阶段故障检测流程图;图3为本专利技术关闭设备阶段故障检测流程图。具体实施方式本专利技术提出的方法使用TCP/IP协议族中的ICMP协议进行故障检测,所有使用TCP/IP协议进行网络通信的设备均支持ICMP协议,当网络上的设备接收到ICMP请求报文后,需要在指定超时时间内向对方回送ICMP回复报文,通过这种机制可以对通信链路进行有效的检查,并能及时发现可能存在的故障,以进行相应处理。本专利技术提出的基于ICMP报文的快速故障检测方法主要分为以下四个阶段:(1)状态准备阶段,确定本次试验所需要连接的测试设备,选出底层使用TCP/IP协议进行通信的测试设备,并建立设备连接列表。步骤(1)根据将进行的测试项目需求选择待使用的设备,并根据每种设备的特征进行分类,对采用以太网进行连接并需要进行故障检测的设备在软件中建立列表,以备后续检测使用。(2)在设备初始化前,测控系统中的上位机(通常为测发控软件)需要调用设备驱动对列表中的测试设备进行初始化,为确保此时设备已上电完成并且网络已连接好,上位机向待连接的设备周期性发送ICMP报文,直到接收到正常的ICMP报文回令,此时表明设备已连接好,可正常调用驱动函数对设备进行初始化,设备初始化流程如图1所示。如果在约定时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息。在初始化或复位设备之前采用发送ICMP报文并接手ICMP报文回复的方式进行状态检测,以判断设备是否已连接完成并可以进行初始化。此步骤具体操作方法为:a.读取步骤(1)中所建立的列表,并获取列表中每个设备的IP地址;b.通过以太网向每个IP地址发送I本文档来自技高网...
一种基于ICMP报文的快速故障检测方法

【技术保护点】
一种基于ICMP报文的快速故障检测方法,其特征在于,包括如下步骤:(1)确定试验所需要连接的测试设备,选出底层使用TCP/IP协议进行通信的测试设备,并建立测试设备连接列表;(2)在设备初始化前,上位机向连接列表中的测试设备周期性发送ICMP报文,直到接收到正常的ICMP报文回令,如果在超时时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息;(3)在测试过程中,由上位机向连接列表中的测试设备周期性发送ICMP报文,如果在超时时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息,并停止使用该测试设备继续测试,若存在冗余设备,则切换到冗余设备继续进行测试;如果在超时时间内收到ICMP报文回令,则表明该测试设备连接正常,能够使用该测试设备继续测试;(4)在测试结束后,上位机向连接列表中的测试设备周期性发送ICMP报文,如果在超时时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息;如果在超时时间内收到ICMP报文回令,则表明该测试设备连接正常,能够正常关闭该测试设备。

【技术特征摘要】
1.一种基于ICMP报文的快速故障检测方法,其特征在于,包括如下步骤:(1)确定试验所需要连接的测试设备,选出底层使用TCP/IP协议进行通信的测试设备,并建立测试设备连接列表;(2)在设备初始化前,上位机向连接列表中的测试设备周期性发送ICMP报文,直到接收到正常的ICMP报文回令,如果在超时时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息;(3)在测试过程中,由上位机向连接列表中的测试设备周期性发送ICMP报文,如果在超时时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息,并停止使用该测试设备继续测试,若存在冗余设备,则切换到冗余设备继续进行测试;如果在超时时间内收到ICMP报文回令,则表明该测试设备连接正常,能够使用该测试设备继续测试;(4)在测试结束后,上位机向连接列表中的测试设备周期性发送ICMP报文,如果在超时时间内没有收到ICMP报文回令,则认为网络或测试设备存在故障,输出故障提示信息;如果在超时时间内收到ICMP报文回令,则表明该测试设备连接正常,能够正常关闭该测试设备。2.如权利要求1所述的基于ICMP报文的快速故障检测方法,其特征在于,步骤(2)具体操作方法为:a.读取步骤(1)中所建立的设备连接列表,并获取设备连接列表中每个测试设备的IP地址;b.通过以太网向每个IP地址发送ICMP请求报文,并等待每个测试设备的ICMP回复报文,其中ICMP回复报文的超时时间根据以下原则动态调整:b1.超时时间初始值设为Ttimeout,默认状态下采用100ms;b2.若测试设备为嵌入式设备或者处理器主频低于1Ghz,则Ttimeout值增加50ms;b3.若待连接设备与上位机不处于同一网段,则每跨越一层交换机Ttimeout值增加50ms;b4.若在指定超时时间内未收到回复报文,则允许自动...

【专利技术属性】
技术研发人员:王福到王兵齐竹云韩峰
申请(专利权)人:北京航天自动控制研究所中国运载火箭技术研究院
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1