[发明专利]一种安全网关及其故障检测方法有效
申请号: | 201010233706.4 | 申请日: | 2010-07-22 |
公开(公告)号: | CN101895440A | 公开(公告)日: | 2010-11-24 |
发明(设计)人: | 娄扬;范鸿雷 | 申请(专利权)人: | 北京天融信科技有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/66 |
代理公司: | 信息产业部电子专利中心 11010 | 代理人: | 梁军 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 安全网关 及其 故障 检测 方法 | ||
技术领域
本发明涉及网络安全领域,尤其涉及一种安全网关及其故障检测方法。
背景技术
安全网关作为重要的网络安全设备,在现在的各类网络环境中已经成为不可缺少的网络设备。在实际使用中,由于复杂的应用和安全网关实现的机制不同,安全网关在某些错误状态下会出现僵死的状态,即系统停止工作,包括停止转发,无法管理,等等。
安全网关常见的僵死原因包括设备处于某种错误状态的死锁,或死循环等等。并且随着软件功能越来越复杂,这种问题越来越突出,而且难以定位。目前常用的系统僵死检测方法是硬件watchdog,硬件watchdog必须有硬件支持。当系统运行以后也就启动了watchdog的计数器,watchdog就开始自动计数,硬件watchdog在设定的时间间隔内没有被执行写操作,那么计数器就会溢出从而引起watchdog中断,造成系统复位,重起设备。但硬件watchdog需要有硬件支持,需要加载对应硬件的驱动模块,增加系统风险。并且硬件watchdog只能检测到系统状态错误,无法设定系统出错的条件,无法检测系统出错的原因和系统出错时的状态,这些对系统问题的判断和定位造成很大的困难。并且,现有的很多系统在处理某些工作的时候是禁止硬中断的,如果在禁止硬中断的时候系统出现故障,那么系统中的软件也就不会有执行的机会,因此如果希望通过软件来检测系统故障,必须使检测代码在即使硬件中断被禁止时还可以运行。
发明内容
为了解决现有技术中存在的问题,本发明提供一种安全网关及其故障检测方法。
具体的,本发明提供的一种安全网关故障检测方法,包括以下步骤:
安全网关启动时,初始化预先配置的全局变量tos_nmi_watchdog和tos_watchdog_lasttime,并注册NMI中断处理函数do_nmi;
安全网关在刷新条件被触发时,刷新所述tos_watchdog_lasttime变量;
安全网关在NMI中断被触发后,调用所述中断处理函数do_nmi检测所述tos_watchdog_lasttime变量在设定的时间内是否未被刷新过,若是,判定安全网关发生故障,重启系统。
本发明所述方法中,所述刷新条件包括:所述安全网关接收到数据包。
进一步的,所述方法中,安全网关在初始化预先配置的全局变量tos_nmi_watchdog和tos_watchdog_lasttime时还包括:所述安全网关初始化预先配置的nmi_watchdog的定时器,并注册其处理函数watchdog_reset。
基于上述技术特征,所述刷新条件还包括:所述nmi_watchdog定时器到达设定的定时时间。
本发明所述方法中,所述刷新tos_watchdog_lasttime变量具体为:将当前系统的jiffies赋值给所述tos_watchdog_lasttime变量。
进一步的,所述方法中,安全网关在判定安全网关故障后重启系统前还包括记录系统状态的操作。其中,系统状态包括:CPU状态、各个寄存器的值以及函数堆栈信息。
本发明还提供一种安全网关,包括:
初始化模块,用于在安全网关启动时,初始化预先配置的全局变量tos_nmi_watchdog和tos_watchdog_lasttime,并注册NMI中断处理函数do_nmi;
变量刷新模块,用于在刷新条件被触发时,刷新所述tos_watchdog_lasttime变量;
中断触发模块,用于在NMI中断被触发后,调用所述中断处理函数do_nmi检测所述tos_watchdog_lasttime变量在设定的时间内是否未被刷新过,若是,判定安全网关发生故障,重启系统。
本发明提供的安全网关进一步具有以下特点:
所述变量刷新模块中刷新条件包括:所述安全网关接收到数据包。
所述初始化模块,还用于在初始化预先配置的全局变量tos_nmi_watchdog和tos_watchdog_lasttime时,初始化预先配置的nmi_watchdog的定时器,并注册其处理函数watchdog_reset。
进一步的,所述变量刷新模块中刷新条件还包括:所述nmi_watchdog定时器到达设定的定时时间。
所述变量刷新模块中刷新tos_watchdog_lasttime变量具体为:将当前系统的jiffies赋值给所述tos_watchdog_lasttime变量。
所述中断触发模块,还用于在判定安全网关故障后重启系统前记录系统的状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天融信科技有限公司,未经北京天融信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010233706.4/2.html,转载请声明来源钻瓜专利网。