首页> 中国专利> 对地址询问的回答方法、程序、装置和地址通知方法、程序、装置

对地址询问的回答方法、程序、装置和地址通知方法、程序、装置

摘要

本发明提供了对地址询问的回答方法、程序、装置和地址通知方法、程序、装置。当DNS服务器从客户机接收服务器的地址询问时,向外部的DNS服务器询问该服务器的地址。DNS服务器在从外部的DNS服务器得到的地址中检查是否可以与服务器连接。当不能够与服务器连接时,回答没有该地址。在该检查前,当回答该地址时,DNS服务器将比从外部的DNS服务器得到的服务器的地址的有效期限短的有效期限,作为服务器的地址的有效期限。

著录项

  • 公开/公告号CN1520123A

    专利类型发明专利

  • 公开/公告日2004-08-11

    原文格式PDF

  • 申请/专利权人 佳能株式会社;

    申请/专利号CN200410002248.8

  • 发明设计人 中泽宏昭;

    申请日2004-01-16

  • 分类号H04L29/02;H04L29/06;

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人吴丽丽

  • 地址 日本东京

  • 入库时间 2023-12-17 15:26:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-03-12

    未缴年费专利权终止 IPC(主分类):H04L29/02 授权公告日:20090429 终止日期:20130116 申请日:20040116

    专利权的终止

  • 2009-04-29

    授权

    授权

  • 2004-10-20

    实质审查的生效

    实质审查的生效

  • 2004-08-11

    公开

    公开

说明书

技术领域

本发明涉及对地址询问的回答方法、程序、装置和地址通知方法、程序、装置。

背景技术

近年来,开始对作为支持现在的因特网的基础协议的IPv4(Internet Protocol version4(因特网协议版本4))的下一代版本的IPv6(Internet Protocol version6(因特网协议版本6))进行研究。

IPv6是置换IPv4的技术,但是现在也正在研究不排除至今的IPv4的网络,从IPv4转移到IPv6的技术。关于转移技术,存在着隧道技术、调换技术、和对偶技术。

其中,对偶技术是通过在同一网络上运行IPv4和IPv6,从而有助于在网络上利用的设备和应用程序的顺利转移的技术。

当利用可接入在这种对偶环境中的IPv4/IPv6的E-Mail(电子邮件)和Web(万维网)等的服务时,在决定利用IPv4和IPv6中的哪一个的通信协议进行通信的“通信协议选择过程”中,当用IPv4和IPv6地址指定通信对方的服务器时,分别利用指定的通信协议。

另一方面,当用FQDN(Fully Qualified Domain Name)指定通信对方的服务器时,用下面的过程决定利用哪一个通信协议进行通信。

1.向DNS询问IPv6地址。

2.如果成功取得IPv6地址则用IPv6进行通信。

3.当不能取得IPv6地址时,接着向DNS询问IPv4地址。

4.如果成功取得IPv4地址则用IPv4进行通信。

5.当不能取得IPv4地址时,服务器不存在以错误结束。

这既解析现在存在的各种应用程序的工作内容,也参照IETF(The Internet Engineering Task Force)规定的“BasicSocket Interface Extensions for IPv6)(RFC2133、RFC2553),实施上述通信协议选择顺序。

此外,在可接2IPv4/IPv6的服务器中,将各个IPv4/IPv6的地址设定在一个网络接口中,但是作为服务器名只登记一个FQDN是经常的事。

即,当存在可接入IPv4/IPv6的Web服务器“www.server.net”时,在该服务器中IPv4地址和IPv6地址对应。即便是对DNS的登记内容中,在“www.server.net”中设定IPv4地址的“A”记录和设定IPv6地址的“AAAA”记录两者的情形也是很多的。

又,在询问DNS服务器中利用的通信协议一般地利用IPv4的情形是很多。例如,提供ISC(Internet Software Consortium)的BIND,现在在世界上正在广泛地利用BIND4、BIND8,但是能够利用IPv6通信协议进行询问/回答的版本只有BIND9。即,在DNS中可以登记“AAAA”记录,但是不能够利用IPv6通信协议进行询问/回答。

又,也存在着搭载IPv6通信协议堆栈的OS,但是在这种OS中也好,在分解器中也好,都不能够进行由IPv6通信实施的DNS询问。

在客户和服务器所属的对偶环境的网络中,IPv4和IPv6都在同一物理线路上进行通信,但是在该网络的外部或者提供该网络的ISP的外部,IPv4和IPv6在完全不同的线路上进行通信的情形是很多的。

事实上,现在正在提供服务的IPv6连接服务中很多是通过网络连接的。

又,在日本的IX中,几乎没有在同一线路口中在ISP之间交换IPv4/IPv6两者的通信量的情形。

即便在ISP内部,或用不同的方法构筑IPv6的主要成分,或利用隧道技术和MPLS等虚拟地构筑独立的网络等,进行区别IPv4和IPv6的运行也是经常的事。

因此,在对偶环境中的IPv4/IPv6通信品质在同一对偶网络内是等同的,但是关于与外部网络的通信,与通信协议有关,频带和宽度、质量是完全不同的。

从这种状态,即便当中途切断IPv6通信时,也能够利用IPv4通信协议进行成为通信对方的服务器的DNS询问,当在对象服务器中具有在“AAAA”记录中的登记时,能够取得IPv6地址。

从以上这种状态,在利用途中的网络中,当只切断IPv6连接性时(当保持IPv4连接性时),因为能够取得Ipv6地址,所以尝试利用Ipv6的通信,但是因为用IPv6不能够与服务器进行通信,所以出现在经过数十秒的超时后,取得IPv4地址,利用IPv4进行通信的现象。

这种现象,特别是对于Web和E-Mail来说,在需很多次接入的应用程序中,每次都要超时等待,对于用户来说要忍受极大的挫折感。

又,当利用IPv4时,存在着对于用户来说能够认识到难以利用对偶环境的环境的可能性。

发明内容

本发明的目的是即便能够取得地址,也要防止发生不能够连接的情况。

本发明的其它目的是防止对于用户来说能够认识到难以利用对偶环境的环境。

又,本发明的其它目的可以从下面的对实施例的说明中看到。

附图说明

图1是网络的构成图。

图2是属于各网络的域名和分配给各主机的FQDN的一个例子的图。

图3是使实现本实施形态中的功能的软件程序进行工作的构成的一个例子的图。

图4是表示直到确立Web客户机和Web服务器的通信的处理概要的模块图。

图5是在DNS服务器的高速缓冲存储器数据中的入口数据的内容的图。

图6是用DNS服务器的域名服务器模块进行处理的流程图。

图7是在DNS服务器的分解器模块中的处理流程图。

图8是在DNS服务器的通信协议检查模块中的处理流程图。

图9是地址有效性检查(连接试验)的处理流程图。

图10是在IPv6通信协议中的不可能到达的状况中的通信分组的内容及其流程的图。

具体实施方式

下面,我们参照附图详细说明本发明的一个实施形态。

图1是本发明的一个实施形态的网络构成图。

在图1中,101是用户所属的IPv64/IPv6对偶环境的网络。用户利用的IPv4/IPv6可接入的Web客户机106与用户网络101连接。又,IPv4/IPv6可接入的DNS服务器109也与用户网络101连接。DNS服务器109管理属于用户网络101的终端组的域。

107是IPv4/IPv6可接入的Web服务器,与IPv4/IPv6对偶环境的服务器网络103连接。108是IPv4/IPv6可接入的DNS服务器,与IPv4/IPv6对偶环境的域管理网络102连接。

将FQDN分配给Web服务器107,DNS服务器108管理该FQDN所属的域。

用户网络101、域管理网络102和服务器网络103可以通过IPv4因特网104利用IPv4通信协议进行相互通信。又,用户网络101、域管理网络102和服务器网络103可以利用通过IPv6因特网105的IPv6通信协议进行相互通信。

图2是图1中说明的各网络所属的域名和分配给各主机的FQDN的一个例子。又,也表示分配给各网络的IPv4和IPv6网络地址和分配给各主机的IPv4和IPv6地址的一个例子。

属于用户网络101的DNS服务器109保持管理“client.com”域的主区域文件(master zone file)。另一方,属于域管理网络102的DNS服务器108保持管理“server.net”域的主区域文件。

图3是表示使实现本实施形态中的功能的软件程序进行工作的构成的一个例子的图。

例如,DNS服务器109,由图3所示的计算机900的功能,实现本实施形态中的功能。计算机900具有通过系统总线904可以相互通信地连接CPU901、ROM902、RAM903、硬盘(HD)907和软盘(FD)908的盘控制器(DC)905、和网络接口卡(NIC)906的构成。而且,网络接口卡906使图1所示的网络101与系统总线904连接。

DNS服务器109是对于从客户机106(第三装置)接收的服务器107(第二装置)的地址询问,回答回答消息的回答装置,是当从客户机106(第三装置)接收到对服务器107(第二装置)的地址询问时,将服务器107(第二装置)的地址通知客户机106(第三装置)的地址通知装置。

网络接口卡906是连接网络101的连接单元。

又,CPU901是生成相对于从客户机106(第三装置)接收的服务器107(第二装置)的地址询问的回答消息的生成单元,用服务器107(第二装置)的地址进行与服务器107(第二装置)的连接试验,生成与连接试验相应的回答消息(当连接试验失败时,表示没有服务器107的地址的回答消息)。又,CPU901是当从客户机106(第三装置)接收到服务器107(第二装置)的地址询问时,将服务器107(第二装置)的地址通知客户机106(第三装置)的通知单元。又,CPU901是与从客户机106(第三装置)接收的服务器107(第二装置)的地址询问相应,向DNS服务器108(第一装置)询问服务器107(第二装置)的地址,与询问相应,与服务器107(第二装置)的地址一起,将比从DNS服务器108(第一装置)得到的服务器107(第二装置)的地址有效期限短的有效期限作为服务器107(第二装置)的地址的有效期限,通知客户机106(第三装置)。

CPU901通过实施存储在ROM902或HD907中的软件或者由FD908供给的软件,对与系统总线904连接的各构成单元统一地进行控制。即,CPU901通过从ROM902或HD907或FD908读出并实施按照下面说明的处理序列的处理程序,进行为了实现本实施形态中的工作的控制。

RAM903作为CPU901主存储器或工作站等起作用。DC905对与存储引导程序、种种应用程序、编辑文件、用户文件、网络管理程序和在本实施形态中的下述处理程序等的HD907和FD908的接入进行控制。NIC906用IPv4通信协议通过网络101与和IPv4因特网104连接的服务器107等相互交换数据。又,NIC906用IPv6通信协议与通过网络101与和IPv6因特网105连接的服务器107等相互交换数据。

此外,Web客户机106、Web服务器107、DNS服务器108也与DNS服务器109相同,可以如图3所示的计算机900那样地进行构成。Web客户机106、Web服务器107、DNS服务器108通过NIC906分别与网络101、103、102连接。

图4是表示直到确立Web客户机106和Web服务器107的通信的处理概要的模块图。

 301~303是Web客户机106内的模块。304~308是DNS服务器109内的模块。309、310是DNS服务器108内的模块。311是Web服务器107内的模块。

此外,模块304、307、308由存储在DNS服务器109的ROM902或HD907中的软件或从FD908供给的软件来实现的。CPU901通过从ROM902或HD907或FD908读出并实施为了实现模块304、307、308的程序,实现模块304、307、308的功能。

又,将主区域文件305、高速缓冲存储器数据306存储在RAM903或HD907中。

即便在Web客户机106中,模块301、302也由软件实现,也将高速缓冲存储器数据303存储在RAM903或HD907中。

即便在Web客户机108中,模块309也由软件实现,也将主区域文件310存储在RAM903或HD907中。即便在Web服务器107中,服务器应用程序311也由软件实现。

其次,我们说明直到确立Web客户机106和Web服务器107的通信的处理。

首先,用客户应用程序301,指定成为通信对方的服务器应用程序。作为指定方法在本实施形态的Web的情形中,用称为“http://www.server.net”URL形式进行指定。客户应用程序301从这个URL提取作为服务器应用程序主机名的FQDN“www.server.net”,向分解器模块302询问与指定的FQDN对应的IPv4/Ipv6中某一个的地址。

接收来自FQDN的地址询问的分解器模块302检查在记录以前询问的结果的高速缓冲存储器数据303中是否存在与“www.server.net”对应的IPv6地址。当在高速缓冲存储器数据303中不存在对应的IPv6地址时,接着,关于IPv4地址,也调查高速缓冲存储器数据303。

当在高速缓冲存储器数据303中不存在任一个地址时,分解器模块302向DNS服务器109询问指定的FQDN的IPv4/IPv6地址(以后称为正询问)。

这里根据用哪种通信协议指定在Web客户机106的OS中设定的DNS服务器的地址来决定作为正询问中利用的通信协议所选择的通信协议。另一方面,从分解器模块302发送的正询问,如上所述,最初发送“AAAA”DNS Query(询问)消息(即,IPv6地址的正询问)。在该发送中使用的通信协议,如果在Web客户机106的OS中设定的DNS服务器的地址是IPv6地址,则为IPv6,如果是IPv4地址,则为IPv4。

由DNS服务器109内的域名服务器模块304接收发送的正询问。域名服务器模块304进行属于用户网络101的域“client.com”的管理,将使属于该域的全部的FQDN和IPv4/IPv6地址成对地记录保持在主区域文件305中。域名服务器模块304,当接到对于属于正在管理的域“client.com”的FQDN的正询问时,从主区域文件305提取信息并进行回答。

域名服务器模块304,当接到关于管理外的其它域的正询问时,检索记录了以前由DNS服务器109进行正询问的结果的高速缓冲存储器数据306。该高速缓冲存储器数据306是DNS服务器109内部的数据,与Web客户机106内的高速缓冲存储器数据303独立地存在。

当在高速缓冲存储器数据306中存在该数据时,域名服务器模块304从高速缓冲存储器数据306取得该数据,检查它的有效性,关于它的有效性检查将在后面进行详细的说明。根据该检查结果,将相应的数据的Ipv6地址回答到分解器模块302,结束本处理。例如,当根据该检查结果,否定有效性时,即便在高速缓冲存储器数据306中存在地址,域名服务器模块304也回答表示没有受到询问的地址的消息。

另一方面,当在高速缓冲存储器数据306中不存在相应的数据时,即,当在高速缓冲存储器数据306中不存在受到询问的“www.server.net”的Ipv6地址时,要进行接收委托的正询问的中继,DNS服务器109内的分解器模块307对外部的DNS服务器进行正询问。按照在RFC1034和RFC1035中规定的算法进行在该分解器模块307中的正询问。即,询问以路由DNS服务器、“net”DNS服务器、“server.net”DNS服务器108的顺序分配的域。即,当域名服务器模块304从客户机106(第三装置)接收到服务器107(第二装置)的地址询问时,分解器模块307向DNS服务器108(第一装置)询问服务器107的地址。

收到“www.server.net”的正询问的域名服务器模块309检索在主区域文件310中记载的“www.server.net”的记录,提取相应的地址。

如上所述,在全部上述的正询问中,最初发送Ipv6地址的正询问。

域名服务器模块309将从主区域文件310提取的“www.server.net”的Ipv6地址作为DNS Response(应答)回答到分解器模块307。

接到到来自域名服务器模块309的回答信息的分解器模块307将接到的数据记录在高速缓冲存储器数据306中。同时,将接到的“www.server.net”的IPv6地址传递给通信协议检查模块308,进行检查处理。在通信协议检查模块308中对传递过来的Ipv6地址进行检查处理(连接试验),将它的结果记录在高速缓冲存储器数据306中。我们将在后面详细说明该检查处理(连接试验)。

另一方面,域名服务器模块304,当确认分解器模块307取得“www.server.net”的IPv6地址,记录在高速缓冲存储器数据306中时,从高速缓冲存储器数据306取得该数据,回答给作为询问源的分解器模块302。即,域名服务器模块304将从DNS服务器108(第一装置)得到的服务器107(第二装置)的地址通知客户机106(第三装置)。

在分解器模块302中,当接收到来自域名服务器模块304的回答信息时,检查是否能够取得“www.server.net”的IPv6地址。取得有效的IPv6地址的分解器模块302将该数据记录在高速缓冲存储器数据303中,将IPv6地址回答到客户应用程序301中。

另一方面,在分解器模块302中,当在回答的数据中不存在有效的IPv6地址时,判断在成为通信对方的“www.server.net”中不存在IPv6地址,分解器模块302将“www.server.net”的“A”DNS Query消息(即,IPv4地址的正询问)重新发送给域名服务器模块304。下面,处理内容与IPv6地址的正询问相同。当通过对该IPv4地址进行正询问所得到的结果判断为也不存在IPv4地址时,将该情况通知给客户应用程序301。

如上所述,客户应用程序301作为对到分解器模块302的“www.server.net”地址询问的回答取得IPv6地址或IPv4地址。客户应用程序301用取得的地址特定通信对方的服务器应用程序311,并开始通信。

在图5中,我们说明在DNS服务器109的高速缓冲存储器数据306中的入口数据的内容。

图5中是一个入口数据。在入口数据中包含几个项目信息,分别包含下面那样的信息。“FQDN”701保持作为高速缓冲存储器数据保持的目标主机的FQDN。

“Type(类型)”702表示由它的FQND定义的记录类型。该记录类型是DNS服务器的主区域文件中的记述,因为IPv4地址的定义记录作为“A”、IPv6地址的定义记录作为“AAAA”,所以即便在高速缓冲存储器数据内也用相同的标记。包含在正询问中的信息,因为是询问“www.server.net”的“AAAA”的内容,所以保持FQDN和记录类型,可以检索在高速缓冲存储器数据305内是否存在相应的信息。

在作为下一项目的“Address(地址)”703中保持IPv4地址或IPv6地址。如从图可以看到的那样,当用DNS108将IPv6地址或IPv4地址两者登记在称为“www.server.net”的FQDN中时,能够保持两个入口711、712。

当用域名服务器模块309回答与FQDN对应的IPv4/IPv6地址时,包含可以进行高速缓冲存储的时间将地址信息回答给询问者(分解器模块302)。

“C-TTL”704是该可以进行高速缓冲存储的时间值,意味着实际上由高速缓冲存储器数据306保持的时间。另一方面,“R-TTL”705是与前面说明的“C-TTL”704同样可以进行高速缓冲存储的时间,但是该数值是包含在对来自分解器模块302的正询问的回答信息中的可以进行高速缓冲存储的时间。

在本实施形态中,分割该数据“C-TTL”704和“R-TTL”705并进行管理,不将从管理FQDN的DNS服务器(DNS服务器108)通知的TTL(可以进行高速缓冲存储的时间“C-TTL”704)原封不动地通知询问者(分解器模块302),向询问者(相应于分解器模块302)回答地址信息作为TTL=0(“R-TTL”705),具有不将地址信息高速缓冲存储在询问一侧的高速缓冲存储数据(相应于高速缓冲存储数据303)中的效果。

在最后的“Check(检查)”中,保持通信协议检查模块308中的有效性检查的结果。作为保持的值,“OK(行)”表示有效(连接试验成功),“NG(不行)”表示无效(连接试验失败),“-”表示检查前的数据。

表中的“mail.dual.biz”713的IPv6地址、“www.v4only.com”714的IPv4地址是因为虽然对于到DNS服务器的正询问成功了,但是在地址有效性检查中没有成功,所以作为无效的数据保持在高速缓冲存储数据中的例子。

又,因为“mail.entry.ne.jp”715是从分解器模块307新记录在高速缓冲存储器数据306中的数据,所以有效性检查是检查前的状态。这时,因为域名服务器模块304需要迅速地将取得的地址信息回答给分解器模块302,所以对于最初的正询问不等待地址有效性检查的结果,就回答地址信息。但是,当这时回答的地址无效时,将相应的地址信息保持在客户一侧的高速缓冲存储器数据303中,在从下次的连接时,也因为发生超时问题,所以为了作为TTL=0进行回答,使R-TTL的值为“0”。

我们用图6说明用DNS服务器109的域名服务器模块304进行处理的流程图。该流程表示存储在DNS服务器109的ROM902或HD907中的程序或者由FD908供给的程序的一部分。CPU901通过从ROM902或HD907或FD908读出并实施用于实现模块304的程序,实现下面的处理。

步骤401是等待关于域名服务器模块304管理的域以外的正询问的循环。由NIC906接收来自该分解器模块302的正询问。当CPU901接收到来自分解器模块302的“www.server.net”的正询问时,处理前进到步骤402。这时,无论IPv6地址的正询问也好IPv4地址的正询问也好都同样地起作用。

此外,域名服务器模块304,当接收到对属于正在管理的域“client.com”的FQDN的正询问时,从主区域文件305提取信息,并进行回答。

在步骤402,检索在高速缓冲存储器数据306中,是否存在与询问的FQDN对应的IPv4/IPv6地址(来自分解器模块302的询问)。在步骤403判定检索的结果,当发现相应的数据(“www.server.net”的IPv4地址或IPv6地址)时前进到步骤407,当没有发现相应的数据时,前进到步骤404。

在步骤404,将询问内容发送给分解器模块307,进行询问的委托,对于分解器模块307,将接收的“www.server.net”的正询问传送给外部的DNS服务器。分解器模块307也与域名服务器模块304同样,是CPU901通过从ROM902或HD907或FD908读出程序并加以实施实现的处理模块。

如上所述,由分解器模块307解决“www.server.net”的IPv4/IPv6地址,通过高速缓冲存储器数据306取得该结果。此外,关于该询问委托,是IPv4/IPv6中哪一个的地址正询问与在上述步骤401接收的正询问的内容(对于IPv4或IPv6中哪一个的正询问)相同。

CPU901实施域名服务器模块304的处理,在步骤404,移动到由分解器模块307进行的处理,当产生由分解器模块307进行的处理结果时,再进行域名服务器模块304的处理。

在步骤405域名服务器模块304通过高速缓冲存储器数据306判定取得该结果。当在步骤405的判定中,对于正询问能够取得IPv4/IPv6地址时,前进到步骤407,不能够取得时前进到步骤406。当不能够取得相应的IPv4/IPv6地址时,在步骤406,向分解器模块302发送与用分解器模块307得到的结果相同的回答消息(Response(nothing(无))消息或Error(错误)消息),回到等待循环步骤401中的处理。

另一方面,当在步骤405中的判定中,能够取得相应的IPv4/IPv6地址时,和当在步骤403中的判定中,通过高速缓冲存储器数据306的检索能够取得IPv4/IPv6地址时,在步骤407关于它的地址有效性进行检查。用通信协议检查模块308进行关于地址有效性的处理,如图5所示,结果706记录在高速缓冲存储器数据306的入口中。提取该检查结果,在步骤408中进行判断。在步骤408的判断中参照在高速缓冲存储器数据306的入口内的“check”项目706,当该项目为“OK”时判定为有效(连接试验成功)的地址、当为“NG”时判定为无效(连接试验失败)的地址。

此外,在该判定项目706中存在“-”的情形,这表示是用通信协议检查模块308进行检查前的数据,当在步骤404向分解器进行询问委托时出现。在为该检查前的数据的情形中判定为有效地址。此外,“check”项目706为“-”时,客户机106的分解器模块302将检查前的地址存储在高速缓冲存储器数据303中,为了不再利用,R-TTL705成为“0”(或者,R-TTL705成为客户机106不能够再利用该地址的充分小的值(1、2等))。

当对在步骤401接收的“www.server.net”的正询问是求IPv6地址的询问时,在步骤409中从高速缓冲存储器数据306提取有效的IPv6地址,用Response AAAA消息发送给分解器模块302。这时,将高速缓冲存储器数据306内的“R-TTL”项目705的值代入消息内的TTL值(能够用高速缓冲存储器数据303对将该IPv6地址进行高速缓冲存储的时间)并进行发送。

又,当在步骤401接收的对“www.server.net”的正询问为求IPv4地址的询问时,在步骤411从高速缓冲存储器数据306提取有效的IPv4地址,用Response A消息发送给分解器模块302。这时,也将高速缓冲存储器数据306内的“R-TTL”项目705的值代入消息内的TTL值中并进行发送。

当在步骤408判断无效时,在步骤410将Response(nothing)消息发送给分解器模块302。以上,当结束步骤409~411的处理时,回到步骤401的等待循环中的处理。

其次,我们用图7说明DNS服务器109的分解器模块307的处理流程。该流程表示存储在DNS服务器109的ROM902或HD907中的程序或者由FD908供给的程序的一部分。CPU901通过从ROM902或HD907或FD908读出用于实现模块307的程序并加以实施,实现下面的处理。

当在域名服务器模块304的处理步骤403中没有相应的高速缓冲存储器数据时,CPU901在步骤404进行分解器模块307的处理。即,当在高速缓冲存储器数据306中不存在对应于用域名服务器模块304接收的正询问的相应的数据时,分解器模块307,在步骤501,受理来自域名服务器模块304的正询问的委托。这里,分解器模块307接收的域名服务器模块304委托的正询问内容与从分解器模块302向域名服务器模块304询问的“www.server.net”的IPv4/IPv6地址的正询问内容相同。

在步骤502,将在步骤501受理的内容的正询问传送到外部的DNS服务器并进行询问。如上所述,按照在RFC1034和RFC1035中规定的算法进行在该步骤5 02实施的正询问,即,询问以路由DNS服务器、“net”DNS服务器、“server.net”DNS服务器108的顺序分配的域。

对向作为“server.net”域的管理服务器的DNS服务器108发送的“www.server.net”的正询问中利用的通信协议由作为上位的DNS服务器的“net”域管理服务器通知的DNS服务器107的地址决定。当在管理“net”域的DNS服务器中没有接收IPv6地址的记录登记时,在分解器模块307和域名服务器模块309的通信中可以利用IPv4协议。

而且,在步骤503从外部DNS服务器108接收对询问的回答。在步骤504检查对在步骤503接收的询问回答的内容,分为不同的情形。下面,是分成步骤505~508的情形。

步骤505是求“www.server.net”的IPv6地址的正询问成功的情形,接收包含IPv6地址信息的Response AAAA消息。步骤508是求“www.server.net”的IPv4地址的正询问成功的情形,接收包含IPv4地址信息的Response A消息。上述的步骤505、508一起是对步骤502中的正询问成功的情形,无论哪个都前进到步骤510的处理。

另一方面,步骤506是对于在“www.server.net”中求IPv6地址或IPv4地址的正询问,不存在具有相应的地址信息的记录的情形,接收不包含地址信息的Response(nothing)消息。步骤507是对于在“www.server.net”中求Ipv6地址或Ipv4地址的正询问,发生某些错误的情形(在外部DNS服务器不能够理解询问的记录类型的情形和不能找到成为目标的外部DNS服务器的情形等),接收Error消息。这些步骤506、507一起是对步骤502中的正询问失败的情形,无论哪个都在步骤509将回答内容(Response(nothing)消息或Error消息)传送给域名服务器模块304,将委托的正询问结束这一情况通知域名服务器模块304,结束处理。而且,CPU901进行域名服务器模块304的处理步骤405。这时,在步骤406,将取得失败的消息回答给分解器模块302。

当正询问成功时,在步骤510作成记录在高速缓冲存储器数据306中的内容。关于它的各项目信息,参照图5,如上所述。

即,在这里作成的数据中,除了FQDN“www.server.net”701、它的IPv4/IPv6地址703、记录类型(“A”(Ipv4)或“AAAA”(Ipv6))702、C-TTL(从外部DNS服务器108通知的可以高速缓冲存储的时间)704的DNS高速缓冲存储器数据标准的项目信息外,还包含检查判定结果706、R-TTL(到对方客户的实际可以高速缓冲存储的时间)705的项目信息。在步骤510作成数据中,将“-”(检查前数据)代入检查判定结果项目中,将“0”代入实际TTL(R-TTL)705中。这里,实际TTL(R-TTL)的值不限于“0”,即便设定在“1”或“2”、“3”上,实用上也没有大的妨碍。

即,当域名服务器模块304接收正询问时(步骤401),分解器模块307将询问发送给外部DNS服务器108(步骤502)。而且,分解器模块307接收来自外部DNS服务器108的回答信息(步骤503),将R-TTL705设定在比包含在步骤503接收的回答信息中的可以高速缓冲存储的时间(在步骤503接收的地址的有效期限)短的时间(步骤510)。域名服务器模块304将包含在步骤503中从外部DNS服务器108接收的回答信息中的地址及其R-TTL705的值,作为该地址的可以高速缓冲存储的时间(地址的有效期限),回答给步骤304的正询问的发送源(步骤409、411)。

在步骤511,将在步骤510作成的数据记录在高速缓冲存储器数据306中,将委托的正询问结束通知域名服务器模块304。此后,CPU901进行域名服务器模块304的处理步骤405。又,为了在步骤512检查(连接试验)记录在高速缓冲存储器数据306中的IPv4/IPv6地址是否有效,将在步骤511记录的数据发送给通信协议检查模块308,委托地址的检查处理,结束全部处理。

在图8中,我们说明在DNS服务器109的通信协议检查模块308中的处理流程。该流程表示存储在DNS服务器109的ROM902或HD907中的程序,或由FD908供给程序的一部分。CPU901通过从ROM902或HD907或FD908读出并实施用于实现模块308的程序,实现下面的处理。

在2个定时起动该通信协议检查处理。首先一个是从分解器模块307通知IPv4/IPv6地址的情形。这是当新将地址信息记录在高速缓冲存储器数据306中时发生的事例,需要检查该IPv4/IPv6地址的有效性。

另一个起动定时是经过某个一定时间(例如5分钟)的情形。这是定期检查记录在高速缓冲存储器数据306中的IPv4/IPv6地址的有效性,为了进行适合于时刻变化的网络信息的评价。

在步骤601判定由以上2个定时实施的起动(来自分解器模块307的检查要求或经过某个一定时间的定期检查)。当从分解器模块307接收到IPv4/IPv6地址时,即,CPU901,在分解器模块307的处理中,从外部服务器得到有效的IPv4/IPv6地址,当分解器模块307的处理结束时,CPU901在步骤602进行该地址的有效性检查处理。

本实施形态中的地址(例如,Web服务器107的地址)的有效性检查,通过确认IPv4/IPv6地址从DNS服务器109到Web服务器107的各个通信协议中的连接性(进行连接试验),判定地址的有效性。因此,在步骤602,对于将疏通检查作为对象的IPv4/IPv6地址,利用各个通信协议,回答所定的消息,判断对于该消息的应答,根据该判断,确认地址的有效性。我们用步骤611~616详细说明该检查处理。

将在步骤602中进行了地址有效性检查处理的数据,重写在步骤603已经记录在高速缓冲存储器数据306中的入口数据的“Check”栏706、“R-TTL”栏对它们进行修正,回到步骤601。

另一方面,经过某个一定时间(例如5分钟)时的处理前进到步骤604。在步骤604取得记录在高速缓冲存储器数据306中的入口数据。而且,从在步骤605从取得的入口提取IPv4/IPv6地址,在步骤606进行地址有效性检查处理(连接试验)。在步骤606的检查处理也进行与步骤602同样的处理。如果从高速缓冲存储器数据306取得的地703的类型702是AAAA,则用IPv6进行该地址的连接试验。又,如果类型702是A,则用IPv4进行该地址的连接试验。而且,在步骤608,与步骤603同样,使步骤606的检查处理的结果反映在高速缓冲存储器数据306中。该步骤604、605、606的处理,关于存储在高速缓冲存储器数据306中的各个入口,即,关于存储在高速缓冲存储器数据306中的各个地址,进行连接试验,将它的结果存储在检查栏706中。

接着,在图9中,我们说明在步骤602、606进行的地址有效性检查(连接试验)的处理流程。

本实施形态中的地址有效性检查,通过确认IPv4/IPv6地址从DNS服务器109到Web服务器107的各个通信协议中的连接性(进行连接试验),判定地址的有效性。

即,对于将疏通检查作为对象的IPv4/IPv6地址,利用各个通信协议,回答所定的消息,判断对于该消息的应答,根据该判断,确认地址的有效性。

在本实施形态中,用ICMP echo(回送)消息,作为用于检查地址的有效性(试验连接性)的消息。即,在步骤611,利用各个通信协议,将用于疏通检查的ICMP echo消息发送给成为对象的IPv4/IPv6地址。在IPv6地址的检查中,用IPv6的通信协议发送ICMPecho消息,在IPv4地址的检查中,用IPv4的通信协议发送ICMPecho消息。

在步骤612,判定是否存在对在步骤602或606中发行的ICMPecho消息的回答,当在所定时间内(例如1秒以内),存在回答时,判断该地址是有效的,在步骤613,将“OK”代入作为记录在高速缓冲存储器数据306中的入口数据内的项目的检查判定结果的栏706中。

另一方面,当在所定时间内(例如1秒),不存在对ICMPecho的回答信息时,判断该地址是无效的,在步骤615,将“NG”代入作为记录在高速缓冲存储器数据306中的入口数据内的项目的检查判定结果的栏706中。接着,在步骤616中,使相同入口数据内的R-TTL(到对方客户的实际可以高速缓冲存储时间)705的值为“0”,结束检查处理。

此外,当在所定时间内(例如1秒),从因特网104或105内的服务器发送表示ICMP echo没有到达发送目的地的消息时,也将“NG”代入检查判定结果的栏,使R-TTL的值为“0。这里,如果检查判定结果的栏成为“NG”,则因为在步骤401,将Response(nothing)消息回答给客户机,所以即便不将R-TTL的值设定为“0,也没有问题。

在步骤603、608,将在步骤613、614、615、616作成的入口数据,存储在高速缓冲存储器数据306中。此外,在步骤606,利用各个通信协议,将所定的消息发送给记录在高速缓冲存储器数据306中的各个IPv4/IPv6地址,如果在步骤612存在回答信息,则进行步骤613的处理,当在所定时间内,不存在回答时,进行步骤615、616的处理。

此外,等待为了检查该地址的有效性而发送的消息的回答的时间不限于1秒,例如也可以设定为30秒。

在其它实施形态中,在步骤602中的地址有效性检查和在步骤606中的地址有效性检查中,用不同的时间作为等待回答的时间。例如,在步骤602中的地址有效性检查中,通过等待消息回答30秒,判断地址有效性,在步骤606中的地址有效性检查中,通过等待消息回答1秒,判断地址有效性,

此外,DNS高速缓冲存储器数据形成在超过TTL值的时间时不允许进行高速缓冲存储的结构,虽然图中未画出,但是,例如,通过每1秒,使高速缓冲存储时间C-TTL(由外部DNS服务器通知的可以高速缓冲存储的时间)704的值减去1,判定C-TTL值704,从高速缓冲存储器数据306删除已经到达期限的入口(与有效期限相应,使存储在高速缓冲存储器数据306中的地址无效)。此外,关于R-TTL(到对方客户的实际可以高速缓冲存储的时间)705,如果值不为“0”,则减去1。

如图8的步骤604到608所示,通信协议检查模块308,对于存储在高速缓冲存储器数据306中的有效期限内的地址,反复进行连接试验,将试验结果登记在Check栏706中。域名服务器模块304回答与通信协议检查模块308反复进行的连接试验的最后结果相应的消息(步骤409、410、411)。

图10是在本实施形态的通信流中,不可能从Web客户机106用IPv6通信协议到达Web服务器107的状况中的通信分组的内容及其流程。

在下面的流程中,由作为存储在DNS服务器109的ROM902或HD907中的软件或由FD908供给的软件的模块304、307、308实现DNS服务器109的工作。

图6、图7、图8、图9是对于具有通过连动地工作,由DNS服务器108(第一装置)接收Web服务器107(第二装置)的地址的接收步骤(503)、用Web服务器107(第二装置)的地址进行与Web服务器107(第二装置)的连接试验的试验步骤(606)、和对于来自Web客户机106(第三装置)的Web服务器107(第二装置)的地址询问,回答与在试验步骤(606)中的连接试验相应的消息(当在试验步骤中的连接试验失败时,表示没有Web服务器107(第二装置)的地址的消息)的回答步骤(410)的地址询问的回答程序。

又,图6、图7、图8、图9是对于具有通过连动地工作,与从Web客户机106(第三装置)接收的Web服务器107(第二装置)的地址询问相应(401)、向DNS服务器108(第一装置)询问Web服务器107(第二装置)的地址(502)、与询问(502)相应将Web服务器107(第二装置)的地址和比从DNS服务器108(第一装置)得到的Web服务器107(第二装置)的地址的有效期限短的有效期限,作为Web服务器107(第二装置)的地址的有效期限,通知Web客户机106(第三装置)的地址通知程序。

Web客户机106向附近的DNS服务器109发送正询问(对于“www.server.net”的“AAAA”的询问)AAAA Query 801。

DNS服务器109接收该正询问801(图6的步骤401),检索自己持有的高速缓冲存储器数据306(步骤402),因为没有相应的数据(在图6的步骤403中“否”),所以向成为对象的进行FQDN管理的DNS服务器108进行正询问(对于“www.server.net”的“AAAA”的询问)AAAA Query 802(图6的步骤404、图7的步骤501、502)。即,当DNS服务器109从客户机106(第三装置)接收服务器107(第二装置)的地址询问时,向DNS服务器108(第一装置)询问服务器107的地址。

对于询问802,DNS服务器108将包含对于询问的FQDN的IPv6地址的询问的回答信息(“www.server.net”的“AAAA”为“2001:340:0:1::1”、“ TTL=10000”)Response AAAA 803发送给DNS服务器109。

DNS服务器109接收该回答803(图7的步骤503、504、505、510、511),迅速地向Web客户机106发送询问的回答(“www.server.net”的“AAAA”为“2001:340:0:1::1”、“TTL=0”)Response AAAA 804(图6的步骤405的“是”、步骤407、408、409)。即,DNS服务器109向客户机106通知从DNS服务器108得到的服务器107的地址。Web客户机106,将比从DNS服务器108得到的服务器107的地址的有效期限C-TTL704短的有效期限R-TTL705(它的值,例如,为“0”),作为服务器107的地址的有效期限,通知客户机106(请参照图7的步骤510、511)。

接收回答信息804的Web客户机,因为取得“www.server.net”的IPv6地址“2001:340:0:1::1”,所以在成为目的的服务器107中利用IPv6通信协议尝试连接805,但是因为在途中网络成为切断状态所以不能够进行连接。

另一方面,即便在DNS服务器109中,在大致与IPv6地址通知Response AAAA 804相同的时刻,为了IPv6地址的有效性检查,将ICMP echo消息806发送给对象地址“2001:340:0:1::1”(图7的步骤512、图8的步骤601、602)。即便关于消息806的通信,因为没有到达Web服务器107(图9的步骤612中“否”),所以地址的有效性检查807成为NG(连接试验失败)(步骤615)。该IPv6地址的连接性试验是用IPv6的通信协议进行的。

Web客户机106进行从连接805到确立通信失败的超时等待,在该超时后,向要取得IPv4地址的附近的DNS服务器109进行正询问(对于“www.server.net”的“A”询问)A Query 808。

DNS服务器109接收该正询问808(图6的步骤401),检索自己持有的高速缓冲存储器数据(步骤4 02),因为没有相应的数据(在图6的步骤403中“否”),向成为对象的进行FQDN管理的DNS服务器108进行正询问(对于“www.server.net”的“A”的询问)A Query 809(图6的步骤404、图7的步骤501、502)。

对于询问809,DNS服务器108将包含对于询问的FQDN的IPv4地址的询问的回答信息(“www.server.net”的“A”为“172.16.0.1”、“TTL=10000”)Response A 810发送给DNS服务器109。

DNS服务器109接收该回答信息810(图7的步骤503、504、508、510、511),迅速地向Web客户机106发送询问的回答信息(“www.server.net”的“A”为“172.16.0.1”、“TTL=0”)Response A 811(图6的步骤405的“是”、步骤407、408、411)。

接收回答信息811的Web客户机,因为取得“www.server.net”的IPv4地址“172.16.0.1”,所以在成为目的的服务器107中利用IPv4通信协议尝试连接812,因为该连接812成功,所以能够由Web客户机106,接收Web服务器107的数据。

另一方面,即便在DNS服务器109中,在大致与IPv4地址通知Response A 811相同的时刻,为了IPv4地址的有效性检查,将ICMP echo消息813发送给对象地址“172.16.0.1”(图7的步骤512、图8的步骤601、602)。因为由Web服务器107发送消息813的回答信息作为ICMP Response 814(图9的步骤612中“是”),所以地址的有效性检查成为OK(连接试验成功)(步骤613)。此外,该IPv4地址的连接性试验是用IPv4的通信协议进行的。

此后,当发生到新的Web服务器107的连接要求时(例如,当选择Web显示上的链接,取得同一Web服务器内的别的数据时),Web客户机106再一次向附近的DNS服务器109进行IPv6地址的正询问(对于“www.server.net”的“AAAA”询问)AAAA Query815。此外,因为“TTL”的值为“0”,所以不将在811中通知的“www.server.net”的IPv4地址“172.16.0.1”存储在Web客户机106的高速缓冲存储器数据303中。

DNS服务器109接收该正询问815(图6的步骤401),检索自己持有的高速缓冲存储器数据306(步骤402),因为从在图10的807中进行地址有效性检查的高速缓冲存储器数据,知道IPv6地址的检查结果为“NQ”(在图6的步骤403中“是”,在步骤407、408中“否”),所以在到Web客户机106的回答信息发送没有地址的消息(没有“www.server.net”的“AAAA”)Response(nothing)816(图6的步骤410)。即,DNS服务器109,与服务器107(第二装置)的IPv6地址的第一询问801相应,从DNS服务器108(第一装置)接收服务器107的IPv6地址,用服务器107(第二装置)的地址进行与服务器107的连接试验(806、807),对于服务器107(第二装置)的IPv6地址的第二询问815,回答与连接试验(806、807)相应的消息816(当该连接试验失败时,表示没有服务器107的地址的消息)。

接收该回答816的Web客户机106,接着发送IPv4地址的正询问A Query 817。DNS服务器109同样接收该正询问(图6的步骤401),检索自己持有的高速缓冲存储器数据306(步骤402),从进行地址有效性检查的高速缓冲存储器数据,检索IPv4地址,确认检查结果为“OK”后(在图6的步骤403中“是”,步骤407、408),发送询问的回答信息(“www.server.net”的“A”为“172.16.0.1”,“TTL=10000”)Response A 818(步骤411)。

根据回答信息818成功取得Web服务器107的IPv4地址的Web客户机106进行利用IPv4通信协议的连接819,从Web服务器107取得数据。

<其它实施形态>

以上,我们根据优先的实施例说明了本发明,但是本发明不限定于上述实施例,在权利要求书的范围内,可以进行种种变形。例如,在上述实施形态中,DNS服务器109的域名服务器模块304,在检查通信协议检查模块308是否有效前,将分解器模块307从外部的DNS服务器107接收的地址通知客户机106的分解器模块302。与此相反,在其它形态中,DNS服务器109的域名服务器模块304,在检查通信协议检查模块308是否有效后,将分解器模块307从外部的DN8服务器107接收的地址通知客户机106的分解器模块302。

在该其它形态中,分解器模块307,当对外部服务器的正询问成功时,在由通信协议检查模块308进行的地址有效性的检查结束后,将正询问结束通知域名服务器模块304。而且,域名服务器模块304,对于由通信协议检查模块308进行了有效性检查的地址,根据地址的有效性(步骤407、408),如果有效,则将地址回答给客户机106的分解器模块302(步骤409、411),如果无效,则将取得失败信息回答给客户机106的分解器模块302(步骤410)。

此外,在该其它形态中,也可以从高速缓冲存储器数据306删除由通信协议检查模块308判断无效的地址。也可以在这样删除的形态中,不设置R-TTL705、检查栏706。

又,在其它形态中,在图8的步骤601在预定的间隔,代替检查高速缓冲存储器数据306的地址有效性,域名服务器模块304,每次从客户接收登记在高速缓冲存储器数据306中的地址询问时,检查该地址有效性,将与检查结果相应的回答信息送回到客户机。

进一步,在其它形态中,除了从客户接收询问时的有效性的检查外,还进行预定间隔的有效性检查。

又,在变形例中,关于在上次检查中判断为无效的地址,进行预定间隔的有效性检查。如果这样做,则能够防止增加网络的通信量。

又,在其它形态中,判断登记在高速缓冲存储器数据306中的各个地址是IPv6地址还是IPv4地址,如果是IPv6地址,则在预定的间隔检查有效性,如果是IPv4地址,则不进行在预定的间隔中的有效性检查(或者在比IPv6地址长的间隔中检查有效性)。如果这样做,则因为是不能连接的可能性低的IPv4地址的有效性检查,所以能够防止增加网络的通信量。

在上述实施形态中,Web客户机106和Web服务器107不限定于Web应用程序,也可以是任何的网络应用程序。

又,在上述实施形态中,在与用户网络101连接的DNS服务器109中,不一定需要保持管理属于用户网络101的主终端组的域的主区域文件305,可以只提供作为单一的DNS高速缓冲存储服务器的功能。

又,在上述实施形态中,域管理网络102和服务器网络103不一定需要是独立的网络,也可以在同一网络上存在DNS服务器108和Web服务器107。

又,在上述实施形态中,DNS服务器109不一定需要属于用户网络101,最好尽可能地接近用户网络,例如,也可以存在于向客户机106提供因特网服务的ISP内的网络中。

又,在上述实施形态中,分配给各主机的域名、FQDN、IPv4网络地址、IPv4地址、IPv6网络地址、IPv6地址只不过是一个例子,也可以是其它任意的域名、FQDN、IPv4网络地址、IPv4地址、IPv6网络地址、IPv6地址。请注意本发明能够应用于包括单个装置的设备或由多个装置组成的系统。

而且,通过提供软件程序,该软件程序直接或间接地对系统或设备实现上述实施形态的功能,用系统或设备的计算机读出提供的程序码,然后执行该程序码,能够实现本发明。在这种情形中,只要系统或设备具有程序的功能,实现的模式不需要与程序有关。

因此,因为本发明的功能是用计算机完成的,所以装入计算机中的程序码本身也实现本发明。换句话说,本发明的权利要求书也涵盖用于实现本发明的功能的计算机程序。

在这种情形中,只要系统或设备具有程序的功能,可以用任何形式,例如,目标代码、由解释程序执行的程序、或供给操作系统的脚本数据,执行程序。能够用于提供程序的存储媒体的例子是软盘、硬盘、光盘、磁光盘、CD-ROM、CD-R、CD-RW、磁带、非易失型存储卡、ROM和DVD(DVD-ROM和DVD-R)。

关于提供程序的方法,能够用客户计算机的浏览器使客户计算机与因特网上的Web网站连接,并且能够将本发明的计算机程序或者程序的可以自动安装的压缩文件下载到记录媒体如硬盘上。进一步,能够通过将构成程序的程序码分成多个文件并从不同的Web网站下载这些文件提供本发明的程序。换句话说,WWW(World WideWeb(万维网))服务器,它将用计算机实现本发明的功能的程序文件下载给多位用户,也被本发明的权利要求书所涵盖。进一步,也可以对本发明程序进行加密并存储在存储媒体,例如CD-ROM中,将存储媒体分配给用户,允许满足某些要求的用户通过因特网从Web网站下载解密密钥信息,和允许这些用户用密钥信息对加密的程序进行解密,从而将程序安装在用户计算机中。

而且,除了通过用计算机执行读出程序实现按照实施形态的上述功能的情形外,在计算机上运行的操作程序等可以实施全部或一部分的实际处理,使得上述实施形态的功能能够由这种处理来实现。

而且,在将从存储媒体读出的程序写到插入在计算机中的功能扩展板中或者与计算机连接的功能扩展单元中提供的存储器中后,安装在功能扩展板或功能扩展单元中的CPU等实施全部或一部分的实际处理,使得上述实施形态的功能能够由这种处理来实现。

因为在没有脱离本发明的精神和范围的条件下能够形成本发明的许多显然广泛不同的实施形态,所以我们懂得本发明不限于它的特定的实施形态,除了如所附的权利要求书定义的以外。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号