一种内核态下网络故障检测方法及装置制造方法及图纸

技术编号:14129852 阅读:197 留言:0更新日期:2016-12-09 18:17
本发明专利技术公开了一种内核态下网络故障检测方法及装置。该方法包括以下步骤:通过协议层事件收集模块在检测到故障收集函数中存在差错报文时,根据差错报文,生成故障事件,差错报文为数据包传输过程中的差错报文;通过事件发送模块对故障事件进行封装,并将封装后的故障事件添加到故障事件列表中;通过事件接收模块监听故障事件列表,并对故障事件列表中的故障事件进行解析,获得故障详情,输出故障信息给系统用户,故障信息中携带故障详情。应用本发明专利技术实施例所提供的技术方案,实现了内核态下数据包传输出错自动检测,方便系统用户及时了解网络出错详情。

【技术实现步骤摘要】

本专利技术涉及操作系统
,特别是涉及一种内核态下网络故障检测方法及装置
技术介绍
在信息化时代,网络显现出非常重要的作用。无论是在个人主机还是在服务器中,网络的可用性和可靠性都直接影响着系统性能,决定主机之间通信的质量好坏。当计算机系统出现网络故障时,用户通常会借助外部的网络管理工具来检测网络问题,常用的网络管理工具,如ping、netstat、ip等,都是从用户态的角度出发对网络问题进行检测,需要用户熟悉相应的网络管理工具才能进行网络问题的检测,操作比较被动,不方便用户及时了解网络出错详情。
技术实现思路
为解决上述技术问题,本专利技术提供一种内核态下网络故障检测方法及装置。一种内核态下网络故障检测方法,包括:通过协议层事件收集模块在检测到故障收集函数中存在差错报文时,根据所述差错报文,生成故障事件,所述差错报文为数据包传输过程中的差错报文;通过事件发送模块对所述故障事件进行封装,并将封装后的故障事件添加到故障事件列表中;通过事件接收模块监听所述故障事件列表,并对所述故障事件列表中的故障事件进行解析,获得故障详情,输出故障信息给系统用户,所述故障信息中携带所述故障详情。在本专利技术的一种具体实施方式中,所述根据所述差错报文,生成故障事件,包括:利用错误处理函数对所述差错报文进行解析;根据所述差错报文的头部信息,生成故障事件。在本专利技术的一种具体实施方式中,所述将封装后的故障事件添加到故障事件列表中,包括:调用已注册的事件发送函数将封装后的故障事件添加到故障事件列表中,所述事件发送函数为所述事件接收模块注册以供所述事件发送模块调用的。在本专利技术的一种具体实施方式中,所述故障事件中包含故障事件链表指针信息、IP版本号信息、报文类型信息、报文类型子码信息、错误码信息和差错报文的严重程度信息。一种内核态下网络故障检测装置,包括:协议层事件收集模块,用于在检测到故障收集函数中存在差错报文时,根据所述差错报文,生成故障事件,所述差错报文为数据包传输过程中的差错报文;事件发送模块,用于对所述故障事件进行封装,并将封装后的故障事件添加到故障事件列表中;事件接收模块,用于监听所述故障事件列表,并对所述故障事件列表中的故障事件进行解析,获得故障详情,输出故障信息给系统用户,所述故障信息中携带所述故障详情。在本专利技术的一种具体实施方式中,所述协议层事件收集模块,具体用于:利用错误处理函数对所述差错报文进行解析;根据所述差错报文的头部信息,生成故障事件。在本专利技术的一种具体实施方式中,所述事件发送模块,具体用于:调用已注册的事件发送函数将封装后的故障事件添加到故障事件列表中,所述事件发送函数为所述事件接收模块注册以供所述事件发送模块调用的。在本专利技术的一种具体实施方式中,所述故障事件中包含故障事件链表指针信息、IP版本号信息、报文类型信息、报文类型子码信息、错误码信息和差错报文的严重程度信息。应用本专利技术实施例所提供的技术方案,通过协议层事件收集模块可以检测故障收集函数中是否存在差错报文,当存在差错报文时,可以根据差错报文,生成故障事件,通过事件发送模块可以对故障事件进行封装,并将封装后的故障事件添加到故障事件列表中,通过事件接收模块可以监听故障事件列表,并对监听到的故障事件进行解析,获得故障详情,向系统用户输出故障信息。实现了内核态下数据包传输出错自动检测,方便系统用户及时了解网络出错详情。附图说明为了更清楚的说明本专利技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中一种内核态下网络故障检测方法的实施流程图;图2为本专利技术实施例中一种内核态下网络故障检测装置的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1所示,为本专利技术实施例所提供的一种内核态下网络故障检测方法的实施流程图,该方法可以包括以下步骤:S110:通过协议层事件收集模块在检测到故障收集函数中存在差错报文时,根据差错报文,生成故障事件。差错报文为数据包传输过程中的差错报文。在本专利技术实施例中,可以通过修改错误处理函数err_handler,修改Linux原始内核协议层中各协议的错误处理方法。具体的,可以在错误处理函数添加故障收集函数,使之具有故障收集功能。在数据包传输过程中,如果遇到问题,将调用协议结构net_protocol的错误处理函数err_handler,在错误处理函数的故障收集函数中可以记录差错报文,该差错报文即为数据包传输过程中的差错报文。通过协议层事件收集模块可以检测故障收集函数中是否存在差错报文,如果存在,则协议层事件收集模块可以根据该差错报文,生成故障事件。在本专利技术的一种具体实施方式中,根据差错报文,生成故障事件的步骤具体可以包括以下步骤:步骤一:利用错误处理函数对差错报文进行解析;步骤二:根据差错报文的头部信息,生成故障事件。为便于描述,将上述两个步骤结合起来进行说明。在实际应用中,当协议层事件收集模块检测到故障收集函数中存在差错报文时,可以基于内核代码中结构体struct net_protocol,利用其成员错误处理函数err_handler,对差错报文进行解析,即对差错报文数据包进行分析,获得该差错报文的头部信息。根据差错报文的头部信息,可以生成故障事件。在本专利技术实施例中,故障事件中包含故障事件链表指针信息、IP版本号信息、报文类型信息、报文类型子码信息、错误码信息和差错报文的严重程度信息。故障事件结构体定义如下:在该故障事件结构体中,list为故障事件链表指针;ipv代表IP版本号;type为报文类型,其中,在ipv4中,ICMP_TIME_EXCEEDED、ICMP_SOURCE_QUENCH、ICMP_PARAMETERPROB、ICMP_DEST_UNREACH为差错报文,在ipv6中,ICMPV6_DEST_UNREACH、ICMPV6_PKT_TOOBIG、ICMPV6_TIME_EXCEED、ICMPV6_PARAMPROB为差错报文;code为报文类型子码,通过该信息可以进一步确定错误类型;err为错误码,不同种类的差错报文的错误码不同,说明故障类型不同;harderr表示差错报文的严重程度,是否可修复。协议层事件收集模块对差错报文进行解析,获得差错报文的头部信息后,可以根据该差错报文的头部信息,对故障事件结构体protocol_evt中的成员进行赋值,生成故障事件。例如,在UDP中,err_handler被赋值为__udp4_lib_err(),在__udp4_lib_err()中添加相应代码,可以实现对protocol_evt中各成员的赋值。通过协议层事件收集模块生成故障事件后,可以继续执行步骤S120的操作。S120:通过事件发送模块对故障事件进行封装,并将封装后的故本文档来自技高网
...
一种内核态下网络故障检测方法及装置

【技术保护点】
一种内核态下网络故障检测方法,其特征在于,包括:通过协议层事件收集模块在检测到故障收集函数中存在差错报文时,根据所述差错报文,生成故障事件,所述差错报文为数据包传输过程中的差错报文;通过事件发送模块对所述故障事件进行封装,并将封装后的故障事件添加到故障事件列表中;通过事件接收模块监听所述故障事件列表,并对所述故障事件列表中的故障事件进行解析,获得故障详情,输出故障信息给系统用户,所述故障信息中携带所述故障详情。

【技术特征摘要】
1.一种内核态下网络故障检测方法,其特征在于,包括:通过协议层事件收集模块在检测到故障收集函数中存在差错报文时,根据所述差错报文,生成故障事件,所述差错报文为数据包传输过程中的差错报文;通过事件发送模块对所述故障事件进行封装,并将封装后的故障事件添加到故障事件列表中;通过事件接收模块监听所述故障事件列表,并对所述故障事件列表中的故障事件进行解析,获得故障详情,输出故障信息给系统用户,所述故障信息中携带所述故障详情。2.根据权利要求1所述的方法,其特征在于,所述根据所述差错报文,生成故障事件,包括:利用错误处理函数对所述差错报文进行解析;根据所述差错报文的头部信息,生成故障事件。3.根据权利要求1或2所述的方法,其特征在于,所述将封装后的故障事件添加到故障事件列表中,包括:调用已注册的事件发送函数将封装后的故障事件添加到故障事件列表中,所述事件发送函数为所述事件接收模块注册以供所述事件发送模块调用的。4.根据权利要求3所述的方法,其特征在于,所述故障事件中包含故障事件链表指针信息、IP版本号信息、报文类型信息、报文类型子码信息、错误码信息和差错报文的严...

【专利技术属性】
技术研发人员:徐亚洲王垒
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1