一种提高802.1x认证设备稳定性的方法

文档序号:7763420阅读:233来源:国知局
专利名称:一种提高802.1x认证设备稳定性的方法
技术领域
本发明涉及802.1X的认证技术,特别是指一种提高802.1X认证设备稳定性的方法。
背景技术
IEEE 802.1X是2001年6月电气和电子工程师协会(IEEE)标准化组织正式通过的基于端口的网络访问控制协议。802.1X协议的认证过程是通过接入控制设备即通常所说的设备端(Authenticator)与用户接入设备即通常所说的客户端(Supplicant)之间交互协议报文来完成的。Supplicant在通过认证并处于在线状态时,二者之间还会定期交互握手信息以确认在线状态有效,避免非法用户访问网络资源。
Authenticator与Supplicant之间的物理通信基础是有线局域网或无线局域网。在Authenticator与Supplicant的交互中,所有来自Supplicant的协议报文都是先由Authenticator的底层驱动程序转发到Authenticator的协议报文接收队列中,再由Authenticator按照先进先出的原则从该接收队列中读取并处理这些协议报文。
Authenticator的主要功能是根据对Supplicant的认证结果对用户待接入的端口进行控制,其功能由存在于接入控制设备中的软件模块或应用程序来实现,但Authenticator的功能载体仅为接入控制设备上的应用程序之一,或是应用程序的模块之一,因此在处理协议报文的时候,不能独占系统资源,需要按照一定的规则将CPU等系统资源短暂释放,以便其它应用程序有机会完成自己的功能。
在实际应用中下列情况是不可避免的
(1)突然出现大量用户接入,使系统在短时间内达到满载状态;(2)接入控制设备正在切断与所有用户设备联系的同时,Supplicant与Authenticator之间正在交互大量报文;(3)由于突发接入并已认证成功的用户较多,进而导致系统在定期交互握手报文信息的时间也发生在同一时间,因而使系统负荷产生周期性的满载;以上情况的发生必将使Authenticator中的协议报文接收队列中等待处理的协议报文数目超出Authenticator的处理能力,因而使Authenticator无法继续完成正常的接入认证工作。同时,由于Authenticator处于超负荷状态,还将导致正在线交互握手信息的用户,因握手时间过长而异常下线。
在现有技术中,主要采取两种措施解决上述问题一种是人为规定限制某些用户禁止接入,另一种是提高接入控制设备的系统处理能力,如提高CPU的处理能力等。
但是这两种解决方案存在不同程度的问题对于第一种方案,由于降低了接入用户的数目,而不能满足现代业务的发展需求;对于第二种方案,虽然在一定程度上可以缓解异常下线情况的发生,但由于引起用户接入异常最主要的原因是突发性的上下线,而通常情况下系统资源处于空闲状态,如单纯提高系统性能,会大幅提高设备成本,造成成本浪费。

发明内容
有鉴于此,本发明提供一种提高802.1X认证设备稳定性的方法。在系统繁忙的情况下,提高Authenticator的系统稳定性,同时改善系统的接入率。
为达到上述目的本发明的技术方案是这样实现的一种提高802.1X认证设备稳定性的方法,该方法包括以下步骤a、预先设置认证触发的抑制条件;b、判断系统当前状态是否满足认证触发的抑制条件,如果是,则丢弃当前待处理报文中类型为认证发起帧的协议报文,否则继续后续操作。
较佳地,步骤a所述抑制条件是接入控制设备中协议报文接受队列的占用率。
较佳地,步骤b进一步包括判断系统当前状态是否满足认证触发的抑制条件之前,判断当前待处理协议报文的类型是否为认证发起帧,如果是再判断系统当前状态是否满足认证触发的抑制条件,否则按不同协议报文类型分类进行处理。
较佳地,步骤b进一步包括判断系统当前状态是否满足认证触发的抑制条件之后,如果满足条件再判断当前待处理协议报文的类型是否为认证发起帧,如果是则丢弃,否则处理该认证发起帧。
较佳地,所述步骤a是设置底层驱动在单位时间内发往接入控制设备的协议报文接收队列中认证发起帧数目的阈值;所述步骤b是判断底层驱动在单位时间内所送往接入控制设备协议报文接收队列的认证发起帧的数目是否大于所设置的阈值,如果是,则丢弃当前待送往接入控制设备协议报文接收队列的报文中类型为认证发起帧的协议报文,否则,继续向接入控制设备发送所有协议报文。
较佳地,所述步骤a是设定系统繁忙程度的阈值;所述步骤b是判断系统繁忙程度是否达到所设定的阈值,如果是,则丢弃当前送往上层接入控制设备协议报文接收队列中类型为认证发起帧的协议报文,否则,继续向接入控制设备发送所有协议报文。
较佳地,步骤b所述的判断系统繁忙程度由底层驱动实现、或由交换芯片内的逻辑电路实现、或由操作系统的软件接口实现、或由上述三者的组合共同完成。
应用本发明,通过设定认证触发的抑制条件,控制在系统繁忙时Authenticator受理EAPOL-Start类型协议报文的数目,缓和了大用户量突然接入对Authenticator的冲击,从而提高了接入控制设备的稳定性及用户的成功接入率。同时,本发明不影响Authenticator与Supplicant对802.1X协议的支持,并且具有良好的可扩展性、移植性和兼容性。


图1为抑制新接入前后的系统资源占用率对比图;图2为应用本发明进行接入抑制处理的总体方案流程图;图3为应用本发明进行接入抑制处理实施例一的流程图。
具体实施例方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步详细说明。
在基于802.1X协议的认证过程中,每当受理一个新的用户接入,便会引起Authenticator内部与Supplicant之间的多次消息交互,尤其是刚刚开始认证的短时间内,消息往返最为频繁。因此,在系统繁忙时,抑制新用户的接入,便会有效控制消息数目进一步增加。由于Supplicant具有重发机制,当其所发出的接入请求不被Authenticator理会时,会多次尝试重新发出接入请求,Authenticator可以在系统资源有所缓解的时候受理新的接入,从而使Authenticator对系统资源的占用比率趋于平缓。
图1所示为抑制新接入前后的系统资源占用率对比图。图中,直线11表示系统资源,曲线12表示抑制新用户接入后系统资源的占用率,曲线13表示抑制新用户接入前系统资源的占用率。可见,在同样多用户接入的情况下,采取抑制手段前,系统资源占用率可能在某一段时间内突然提高,这段时间极易导致系统出现异常,如使在线的设备因此而下线,或正在接入网络的设备无法接入成功等;在采取抑制手段后,系统资源占用率始终较为平缓,且控制在系统的处理能力之内,因而可以更有效地控制认证设备的稳定性。
由于有新用户接入时,都是由Supplicant向Authenticator发类型为认证发起帧(EAPOL-Start)的协议报文来触发认证过程,因此,在具体实现操作中,要抑制新用户的接入,只要丢弃类型为EAPOL-Start的协议报文即可。本发明的主要思想如图2所示步骤201,预先设定触发认证的抑制条件;步骤202,判断当前系统是否满足预先设定的抑制条件,如果是,则执行步骤203,丢弃新的待处理的EAPOL-Start协议报文,否则执行步骤204,继续后续操作。针对本发明的思想有以下几种较佳实现方案。
实施例一当Authenticator自协议报文接收队列中取出一待处理的协议报文时,首先判断其类型为认证信息帧(EAP-Packet)、EAPOL-Start、退出请求帧(EAPOL-Logoff)、密钥信息帧(EAPOL-Key)、选择消息帧(EAPOL-Encapsulated-ASF-Alert)中的哪一种,如确认待处理协议报文的类型是EAPOL-Start,则检查当前的协议报文接收队列占用率是否达到预先设定的阈值,如果是,则丢弃该EAPOL-Start,结束本次报文处理过程。
图3所示为应用本发明进行接入抑制处理实施例一的流程图。
步骤301,Authenticator从协议报文接收队列中取出一待处理协议报文;步骤302,判断所取协议报文的类型是否为EAPOL-Start,如果是,则执行步骤304,否则执行步骤303;步骤303,根据协议的规定,对非EAPOL-Start类型的协议报文进行常规的相应处理后,执行步骤307;步骤304,Authenticator判断该接收队列的占用率是否达到60%,如果是,则执行步骤306,否则执行步骤305;步骤305,正常处理EAPOL-Start类型的协议报文后,执行步骤307;步骤306,丢弃该协议报文;步骤307,结束本此处理。
在上述方案中,当Authenticator从协议报文接收队列中取出一待处理协议报文后,也可先判断该接收队列的占用率是否达到60%,如果不是,则按报文类型分别完成相应的处理,如果是,则再判断所取出的协议报文是否为EAPOL-Start类型,如果是则丢弃该报文,否则进行常规处理。
实施例二在实际应用中,由于是底层驱动程序将接收到协议报文转发到Authenticator的协议报文接收队列中,因此,可通过控制底层驱动程序在单位时间内向Authenticator的协议报文接收队列发送类型为EAPOL-Start的协议报文的数目,以达到本发明的目的。其具体操作如下在底层驱动程序中预先设置系统在单位时间内接收EAPOL-Start类型的协议报文数目的阈值。如果系统在单位时间内接收EAPOL-Start类型的协议报文数目在阈值之内,则表示系统资源占用率在系统控制能力之内,则按不同协议报文类型分类进行处理;如果底层驱动程序在单位时间内收到的EAPOL-Start类型的协议报文数目超过所设定的阈值,则其不再向Authenticator的协议报文接收队列转发该类型的协议报文,直接将该类型的协议报文丢弃。
实施例三系统通过底层驱动程序或者交换芯片内的逻辑电路,根据进程被调用的次数或单位时间内CPU处理的数据量,等因素判断系统的繁忙程度,当系统的繁忙程度达到一定值时,控制底层驱动程序送往上层Authenticator的协议报文接收队列的EAPOL-Start的协议报文的数目,进而达到本发明的目的。
实施例四系统通过操作系统提供的软件接口根据任务调度时统计的时间片占用量、任务切换频率等数据判断系统的繁忙程序,当系统的繁忙程度达到一定值时,控制底层驱动程序送往上层Authenticator的协议报文接收队列的EAPOL-Start的协议报文的数目,进而达到本发明的目的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种提高802.1X认证设备稳定性的方法,其特征在于该方法包括以下步骤a、预先设置认证触发的抑制条件;b、判断系统当前状态是否满足认证触发的抑制条件,如果是,则丢弃当前待处理报文中类型为认证发起帧的协议报文,否则继续后续操作。
2.根据权利要求1所述的方法,其特征在于,步骤a所述抑制条件是接入控制设备中协议报文接受队列的占用率。
3.根据权利要求2所述的方法,其特征在于步骤b进一步包括判断系统当前状态是否满足认证触发的抑制条件之前,判断当前待处理协议报文的类型是否为认证发起帧,如果是再判断系统当前状态是否满足认证触发的抑制条件,否则按不同协议报文类型分类进行处理。
4.根据权利要求2所述的方法,其特征在于步骤b进一步包括判断系统当前状态是否满足认证触发的抑制条件之后,如果满足条件再判断当前待处理协议报文的类型是否为认证发起帧,如果是则丢弃,否则处理该认证发起帧。
5.根据权利要求1所述的方法,其特征在于,所述步骤a是设置底层驱动在单位时间内发往接入控制设备的协议报文接收队列中认证发起帧数目的阈值;所述步骤b是判断底层驱动在单位时间内所送往接入控制设备协议报文接收队列的认证发起帧的数目是否大于所设置的阈值,如果是,则丢弃当前待送往接入控制设备协议报文接收队列的报文中类型为认证发起帧的协议报文,否则,继续向接入控制设备发送所有协议报文。
6.根据权利要求1所述的方法,其特征在于,所述步骤a是设定系统繁忙程度的阈值;所述步骤b是判断系统繁忙程度是否达到所设定的阈值,如果是,则丢弃当前送往上层接入控制设备协议报文接收队列中类型为认证发起帧的协议报文,否则,继续向接入控制设备发送所有协议报文。
7.根据权利要求6所述的方法,其特征在于,步骤b所述的判断系统繁忙程度由底层驱动实现、或由交换芯片内的逻辑电路实现、或由操作系统的软件接口实现、或由上述三者的组合共同完成。
全文摘要
本发明提供了一种提高802.1X认证设备稳定性的方法,该方法包括以下步骤a、预先设置认证触发的抑制条件;b、判断系统当前状态是否满足认证触发的抑制条件,如果是,则丢弃当前待处理报文中类型为认证发起帧的协议报文,否则继续后续操作。应用本发明通过控制在系统繁忙时受理EAPOL-Start类型协议报文的数目,缓和了大用户量突然接入对Authenticator的冲击,从而提高了接入控制设备的稳定性及用户的成功接入率。同时,本发明不影响Authenticator与Supplicant对8021X协议的支持,并且具有良好的可扩展性、移植性和兼容性。
文档编号H04Q3/545GK1522020SQ03102439
公开日2004年8月18日 申请日期2003年1月28日 优先权日2003年1月28日
发明者魏其礼, 罗汉军, 邹婷, 汤杰成 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1