专利名称:一种单接入端口下多用户的认证方法与系统的制作方法
技术领域:
本发明涉及网络通信技术领域,尤其涉及一种在接入层交换机单端口下支持多用 户的认证实现方法及系统。
背景技术:
802. lx协议起源于802. 11协议,后者是IEEE的无线局域网协议,制订802. lx协 议的初衷是为了解决无线局域网用户的接入认证问题。IEEE 802LAN协议定义的局域网并 不提供接入认证,只要用户能接入局域网控制设备(如LANSwitch),就可以访问局域网中 的设备或资源。这在早期企业网有线LAN应用环境下并不存在明显的安全隐患。随着移动办公及驻地网运营等应用的大规模发展,服务提供者需要对用户的接入 进行控制和配置。尤其是WLAN的应用和LAN接入在电信网上大规模开展,有必要对端口加 以控制以实现用户级的接入控制,802. lx就是IEEELAN/WAN委员会为了解决基于端口的网 络接入控制(Port-Based NetworkAccess Control)而定义的一个标准,该标准目前已经在 无线局域网和以太网中被广泛应用。“基于端口的网络接入控制”是指在局域网接入设备的端口这一级对所接入的用 户设备进行认证和控制。连接在端口上的用户设备如果能通过认证,就可以访问局域网中 的资源;如果不能通过认证,则无法访问局域网中的资源。在实际应用中802. lx下又衍生出了 Auto Vlan与Guest Vlan。Auto VLAN特性可以使RADIUS服务器根据用户信息和用户接入设备信息来动态 改变接入端口所属的VLAN。当802. lx用户在服务器上通过认证时,RADIUS服务器会把授 权信息传送给设备端。当交换机接收到下发的AutoVLAN信息后,当前Access端口离开用 户配置的VLAN并加入Auto VLAN中。Auto VLAN并不改变端口的配置,也不影响端口的配置。但是,Auto VLAN的优先 级高于用户配置的VLAN,即通过认证后起作用的VLAN是Auto VLAN,用户配置的VLAN在用 户下线后生效。Guest VLAN特性用来允许未认证用户访问某些特定资源。用户认证端口在通过802. lx认证之前属于一个缺省VLAN(即GuestVLAN),用户访 问该VLAN内的资源不需要认证,但此时不能够访问其他网络资源;认证成功后,端口离开 Guest VLAN,用户可以访问其他的网络资源。用户在Guest VLAN中可以获取802. lx客户端软件,升级客户端,或执行其他一些 应用升级程序(例如防病毒软件、操作系统补丁程序等)。如果因为没有专用的认证客户端 或者客户端版本过低等原因,导致在一定的时间内端口上无客户端认证成功,接入设备会 把该端口加入到Guest VLAN。开启802. lx特性并正确配置Guest VLAN后,当设备从某一端口发送触发认证报 文(EAP-Request/Identity)超过设定的最大次数而没有收到客户端的任何回应报文时, 与Auto VLAN类似,该端口将被加入到Guest VLAN内。此时Guest VLAN中端口下的用户
3发起认证,如果认证失败,该端口将会仍然处在Guest VLAN内;如果认证成功,分为以下两 种情况1.认证服务器下发一个Auto VLAN,这时端口离开Guest VLAN,加入下发的Auto VLAN中。用户下线后,端口会被重新划分到所配置的GuestVlan内。2.认证服务器不下发VLAN,这时端口离开Guest VLAN,加入配置的VLAN中。用户 下线后,端口会被重新划分到所配置的Guest VLAN内。Auto VLAN与Guest VLAN技术实质上都是使用户在认证前后处于不同的VLAN中, 以达到安全以及允许未认证用户访问某些特定资源的目的。但是,目前市场上交换机推出 的基于802. lx的Auto VLAN与Guest VLAN的认证方式都是基于端口的,在该种认证方式 下,如果该端口被认证通过,则该端口下的所有数据均会被划分到认证后VLAN中,如果该 端口没有认证通过,则该端口下的所有数据均会被划分到端口所在VLAN (未认证VLAN)中。 但是,如果一个接入端口下接多个用户,则不能分别对每个用户实现划分未认证VLAN与认 证后VLAN,从而不能实现Auto VLAN及Guest VLAN功能,不能很好的满足一些特定的实际 应用需求。
发明内容
本发明是针对现有技术中存在的上述问题而做出的,其目的是提供一种基于MAC 地址的802. lx认证的动态VLAN功能。该方法可以对同一端口下接的多个用户分别根据认 证状态划分到未认证VLAN与认证后VLAN。本发明通过以下方案实现上述目的一种单接入端口下多用户的认证方法,包括以下步骤从用户设备接收报文,进行缓存,根据端口的VLAN属性设置确定报文的VLAN ID ;根据报文的源MAC地址对已有表项进行查找,如果查找到对应的表项,则根据该 表项所指定的VLAN修改报文的VLAN ID为认证后VLAN,反之,不进行操作;根据报文的特征,判断该报文是否为协议报文,如果该报文为协议报文,送到CPU 进行处理或触发认证,否则把该报文在指定VLAN内进行转发处理。CPU进行处理或触发认证时,如果被认证通过,则MAC地址对应的所有数据均会被 划分到认证后VLAN中,如果没有认证通过,则MAC地址对应的所有数据均会被划分到端口 所在的未认证VLAN中。根据触发认证方式的不同,所述报文包括EAP0L报文或者触发自动认证的报文, 当用户自己安装802. lx客户端并进行认证时,协议报文为EAP0L报文,当用户不安装 802. lx客户端,而发出第一个报文时,可将该报文当做协议报文,收到该报文后,由CPU根 据报文的源MAC地址自动发起认证。当发起认证后,CPU与认证服务器交互认证成功后,CPU根据该MAC地址与认证后 的VLAN ID,自动添加MAC对应的VLAN表项。并同时提供一种可实现单接入端口下多用户的认证方法的系统,其特征在于包 括用户侧接收发送处理模块从用户设备接收报文,进行缓存,并根据端口的VLAN 属性设置确定报文的VLAN ID ;并将端口所在VLAN与认证后VLAN中的报文转发给用户设
MAC VLAN模块根据报文的源MAC地址对已有表项进行查找,如果找到,根据该 MAC地址对应的VLAN ID设置修改报文的VLAN ID,如果查找不到,则保留报文原有的VLAN ;协议处理模块对报文进行协议分析;中央处理器CPU 根据协议分析结果进行触发认证过程或转发动作,认证通过后, 向MAC VLAN模块下发该MAC对应的VLAN表项;网络侧接收发送处理模块从MAC VLAN模块接收报文,将报文转发给外部认证设 备,并将来自外部认证设备的报文转发给MAC VLAN模块。作为一种实现方式,所述MAC VLAN模块采用支持MAC VLAN特性的芯片,如BCM 5650x。作为另一种实现方式,,所述MAC VLAN模块采用规则处理模块可以修改VID的芯 片,如Marvell 98DX107,通过调整其规则处理模块来实现其功能。本发明提供了一种基于MAC地址的根据认证状态而划分VLAN的方法及系统,针对 每一个源MAC地址所对应的用户,可根据其不同的认证状态而使其处于不同的VLAN中,该 用户没有认证通过时,包括没有进行认证、认证失败、或认证成功后又下线,该MAC地址发 出的数据流量被划分入未认证VLAN,其可以与未认证VLAN中的其它设备通信;如果通过认 证,该MAC地址发出的数据流量被划分入认证后VLAN,其可以与认证后VLAN中的其它设备 通信,实现了一个接入端口下接多个用户时实现Auto VLAN及Guest VLAN功能,能很好的 满足一些特定的实际应用需求。
下面根据实施例和附图对本发明作进一步详细说明。图1是本发明实施例所述方法的报文处理流程框图;图2是实现本发明所述方法的系统组成结构具体实施例方式图1、图2给了本发明所述方法的报文处理流程框图及实现本发明所述方法的系 统组成结构图。以下结合其系统说明本方法的实现过程该认证系统组成包括用户侧接收发送处理模块202、MAC VLAN模块203、协议处 理模块204、中央处理器CPU205、网络侧接收发送处理模块206。用户侧接收发送处理模块202的功能是从用户设备201接收报文,进行缓存,并 根据端口的VLAN属性设置确定报文的VLAN ID,并将端口所在VLAN与认证后VLAN中的报 文转发给用户设备。MAC VLAN模块203的功能是根据报文的MAC地址对已有表项进行查找,如果找 到,根据该MAC地址对应的VLAN ID设置修改报文的VLAN ID,如果查找不到,则保留报文原 有的VLAN。协议处理模块204的功能是对报文进行协议分析,根据分析结果进行送中央处 理器CPU205或转发动作。该模块的主要作用是触发认证过程。认证通过后,中央处理器 CPU205向MAC VLAN模块203下发该MAC对应的VLAN表项。
网络侧接收发送处理模块206的功能是从MAC VLAN模块203接收报文,将报文 转发给外部认证设备,并将来自外部认证设备的报文转发给MACVLAN模块203。其具体认证过程如下首先,在步骤S101,用户侧接收处理模块202接收到来自用户设备的报文并进行
缓存;在步骤S102,它根据端口所在的VLAN属性(未认证VLAN)确定报文的VLAN ID, 然后把报文交送给MAC VLAN模块203 ;在接收到报文之后,在步骤S103,MAC VLAN模块203根据报文的源MAC地址,查找 MAC对应的VLAN表项;在步骤S104中,如果查找到对应的表项,则在步骤S105中根据该表项所指定的 VLAN修改报文的VLAN ID (认证后VLAN),反之,不进行操作;接下来,报文被送到协议处理模块204,在步骤S106中,协议处理模块204判断该 报文是否为协议报文,如果该报文为协议报文,执行步骤S108,被送到中央处理器CPU205 进行处理或触发认证,否则执行步骤S107,协议处理模块204把该报文发送至网络侧接收 发送处理模块206在指定VLAN内进行转发处理。另外在上述步骤S108中,根据触发认证方式的不同,协议报文包括了 EAP0L报 文或者触发自动认证的报文;当用户自己安装802. lx客户端并进行认证时,协议报文为 EAP0L报文,当用户不安装802. lx客户端,而发出第一个报文时,可将该报文当做协议报 文,收到该报文后,由中央处理器CPU205根据报文的源MAC地址自动发起认证。在上述步 骤S108中,当发起认证后,中央处理器CPU205与认证服务器交互认证成功后,CPU根据该 MAC地址与认证后的VLAN ID,自动添加MAC对应的VLAN表项。系统中涉及到的MAC VLAN模块203,在实际实现时可根据交换芯片的特点采用两 种方式实现。对于支持MAC VLAN特性的芯片,如BCM 5650x,可以直接使用芯片的MAC VLAN 功能实现。对于不支持MAC VLAN特性而其规则处理模块可以修改VID的芯片,如Marvell 98DX107,可以使用其规则处理模块,匹配报文的MAC地址,动作为设置VLAN ID,来实现该 功能。应该注意,虽然以上是参考具体实施方式
对本发明进行说明的,但这并不意味是 对本发明的限制,本发明的保护范围是由所附权利要求而不是具体实施方式
来限定的。
权利要求
一种单接入端口下多用户的认证方法,其特征在于包括以下步骤从用户设备接收报文,进行缓存,根据端口的VLAN属性设置确定报文的VLAN ID;根据报文的源MAC地址对已有表项进行查找,如果查找到对应的表项,则根据该表项所指定的VLAN修改报文的VLAN ID为认证后VLAN ID,反之,不进行操作;根据报文的特征,判断该报文是否为协议报文,如果该报文为协议报文,送到CPU进行处理或触发认证,否则把该报文在指定VLAN内进行转发处理。
2.根据权利要求1所述的单接入端口下多用户的认证方法,其特征在于CPU进行处理 或触发认证时,如果被认证通过,则MAC地址对应的所有数据均会被划分到认证后VLAN中, 如果没有认证通过,则MAC地址对应的所有数据均会被划分到端口所在的未认证VLAN中。
3.根据权利要求1所述的单接入端口下多用户的认证方法,其特征在于根据触发 认证方式的不同,所述报文包括EAP0L报文或者触发自动认证的报文,当用户自己安装 802. lx客户端并进行认证时,协议报文为EAP0L报文,当用户不安装802. lx客户端,而发出 第一个报文时,可将该报文当做协议报文,收到该报文后,由CPU根据报文的源MAC地址自 动发起认证。
4.根据权利要求1所述的单接入端口下多用户的认证方法,其特征在于当发起认证 后,CPU与认证服务器交互认证成功后,CPU根据该MAC地址与认证后的VLAN ID,自动添加 MAC对应的VLAN表项。
5.一种可实现单接入端口下多用户的认证方法的系统,其特征在于包括用户侧接收发送处理模块从用户设备接收报文,进行缓存,并根据端口的VLAN属性 设置确定报文的VLAN ID ;并将端口所在VLAN与认证后VLAN中的报文转发给用户设备;MAC VLAN模块根据报文的源MAC地址对已有表项进行查找,如果找到,根据该MAC地 址对应的VLAN ID设置修改报文的VLAN ID,如果查找不到,则保留报文原有的VLAN ;协议处理模块对报文进行协议分析;中央处理器CPU:根据协议分析结果进行触发认证过程或转发动作,认证通过后,向 MAC VLAN模块下发该MAC对应的VLAN表项;网络侧接收发送处理模块从MAC VLAN模块接收报文,将报文转发给外部认证设备, 并将来自外部认证设备的报文转发给MAC VLAN模块。
6.根据权利要求5所述的可实现单接入端口下多用户的认证方法的系统,其特征在 于所述MAC VLAN模块采用支持MAC VLAN特性的芯片,如BCM5650x。
7.根据权利要求5所述的可实现单接入端口下多用户的认证方法的系统,其特征在 于所述MAC VLAN模块采用规则处理模块可以修改VID的芯片,如Marvell 98DX107,通过 调整其规则处理模块来实现其功能。
全文摘要
本发明公开了一种单接入端口下多用户的认证方法及系统,基于MAC地址并根据认证状态而划分VLAN,即针对每一个源MAC地址所对应的用户,可根据其不同的认证状态而使其处于不同的VLAN中,该用户没有认证通过时,包括没有进行认证、认证失败、或认证成功后又下线,该MAC地址发出的数据流量被划分入未认证VLAN,其可以与未认证VLAN中的其它设备通信;如果通过认证,该MAC地址发出的数据流量被划分入认证后VLAN,其可以与认证后VLAN中的其它设备通信,实现了一个接入端口下接多个用户时实现Auto VLAN及Guest VLAN功能,能很好的满足一些特定的实际应用需求。
文档编号H04L29/08GK101860551SQ20101020964
公开日2010年10月13日 申请日期2010年6月25日 优先权日2010年6月25日
发明者董昕 申请人:神州数码网络(北京)有限公司;上海神州数码有限公司