一种Portal认证的方法和设备的制作方法

文档序号:7584692阅读:207来源:国知局
专利名称:一种Portal认证的方法和设备的制作方法
技术领域
本发明涉及通信技术领域,特别是涉及一种Portal认证的方法和设备。
背景技术
随着科学技术的快速发展,对网络技术提出了更多的要求,多种接入认证技术应 运而生。由于web(World Wide W^eb,万维网)较强的表达性,在认证过程中可提供额外内容 (例如,广告性质的内容),从而使得快速方便的web认证方式被广泛采用。其中,web认证 是指基于万维网的一种认证方法,且web认证的另一种称呼为Portal(门户、入口 )认证。具体的,随着浏览器的广泛使用,Portal认证(即基于web页面的认证接入方式) 越发普及,而随着部署的增多、用户量的增大,需要保证Portal服务器(提供web门户认证 页面的专用服务器)的可靠性,从而解决Portal服务器死机(宕机)所导致的用户无法正 常接入网络的问题。为了解决上述问题,当前的解决方法中可以建立多个Portal服务器实现热备份, 但是,在实现热备份的过程中,如何能够快速的检测到Portal服务器不可用,从而切换到 下一个Portal服务器提供认证服务给用户;现有技术中并没有相应的解决方案。

发明内容
本发明提供一种Portal认证的方法和设备,以探测Portal服务器的可用性,迅速 切换Portal服务器,并保证用户正常接入。为了达到上述目的,本发明提供一种Portal认证的方法,应用于包括接入设备和 Portal服务器的Portal认证系统中,该方法包括以下步骤步骤a、所述接入设备将自身模拟为用户设备向Portal服务器发送连接请求;如 果接收到所述Portal服务器的回应,确定所述Portal服务器为可用Portal服务器;否则, 确定所述Portal服务器为不可用Portal服务器;步骤b、所述接入设备从可用Portal服务器中选择为用户设备提供Portal认证服 务的Portal服务器。步骤a具体包括所述接入设备将自身模拟为用户设备向Portal服务器发送TCP连接请求;如果接 收到所述Portal服务器的TCP连接回应,则在建立TCP连接后,向所述Portal服务器发送 HTTP get请求,如果接收到来自所述Portal服务器的认证门户页面,确定所述Portal服务 器为可用Portal服务器;否则,所述接入设备确定所述Portal服务器为不可用Portal服务器。步骤a具体包括所述接入设备将自身模拟为用户设备向Portal服务器发送TCP连接请求;如果接 收到所述Portal服务器的TCP连接回应,确定所述Portal服务器为可用Portal服务器; 否则,确定所述Portal服务器为不可用Portal服务器。
步骤a之前还包括所述接入设备监测自身与当前为用户设备提供Portal认证服务的Portal服务器 之间的Portal认证报文;如果在定时器指定的探测时间间隔内监测到来自所述Portal服务器的Portal认 证报文,所述接入设备重置定时器,并重复监测自身与所述Portal服务器之间的Portal认 证报文;否则,所述接入设备执行步骤a。所述Portal认证报文包括认证请求报文或者下线请求报文。步骤b具体包括所述接入设备接收来自用户设备的HTTP访问报文,如果所述用户设备没有通过 Portal服务器的认证,所述接入设备从可用Portal服务器中选择Portal服务器;所述接入设备将所述用户设备重定向到选择的Portal服务器,由所述用户设备 到选择的Portal服务器上进行Portal认证。所述Portal认证系统中还包括AAA服务器,所述用户设备到选择的Portal服务 器上进行Portal认证,之后还包括所述接入设备将来自所述选择的Portal服务器的认证请求报文发送给所述AAA 服务器;并将来自所述AAA服务器的认证结果发送给所述选择的Portal服务器。一种接入设备,应用于包括所述接入设备和Portal服务器的Portal认证系统中, 该接入设备包括Portal服务器探测模块,用于将自身模拟为用户设备向Portal服务器发送连接 请求;如果接收到所述Portal服务器的回应,确定所述Portal服务器为可用Portal服务 器;否则,确定所述Portal服务器为不可用Portal服务器;Portal服务器筛选模块,用于从可用Portal服务器中选择为用户设备提供 Portal认证服务的Portal服务器。所述Portal服务器探测模块,具体用于将自身模拟为用户设备向Portal服务器 发送TCP连接请求;如果接收到所述Portal服务器的TCP连接回应,则在建立TCP连接后, 向所述Portal服务器发送HTTP get请求,如果接收到来自所述Portal服务器的认证门户 页面,确定所述Portal服务器为可用Portal服务器;否则,确定所述Portal服务器为不可 用Portal服务器。所述Portal服务器探测模块,具体用于将自身模拟为用户设备向Portal服务器 发送TCP连接请求;如果接收到所述Portal服务器的TCP连接回应,确定所述Portal服务 器为可用Portal服务器;否则,确定所述Portal服务器为不可用Portal服务器。该接入设备还包括Portal认证报文监测模块,用于监测接入设备与当前为用户设备提供Portal认 证服务的Portal服务器之间的Portal认证报文;如果在定时器指定的探测时间间隔内监测到来自所述Portal服务器的Portal认 证报文,重置定时器,并重复监测接入设备与所述Portal服务器之间的Portal认证报文; 否则,由所述Portal服务器探测模块确定Portal服务器是否可用。所述Portal认证报文包括认证请求报文或者下线请求报文。所述Portal服务器筛选模块,具体用于接收来自用户设备的HTTP访问报文,如果所述用户设备没有通过Portal服务器的认证,从可用Portal服务器中选择Portal服务 器;将所述用户设备重定向到选择的Portal服务器,由所述用户设备到选择的 Portal服务器上进行Portal认证。所述Portal认证系统中还包括AAA服务器,该接入设备还包括认证信息收发模块,用于将来自所述选择的Portal服务器的认证请求报文发送 给所述AAA服务器;并将来自所述AAA服务器的认证结果发送给所述选择的Portal服务
ο与现有技术相比,本发明至少具有以下优点当有至少两个Portal服务器时,如果有为用户设备提供Portal认证服务的 Portal服务器不可用,则可以快速的切换到可用的Portal服务器,提高了接入的可靠性, 保证用户正常接入。


图1是现有技术中Portal认证的流程示意图;图2是本发明提供的一种Portal认证的方法流程图;图3是本发明提出的一种接入设备结构图。
具体实施例方式当前Portal认证的流程如图1所示,在Portal认证系统中包括客户端(即用户 设备的客户端)、Portal服务器、NAS(Network Access Server,网络接入服务器)设备、 AAA (Authenticaion、Authrization、Accounting,认证、授权、计费)服务器等;该方法包括 以下步骤步骤101,客户端(如浏览器)向NAS设备发送任意URL (Uniform/Universal Resource Locator,统一资源定位符)的 HTTP (Hyper Text Transfer Protocol,超文本传 输协议)访问。步骤102,NAS设备将该访问重定向到Portal服务器。步骤103,客户端访问Portal服务器进行认证。步骤104,Portal服务器向NAS设备发送认证请求。步骤105,NAS设备与AAA服务器进行认证交互。步骤106,AAA服务器向NAS设备返回认证结果。步骤107,NAS设备向Portal服务器通知认证结果。步骤108,Portal服务器向客户端通知认证结果。之后,客户端可以访问网络;之后,如果客户端需要下线时,还可以包括以下步 骤步骤109,客户端向Portal服务器请求下线。步骤110,Portal服务器向NAS设备请求下线。步骤111,NAS设备通知AAA服务器停止计费。步骤112,AAA服务器向NAS设备返回响应报文。
步骤113,NAS设备向AAA服务器返回响应报文。步骤114,Portal服务器通知客户端下线成功。从图1以及上述流程可看出,NAS设备是被动和Portal服务器进行交互的,NAS设 备并不主动向Portal服务器发起连接。而本发明中,通过在NAS设备上实现HTTP协议相 关功能,NAS设备可主动向Portal服务器发起连接,以探测Portal服务器是否可用,并在 Portal服务器不可用时,切换到可用的Portal服务器为客户端提供Portal认证服务。下面结合附图对本发明实施例进行详细描述。如图2所示,为本发明提出的一种Portal认证的方法,该方法应用于包括接入设 备(如NAS设备)、至少两个Portal服务器(本发明中以Portal服务器A和Portal服务 器B为例)、用户设备(如具有相应浏览器的客户端)和AAA服务器的Portal认证系统中, 该接入设备上维护了至少两个Portal服务器为可用Portal服务器或者不可用Portal服 务器的信息。具体的,为了获知可用Portal服务器和不可用Portal服务器的信息,可在接入设 备上维护可用Portal服务器列表和不可用Portal服务器列表;也可只维护一张列表,并使 用不同标识表示可用Portal服务器或者不可用Portal服务器;以维护可用Portal服务器 列表和不可用Portal服务器列表为例进行说明。在初始配置时,Portal服务器A和Portal 服务器B均为可用Portal服务器,即在可用Portal服务器列表中记录Portal服务器A和 Portal服务器B的信息。基于上述情况,该方法包括以下步骤步骤201,接入设备将自身模拟为用户设备向Portal服务器发送连接请求。其中, 该Portal服务器为可用Portal服务器和/或不可用Portal服务器。实际应用中,为了实现该模拟功能,需要在接入设备上实现HTTP协议相关功能; 使得接入设备可以通过HTTP协议向Portal服务器发送连接请求。本步骤中,接入设备可根据预设周期将自身模拟为用户设备向Portal服务器发 送连接请求。步骤202,接入设备根据连接请求的响应情况维护可用Portal服务器和不可用 Portal服务器的信息(如标识等)。其中,如果接收到Portal服务器的回应,则确定该 Portal服务器为可用Portal服务器;如果没有接收到Portal服务器的回应,则确定该 Portal服务器为不可用Portal服务器。基于上述可用Portal服务器列表和不可用Portal服务器列表,如果向可用 Portal服务器列表中Portal服务器(以Portal服务器A为例)发送连接请求,且没有接 收到Portal服务器A的回应,将Portal服务器A的信息记录到不可用Portal服务器列表, 并删除Portal服务器列表中记录的Portal服务器A的信息;否则,保留Portal服务器列 表中记录的Portal服务器A的信息。如果向不可用Portal服务器列表中Portal服务器(以Portal服务器B为例) 发送连接请求,且接收到Portal服务器B的回应,将Portal服务器B的信息记录到可用 Portal服务器列表,并删除不可用Portal服务器列表中记录的Portal服务器B的信息; 否则,保留不可用Portal服务器列表中记录的Portal服务器B的信息。进一步的,接入设备可将自身模拟为用户设备向Portal服务器发送TCP连接请求;如果接收到Portal服务器的TCP连接回应,则确定Portal服务器为可用Portal服务 器;否则,确定Portal服务器为不可用Portal服务器。优选的,基于上述TCP连接过程,考虑到完全可靠性(收到TCP连接回应可说明 Portal服务器端口正常,并不能说明Portal服务器的Portal认证服务正常),在接入设 备性能允许的情况下(CPU、内存等资源满足需求),接入设备还可以探测Portal服务器的 Portal认证服务是否正常。即在建立TCP连接后,接入设备可将自身模拟为用户设备向 Portal服务器发送HTTP get请求,如果接收到来自Portal服务器的认证门户页面,则确定 Portal服务器为可用Portal服务器(Portal认证服务正常);否则,确定Portal服务器为 不可用Portal服务器(Portal认证服务不正常)。步骤203,接入设备从可用Portal服务器中选择为用户设备提供Portal认证服务 的Portal服务器。即接入设备从可用Portal服务器列表中选择为用户设备提供Portal 认证服务的Portal服务器。本步骤中,该选择过程可根据实际需要任意选择,例如,可用Portal服务器列表 中有Portal服务器A的信息和Portal服务器B的信息时,接入设备可选择Portal服务器 A为用户设备提供Portal认证服务,即Portal服务器A执行图1的相关流程;接入设备可 选择Portal服务器B为用户设备提供Portal认证服务;接入设备还可根据负载分担策略 选择Portal服务器A和Portal服务器B为不同用户设备提供Portal认证服务。具体的,基于图1所示的Portal认证的流程,当接入设备接收到来自用户设备的 HTTP访问报文(对应步骤101)时,如果该用户设备通过Portal服务器的认证,则允许用户 设备访问网络,该过程不再赘述。如果该用户设备没有通过Portal服务器的认证,则接入设备需要从可用Portal 服务器中选择Portal服务器(即从可用Portal服务器列表中选择一个Portal服务器), 并将用户设备重定向到选择的Portal服务器(对应步骤102,即将选择的Portal服务器的 地址信息发送给用户设备),由用户设备到选择的Portal服务器上进行Portal认证(对应 步骤103)。在之后的认证过程中,接入设备将来自选择的Portal服务器的认证请求报文发 送给AAA服务器(对应步骤104和105),并将来自AAA服务器的认证结果发送给选择的 Portal服务器(对应步骤106和107)。实际应用中,由于Portal服务器与接入设备、以及接入设备与AAA服务器之间采 用不同的协议进行传输,则接入设备在接收到来自Portal服务器的认证请求报文后,需要 将认证请求报文转换为基于AAA协议的认证请求报文发送给AAA服务器;接入设备在接收 到来自AAA服务器的认证结果后,需要将认证结果转换为基于Portal协议的认证结果发送 给Portal服务器,该过程本发明中不再赘述。优选的,本发明中,在步骤201之前,还可以包括接入设备启动探测定时器,设定 指定的探测时间间隔,并在该探测时间间隔内监测自身与当前为用户设备提供Portal认 证服务的Portal服务器之间的Portal认证报文(如认证请求报文或者下线请求报文等); 如果在定时器指定的探测时间间隔内监测到来自Portal服务器的Portal认证报文,则可 认定Portal服务器是正常的,接入设备重置定时器,并重复监测自身与Portal服务器之间 的Portal认证报文;否则,如果在定时器指定的探测时间间隔内没有监测到来自Portal服务器的Portal认证报文,接入设备执行步骤201。具体的,为了避免重复性探测,当Portal服务器与接入设备之间有正常的Portal 认证报文交互式,则说明Portal服务器可以和用户设备正常交互,即此时Portal服务器是 正常的,不需要进行探测。这种情况下,当有较多用户设备通过Portal服务器接入时,Portal服务器和接入 设备交互进行用户认证、上下线的过程较频繁,而此时不需要进行探测,节省了接入设备发 起探测的次数,并且验证了 Portal服务器的可用性,且轻了由于主动探测导致对接入设备 的负担。当有较少用户设备通过Portal服务器接入时,Portal服务器和接入设备交互的 频繁度下降,接入设备需要探测的次数增多,但是由于此时用户设备数量少,接入设备和 Portal服务器的负担也较轻,可以承受较多的探测次数,因此本发明中很好的实现了探测 请求增加的消耗和正常用户设备接入认证的平衡。综上所述,通过采用本发明提供的技术方案,可实现对Portal服务器可用性的探 测,保证部署多个Portal服务器时,Portal服务器的快速切换,提高了接入的可靠性。而 且探测花费的代价和接入用户设备数量成反向关系,接入的用户设备数量越多探测花费的 代价越小。进一步的,由于本发明通过模拟用户设备和Portal服务器的交互即实现了对 Portal服务器可用性的探测,避免一般探测机制中定义专门的握手报文来实现探测的过 程,降低了交互复杂度。基于与上述方法同样的发明构思,本发明还提出了一种接入设备,应用于包括所 述接入设备和Portal服务器的Portal认证系统中,如图3所示,该接入设备包括Portal服务器探测模块11,用于将自身模拟为用户设备向Portal服务器发送连 接请求;如果接收到所述Portal服务器的回应,确定所述Portal服务器为可用Portal服 务器;否则,确定所述Portal服务器为不可用Portal服务器;Portal服务器筛选模块12,用于从可用Portal服务器中选择为用户设备提供 Portal认证服务的Portal服务器。所述Portal服务器探测模块11,具体用于将自身模拟为用户设备向Portal服务 器发送TCP连接请求;如果接收到所述Portal服务器的TCP连接回应,则在建立TCP连接 后,向所述Portal服务器发送HTTP get请求,如果接收到来自所述Portal服务器的认证 门户页面,确定所述Portal服务器为可用Portal服务器;否则,确定所述Portal服务器为 不可用Portal服务器。所述Portal服务器探测模块11,具体用于将自身模拟为用户设备向Portal服务 器发送TCP连接请求;如果接收到所述Portal服务器的TCP连接回应,确定所述Portal服 务器为可用Portal服务器;否则,确定所述Portal服务器为不可用Portal服务器。该接入设备还包括Portal认证报文监测模块13,用于监测接入设备与当前为用户设备提供Portal 认证服务的Portal服务器之间的Portal认证报文;所述Portal认证报文包括认证请求 报文或者下线请求报文;如果在定时器指定的探测时间间隔内监测到来自所述Portal服务器的Portal认 证报文,重置定时器,并重复监测接入设备与所述Portal服务器之间的Portal认证报文;否则,由所述Portal服务器探测模块11确定Portal服务器是否可用。所述Portal服务器筛选模块12,具体用于接收来自用户设备的HTTP访问报文,如 果所述用户设备没有通过Portal服务器的认证,从可用Portal服务器中选择Portal服务 器;将所述用户设备重定向到选择的Portal服务器,由所述用户设备到选择的 Portal服务器上进行Portal认证。所述Portal认证系统中还包括AAA服务器,该接入设备还包括认证信息收发模块14,用于将来自所述选择的Portal服务器的认证请求报文发 送给所述AAA服务器;并将来自所述AAA服务器的认证结果发送给所述选择的Portal服务
ο其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合 并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通 过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发 明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储 介质(可以是⑶-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可 以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流 程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分 布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上 述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领 域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1.一种Portal认证的方法,应用于包括接入设备和Portal服务器的Portal认证系统 中,其特征在于,该方法包括以下步骤步骤a、所述接入设备将自身模拟为用户设备向Portal服务器发送连接请求;如果接 收到所述Portal服务器的回应,确定所述Portal服务器为可用Portal服务器;否则,确定 所述Portal服务器为不可用Portal服务器;步骤b、所述接入设备从可用Portal服务器中选择为用户设备提供Portal认证服务的 Portal服务器。
2.如权利要求1所述的方法,其特征在于,步骤a具体包括所述接入设备将自身模拟为用户设备向Portal服务器发送TCP连接请求;如果接收到 所述Portal服务器的TCP连接回应,则在建立TCP连接后,向所述Portal服务器发送HTTP get请求,如果接收到来自所述Portal服务器的认证门户页面,确定所述Portal服务器为 可用Portal服务器;否则,所述接入设备确定所述Portal服务器为不可用Portal服务器。
3.如权利要求1所述的方法,其特征在于,步骤a具体包括所述接入设备将自身模拟为用户设备向Portal服务器发送TCP连接请求;如果接收到 所述Portal服务器的TCP连接回应,确定所述Portal服务器为可用Portal服务器;否则, 确定所述Portal服务器为不可用Portal服务器。
4.如权利要求1-3任一项所述的方法,其特征在于,步骤a之前还包括所述接入设备监测自身与当前为用户设备提供Portal认证服务的Portal服务器之间 的Portal认证报文;如果在定时器指定的探测时间间隔内监测到来自所述Portal服务器的Portal认证报 文,所述接入设备重置定时器,并重复监测自身与所述Portal服务器之间的Portal认证报 文;否则,所述接入设备执行步骤a。
5.如权利要求4所述的方法,其特征在于,所述Portal认证报文包括认证请求报文 或者下线请求报文。
6.如权利要求1-3任一项所述的方法,其特征在于,步骤b具体包括所述接入设备接收来自用户设备的HTTP访问报文,如果所述用户设备没有通过 Portal服务器的认证,所述接入设备从可用Portal服务器中选择Portal服务器;所述接入设备将所述用户设备重定向到选择的Portal服务器,由所述用户设备到选 择的Portal服务器上进行Portal认证。
7.如权利要求6所述的方法,其特征在于,所述Portal认证系统中还包括AAA服务器, 所述用户设备到选择的Portal服务器上进行Portal认证,之后还包括所述接入设备将来自所述选择的Portal服务器的认证请求报文发送给所述AAA服务 器;并将来自所述AAA服务器的认证结果发送给所述选择的Portal服务器。
8.一种接入设备,应用于包括所述接入设备和Portal服务器的Portal认证系统中,其 特征在于,该接入设备包括Portal服务器探测模块,用于将自身模拟为用户设备向Portal服务器发送连接请求; 如果接收到所述Portal服务器的回应,确定所述Portal服务器为可用Portal服务器;否 则,确定所述Portal服务器为不可用Portal服务器;Portal服务器筛选模块,用于从可用Portal服务器中选择为用户设备提供Portal认 证服务的Portal服务器。
9.如权利要求8所述的设备,其特征在于,所述Portal服务器探测模块,具体用于将自身模拟为用户设备向Portal服务器发送 TCP连接请求;如果接收到所述Portal服务器的TCP连接回应,则在建立TCP连接后,向所 述Portal服务器发送HTTP get请求,如果接收到来自所述Portal服务器的认证门户页 面,确定所述Portal服务器为可用Portal服务器;否则,确定所述Portal服务器为不可用 Portal服务器。
10.如权利要求8所述的设备,其特征在于,所述Portal服务器探测模块,具体用于将自身模拟为用户设备向Portal服务器发送 TCP连接请求;如果接收到所述Portal服务器的TCP连接回应,确定所述Portal服务器为 可用Portal服务器;否则,确定所述Portal服务器为不可用Portal服务器。
11.如权利要求8-10任一项所述的设备,其特征在于,还包括Portal认证报文监测模块,用于监测接入设备与当前为用户设备提供Portal认证服 务的Portal服务器之间的Portal认证报文;如果在定时器指定的探测时间间隔内监测到来自所述Portal服务器的Portal认证报 文,重置定时器,并重复监测接入设备与所述Portal服务器之间的Portal认证报文;否则, 由所述Portal服务器探测模块确定Portal服务器是否可用。
12.如权利要求11所述的设备,其特征在于,所述Portal认证报文包括认证请求报 文或者下线请求报文。
13.如权利要求8-10任一项所述的设备,其特征在于,所述Portal服务器筛选模块,具体用于接收来自用户设备的HTTP访问报文,如果所述 用户设备没有通过Portal服务器的认证,从可用Portal服务器中选择Portal服务器;将所述用户设备重定向到选择的Portal服务器,由所述用户设备到选择的Portal服 务器上进行Portal认证。
14.如权利要求13所述的设备,其特征在于,所述Portal认证系统中还包括AAA服务 器,该接入设备还包括认证信息收发模块,用于将来自所述选择的Portal服务器的认证请求报文发送给所 述AAA服务器;并将来自所述AAA服务器的认证结果发送给所述选择的Portal服务器。
全文摘要
本发明公开了一种Portal认证的方法和设备,该方法包括接入设备向Portal服务器发送连接请求;如果接收到所述Portal服务器的回应,确定所述Portal服务器为可用Portal服务器;否则,确定所述Portal服务器为不可用Portal服务器;所述接入设备从可用Portal服务器中选择为用户设备提供Portal认证服务的Portal服务器。本发明中,提高了接入的可靠性,保证用户正常接入。
文档编号H04L9/32GK102098308SQ201110037839
公开日2011年6月15日 申请日期2011年2月18日 优先权日2011年2月18日
发明者王彬 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1