CN101662411A - IPv4主机访问IPv6网络服务器的方法及装置 - Google Patents
IPv4主机访问IPv6网络服务器的方法及装置 Download PDFInfo
- 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
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
技术领域
本发明涉及网络通信技术,尤其涉及因特网协议第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转换器,其特征在于,所述访问处理单元进一步用于为所述对应关系设置老化周期,当老化周期到达后,重新学习该对应关系。
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)
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)
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)
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 | 中山大学 | 一种基于双向隧道的实现跨异构网络移动通信的方法 |
-
2008
- 2008-08-26 CN CN2008101188953A patent/CN101662411B/zh not_active Expired - Fee Related
Cited By (23)
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 |