名称数据库服务器、名称解析系统、条目搜索方法以及条目搜索程序的制作方法

文档序号:7885335阅读:92来源:国知局
专利名称:名称数据库服务器、名称解析系统、条目搜索方法以及条目搜索程序的制作方法
技术领域
本发明涉及在在互联网协议版本4 (IPv4)和互联网协议版本6 (IPv6)的混合通信环境中执行名称解析时使用的名称数据库服务器、名称解析系统、条目搜索方法、名称解析方法以及条目搜索程序。
背景技术
基于互联网协议版本6 (IPv6)的通信环境已经被新近引入到从基于互联网协议版本4(IPv4)的通信环境开始的互联网中。当前的互联网正处在引入IPv6环境的过程中。为此,在引入的过程中,存在多种类型的通信设备,诸如,仅支持IPv4的通信设备,其中除了与当前IPv4相对应的功能以外还实现了与IPv6相对应的功能的一部分的通信设备,以及其中完全实现了与IPv6相对应的功能并且与IPv4和IPv6相对应的所有功能都可用的通信设备。图15是在基于IPv4的通信环境中执行名称解析时的示意图。图15图示出了将记录类型是“A”的IPv4地址p和q的两个条目与主机名“主机X”相关地注册到域名系统(DNS)服务器。当指派IPv4的记录类型“A”并且查询主机名“主机V,的地址的包从客户端终端发送到DNS服务器时,DNS服务器搜索包括与“主机X”相对应的IPv4地址的条目。继而,DNS服务器向客户端终端发送包括搜索到的IPv4地址的包。在图15所图示的示例中,DNS服务器向客户端终端发送包括作为“主机X”的IPv4地址的地址p和q的包。在下文中,指派主机名和记录类型并且查询与主机名相对应的地址的包被称为“DNS查询包”。同时,为了将IPv6的新功能引入到存在以上描述的多种类型的通信设备的环境中,需要满足各种条件。首先,在当前运行的现有环境中,不应当导致难以执行通信的问题。另外,当存在IPv4的信息和IPv6的信息二者时,可以将新的IPv6的信息选择作为优先。已经提出了在IPv4和IPv6的混合通信环境中执行名称解析的各种方法。图16是图示出了在IPv4和IPv6的混合通信环境中存储在DNS服务器中的信息的示例的示意图。在下文中,将IPv6地址的记录类型称为“AAAA”,并且IPv4地址的记录类型称为“A”。图16图示出了与主机名“主机X”相关地向DNS (域名系统)服务器注册了总共4个条目,S卩,记录类型是“A”的IPv4地址p和q的两个条目,以及记录类型是“AAAA”的IPv6地址s和t的两个条目。在下文中,当在IPv4和IPv6的混合通信环境中执行名称解析时,假设DNS服务器存储图16中所图示的信息。此处,将描述由查询DNS中的地址的设备(例如,客户端终端)使用的应用编程接口(API)。解析器库(其是执行原语处理的低级API)被用于DNS中的名称解析过程。具体而言,在DNS中,执行直接提取包括在服务器侧的数据库中存储的数据的低级处理的命令(例如,nslookup、dig或者host)被包括在解析器库中。同时,用户空间中使用的通信应用通常使用高级API而不是直接调用解析器库。解析器库在高级API内部使用,但是用户不需要了解API内部。
具体而言,gethostbynameO在仅有IPv4的通信环境中被用作高级API。然而,由于IPv6的出现,不使用与仅有IPv4的通信环境相对应的gethostbynameO,并且目前使用getaddrinfo ()。getaddrinfo ()是与IPv4和IPv6 二者的协议(多协议)相对应的函数。在getaddrinfoO函数中,指派记录类型(具体而言,表示网络地址的类型的地址族),并且执行查询。作为地址族,指派IPv4(PF_INET)、IPv6(PF_INET6)和二者都可以(PF_UNSPEC)中的任何一个。查询结果(地址)将以列表的形式返回。在用户空间(land)的应用侧,期望在与记录类型无关的情况下执行查询。然而,在DNS服务器侧,有必要管理IPv4和IPv6的地址二者。因而,最后,假设客户端侧执行如下查询,在该查询中在DNS服务器管理IPv4和IPv6的地址二者的状态下,指派PF_UNSPEC作为地址族。具体而言,在高级API中,在不知道记录类型的情况下生成通信应用(例如指派PF_UNSPEC)。同时,当高级API调用解析器库时,解析器库指派用于名称解析的记录类型,并且在DNS服务器中查询地址。这是因为当DNS服务器搜索条目时,地址和记录类型是必要的。图17至图21是图示出在IPv4和IPv6的混合通信环境中在DNS服务器中查询地址的操作的示意图。在下文中,将包括IPv4地址的条目称为“A记录”,而包括IPv6地址的条目称为“AAAA记录”。图17中所图示的方法是这样的方法,其中,在DNS服务器中查询与主机名相对应的A记录,并且继而在响应被接收到之后(也即,在待机直到响应被接收到之后)查询AAAA记录。在图17所图示的方法中,首先,客户端向DNS服务器发送通过其指派主机名“主机X”和记录类型“A”的DNS查询包。继而,DNS服务器搜索相对应的IPv4地址p和q,并且向客户端发送包括搜索到的地址的包。接下来,已经接收到包括IPv4地址的包的客户端向DNS服务器发送通过其指派主机名“主机X”和记录类型“AAAA”的DNS查询包。继而,DNS服务器搜索相对应的IPv6地址s和t,并且向客户端发送包括搜索到的地址的包。图18所图示的方法是这样的方法,其中,首先在DNS服务器中查询与主机名相对应的A记录,并且根据所接收的响应内容来确定是否查询AAAA记录。换言之,图18所图示的方法与图17所图示的方法的不同点在于,根据IPv4地址p和q的响应内容来确定是否查询AAAA记录。在图18所图示的方法中,首先,客户端向DNS服务器发送通过其指派主机名“主机X”和记录类型“A”的DNS查询包。继而,DNS服务器搜索相对应的IPv4地址p和q,并且向客户端发送包括搜索到的地址的包。已经接收到包括IPv4地址的包的客户端根据包括在包中的内容来确定是否向DNS服务器发送通过其指派主机名“主机X”和记录类型“AAAA”的DNS查询包。此处,当确定要向DNS服务器发送DNS查询包时,后续过程与图17中所图示的方法相同。图19所图示的方法是这样的方法,其中,首先在DNS服务器中查询与主机名相对应的A记录,并且继而在不等待响应的情况下查询AAAA记录。在图19所图示的方法中,首先,客户端向DNS服务器发送通过其指派主机名“主机X”和记录类型“A”的DNS查询包。继而,在接收到包括IPv4地址的包之前,客户端向DNS服务器发送通过其指派主机名“主机X”和记录类型“AAAA”的DNS查询包。此处,根据所接收的DNF查询包而从DNS服务器向客户端发送的包的内容与图17所图示的内容相同。
图20所图示的方法是这样的方法,其中,首先在DNS服务器中查询与主机名相对应的AAAA记录,并且继而在响应被接收到之后查询A记录。换言之,图20所图示的方法与图17所图示的方法的不同点在于查询A记录和AAAA记录的顺序颠倒了。具体而言,客户端向DNS服务器发送通过其指派主机名“主机X”和记录类型“AAAA”的DNS查询包。继而,DNS服务器搜索相对应的IPv6地址s和t,并且向客户端发送包括搜索到的地址的包。接下来,已经接收到包括IPv6地址的包的客户端向DNS服务器发送通过其指派主机名“主机X”和记录类型“A”的DNS查询包。继而,DNS服务器搜索相对应的IPv4地址p和q,并且向客户端发送包括搜索到的地址的包。图21所图示的方法是这样的方法,其中,首先在DNS服务器中查询与主机名相对应的AAAA记录,并且继而在不等待响应的情况下查询A记录。在图21所图示的方法中,首先,客户端向DNS服务器发送通过其指派主机名“主机X”和记录类型“AAAA”的DNS查询包。继而,在接收到包括IPv6地址的包之前,客户端向DNS服务器发送通过其指派主机名“主机X”和记录类型“A”的DNS查询包。此处,根据所接收的DNF查询包而从DNS服务器向客户端发送的包的内容与图20所图示的内容相同。如上所述,当DNS服务器存储与主机名相对应的IPv4地址和IPv6地址二者的条目时,客户端分别发送通过其来指派IPv4地址的主机名和记录类型DNS查询包、以及通过其来指派IPv6地址的主机名和记录类型的DNS查询包。因此,客户端可以获得与主机名相对应的IPv4地址和IPv6地址二者。在专利文献I中讨论了在存在IPv4地址和IPv6地址二者的环境中执行名称解析的通信设备。在专利文献I中讨论的通信设备首先请求在IPv4地址空间中执行名称解析的DNS服务器来执行名称解析。当尚未获得IPv4地址时,通信设备请求DNS代理服务器,该DNS代理服务器查询在IPv6地址空间中执行名称解析的DNS服务器,以再次执行名称解析。引用列表专利文献专利文献I JP 2010_183242A

发明内容
技术问题由于新引入了基于IPv6的通信环境,保留了仅存在IPv4地址时使用的方法,并且独立于图17至图21所图示的以上方法而添加了执行对IPv6地址的新查询的方法。为此,到目前为止,对主机名的查询执行了一次,但是在图17至图21所图示的方法中,查询执行了两次。同时,由于查询需要执行两次,所以存在多种查询模式作为每种地址的查询模式。另外,当考虑根据对在先查询的响应的内容来决定后续过程的方法时,处理方法变得更加复杂。另外,由于服务器响应于各个查询来发送单独的响应,所以客户端难以一次收集到响应内容。为此,一侧待机,直到从另一侧接收到响应,并且因此在完成回复之前花费了很长的时间。此外,在考虑用于其他侧的查询的包丢失的情况下,考虑响应内容的过程变得更加复杂。因为过程较复杂,所以出现了开始没有预料到的问题。另外,由于查询生成两次,所以由查询生成的网络业务量变为两倍。查询的数目仅增加I,但是需要考虑很多问题。在专利文献I中讨论的通信设备中,类似于图18所图示的方法,根据对一侧的查询的响应的内容,查询生成两次或者更多次。因此,优选的是,可以通过单次查询来对多个记录类型的地址执行名称解析,而不采用以上提到的复杂的配置。在这一方面,本发明的一个示例性目的是提供能够通过单次查询来获得多个记录类型的节点信息的名称数据库服务器、名称解析系统、条目搜索方法、名称解析方法以及条目搜索程序。问题的解决方案根据本发明的名称数据库服务器包括:节点信息存储装置,其存储其中地址和记录类型与主机名相关联的条目;地址翻译装置,其基于预定规则,将与从终端设备接收的记录类型不同的记录类型的地址翻译为所接收的记录类型的地址,所述终端设备发送记录类型和执行名称解析的目标的主机名,并且执行关于与条目中的主机名相对应的地址的查询;条目搜索装置,其搜索节点信息存储装置,并且指定与从终端设备接收的主机名相对应的条目;以及,搜索结果发送装置,其向终端设备发送指定的条目中所包括的地址。根据本发明的名称解析系统包括:终端设备,其执行关于与主机名相对应的地址的查询,以及,名称数据库服务器,其从终端设备接收查询,其中,该终端设备包括地址查询装置,该地址查询装置向名称数据库服务器发送记录类型和执行名称解析的目标的主机名,并且执行关于与主机名相对应的地址的查询,并且所述名称数据库服务器包括:节点信息存储装置,其存储其中地址和记录类型与主机名相关联的条目;地址翻译装置,其基于预定规则,将该条目中的、与从终端设备接收的记录类型不同的记录类型的地址翻译为所接收的记录类型的地址;条目搜索装置,其搜索节点信息存储装置,并且指定与从终端设备接收的主机名相对应的条目;搜索结果发送装置,其向终端设备发送指定的条目中所包括的地址。根据本发明的条目搜索方法包括:基于预定规则,将与从终端设备接收的记录类型不同的记录类型的地址翻译为所接收的记录类型的地址,所述终端设备发送该记录类型和执行名称解析的目标的主机名,并且执行关于与节点信息存储装置中存储的条目中的主机名相对应的地址的查询,节点信息存储装置存储其中地址和记录类型与主机名相关联的条目,搜索节点信息存储装置,并且指定与从终端设备接收的主机名相对应的条目,以及向终端设备发送指定的所述条目中所包括的地址。根据本发明的名称解析方法包括:由终端设备向名称数据库服务器发送记录类型和执行名称解析的目标的主机名,并且查询与所述主机名相对应的地址,其中,终端设备执行关于与主机名有关的地址的查询,由名称数据库服务器基于预定规则将节点信息存储装置中存储的条目中的、与从终端设备接收的记录类型不同的记录类型的地址翻译为所接收的记录类型的地址,节点信息存储装置存储其中地址和记录类型与主机名相关联的条目,由名称数据库服务器搜索节点信息存储装置,并且指定与从终端设备接收的主机名相对应的条目,由名称数据库服务器向终端设备发送指定的条目中所包括的地址。根据本发明的条目搜索程序是应用于计算机的条目搜索程序,该计算机包括节点信息存储装置,该节点信息存储装置存储其中地址和记录类型与主机名相关联的条目,并且所述程序使得计算机执行:地址翻译过程,该地址翻译过程基于预定规则,将与从终端设备接收的记录类型不同的记录类型的地址翻译为所接收的记录类型的地址,终端设备发送记录类型和执行名称解析的目标的主机名,并且执行关于与条目中的主机名相对应的地址的查询;条目搜索过程,该条目搜索过程搜索节点信息存储装置,并且指定与从终端设备接收的主机名相对应的条目;以及,搜索结果发送过程,该搜索结果发送过程向终端设备发送指定的条目中所包括的地址。本发明的有益效果根据本发明,即使在IPv4和IPv6的混合通信环境中,也可以通过查询主机名一次来执行对IPv4和IPv6 二者的名称解析。


[图1]其绘出了图示出执行名称解析的操作的示例的示意图。[图2]其绘出了图示出根据本发明的第一示例性实施方式的名称解析系统的示例的框图。[图3]其绘出了图示出执行名称解析的操作的示例的时序图。[图4]其绘出了图示出执行名称解析的操作的示例的示意图。[图5]其绘出了图示出根据本发明的第二示例性实施方式的名称解析系统的示例的框图。[图6]其绘出了图示出执行名称解析的操作的示例的时序图。[图7]其绘出了图示出执行名称解析的操作的示例的示意图。[图8]其绘出了图示出根据本发明的第三示例性实施方式的名称解析系统的示例的框图。[图9]其绘出了图示出执行名称解析的操作的示例的时序图。[图10]其绘出了图示出执行名称解析的操作的示例的示意图。[图11]其绘出了图示出根据本发明的第四示例性实施方式的名称解析系统的示例的框图。[图12]其绘出了图示出执行名称解析的操作的示例的时序图。[图13]其绘出了图示出根据本发明的名称解析系统的最小配置的示例的框图。[图14]其绘出了图示出根据本发明的名称数据库服务器的最小配置的示例的框图。[图15]其绘出了在仅有IPv4的通信环境中执行名称解析时的示意图。[图16]其绘出了图示出存储在DNS服务器中的信息的示例的示意图。[图17]其绘出了图示出在DNS服务器中查询地址的操作的示例的示意图。[图18]其绘出了图示出在DNS服务器中查询地址的操作的示例的示意图。[图19]其绘出了图示出在DNS服务器中查询地址的操作的示例的示意图。[图20]其绘出了图示出在DNS服务器中查询地址的操作的示例的示意图。[图21]其绘出了图示出在DNS服务器中查询地址的操作的示例的示意图。
具体实施例方式在下文中,将参考附图描述本发明的示例性实施方式。第一示例性实施方式首先,将参考图1描述根据第一示例性实施方式的名称解析系统的概况。图1是图示出执行名称解析的操作的示例的示意图。在根据第一示例性实施方式的名称解析系统中,首先,客户端向DNS服务器发送如下DNS查询包,通过该DNS查询包指派执行名称解析的目标的主机名(图1中的“主机X”)以及记录类型(图1中的“AAAA+A”)。此处,所指派的记录类型“AAAA+A”是不同于DNS服务器中存储的记录类型(诸如“A”或者“AAAA”)的虚拟记录类型。可以将任意信息设置为虚拟记录类型。例如,可以新定义现有DNS中不存在的记录类型,并且表示该记录类型的信息可以被用作虚拟记录类型。在以下描述中,为了方便的目的,将虚拟记录类型称为“AAAA+A”。此处,虚拟记录类型不限于“AAAA+A”一种类型,可以使用多种类型。虚拟记录类型由用户等提前决定。虚拟记录类型是指被指派为由查询包指派记录但是没有在DNS中原始定义的部分。接下来,已经接收到DNS查询包的DNS服务器根据与所指派的虚拟记录类型“AAAA+A”相对应的预定规则来决定搜索目标的记录类型。继而,DNS服务器搜索与所决定的记录类型和接收到的主机名相对应的条目。在图1的示例中,搜索记录类型“AAAA”和“A”的条目。继而,DNS服务器向客户端发送响应包,该响应包包括所搜索到的条目中包括的IPv6地址和IPv4地址(图1中的S、t、p和q)。换言之,根据第一不例性实施方式的名称解析系统向DNS服务器发送一次如下包,通过该包指派指定条目和记录类型“AAAA+A”的信息(例如,主机名和地址;在下文中,被称为“条目指定信息”),并且因而可以一次获得包括相应节点信息(例如,IPv6地址、IPv4地址和主机名)的包。在以下描述中,将描述根据域名来解析相应IP地址的示例(查找情形)。此处,根据本示例性实施方式的名称解析系统可以应用于根据IP地址来解析相应主机名的示例(反向查找情形)。以下将详细描述根据第一示例性实施方式的名称解析系统的内容。图2是图示出根据本发明的第一示例性实施方式的名称解析系统的示例的框图。根据本示例性实施方式的名称解析系统包括终端设备10和名称数据库服务器20。例如,名称数据库服务器20由DNS服务器实现。然而,名称数据库服务器20并不限于DNS服务器。终端设备10包括地址查询装置11。地址查询装置11通过向名称数据库服务器20发送虚拟记录类型和条目指定信息(例如,主机名或者执行名称解析的目标的地址)来执行对相应的节点信息的查询。另外,向虚拟记录类型指派尚未作为节点信息存储装置21(下文描述)中存储的记录类型而存在的预定信息(也即,以上描述的“AAAA+A”)。例如,地址查询装置11由根据程序操作的计算机(终端设备10)的中央处理单元(CPU)实现。要从地址查询装置11向名称数据库服务器20发送的条目指定信息不限于主机名或者地址和虚拟记录类型。例如,地址查询装置11可以向名称数据库服务器20发送终端设备10的地址等等。例如,地址查询装置11关于其而查询名称数据服务器20的记录类型由另一闻级API (未图不出)等来指派。
名称数据库服务器20包括节点信息存储装置21、搜索目标记录决定装置22、条目搜索装置23和搜索结果发送装置24。节点信息存储装置21存储其中至少地址和记录类型与主机名相关联的节点信息的条目。具体而言,节点信息存储装置21存储其中至少IPv6地址和IPv4地址与主机名相关联的条目。例如,节点信息存储装置21由磁盘等来实现。与每个地址和记录类型相关联的信息不限于主机名。节点信息存储装置21可以存储其中表示域的主机信息的另一信息与每个地址和记录类型相关联的条目(诸如区域文件)。例如,使用诸如DNS动态更新的结构来顺序地更新存储在节点信息存储装置21中的条目。搜索目标记录决定装置22基于从终端设备10接收的虚拟记录类型来决定搜索目标的条目的记录类型。具体而言,根据虚拟记录类型来指定搜索目标的记录类型的规则(在下文中称为“搜索规则”)是提前设置的。搜索目标记录决定装置22根据搜索规则、基于所接收的虚拟记录类型来决定搜索目标的条目的记录类型。具体而言,“当字符串‘AAAA+A’被指派为记录类型时,搜索目标的记录类型是‘AAAA’和‘A’”被设置为搜索规则。通过这一设置,条目搜索装置23 (下文描述)即使在接收到虚拟记录类型“AAAA+A”时也可以搜索记录类型“AAAA”和“A”的条目。通过搜索节点信息存储装置21,条目搜索装置23指定与所接收的条目指定信息相对应的条目,并且具有由搜索目标记录决定装置22决定的记录类型。例如,假设搜索目标记录决定装置22将搜索目标的条目的记录类型决定为“AAAA”和“A”。在这种情况下,条目搜索装置23搜索节点信息存储装置21,并且指定包括与从终端设备10接收的主机名相对应的IPv4地址和IPv6地址的条目。如上所述,所指派的虚拟记录类型用作指定搜索目标的记录类型的信息。另外,虚拟记录类型还可以用作指示DNS服务器搜索某个搜索目标的信息。换言之,记录类型“AAAA+A”承担指示DNS服务器搜索某个搜索目标的记录类型的命令。另外,有可能防止由于在执行查询时使用与存储在DNS服务器中的记录类型不同的记录类型而使现有系统受到影响。搜索结果发送装置24向终端设备10发送在由条目搜索装置23指定的条目中包括的节点信息。另外,当目标的条目不存在时,搜索结果发送装置24可以向终端设备10发送包括表示与主机名相对应的节点信息不存在的信息的包。搜索目标记录决定装置22、条目搜索装置23和搜索结果发送装置24由根据程序(条目搜索程序)操作的计算机的CPU实现。例如,该程序可以存储在名称数据库服务器20的存储单元(未图示出)中,并且CPU可以读取该程序,并且操作为根据程序的搜索目标记录决定装置22、条目搜索装置23和搜索结果发送装置24。备选地,搜索目标记录决定装置22、条目搜索装置23和搜索结果发送装置24中的每一个可以由专用硬件实现。接下来,将描述当客户端指派主机名和记录类型“AAAA+A”并且发送关于地址的查询时,DNS服务器将IPv4地址和IPv6地址二者发送回客户端的操作。客户端对应于终端设备10,而DNS服务器对应于名称数据库服务器20。图3是图示出执行名称解析的操作的示例的时序图。客户端的地址查询装置11向DNS服务器发送通过其指派主机名和虚拟记录类型“AAAA+A”的DNS查询包,并且查询该主机名上的地址(步骤SI)。在接收到包括虚拟记录类型“AAAA+A”的包之后,DNS服务器的搜索目标记录决定装置22根据预定搜索规则决定将“AAAA”和“A”作为搜索目标的记录类型(步骤S2)。接下来,条目搜索装置23搜索节点信息存储装置21,并且指定与所接收的主机名相对应的记录类型“AAAA”和“A”的条目(步骤S3)。具体而言,条目搜索装置23指定包括IPv4地址和IPv6地址的条目。继而,搜索结果发送装置24向客户端发送包括由条目搜索装置23指定的条目的IPv4地址和IPv6地址的包(步骤S4)。如上所述,根据本示例性实施方式,终端设备10的地址查询装置11向名称数据库服务器20发送虚拟记录类型和条目指定信息,并且查询与条目指定信息相对应的节点信息。名称数据库服务器20的搜索目标记录决定装置22基于如下搜索规则来决定搜索目标的条目的记录类型,该搜索规则用作根据虚拟记录类型来指定搜索目标的记录类型的规贝U。条目搜索装置23搜索节点信息存储装置21,并且指定与所接收的条目指定信息相对应并且具有由搜索目标记录决定装置22决定的记录类型的条目。继而,搜索结果发送装置24向终端设备10发送在由条目搜索装置23指定的条目中包括的节点信息。由此,可以通过单次查询来获得多个记录类型的节点信息。具体而言,即使在IPv4和IPv6的混合通信环境中,也可以通过查询主机名一次来执行对IPv4和IPv6 二者的名称解析。例如,通过发送指定单个记录类型的DNS查询包一次,可以获得与主机名相对应的多种记录类型(IPv4和IPv6 二者)的地址。另外,由于通过执行单次查询来完成客户端侧过程,所以是高效的。另外,每个过程变得简单,并且由此可以抑制各种问题的发生。另外,与执行多次查询相比,客户端侧等待对于单次查询的响应。由此,以较高的速度执行处理。此外,减少了由于查询而产生的业务量。第二示例性实施方式接下来,将参考图4描述根据第二示例性实施方式的名称解析系统的概况。图4是图示出执行名称解析的操作的示例的示意图。在根据第二示例性实施方式的名称解析系统中,首先,客户端向DNS服务器发送如下DNS查询包,通过该DNS查询包指派执行名称解析的目标的主机名(图4中的“主机X”)以及Ipv6地址的记录类型(图4中的“AAAA”)。接下来,已经接收到DNS查询包的DNS服务器在所接收的主机名的条目之中搜索记录类型“A”的条目以及指定记录类型“AAAA”的条目。在图4所图示的示例中,作为结果,指定了与主机名“主机X”相匹配的条目中包括的地址p、q、s和t。继而,DNS服务器将具有记录类型“A”的IPv4地址p和q翻译为作为所接收的记录类型的地址的IPv6地址。在下文中,从地址p和q翻译的IPv6地址被表示为p'和q'。继而,DNS服务器向客户端发送包括IPv6地址s、t、p'和q'的包。已经接收到IPv6地址的客户端对经翻译的地址P'和q'进行翻译,以便恢复翻译之前的IPv4地址p和q。作为将IPv4地址翻译为IPv6地址的方法,例如,使用将IPv4地址翻译为IPv4映射IPv6地址(在下文中称为“IPv4映射地址”)的方法。将IPv4映射地址翻译为IPv4地址的过程由典型的内核执行。为此,由于IPv4地址被翻译为IPv4映射地址,所以恢复翻译过程在客户端侧的用户空间中的应用中没有必要。
如上所述,根据第二示例性实施方式的名称解析系统向DNS服务器发送一次包,通过该包指派主机名和IPv6地址的记录类型,并且由此可以一次通过指定的记录类型来获得包括与主机名相对应的地址的包。另外,对经翻译的地址进行翻译以恢复翻译之前的地址,并且由此翻译的地址可以用作原始地址。接下来,以下将详细描述根据第二示例性实施方式的名称解析系统的内容。图5是图示出根据本发明的第二示例性实施方式的名称解析系统的示例的框图。在图2中,与第一示例性实施方式中相同的组件由相同的标号表示,并且将不再对其进行描述。根据本示例性实施方式的名称解析系统包括终端设备30和名称数据库服务器40。例如,名称数据库服务器40由DNS服务器实现。然而,名称数据库服务器40并不限于DNS服务器。名称数据库服务器40包括节点信息存储装置21、条目搜索装置41、地址翻译装置42和搜索结果发送装置43。节点信息存储装置21与第一示例性实施方式中的相同,从而不再对其进行描述。条目搜索装置41搜索节点信息存储装置21,并且指定与从终端设备30接收的主机名相对应的条目。具体而言,当从终端设备30接收到表示记录类型“AAAA”的包时,条目搜索装置41指定与所接收的主机名以及记录类型“AAAA”相对应的条目。另外,条目搜索装置41指定与所接收的主机名和记录类型“A”相对应的条目。地址翻译装置42基于预定规则,将与由条目搜索装置41指定的条目中包括的地址之中的、从终端设备30接收的记录类型不同的记录类型翻译为所接收的记录类型的地址。具体而言,当从终端设备30接收到表示记录类型“AAAA”的包时,地址翻译装置42基于预定规则,将由条目搜索装置41指定的条目中包括的地址之中的记录类型“A”的地址(IPv4地址)翻译为记录类型为“AAAA”的地址(IPv6地址)。用于将不同于所接收的记录类型的记录类型的地址翻译为所接收的记录类型的地址的规则优选地针对每个记录类型提前设置。例如,IPv4地址翻译为IPv4映射地址的规则可以被设置为用于将IPv4地址翻译为IPv6地址的规则。具体而言,当从终端设备30接收到记录类型“AAAA”时,地址翻译装置42基于定义为IPv4映射地址的格式而将由条目搜索装置41指定的IPv4地址翻译为IPv6地址。IPv4 映射地址的定义在以下参考文献 I “2.5.5.2.1Pv4_Mapped IPv6 Address”中陈述。另外,使用IPv4映射地址的方法在以下参考文献2中陈述。因此,将不对其做详细描述。〈参考文献1>R.Hinden, S.Deering, " IP Version 6 AddressingArchitecture " ,2006 年 2 月,RFC4291 (http: //www.1etf.0rg/rfc/rfc4291.txt)〈参考文献2>M_K.Shin,等,"Application Aspects of IPv6 Transition",2005 年 3 月,RFC4038 (http://www.1etf.0rg/rfc/rfc4038.txt)将IPv4地址翻译为IPv6地址的方法并不限于将IPv4地址翻译为IPv4映射地址的方法。只要在客户端侧(终端设备30)提取原始IPv4地址,就可以使用任何其他翻译算法。对翻译方法的规定不限于以上格式,只要交换数据的设备之间确定了规定。例如,IPv4地址可以被翻译为IPv6地址,从而在IPv4地址的前部和后部添加任意的比特模式。这是因为IPv6地址空间极大,所以可以容易地将IPv4地址包括到IPv6地址空间中。搜索结果发送装置43向终端设备30发送与所接收的主机名和记录类型相对应的地址。具体而言,搜索结果发送装置43向终端设备30发送由地址翻译装置42翻译的地址以及条目搜索装置41指定的条目中包括的地址之中、没有由地址翻译装置42翻译的地址。另外,当条目搜索装置41难以指定条目时,搜索结果发送装置43优选地向终端设备30发送包括表示与主机名相对应的地址尚不存在的信息的包。如上所述,根据本示例性实施方式的名称数据库服务器40根据从终端设备30接收的查询来翻译地址。为此,根据本示例性实施方式的名称解析方法可以称为动态翻译方法。例如,在执行DNS查询时第一次理解的信息在用于地址翻译的规则中使用,动态翻译方法是有效的。条目搜索装置41、地址翻译装置42和搜索结果发送装置43由根据程序(条目搜索程序)操作的计算机的CPU实现。另外,条目搜索装置41、地址翻译装置42和搜索结果发送装置43中的每一个可以由专用硬件实现。终端设备30包括地址查询装置31和翻译地址重译装置32。地址查询装置31向名称数据库服务器40发送执行名称解析的目标的主机名和记录类型,并且执行对于与该主机名相对应的地址的查询。例如,将表示IPv6地址的记录类型“AAAA”指定为记录类型。翻译地址重译装置32在从名称数据库服务器40接收的包中包括的地址之中基于预定规则翻译的地址翻译为翻译前的地址。具体而言,翻译地址重译装置32将IPv4地址被翻译为IPv6地址的地址翻译为翻译前的IPv4地址。翻译地址重译装置32可以在所接收的地址之中指定一个地址作为要被翻译为翻译前的地址的地址。例如,假设地址翻译装置42根据IPv4映射地址的格式将IPv4地址翻译为IPv6地址。在这种情况下,翻译地址重译装置32可以指定所接收的IPv6地址之中具有IPv4映射地址格式的地址作为翻译目标的地址。此时,翻译地址重译装置32优选地将具有IPv4映射地址格式的IPv6地址翻译为翻译前的IPv4地址。一般而言,当用户空间的通信应用使用IPv4映射地址时,内核确定该地址是否是IPv4映射地址。继而,当确定该地址是IPv4映射地址时,内核识别出该地址并且将其翻译为IPv4地址。通常,一般内核具有这一功能。为此,当使用现有结构(内核)和IPv4映射地址时,客户端的应用没有必要执行另一恢复翻译过程(也即,将IPv6地址翻译为IPv4地址的过程)。因而,通信应用侧不需要知道IPv6地址是IPv4映射地址还是通常的IPv6地址,并且不需要执行翻译过程。换言之,即使在IPv6地址与IPv4映射地址和通常的IPv6地址混合时,通信应用侧也可以处理IPv6地址,类似于通常的IPv6地址。换言之,当通信应用侧使用IPv4映射地址时,IPv6地址可以被自动地翻译为IPv4地址。因而,当IPv4地址被翻译为IPv6地址时,优选地将IPv4地址翻译为IPv4映射地址。地址查询装置31与根据第一示例性实施方式的地址查询装置11相同,从而不再对其进行描述。地址查询装置31和翻译地址重译装置32由根据程序(名称解析程序)操作的计算机的CPU实现。地址查询装置31和翻译地址重译装置32中的每一个可以由专用硬件实现。
接下来,将描述当客户端指派主机名和记录类型“AAAA”并且发送关于地址的查询时,DNS服务器将IPv6地址和IPv4地址被翻译为IPv6地址的地址发送回客户端的操作。客户端对应于终端设备30,而DNS服务器对应于名称数据库服务器40。图6是图示出执行名称解析的操作的示例的时序图。客户端的地址查询装置31向DNS服务器发送通过其指派主机名和记录类型“AAAA”的DNS查询包,并且查询该主机名上的地址(步骤Sll)。在从客户端接收到DNS查询包时,DNS服务器的条目搜索装置41搜索节点信息存储装置21,并且指定与所接收的主机名相对应的条目(步骤S12)。具体而言,条目搜索装置41指定包括与主机名相对应的IPv6地址和IPv4地址的条目。接下来,地址翻译装置42基于预定规则将IPv4地址翻译为由条目搜索装置41指定的条目中包括的地址之中的IPv6地址(步骤S13)。继而,搜索结果发送装置43向客户端发送包括与主机名相对应的地址的包(步骤S14)。当客户端接收到包括地址的包时,翻译地址重译装置32将翻译为从DNS服务器接收的地址之中的IPv6地址的IPv4地址翻译为翻译之前的IPv4地址(步骤S15)。如上所述,根据本示例性实施方式,终端设备30的地址查询装置31向名称数据库服务器40发送执行名称解析的目标的主机名和记录类型,并且查询与主机名相对应的地址。条目搜索装置41搜索节点信息存储装置21,并且指定与从终端设备30接收的主机名相对应的条目。地址翻译装置42基于预定规则,将与由条目搜索装置41指定的条目中包括的地址之中的、从终端设备30接收的记录类型不同的记录类型翻译为所接收的记录类型的地址。继而,搜索结果发送装置43向终端设备30发送包括在所指定的条目中的接收的记录类型的地址以及由地址翻译装置42翻译的地址。具体而言,地址查询装置31向名称数据库服务器40发送执行名称解析的目标的主机名和记录类型“AAAA”,并且查询与该主机名相对应的地址。条目搜索装置41搜索节点信息存储装置21,并且指定与从终端设备30接收的主机名和记录类型“AAAA”相对应的条目。另外,条目搜索装置41指定与从终端设备30接收的主机名和记录类型“A”相对应的条目。地址翻译装置42基于预定规则将IPv4地址翻译为IPv6地址。继而,搜索结果发送装置43向终端设备30发送包括在所指定的条目中的IPv6地址以及由地址翻译装置42翻译的IPv6地址。通过上述配置,类似于第一示例性实施方式的效果,即使在IPv4和IPv6的混合通信环境中,也可以通过查询主机名一次来执行对IPv4和IPv6 二者的名称解析。另外,翻译地址重译装置32在从名称数据库服务器40接收的地址之中基于预定规则翻译的地址翻译为翻译前的地址。由此,终端设备30可以获得所需要的记录类型的地址,并且在翻译之前使用该地址。另外,当终端设备30将表示IPv6地址的记录类型指派为记录类型时,地址翻译装置42可以将从节点信息存储装置21提取的IPv4地址翻译为IPv4映射地址。在这种情况下,可以使用在典型内核中实现的IPv4映射地址和IPv4地址的翻译功能。为此,可以不将另一恢复翻译过程添加到客户端应用侧。由此,可以抑制对多个客户端应用的影响。另外,在这种情况下,由于可以通过在名称数据库服务器40 (例如,DNS服务器)侧实现根据本示例性实施方式的功能而采取适当的测量,可以减少影响范围。接下来,将描述第二示例性实施方式的修改示例。已经结合这样的示例描述了第二示例性实施方式,其中,地址翻译装置42将IPv4地址翻译为IPv6地址,并且翻译地址重译装置32将翻译后的IPv6地址翻译为翻译前的IPv4地址。在该修改的示例中,将描述这样的示例,其中,地址翻译装置42执行其他处理以及地址翻译。在第二示例性实施方式中,当从终端设备30接收到关于与主机名相对应的地址的查询时,地址翻译装置42执行翻译地址的过程。在该修改的示例中,地址翻译装置42除了执行翻译地址的过程之外,还执行使得查询结果仅由特定终端设备使用的过程(在下文中称为“指定过程”)。此时,翻译地址重译装置32执行与指定过程相对应的过程。在下文中,使得要经历指定过程的查询结果变为可用状态的过程称为“恢复翻译过程”。当终端设备30与名称数据库服务器40之间协定了指定过程的规范时,虽然终端设备30已经执行了指定过程,但是名称数据库服务器40可以识别对所执行的指定过程的恢复翻译过程。然而,不知道名称数据库服务器40的指定过程的终端设备30不知道利用指定过程的复制的方法,并且由此难以使用已经经历指定过程的信息。如上所述,在终端设备30与名称数据库服务器40之间执行对指定过程的协定,并且由此执行地址翻译或者指定过程的终端可以限于已经执行该协定的特定客户端(终端设备30)。另外,地址翻译装置42可以执行指定过程,该指定过程使得恢复翻译过程要由任何设备执行。在这种情况下,地址翻译装置42向已经经历恢复过程的信息添加可以仅由特定终端设备30识别的附加信息。例如,地址翻译装置42可以向该信息的尾部添加附加信息,并且可以以水印方式添加附加信息。该方法可以称为校验位方法或者隐形墨水方法。识别校验位方法或者隐形墨水方法的终端设备30可以使用附加信息。另外,当执行地址翻译时,地址翻译装置42可以执行这样的过程作为指定过程,该过程使用由执行恢复翻译过程的终端设备30处理的特定密钥对信息进行加密。此时,例如,使用公钥加密方案的封装安全载荷(ESP)或者使用公钥加密方案的认证报头(AH)被用作用于加密过程和认证过程的协议。此时,终端设备30可以使用由终端设备30处理的、与特定密钥相对应的解密密钥来对信息进行解密以作为恢复翻译过程。然而,用于加密过程和认证过程的协议不限于以上内容。另外,名称解析系统可以使用基于针对指定过程的质询/响应认证的认证方案。具体而言,当终端设备30 (具体而言为地址查询装置31)向名称数据库服务器40发送认证请求时,名称数据库服务器40 (例如,地址翻译装置42)向其返回发送机会。继而,地址查询装置31生成响应,其中根据特定算法转换了所接收的质询(challenge)和密码,并且向名称数据库服务器40发送响应。地址翻译装置42以相同的方式,基于所发送的质询以及先前寄存的终端设备30的密码来生成响应。继而,当该响应与从终端设备30接收的响应匹配时,地址翻译装置42执行地址翻译。此外,名称解析系统可以使用基于校验位的认证方法或者使用一次性密码的认证方法以用于指定过程。基于质询/响应认证的认证方案、基于校验位的认证方法和使用一次性密码的认证方法是众所周知的,并因此不对其进行详细描述。接下来,将描述由终端设备30执行的恢复过程。在第二示例性实施方式中描述的将IPv4地址翻译为IPv4映射地址的过程通常在内核中执行。为此,用户空间的应用没有必要知道该翻译过程。然而,当终端设备30执行翻译为IPv4映射地址的处理以外的处理时,接收对DNS查询的响应包或者响应包的传送目的地的部分执行恢复翻译过程。
响应包由解析器库接收。为此,恢复翻译过程优选地在解析器库中实现。解析器库(而不是内核)是用户空间中的过程。然而,由于恢复翻译过程在通常由通信应用使用的解析器库中实现,所以可以减少向个体通信应用添加恢复翻译过程的工作量。如上所述,由于除了地址翻译过程以外的处理由终端设备30和名称数据库服务器40执行,所以名称解析系统可以具有除了名称解析以外的新添加的值。第三示例性实施方式接下来,将参考图7描述根据第三示例性实施方式的名称解析系统的概况。图7是图示出执行名称解析的操作的示例的示意图。根据第三示例性实施方式的名称解析系统生成一个条目,在该条目中,当关于主机名的IPv6地址和IPv4地址二者的条目都存在时,IPv4地址被提前翻译为IPv6地址。具体而言,图7图示出了 IPv4地址p和q在预定定时被翻译(静态翻译)为IPv6地址p'和q',并且继而在磁盘等等中保持。在表格中,阴影部分表示翻译的记录。在这种状态下,首先,客户端向DNS服务器发送如下DNS查询包,通过该DNS查询包指派执行名称解析的目标的主机名(图7中的“主机X”)以及Ipv6地址的记录类型(图7中的“AAAA”)。接下来,已经接收到DNS查询包的DNS服务器搜索与所接收的主机名与记录类型“AAAA”相对应的条目。在图7的示例中,作为结果,指定了与主机名“主机X”和记录类型“AAAA”相对应的条目的地址s、t、p'和q'。继而,DNS服务器向客户端发送包括IPv6地址s、t、p'和q'的包。已经接收到IPv6地址的客户端对经翻译的地址p'和q'进行翻译,以便恢复翻译之前的IPv4地址p和q。作为将IPv4地址翻译为IPv6地址的方法,例如,使用将IPv4地址翻译为IPv4映射IPv6地址(在下文中称为“IPv4映射地址”)的方法。将IPv4映射地址翻译为IPv4地址的过程通常在内核中执行,并且因而在IPv4地址被翻译为IPv4映射地址时,客户端侧的用户空间中的应用不需要执行恢复翻译过程。如上所述,根据第三示例性实施方式的名称解析系统向DNS服务器发送一次包,通过该包指派主机名和IPv6地址的记录类型,并且因而可以一次通过指定的记录类型来获得包括与主机名相对应的地址的包。此外,对经翻译的地址进行翻译以恢复翻译之前的地址,并且因而翻译的地址可以用作原始地址。接下来,以下将详细描述根据第三示例性实施方式的名称解析系统的内容。图8是图示出根据本发明的第三示例性实施方式的名称解析系统的示例的框图。在图5中,与第二示例性实施方式中相同的组件由相同的标号表示,并且将不再对其进行描述。根据本示例性实施方式的名称解析系统包括终端设备30和名称数据库服务器50。终端设备30与第一示例性实施方式和第二示例性实施方式中的相同,并因而不再对其进行描述。名称数据库服务器50包括节点信息存储装置21、翻译地址存储装置51、地址翻译装置52、条目搜索装置53和搜索结果发送装置54。节点信息存储装置21与第二示例性实施方式中的相同,从而不再对其进行描述。翻译地址存储装置51存储这样的条目,其中存储在节点信息存储装置21中的IPv4地址被翻译为IPv6地址的地址(在下文中称为“翻译地址”)以及存储在节点信息存储装置21的IPv6地址与主机名相关联。例如,翻译地址存储装置51由磁盘等来实现。另夕卜,与每个地址相关联的信息不限于主机名。翻译地址存储装置51可以存储其中表示域的主机信息的另一信息与每个地址相关联的条目(诸如区域文件),类似于节点信息存储装置21。存储在翻译地址存储装置51中的条目由地址翻译装置52 (下文描述)存储。地址翻译装置52基于预定规则将存储在节点信息存储装置21中的地址之中一种记录类型的地址翻译为另一记录类型的地址。继而,地址翻译装置52使得存储在节点信息存储装置21中的条目之中,包括经翻译的地址的条目和包括未翻译的地址的条目二者都存储在翻译地址存储装置51中。具体而言,地址翻译装置52基于预定规则将存储在节点信息存储装置21中的IPv4地址翻译为IPv6地址。继而,地址翻译装置52使得存储在节点信息存储装置21中的包括经翻译的IPv6地址(即,翻译地址)的条目和包括未翻译的IPv6地址的条目二者都存储在翻译地址存储装置51中。地址翻译装置52可以按照预定间隔或者预定定时来翻译地址。备选地,地址翻译装置52可以在条目被添加到节点信息存储装置21中的定时翻译地址。另外,由地址翻译装置52存储到翻译地址存储装置51中的条目可以不同于先前的翻译过程或者所有条目充当目标。条目搜索装置53搜索翻译地址存储装置51,并且指定与从终端设备30接收的主机名和记录类型相对应的条目。例如,从终端设备30接收到记录类型“AAAA”时,条目搜索装置53指定与主机名相对应的条目之中记录类型是“AAAA”的条目(即,包括IPv6地址的条目)。搜索结果发送装置54向终端设备30发送与主机名相对应的地址。具体而言,搜索结果发送装置54向终端设备30发送在由条目搜索装置53指定的条目中包括的地址。另夕卜,当条目搜索装置53难以指定条目时,搜索结果发送装置54可以向终端设备30发送表示与主机名相对应的地址尚不存在的信息。本示例性实施方式与第二示例性实施方式的不同点在于翻译后的地址提前存储在翻译地址存储装置51中。换言之,根据本示例性实施方式的名称数据库服务器50提前翻译和存储地址,而不考虑是否存在来自终端设备30的查询。为此,可以将根据本示例性实施方式的名称解析方法称为静态翻译方法。另外,已经结合包括节点信息存储装置21和翻译地址存储装置51的名称数据库服务器50的示例描述了本示例性实施方式。如上所述,由于节点信息存储装置21与翻译地址存储装置51分离,所以在应用于一般DNS时没有必要改变结构来更新(与节点信息存储装置21相对应的)区域文件的条目。继而,在指定条目的过程中,仅将条目的搜索目的地从区域文件改变到翻译地址存储装置51是足够的。备选地,名称数据库服务器50可以仅包括节点信息存储装置21。在这种情况下,例如,当通过应用DNS动态更新来更新(与节点信息存储装置21相对应的)区域文件的条目时,地址翻译装置52可以将记录类型一起翻译,并且继而使得包括经翻译的地址的条目存储在节点信息存储装置21中。如上所述,由于在节点信息存储装置21上更新条目之前一起翻译了记录类型,所以没有必要改变条目的搜索目的地。因此,可以直接使用现有的DNS。地址翻译装置52可以使用将IPv4地址翻译为IPv4映射地址的规则作为预定规贝U。IPv4映射地址是IPv4地址被翻译为IPv6地址的地址。为此,当经翻译的地址被寄存至IJ DNS的数据库中时,不会出现问题。在必要时按照预定定时将IPv4地址翻译为IPv6地址,并且保持经翻译的IPv6地址的方法可以称为混合翻译方法。混合翻译方法的本质是动态翻译方法。静态翻译方法可以视为提前翻译包括地址信息的文件(其可以是数据库信息文件)的信息的方法(在下文中称为“在先翻译方法”)。在动态翻译方法中,没有必要知道被存储为充当目标的数据库信息的信息是由在先翻译方法翻译的信息还是由静态翻译方法翻译的信息。换言之,静态翻译方法和动态翻译方法是彼此独立的翻译方法。同时,混合翻译方法是静态翻译方法和动态翻译方法二者都被支持的方法。已经结合这样的示例描述了本示例性实施方式,在该示例中,名称数据库服务器50包括地址翻译装置52,并且地址翻译装置52按照预定定时翻译存储在节点信息存储装置21中的地址,并且使得包括经翻译的地址的条目存储到翻译地址存储装置51中。然而,外部设备(未图示出)可以按照预定定时翻译存储在节点信息存储装置21中的地址,并且使得包括经翻译的地址的条目存储到翻译地址存储装置51中。在这种情况下,名称数据库服务器50可能不包括地址翻译装置52。地址翻译装置52、条目搜索装置53和搜索结果发送装置54由根据程序(条目搜索程序)操作的计算机的CPU实现。另外,地址翻译装置52、条目搜索装置53和搜索结果发送装置54中的每一个可以由专用硬件实现。接下来,将描述当客户端指派主机名和记录类型“AAAA”并且发送关于地址的查询时,DNS服务器将IPv6地址和其中IPv4地址被翻译为IPv6地址的地址发送回客户端的操作。客户端对应于终端设备30,而DNS服务器对应于名称数据库服务器50。图9是图示出执行名称解析的操作的示例的时序图。在DNS服务器中,地址翻译装置52按照预定定时将存储在节点信息存储装置21中的IPv4地址翻译为IPv6地址。继而,地址翻译装置52使得包括经翻译的IPv6地址的条目存储到翻译地址存储装置51中(步骤S21)。同时,客户端的地址查询装置31向DNS服务器发送通过其指派主机名和记录类型“AAAA”的DNS查询包,并且查询与主机名相对应的地址(步骤SI I)。在从客户端接收到DNS查询包时,条目搜索装置53搜索翻译地址存储装置51,并且指定与所接收的主机名和记录类型“AAAA”相对应的条目(步骤S22)。继而,搜索结果发送装置54向客户端发送包括所指定的条目的地址的包(步骤S23)。当客户端接收到包括地址的包时,翻译地址重译装置32将翻译为从DNS服务器接收的地址之中的IPv6地址的IPv4地址翻译为翻译之前的IPv4地址(步骤S15)。如上所述,根据本示例性实施方式,翻译地址存储装置51存储其中第一记录类型的地址(IPv4地址)被基于预定规则翻译为第二记录类型的地址(IPv6地址)并且第二记录类型与主机名相关联的地址(即,翻译地址)的条目。继而,当从终端设备30接收到第二记录类型(IPv6地址)时,条目搜索装置53搜索翻译地址存储装置51,并且指定与主机名相对应的第二记录类型(“AAAA”)的条目。继而,搜索结果发送装置54向终端设备30发送包括在所指定的条目中的第二记录类型的地址(IPv6地址)。因而,类似于第一示例性实施方式中的效果,即使在IPv4和IPv6的混合通信环境中,也可以通过查询主机名一次来执行对IPv4和IPv6 二者的名称解析。
此外,名称数据库服务器50存储先前翻译的地址。为此,除了第二示例性实施方式的效果之外,没有必要每次都执行翻译从终端设备30接收的查询的过程。因而,获得了减少名称数据库服务器50 (DNS服务器)的负载的效果。另外,地址翻译装置52可以基于预定规则将第一记录类型的地址(IPv4地址)翻译为第二记录类型的地址(IPv6地址)。继而,地址翻译装置52可以使得经翻译的地址存储到节点信息存储装置21中。第四示例性实施方式接下来,将参考图10描述根据第四示例性实施方式的名称解析系统的概况。图10是图示出执行名称解析的操作的示例的示意图。在根据第四示例性实施方式的名称解析系统中,首先,客户端向DNS服务器发送如下DNS查询包,通过该DNS查询包指派执行名称解析的目标的主机名(图10中的“主机X”)以及IPv4地址和Ipv6地址的记录类型(图10中的“A,AAAA”)。接下来,已经接收到DNS查询包的DNS服务器在所接收的主机名的条目之中搜索所指派的记录类型“A”的条目以及记录类型“AAAA”的条目。在图10所图示的示例中,因此,指定了与主机名“主机X”和指派的记录类型相匹配的条目中包括的地址p、q、s和t。继而,DNS服务器向客户端发送包括地址P、q、s和t的包。在一般的DNS中,当执行关于地址的查询时,并不指派多个记录类型。然而,在根据第四示例性实施方式的名称解析系统中,通过向DNS服务器发送一次包(通过该包指派主机名和多个记录类型),可以一次获得包括与主机名相对应的地址的包。另外,在第四示例性实施方式中,由于不对地址执行翻译过程,所以已经接收到地址的客户端侧不需要翻译接收到的地址。接下来,以下将详细描述根据第四示例性实施方式的名称解析系统的内容。图11是图示出根据本发明的第四示例性实施方式的名称解析系统的示例的框图。与第一示例性实施方式中相同的组件由与图2中相同的标号表示,并且将不再对其进行描述。根据本示例性实施方式的名称解析系统包括终端设备60和名称数据库服务器70。例如,名称数据库服务器70由DNS服务器实现。然而,名称数据库服务器70并不限于DNS服务器。终端设备60包括地址查询装置61。地址查询装置61向名称数据库服务器70发送主机名和多个记录类型,并且执行关于与该主机名相对应的地址的查询。存储在节点信息存储装置21中的记录类型被指派为要发送的记录类型。具体而言,地址查询装置61向名称数据库服务器70发送主机名以及“A”和“AAAA”(即,表示IPv4地址的记录类型和表示IPv6地址的记录类型)。例如,地址查询装置61由根据程序操作的计算机(终端设备60)的CPU实现。名称数据库服务器70包括节点信息存储装置21、条目搜索装置71和搜索结果发送装置72。节点信息存储装置21与第一示例性实施方式中的相同,并因而不再对其进行描述。条目搜索装置71搜索节点信息存储装置21,并且指定与从终端设备60接收的主机名相匹配并且与多个记录类型中的任何一个相匹配的记录类型的条目。例如,条目搜索装置71从终端设备60接收包括主机名和记录类型“A”和“AAAA”的包。此时,条目搜索装置71搜索节点信息存储装置21,并且指定与主机名相对应并且具有“A”或者“AAAA”的记录类型的条目。搜索结果发送装置72向终端设备60发送由条目搜索装置71指定的条目的地址。此处,当目标的条目尚不存在时,搜索结果发送装置72可以向终端设备60发送包括表示与主机名相对应的地址尚不存在的信息的包。条目搜索装置71和搜索结果发送装置72由根据程序(条目搜索程序)操作的计算机的CPU实现。另外,条目搜索装置71和搜索结果发送装置72中的每一个可以由专用硬件实现。接下来,将描述当客户端指派主机名和记录类型“A”和“AAAA”并且发送关于地址的查询时,DNS服务器将IPv4地址和IPv6地址二者发送回客户端的操作。客户端对应于终端设备60,而DNS服务器对应于名称数据库服务器70。图12是图示出执行名称解析的操作的示例的时序图。客户端的地址查询装置61向DNS服务器发送通过其指派主机名和记录类型“A”和“AAAA”的DNS查询包,并且查询该主机名上的地址(步骤S31)。当DNS服务器从客户端接收到DNS查询包时,条目搜索装置71搜索节点信息存储装置21,并且指定与主机名相对应并且具有“A”或者“AAAA”的记录类型的条目(步骤S32)。继而,搜索结果发送装置72向客户端发送包括所指定的条目的地址的包(步骤S33)。如上所述,根据本示例性实施方式,地址查询装置61向名称数据库服务器70发送主机名和多个记录类型。继而,条目搜索装置71搜索节点信息存储装置21,并且指定与所接收的主机名相匹配并且与多个记录类型中的任何一个相匹配的条目。继而,搜索结果发送装置72向终端设备60发送包括在所指定的条目中的地址。通过以上配置,即使在IPv4和IPv6的混合通信环境中,也可以通过查询主机名一次来执行对IPv4和IPv6 二者的名称解析。另外,与第二示例性实施方式和第三示例性实施方式不同,由于名称数据库服务器70 (服务器侧)不执行翻译过程,所以终端设备60 (客户端侧)不需要执行用于恢复地址的翻译过程。接下来,将描述本发明的最小配置。图13是图示出根据本发明的名称解析系统的最小配置的示例的框图。图14是图示出根据本发明的名称数据库服务器的最小配置的示例的框图。图13所示的名称解析系统包括执行关于与主机名相对应的地址的查询的终端设备90 (例如,终端设备30),以及从终端设备90接收查询的名称数据库服务器80 (例如,名称数据库服务器40)。终端设备90包括地址查询装置91 (例如,地址查询装置31),该地址查询装置91向名称数据库服务器80发送执行名称解析的目标的主机名和记录类型(例如,“AAAA”),并且查询与该主机名相对应的地址。名称数据库服务器80包括:节点信息存储装置81 (例如,节点信息存储装置21),其存储其中地址和记录类型与主机名相关联的条目;地址翻译装置82 (例如,地址翻译装置42),其基于预定规则将条目中与从终端设备90接收的记录类型(例如,“AAAA”)不同的记录类型(例如,“A”)的地址(例如,IPv4地址)翻译为所接收的记录类型的地址;条目搜索装置83 (例如,条目搜索装置41),其搜索节点信息存储装置81,并且指定与从终端设备90接收的主机名相对应的条目;以及,搜索结果发送装置84 (例如,搜索结果发送装置43),其向终端设备发送包括在所指定的条目中的地址。另外,图14所示的名称数据库服务器包括:节点信息存储装置81 (例如,节点信息存储装置21),地址翻译装置82 (例如,地址翻译装置42),条目搜索装置83 (例如,条目搜索装置41),以及搜索结果发送装置84 (例如,搜索结果发送装置43)。节点信息存储装置81、地址翻译装置82、条目搜索装置83和搜索结果发送装置84的内容与图13所示的内容相同。通过以上配置,即使在IPv4和IPv6的混合通信环境中,也可以通过单次查询对IPv4和IPv6 二者执行名称解析。另外,地址翻译装置82可以基于预定规则,将由条目搜索装置83指定的条目中包括的地址之中、与从终端设备接收的记录类型不同的记录类型的地址翻译为所接收的记录类型的地址,并且搜索结果发送装置84可以向终端设备发送所接收的包括在指定的条目中的记录类型的地址以及由地址翻译装置82翻译的地址。另外,节点信息存储装置81可以存储其中至少IPv6地址和IPv4地址与主机名相关联的条目,当从终端设备90接收到执行名称解析的目标的主机名和IPv6地址的记录类型时,条目搜索装置83可以搜索节点信息存储装置81,并且指定与从终端设备90接收的主机名相对应并且具有表示IPv6地址和/或IPv4地址的记录类型的条目,地址翻译装置82可以基于预定规则将由条目搜索装置83指定的条目中包括的IPv4地址翻译为IPv6地址,并且搜索结果发送装置84向终端设备发送包括在由条目搜索装置83指定的条目中的IPv6地址以及由地址翻译装置82翻译的IPv6地址。此处,“IPv6地址和/或IPv4地址”表示“ IPv6地址”和“ IPv4地址”中的任一个或者二者。另外,当从终端设备90接收到IPv6地址的记录类型时,地址翻译装置82可以将IPv4地址翻译为IPv4映射地址。另外,节点信息存储装置81 (例如,翻译地址存储装置51)可以存储第一记录类型的地址(例如,IPv6地址),并且翻译作为从与主机名相关联的第二记录类型(IPv4地址)的地址(IPv4地址)翻译的第一记录类型的地址的地址,条目搜索装置83 (例如,条目搜索装置53)可以搜索节点信息存储装置81,并且当从终端设备接收到第一记录类型90时指定与主机名相对应的第一记录类型的条目,搜索结果发送装置84 (例如,搜索结果发送装置54)可以向终端设备90发送包括在所指定的条目中的第一记录类型的地址。另外,地址翻译装置82 (例如,地址翻译装置52)可以基于预定规则,将第二记录类型的地址翻译为第一记录类型的地址,并且使得经翻译的第一记录类型的地址与主机名相关联地存储到节点信息存储装置81 (例如,翻译地址存储装置51或者节点信息存储装置21)中。另外,节点信息存储装置81 (例如,翻译地址存储装置51)可以与主机名相关联地至少存储IPv6地址以及基于预定规则翻译自IPv4地址的Ipv6地址,条目搜索装置83 (例如,条目搜索装置53)可以搜索节点信息存储装置81,并且当从终端设备90接收到IPv6地址记录类型时指定与主机名相对应的IPv6地址的条目,并且,搜索结果发送装置84可以向终端设备发送包括在所指定的条目中的IPv6地址。另外,节点信息存储装置81 (例如,翻译地址存储装置51和节点信息存储装置21)可以与主机名相关联地存储由IPv4地址翻译的IPv4映射地址作为IPv6地址。
已经参考示例性实施方式和示例描述了本发明,但是本发明不限于示例性实施方式和示例。另外,在本发明的范围内,可以对本发明的配置或者细节做出本领域技术人员可以理解的各种改变。本申请要求于2010年10月18日提交的第2010-233412号日本专利申请的优先权和权益,其公开内容通过引用并入于此。工业可应用性本发明适合应用于在IPv4和IPv6的混合通信环境中执行名称解析时使用的名称数据库服务器。参考标记列表10,30,60 终端设备11,31,61地址查询装置20,40,50,70名称数据库服务器21节点信息存储装置22搜索目标记录决定装置24,43,54,72搜索结果发送装置32翻译地址重译装置23,41,53,71条目搜索装置42,52地址翻译装置51翻译地址存储装置
权利要求
1.一种名称数据库服务器,包括: 节点信息存储装置,所述节点信息存储装置存储其中地址和记录类型与主机名相关联的条目; 地址翻译装置,所述地址翻译装置基于预定规则,将与从终端设备接收的记录类型不同的记录类型的地址翻译为所接收的所述记录类型的地址,所述终端设备发送所述记录类型和执行名称解析的目标的主机名,并且执行关于与所述条目中的所述主机名相对应的地址的查询; 条目搜索装置,所述条目搜索装置搜索所述节点信息存储装置,并且指定与从所述终端设备接收的所述主机名相对应的条目;以及 搜索结果发送装置,所述搜索结果发送装置向所述终端设备发送所指定的所述条目中所包括的地址。
2.根据权利要求1所述的名称数据库服务器, 其中所述地址翻译装置基于预定规则,将由所述条目搜索装置所指定的所述条目中所包括的地址之中的、与从所述终端设备接收的所述记录类型不同的所述记录类型的所述地址翻译为所接收的记录类型的地址,以及 所述搜索结果发送装置向所述终端设备发送所指定的所述条目中所包括的接收到的记录类型的地址以及由所述地址翻译装置翻译的地址。
3.根据权利要求2所述的名称数据库服务器, 其中所述节点信息存储装置存储其中至少IPv6地址和IPv4地址与主机名相关联的条目, 当从所述终端设备接收到IPv6地址的记录类型和执行名称解析的目标的主机名时,所述条目搜索装置搜索所述节点信息存储装置,并且指定与从所述终端设备接收的所述主机名相对应、并且具有表示IPv6地址和/或IPv4地址的记录类型的条目, 所述地址翻译装置基于预定规则将由所述条目搜索装置所指定的所述条目中所包括的IPv4地址翻译为IPv6地址,以及 所述搜索结果发送装置向所述终端设备发送由所述条目搜索装置所指定的所述条目中所包括的IPv6地址以及由所述地址翻译装置翻译的所述IPv6地址。
4.根据权利要求1至3中任一项所述的名称数据库服务器, 其中当从所述终端设备接收到IPv6地址的记录类型时,所述地址翻译装置将IPv4地址翻译为IPv4映射地址。
5.根据权利要求1所述的名称数据库服务器, 其中所述节点信息存储装置存储第一记录类型的地址和翻译地址,所述翻译地址是翻译自与主机名相关联的第二记录类型的地址的所述第一记录类型的地址, 当从所述终端设备接收到所述第一记录类型时,所述条目搜索装置搜索所述节点信息存储装置,并且指定与所述主机名相对应的所述第一记录类型的条目,以及 所述搜索结果发送装置向所述终端设备发送所指定的所述条目中所包括的所述第一记录类型的所述地址。
6.根据权利要求5所述的名称数据库服务器, 其中所述地址翻译装置基于预定规则将所述第二记录类型的所述地址翻译为所述第一记录类型的所述地址,并且将所翻译的所述第一记录类型的所述地址与所述主机名相关联地存储在所述节点信息存储装置中。
7.根据权利要求5或6所述的名称数据库服务器, 其中所述节点信息存储装置与主机名相关联地至少存储IPv6地址和基于预定规则而翻译自IPv4地址的IPv6地址, 当从所述终端设备接收到IPv6地址的记录类型时,所述条目搜索装置搜索所述节点信息存储装置,并且指定与主机名相对应的IPv6地址的条目,以及 所述搜索结果发送装置向所述终端设备发送所指定的所述条目中所包括的IPv6地址。
8.根据权利要求5至7中任一项所述的名称数据库服务器, 其中所述节点信息存储装置与主机名相关联地存储翻译自IPv4地址的IPv4映射地址作为IPv6地址。
9.一种名称解析系统,包括: 终端设备,所述终端设备执行关于与主机名相对应的地址的查询;以及 名称数据库服务器,所述名称数据库服务器从所述终端设备接收所述查询, 其中所述终端设备包括地址查询装置,所述地址查询装置向所述名称数据库服务器发送记录类型和执行名称解析的目标的主机名,并且执行关于与所述主机名相对应的所述地址的所述查询,以及 所述名称数据库服务 器包括: 节点信息存储装置,所述节点信息存储装置存储其中地址和记录类型与主机名相关联的条目, 地址翻译装置,所述地址翻译装置基于预定规则,将所述条目中的、与从所述终端设备接收的记录类型不同的记录类型的地址翻译为所接收的所述记录类型的地址, 条目搜索装置,所述条目搜索装置搜索所述节点信息存储装置,并且指定与从所述终端设备接收的所述主机名相对应的条目,以及 搜索结果发送装置,所述搜索结果发送装置向所述终端设备发送所指定的所述条目中所包括的地址。
10.根据权利要求9所述的名称解析系统, 其中所述终端设备的所述地址查询装置向所述名称服务器发送IPv6地址的记录类型和执行名称解析的目标的主机名,并且查询与所述主机名相对应的地址, 所述节点信息存储装置存储其中至少IPv6地址和IPv4地址与主机名相关联的条目,所述条目搜索装置搜索所述节点信息存储装置,并且指定与从所述终端设备接收的所述主机名相对应、并且具有表示IPv6地址和/或IPv4地址的记录类型的条目, 所述地址翻译装置基于预定规则将由所述条目搜索装置所指定的所述条目中包括的IPv4地址翻译为IPv6地址,以及 所述搜索结果发送装置向所述终端设备发送由所述条目搜索装置所指定的所述条目中所包括的IPv6地址以及由所述地址翻译装置翻译的IPv6地址。
11.根据权利要求9或10所述的名称解析系统, 其中当从所述终端设备接收到IPv6地址的记录类型时,所述地址翻译装置将IPv4地址翻译为IPv4映射地址。
12.根据权利要求9至11中任一项所述的名称解析系统, 其中所述名称数据库服务器的所述地址翻译装置执行指定过程,所述指定过程是使得由所述终端设备执行的查询的结果仅可用于特定终端设备的过程,以及 所述终端设备包括恢复翻译装置,所述恢复翻译装置使得由所述指定过程执行的查询的结果可用。
13.根据权利要求9所述的名称解析系统, 其中所述节点信息存储装置与主机名相关联地至少存储IPv6地址以及基于预定规则而翻译自IPv4地址的IPv6地址, 当从所述终端设备接收到IPv6地址的记录类型时,所述条目搜索装置搜索所述节点信息存储装置,并且指定与主机名相对应的IPv6地址的条目,以及 所述搜索结果发送装置向所述终端设备发送所指定的所述条目中所包括的IPv6地址。
14.根据权利要求9或13所述的名称解析系统, 其中所述节点信息存储装置与主机名相关联地存储翻译自IPv4地址的IPv4映射地址作为IPv6地址。
15.根据权利要求9至14中任一项所述的名称解析系统, 其中所述终端设备包括翻译地址重译装置,所述翻译地址重译装置将从所述名称数据库服务器接收的地址之中的、基于预定规则而翻译的地址翻译为翻译前的地址。
16.—种条目搜索方法,包括: 基于预定规则,将与从终端设备接收的记录类型不同的记录类型的地址翻译为所接收的所述记录类型的地址,所述终端设备发送所述记录类型和执行名称解析的目标的主机名,并且执行关于与节点信息存储装置中存储的条目中的所述主机名相对应的地址的查询,所述节点信息存储装置存储其中地址和记录类型与主机名相关联的条目; 搜索所述节点信息存储装置,并且指定与从所述终端设备接收的所述主机名相对应的条目;以及 向所述终端设备发送所指定的所述条目中所包括的地址。
17.根据权利要求16所述的条目搜索方法,还包括: 当从所述终端设备接收到IPv6地址的记录类型和执行名称解析的目标的主机名时,搜索所述节点信息存储装置,并且指定与从所述终端设备接收的主机名相对应、并且具有表示IPv6地址和/或IPv4地址的记录类型的条目; 基于预定规则,将所指定的所述条目中所包括的IPv4地址翻译为IPv6地址;以及向所述终端设备发送所指定的所述条目中所包括的IPv6地址以及翻译自IPv4地址的IPv6地址。
18.根据权利要求16所述的条目搜索方法,还包括: 搜索所述节点信息存储装置,所述节点信息存储装置与主机名相关联地至少存储IPv6地址以及基于预定规则而翻译自IPv4地址的IPv6地址,并且当从所述终端设备接收到IPv6地址的记录类型时,指定与所述主机名相对应的IPv6地址的条目;以及 由所述搜索结果发送装置向所述终端设备发送所指定的所述条目中所包括的IPv6地址。
19.一种名称解析方法,包括: 由终端设备向名称数据库服务器发送记录类型和执行名称解析的目标的主机名,并且查询与所述主机名相对应的地址,所述终端设备执行关于与主机名有关的地址的查询; 由所述名称数据库服务器基于预定规则将节点信息存储装置中存储的条目之中的、与从所述终端设备接收的记录类型不同的记录类型的地址翻译为所接收的所述记录类型的地址,所述节点信息存储装置存储其中地址和记录类型与主机名相关联的条目; 由所述名称数据库服务器搜索所述节点信息存储装置,并且指定与从所述终端设备接收的所述主机名相对应的条目;以及 由所述名称数据库服务器向所述终端设备发送所指定的所述条目中所包括的地址。
20.根据权利要求19所述的名称解析方法,包括: 当从所述终端设备接收到IPv6地址的记录类型和执行名称解析的目标的主机名时,由所述名称数据库服务器搜索所述节点信息存储装置,并且指定与从所述终端设备接收的主机名相对应、并且具有表示IPv6地址和/或IPv4地址的记录类型的条目; 由所述名称数据库服务器基于预定规则,将所指定的所述条目中所包括的IPv4地址翻译为IPv6地址;以及 由所述名称数据库服务器向所述终端设备发送所指定的所述条目中所包括的IPv6地址以及翻译自IPv4地址的IPv6地址。
21.根据权利要求19所述的名称解析方法,还包括: 由所述名称数据库服务器搜索所述节点信息存储装置,所述节点信息存储装置与主机名相关联地至少存储IPv6地址以及基于预定规则而翻译自IPv4地址的IPv6地址,并且当从所述终端设备接收到IPv6地址的记录类型时,指定与所述主机名相对应的IPv6地址的条目;以及 由所述名称数据库服务器向所述终端设备发送所指定的所述条目中所包括的IPv6地址。
22.—种条目搜索程序,所述条目搜索程序应用于计算机,所述计算机包括节点信息存储装置,所述节点信息存储装置存储其中地址和记录类型与主机名相关联的条目,所述程序在使得所述计算机执行: 地址翻译过程,所述地址翻译过程基于预定规则,将与从终端设备接收的记录类型不同的记录类型的地址翻译为所接收的所述记录类型的地址,所述终端设备发送记录类型和执行名称解析的目标的主机名,并且执行关于与所述条目中的所述主机名相对应的地址的查询; 条目搜索过程,所述条目搜索过程搜索所述节点信息存储装置,并且指定与从所述终端设备接收的所述主机名相对应的条目;以及 搜索结果发送过程,搜索结果发送过程向所述终端设备发送所指定的所述条目中所包括的地址。
23.根据权利要求22所述的条目搜索程序,使得计算机, 在所述条目搜索过程中,当从所述终端设备接收到IPv6地址的记录类型和执行名称解析的目标的主机名时,搜索所述节点信息存储装置,并且指定与从所述终端设备接收的所述主机名相对应、并且具有表示IPv6地址和/或IPv4地址的记录类型的条目,所述节点信息存储装置存储其中至少IPv6地址和IPv4地址与主机名相关联的条目; 在所述地址翻译过程中,基于预定规则将由所述条目搜索过程所指定的所述条目中所包括的IPv4地址翻译为IPv6地址;以及 在所述搜索结果发送过程中,向所述终端设备发送所指定的所述条目中所包括的IPv6地址以及在所述地址翻译过程中翻译的IPv6地址。
24.根据权利要求22所述的条目搜索程序,使得计算机, 在所述条目搜索过程中,搜索所述节点信息存储装置,所述节点信息存储装置与主机名相关联地至少存储IPv6地址以及基于预定翻译规则而翻译自IPv4地址的IPv6地址,并且当从所述终端设备接收到IPv6地址的记录类型时,指定与所述主机名相对应的IPv6地址的条目;以及 在所述搜索结果发送过程中,向所述终端设备发送所指定的所述条目中所包括的IPv6地址。
全文摘要
节点信息存储装置存储条目,该条目中的每个条目将地址和记录类型与主机名进行关联。针对与从终端设备接收的记录类型不同的记录类型的每个条目,地址转换装置使用预定规则将所述条目中的地址转换为所接收的记录类型的地址型不同的记录类型的地址翻译为所接收的记录类型的地址。条目-搜索装置搜索节点-信息存储装置,以标识与从终端设备接收的主机名项对应的条目。搜索-结果发送装置向终端设备发送来自于所标识的条目中的地址。
文档编号H04L12/741GK103141073SQ20118004715
公开日2013年6月5日 申请日期2011年10月11日 优先权日2010年10月18日
发明者北村浩 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1