一种入口认证方法及其对应的网关设备、服务器的制作方法

文档序号:7708528阅读:142来源:国知局
专利名称:一种入口认证方法及其对应的网关设备、服务器的制作方法
技术领域
本发明涉及互联网技术领域,尤其涉及一种入口认证方法和其对应的网关 设备、服务器。
背景技术
在现有技术的组网环境中,用户通过自身所在的客户端连接到局域网设 备后,可以访问网络中的设备和资源,在便于用户共享网络资源的同时,却 影响了网络的安全性能。为加强对网络资源的安全控制和运营管理,需要对 用户的访问进行控制。例如,在某些场合,企业需要提供内部关键资源给外
部用户访问,为保证安全, 一般通过Portal (入口 )认证技术在接入层以及需 要保护的关键数据入口处对用户实施访问控制。
Portal认证也称为Web (网页)认证,即通过HTTP ( Hypertext Transfer Protocol,超文本传输协议)页面接收用户输入的用户名和密码,对用户进行 认证。在Portal认证中,用于进行Portal认证的网站称为门户网站,未认证的 用户在连接到互联网时,首先会被强制登录到门户网站进行认证,只有认证 通过后才可以使用该门户网站之外的资源。因此,Portal认证可以为企业、运 营商提供相应的管理功能,使所有用户登录门户网站进行认证。
如图1所示,为现有技术中的一种Portal认证系统的结构示意图,包括 Portal客户端101、 Portal服务器102、 BAS (Broadband Access Server,宽带 才妄入月良务器)i殳备103和AAA ( Authentication Authorization Accounting, i人 证、授权与计费)服务器104。其中,Portal客户端101为Portal认证系统中 发起认证请求的客户端,可以是运行HTTP协议的浏览器;Portal服务器102 为Portal认证系统中接收来自Portal客户端101的认证请求的服务器,用于提 供基于WEB认证的界面,与BAS设备103交互认证客户端的身份信息;BAS 设备103用于向Portal服务器102重定向HTTP认证请求,并与Portal服务器102和AAA服务器104交互,完成对用户的认证、授权和计费;AAA服务器 104与BAS设备103进行交互,对用户进行认证、授权和计费。
当未认证的用户通过Portal客户端101访问互联网时,向BAS设备103 发送HTTP请求,该HTTP请求由BAS设备103重定向到Portal服务器102 的Web认证主页上;用户在认证主页或认证对话框中输入认证信息后提交, Portal服务器102会将用户的认证信息传递给BAS设备103; BAS设备103 与AAA服务器104通信,进行用户认证和计费;用户通过认证后,BAS设备 103打开用户与互联网的通路,允许用户访问互:f关网。
在实际组网过程中,如果用户数量较多,可以将不同用户对应的Portal 客户端101连接到不同的交换机,并通过不同的交换机接入到不同的BAS设 备103上,所有的BAS设备可以通过核心路由器(或高端交换机)连接到互 联网,Portal服务器102放置在机房中,通过交换机连接到上述核心路由器(或 高端交换才几)。
需要说明的是,Portal认证系统也可以不采用外部独立的Portal服务器 102,而由BAS设备103实现Portal服务器102的功能,将Portal服务器102 内置于BAS设备103中。由于内置Portal服务器102的BAS设备103支持 Web用户直接认证,因此,不需要部署额外的Portal服务器102,增强了 Portal 认证的通用性。但是,内置Portal服务器102的BAS设备103仅能向用户提 供通过Web方式登录和下线的基本功能,并不能完全替代独立的Portal服务 器102。
然而,Portal认证在实际应用中还存在以下缺陷,在Portal服务器受到网 络、硬件故障或病毒的影响而导致服务中断时,会造成新用户无法上线和在 线用户无法下线的问题,即出现所谓的"吊死"现象,给网络用户带来很大的不 便。为了解决上述缺陷,需要提供一种在Portal服务器无法正常工作的情况下, 使用户仍然可以正常使用网络的Portal认证方法。
目前,在业界提供的Portal认证方法中,可以由Portal网关设备4全测Portal 服务器的工作状态,当Portal网关设备检测到Portal服务器不能正常工作时停 止Portal认证,使用户可以免认证使用网络;当Portal网关设备检测到Portal服务器恢复正常后恢复Portal认证,使在线用户在访问门户网站之外的资源时 被强制登录到Portal认证窗口 ,对在线用户进行认证。上述根据Portal服务器的工作状态确定是否需要进行认证的Portal认证方 法不易于在复杂的网络中部署,在Portal服务器内置于Portal网关设备的情况 下,如果Portal服务器不能正常工作,则整个Portal网关设备都处于不稳定的 状态下,Portal认证方法处于一种可能失效的状态下,稳定性大为降低,不适 用于需要分布式部署的应用场景;在Portal服务器外置于Portal网关设备的情 况下,需要Portal服务器和Portal网关设备之间进行信息同步,目前还没有相 关的通信协议支持Portal服务器和Portal网关设备之间的通信,实用性较差。此外,业界还提供了 一种利用Portal双机实现的Portal认证方法,在Portal 认证系统中部署主用Portal服务器和备用Portal服务器,当Portal网关设备检 测到主用Portal服务器不能正常工作时,将来自Portal客户端的认证请求定向 到备用Portal服务器,由备用Portal服务器提供免费的门户服务和基于WEB 认证的界面。Portal网关设备与备用Portal服务器交互认证客户端的身份信息, 对用户进4亍iU正。对于利用Portal双机实现的Portal认证方法,由于该方法需要部署至少两 台Portal服务器,引入了过高的硬件成本,在实际应用中的推广难度较大。发明内容本发明提供了一种入口认证方法和其对应的网关设备、服务器,使企业用 户在不增加投资成本的情况下,保证Portal服务器在无法正常工作时仍然能够正 常使用网络,并在Portal服务器恢复时及时认证,最大限度地保护企业网络安全。本发明提供了 一种入口 Portal认证方法,应用于包括Portal网关设备和 Portal服务器的网络系统中,所述方法包括以下步骤所述Portal服务器构造心跳报文,并按照心跳周期向所述Portal网关设备 发送心跳报文;所述Portal网关设备判断在探测周期内是否接收到来自所述Portal服务器 的心跳报文,其中所述探测周期不小于所述心跳周期,所述Portal网关设备根据判断结果进行Portal认证。优选地,所述心跳报文为服务器心跳报文时,所述Portal网关设备根据判 断结果进行Portal i/^正,具体包括当所述Portal网关设备在所述探测周期内没有接收到所述服务器心跳报 文时,所述Portal网关设备关闭Portal认证,允许未认证用户访问网络;当所述Portal网关设备在所述探测周期内接收到所述服务器心跳报文,所 述Portal网关设备获取未认证用户的认证信息,并根据所述认证信息对未认证 用户进行Portal认证。优选地,所述Portal网关设备关闭Portal认证后,还包括当所述Portal网关设备接收到来自所述Portal服务器的服务器心跳报文 时,所述Portal网关设备恢复Portal认证,获取用户的认证信息,并根据所述 认证信息对用户进行Portal认证。优选地,所述心跳报文为在线用户对应的用户心跳报文,所述Portal网关 设备根据判断结果进行Portal认证,具体包括当所述Portal网关设备在所述探测周期内没有接收到所述在线用户对应 的用户心跳报文时,所述Portal网关设备将所述在线用户的用户信息从用户列 表中删除,对所述在线用户进行下线操作,所述用户列表中包含所述Portal 网关设备保存的在线用户的用户信息;当所述Portal网关设备在所述探测周期内接收到所述在线用户对应的用 户心跳报文时,所述Portal网关设备将所述在线用户的用户信息保留在所述用 户列表中,允许所述在线用户继续访问网络。优选地,在所述Portal网关设备关闭认证后,所述Portal网关设备接收到 来自所述Portal服务器的用户心跳报文之后,还包括所述Portal网关设备判断所述接收到的用户心跳报文中的用户信息是否 全部包含在所述用户列表中,如果所述用户信息没有全部包含在所述用户列 表中,则向所述Portal服务器返回同步确认报文,所述同步确认报文中携带包 含在所述用户心跳报文但不包含在所述用户列表中的用户信息;所述Portal服务器接收到所述同步确认报文后,从在线列表中删除所述同步确认报文中的用户信息,所述在线列表中包含所述Portal服务器保存的在线 用户的用户信息。优选地,所述Portal服务器按照心跳周期向Portal网关设备发送心跳报文 之前,还包括在所述Portal服务器上配置所述心跳周期和在所述Portal网关设备上配置 所述探测周期。优选地,所述用户心跳才艮文中包含对应用户的互联网协议IP地址。本发明还提供了 一种Portal网关设备,应用于包括Portal网关设备和Portal 服务器的网络系统中,所述Portal网关设备包括收发模块,至少用于接收来自所述Portal服务器的心跳报文,所述心跳报 文由所述Portal服务器按照心跳周期发送;判断模块,与所述收发模块电性连接,用于判断所述收发模块在所述计 时模块计时的探测周期内是否接收到来自所述Portal服务器的心跳报文;计时模块,与所述判断模块电性连接,用于根据所述当所述判断模块接 收到的所述收发模块传来的心跳报文,对探测周期进行计时,所述探测周期 不小于所述心跳周期;处理模块,与所述判断模块电性连接,用于根据所述判断模块的判断结 果进行Portal认证。优选地,当所述心跳报文为服务器心跳报文时,所述处理模块具体用于当所述判断模块在所述服务器心跳报文探测周期内没有接收到所述服务 器心跳报文时,所述处理模块根据判断模块的指示关闭Portal认证,允许未认 证用户访问网络;当所述判断模块在所述服务器心跳报文探测周期内接收到所述服务器心 跳报文,所述处理模块继续获取未认证用户的认证信息,并根据所述认证信 息对未认证用户进行Portal认证。优选地,当所述心跳报文为在线用户对应的用户心跳报文时,所述处理 模块具体用于当所述判断模块在所述探测周期内没有接收到所述在线用户对应的用户10心跳报文时,根据所述判断模块的指示,将所述在线用户的用户信息从所述用户列表中删除,对所述在线用户进行下线操作;当所述判断模块在所述探测周期内接收到所述在线用户对应的用户心跳报文时,所述处理模块将所述在线用户的用户信息保留在所述用户列表中,允许所述在线用户继续访问网络。优选地,在关闭Portal认证之后,所述处理模块还用于 当所述判断模块接收到来自所述收发模块重新传来的服务器心跳报文时,恢复Portal认证,获取用户的认证信息,并根据所述认证信息对用户进行Portal认证;当所述判断模块接收到所述心跳报文为离线用户对应的用户心跳报文 时,向所述Portal服务器返回同步确认报文,通知所述Portal服务器所述离线 用户已下线,所述同步确i/^艮文中携带所述离线用户的用户信息。优选地,所述Portal网关设备,还包括配置模块,用于设定所述心跳报文的探测周期。本发明还提供了 一种Portal服务器,应用于包括Portal网关设备和Portal 服务器的网络系统中,所述Portal服务器包括 构造模块,用于构造心跳报文;收发模块,与所述构造模块电性连接,至少用于按照心跳周期向所述 Portal网关设备发送所述构造模块构造的心跳报文;计时模块,与所述收发模块电性连接,用于在所述收发模块发送心跳报 文时,对所述心跳周期进行计时。优选地,所述Portal服务器,还包括配置模块,与所述计时模块电性连接,用于配置所述心跳报文的心跳周 期,供所述计时模块使用,所述探测周期为所述Portal网关设备探测所述心跳 报文的周期,所述探测周期不小于所述心跳周期。优选地,所述收发模块,还用于接收来自所述Portal网关设备的同步确认 报文,所述同步确认报文中包含离线用户的用户信息。与现有技术相比,本发明具有以下优点本发明由Portal网关设备根据来自Portal服务器的心跳报文与Portal服务 器同步服务器信息和用户信息,在Portal服务器无法正常工作的情况下允许用 户继续使用网络,增强了网络的可用性和可部署性,JM更于管理和维护。


图1为现有技术中的一种Portal认证系统的结构示意图; 图2为本发明中的一种入口认证方法流程图; 图3为本发明中的一种入口认证的应用场景流程图; 图4为本发明中的另 一种入口认证的应用场景流程图; 图5为本发明中的一种Portal网关设备的结构示意图; 图6为本发明中的一种Portal服务器的结构示意图; 图7为本发明中的一种入口认证系统的结构示意图。
具体实施方式
本发明提供的技术方案中,其核心思想为将Portal网关设备和Portal服 务器分开部署,并在Portal网关设备和Portal服务器之间定时同步服务器状态 信息和用户状态信息,并根据服务器状态信息和用户状态信息实现Portal认 证。本发明中的Portal网关设备和Portal服务器可以通过两者之间的通信协议 实现以下功能Portal服务器可以向Portal网关设备发送服务器心跳报文,向 Portal网关设备通知自身的状态,使Portal网关设备可以及时发现Portal Server 是否正常工作;Portal服务器还可以向Portal网关设备发送用户心跳报文,与 Portal网关设备同步用户状态信息。本发明提供了一种入口认证方法,应用于包括Portal网关设备和Portal 服务器的网络系统中,该方法的流程示意图如图2所示,包括以下步骤步骤201, Portal服务器构造心跳报文,并按照心跳周期向Portal网关设备 发送心跳报文。具体地,Portal服务器按照心跳周期向Portal网关设备发送心跳报文之前,还需要分别在Portal服务器上配置报文心跳周期以及在Portal网关设备上配置报 文探测周期,其中要求报文心跳周期小于报文探测周期,否则会导致在Portal 服务器正常工作的情况下,Portal网关设备仍然无法在^:测周期内接收到来自Portal服务器的心跳报文。而Portal服务器所构造并向Portal网关设备发送的心 跳"^艮文可以^J良务器心逸W艮文,也可以是用户心逸W艮文。其中,服务器心跳l艮文属于Portal空报文,用于标识Portal服务器工作正常, 没有配置对应的回应报文。Portal网关设备接收到来自Portal服务器的服务器心 跳报文后,根据该服务器的心跳报文重新计算所述服务器心跳报文深测周期, 且不需要向Portal服务器返回相应的回应报文。用户心跳报文中包含在线用户的用户信息,该用户信息可以是用户的IP (Internet Protocol,互联网协议)地址,具体地,用户心跳报文中的IP地址 采用4字节无符号整型表示,中间无分隔符, 一个用户心跳报文可以包含多 个用户的用户信息。在某些异常情况下,如Portal服务器从故障中恢复正常时, 由于Portal服务器与Portal网关设备中的用户信息不同步,Portal服务器还可 以向Portal网关设4"发送包含离线用户的用户信息的用户心跳才艮文。步骤202, Portal网关设备判断在报文探测周期内是否接收到来自Portal服 务器的心跳报文,并根据判断结果进行Portal认证。当Portal网关设备在服务器心跳报文探测周期内接收到Portal服务器构造并 向之发送的服务器心跳报文后,Portal网关设备则对服务器心跳报文探测周期清 零,重新计算下一个服务器心跳报文探测周期时间;如果Portal网关设备在服务 器心跳报文探测周期内没有收到服务器心跳报文,则判断该Portal服务器工作不 正常,关闭Portal认证,切换至Portal逃生模式,允许未认证用户访问网络,使 用户发送的报文可以直接通过;如果在服务器心跳报文探测周期内接收到来自 Portal服务器的服务器心跳报文,确定该Portal服务器工作正常,继续获取未认 证用户的认证信息,并根据该认证信息对未认证用户进行Portal认证,只有在认 证通过时才允许用户访问网络中的资源。当Portal网关设备在用户心跳报文探测周期内接收到Portal服务器构造并向 之发送的用户心跳报文时,同样,Portal网关设备需要对用户心跳报文探测周期清零,并重新计算用户心跳报文探测周期时间;如果在用户心跳报文探测周期 内没有接收到该在线用户对应的用户心跳报文,将该在线用户的用户信息从用 户列表中删除,并对该在线用户进行下线操作;如果在用户心跳报文探测周期 内接收到该在线用户对应的心跳报文,将该在线用户的用户信息保留在用户列 表中,允许该在线用户继续访问网络。器同步服务器信息和用户信息,在Portal服务器无法正常工作的情况下允许用 户继续使用网络,增强了网络的可用性和可部署性,且便于管理和维护。本发明通过上述实施方式提供了一种入口认i正方法,以下结合具体的应 用场景对上述入口认证方法进行详细的叙述。该应用场景中,Portal服务器所 构造并向Portal网关设备发送的心跳报文为服务器心跳报文,Portal网关设备 通过服务器定时器检测服务器心跳报文,其具体流程图如图3所示,包括以 下步骤步骤301,在Portal服务器上配置服务器心跳周期,在Portal网关设备上配 置服务器心跳报文探测周期。其中,服务器心跳周期为Portal服务器向Portal网关设备发送服务器心跳 报文的周期,Portal服务器并不针对每一台Portal网关设备配置服务器心跳周期, 而是将服务器心跳周期作为系统配置项,对系统中所有的Portal网关设备配置 相同的服务器心跳周期;服务器心跳报文探测周期为Portal网关设备探测是否 接收到来自Portal服务器的服务器心跳报文的周期,Portal服务器可以对系统中 所有的Portal网关设备配置相同的服务器心跳报文探测周期,也可以针对不同 的Portal网关设备配置不同的服务器心跳报文探测周期。需要说明的是,服务器心跳报文探测周期不小于服务器心跳周期,以保 证在Portal服务器正常工作的情况下,Portal网关设备能够在服务器心跳报文 探测周期内接收到来自Portal服务器的服务器心跳报文。另外,由于同一网络中可能同时存在不同配置的Portal网关设备,Portal服 务器还需^4十对每一台Portal网关设备配置是否支持服务器心跳报文的开关;如果某个Portal网关设备不支持服务器心跳报文,则Portal服务器不向该Portal网 关设备发送服务器心跳报文。步骤302, Portal服务器构造服务器心跳报文,并按照服务器心跳周期向 Portal网关设备发送服务器心跳报文。其中,服务器心跳报文属于Portal空报文,用于标识Portal服务器工作正常, 没有配置对应的回应报文,Portal网关设备接收到来自Portal服务器的服务器心 跳报文后,不需要向Portal服务器返回相应的回应报文,从而减少了 Portal网 关设备多次发送回应报文而对系统资源的大量占用。步骤303, Portal网关设备启动服务器定时器,判断在服务器心跳报文探测 周期内是否接收到来自Portal服务器的服务器心跳报文。本发明中,根据具体实施场景的需要,服务器心跳报文探测周期的长度可 以进行预先设置,在数值大小上,应该不小于Portal服务器所配置的服务器心 跳周期,服务器心跳报文探测周期长度的具体变化并不影响本发明的保护范围。需要指出的是,上述Portal网关设备上的服务器定时器可以是独立的新增定 时器,也可以是更新了设置后的已有定时器;服务器定时器的计时起始点可以 设置为该Portal网关设备启动完成时刻的时间点,也可以设置为该Portal网关设 备接收到第 一个服务器心跳报文的时间点。如果Portal网关设备在服务器心跳报文探测周期内接收到Portal服务器发送 的服务器心跳报文,则转入步骤304;如果Portal网关设备在服务器心跳报文探测周期内没有接收到Portal服务器 发送的服务器心跳报文,则转入步骤305。步骤304, Portal网关设备继续进行Portal认证。具体地,如果Portal网关设备在服务器心跳报文探测周期内接收到Portal 服务器发送的服务器心跳报文,则确定该Portal服务器工作正常,继续进行Portal 认证,获取未认证用户的认证信息,并根据该认证信息对未认证用户进行Portal 认证,只有在认证通过时才允许用户访问网络中的资源。步骤305 , Portal网关设备关闭Portal认证,允许所有用户访问网络。 具体地,如果Portal网关设备在服务器心跳报文探测周期内没有接收到Portal服务器发送的服务器心跳报文,则确定该Portal服务器工作不正常,关闭 Portal认证,切换至逃生模式,允许所有用户访问网络,使用户发送的报文可以 直接通过。Portal网关设备在逃生模式下,不再处理接收到的用户心跳报文,而 是等待在线用户自行老化,在老化时间到达时,将该在线用户的信息从用户列 表中删除,对该在线用户进行下线操作。需要说明的是,在Portal网关设备关闭Portal认证后,如果Portal服务器恢 复正常,则继续构造并向Portal网关设备发送服务器心跳报文,本应用场景还包 括以下步骤步骤306, Portal网关设备接收来自Portal服务器的服务器心跳报文。 具体地,本步骤中的服务器心跳报文也属于Portal空报文,用于标识Portal 服务器恢复正常,也没有配置对应的回应报文,Portal网关设备重新接收到来自 Portal服务器的服务器心跳报文后,不需要向Portal服务器返回相应的回应报文。 步骤307, Portal网关设备恢复Portal认证。具体地,如果Portal网关设备在逃生模式下接收到来自Portal服务器的服 务器心跳报文,则恢复Portal认证,保留用户列表中包含的在线用户的用户信息, 并根据接收到的用户心跳冲艮文处理在线用户的用户信息。本发明中,Portal网关设备在执行完本步骤之后,还可以继续执行步骤303, 判断在服务器心跳报文探测周期内是否接收到来自Portal服务器的服务器心 跳报文。需要说明的是,本发明方法可以根据实际需要对各个步骤顺序进行调整。 本发明由Portal网关设备根据来自Portal服务器的服务器心跳报文确定 Portal服务器是否正常工作,在Portal服务器无法正常工作的情况下允许用户 继续使用网络,增强了网络的可用性和可部署性;由Portal服务器配置相关的 参数,便于管理和维护,降低了维护开销和运营成本。在另 一种应用场景中,Portal服务器所构造并向Portal网关设备发送的心 跳报文为用户心跳报文,Portal网关设备通过用户定时器检测用户心跳报文, 其具体流程图如图4所示,包括以下步骤16步骤401,在Portal服务器上配置用户心跳周期,在Portal网关设备上配置 用户心跳报文探测周期。
其中,用户心跳周期为Portal服务器向Portal网关设备发送用户心跳报文 的周期,Portal服务器并不针对每一台Portal网关设备配置用户心跳周期,而是 将用户心跳周期作为系统配置项,对系统中所有的Portal网关i殳备配置相同的 用户心跳周期;用户心跳报文探测周期为Portal网关设备探测是否接收到来自 Portal服务器的用户心跳报文的周期,Portal服务器可以对系统中所有的Portal 网关设备配置相同的用户心跳报文探测周期,也可以针对不同的Portal网关设备 配置不同的用户心跳报文探测周期。
需要说明的是,用户心跳报文探测周期不小于用户心跳周期,以保证在 Portal服务器正常工作的情况下,Portal网关设备能够在用户心跳报文探测周 期内接收到来自Portal服务器的用户心跳报文。
另外,由于同一网络中可能同时存在不同配置的Portal网关设备,Portal服 务器还需^4十对每一台Portal网关设备配置是否支持用户心跳报文的开关;如果 某个Portal网关设备不支持用户心跳报文,则Portal服务器不向该Portal网关设 备发送用户心跳报文。
步骤402, Portal服务器构造用户心跳报文,并按照用户心跳周期向Portal 网关设备发送用户心跳报文。
其中,用户心跳才艮文中可以包含在线用户的用户信息,在某些异常情况下,
如Portal服务器从故障中恢复正常时,由于Portal服务器与Portal网关设备中的 用户信息不同步,Portal服务器还可以向Portal网关设备发送包含离线用户的用 户信息的用户心跳报文。用户心跳报文中包含的用户信息可以是用户的IP地址, 用户心跳报文中的IP地址采用4字节无符号整型表示,中间无分隔符, 一个用 户心跳报文可以包含多个用户的用户信息。假设标识用户信息的属性的最大容 量为252个字节,则一个属性最多可以包含252/4-63个用户的IP地址,如果 限制该属性最多可以在用户心跳报文中出现10次,则一个用户心跳报文最多 可以包含630个用户的IP ;l也址。
本发明中,Portal服务器对用户心跳报文进行异步处理,包括两个处理线程,即发送报文处理线程和接收报文处理线程,该两个处理线程独立进行,
互不等待。Portal服务器中存储有在线列表,该在线列表中包含在线用户的用 户信息。 一方面,4妻收报文处理线程接收到来自Portal客户端的用户下线请 求或者来自Portal网关设备的用户下线通知后,向Portal客户端发送消息,通 知用户已经下线,并将该用户的信息清除出在线列表;另一方面,发送报文 处理线程根据在线列表中的用户信息向Portal网关设备发送用户心跳报文,该 用户心跳报文中包含在线列表中的用户信息,如果Portal网关设备上的用户数 量超过一个用户心跳报文对应的用户数量的上限时,发送报文处理线程可以 向该Portal网关设备发送多个用户心跳报文。由于Portal网关设备需要一定时 间处理接收到的用户心跳报文,无法同时接收多个用户心跳报文,因此,同 一 Portal网关设备对应的不同用户心跳报文需要间隔发送,但不同的Portal 网关设备对应的用户心跳报文不需要间隔发送,因此可以保证在设定时间内 将所有的用户心跳报文发送完毕。
步骤403 , Portal网关设备接收到第 一个用户心跳报文后启动用户定时器, 并判断接收到的用户心跳报文中的用户信息是否全部包含在用户列表中。
其中,用户定时器用于在Portal网关设备接收到用户心跳报文后清零,开 始对用户心跳报文检测周期进行计时,计算用户心跳报文探测周期时间。
另夕卜,Portal网关设备将用户心跳报文中的用户信息与用户列表中的用户 信息比较,即可判断用户心跳报文中的用户信息是否全部包含在用户列表中。 如果Portal网关设备接收到的用户心跳报文中的用户信息全部包含在用户列 表中,则执行步骤405;如果Portal网关设备接收到的用户心跳报文中的用户 信息没有全部包含在用户列表中,则执行步骤404。
步骤404, Portal网关设备向Portal服务器返回同步确认报文。
具体地,如果Portal网关设备接收到的用户心跳报文中的用户信息没有全 部包含在用户列表中,即Portal网关设备接收到的用户心跳报文包含离线用户 的用户信息,Portal网关设备向Portal服务器返回同步确认报文,该同步确认 报文中携带该用户心跳报文包含的离线用户的用户信息,用于通知Portal服务 器该离线用户已下线。Portal服务器接收到同步确认报文后,从在线列表中删
18除该同步确认报文中的用户信息。
步骤405, Portal网关设备判断在用户心跳报文探测周期内是否接收到在线 用户对应的用户心跳才艮文。
本发明中,根据具体实施场景的需要,用户心跳报文探测周期的长度可以 进行预先设置,在数值大小上,应该不小于Portal服务器所配置的用户心跳周期, 探测周期长度的具体变化并不影响本发明的保护范围。
如果Portal网关设备在用户心跳报文探测周期内接收到在线用户对应的用 户心跳报文,则转入步骤407;
如果Portal网关设备在用户心跳报文探测周期内没有接收到在线用户对应 的服务器心跳报文,则转入步骤406。
步骤406, Portal网关设备将在线用户的用户信息从用户列表中删除,对 该在线用户进行下线才喿作。
具体地,当Portal网关设备在用户心跳报文探测周期内没有接收到所# 线用户对应的用户心跳报文时,Portal网关设备将该在线用户的用户信息从用户 列表中删除,对该在线用户进行下线操作,向AAA服务器发送该在线用户对 应的计费结束报文,并向Portal服务器发送该在线用户对应的下线通知报文。
步骤407, Portal网关设备将在线用户的用户信息保留在用户列表中,允 许该在线用户继续访问网络。
具体地,当Portal网关设备在用户心跳报文探测周期内接收到在线用户对 应的用户心跳报文时,Portal网关设备将该在线用户的用户信息保留在用户列 表中,允许该在线用户继续访问网络,并在后续的流程中继续判断是否在检测 周期内接收到该在线用户对应的用户心跳报文。
需要说明的是,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明在Portal网关设备和Portal服务器之间同步用户状态信息,并由 Portal网关设备根据来自Portal服务器的用户心跳报文确定是否将用户下线, 能够方便及时地控制用户的访问权限,解决了 Portal服务器故障时在线用户无 法下线的问题,增强了网络的可用性和可部署性;由Portal服务器配置相关的 参数,便于管理和维护,降低了维护开销和运营成本。本发明通过上述实施方式提供了一种入口认证方法和应用场景,相应地, 本发明还通过以下实施方式提供了一种应用上述方法的设备。
如图5所示,为本发明中的一种Portal网关i殳备的结构示意图,应用于包 括Portal网关设备和Portal服务器的网络系统中,该Portal网关设备包括
4议模块510,用于接收来自Portal服务器的心跳报文或向Portal服务器发 送同步确认报文。
具体地,心跳报文由Portal服务器按照心跳周期发送,可以力良务器心跳报 文,也可以是用户心跳报文。服务器心跳报文属于Portal空报文,用于标识Portal 服务器工作正常,没有配置对应的回应报文。用户心跳报文中包含在线用户的 用户信息,该用户信息可以是用户的IP地址。在某些异常情况下,如Portal 服务器从故障中恢复正常时,由于Portal服务器与Portal网关设备中的用户信 息不同步,Portal服务器还可以向Portal网关设备发送包含离线用户的用户信息 的用户心跳净艮文。
另外,当4议模块510接收到的用户心跳报文中的用户信息没有4^包含 在Portal网关设^f转的用户列表中,即用户心跳报文中包含离线用户的用户信 息时,Jltt模块510向Portal服务器返回同步确认报文,通知Portal服务器该离 线用户已下线,该同步确认净艮文中携带该离线用户的用户信息。
配置模块520,用于设定心跳报文的探测周期。
其中,心跳报文的探测周期为Portal网关设备探测是否接收到来自Portal 服务器的心跳才艮文的周期,配置模块520将心跳报文的探测周期作为系统配置 项,对系统中所有的Portal网关设备配置相同的心跳报文的探测周期。需要说明 的是,此处配置的心跳报文的探测周期不小于心跳报文的心跳周期,以保证在 Portal服务器正常工作的情况下,Portal网关设备能够在探测周期内接收到来自 Portal服务器的心跳才艮文。
计时模块530,与判断模块540电性连接,用于当判断模块540接收到4汰 模块510传来的心跳报文,对配置模块520配置的心跳报文的探测周期进行计 时。在具体的应用场景中,上述的计时模块530可以具体为一个定时器,当收 发模块510在探测周期内接收到Portal服务器构造并向之发送的心跳报文后,计 时模块530则对探测周期清零,重新计皿测周期时间。
判断模块540,与4嫂模块510和计时模块530电性连接,用于判断4议模 块510在计时模块530计时的探测周期内是否接收到来自Portal服务器的心跳报 文。
在具体的应用场景中,当判断模块540判断在探测周期内接收到服务器心 跳报文时,判断Portal服务器工作正常,通知处理模块550继续获取未认证用户 的认证信息,并才艮据该认证信息对未认证用户进行Portal认i正,只有在认证通过 时才允许用户访问网络中的资源。否则,则通知处理模块550切换至Portal逃生 模式,允许未认证用户访问网络,使用户发送的报文可以直接通过。
当判断才莫块540判断在^:测周期内接收到在线用户对应的用户心跳才艮文时, 将该在线用户的用户信息保留在用户列表中,允许该在线用户继续访问网络, 并在后续的流程中继续判断是否在检测周期内接收到该在线用户对应的用户心 跳报文。否则,则通知处理才莫块550将该在线用户的用户信息从用户列表中删 除,对该在线用户进行下线操作。
除此之外,上述判断才莫块540,与4议模块510电性连接,还用于在关闭 Portal认证之后,当判断模块540接收到来自Portal服务器的服务器心跳报文时, 通知处理才莫块550恢复Portal认证,获取用户的认证信息,并根据该认证信息对 用户进行Portal认证。
处理模块550,与判断模块540电性连接,用于根据判断模块540的判断结 果进行Portal认证。
当上述心跳报文为服务器心跳报文时,处理模块550,具体用于当判断模块 540在服务器心跳报文探测周期内没有接收到服务器心跳报文时,确定Portal服 务器工作不正常,关闭Portal认证,切换至Portal逃生模式,允许未认证用户访 问网络,使用户发送的报文可以直接通过;
当上述心跳报文为在线用户对应的用户心跳报文,该在线用户的用户信息
包含在Portal网关设^f絲的用户列表中时,处理模块550,具体用于当判断模块540在探测周期内没有接收到在线用户对应的用户心跳报文时,根据判断模 块540的指示,将该在线用户的用户信息从用户列表中删除,对该在线用户进 行下线操作,向AAA服务器发送该在线用户对应的计费结束报文,并向Portal 服务器发送该在线用户对应的下线通知报文;
另外,本发明中,在处理模块550关闭Portal认证后,如果Portal服务器 恢复正常,可以继续构造并按照服务器心跳周期向Portal网关设备发送服务器 心跳报文。相应地,在判断模块540接收到收发模块510重新传来的Portal服 务器的服务器心跳报文时,通知处理模块550恢复Portal认证,保留用户列表中 包含的在线用户的用户信息,并根据接收到的用户心跳才艮文处理在线用户的用 户信息。
器同步服务器信息和用户信息,在Portal服务器无法正常工作的情况下允许用 户继续使用网络,增强了网络的可用性和可部署性,JM更于管理和维护。
与上述实施方式中的Portal网关设备相对应,本发明还提供了 一种Portal 服务器,如图6所示,为本发明中的一种Portal服务器的结构示意图,应用于 包括Portal网关设备和Portal服务器的网络系统中,该Portal服务器包括
构造模块610,用于构造心跳报文。
其中,心跳报文可以是服务器心跳报文,也可以是用户心跳报文。服务 器心跳报文属于Portal空报文,用于标识Portal服务器工作正常,没有配置对 应的回应报文;用户心跳报文中包含在线用户的用户信息,在某些异常情况 下,如Portal服务器从故障中恢复正常时,由于Portal服务器与Portal网关设 备中的用户信息不同步,构造模块610还会构造离线用户对应的用户心跳报 文。
收发模块620,与构造模块610电性连接,用于按照心跳周期向Portal网 关设备发送构造模块610构造的心跳报文或者接收来自Portal网关设备的同步 确认报文。
具体地,收发模块620可以向多个Portal网关设备分别发送心跳报文,不同Portal网关设备对应的心跳报文可以间隔发送,也可以同时发送。
另夕卜,当收发模块620向Portal网关设备发送的用户心跳报文中的用户信 息没有全部包含在Portal网关设备保存的用户列表中,即用户心跳报文中包含 离线用户的用户信息时,Portal网关设备返回同步确认报文,通知Portal服务 器该离线用户已下线,该同步确认报文中携带该离线用户的用户信息,收发 模块620接收上述同步确认报文。
配置模块630,与计时模块640电性连接,用于配置心跳报文的心跳周期, 供计时模块640使用。
其中,心跳周期为Portal服务器向Portal网关设备发送心跳报文的周期。 配置模块630并不针对每一台Portal网关设备配置心跳周期,而是将心跳周期 作为系统配置项,对系统中所有的Portal网关设备配置相同的心跳周期;探:测 周期为Portal网关设备探测是否接收到来自Portal服务器的心跳报文的周期,配 置模块630可以对系统中所有的Portal网关设备配置相同的探测周期,也可以针 对不同的Portal网关设备配置不同的探测周期。
需要说明的是,探测周期不小于心跳周期,以保证在Portal服务器正常工 作的情况下,Portal网关设备能够在探测周期内接收到来自Portal服务器的心 跳报文。
计时模块640,与收发模块620电性连接,用于在收发模块620发送心跳 报文时,对配置模块630配置的心跳周期进行计时。
在具体的应用场景中,上述的计时模块640可以具体为一个定时器,当 收发模块620向Portal网关设备发送心跳报文时,计时模块640则对心跳周期 清零,重新计算心跳周期时间。
本发明通过Portal服务器构造并向Portal网关设备发送心跳报文,使Portal 网关设备和Portal服务器之间同步服务器状态信息和用户状态信息,能够方便 及时地控制用户的访问权限,增强了网络的可用性和可部署性,且便于管理 和维护。
本发明通过上述实施方式提供了 一种入口认i正方法和对应的网关设备、
23服务器,相应地,本发明还通过以下实施方式提供了一种应用上述方法的系 统。
如图7所示,为本发明中的一种入口认证系统的结构示意图,包括Portal 服务器710和Portal网关设备720,以及至少一客户端。其中,
Portal服务器710,用于构造心跳报文,并按照心跳周期向Portal网关设备 720发送心跳4艮文。
可以是服务器心跳报文,也可以是用户心跳报文。其中,服务器心跳报文用于 标识Portal服务器710工作正常,且没有配置相应的回应报文;用户心跳报文中 包含在线用户的用户信息,在某些异常情况下,如Portal服务器710从故障中恢 复正常时,由于Portal服务器710与Portal网关设备720中的用户信息不同步, Portal服务器710还可以向Portal网关设备720发送包含离线用户的用户信息的 用户心跳报文。
Portal网关设备720,用于接收来自Portal服务器710的心跳报文,设定心 跳报文的探测周期,并对该探测周期计时,判断在该探测周期内是否接收到来 自Portal服务器710的心跳报文,并根据判断结果以及预先设定的策略,对Portal 认证规则进行设置。
当Portal服务器710所构造并向Portal网关设备720发送的心跳报文为服务 器心跳报文时,Portal网关设备720具糾艮据如下预设策略设置Portal认证规则
当Portal网关设备720在探测周期内没有接收到服务器心跳报文时,Portal 网关设备720确定Portal服务器710工作不正常,关闭Portal认证,切换至Portal 逃生模式,允许未认证用户访问网络,使用户发送的报文可以直接通过;当Portal 网关设备720在探测周期内接收到服务器心跳报文,Portal网关设备720确定 Portal服务器710工作正常,继续获取未认证用户的认证信息,并根据该认证信 息对未认证用户进行Portal认证,只有在认证通过时才允许用户访问网络中的资 源。
上述Portal网关设备720,还用于在关闭Portal认证之后,当接收到来自Portal 服务器710的服务器心跳报文时,恢复Portal认证,获取用户的认证信息,并根据该认证信息对用户进行Portal认证。
本发明中,在Portal网关设备720关闭Portal认证后,如果Portal服务器710 恢复正常,可以继续构造并按照服务器心跳周期向Portal网关设备720发送服务 器心跳报文。相应地,在Portal网关设备720重新接收到来自Portal服务器710 的服务器心跳报文时,Portal网关设备720恢复Portal认证,保留用户列表中包 含的在线用户的用户信息,并才艮据接收到的用户心逸^艮文处理在线用户的用户 信息。
当Portal服务器710所构造并向Portal网关设备720发送的心跳报文为在线 用户对应的用户心跳才艮文,该在线用户的用户信息包含在Portal网关设备720 保存的用户列表中时,Portal网关设备720具体根据如下预设策略设置Portal认 证规则
当Portal网关设备720在4笨测周期内没有接收到在线用户对应的用户心跳报 文时,Portal网关设备720将该在线用户的用户信息从用户列表中删除,对该在 线用户进行下线操作,向AAA服务器发送该在线用户对应的计费结束报文,并 向Portal服务器710发送该在线用户对应的下线通知报文;当Portal网关设备 720在探测周期内接收到在线用户对应的用户心跳报文时,Portal网关设备720 将该在线用户的用户信息保留在用户列表中,允许该在线用户继续访问网络, 并在后续的流程中继续判断是否在检测周期内接收到该在线用户对应的用户心
Portal网关设备720,还用于在接收到的心跳报文为离线用户对应的用户心 跳报文,即接收到的用户心跳报文中的用户信息没有4^P包含在用户列表中时, 向Portal服务器710返回同步确认报文,通知Portal服务器710该离线用户已下 线,该同步确认才艮文中携带该离线用户的用户信息。
本发明在Portal网关设备720和Portal服务器710之间同步服务器状态信息 和用户状态信息,并由Portal网关设备720根据来自Portal服务器710的用户心 跳报文确定是否将对在线用户进行下线操作,根据服务器心跳报文确定是否进 行Portal认证,能够方便及时地控制用户的访问权限,增强了网络的可用性和可 部署性,JH更于管理和维护。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件, 但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案 本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端 设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各 个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润 饰,这些改进和润饰也应—见本发明的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述 进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一
个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署;可
以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。 以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,
任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种入口Portal认证方法,应用于包括Portal网关设备和Portal服务器的网络系统中,其特征在于,所述方法包括以下步骤所述Portal服务器构造心跳报文,并按照心跳周期向所述Portal网关设备发送心跳报文;所述Portal网关设备判断在探测周期内是否接收到来自所述Portal服务器的心跳报文,其中所述探测周期不小于所述心跳周期,所述Portal网关设备根据判断结果进行Portal认证。
2、 如权利要求1所述的方法,其特征在于,所述心跳报文为服务器心跳报 文时,所述Portal网关设备根据判断结果进行Portal认证,具体包括当所述Portal网关设备在所述探测周期内没有接收到所述服务器心跳报文 时,所述Portal网关设备关闭Portal认证,允许未认证用户访问网络;当所述Portal网关设备在所述探测周期内接收到所述服务器心跳报文,所述 Portal网关设备获取未认证用户的认证信息,并4艮据所述iU正信息对未认证用户 进行Portal认证。
3、 如权利要求2所述的方法,其特征在于,所述Portal网关设备关闭Portal 认证后5还包括二当所述Portal网关设备接收到来自所述Portal服务器的服务器心跳报文时, 所述Portal网关设备恢复Portal认证,获取用户的认证信息,并根据所述认证信 息对用户进行Portal认证。
4、 如权利要求l所述的方法,其特征在于,所述心跳报文为在线用户对应 的用户心跳报文,所述Portal网关设备根据判断结果进行Portal认证,具体包括当所述Portal网关设备在所述探测周期内没有接收到所述在线用户对应的 用户心跳报文时,所述Portal网关设备将所述在线用户的用户信息从用户列表中 删除,对所#线用户进行下线操作,所述用户列表中包含所述Portal网关设备 保存的在线用户的用户信息;当所述Portal网关设备在所述探测周期内接收到所述在线用户对应的用户 心跳报文时,所述Portal网关设备将所述在线用户的用户信息保留在所述用户列表中,允许所述在线用户继续访问网络。
5、 如权利要求2或3所述的方法,其特征在于,在所述Portal网关设备关 闭认证后,所述Portal网关设备接收到来自所述Portal服务器的用户心跳报文之 后,还包括所述Portal网关设备判断所述接收到的用户心跳报文中的用户信息是否全 部包含在所述用户列表中,如果所述用户信息没有全部包含在所述用户列表中, 则向所述Portal服务器返回同步确认报文,所述同步确认报文中携带包含在所述 用户心跳报文但不包含在所述用户列表中的用户信息;所述Portal服务器接收到所述同步确认报文后,从在线列表中删除所述同步 确认报文中的用户信息,所述在线列表中包含所述Portal服务器保存的在线用户 的用户信息。
6、 如权利要求l所述的方法,其特征在于,所述Portal服务器按照心跳周 期向Portal网关设备发送心跳报文之前,还包括在所述Portal服务器上配置所述心跳周期和在所述Portal网关设备上配置所述才笨测周期。
7、 如权利要求5所述的方法,其特征在于,所述用户心跳报文中包含对应 用户的互联网协议IP地址。
8 、 一种Portal网关设备,应用于包括Portal网关设备和Portal服务器的网 络系统中,其特征在于,所述Portal网关设备包括4议模块,至少用于接收来自所述Portal服务器的心跳报文,所述心跳报文 由所述Portal服务器按照心跳周期发送;判断模块,与所述^^模块电性连接,用于判断所述收发模块在所述计时 模块计时的探测周期内是否接收到来自所述Portal服务器的心跳报文;计时模块,与所述判断模块电性连接,用于根据所述当所述判断模块接收 到的所述收发模块传来的心跳报文,对探测周期进行计时,所述探测周期不小 于所述心跳周期;处理模块,与所述判断模块电性连接,用于根据所述判断模块的判断结果 进行Portal认证。
9、 如权利要求8所述Portal网关设备,其特征在于,当所述心跳报文为服 务器心跳报文时,所述处理冲莫块具体用于当所述判断模块在所述服务器心跳报文探测周期内没有接收到所述服务器 心跳报文时,所述处理模块根据判断模块的指示关闭Portal认证,允许未认证用 户访问网络;当所述判断模块在所述服务器心跳报文探测周期内接收到所述服务器心跳 报文,所述处理模块继续获取未认证用户的认证信息,并根据所述认证信息对 未认证用户进行Portal iU正。
10、 如权利要求8所述Portal网关设备,其特征在于,当所述心跳报文为在 线用户对应的用户心跳才艮文时,所述处理冲莫块具体用于当所述判断模块在所述探测周期内没有接收到所述在线用户对应的用户心 跳报文时,根据所述判断模块的指示,将所述在线用户的用户信息从所述用户 列表中删除,对所述在线用户进行下线操作;当所述判断模块在所述探测周期内接收到所述在线用户对应的用户心跳报 文时,所述处理才莫块将所述在线用户的用户信息保留在所述用户列表中,允许 所#线用户继续访问网络。
11、 如权利要求9或10所述Portal网关设备,其特征在于,在关闭Portal 认证之后,所述处理才莫块还用于当所述判断模块接收到来自所述4復模块重新传来的服务器心跳报文时, 恢复Portal认证,获取用户的认证信息,并根据所述认证信息对用户进行Portal 认证;当所述判断模块接收到所述心跳报文为离线用户对应的用户心跳报文时, 向所述Portal服务器返回同步确认报文,通知所述Portal服务器所述离线用户已 下线,所述同步确认才艮文中携带所述离线用户的用户信息。
12、 如权利要求8所述Portal网关设备,其特征在于,还包括 配置模块,用于设定所述心跳报文的探测周期。
13、 一种Portal服务器,应用于包括Portal网关设备和Portal服务器的网络 系统中,其特征在于,所述Portal服务器包括构造模块,用于构造心跳报文;^;1模块,与所述构造模块电性连接,至少用于按照心跳周期向所述Portal 网关设备发送所述构造模块构造的心跳报文;计时模块,与所述4t^模块电性连接,用于在所述收发模块发送心跳报文 时,对所述心跳周期进4于计时。
14、 如权利要求13所述Portal服务器,其特征在于,还包括 配置模块,与所述计时模块电性连接,用于配置所述心跳报文的心跳周期,供所述计时模块使用,所述探测周期为所述Portal网关设备探测所述心跳报文的 周期,所述4果测周期不小于所述心跳周期。
15、 如权利要求13所述Portal服务器,其特征在于,所述4议模块,还用于接收来自所述Portal网关设备的同步确认报文,所述 同步确i人才艮文中包含离线用户的用户信息。
全文摘要
本发明公开了一种入口Portal认证方法,应用于包括Portal网关设备和Portal服务器的网络系统中,所述方法包括以下步骤所述Portal服务器构造心跳报文,并按照心跳周期向所述Portal网关设备发送心跳报文;所述Portal网关设备判断在探测周期内是否接收到来自所述Portal服务器的心跳报文,其中所述探测周期不小于所述心跳周期,所述Portal网关设备根据判断结果进行Portal认证。本发明在Portal服务器无法正常工作的情况下允许用户继续使用网络,增强了网络的可用性和可部署性。本发明同样公开了对应的网关设备、服务器。
文档编号H04L12/66GK101557405SQ200910143679
公开日2009年10月14日 申请日期2009年6月1日 优先权日2009年6月1日
发明者鞠艳丰 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1