专利名称:基于客户端的网络地址分配方法
技术领域:
本发明涉及网络接入方法,具体地说,涉及用户在访问网络时的网络地址分配方法。
背景技术:
IP地址资源是网络资源中非常宝贵的资源之一,如果一台计算机要接入网络中,则需要获得IP地址,而该IP地址是全球唯一的,在全球统一分配,因此随着Internet的迅猛发展,IP地址资源越来越紧张。当组建局域网时,其内部的主机IP地址可以内部规划,称之为私网IP地址;当组建广域网时,IP地址由地址规划部门全局规划,称之为公网IP地址。由于私网IP地址是内部规划的,因此资源相对很充裕;而公网IP地址是在广域网使用,全球统一分配,因此地址资源非常紧张。
目前解决公网IP地址资源紧张的一个方法是采用网络地址转换(NetworkAddress Translation,简称NAT)技术,又称地址代理,用于实现私有网络IP地址与公有网络IP地址之间的转换,这样可以使多个私网IP地址对应于一个公网IP地址,达到节约公网IP地址资源的目的。
因特网地址分配组织规定以下三个网络地址段保留用做私有网络IP地址10.0.0.0-10.255.255.255;172.16.0.0-172.31.255.255;192.168.0.0-192.168.255.255,即上述三个网络地址段不会在Internet上被分配,可以在一个局域网内部使用。每个局域网可根据其所包含的主机数量的多少,选择一个合适的网络地址。不同的局域网的内部网络地址可以相同,如果一个局域网选择除上述三个网络地址段的网段作为内部网络地址,则可能引起路由表的混乱。
当局域网内部的主机访问Internet或与外部网络的主机通信时,需要经过网络地址转换。
图1是一个局域网中的主机访问外部网络主机的示意图。局域网内部网络的地址是10.0.0.0网段,主机1的IP地址是10.1.1.10,主机2的IP地址是10.1.1.48,各主机通过代理服务器203.196.3.23与外部网络连接,因此该局域网对外的正式IP地址是203.196.3.23。当局域网内部的主机2以www方式访问位于该局域网外的WWW服务器202.18.245.251时,主机2首先发出一个数据报文,其中源端口为6084,目的端口为80。在通过代理服务器后,该数据报文的源地址和端口改为203.196.3.2332814,目的地址与端口不变。当外部网络的WWW服务器返回结果时,代理服务器会根据其内部的地址端口对应表将结果数据报文中的目的IP地址及端口转化为10.1.1.486084,这样,内部主机2就可以访问外部的服务器了。
采用NAT方法会带来以下的问题。首先由于NAT需要对数据报文进行IP地址的转换,因此不能对涉及IP地址的数据报文的报头进行加密,从而不能采用加密的文件传输协议FTP进行连接,因为这样会导致FTP协议中的port命令不能正确地转换。其次,当出现某一台内部网络的主机攻击其他网络时,很难检测出是由哪一台主机发出的,因为主机的IP地址被屏蔽了,这样对网络安全检测带来困难。第三,由于内部网络主机的每个数据报文都需进行NAT处理,因此极大影响了报文转发的效率。第四,当域名解析服务器(简称DNS)位于局域网的外部时,会出现内部网络的用户无法通过域名访问内部网络的其他用户,如图2所示,当内部网络的主机通过域名访问同样位于内部网络的FTP服务器时,首先会到外部的DNS上请求IP地址,由于DNS位于公网中,所以它会返回一个公网的地址或找不到地址,从而导致内部网络的主机通过域名访问内部的服务器时,得到的是该服务器在公网的地址或者得不到地址,导致内部用户不能正常访问内部服务器。
用户还可以采用认证的方式对外部网络进行访问,目前经常使用的一种认证方法是WEB认证。在进行WEB认证时,不需要安装客户端,可以直接用浏览器。采用WEB认证的系统组网图见图3。用户经二层设备(简称L2)与宽带接入服务器BAS连接,L2可以是HUB、局域网交换机等,通过BAS接入核心网中;AAA服务器和WEB服务器也分别接入核心网中。WEB认证的过程如下用户通过动态地址分配协议DHCP获得IP地址或者通过静态配置IP地址,然后对WEB服务器进行访问,获取认证页面;用户输入用户名和密码,并提交认证请求;WEB服务器与BAS进行交互认证;BAS从WEB服务器上获得用户名和密码,对用户进行认证和计费;WEB服务器通知用户上线成功或者失败。由于用户在进行WEB认证之前需要获得IP地址,并且在认证通过后也不会替换该IP地址,因此导致公网IP地址在认证之前就进行分配,浪费了IP地址资源。
对于其他的认证方式,如满足802.1x的拨号认证,也可以首先通过DHCP获得IP地址,然后进行拨号认证,故而也会存在浪费公网IP地址资源的问题。
发明内容
本发明所要解决的技术问题在于提供一种基于客户端的网络地址分配方法,用于解决公网IP地址资源紧张的问题,并实现用户在不同网络之间的切换,使得用户在获得网络地址后可以直接收发数据报文。
本发明所述基于客户端的网络地址分配方法,在用户认证的过程中,通过在认证前为用户分配一个网络地址,在认证后又分配另一个网络地址,使得网络资源得以合理利用;所述方法包括以下步骤步骤一,用户申请访问网络的网络地址;步骤二,接入服务器为用户分配第一网络的网络地址,并分配用户资源;步骤三,用户发起认证请求;步骤四,接入服务器对用户进行认证,并返回认证结果;步骤五,客户端根据认证结果,对用户的网络地址进行刷新;步骤六,接入服务器申请第二网络的网络地址并分配给用户。
其中,所述第一网络的网络地址可以是私网的网络地址,也可以是公网的网络地址;所述第二网络的网络地址是公网的网络地址。
所述接入服务器优选宽带接入服务器。
本发明通过在认证前分配一个网络地址、认证后刷新地址并再分配一个网络地址的二次地址分配,有效地节约了公网IP地址资源,并可根据用户的认证信息进行相应的策略选择,例如用户user1和user2在认证前都是由私网DHCP服务器分配地址,在认证后,用户user1可以从运营商ISP1的DHCP服务器1中分配地址,而用户user2则可从运营商ISP2的DHCP服务器2中分配地址,从而使地址资源可以根据用户的认证结果进行策略分配。其次,采用本发明方法进行认证后,用户的报文不需要经过任何设备的特殊处理即可发送,比采用NAT技术的效率高,同时也不需要对报文中的地址信息进行特殊处理,支持任何协议。另外,本发明还增强了接入服务器的管理功能,使组网更灵活。
图1是局域网中的主机采用NAT技术访问外部网络的网络示意图;图2是内部网络的主机通过域名访问FTP服务器的网络示意图;图3是采用WEB认证方法的网络示意图;图4是本发明网络地址分配方法的流程图;图5是本发明方法的具体实施例1的网络组网示意图;图6是本发明方法的具体实施例1的业务流程示意图;图7是本发明方法的具体实施例2的业务流程示意图。
具体实施例方式
下面结合附图和实施例,对本发明做进一步的详细描述。
图1至图3是应用现有技术的网络的示意图,已在背景技术部分详细描述,此处不再赘述。
为了解决现有技术存在的问题,本发明基于客户端的网络地址分配方法的基本思想是在认证前为用户分配一个网络地址,认证后再分配一个网络地址,使网络资源得以合理利用。为了节约公网IP地址的资源,一般采用在认证前为用户分配私网IP地址,在认证后分配公网IP地址;也可以都分配公网IP地址,但根据认证前后的不同用户策略,以实现用户在不同互联网服务提供商ISP之间的切换。
本发明基于客户端的网络地址分配方法可以采用多种认证方式,例如可与WEB认证结合,也可与某种拨号认证结合。下面以分别与上述两种认证方式结合的网络地址分配为例,进行详细的描述。
具体实施例1基于客户端的WEB认证网络地址分配的典型组网如图4所示,WEB用户通过二层设备L2接入宽带接入服务器BAS,BAS、门户服务器(简称Portal服务器)、远端认证服务器(简称Radius服务器)、动态地址分配服务器(简称DHCP服务器)1和DHCP服务器2均接入网络中,其中DHCP服务器1是某一私网的DHCP服务器,DHCP服务器2是公网的DHCP服务器,BAS中可内置地址池,Portal服务器用于提供web认证页面。与DHCP服务器的通讯采用DHCP协议;与Radius服务器的通讯采用radius协议;与Portal服务器的通讯采用portal协议。
如图5所示的基于客户端的WEB认证网络地址分配的业务流程图,用户通过DHCP协议申请IP地址,该DHCP报文被BAS截获,在BAS中的配置信息包括如何处理某个用户请求分配IP地址的请求,到哪个DHCP服务器申请地址,例如指定BAS设备中来自端口1的带有虚拟局域网标记VLAN ID的用户到DHCP服务器10.0.0.2申请地址;来自端口2的不带虚拟局域网标记VLAN ID的用户到DHCP服务器11.0.0.2申请地址。BAS在收到DHCP报文后,根据其配置信息为用户选择指定的私网的DHCP服务器1,并作为一个DHCP中继向DHCP服务器1申请IP地址,获得一个私网IP地址;或者BAS也可以从其内部地址池中为用户选择一个地址。
BAS设备在为用户分配地址的同时,也为用户分配资源,如用户表项、地址解析协议表项、用户日志、流匹配表等,并添加用户策略,用户策略包括分配给用户的权限,例如可以访问哪些网站、不可以访问哪些网站、用户的流量限制是多少、允许用户开展哪些业务等,访问控制列表ACL、宽带地址限制CAR、用户优先级、服务质量QOS等,例如“允许访问Portal服务器和web网站1,不能访问web网站2;用户访问不允许访问的web网站时强制访问Portal服务器”,使得用户在认证前只能访问指定的地址,如PORTAL服务器或DNS服务器等。因此对于上述用户策略,如果用户在认证前访问web网站2时,会被强制访问Portal服务器;如果用户访问web网站1,则允许其进行访问。
用户启动浏览器,访问Portal服务器,获得认证页面;如果用户访问其他不允许访问的地址,则BAS强制用户访问Portal服务器,获得认证页面。用户输入用户名和密码后提交认证请求,通过HTTP协议发送到Portal服务器进行解析。Portal服务器通过Portal协议与BAS进行交互,使得BAS获得用户名和密码。BAS根据用户名的后缀判断是进行本地认证还是进行radius认证,如果是进行radius认证,则将用户名和密码通过radius协议送到Radius服务器,Radius服务器取出用户名和密码,与Radius服务器本地配置的用户名和密码进行匹配,如果匹配,则认证成功,否则认证失败;如果进行本地认证,则将用户的用户名和密码与本地配置的用户名和密码进行匹配,如果匹配,则认证成功,否则认证失败;在认证结束后产生认证结果,认证结果中需包含是否需要再次进行地址分配的属性,还包含用户的授权信息,如宽带地址限制CAR、用户剩余的上网时间、用户优先级等。BAS通过Portal协议,将认证结果通知Portal服务器。如果认证成功并需要进行再次地址分配,则Portal服务器下发认证结果页面和客户端小程序,如JAVA APPLET、ACTIVEX等,由客户端小程序进行用户IP地址的刷新,先释放原私网IP地址,再申请新的IP地址。BAS获得用户申请新的IP地址的报文后,根据用户认证结果中包含的授权信息到指定的公网DHCP服务器2上申请公网地址,并将申请的公网地址返回用户。用户获得公网地址后,BAS通过Portal协议通知Portal服务器用户的IP地址已改变,并在得到地址改变确认响应后释放用户的私网地址。BAS为用户刷新用户策略,例如“允许访问任何地址,但第一次访问网页时强制访问Portal服务器”,使得用户可以访问指定的公网地址。至此,基于客户端的网络地址分配上线过程完成。根据新的用户策略,当用户在认证后第一次访问web网站2时,被强制访问Portal服务器;第二次访问web网站2时,即可允许访问。当用户下线时,释放公网IP地址。
具体实施例2基于客户端的拨号认证网络地址分配的网络组网也可以采用图4的结构,由于是拨号认证,因此可不需要Portal服务器。业务流程图如图6所示。用户通过DHCP协议申请IP地址,该DHCP报文被BAS截获,BAS根据配置信息,为用户选择指定的私网的DHCP服务器1,BAS作为一个DHCP中继向DHCP服务器1申请地址;或者由BAS从配置的内部地址池中选择一个地址给用户。
BAS在为用户分配私网地址的同时,在内部为用户分配资源,添加用户策略,如“可以访问web网站1,不能访问web网站2;用户访问不允许访问的地址时强制到web网站1”,修改访问控制列表ACL,使用户在认证前只能访问指定的地址。对于该策略,在认证前,如果用户访问web网站2,则被强制访问web网站1;如果用户访问web网站1,则允许其访问。
用户输入用户名和密码,进行拨号。BAS根据用户名的后缀确定是本地认证还是radius认证,如果是radius认证,则通过radius协议将用户名和密码发送到radius服务器中,对用户进行认证;如果是本地认证,则在本地根据用户名和密码对用户进行认证。认证结束后产生认证结果,在认证结果中需包含是否需要进行再次地址分配的属性,还包括用户的授权信息,如宽带地址限制CAR、用户剩余的上网时间、用户优先级等。BAS将认证结果通知客户端,拨号器根据认证结果,刷新用户的IP地址,先释放原IP地址,再申请新的IP地址。BAS根据用户认证结果中的授权信息,到指定的公网DHCP服务器2申请公网地址,将新的公网地址返回给用户,并释放到用户的私网地址。BAS为用户刷新用户策略,如“允许访问人和地址,但第一次访问网页时需强制到web网站1”,修改用户属性,如ACL等,使用户可以访问指定的公网地址。至此,基于客户端的网络地址分配上线过程完成。当用户第一次访问网页时,强制访问web网站1;第二次访问web网站2,则允许进行访问。用户下线时释放公网IP地址。
在上述两个实施例中,认证前分配的网络地址都是私网IP地址,在认证后再分配公网IP地址。在实践中,认证前后的网络地址也可以都是公网IP地址,以实现用户在不同ISP之间的切换。例如用户在认证前默认是属于运营商1的,其网络地址由运营商1分配,可以访问的网站也由运营商1规定。如果该用户需要切换运营商,则需经过运营商2的认证,获得运营商2给予的权限,因此在认证通过后,应释放运营商1分配的网络地址,申请运营商2分配的地址。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种基于客户端的网络地址分配方法,其特征在于,包括以下步骤步骤一,用户申请访问网络的网络地址;步骤二,接入服务器为用户分配第一网络的网络地址,并分配用户资源;步骤三,用户发起认证请求;步骤四,接入服务器对用户进行认证,并返回认证结果;步骤五,客户端根据认证结果,对用户的网络地址进行刷新;步骤六,接入服务器申请第二网络的网络地址并分配给用户。
2.根据权利要求1所述的基于客户端的网络地址分配方法,其特征在于,所述第一网络的网络地址是私网的网络地址;所述第二网络的网络地址是公网的网络地址。
3.根据权利要求1所述的基于客户端的网络地址分配方法,其特征在于,所述第一网络的网络地址和所述第二网络的网络地址都是公网的网络地址。
4.根据权利要求2或3所述的基于客户端的网络地址分配方法,其特征在于,所述步骤二中,接入服务器向第一网络的动态地址分配服务器申请网络地址,并将其分配给用户。
5.根据权利要求2或3所述的基于客户端的网络地址分配方法,其特征在于,所述步骤二中,接入服务器从其内部地址池中为用户选择一个地址。
6.根据权利要求1所述的基于客户端的网络地址分配方法,其特征在于,所述步骤二还包括在为用户分配网络地址的同时,为用户添加用户策略的步骤,其中所述用户策略至少包括分配给用户的权限,所述权限至少包括允许访问的地址、不允许访问的地址、用户的流量限制、允许开展的业务。
7.根据权利要求1所述的基于客户端的网络地址分配方法,其特征在于,所述步骤四进一步包括用户输入的用户名和密码被发送到接入服务器;接入服务器根据用户名的后缀,判断是进行远端用户拔入radius认证还是进行本地认证,如果是radius认证,则将用户名和密码通过Radius协议发送到远端认证服务器中,由远端认证服务器进行认证,所得的认证结果返回接入服务器;如果进行本地认证,则将用户的用户名和密码在本地进行认证,得到认证结果;如果需要进行再次地址分配,则接入服务器通知客户端认证成功并需要进行再次地址分配。
8.根据权利要求7所述的基于客户端的网络地址分配方法,其特征在于,所述认证结果至少包含是否需要进行再次地址分配的属性和用户的授权信息。
9.根据权利要求7所述的基于客户端的网络地址分配方法,其特征在于,所述认证方式采用WEB认证或拨号认证。
10.根据权利要求9所述的基于客户端的网络地址分配方法,其特征在于,对于WEB认证,所述认证流程还包括用户输入的用户名和密码首先被发送到门户服务器中解析,门户服务器通过Portal协议将用户名和密码发送到接入服务器;得到认证结果后,接入服务器通知门户服务器,由门户服务器将认证结果返回给客户端。
11.根据权利要求10所述的基于客户端的网络地址分配方法,其特征在于,所述方法还包括用户获得第二网络的网络地址后,接入服务器通知门户服务器用户的网络地址已改变的步骤。
12.根据权利要求1所述的基于客户端的网络地址分配方法,其特征在于,所述步骤五中,客户端采用JAVA APPLET或者ACTIVEX程序刷新用户的网络地址,即先释放原网络地址,再申请新的网络地址。
13.根据权利要求1所述的基于客户端的网络地址分配方法,其特征在于,所述步骤六还包括在为用户分配网络地址的同时,修改用户策略。
14.根据权利要求1所述的基于客户端的网络地址分配方法,其特征在于,所述方法还包括用户下线时释放第二网络的网络地址的步骤。
全文摘要
本发明提供一种基于客户端的网络地址分配方法,用户申请访问网络的网络地址;接入服务器根据其配置信息,为用户分配第一网络的网络地址,并分配用户的资源;用户发起认证请求;接入服务器对用户进行认证,并返回认证结果;客户端根据认证结果,对用户网络地址进行刷新;接入服务器根据认证结果,申请第二网络的网络地址并分配给用户。本发明通过在认证前分配一个网络地址、认证后再分配一个网络地址的二次地址分配,节约了公网地址资源,并可根据用户的认证信息选择相应的策略;用户的报文不需经过任何设备的特殊处理即可发送,支持任何协议。
文档编号G06F12/02GK1553341SQ0313731
公开日2004年12月8日 申请日期2003年6月8日 优先权日2003年6月8日
发明者赵玉博, 颜杨, 周剑光, 马洪波, 逄涣刚, 杨晓, 陈伟 申请人:华为技术有限公司