CN101662411A - IPv4主机访问IPv6网络服务器的方法及装置 - Google Patents

IPv4主机访问IPv6网络服务器的方法及装置 Download PDF

Info

Publication number
CN101662411A
CN101662411A CN200810118895A CN200810118895A CN101662411A CN 101662411 A CN101662411 A CN 101662411A CN 200810118895 A CN200810118895 A CN 200810118895A CN 200810118895 A CN200810118895 A CN 200810118895A CN 101662411 A CN101662411 A CN 101662411A
Authority
CN
China
Prior art keywords
ipv6
ipv4
main frame
webserver
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200810118895A
Other languages
English (en)
Other versions
CN101662411B (zh
Inventor
王飓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2008101188953A priority Critical patent/CN101662411B/zh
Publication of CN101662411A publication Critical patent/CN101662411A/zh
Application granted granted Critical
Publication of CN101662411B publication Critical patent/CN101662411B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种IPv4主机访问IPv6网络服务器的方法,适用于包括IPv4主机、IPv6网络服务器和NAT-PT转换器的IPv4和IPv6混合组网结构,所述NAT-PT转换器上记录IPv6网络服务器的主机名与其IPv6地址和IPv4地址的映射关系,该方法包括:NAT-PT转换器收到IPv4主机发起的对IPv6网络服务器的HTTP请求后,解析其中的URI或Host选项获取被访问IPv6网络服务器的主机名,根据所述映射关系获取与该主机名对应的IPv6地址,然后利用获取的IPv6地址实现IPv4主机到IPv6网络服务器的访问。相应地,本发明还提供了一种NAT-PT转换器。本发明能够解决现有技术中因IPv4地址复用而造成的IPv4主机无法正确访问IPv6Web Server的问题。

Description

IPv4主机访问IPv6网络服务器的方法及装置
技术领域
本发明涉及网络通信技术,尤其涉及因特网协议第4版(IPv4)主机访问因特网协议第6版(IPv6)网络服务器(Web Server)的方法及装置。
背景技术
近年来随着互联网的蓬勃发展,IP地址的需求量越来越大,IPv4定义的有限地址空间即将被耗尽。为了解决IP地址资源枯竭的问题,用128位地址长度的IPv6技术取代已有的32位地址长度的IPv4技术已经势在必行。但是,已有的大量基于IPv4的用户、服务器和网络设备,不可能一日之间完成升级换代,直到所有的IPv4老设备生命终结、最终全部过渡到IPv6时代之前,IPv4和IPv6必然会有一个很长的共存时期。在此期间,如何解决IPv4和IPv6互通就成为一个重要问题。
IPv4和IPv6互通包括两方面内容:一、老的IPv4主机访问新的IPv6主机;二、新的IPv6主机访问老的IPv4主机。本文主要是针对解决第一种情况而提出的。目前,常用的解决IPv4主机访问IPv6主机的方案是将网络地址转换-协议转换(NAT-PT)技术和域名服务器-应用层网关(DNS-ALG)技术结合使用。下面以图1所示的IPv4和IPv6混合组网结构为例,对现有的通过NAT-PT支持DNS-ALG解决IPv4主机(Host)访问IPv6主机的方案进行详细说明。
图1中,IPv4网络包括IPv4域名服务器(IPv4 DNS Server)、路由器Router_A和IPv4主机;IPv6网络包括IPv6 DNS Server、路由器Router_B和IPv6主机;NAT-PT转换器(Translator)位于IPv4和IPv6网络边界处,负责在IPv4报文与IPv6报文之间进行翻译转换。
图2以图1中IPv4主机Host_A访问IPv6主机Host_B为例,示出了现有技术中通过NAT-PT支持DNS-ALG实现的IPv4主机访问IPv6主机的流程图,具体包括以下步骤:
步骤201:在Host_A向Host_B发起连接之前,Host_A首先发起对Host_B的DNS查询请求,该查询请求先达到本地IPv4网络的域名服务器IPv4 DNS Server。
步骤202:IPv4 DNS Server将查询请求转发给NAT-PT转换器。
步骤203:NAT-PT转换器对IPv4格式的查询请求进行转换,翻译成IPv6格式,发给IPv6 DNS Server。
步骤204:IPv6 DNS Server将Host_B对应的IPv6地址3000::1反馈给NAT-PT转换器。
步骤205:NAT-PT转换器记录Host_B与IPv6地址3000::1的对应关系,并从配置的IPv4地址池中为Host_B分配一个IPv4地址140.10.10.2,记录Host_B、IPv6地址3000::1与IPv4地址140.10.10.2的对应关系。
步骤206:NAT-PT转换器将Host_B与IPv4地址140.10.10.2的对应关系发送给IPv4 DNS Server。
步骤207:IPv4 DNS Server将Host_B与IPv4地址140.10.10.2的对应关系返回给Host_A。
步骤208:Host_A向140.10.10.2发起连接请求。
步骤209:NAT-PT转换器按照步骤205中记录的对应关系,将连接请求的目的地址140.10.10.2转换成对应的IPv6地址,并根据预先配置在源地址150.10.10.1前增加前缀使其自动转换成IPv6地址,然后将转换后的连接请求发送给Host_B。
步骤210:当Host_B的连接响应到达NAT-PT转换器时,NAT-PT转换器再根据之前记录的对应关系进行反向转换,即将连接响应的源地址3000::1转换成对应的IPv4地址140.10.10.2,将目的地址的前缀去掉转换成IPv4地址150.10.10.1,然后将转换后的响应转发给Host_A。
由图2可见,每当IPv4主机发起一次查询请求,就会造成一个IPv6地址和一个IPv4地址绑定,这个IPv4地址来源于配置在NAT-PT转换器上的IPv4地址池。由于IPv4地址池中的地址数是有限的,因此当超过该数目的查询请求到达NAT-PT转换器时,就没有独立的IPv4地址可供绑定,这样就只有复用IPv4地址,而一旦复用IPv4地址,就会造成多个IPv6地址同时绑定到一个IPv4地址上。当多个IPv6地址同时绑定到一个IPv4地址上时,对于从IPv4侧发来的目的地址为该复用IPv4地址的连接请求,NAT-PT转换器就无法确定应该提交给哪个IPv6主机,从而造成通信失败。
发明内容
有鉴于此,本发明的主要目的在于,在IPv6侧主机是网络服务器(WebServer)且不同IPv6 Web Server复用同一个IPv4地址的情况下,提供一种IPv4主机访问IPv6 Web Server的方法及装置,解决现有技术中因IPv4地址复用而造成的IPv4主机无法正确访问IPv6Web Server的问题。
为达到上述目的,本发明提供的技术方案如下:
一种IPv4主机访问IPv6网络服务器的方法,适用于包括IPv4主机、IPv6网络服务器和网络地址转换-协议转换NAT-PT转换器的IPv4和IPv6混合组网结构,所述NAT-PT转换器上记录IPv6网络服务器的主机名与其IPv6地址和IPv4地址的映射关系,该方法包括:
NAT-PT转换器收到IPv4主机发起的对IPv6网络服务器的超文本传输协议HTTP请求后,解析其中的统一资源标志符URI或主机Host选项获取被访问IPv6网络服务器的主机名,根据所述映射关系获取与该主机名对应的IPv6地址,然后利用获取的IPv6地址实现IPv4主机到IPv6网络服务器的访问。
IPv4主机发起对IPv6网络服务器的HTTP请求之前还包括:
IPv4主机向IPv6网络服务器对应的IPv4地址发起连接请求;该连接请求到达NAT-PT转换器后,NAT-PT转换器与IPv4主机完成传输控制协议TCP三次握手,建立与IPv4主机的TCP连接,建立该TCP连接之后,IPv4主机发起对IPv6网络服务器的HTTP请求。
NAT-PT转换器利用获取的IPv6地址实现IPv4主机到IPv6网络服务器的访问的具体过程包括:
NAT-PT转换器通过TCP三次握手与所述IPv6地址建立TCP连接,通过该TCP连接将来自IPv4主机的HTTP请求发送给IPv6网络服务器,以及通过与IPv4主机建立的TCP连接将IPv6网络服务器返回的HTTP响应发送给IPv4主机。
在一次连接过程中,所述NAT-PT转换器仅对第一个HTTP请求解析URI或Host选项,NAT-PT转换器与IPv4主机的TCP连接以及NAT-PT转换器与IPv6网络服务器的TCP连接建立起来后,IPv4主机和IPv6网络服务器直接通过这一对连接进行通信。
该方法进一步包括:
NAT-PT转换器在向IPv4主机发送的HTTP响应中增加Cookie,其中记录被访问IPv6网络服务器的IPv6地址;当IPv4主机与IPv6网络服务器上次会话连接结束后IPv4主机再次向该IPv6网络服务器发起HTTP请求时,IPv4主机在HTTP请求中携带该Cookie;NAT-PT转换器收到该HTTP请求后,直接从其携带的Cookie中提取IPv6地址,向该IPv6地址对应的IPv6网络服务器转发HTTP请求,并删除HTTP请求中的Cookie。
所述IPv4主机再次向该IPv6网络服务器发起HTTP请求之前还包括:IPv4主机与NAT-PT转换器执行TCP三次握手,建立TCP连接;
所述向该IPv6地址对应的IPv6网络服务器转发HTTP请求之前还包括:NAT-PT转换器与IPv6网络服务器执行TCP三次握手,建立TCP连接。
NAT-PT转换器利用获取的IPv6地址实现IPv4主机到IPv6网络服务器的访问的具体过程包括:
NAT-PT转换器在获取了被访问IPv6网络服务器的IPv6地址后,记录该IPv6地址与HTTP请求的源IPv4地址及目的IPv4地址的对应关系,并向IPv4主机发送HTTP重定向请求;IPv4主机收到HTTP重定向请求后,通过NAT-PT转换器重新向所述IPv6网络服务器发起连接请求;NAT-PT转换器收到IPv4主机重新发起的连接请求后,根据记录的对应关系查找与该连接请求的源IPv4地址和目的IPv4地址对应的IPv6地址,向该IPv6地址转发连接请求,建立IPv4主机与IPv6网络服务器的TCP连接,之后IPv4主机和IPv6网络服务器通过建立的TCP连接进行通信。
该方法进一步包括:
为NAT-PT转换器上记录的所述对应关系设置老化周期,当老化周期到达后,NAT-PT转换器重新学习该对应关系。
一种NAT-PT转换器,位于包括IPv4主机和IPv6网络服务器的IPv4和IPv6混合组网结构中,该NAT-PT转换器包括:
映射关系管理单元,用于记录IPv6网络服务器的主机名与其IPv6地址和IPv4地址的映射关系;
访问处理单元,用于在收到IPv4主机发起的对IPv6网络服务器的HTTP请求后,解析其中的URI或Host选项获取被访问IPv6网络服务器的主机名,根据映射关系管理单元中记录的映射关系获取与该主机名对应的IPv6地址,然后利用获取的IPv6地址实现IPv4主机到IPv6网络服务器的访问。
所述访问处理单元还用于在收到IPv4主机向IPv6网络服务器发起的连接请求后,与IPv4主机完成TCP三次握手,建立与IPv4主机的TCP连接。
所述访问处理单元在获取了被访问IPv6网络服务器的IPv6地址后,通过TCP三次握手与该IPv6地址建立TCP连接,通过该TCP连接将来自IPv4主机的HTTP请求发送给IPv6网络服务器,以及通过与IPv4主机建立的TCP连接将IPv6网络服务器返回的HTTP响应发送给IPv4主机。
在一次连接过程中,所述访问处理单元仅对第一个HTTP请求解析URI或Host选项,NAT-PT转换器与IPv4主机的TCP连接以及NAT-PT转换器与IPv6网络服务器的TCP连接建立起来后,IPv4主机和IPv6网络服务器直接通过这一对连接进行通信。
所述访问处理单元进一步用于在向IPv4主机发送的HTTP响应中增加Cookie,其中记录被访问IPv6网络服务器的IPv6地址;当IPv4主机与IPv6网络服务器上次会话连接结束后IPv4主机再次向该IPv6网络服务器发起HTTP请求时,IPv4主机在HTTP请求中携带该Cookie;访问处理单元收到携带Cookie的HTTP请求后,直接从其携带的Cookie中提取IPv6地址,向该IPv6地址对应的IPv6网络服务器转发HTTP请求,并删除HTTP请求中的Cookie。
在IPv4主机再次向该IPv6网络服务器发起HTTP请求之前,所述访问处理单元还与IPv4主机执行TCP三次握手,建立TCP连接;并且,在向该IPv6地址对应的IPv6网络服务器转发HTTP请求之前,所述访问处理单元还与IPv6网络服务器执行TCP三次握手,建立TCP连接。
所述访问处理单元在获取了被访问IPv6网络服务器的IPv6地址后,在映射关系管理单元中记录该IPv6地址与HTTP请求的源IPv4地址及目的IPv4地址的对应关系,并向IPv4主机发送HTTP重定向请求;在收到IPv4主机重新发起的连接请求后,根据映射关系管理单元中记录的对应关系查找与该连接请求的源IPv4地址和目的IPv4地址对应的IPv6地址,向该IPv6地址转发连接请求,建立IPv4主机与IPv6网络服务器的TCP连接。
所述访问处理单元进一步用于为所述对应关系设置老化周期,当老化周期到达后,重新学习该对应关系。
由此可见,在本发明所提供的技术方案中,NAT-PT转换器通过解析IPv4主机发起的HTTP请求中携带的URI或Host选项,获取了被访问的IPv6Web Server的主机名,并进而根据NAT-PT转换器上记录的主机名与其IPv4地址和IPv6地址的映射关系获取了被访问的主机名所对应的唯一IPv6地址。根据该IPv6地址,NAT-PT转换器可顺利实现IPv4主机到IPv6网络服务器的访问,解决了现有技术中因IPv4地址复用而造成的IPv4主机无法正确访问IPv6Web Server的问题。
附图说明
图1为现有技术中IPv4和IPv6混合组网结构示意图;
图2为现有技术中IPv4主机访问IPv6服务器的流程图;
图3为本发明实施例中IPv4和IPv6混合组网结构示意图;
图4为本发明实施例一中IPv4主机访问IPv6 Web Server的流程图;
图5为本发明实施例二中IPv4主机访问IPv6 Web Server的流程图;
图6为本发明实施例三中IPv4主机访问IPv6 Web Server的流程图;
图7为本发明实施例中NAT-PT转换器的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举实施例,对本发明作进一步详细说明。
针对现有技术中因IPv4地址复用而造成NAT-PT转换器无法将IPv4侧请求正确转发给IPv6侧主机的问题,本发明提出一种改进方案。该方案主要针对基于超文本传输协议(HTTP)的Web服务而提出,其基本原理是:在IPv6侧主机是Web Server且不同IPv6 Web Server复用同一个IPv4地址的情况下,利用HTTP协议的特点,通过解析HTTP报文获取更多的信息,然后利用该信息来完成IPv4侧请求的正确转发。
图3示出了本发明实施例中IPv4和IPv6混合组网结构示意图,其中,IPv6网络中包括www.WEB_Server_A.com和www.WEB_Server_B.com两台Web server,它们的IPv6地址分别为3000::1和4000::1;IPv4网络中Host_A的IPv4地址为150.10.10.1。
通过NAT-PT支持DNS-ALG过程,可以在NAT-PT转换器上建立起如表1所示的映射关系表,其中,每个IPv6 Web Server分别各占一行,包括唯一的主机名、唯一的IPv6地址以及对应的IPv4地址信息。由于IPv4地址数量有限,因此不可避免地会出现不同的IPv6 Web Server对应相同IPv4地址的情况。比如,如表1所示,主机www.WEB_Server_A.com和主机www.WEB_Server_B.com对应相同的IPv4地址202.31.0.1。
  主机名   IPv6地址   IPv4地址
  www.WEB_Server_A.com   3000::1   202.31.0.1
  www.WEB_Server_B.com   4000::1   202.31.0.1
表1
表1所示的映射关系表可通过多种方式产生,如手工配置或者从某个数据库中导出或者按照图2所示的方法等。这个包含主机名、IPv6地址和IPv4地址的映射关系表是本发明后续工作的基础。下面结合表1,并通过几个具体实施例对建立了表1所示的映射关系后,本发明中IPv4主机访问IPv6 WebServer的过程进行详细说明。
实施例一
图4以Host_A访问www.WEB_Server_A.com为例,示出了实施例一中IPv4主机访问IPv6 Web Server的流程图,包括以下步骤:
步骤401:Host_A向www.WEB_Server_A.com对应的IPv4地址202.31.0.1发起连接请求。
Host_A在发起连接之前,获取www.WEB_Server_A.com对应的IPv4地址的过程与现有技术一致,这里不再赘述。
步骤402~403:NAT-PT转换器收到Host_A发起的连接请求后,通过查看目的地址202.31.0.1可确定该连接请求是发往IPv6侧的,因为该目的地址202.31.0.1是IPv4地址池中的地址。此时,NAT-PT转换器并不直接转发,而是先替www.WEB_Server_A.com完成与Host_A的传输控制协议(TCP)三次握手,向Host_A返回连接响应,再接收Host_A返回的成功响应,建立与Host_A的TCP连接(下称连接CC_A)。
步骤404:连接CC_A建立后,Host_A通过该连接向www.WEB_Server_A.com发起HTTP GET请求。
步骤405:NAT-PT转换器收到Host_A发起的HTTP GET请求后,解析其中的统一资源标志符(URI),获取被访问的服务器主机名www.WEB_Server_A.com,然后根据该主机名查找表1,获取该主机名对应的IPv6地址3000::1。
通常,完整的HTTP GET请求形式一般如下:
GET http://www.WEB_Server_A.com/index.html HTTP/1.1。
NAT-PT转换器通过解析其中的URI会发现其URI可能是http://www.WEB_Server_A.com/index.html或者其它类似的内容,但无论URI是何种表现形式,其中一般都会包括www.WEB_Server_A.com这个主机名,因此,NAT-PT转换器可以从URI中提取主机名。
步骤406~408:NAT-PT转换器通过TCP三次握手过程与3000::1这个WEB服务器建立TCP连接(下称连接SC_A)。
步骤409~410:连接SC_A建立后,NAT-PT转换器将来自HOST_A的HTTP GET请求通过SC_A发送给www.WEB_Server_A.com,并将www.WEB_Server_A.com返回的HTTP响应通过CC_A发送给HOST_A。连接SC_A和CC_A相互关联,NAT-PT转换器需要维护它们之间的对应关系。
其中,NAT-PT转换器在将来自HOST_A的报文转发给www.WEB_Server_A.com,以及将来自www.WEB_Server_A.com的报文转发给HOST_A时,都需要对报文的源地址和目的地址执行NAT-PT标准地址转换操作,该地址转换操作的具体过程与现有技术一致,这里不再赘述。
需要说明的是,一次TCP连接只需要对第一次的HTTP GET请求解析URI,一旦连接建立起来了,后续报文可以直接从CC_A转换后发向SC_A,而不必每次都重新解析URI,直到这一对连接被关闭,重新建立新的TCP连接为止。
另外,需要说明的是,有时HTTP GET请求会不使用上述形式的绝对路径,而是使用相对路径,把URI中的主机名省略掉,这时直接使用上述方法会有问题,需要对上述方法略作修改,即:在HTTP GET请求使用相对路径时,不直接从URI中提取被访问的服务器主机名,而是从HTTP头的Host选项中获取主机名(HTTP1.1标准规定HTTP请求需要携带Host选项)。
依然使用前面的例子,当不使用绝对路径而使用相对路径时,HTTPGET请求的内容可能为:GET/index.html HTTP/1.1,而对应的Host选项可能为:Host:www.WEB_Server_A.com,这时可以很容易地从Host选项中获取主机名www.WEB_Server_A.com,进而完成后面的过程。
需要说明的是,本发明不仅对HTTP GET请求有效,对HTTP POST请求也同样有效,更进一步,对所有在客户端发出的携带URI或Host选项的HTTP请求都有效。其中,利用Host选项需要客户端支持HTTP1.1标准,目前主流的HTTP客户端都满足这个条件。如果客户端没有使用绝对路径,又不支持HTTP1.1,则NAT-PT转换器可以直接向客户端回应响应,说明客户端应该支持HTTP1.1,要求使用HTTP1.1的客户端重新访问即可。
实施例二
一个客户端在与WEB Server进行通信时,有可能不只建立一个连接,而是建立多个连接。对于第一个连接,可以采用实施例一中所述的方法找到正确的IPv6网络服务器地址;而对于后续连接,既可以向实施例一那样每次都解析HTTP请求中的URI或Host选项,也可以采用其它改进方法,比如,利用Cookie完成后续再建连接的处理。其中,Cookie是HTTP协议所采取的一种技术,本身和IPv4/v6无关。
图5仍以Host_A访问www.WEB_Server_A.com为例,示出了在使用实施例一中所述的方法建立了第一个连接后,再使用Cookie建立后续连接的过程,具体包括以下步骤:
步骤501~509:与步骤401~409一致,这里不再赘述。
步骤510:NAT-PT转换器在将www.WEB_Server_A.com返回的HTTP响应通过CC_A发送给HOST_A时,在HTTP响应中增加一个Cookie,直接在其中记录目的IPv6地址。
步骤511:当步骤501~510中建立的连接关闭后,HOST_A再次访问同一个IPv6WEB Server即www.WEB_Server_A.com时,HOST_A就会在发起的HTTP GET请求中自动携带这个Cookie。
需要说明的是,在HOST_A再次向www.WEB_Server_A.com发起HTTPGET请求之前,HOST_A还要与NAT-PT转换器执行TCP三次握手,建立TCP连接,建立TCP连接的过程与实施例一一致,这里不再赘述。
步骤512:NAT-PT转换器收到HOST_A发起的HTTP GET请求后,直接从HTTP GET请求携带的Cookie中提取目的IPv6地址,而不必解析URI或Host选项提取主机名再通过查表获取目的IPv6地址了。
步骤513:NAT-PT转换器向www.WEB_Server_A.com转发收到的HTTPGET请求,并将请求中的Cookie去掉。
在NAT-PT转换器向www.WEB_Server_A.com转发HTTP GET请求之前,NAT-PT转换器需要先与IPv6网络服务器执行TCP三次握手,建立TCP连接,建立TCP连接的过程与实施例一一致,这里不再赘述。
步骤514:NAT-PT转换器将www.WEB_Server_A.com返回的HTTP响应转发给HOST_A,并可以在HTTP响应中增加一个记录目的IPv6地址的Cookie。
在实际应用中,实施例二所述方法可以结合实施例一所述方法一起使用:NAT-PT转换器收到客户端的HTTP请求后,每次都优先查找Cookie,有Cookie则直接转换,没有Cookie则提取URI或Host选项中的主机名再查表处理。
实施例三
在实施例一中,NAT-PT转换器要分别与IPv4主机、IPv6 Web Server建立两条TCP连接,并且维护它们之间的对应关系,这会产生一定的系统开销。为了克服该问题,也可以采用其它的方法,如HTTP重定向。
图6示出了利用HTTP重定向来实现IPv4主机访问IPv6 Web Server的流程图,包括以下步骤:
步骤601~604:与步骤401~404一致,这里不再赘述。
步骤605:NAT-PT转换器通过解析URI或Host选项获取了主机名并查找到对应的目的IPv6地址后,并不去和IPv6 WEB Server建立TCP连接,而是记录该目的IPv6地址与HTTP请求的源IPv4地址和目的IPv4地址的对应关系。
步骤606:NAT-PT转换器向HOST_A发送HTTP重定向请求(HTTPRedirect)。
步骤607:HOST_A关闭旧连接,再建立一个新的连接,重新向IPv4地址202.31.0.1发起连接请求。
步骤608:当新的连接请求到来时,NAT-PT转换器根据记录的源IPv4地址、目的IPv4地址和目的IPv6地址的对应关系,查找与该请求的源IPv4地址和目的IPv4地址对应的目的IPv6地址。
步骤609~611:找到对应的IPv6地址后,NAT-PT转换器按照NAT-PT标准方式对连接请求报文进行地址转换,然后将转换后的连接请求转发给www.WEB_Server_A.com;并且,将www.WEB_Server_A.com返回的连接响应发送给HOST_A,以及将HOST_A返回的成功响应转发给www.WEB_Server_A.com,HOST_A与www.WEB_Server_A.com之间建立TCP连接。之后,HOST_A与www.WEB_Server_A.com通过建立的TCP连接进行通信。
其中,所述源IPv4地址、目的IPv4地址和目的IPv6地址的对应关系具有一定的老化周期,当老化周期到达后,NAT-PT转换器重新学习所述对应关系。
需要说明的是,实施例三中记录的源IPv4地址、目的IPv4地址和目的IPv6地址的对应关系也可以结合实施例一中的方法一起使用,即在通过实施例一所述方法建立了第一次连接后,再利用源IPv4地址、目的IPv4地址和目的IPv6地址的对应关系建立后续连接。
相应地,本发明还提供了一种NAT-PT转换器,位于包括IPv4主机和IPv6网络服务器的IPv4和IPv6混合组网结构中,其结构参见图7所示,包括:映射关系管理单元,用于记录IPv6网络服务器的主机名与其IPv6地址和IPv4地址的映射关系;访问处理单元,用于在收到IPv4主机发起的对IPv6网络服务器的HTTP请求后,解析其中的URI或Host选项获取被访问IPv6网络服务器的主机名,根据映射关系管理单元中记录的映射关系获取与该主机名对应的IPv6地址,然后利用获取的IPv6地址实现IPv4主机到IPv6网络服务器的访问。
其中,访问处理单元还用于在收到IPv4主机向IPv6网络服务器发起的连接请求后,与IPv4主机完成TCP三次握手,建立与IPv4主机的TCP连接。
较佳地,访问处理单元在获取了被访问IPv6网络服务器的目的IPv6地址后,可以通过TCP三次握手与该IPv6地址建立TCP连接,通过该TCP连接将来自IPv4主机的HTTP请求发送给IPv6网络服务器,以及通过与IPv4主机建立的TCP连接将IPv6网络服务器返回的HTTP响应发送给IPv4主机。在一次连接过程中,访问处理单元仅对第一个HTTP请求解析URI或Host选项,NAT-PT转换器与IPv4主机的TCP连接以及NAT-PT转换器与IPv6网络服务器的TCP连接建立起来后,IPv4主机和IPv6网络服务器直接通过这一对连接进行通信。
较佳地,访问处理单元还可进一步用于在向IPv4主机发送的HTTP响应中增加Cookie,其中记录被访问IPv6网络服务器的IPv6地址;当IPv4主机与IPv6网络服务器上次会话连接结束后IPv4主机再次向该IPv6网络服务器发起HTTP请求时,IPv4主机在HTTP请求中携带该Cookie;访问处理单元收到携带Cookie的HTTP请求后,直接从其携带的Cookie中提取IPv6地址,向该IPv6地址对应的IPv6网络服务器转发HTTP请求,并删除HTTP请求中的Cookie。其中,在IPv4主机再次向该IPv6网络服务器发起HTTP请求之前,访问处理单元还与IPv4主机执行TCP三次握手,建立TCP连接;并且,在向该IPv6地址对应的IPv6网络服务器转发HTTP请求之前,所述访问处理单元还与IPv6网络服务器执行TCP三次握手,建立TCP连接。
另外,较佳地,访问处理单元还可在获取了被访问IPv6网络服务器的IPv6地址后,在映射关系管理单元中记录该目的IPv6地址与HTTP请求的源IPv4地址及目的IPv4地址的对应关系,并向IPv4主机发送HTTP重定向请求;在收到IPv4主机重新发起的连接请求后,根据映射关系管理单元中记录的对应关系查找与该连接请求的源IPv4地址和目的IPv4地址对应的目的IPv6地址,向该目的IPv6地址转发连接请求,建立IPv4主机与IPv6网络服务器的TCP连接。
访问处理单元还进一步用于为映射关系管理单元中记录的源IPv4地址、目的IPv4地址和目的IPv6地址的对应关系设置老化周期,当老化周期到达后,重新学习该对应关系。
以上所述对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1、一种IPv4主机访问IPv6网络服务器的方法,适用于包括IPv4主机、IPv6网络服务器和网络地址转换-协议转换NAT-PT转换器的IPv4和IPv6混合组网结构,所述NAT-PT转换器上记录IPv6网络服务器的主机名与其IPv6地址和IPv4地址的映射关系,其特征在于,该方法包括:
NAT-PT转换器收到IPv4主机发起的对IPv6网络服务器的超文本传输协议HTTP请求后,解析其中的统一资源标志符URI或主机Host选项获取被访问IPv6网络服务器的主机名,根据所述映射关系获取与该主机名对应的IPv6地址,然后利用获取的IPv6地址实现IPv4主机到IPv6网络服务器的访问。
2、根据权利要求1所述的方法,其特征在于,IPv4主机发起对IPv6网络服务器的HTTP请求之前还包括:
IPv4主机向IPv6网络服务器对应的IPv4地址发起连接请求;该连接请求到达NAT-PT转换器后,NAT-PT转换器与IPv4主机完成传输控制协议TCP三次握手,建立与IPv4主机的TCP连接,建立该TCP连接之后,IPv4主机发起对IPv6网络服务器的HTTP请求。
3、根据权利要求2所述的方法,其特征在于,NAT-PT转换器利用获取的IPv6地址实现IPv4主机到IPv6网络服务器的访问的具体过程包括:
NAT-PT转换器通过TCP三次握手与所述IPv6地址建立TCP连接,通过该TCP连接将来自IPv4主机的HTTP请求发送给IPv6网络服务器,以及通过与IPv4主机建立的TCP连接将IPv6网络服务器返回的HTTP响应发送给IPv4主机。
4、根据权利要求3所述的方法,其特征在于,在一次连接过程中,所述NAT-PT转换器仅对第一个HTTP请求解析URI或Host选项,NAT-PT转换器与IPv4主机的TCP连接以及NAT-PT转换器与IPv6网络服务器的TCP连接建立起来后,IPv4主机和IPv6网络服务器直接通过这一对连接进行通信。
5、根据权利要求3所述的方法,其特征在于,该方法进一步包括:
NAT-PT转换器在向IPv4主机发送的HTTP响应中增加Cookie,其中记录被访问IPv6网络服务器的IPv6地址;当IPv4主机与IPv6网络服务器上次会话连接结束后IPv4主机再次向该IPv6网络服务器发起HTTP请求时,IPv4主机在HTTP请求中携带该Cookie;NAT-PT转换器收到该HTTP请求后,直接从其携带的Cookie中提取IPv6地址,向该IPv6地址对应的IPv6网络服务器转发HTTP请求,并删除HTTP请求中的Cookie。
6、根据权利要求5所述的方法,其特征在于,所述IPv4主机再次向该IPv6网络服务器发起HTTP请求之前还包括:IPv4主机与NAT-PT转换器执行TCP三次握手,建立TCP连接;
所述向该IPv6地址对应的IPv6网络服务器转发HTTP请求之前还包括:NAT-PT转换器与IPv6网络服务器执行TCP三次握手,建立TCP连接。
7、根据权利要求2所述的方法,其特征在于,NAT-PT转换器利用获取的IPv6地址实现IPv4主机到IPv6网络服务器的访问的具体过程包括:
NAT-PT转换器在获取了被访问IPv6网络服务器的IPv6地址后,记录该IPv6地址与HTTP请求的源IPv4地址及目的IPv4地址的对应关系,并向IPv4主机发送HTTP重定向请求;IPv4主机收到HTTP重定向请求后,通过NAT-PT转换器重新向所述IPv6网络服务器发起连接请求;NAT-PT转换器收到IPv4主机重新发起的连接请求后,根据记录的对应关系查找与该连接请求的源IPv4地址和目的IPv4地址对应的IPv6地址,向该IPv6地址转发连接请求,建立IPv4主机与IPv6网络服务器的TCP连接,之后IPv4主机和IPv6网络服务器通过建立的TCP连接进行通信。
8、根据权利要求7所述的方法,其特征在于,该方法进一步包括:
为NAT-PT转换器上记录的所述对应关系设置老化周期,当老化周期到达后,NAT-PT转换器重新学习该对应关系。
9、一种NAT-PT转换器,位于包括IPv4主机和IPv6网络服务器的IPv4和IPv6混合组网结构中,其特征在于,该NAT-PT转换器包括:
映射关系管理单元,用于记录IPv6网络服务器的主机名与其IPv6地址和IPv4地址的映射关系;
访问处理单元,用于在收到IPv4主机发起的对IPv6网络服务器的HTTP请求后,解析其中的URI或Host选项获取被访问IPv6网络服务器的主机名,根据映射关系管理单元中记录的映射关系获取与该主机名对应的IPv6地址,然后利用获取的IPv6地址实现IPv4主机到IPv6网络服务器的访问。
10、根据权利要求9所述的NAT-PT转换器,其特征在于,所述访问处理单元还用于在收到IPv4主机向IPv6网络服务器发起的连接请求后,与IPv4主机完成TCP三次握手,建立与IPv4主机的TCP连接。
11、根据权利要求10所述的NAT-PT转换器,其特征在于,所述访问处理单元在获取了被访问IPv6网络服务器的IPv6地址后,通过TCP三次握手与该IPv6地址建立TCP连接,通过该TCP连接将来自IPv4主机的HTTP请求发送给IPv6网络服务器,以及通过与IPv4主机建立的TCP连接将IPv6网络服务器返回的HTTP响应发送给IPv4主机。
12、根据权利要求11所述的NAT-PT转换器,其特征在于,在一次连接过程中,所述访问处理单元仅对第一个HTTP请求解析URI或Host选项,NAT-PT转换器与IPv4主机的TCP连接以及NAT-PT转换器与IPv6网络服务器的TCP连接建立起来后,IPv4主机和IPv6网络服务器直接通过这一对连接进行通信。
13、根据权利要求11所述的NAT-PT转换器,其特征在于,所述访问处理单元进一步用于在向IPv4主机发送的HTTP响应中增加Cookie,其中记录被访问IPv6网络服务器的IPv6地址;当IPv4主机与IPv6网络服务器上次会话连接结束后IPv4主机再次向该IPv6网络服务器发起HTTP请求时,IPv4主机在HTTP请求中携带该Cookie;访问处理单元收到携带Cookie的HTTP请求后,直接从其携带的Cookie中提取IPv6地址,向该IPv6地址对应的IPv6网络服务器转发HTTP请求,并删除HTTP请求中的Cookie。
14、根据权利要求13所述的NAT-PT转换器,其特征在于,在IPv4主机再次向该IPv6网络服务器发起HTTP请求之前,所述访问处理单元还与IPv4主机执行TCP三次握手,建立TCP连接;并且,在向该IPv6地址对应的IPv6网络服务器转发HTTP请求之前,所述访问处理单元还与IPv6网络服务器执行TCP三次握手,建立TCP连接。
15、根据权利要求10所述的NAT-PT转换器,其特征在于,所述访问处理单元在获取了被访问IPv6网络服务器的IPv6地址后,在映射关系管理单元中记录该IPv6地址与HTTP请求的源IPv4地址及目的IPv4地址的对应关系,并向IPv4主机发送HTTP重定向请求;在收到IPv4主机重新发起的连接请求后,根据映射关系管理单元中记录的对应关系查找与该连接请求的源IPv4地址和目的IPv4地址对应的IPv6地址,向该IPv6地址转发连接请求,建立IPv4主机与IPv6网络服务器的TCP连接。
16、根据权利要求15所述的NAT-PT转换器,其特征在于,所述访问处理单元进一步用于为所述对应关系设置老化周期,当老化周期到达后,重新学习该对应关系。
CN2008101188953A 2008-08-26 2008-08-26 IPv4主机访问IPv6网络服务器的方法及装置 Expired - Fee Related CN101662411B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101188953A CN101662411B (zh) 2008-08-26 2008-08-26 IPv4主机访问IPv6网络服务器的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101188953A CN101662411B (zh) 2008-08-26 2008-08-26 IPv4主机访问IPv6网络服务器的方法及装置

Publications (2)

Publication Number Publication Date
CN101662411A true CN101662411A (zh) 2010-03-03
CN101662411B CN101662411B (zh) 2012-02-08

Family

ID=41790216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101188953A Expired - Fee Related CN101662411B (zh) 2008-08-26 2008-08-26 IPv4主机访问IPv6网络服务器的方法及装置

Country Status (1)

Country Link
CN (1) CN101662411B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101808143A (zh) * 2010-03-12 2010-08-18 中国电力科学研究院 一种IPv4电力终端接入IPv6电力数据通信网络的方法
CN101841548A (zh) * 2010-05-18 2010-09-22 中国科学院软件研究所 主机标识到网络地址的映射方法
WO2011120424A1 (en) * 2010-03-29 2011-10-06 Hangzhou H3C Technologies Co., Ltd. Method and apparatus for processing packets in ipv6 network
CN102281336A (zh) * 2010-06-13 2011-12-14 中兴通讯股份有限公司 一种主机发起地址转换的方法和系统
CN102299972A (zh) * 2010-06-22 2011-12-28 杭州华三通信技术有限公司 一种对终端设备进行IPv6升级的方法和系统
CN102546845A (zh) * 2010-12-17 2012-07-04 中国移动通信集团公司 业务访问方法、装置及系统
CN104158808A (zh) * 2014-08-19 2014-11-19 杭州华三通信技术有限公司 基于APP应用的Portal认证方法及其装置
CN105100293A (zh) * 2014-05-19 2015-11-25 中兴通讯股份有限公司 地址转换方法、装置及数据交互方法、系统
CN105227687A (zh) * 2014-06-20 2016-01-06 中国电信股份有限公司 IPv4用户访问IPv6资源的通信方法与系统
CN106453664A (zh) * 2016-12-16 2017-02-22 广东睿哲科技股份有限公司 一种基于虚拟IPv4地址池的IPv4终端、IPv6服务互通业务负载均衡系统
CN107241459A (zh) * 2017-06-26 2017-10-10 广东睿哲科技股份有限公司 一种基于IPv6实现云平台IP地址复用的装置及操作方法
CN108011989A (zh) * 2017-11-30 2018-05-08 杭州盈高科技有限公司 一种重定向方法及装置
CN110677512A (zh) * 2019-09-30 2020-01-10 新华三信息安全技术有限公司 一种地址解析方法及装置
CN111225038A (zh) * 2019-12-23 2020-06-02 山石网科通信技术股份有限公司 服务器访问方法及装置
CN114390021A (zh) * 2020-10-21 2022-04-22 中国电信股份有限公司 基于IPv6单栈的IDC服务提供系统及方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3136688B1 (de) * 2015-08-31 2021-06-23 Siemens Aktiengesellschaft Verfahren zur bereitstellung eines zugriffs auf gerätekonfigurationsdaten innerhalb eines industriellen automatisierungssystems und web-server-komponente

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100525295C (zh) * 2004-04-21 2009-08-05 华为技术有限公司 一种IPv4网络与IPv6网络通信的实现方法
CN100425024C (zh) * 2004-07-06 2008-10-08 北京航空航天大学 IPv6因特网网络拓扑自动发现方法
CN100518147C (zh) * 2007-04-05 2009-07-22 中山大学 一种基于双向隧道的实现跨异构网络移动通信的方法

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101808143A (zh) * 2010-03-12 2010-08-18 中国电力科学研究院 一种IPv4电力终端接入IPv6电力数据通信网络的方法
CN101808143B (zh) * 2010-03-12 2013-06-05 中国电力科学研究院 一种IPv4电力终端接入IPv6电力数据通信网络的方法
WO2011120424A1 (en) * 2010-03-29 2011-10-06 Hangzhou H3C Technologies Co., Ltd. Method and apparatus for processing packets in ipv6 network
CN101841548A (zh) * 2010-05-18 2010-09-22 中国科学院软件研究所 主机标识到网络地址的映射方法
CN101841548B (zh) * 2010-05-18 2012-12-19 中国科学院软件研究所 主机标识到网络地址的映射方法
CN102281336A (zh) * 2010-06-13 2011-12-14 中兴通讯股份有限公司 一种主机发起地址转换的方法和系统
CN102299972B (zh) * 2010-06-22 2013-11-06 杭州华三通信技术有限公司 一种对终端设备进行IPv6升级的方法和系统
CN102299972A (zh) * 2010-06-22 2011-12-28 杭州华三通信技术有限公司 一种对终端设备进行IPv6升级的方法和系统
CN102546845B (zh) * 2010-12-17 2015-03-11 中国移动通信集团公司 业务访问方法、装置及系统
CN102546845A (zh) * 2010-12-17 2012-07-04 中国移动通信集团公司 业务访问方法、装置及系统
CN105100293A (zh) * 2014-05-19 2015-11-25 中兴通讯股份有限公司 地址转换方法、装置及数据交互方法、系统
CN105227687B (zh) * 2014-06-20 2019-05-03 中国电信股份有限公司 IPv4用户访问IPv6资源的通信方法与系统
CN105227687A (zh) * 2014-06-20 2016-01-06 中国电信股份有限公司 IPv4用户访问IPv6资源的通信方法与系统
CN104158808B (zh) * 2014-08-19 2018-03-16 新华三技术有限公司 基于APP应用的Portal认证方法及其装置
CN104158808A (zh) * 2014-08-19 2014-11-19 杭州华三通信技术有限公司 基于APP应用的Portal认证方法及其装置
CN106453664A (zh) * 2016-12-16 2017-02-22 广东睿哲科技股份有限公司 一种基于虚拟IPv4地址池的IPv4终端、IPv6服务互通业务负载均衡系统
CN107241459A (zh) * 2017-06-26 2017-10-10 广东睿哲科技股份有限公司 一种基于IPv6实现云平台IP地址复用的装置及操作方法
CN107241459B (zh) * 2017-06-26 2020-08-04 睿哲科技股份有限公司 一种基于IPv6实现云平台IP地址复用的装置及操作方法
CN108011989A (zh) * 2017-11-30 2018-05-08 杭州盈高科技有限公司 一种重定向方法及装置
CN108011989B (zh) * 2017-11-30 2020-09-15 杭州盈高科技有限公司 一种重定向方法及装置
CN110677512A (zh) * 2019-09-30 2020-01-10 新华三信息安全技术有限公司 一种地址解析方法及装置
CN111225038A (zh) * 2019-12-23 2020-06-02 山石网科通信技术股份有限公司 服务器访问方法及装置
CN114390021A (zh) * 2020-10-21 2022-04-22 中国电信股份有限公司 基于IPv6单栈的IDC服务提供系统及方法

Also Published As

Publication number Publication date
CN101662411B (zh) 2012-02-08

Similar Documents

Publication Publication Date Title
CN101662411B (zh) IPv4主机访问IPv6网络服务器的方法及装置
CN103856580B (zh) 一种IPv6客户机访问IPv4服务器的方法
US9769113B1 (en) Socket-based internet protocol for wireless networks
CN102938735B (zh) 使用路由通告携带选项下发nat64地址前缀的方法
CN101385315A (zh) 使用本地网络的私用ip地址的通信
CN105100299A (zh) 报文发送方法、nat表项建立方法及nat设备
CA2884683C (en) Split network address translation
KR20030092322A (ko) IPv4/IPv6 통신 방법 및 그 장치
US20100046517A1 (en) Address translator using address translation information in header area on network layer level and a method therefor
CN102845123A (zh) 虚拟私云的连接方法及隧道代理服务器
CN101873320B (zh) 一种基于DHCPv6中继的客户端信息确认方法及其装置
CN102045244A (zh) Ipv4网络与新网互通的实现方法和系统
CN100525295C (zh) 一种IPv4网络与IPv6网络通信的实现方法
CN103581361A (zh) 一种域名解析代理方法、设备及系统
CN101651718B (zh) 一种改变ip流量所用协议栈的方法和系统
CN102891901A (zh) 动态域名解析方法、服务器及域名服务系统
CN1863202B (zh) 提高负载均衡设备和服务器处理性能的方法
IL145105A0 (en) A method and system for providing a web service by a plurality of web domains through a single ip address
TW201414253A (zh) 網路位址轉換系統及方法
JP2002141954A (ja) 通信中継装置、および通信中継方法、並びにプログラム記憶媒体
CN100382524C (zh) 用于在一个数据网中配置一个设备的方法和布置
CN101237442B (zh) 一体化网络中终端标识解析和业务传输方法、系统及装置
CN104735073A (zh) IPv4-IPv6过渡协议调度方法和装置
JP2010062757A (ja) Dnsプロキシ装置及びdns中継方法
CN104935677B (zh) 一种nat64资源获取方法及获取/分配装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120208

Termination date: 20200826

CF01 Termination of patent right due to non-payment of annual fee