背景技术
近年来,作为IPv4地址的枯竭化问题的应对方案,提出了向IPv6地址的转换。但是,若考虑到网络技术的普及和向社会的渗透等,可以认为很难将IPv4地址一下子切换成IPv6地址,IPv4网络和IPv6网络将处于并存的状态。
因此,期望能够在IPv4网络和IPv6网络之间顺利地进行通信。
在专利文献1中,记载有对IP地址的赋予体系不同且版本彼此不同的2个网络之间的通信进行结合的转换器技术。
从IPv6网络向IPv4网络转发分组时,专利文献1所述的转换器从IPv6分组的目的地IP地址字段中存储的IPv6地址的低32位中提取IPv4地址,并将该地址存储为IPv4分组的目的地IP地址字段。
另外,从IPv4网络向IPv6网络转发分组时,该转换器将IPv4分组的发送源IP地址字段中存储的IPv4地址转换成存储在低32位中的IPv6地址,并将该地址存储为IPv6分组的发送源IP地址字段。
根据该专利文献1所述的技术,在OSI参考模型的层3(网络层)上,能够进行IP地址的转换处理,因此,能够实现IPv6节点和IPv4节点之间的通信。
但是,在OSI参考模型的层7(应用层)上包含IP地址的应用程序之间的通信未必能够实现。原因是专利文献1所述的技术仅进行与层3的IP首部相关的地址转换,不能对层7的IP负荷中记载的地址信息进行转换。
另外,在专利文献2中,记载有与实现基于IPv4的VoIP终端和基于IPv6的VoIP终端之间的VoIP通信的通信方法相关的技术。
在专利文献2中,记载有一种VoIP(Voice Over Intemet Protocol,因特网语音协议)终端,其具有消息格式转换部,该消息格式转换部具有用于经由网络与任意终端进行数据的发送和接收的网络接口,该消息格式转换部将地址信息格式转换成任意终端的地址形式,使消息包含经格式转换的地址信息,并将其发送至任意终端,并且,将从任意终端接收到的消息中包含的地址信息格式转换成规定地址形式,并向VoIP应用程序提供含有经格式转换的地址信息的消息。
根据该专利文献2所述的技术,层7中具有地址信息的VoIP的应用程序,能够在应用程序工作的IPv6终端和IPv4终端之间实现通信。
专利文献1:日本特开2008-092607号公报
专利文献2:日本特开2007-104676号公报
但是,关于HTTP协议,上述专利文献1和专利文献2所述的技术可能发生这样的现象,即,不能实施于在IPv6终端上工作的HTTP客户(以下,称为IPv6客户)和在IPv4服务器上工作的HTTP服务器(以下,称为IPv4服务器)之间的通信。
例如,当在IPv4服务器中公开的Web内容中记载有IPv4的地址信息时,就可能产生这种现象。下面说明这种现象的例子。
Web内容一般表现为由HTML(Hyper Text Markup Language,超文本置标语言)描述的文本形式的文件数据的集合。在网络上,文件数据和用于唯一确定文件数据所在的URL(Uniform Resource Locator,统一资源定位符)被关联化。举一个该URL的例子,其形式例如是“http://www.foo1.com/www/index.html”这样的文本字符串。
在一个文件数据中,能够具有多个其他的文件数据的URL。该文件数据中记载的其他的文件数据的URL称为“超链接”。举一个超链接的例子,其形式例如是在标签<a>和</a>之间的“<a href=”http://www.foo2.com/www/index.html>链接1</a>”这样的文本字符串。
一般地,具有显示Web内容的功能的Web浏览器从用户接受到URL的输入时,根据所输入的URL,确定具有与该URL对应的文件数据的HTTP服务器,并且,从确定的HTTP服务器中取得相应文件数据并显示在浏览器上。另外,Web浏览器在视觉上以不同于其他语句的形式显示正在显示的文件数据中的超链接。用户通过用鼠标等点击该超链接,能够按照与用户输入URL时相同的顺序,从HTTP服务器取得与正在显示的文件数据相关的其他文件数据,并将其显示在浏览器上。
通常,URL用FQDN(Full Qualified Domain Name,完全合格的域名)的形式来表示。Web浏览器通过询问DNS(Domain Name System,域名系统),能够从FQDN取得HTTP服务器的IP地址。
但是,有时URL不是用FQDN的形式表示,而是HTTP服务器的IP地址作为文本字符串引用。这种URL例如像“http://200.0.0.1/www/index.html”那样,HTTP服务器的IP地址以文本形式记载。
这种情况下,Web浏览器无需向DNS询问HTTP服务器的IP地址,而直接通过从URL推算出的文本IP地址(在上述的例子中是200.0.0.1)来尝试与HTTP服务器连接。
但是,当Web浏览器工作的终端和HTTP服务器双方都属于IPv6网络时、或双方都属于IPv4网络时,即使如上面那样在超链接的URL中引用了IP地址,也能够毫无问题地参照文件数据。
但是,在Web浏览器工作的终端属于IPv6网络,HTTP服务器属于IPv4网络,并且Web浏览器取得的文件数据中的URL是通过IP地址来标识的情况下,可能发生这样的问题:即使在Web浏览器中尝试显示该URL,IPv6的终端将直接尝试与IPv4的HTTP服务器连接,无法建立通信,从而不能显示该文件数据。
与此相对,即使使用专利文献1所述的技术,如上所述,专利文献1所述的技术是层3中的IP地址的转换技术,因此不能适用于与HTTP相当的层7,不能解决该问题。
另外,专利文献2所述的技术涉及IPv6终端和IPv4终端的通信,并且是针对层7的方案,但是,其是限于VoIP的协议的技术,不能解决该问题。
因此,需要例如能够在IPv6网络和IPv4网络之间这样的属于不同网络的装置之间,维持使用了HTTP协议的通信的信息转换装置、信息转换方法、信息转换程序及中继装置。
具体实施方式
(A)第1实施方式
下面,参照附图对本发明的信息转换装置、信息转换方法、信息转换程序及中继装置的第1实施方式进行说明。
(A-1)第1实施方式的结构
图1是表示第1实施方式的通信网络的结构以及应用网关装置的内部结构的结构图。
在图1中,第1实施方式的通信网络50至少由应用网关装置1、IPv6网络2、IPv4网络3、DNS代理服务器12构成。
IPv6网络2是分配有特殊的IPv6地址的通信网。在IPv6网络2上存在分配有IPv6地址的IPv6终端4。
IPv6终端4是被赋予IPv6的IP地址且使例如Web浏览器等的HTTP客户应用程序等工作的通信终端。IPv6终端4例如是安装有通信功能的个人计算机、具有通信功能的便携式电话机或PDA或游戏机等的便携式终端等。
IPv4网络3是分配有IPv4的IP地址的通信网。在该IPv4网络3上存在分配有IPv4地址的DNS服务器5、Web服务器6以及Web服务器7。
DNS服务器5是地址解决单元,其解决存在于IPv4网络3上的装置的IP地址,并且响应具有由HTTP请求消息请求的URL的服务器的IP地址。
Web服务器6以及Web服务器7是提供Web内容的Web服务器。在第1实施方式中,为了便于说明,假设在Web服务器6提供的Web内容中记载有Web服务器7的URL,并且假设该URL的IP地址是由文本标识的字符串。另一方面,假设在Web服务器7提供的Web内容中记载有以FQDN形式表现的URL。
应用网关装置1设置在IPv6网络2和IPv4网络3的边界,并且对IPv6终端4和Web服务器6或者Web服务器7之间的分组进行转发。
如图1所示,应用网关装置1具有NAT(Network Address Translation,网络地址转换)功能部8、应用网关功能部9。
NAT功能部8进行在1个全局地址(IPv6的IP地址)和多个专用地址(IPv4的IP地址)之间的转换处理。另外,NAT功能部8在OSI参考模型的层4上对IPv6网络2上的IPv6分组和IPv4网络3上的IPv4分组进行转发。并且,NAT功能部8也可以根据需要还转换TCP或UDP首部的内容(例如端口号),而不是仅转换IP首部的内容(例如NAPT功能)。另外,NAT功能部8也可以安装由IETF标准化的RFC2765、RFC2766的标准化技术。
应用网关功能部9对与OSI参考模型的层7相当的HTTP消息进行解析,维持IPv6终端4和IPv4终端(例如Web服务器6等)之间的通信。
如图1所示,应用网关功能部9具有响应消息转换功能部10以及请求消息转换功能部11。
响应消息转换功能部10在IPv6终端4和Web服务器6或7之间进行通信时,判断从Web服务器6或7接收到的HTTP响应消息中是否含有URL。
作为有无该URL的检测方法,例如,HTTP响应消息是以HTML形式记载的,因此,响应消息转换功能部10通过检测表示插入URL的标签(例如<a>、</a>等),能够检测有无URL。
另外,当HTTP响应消息中含有URL时,响应消息转换功能部10判断该URL是否是通过文本IP地址来标识的URL,当该URL是通过文本IP地址来标识的URL时,判断该IP地址是IPv6地址还是IPv4地址。
这里,作为是否通过文本IP地址来标识的判断方法,例如,URL是以文本形式记载的,因此,能够判断是以http://www.foo1.com/www/index.html这样的FQDN形式记载的,还是以http://200.0.0.1/www/index.html这样的含有文本IP地址的形式记载的。
另外,作为判断IP地址是IPv4地址还是IPv6地址的方法,例如能够通过URL中记载的IP地址的形式来判断。例如,在图2中,例示了IPv4地址和IPv6地址的标记方法。IPv4地址如图2(A)的例子“200.0.0.1”所示,通过“200”、“.(句号)”、“0”、“.(句号)”这样的字符串来标记,与此相对,IPv6地址如图2(B)的例子“3ffe:100:0:0:0:0:0:1”所示,通过“3ffe”、“:(冒号)”、“100”、“:(冒号)”这样的字符串来标记,因此,响应消息转换功能部10能够根据该字符串标记的差异来判断。
此外,作为判断是IPv4地址还是IPv6地址的其他检测方法,例如,在RFC2732中,在被赋予文本IPv6地址的情况下,赋予大括号“[”、“]”。因此,也可以使用这样的方法,即,在URL被赋予该大括号的情况下,响应消息转换功能部10判定为IPv6,另外,在URL没有被赋予该大括号的情况下,响应消息转换功能部10判定为IPv4。
并且,当发往IPv6终端4的HTTP响应消息中含有通过文本IPv4地址来标识的URL时,响应消息转换功能部10将该IPv4地址转换成IPv6形式的地址。
这里,使用图3来说明将IPv4地址形式转换成IPv6地址形式的方法。
如图3所示,IPv4地址是32位,与此相对,IPv6地址是128位。另外,应用网关装置1的与IPv6网络2连接的线路接口中分配有IPv6地址,其前缀是96位。
响应消息转换功能部10通过赋予IPv4地址作为低32位,赋予被分配给与IPv6网络2连接的线路接口的IPv6地址的前缀(96位)作为高96位,来转换成IPv6形式的地址。
由此,IPv6终端4追踪转换后的IPv6地址,即使在访问IPv4网络3上的Web服务器时,URL中的文本IPv6地址的前缀也是应用网关装置1的线路接口,因此,来自IPv6终端4的HTTP请求消息经由应用网关装置1来访问Web服务器,能够维持通信。
请求消息转换功能部11在IPv6终端4和Web服务器6或Web服务器7之间进行通信时,判断从IPv6终端4接收到的HTTP请求消息中是否包含URL。
另外,在HTTP请求消息中包含URL的情况下,请求消息转换功能部11判断该URL是否通过文本IP地址来标识,在通过文本IP地址来标识的情况下,判断该IP地址是IPv6地址还是IPv4地址。
并且,在发往IPv4网络3的HTTP请求消息中含有通过文本IPv6地址来标识的URL的情况下,请求消息转换功能部11将该IPv6地址转换成IPv4形式的地址。
另外,有无URL的判断方法、IP地址的检测方法、IPv4或IPv6地址的判断方法与响应消息转换功能部10的情况相同。
这里,使用图4来说明将IPv6地址转换成IPv4地址的方法。
在图4中,请求消息转换功能部11通过从URL中的128位的IPv6地址中去掉高96位的前缀部分而剩下低32位的部分,来转换成IPv4地址形式。
DNS代理服务器12是具有如下作用的服务器,即,将IPv6终端4的DNS询问中继至DNS服务器5。
(A-2)第1实施方式的工作
接着,参照附图来说明第1实施方式的通信网络50中的通信处理的工作。
图5是表示第1实施方式的通信网络50中的通信处理的工作的顺序图。
首先,用户在IPv6终端4的Web浏览器上输入与Web服务器6对应的URL(www.foo1.com)(步骤101)。
IPv6终端4通过IPv6向DNS代理服务器12询问“www.foo1.com”的IP地址(步骤102)。
DNS代理服务器12通过IPv4分组向DNS服务器5询问“www.foo1.com”的IP地址(步骤103)。
DNS服务器5具有预先登记的FQDN和IP地址之间的对应表。图6表示该对应表的结构例。DNS服务器5参照图6所示的对应表,搜索与接受询问的URL“www.foo1.com”对应的IP地址,返回Web服务器6的IP地址(200.0.0.1)作为DNS响应(步骤104)。
DNS代理服务器12向IPv6终端4发送DNS响应,该DNS响应将DNS响应中存储的Web服务器6的IPv4地址替换成IPv6地址(步骤105)。
这里,DNS代理服务器12的一系列处理能够适用例如RFC2766的标准化技术。另外,作为将Web服务器6的IPv4地址替换成IPv6地址的方法,例如有如下的方法,即,应用网关装置1赋予同与IPv6网络2连接的线路的接口的前缀相同的值,向低32位的地址赋予Web服务器6的IPv4地址。
IPv6终端4向对Web服务器6进行映射的IPv6地址发送HTTP请求消息(步骤106)。
从IPv6终端4发送来的HTTP请求消息经由例如路由器等网络设备,转发至应用网关装置1。
由NAT功能部8将应用网关装置1接收到的HTTP请求消息的层4以前的IP首部以及TCP首部的信息从IPv6形式转换成IPv4形式。该NAT功能部8的安装例如能够适用RFC2765、RFC2766等的标准化技术。
此时,在TCP的数据中的HTTP请求消息中没有文本IP地址的标识,因此,在应用网关功能部9中,不进行处理就向Web服务器6发送(步骤107)。
Web服务器6接收到HTTP请求消息时,作为该接收到的HTTP请求消息的响应,Web服务器6返回已指定的HTML形式的文件数据作为HTTP响应消息(步骤108)。
应用网关装置1接收到HTTP响应消息时,在应用网关装置1中,响应消息转换功能部10对HTTP响应消息中包含的HTML形式的文件数据进行解析,检测被定义成超链接的部分。
然后,响应消息转换功能部10对该被定义成超链接的部分中是否含有文本IPv4地址进行判定。
此时,在检测出文本IPv4地址的情况下,响应消息转换功能部10将该文本IPv4地址转换成文本IPv6地址(步骤109)。
例如,在图5中,例示了来自Web服务器6的HTTP响应消息21的结构例。在图5的HTTP响应消息21中,在HTML的主体部分通过标签<A>以及</A>记载有Web服务器7的链接终点,响应消息转换功能部10通过解析HTML形式的消息并检测该标签<A>以及</A>211,来检测定义有超链接的部分。
另外,响应消息转换功能部10判断该标签<A>以及</A>211中记载的链接终点是否是通过文本IP地址来标识,以及标识的IP地址是IPv4形式还是IPv6形式。
在图5所示的HTTP响应消息21的情况下,响应消息转换功能部10根据该标签<A>以及</A>211中记载的字符串<A href=“http://210.0.0.10/www/index.html”>Web服务器7</A>,判断该URL是通过IPv4(210.0.0.10)文本标识的。
并且,响应消息转换功能部10通过应用网关装置1赋予被分配给与请求源IPv6网络2连接的线路接口的IPv6地址的前缀作为高96位并赋予Web服务器7的IPv4地址作为低32位,来转换成IPv6形式。
例如,在图5的情况下,在应用网关装置1中,被分配给与IPv6网络2连接的线路接口的IPv6地址的前缀(3ffe:100:0:0:0:0)是96位,因此,响应消息转换功能部10向高96位的位置赋予该前缀,向低32位赋予Web服务器7的IPv4地址(210.0.0.10)。由此,能够替换成128位的IPv6地址“3ffe:100:0:0:0:0:210.0.0.10”(省略标记“3ffe:100::210.0.0.10”)。
此时,响应消息转换功能部10根据RFC2732的标准化技术,用大括号“[”、“]”包围经转换的IPv6地址部分,将HTTP响应消息21中记载的Web 服务器7的URL 标识“<Ahref=“http://210.0.0.10/www/index.html”>Web服务器7</A>”转换成“<Ahref=“http://[3ffe:100::210.0.0.10]/www/index.html”>Web服务器7</A>”(步骤109)。
其后,NAT功能部8将该HTTP响应消息的层4以前的IP首部以及TCP首部的信息从IPv4形式转换成IPv6形式,并将其发送至IPv6终端4(步骤110)。
IPv6终端4接收到该HTTP响应消息时,在IPv6终端4的浏览器上显示在步骤101中请求的Web服务器6的内容。在来自该Web服务器6的内容中,附有Web服务器7的超链接,用户点击该超链接(步骤111)。
用户点击Web服务器7的超链接时,浏览器对被点击的超链接的URL进行分析,识别其主部不是FQDN,而是文本IPv6地址。
该文本IPv6地址是将Web服务器7的IPv4地址映射成IPv6地址的地址,与应用网关装置1的线路地址对应。因此,IPv6终端4向应用网关装置1发送HTTP请求消息(步骤112)。
在应用网关装置1中,请求消息转换功能部11接收来自IPv6终端4的HTTP请求消息。
请求消息转换功能部11判断HTTP请求消息中含有文本IPv6地址、以及该IPv6地址的前缀是响应消息转换功能部10赋予的前缀。
然后,当含有文本IP地址,并且其是响应消息转换功能部10赋予的地址时,请求消息转换功能部11替换成文本IPv4地址,该文本IPv4地址是去掉文本IPv6地址并仅剩下低32位而得到的(步骤113)。
其后,NAT功能部8将HTTP请求消息的层4以前的IP首部以及TCP首部的信息从IPv6形式转换成IPv4形式,并将其发送至Web服务器7(步骤114)。
由此,能够向Web服务器7发送HTTP请求消息。另外,Web服务器7接收到该HTTP请求消息时,发送含有被请求的文件数据的HTTP响应消息。
此时,在该Web服务器7的Web内容中未记载作为URL的文本IP地址,因此,响应消息转换功能部10针对来自Web服务器7的HTTP响应消息,不进行转换处理,仅进行由NAT功能部8进行的地址转换,维持通信。
(A-3)第1实施方式的效果
如上所述,根据第1实施方式,即使在Web浏览器工作的终端属于IPv6网络,HTTP服务器属于IPv4网络,并且,Web浏览器取得的文件数据中的URL是通过文本IPv4地址来标识的情况下,也能得到如下的效果,即,通过应用网关装置对IP分组的层7上的数据进行解析,并互相转换HTTP响应消息和HTTP请求消息的文本IPv6地址和文本IPv4地址,Web浏览器能够根据该URL来与IPv4的HTTP服务器连接,取得相应的文件数据显示在画面上。
(B)其它的实施方式
在第1实施方式中,例示了适用于能够在IPv6网络和IPv4网络上进行HTTP通信的应用网关装置的情况,但是,不限于HTTP,还能够适用于在IP分组的负荷中描述文本IP地址的应用协议的通信。
另外,在第1实施方式中,例示了在IPv4网络上存在HTTP服务器、在IPv6网络上存在HTTP客户的情况,但是,在IPv6网络上存在HTTP服务器、在IPv4网络上存在HTTP客户的情况下,也能够同样地适用HTTP消息中的文本IP地址的转换方法。