触发802.1x认证的方法及设备端的制作方法

文档序号:7743952阅读:158来源:国知局
专利名称:触发802.1x认证的方法及设备端的制作方法
技术领域
本发明涉及802. IX认证技术领域,具体涉及触发802. IX认证的方法及设备端。
背景技术
目前,电子电气工程师协会(IEEE, Institute of Electrical and ElectronicsEngineers) 802 Jwj M / Γ ^ M (LAN/WAN, Local Area Network/Wide AreaNetwork)委员会为解决无线局域网网络安全问题,提出了 802. IX协议。后来,802. IX 协议作为局域网端口的一个普通接入控制机制在以太网中被广泛应用,主要解决以太网内认证和安全方面的问题。802. IX协议是一种基于端口的网络接入控制协议。“基于端口的网络接入控制”是指在局域网接入设备的端口这一级对所接入的用户设备进行认证和控制。连接在端口上的用户设备如果能通过认证,就可以访问局域网中的资源;如果不能通过认证,则无法访问局域网中的资源。802. IX系统为典型的客户端/服务器(Client/Server)结构,图1给出了 802. IX 认证系统的体系结构图,如图1所示,该系统共包括三个实体客户端(Client)、设备端 (Device)和认证服务器(Server)。其中客户端是位于局域网段一端的一个实体,由链路另一端的实体对其进行认证。客户端一般为一个用户终端设备,用户可以通过启动客户端软件发起802. IX认证。客户端必 M^WJni^M±WηΤ ΓMlAilEt^il (EAPOL, Extensible Authentication Protocol over LAN)。设备端是位于局域网段一端的另一个实体,对所连接的客户端进行认证。设备端通常为支持802. IX协议的网络设备,它为客户端提供接入局域网的端口,该端口可以是物理端口,也可以是逻辑端口。认证服务器是为设备端提供认证服务的实体。认证服务器用于实现对用户进行认证、授权和计费,通常为远程认证拨号用户服务(RADIUS,RemoteAuthentication Dial-In User Service)服务器。在一般的使用环境中,客户端是通过EAPOL开始(EAPOL-Mart)报文来触发认证, 但是目前有些客户端无法支持主动发送EAPOL-Mart报文来触发认证,这造成了 802. IX应用上的一个严重障碍。为了解决该问题,目前有如下几种解决方法一、设备端通过单一的协议报文来触发802. IX认证。这种方式下,设备端定时向客户端发送特定的协议报文,客户端收到该协议报文,向设备端响应一个 EAPOL-ResponeID报文,设备端收到该EAPOL-ResponeID报文,向RADIUS服务器发起针对该客户端的认证。方法二、设备端通过定时发送多播报文来触发802. IX认证。这种方式下,设备端定时发送多播报文,客户端接收到该多播报文,则向设备端响应一个EAPOL-ResponelD报文,设备端收到该EAPOL-ResponelD报文,向RADIUS服务器发起针对该客户端的认证。
上述两种方法都具有各自的局限性,其中,方法一只适用于单一的组网方式,如 若设备端采用动态主机配置协议(DHCP,Dynamic HostConfiguration Protocol)报文来触发客户端发起802. IX认证,则这种方式只适用于动态获取地址的客户端,而不适用于具有静态IP地址的客户端。方法二则由于设备端发送的报文为多播报文,这样会导致接入到设备端的所有客户端和其它接入设备都会收到该报文,从而使得无需进行认证的终端和设备也会收到该报文,如图2为现有的采用多播报文触发802. IX认证的一个组网示例图,其中,交换机为设备端,PC3是高级别用户,不需要进行认证,但是PC3仍会收到交换机发来的多播报文,这样,在PC3的Windows客户端开启时,就会弹出需要输入用户名的窗口,让用户觉得突兀,降低了用户体验。

发明内容
本发明提供触发802. IX认证的方法及设备端,以使得在各种组网情况下,802. IX 客户端都能发起802. IX认证,并提高用户体验。本发明的技术方案是这样实现的一种触发802. IX认证的方法,该方法包括配置有802. IX功能的设备端接收客户端发来的报文,若发现该报文的源媒体接入控制MAC地址不存在于自身保存的MAC地址转发表中,则向客户端发送单播报文,以触发客户端发起802. IX认证,认证成功,将客户端的MAC地址增加到所述MAC地址转发表中。预先在配置有802. IX功能的设备端的MAC地址转发表中配置不需进行认证的客户端的MAC地址。所述设备端接收客户端发来的报文之后进一步包括设备端发现该报文不为 802. IX协议报文,且报文的源MAC地址存在于自身保存的MAC地址转发表中,则直接转发该报文。所述设备端发现该报文的源MAC地址不存在于自身保存的MAC地址转发表中的同时,进一步包括设备端判断该报文的源MAC地址是否存在于自身建立的临时表项中,若是,不作后续处理;否则,将该报文的源MAC地址增加到所述临时表项中,并执行所述向客户端发送单播报文的动作;且,所述认证成功之后进一步包括设备端将所述客户端的MAC地址从所述临时表项中删除。所述设备端向客户端发送单播报文的同时,进一步包括设备端启动一个等待定时器;且,若在等待定时器超时时,设备端未接收到客户端的响应报文,则重复向客户端发送所述单播报文同时重启等待定时器,若重发预定次数的单播报文后,仍未在等待定时器超时前接收到客户端的响应报文,则认为该客户端不支持802. IX认证,从临时表项中删除该客户端的MAC地址。所述单播报文为单播EAPOL-RequestID报文。一种设备端,该设备端配置有802. IX功能,该设备端包括驱动模块,接收客户端发来的报文,若发现该报文的源MAC地址不存在于MAC地址转发表中,则将该报文上报给上层模块;上层模块,接收驱动模块发来的报文,向报文的源MAC地址对应的客户端发送单播报文,以触发客户端发起802. IX认证,认证成功,将客户端的MAC地址增加到MAC地址转发表中。所述设备端进一步包括配置模块,预先在MAC地址转发表中配置不需进行认证的客户端的MAC地址。所述驱动模块包括第一模块,接收客户端发来的报文,判断该报文是否为802. IX协议报文,若是,直接将该报文上报到上层模块;否则,将该报文发送给第二模块;第二模块,接收第一模块发来的报文,判断该报文的源MAC地址是否存在于MAC地址转发表中,若是,直接转发该报文;否则,将该报文上报到上层模块。所述上层模块包括第三模块,接收驱动模块发来的报文,判断该报文的源MAC地址是否存在于自身建立的临时表项中,若是,不作后续处理;否则,将该报文的源MAC地址增加到所述临时表项中,同时,将该报文发送给第四模块;第四模块,接收第三模块发来的报文,向报文的源MAC地址对应的客户端发送单播报文,以触发客户端发起802. IX认证,认证成功,将客户端的MAC地址从所述临时表项中删除,同时将客户端的MAC地址增加到MAC地址转发表中。所述第四模块进一步用于,在向客户端发送单播报文的同时,启动一个等待定时器;若在等待定时器超时时,未接收到客户端的响应报文,则重复向客户端发送所述单播报文同时重启等待定时器,若重发预定次数的单播报文后,仍未在等待定时器超时前接收到客户端的响应报文,则认为该客户端不支持802. Ix认证,从所述临时表项中删除该客户端的MAC地址。与现有技术相比,本发明中,设备端根据未知源MAC地址报文来触发客户端发起 802. IX认证,这样,只要设备端能接收到的报文必然是以太网接入的客户端发来的,这样该报文必然包含源MAC地址,从而必然可以触发802. IX认证,因此,无论是各种组网情况都可成功触发802. IX认证过程。另外,由于设备端向客户端发送的是单播报文,因此,只有需要进行认证的客户端才会收到该报文,避免了不需进行认证的终端或设备收到该报文,提高了用户体验。


图1为802. IX认证系统的体系结构图;图2为现有的采用多播报文触发802. IX认证的一个组网示例图;图3为本发明实施例提供的触发802. IX认证的方法流程图;图4为本发明实施例提供的设备端的组成图。
具体实施例方式下面结合附图及具体实施例对本发明再作进一步详细的说明。图3为本发明实施例提供的触发802. IX认证的方法流程图,如图3所示,其具体步骤如下步骤301 在配置有802. IX功能的设备端的驱动模块上配置规则上报未知源媒体接入控制(MAC,Media Access Control)地址报文;同时,在设备端的MAC地址转发表中配置不需进行认证的客户端的MAC地址。步骤302 设备端的驱动模块接收客户端发来的报文,驱动模块判断该报文是否为802. IX协议报文,若是,执行步骤303 ;否则,执行步骤304。步骤303 设备端的驱动模块将该802. IX协议报文上报到设备端的上层模块,本
流程结束。在现有技术中,设备端的驱动模块只要接收到802. IX报文,就会直接上报到上层模块。本步骤与现有技术的处理相同。步骤304 设备端的驱动模块判断报文的源MAC地址是否存在于自身保存的MAC 地址转发表中,若是,执行步骤305 ;否则,执行步骤306。步骤305 驱动模块直接将该报文转发出去,本流程结束。报文的源MAC地址存在于MAC地址转发表中,则说明客户端已通过802. IX认证, 或者客户端为不需进行认证的高级别用户。步骤306 驱动模块将该报文上报给设备端的上层模块。这里,驱动模块只是将该报文上报给上层模块,并不向外转发该报文。步骤307 上层模块接收该报文,发现该报文为非802. IX协议报文,判断该报文的源MAC地址是否存在于自身建立的临时表项中,若是,执行步骤308 ;否则,执行步骤309。步骤308 上层模块确定该客户端正在进行802. Ix认证,不作处理,本流程结束。步骤309 上层模块将该报文的源MAC地址增加到临时表项中,同时向客户端发送 EAPOL-RequestIDi 艮文。步骤310 客户端接收EAPOL-RequestID报文,向设备端回应EAPOL-ResponeID报文,开始进行802. IX认证。其中,步骤309中,上层模块在向客户端发送EAPOL-RequestID报文的同时,启动一个等待定时器,若在等待定时器超时时,未接收到客户端回应的EAPOL-ResponselD 报文,则重复向客户端发送EAPOL-RequestID报文,同时重启等待定时器,若重发预定次数的EAPOL-RequestID报文后,仍未在等待定时器超时前接收到客户端回应的 EAPOL-ResponselD报文,则认为客户端不支持802. IX认证,从临时表项中删除该客户端的 MAC地址,这样,之后再有相同的MAC地址上报,则重新执行步骤309 将该MAC地址重新加入临时表项,触发一次新的802. IX认证。步骤311 设备端接收EAPOL-ResponselD报文,向RADIUS服务器发起针对该客户端的认证过程,并在客户端认证成功时,将客户端的MAC地址从临时表项中删除,同时将客户端的MAC地址增加到自身保存的MAC地址转发表项中。从图3所示流程可以看出由于设备端是根据未知源MAC地址报文来触发客户端发起802. IX认证,这样,只要设备端能接收到的报文必然是以太网接入的客户端发来的,这样该报文必然包含源MAC地址,从而必然可以触发802. IX认证,因此,无论是各种组网情况都可成功触发802. IX认证过程。另外,由于设备端向客户端发送的是单播 EAPOL-RequestID报文,因此,只有需要进行认证的客户端才会收到该报文,避免了不需进行认证的终端或设备收到该报文,提高了用户体验。此外,步骤301中,预先在设备端的MAC地址转发表中配置不需进行认证的客户端的MAC地址,这样,设备端接收到不需进行认证的客户端发来的报文后,若发现该报文不为802. 1协议报文,则就会在MAC地址转发表中查找该报文的源MAC地址,则必然会查找到,从而就会直接将该报文转发出去,而不会上报到上层模块,从而不会触发对该客户端的 802. IX认证过程。图4为本发明实施例提供的设备端的组成图,该设备端配置有802. IX功能,如图 4所示,该设备端包括驱动模块41和上层模块42,其中驱动模块41 接收客户端发来的报文,若发现该报文的源MAC地址不存在于MAC 地址转发表中,则将该报文上报给上层模块42。上层模块42 接收驱动模块41发来的报文,发现该报文为非802. IX协议报文,向报文的源MAC地址对应的客户端发送EAPOL-RequestID报文,以触发客户端发起802. IX认证,认证成功,将客户端的MAC地址增加到MAC地址转发表中。进一步地,图4所示设备端还可包括配置模块,用于预先在MAC地址转发表中配置不需进行认证的客户端的MAC地址。实际应用中,驱动模块41可包括第一模块和第二模块,其中第一模块接收客户端发来的报文,判断该报文是否为802. IX协议报文,若是,直接将该报文上报到上层模块42 ;否则,将该报文发送给第二模块。第二模块接收第一模块发来的报文,判断该报文的源MAC地址是否存在于MAC地址转发表中,若是,直接转发该报文;否则,将该报文上报到上层模块42。实际应用中,上层模块42可包括第三模块和第四模块,其中第三模块接收驱动模块41发来的报文,发现该报文为非802. IX协议报文,判断该报文的源MAC地址是否存在于自身建立的临时表项中,若是,不作后续处理;否则,将该报文的源MAC地址增加到所述临时表项中,同时,将该报文发送给第四模块。第四模块接收第三模块发来的报文,向报文的源MAC地址对应的客户端发送 EAPOL-RequestID报文,以触发客户端发起802. IX认证,认证成功,将客户端的MAC地址从所述临时表项中删除,同时将客户端的MAC地址增加到MAC地址转发表中。第四模块还可用于,在向客户端发送EAPOL-RequestID报文的同时,启动一个等待定时器;若在等待定时器超时时,未接收到客户端回应的EAPOL-ResponelD报文,则重复向客户端发送所述EAPOL-RequestID报文同时重启等待定时器,若重发预定次数的单播报文后,仍未在等待定时器超时前接收到客户端回应的EAPOL-ResponelD报文,则认为该客户端不支持802. Ix认证,从所述临时表项中删除该客户端的MAC地址。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种触发802. IX认证的方法,其特征在于,该方法包括配置有802. IX功能的设备端接收客户端发来的报文,若发现该报文的源媒体接入控制MAC地址不存在于自身保存的MAC地址转发表中,则向客户端发送单播报文,以触发客户端发起802. IX认证,认证成功,将客户端的MAC地址增加到所述MAC地址转发表中。
2.如权利要求1所述的方法,其特征在于,预先在配置有802.IX功能的设备端的MAC 地址转发表中配置不需进行认证的客户端的MAC地址。
3.如权利要求1或2所述的方法,其特征在于,所述设备端接收客户端发来的报文之后进一步包括设备端发现该报文不为802. IX协议报文,且报文的源MAC地址存在于自身保存的MAC地址转发表中,则直接转发该报文。
4.如权利要求1或2所述的方法,其特征在于,所述设备端发现该报文的源MAC地址不存在于自身保存的MAC地址转发表中的同时,进一步包括设备端判断该报文的源MAC地址是否存在于自身建立的临时表项中,若是,不作后续处理;否则,将该报文的源MAC地址增加到所述临时表项中,并执行所述向客户端发送单播报文的动作;且,所述认证成功之后进一步包括设备端将所述客户端的MAC地址从所述临时表项中删除。
5.如权利要求4所述的方法,其特征在于,所述设备端向客户端发送单播报文的同时, 进一步包括设备端启动一个等待定时器;且,若在等待定时器超时时,设备端未接收到客户端的响应报文,则重复向客户端发送所述单播报文同时重启等待定时器,若重发预定次数的单播报文后,仍未在等待定时器超时前接收到客户端的响应报文,则认为该客户端不支持802. IX认证,从临时表项中删除该客户端的MAC地址。
6.如权利要求1或2所述的方法,其特征在于,所述单播报文为单播EAPOL-RequestID 报文。
7.一种设备端,该设备端配置有802. IX功能,其特征在于,该设备端包括驱动模块,接收客户端发来的报文,若发现该报文的源MAC地址不存在于MAC地址转发表中,则将该报文上报给上层模块;上层模块,接收驱动模块发来的报文,向报文的源MAC地址对应的客户端发送单播报文,以触发客户端发起802. IX认证,认证成功,将客户端的MAC地址增加到MAC地址转发表中。
8.如权利要求7所述的设备端,其特征在于,所述设备端进一步包括配置模块,预先在MAC地址转发表中配置不需进行认证的客户端的MAC地址。
9.如权利要求7或8所述的设备端,其特征在于,所述驱动模块包括第一模块,接收客户端发来的报文,判断该报文是否为802. IX协议报文,若是,直接将该报文上报到上层模块;否则,将该报文发送给第二模块;第二模块,接收第一模块发来的报文,判断该报文的源MAC地址是否存在于MAC地址转发表中,若是,直接转发该报文;否则,将该报文上报到上层模块。
10.如权利要求7或8所述的设备端,其特征在于,所述上层模块包括第三模块,接收驱动模块发来的报文,判断该报文的源MAC地址是否存在于自身建立的临时表项中,若是,不作后续处理;否则,将该报文的源MAC地址增加到所述临时表项中, 同时,将该报文发送给第四模块;第四模块,接收第三模块发来的报文,向报文的源MAC地址对应的客户端发送单播报文,以触发客户端发起802. IX认证,认证成功,将客户端的MAC地址从所述临时表项中删除,同时将客户端的MAC地址增加到MAC地址转发表中。
11.如权利要求10所述的设备端,其特征在于,所述第四模块进一步用于,在向客户端发送单播报文的同时,启动一个等待定时器;若在等待定时器超时时,未接收到客户端的响应报文,则重复向客户端发送所述单播报文同时重启等待定时器,若重发预定次数的单播报文后,仍未在等待定时器超时前接收到客户端的响应报文,则认为该客户端不支持 802. Ix认证,从所述临时表项中删除该客户端的MAC地址。
全文摘要
本发明公开了触发802.1X认证的方法及设备端。方法包括配置有802.1X功能的设备端接收客户端发来的报文,若发现该报文的源MAC地址不存在于自身保存的MAC地址转发表中,则向客户端发送单播报文,以触发客户端发起802.1X认证,认证成功,将客户端的MAC地址增加到所述MAC地址转发表中。本发明使得各种组网情况下的802.1X客户端都能发起802.1X认证,并提高了用户体验。
文档编号H04L29/06GK102195952SQ20101012717
公开日2011年9月21日 申请日期2010年3月17日 优先权日2010年3月17日
发明者徐勇刚 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1