基于ddns和nat的服务器内外网动态映射方法

文档序号:7649422阅读:223来源:国知局
专利名称:基于ddns和nat的服务器内外网动态映射方法
技术领域
本发明属于计算机网络与通信应用技术,具体涉及一种基于动态域名服务(DDNS)和网络地址转换(NAT)的服务器内外网动态映射方法。
背景技术
所谓域名解析,就是从域名到IP地址的映射过程,从而用简单好记的若干个英文字母和数字来代替IP地址。域名解析包括静态域名解析(DNS,Domain Name System)和动态域名解析(DDNS,Dynamic Domain NameSystem),静态域名解析建立域名与固定IP地址的映射关系,而动态域名解析则建立域名和动态IP地址的映射关系,两者之间的差异还在于DNS解析中域名和IP的对应关系一般是静态配置并复制到大量的DNS服务器中,需要较长时间才能更新;而DDNS解析则只能由负责该域名解析的DDNS服务器进行即时解析,因此能迅速反映服务器当前的IP地址变化。ISP(互联网服务提供商)提供域名解析服务,拥有多台服务器的企业或机构也可以建立域名服务器对自己拥有的服务器进行域名解析。
NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force,Internet工程任务组)标准,允许一个内网中的多台计算机共享较少的公网IP地址。顾名思义,它是一种把内部私有网络(称内网或私网)IP地址翻译成公用网络(即互连网Internet,称公网或外网)IP地址的技术。NAT是为了解决IPV4协议中IP地址不足的问题而产生的。采用NAT可以较好地解决内网中的计算机访问外网的服务器问题,但反之则很困难。由于一个公网IP地址可能对应多个内网IP地址,因此若服务器放置在内网,则外网计算机并没有简单的方法可以判别或指明要访问哪一台内网服务器。
为了解决从外网访问内网服务器的问题,目前常用的做法是将内网服务器的IP地址固定,并在关口路由器设置DMZ区(外网IP可直接映射为内网地址的专门映射端口),从而将外来计算机对公用IP地址特定端口的访问直接转发到相应服务器。这种方法对于提供固定服务的服务器是适合的。但是,随着互连网络的发展,服务器的概念已经大大扩展,许多新型的应用程序均带有服务器性质。例如,各种类型的网格计算程序、对等网(P2P)应用程序、甚至是普通的聊天程序等,在运行中表现为既作为客户端同时又作为服务器向其它用户提供服务。因此许许多多运行在内网中普通计算机上的应用程序需要具有服务器一样方便被访问的能力,而这些计算机在内网中通常是通过动态主机配置协议(DHCP)动态分配IP地址的,其IP地址并不固定,不能采用上述常规的内网服务器静态DMZ映射方式。
目前,虽然公开了一些相关技术,但上述从外网访问内网服务器困难的问题并没有完全解决。例如中国专利公开的CN1561061“通过NAT进行双向访问的方法”,它是基于长连接(即双方先建立通讯连接,连接建立后不断开,然后再进行报文发送和接收)的应用而实现首先由位于NAT内部的终端向位于NAT外部的终端发起呼叫,请求建立连接。在上述的连接建立后,会话双方中的一方终端以一定的周期向另一方终端发送数据包以保持双方的长连接,该周期为一个小于本地NAT失效周期为时间间隔。该专利必须首先由内网访问外网的其它计算机,而如果实际应用中要求外网先访问内网服务器,则该专利的技术将不能胜任。

发明内容
针对现有技术存在的上述不足,本发明的目的是为解决外网计算机对内网各种服务器(既包括传统的通用服务器,也包括运行各种类型服务器软件的普通计算机)方便访问的问题,而提出一种基于动态域名服务(DDNS)和网络地址转换(NAT)的服务器内外网动态映射方法,本发明的目的是这样实现的一种基于DDNS和NAT的服务器内外网动态映射方法,其特征在于过程包括如下步骤一种基于DDNS和NAT的服务器内外网动态映射方法,其特征在于过程包括如下步骤在内、外网关口设置关口服务器,此关口服务器内存在DDNS服务程序和NAT转换服务程序并有机关联;内网服务器运行DDNS客户端程序向关口服务器注册本机的域名及内网IP地址信息;来自公网的针对内网服务器的域名解析请求发生时,域名解析服务程序将通过NAT解析服务程序为该内网服务器自动分配一个公网IP地址,启动内外网NAT转换,并将该公网IP地址返回给请求方,从而完成动态映射。
所述关口服务器由DDNS注册服务程序、DDNS注册信息数据库、DDNS解析程序、NAT解析服务程序和内外网IP地址映射表组成;其运行方式为内网服务器运行DDNS注册客户端程序向关口服务器的DDNS注册服务程序注册;注册服务器程序将该内网服务器IP地址与域名对应关系存入或更新DDNS注册信息库;DDNS解析服务程序接受来自公网的域名解析请求,查询DDNS注册信息数据库获得内网地址,并查询内外网IP地址映射表获得对应的公网地址完成域名解析;若查询表明当前尚未进行内外网IP地址映射,则域名解析服务程序将请求NAT解析服务程序对该内网服务器的(内网)IP地址进行内外网IP地址映射并启动相应IP地址的NAT转换,DDNS解析服务器将获得的公网IP地址返回请求方以完成转换。随后,位于公网的计算机即可以该公网IP地址访问内网服务器,所有对该公网IP地址的访问将自动被关口服务器的NAT解析服务程序转换为对对应内网IP地址的访问。当关口服务器监测到某一内网服务器已经有较长时间没有流量时,将撤销该内网服务器的内外网NAT转换,回收公网IP地址资源,并根据需要动态分配。
相比现有技术,本发明具有如下优点本发明有效地解决了目前公网访问内网服务器的难题。首先,本发明有效地解决了外网计算机访问内网服务器的问题,使得原来从外网访问内网不能标识、不能直接访问的问题不复存在,大大方便了内外网计算机的通讯。其次,本发明采用域名而不是IP地址来惟一标识服务器,域名数量是不受限制的且全球惟一,因此服务器的数量也是不受限制的。相比于传统服务器必须采用有限的公网IP地址来标识,大大增加了可用资源。第三,本发明使得多个服务器动态分配使用有限的公网IP地址资源,大大提高了公网IP地址资源利用率。第四,DDNS和NAT技术都是成熟的技术,本发明通过采用上述运行方式将两者有机关联起来。因此,按本发明方法所实现的关口服务器与现有的DNS和DDNS以及NAT等各种服务是完全兼容的。公网的计算机并不需要作改变,也不需要知道该关口服务器的存在,按常规方法即可正常联网通讯。


图1是本发明的原理示意图;图2是本发明关口服务器内部原理框图。
具体实施例方式
如图1所示,在内外网关口设置一个同时提供DDNS和NAT服务的关口服务器或路由器。此关口服务器的DDNS服务将与公网域名服务系统连接,向公网提供本服务器管辖下的服务器的域名与IP地址转换服务,而其中的NAT服务则用于提供公网与内网IP地址转换。
处于内网的服务器启动或更换了IP地址后,将向关口服务器的DDNS服务进行注册,从而关口服务器将该服务器域名与其内网地址关联起来。
外网计算机需访问处于内网的服务器时,首先通过公网DNS进行域名解析。此域名解析服务将被转发给上述关口服务器的DDNS服务。关口服务器首先根据域名查得该服务器的内网IP地址,然后立即通过NAT服务为该服务器分配一个公网IP地址并进行映射,随后NAT服务程序将新分配的公网IP地址提供给DDNS服务程序,并由DDNS服务程序将该IP地址返回给请求的外网计算机;外网计算机得到该IP地址后,通过该公网IP地址访问该内网服务器,此网络访问将被NAT服务直接转换为对内网IP地址的访问。
关口服务器同时监测对各内网服务器的访问情况,当某内网服务器在设定的监测时间内没有外网访问时,将释放NAT服务建立的公网和内网IP映射;从而实现内网服务器至公网的动态映射。
关口服务器内部原理框图如图2所示,主要包括DDNS注册服务程序、DDNS注册信息数据库、DDNS解析程序、NAT解析服务程序和内外网IP地址映射表。
在内网服务器上,需要运行一个DDNS注册客户端程序。当内网服务器启动或者IP地址更换时,此客户端程序将自动向关口服务器的DDNS注册服务程序发出注册请求。此请求中包含的信息为本机域名和本机当前IP地址信息。注册服务器程序响应该请求,并将该IP地址与域名对应关系存入DDNS注册信息库,如果该域名或IP地址对应的条目已经存在,则更新相关条目。
来自公网DNS服务器或公网计算机的DNS请求到达关口服务器后,将由DDNS服务解析程序进行解析。此解析服务程序将查询DDNS注册信息数据库,若请求解析的域名条目不存在,则向请求方发回无法解析的信息。若查询到该域名对应的条目,解析服务程序将取出该条目信息,得到该域名对应的内网服务器IP地址。随后,解析服务器程序查询内外网IP地址映射表,如果该内网IP地址有对应的外网IP地址映射条目,则取出该信息从而得到对应的外网IP地址,并将该外网IP地址返回给域名解析请求方。如果该内网IP地址没有对应的外网IP地址映射条目,则DDNS解析服务程序将向NAT解析服务程序发出地址转换请求。NAT解析服务程序将立即分配一个可用的公网IP地址,将该映射关系存入内外网IP地址映射表,启动该IP地址的NAT转换,并将相应的映射关系返回给DDNS解析服务程序。DDNS解析服务程序得到该信息后,将相应的公网IP地址发送给域名解析请求方。通过以上步骤后,来自公网的计算机即得到了内网服务器的准确公网IP地址,即可通过该公网IP地址访问该内网服务器。
关口服务器的NAT解析服务程序不断监测来自内网服务器或公网计算机的通信情况,若在设定的监控时长内,某内网服务器与公网之间不再有通信,则NAT解析服务程序将取消对应的内外网IP地址转换服务,删除内外网IP地址映射表中的相应条目,回收相应的公网IP地址资源。
关口服务器中的上述5个组成软件也可以被分别安装在多台不同的服务器硬件上,相互之间通过TCP/IP协议进行通信,共同完成上述基于DDNS和NAT的服务器内外网动态映射。其工作流程与上述安装在同一服务器上时完全相同。例如,可以将DDNS注册服务程序、DDNS注册信息数据库、DDNS解析服务程序运行于服务器1上,将内外网IP地址映射表和NAT转换服务程序运行于服务器2上,两者通过TCP/IP协议进行通信。也可以将上述5个部分各运行于一台服务器上。
权利要求
1.一种基于DDNS和NAT的服务器内外网动态映射方法,其特征在于过程包括如下步骤在内、外网关口设置关口服务器,此关口服务器内存在DDNS服务程序和NAT转换服务程序并有机关联;内网服务器运行DDNS客户端程序向关口服务器注册本机的域名及内网IP地址信息;来自公网的针对内网服务器的域名解析请求发生时,域名解析服务程序将通过NAT解析服务程序为该内网服务器自动分配一个公网IP地址,启动内外网NAT转换,并将该公网IP地址返回给请求方,从而完成动态映射。
2.根据权利要求1所述的基于DDNS和NAT的服务器内外网动态映射方法,其特征在于所述关口服务器由DDNS注册服务程序、DDNS注册信息数据库、DDNS解析程序、NAT解析服务程序和内外网IP地址映射表组成;其运行方式为内网服务器运行DDNS注册客户端程序向关口服务器的DDNS注册服务程序注册;注册服务器程序将该内网服务器IP地址与域名对应关系存入或更新DDNS注册信息库;DDNS解析服务程序接受来自公网的域名解析请求,查询DDNS注册信息数据库获得内网地址,并查询内外网IP地址映射表获得对应的公网地址完成域名解析;若查询表明当前尚未进行内外网IP地址映射,则域名解析服务程序将请求NAT解析服务程序进行内外网IP地址映射并启动相应IP地址的NAT转换,DDNS解析服务器将获得的公网IP地址返回请求方,从而完成动态映射。
全文摘要
一种基于DDNS和NAT的服务器内外网动态映射方法,用于将处于内网的服务器动态映射到公网。其方法为设置一个专门开发的内外网关口服务器或路由器。此关口服务器内存在DDNS服务程序和NAT转换服务程序并有机关联。内网服务器通过DDNS客户端程序向关口服务器注册本机的域名及内网IP地址信息。来自公网的针对内网服务器的域名解析请求发生时,域名解析服务程序将请求NAT解析服务程序为该内网服务器自动分配一个公网IP地址,启动内外网NAT转换,并将该公网IP地址返回给请求方,从而完成动态映射。
文档编号H04L12/66GK101043447SQ20071007841
公开日2007年9月26日 申请日期2007年4月23日 优先权日2007年4月23日
发明者鄢萍, 易润忠, 刘飞, 童亮, 王东强, 贺晓辉 申请人:重庆大学, 重庆海特克系统集成有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1