基于无线访问控制器AC实现WLAN用户的重定向方法及装置
技术领域
本发明涉及通讯设备技术领域,尤其涉及一种基于无线访问控制器AC实现WLAN用户的重定向方法及装置。
背景技术
WLAN指应用无线通信技术将计算机设备互联起来,构成可以互相通信和实现资源共享的网络体系。它具有灵活性和移动性,安装便捷和易于扩展等优点。WLAN用户连接到网络的方式有Portal认证通常也称为Web认证,一般将Portal认证网站称为门户网站。当用户试图通过HTTP访问其他外网时,其接入设备就将用户强制重定向至门户网站进行认证,输入用户名和密码进行认证,在认证通过后才可以使用互联网资源。
在重定向认证中,用户可以使用客户端和浏览器两种方式发起认证。用户使用浏览器发起Portal认证时,经过AC(接入服务器)设备时用户的浏览器访问请求被重定向到Portal系统的Portal Web认证主页上。用户采用客户端发起Portal认证时,客户端返回AC设备推送的WEB认证页面,在这种情况下,AC设备推送的Portal页面并没有出现在用户终端的浏览器中;这样通过客户端访问的用户导致了通过浏览器访问的用户不能迅速重定向到认证页面,需要长时间等待。
在实际的应用中,由于用户终端(PC主机、移动设备等)的多样性、及应用软件的丰富性,用户终端上的很多软件、或基于互联网的应用程序(统称为非浏览器应用程序),会不断主动发出HTTP探测或更新报文,发送频率有的甚至达到10几毫秒一次。只要是HTTP请求报文,都会进行重定向处理,即向Http请求报文的发送方回应重定向报文,告知发送方访问Portal服务器。对AC设备而言,无法区分其接收到的HTTP请求是用户浏览器发起请求的发送方,还是来自非浏览器发起请求的发送方。
现有解决方案是依赖用户的IP地址,通过在AC设备维护会话信息来保证对应一个IP的唯一会话,如果对应会话已经存在,则拒绝其他HTTP请求。此种方式虽然可以保证用户浏览器发起HTTP会话的各种问题(比如TCP仿冒,会话超时机制),但非浏览器应用程序发出HTTP请求,它的连接没有断开的话,该IP后续发起的所有连接都将被丢弃,同时仿冒TCP连接老化定时器有一定的时间,进而影响用户浏览器发起HTTP的重定向访问。
现有技术中公开了一种“门户Portal认证方法”,见公开号为:102143177A,公开日为:2011-08-03的中国专利,其中该方法包括:Portal服务器的前置处理单元接收被重定向过来的客户端的访问请求;Portal服务器的前置处理单元对作为无效认证请求的访问请求进行过滤,并将作为有效认证请求的访问请求重定向至Portal服务器的认证处理单元;Portal服务器的认证处理单元对发出有效认证请求的客户端进一步执行认证操作。该发明解决了现有Portal认证过程中,无效认证请求所带来的浪费Portal服务器的资源的问题。该专利描述的对象是运营商服务器设备,主要指PORTAL认证服务器;并不是本专利申请基于无线访问控制器AC,解决WLAN用户无法重定向的问题。
又如:一种“实现Portal认证服务器防攻击的方法”,见公开号为:102710667A,公开日为:2012-10-03的中国专利,该方法,包括以下步骤:宽带接入服务器BAS获取来自客户端的未通过Portal认证的Http请求报文,建立TCP连接,向客户端发送质询认证请求报文;BAS接收到所述客户端的浏览器返回的质询认证应答报文后,解析所述质询认证应答报文并对其进行身份认证,当认证成功时,向所述客户端的浏览器发送包含有Portal服务器URL地址的重定向报文。该申请还公开一种宽带接入服务器BAS。该申请中,BAS在重定向报文发送前,对获取的Http请求引入质询认证,可屏蔽客户端非浏览器应用程序产生的业务流量,避免Portal服务器受到攻击;同时,引入上述质询认证后,客户端实际需通过二次认证,更严格地保证了接入用户的安全性。该专利是通过向客户端返回包含有动态脚本的响应页面,判断http请求是否是有效认证请求;并不是本专利申请中通过判断http访问请求的头信息header是否带有If-Modified-Since信息,从而,判断http请求是否有效。
发明内容
本发明要解决的技术问题之一,在于提供一种基于无线访问控制器AC实现WLAN用户的重定向方法,提高了http请求报文的并发性,且有效地减少认证请求的次数,降低服务器的压力。
本发明问题之一是这样实现的:一种基于无线访问控制器AC实现WLAN用户的重定向方法,具体包括如下步骤:
步骤1、无线访问控制器AC接收客户端的未通过Portal认证的多个http请求报文,建立TCP仿冒连接,并根据客户端的IP和端口号创建各个http请求报文对应的会话;
步骤2、无线访问控制器AC接收到多个http请求报文后,对各个http请求报文逐个判断;
步骤3、若http请求报文的头信息header带有If-Modified-Since信息,则无线访问控制器AC向客户端返回http302重定向报文,使用户根据一新的URL地址访问Portal服务器;
步骤4、若http请求报文的头信息header未带有If-Modified-Since信息,则拦截该http请求报文,并删除该http请求报文对应的会话。
本发明要解决的技术问题之二,在于提供一种基于无线访问控制器AC实现WLAN用户的重定向装置,提高了http请求报文的并发性,且有效地减少认证请求的次数,降低服务器的压力。
本发明问题之二是这样实现的:一种基于无线访问控制器AC实现WLAN用户的重定向装置,所述装置包括接收模块、判断模块、重定向模块以及拦截模块;
所述接收模块:通过无线访问控制器AC接收客户端的未通过Portal认证的多个http请求报文,建立TCP仿冒连接,并根据客户端的IP和端口号创建各个http请求报文对应的会话;
所述判断模块:通过无线访问控制器AC接收到多个http请求报文后,对各个http请求报文逐个判断;
所述重定向模块:若http请求报文的头信息header带有If-Modified-Since信息,则无线访问控制器AC向客户端返回http302重定向报文,使用户根据一新的URL地址访问Portal服务器;
所述拦截模块:若http请求报文的头信息header未带有If-Modified-Since信息,则拦截该http请求报文,并删除该http请求报文对应的会话。
本发明具有如下优点:
1、降低http的丢弃率
在WLAN用户重定向的过程中,只需要通过源IP和端口创建会话,解决了会话失效期内新的HTTP请求无法处理的问题。虽然本发明需要多占用无线访问控制器AC的资源空间,但是提高了http请求报文的并发性,改善了用户体验度。
2、减少portal服务器无效的认证请求
由于不需要增加额外的脚本代码,只需利用HTTP协议的属性进行判断,当收到大量无效认证请求时,Portal服务器会消耗较多资源在无效认证请求的处理上,影响正常Portal认证。本发明可以有效地减少认证请求的次数,降低服务器的压力。
3、提高终端重定向页面的速度
终端发送http请求时,无需等待会话超时处理,可以提高重定向的速度;最终通过采用本发明方法可达到提高为用户获取重定向页面的效率,达到提高用户体验的效果。
附图说明
图1为本发明方法流程示意图。
图2为本发明中硬件设备的原理框图。
图3为本发明装置的结构框图。
具体实施方式
请参阅图1和图2所示,本发明的一种基于无线访问控制器AC实现WLAN用户的重定向方法,具体包括如下步骤:
步骤1、无线访问控制器AC接收客户端的未通过Portal认证的多个http请求报文,建立TCP仿冒连接,并根据客户端的IP和端口号创建各个http请求报文对应的会话;具体为:客户端访问任意一网站时,在同一时间内向无线访问控制器AC发送多个http请求报文,无线访问控制器AC需并发处理获取到的http请求报文,网站的URL通过DNS获取到客户端的IP地址,无线访问控制器AC仿冒该IP地址回复应答,建立TCP三次握手,并为每个http请求报文根据客户端的IP和端口号维护对应一个会话;为了解决一个IP地址唯一维护一个会话的弊端,引入了IP地址加端口号创建唯一的会话,有效地降低了http报文的丢弃率;当一个用户同时发送的上千条http请求时候,会造成无线访问控制器AC的资源浪费,为了改进这个问题,进行了步骤2的判断流程。
步骤2、无线访问控制器AC接收到多个http请求报文后,对各个http请求报文逐个判断;具体为:无线访问控制器AC接收到多个http请求报文后,对各个http请求报文逐个判断,判断该用户是否已经通过WEB认证,如果客户端已经通过了WEB认证,则直接转发http请求报文;如果客户端未通过WEB认证,对http请求报文的头信息header报文进行解析;判断该头信息header是否带有If-Modified-Since信息;如果该header带有If-Modified-Since信息,说明用户是通过浏览器进行访问;如果该header没有带If-Modified-Since信息,说明用户是通过非浏览器进行访问。
步骤3、若http请求报文的头信息header带有If-Modified-Since信息,则无线访问控制器AC向客户端返回http302重定向报文,使用户根据一新的URL地址访问Portal服务器;具体为:解析后,判断该头信息header是带有If-Modified-Since信息;则无线访问控制器AC向客户端返回重定向指令给用户;无线访问控制器AC保存Portal服务器的地址信息,及相关的配置信息,生成一新的URL携带http状态码302信息给用户;用户收到Portal服务器的应答后,向Portal服务器发送页面请求;
步骤4、若http请求报文的头信息header未带有If-Modified-Since信息,则拦截该http请求报文,并删除该http请求报文对应的会话;具体为:若http请求报文的头信息header未带有If-Modified-Since信息,则无线访问控制器AC拦截该http请求报文;由于该http访问请求目的不是访问网页,只是获取软件服务器信息之类,所以无需回复重定向报文给用户,直接断开TCP连接,并删除该http请求报文对应的会话。
其中,所述相关的配置信息具体包括:客户端所属的VLAN,热点SSID,无线访问控制器AC的设备名,客户端的IP地址以及无线访问控制器AC的IP地址。
请参阅图2和图3所示,本发明的一种基于无线访问控制器AC实现WLAN用户的重定向装置,所述装置包括接收模块、判断模块、重定向模块以及拦截模块;
所述接收模块:通过无线访问控制器AC接收客户端的未通过Portal认证的多个http请求报文,建立TCP仿冒连接,并根据客户端的IP和端口号创建各个http请求报文对应的会话;所述接收模块的操作功能具体为:客户端访问任意一网站时,在同一时间内向无线访问控制器AC发送多个http请求报文,无线访问控制器AC需并发处理获取到的http请求报文,网站的URL通过DNS获取到客户端的IP地址,无线访问控制器AC仿冒该IP地址回复应答,建立TCP三次握手,并为每个http请求报文根据客户端的IP和端口号维护对应一个会话。
所述判断模块:通过无线访问控制器AC接收到多个http请求报文后,对各个http请求报文逐个判断;所述判断模块的操作功能具体为:无线访问控制器AC接收到多个http请求报文后,对各个http请求报文逐个判断,判断该用户是否已经通过WEB认证,如果客户端已经通过了WEB认证,则直接转发http请求报文;如果客户端未通过WEB认证,对http请求报文的头信息header报文进行解析。
所述重定向模块:若http请求报文的头信息header带有If-Modified-Since信息,则无线访问控制器AC向客户端返回http302重定向报文,使用户根据一新的URL地址访问Portal服务器;所述重定向模块的操作功能具体为:解析后,判断该头信息header是带有If-Modified-Since信息;则无线访问控制器AC向客户端返回重定向指令给用户;无线访问控制器AC保存Portal服务器的地址信息,及相关的配置信息,生成一新的URL携带http状态码302信息给用户;用户收到Portal服务器的应答后,向Portal服务器发送页面请求。
所述拦截模块:若http请求报文的头信息header未带有If-Modified-Since信息,则拦截该http请求报文,并删除该http请求报文对应的会话;所述拦截模块的操作功能具体为:若http请求报文的头信息header未带有If-Modified-Since信息,则无线访问控制器AC拦截该http请求报文;无需回复重定向报文给用户,直接断开TCP连接,并删除该http请求报文对应的会话。
其中,所述相关的配置信息具体包括:客户端所属的VLAN,热点SSID,无线访问控制器AC的设备名,客户端的IP地址以及无线访问控制器AC的IP地址。
总之,本发明使得在用户发起任何方式的HTTP请求,用户都能迅速重定向到认证页面,而不用长时间地等待重定向页面,提高了认证效率。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。