用于处理跨IPv4和IPv6网络的IPv4DNSPTR查询的方法和装置的制作方法

文档序号:7946937阅读:425来源:国知局
专利名称:用于处理跨IPv4和IPv6网络的IPv4 DNS PTR查询的方法和装置的制作方法
用于处理跨IPv4和IPv6网络的IPv4 DNS PTR査询的方法和装置 背景技术本发明涉及用于处理计算机网络内的数据的方法和装置。更具体而 言,本发明涉及用于处理跨IPv4和IPv6网络的DNS (域名系统)PTR (指针)查询和回复的机制。对于要与网络(例如因特网)内的其他计算机或web服务器通信的特 定计算机而言,该特定计算机必须具有唯一的IP地址。IP协议版本4指定 了32位的IP地址,其理论上给出了约4,294,967,296个唯一的IP地址。然 而,实际上只有约32亿到33亿的可用IP地址,这是因为地址被划分成 类,并且被留出用于多播、测试和其他特殊用途。随着因特网的爆炸式增 长,IP地址的数目不足以给予每个计算机一个唯一的IP地址。一种用于解决计算机具有有限数目的IP地址的方案被称为网络地址转 换(NAT) 。 NAT允许位于因特网和本地网络之间的中间设备(例如计算 机、路由器或交换机)充当一组本地计算机的代理。小范围的IP地址或单 个IP地址被分配用来代表这一组本地计算机。本地群组内的每个计算机也 被给予一个只在该本地群组内使用的本地IP地址。然而,群组的本地IP 地址可能与本地网络外部使用的IP地址重复。当本地计算机尝试与本地网 络外的计算机通信时,中间设备将本地计算机的本地IP地址(和端口)匹 配到中间设备的分配的IP地址(和端口)之一。中间设备随后利用匹配的 所分配的IP地址(和端口)替换本地计算机的本地地址(和端口)。该匹 配的所分配的IP地址(和端口)随后被用于本地计算机和外部计算机之间 的通信。从而,NAT技术允许IP地址跨本地网络重复。另一种针对缺少可用IP地址的方案是重新设计地址格式以允许更多可 能的IP地址。最近引入的IPv6提供了 128位的IP地址,而IPv4只提供了 32位的IP地址。然而,除非所有网络设备和计算机都被变换为IPv6,否 则仍有必要允许现有的IPv4设备与IPv6设备通信。 一种允许IPv4到IPv6
的通信的普遍方法被称为协议转换(NAT-PT) 。 IP地址通过NAT-PT从 一种协议变换为另一种协议(例如IPv4到IPv6或相反),或者更具体而 言,从外部协议到内部协议。除了IP地址外,NAT-PT还在协议转换期间 变换任何相关的IPv4或IPv6信息。除了IP地址外,分组还可以包含一个或多个地址,以及其他协议特定 的字段,这些字段嵌入在有效载荷中并且需要转换。特定应用可以在有效 载荷中嵌入一个或多个地址,以用于各种应用特定的目的。当前的用于在 NAT环境中支持在有效载荷中嵌入IP地址的方法是在NAT设备自身内加 入应用特定的知识(被称为应用级别网关或ALG)。该方法在题为"IP Network Address Translator (NAT) Terminology and Considerations"的因特 网工程任务组注释请求文档RFC 2663 (Lucent Technologies的P. Srisureesh和M. Holdrege, 1999年8月)中有详细描述。域名服务器应用是使用嵌入在DNS型分组内的协议信息的应用示 例。DNS分组一般包括对应于IPv4或IPv6协议的IP地址和其他字段,并 且这些DNS分组在到达具有不同协议的网络之前必须被转换。在客户端 可以与服务器通信之前,客户端向DNS (域名服务器)设备执行DNS查 询以获得客户端希望与之通信的特定服务器的IP地址。每个DNS服务器 维护名称到地址的映射。例如,IP版本4的名称到地址的映射被保存在 "A"记录中,而IP版本6的名称到地址的映射被保存在"AAAA"记录 中。一旦客户端从DNS设备获得特定服务器的IP地址,客户端随后就能 利用所获得的该服务器的IP地址与该特定服务器通信。客户端被配置具有 其自身的IP地址,客户端在与该服务器通信时使用该地址来向服务器标识 其自身。当客户端尝试与特定服务器或服务器应用通信时,某些应用被配置为 在进行与客户端的交互之前检查客户端的反向映射的有效性。例如,某些 telnet (远程登录)应用,在建立TCP连接之后并且在显示"login: prompt:"(登录提示)之前,检查远程客户端的IP地址是否对应于 telnet应用建立连接所用的主机名。
当从IPv4网络中的设备向IPv6 DNS服务器进行反向映射查询时,查 询一般由实现NAT-PT的设备处理,该设备操作以将查询的IP头部从 IPv4格式转换为IPv6格式。查询还由同一设备的DNS-ALG处理,该设备 操作以将嵌入的地址从IPv4转换为IPv6格式。RFC2766声明对于IPv4 PTR查询的转换(i )串"IN-ADDR.ARPA "必须被"IP6.INT "替换,并且(ii )在串"IN-ADDR.ARPA"之前的V4地址八位字节(相反顺序的)必须被相反顺序 的V6地址八位字节(如果存在映射的话)替换。然而,RFC3152已经使 "IP6.INT"的使用变得过时,并且反映了 IETF的多数意见,即 IP6.ARPA域被用于IPv6地址空间的地址到DNS名称的映射。然而,DNS服务器从IP6JNT到IP6.ARPA反向域的迀移是一个渐进 的过程。在该转变期间,某些已完全淘汰IP6.INT的IPv6 DNS服务器可能 仍然接收到IP6.INT格式的DNS PTR査询,而其他还未转变到IP6.ARPA 的IPv6 DNS服务器可能接收到IP6.ARPA格式的DNS PTR查询。反向査 询的类型和DNS服务器的配置之间的差异将导致"无应答(no answer)"回复,或者有时没有来自DNS服务器的回复。从而,在这些情 况下,客户端的IP地址将不能被服务器验证,并且不能在客户端和服务器 之间建立通信。考虑到上述问题,需要更高效和可靠地处理跨IPv4和IPv6网络的 DNSPTR查询和回复的改进机制。另外,需要可靠地处理到已被配置具有 IP6.ARPA禾卩IP6.INT格式中的任何一种或这两者的IPv6 DNS服务器的查 询。发明内容因此,本发明提供了用于高效和可靠地处理跨IPv4和IPv6网络的 DNS (域名服务)PTR (指针)查询和回复的方法和装置。概括说来,由 IPv4设备发送向IPv6 DNS服务器的IPv4 DNS PTR查询例如被配置具有 NAT-PT和DNS-ALG的网络设备截取或接收。所接收的IPv4 DNS PTR查 询随后被转换为两种不同类型的IPv6 DNS PTR查询具有"IP6.INT"串的查询和具有"IP6.ARPA"串的查询。这两种类型的IPv6查询随后都被 发送到IPv6目的地DNS服务器。无论DNS发送回IP6.ARPA或IP6.INT 型的回复还是这两种类型的回复,都识别有效回复(如果存在的话),并 在到达IPv4设备之前进行转换。例如,如果包含一个或多个应答记录的"无应答""IP6.INT"型回复 和"IP6.ARPA"型回复都从DNS服务器发送到IPv4设备,贝i」IP6.ARPA 应答回复被截取并在到达IPv4设备之前从IPv6转换为IPv4协议,而 IP6.INT "无应答"回复在到达IPv4设备之前被丢弃。类似地,如果"无 应答""IP6.ARPA"型回复和应答"IP6.INT"型回复都从DNS服务器发 送到IPv4设备,则IP6.INT应答回复被截取并在到达IPv4设备之前被转 换,而IP6.ARPA "无应答"回复在到达IPv4设备之前被丢弃。相反地, 如果两个"无应答"从DNS服务器发送到IPv4设备,则这两个应答中的 任一个在其从IPv6转换为IPv4协议之后被转发到IPv4,而另一个"无应 答"回复被丢弃。在一个实施例中,公开了一种用于处理域名系统(DNS)指针 (PTR)分组的方法。在操作(a)中首先接收从IPv4设备发送向IPv6 DNS服务器的IPv4 DNS PTR查询。在操作(b)中,将IPv4查询转换为 具有IP6.INT串的IPv6查询,其中IPv4查询中的IP-ADDR.ARPA串被 IP6.INT串替换以形成具有IP6.INT串的IPv6查询,并且随后将转换后的 具有IP6.INT串的IPv6查询转发到IPv6 DNS服务器。在操作(c)中,将 IPv4查询转换为具有IP6.ARPA串的IPv6査询,其中IPv4查询中的IP-ADDR.ARPA 串被IP6.ARPA串替换以形成具有IP6.ARPA串的IPv6查 询,并且随后将转换后的具有IP6.ARPA串的IPv6查询转发到IPv6 DNS 服务器。在操作(d)中,基于响应于具有IP6.ARPA串的IPv6查询或具 有IP6.INT串的IPv6查询来自IPv6服务器的回复或无回复而生成IPv4回 复。在操作(e)中,将所生成的IPv4回复发送到IPv4设备。在特定实现方式中,生成IPv4回复的操作包括(i)当响应于具有 IP6.ARPA串的IPv6査询或具有IP6.INT串的IPv6査询从IPv6 DNS服务 器接收到有效IPv6回复时,将有效IPv6回复转换为有效IPv4回复,并丢
弃响应于具有IP6.ARPA串的IPv6查询或具有IP6.INT串的IPv6查询而接 收到的任何其他回复;以及(ii)当未响应于具有IP6.ARPA串的IPv6查 询或具有IP6.INT串的IPv6査询从IPv6 DNS服务器接收到有效IPv6回 复,但是响应于具有IP6.ARPA串的IPv6査询或具有IP6.INT串的IPv6査 询从IPv6 DNS服务器接收到至少一个"无应答"IPv6回复时,将所接收 的"无应答"IPv6回复之一转换为"无应答"IPv4回复。在又一实施例中,在接收到IPv4査询并转换为被转发到IPv6 DNS服 务器的IP6.INT和IP6.ARPA查询后,将定时器设为预定义值。在特定实 施例中,定时器值被设为足够低以使得IPv4设备不会超时,并且被设为足 够高以便捕捉响应于具有IP6.ARPA串的IPv6査询或具有IP6.INT串的 IPv6査询的任何有效的回复。在又一实现方式中,转换有效IPv6回复或"无应答"回复之一的操作 只在定时器还未期满时执行。在另一方面,当满足以下条件时,将具有 IP6.ARPA串的"无应答"IPv6回复转换为具有IP-ADDR.ARPA串的IPv4 回复,并丢弃具有IP6.INT串的"无应答"IPv6回复(i)未响应于具有 IP6.ARPA串的IPv6査询或具有IP6.INT串的IPv6査询从IPv6 DNS服务 器接收到有效IPv6回复时,(ii)响应于具有IP6.ARPA串的IPv6查询和 具有IP6.INT串的IPv6查询从IPv6 DNS服务器接收到具有IP6.INT串的 "无应答"IPv6回复和具有IP6.ARPA串的"无应答"IPv6回复时,以及 (m)定时器还未期满时。在另一种实现方式中,当满足以下条件时,将具有IP6.INT串的"无 应答"IPv6回复转换为具有IP-ADDR.ARPA串的IPv4回复(i)未响应 于具有IP6.ARPA串的IPv6查询或具有IP6.INT串的IPv6查询从IPv6 DNS服务器接收到有效IPv6回复时,(ii)响应于具有IP6.INT串的IPv6 査询只从IPv6 DNS服务器接收到具有IP6.INT串的"无应答"IPv6回复 时,以及(iii)定时器还未期满时。在另一方面,当满足以下条件时,将具有IP6.ARPA串的"无应答" IPv6回复转换为具有IP-ADDR.ARPA串的IPv4回复(i)未响应于具有 IP6.ARPA串的IPv6查询或具有IP6.INT串的IPv6查询从IPv6 DNS服务
器接收到有效IPv6回复时,(ii)响应于具有IP6.ARPA串的IPv6查询只 从IPv6 DNS服务器接收到具有IP6.ARPA串的"无应答"IPv6回复时, 以及(iii)定时器还未期满时。在另一方面,响应于具有IP6.ARPA串的IPv6查询或具有IP6.INT串 的IPv6查询接收到回复。当所接收的回复包含一个或多个应答记录时所接 收的回复被定义为有效回复,而当所接收的回复未包含一个或多个应答记 录时所接收的回复被定义为"无应答"回复。在特定实现方式中,生成IPv4回复的操作包括以下操作(i)当在 定时器期满之前响应于具有IP6.ARPA串的IPv6查询或具有IP6.INT串的 IPv6査询接收到具有IP6.ARPA串的有效IPv6回复时,通过将具有 IP6.ARPA串的有效IPv6回复转换为IPv4回复来生成IPv4回复;(ii)当 定时器已期满,并且在定时器期满之前未接收到具有IP6.ARPA串的有效 IPv6回复而接收到具有IP6.INT串的有效IPv6回复时,通过将具有 IP6.INT串的有效IPv6回复转换为IPv4回复来生成IPv4回复;(iii)当在 定时器期满之前响应于具有IP6.ARPA串的IPv6查询接收到具有 IP6.ARPA串的"无应答"IPv6回复,并且未响应于具有IP6.INT串的 IPv6查询接收到具有IP6.INT串的有效IPv6回复时,通过将具有 IP6.ARPA串的"无应答"IPv6回复转换为IPv4回复来生成IPv4回复;以 及(iv)当在定时器期满之前响应于具有IP6.INT串的IPv6查询接收到具 有IP6.INT串的"无应答"IPv6回复,并且未响应于具有IP6.ARPA串的 IPv6查询接收到具有IP6.ARPA串的有效或"无应答"IPv6回复时,通过 将具有IP6.INT串的"无应答"IPv6回复转换为IPv4回复来生成IPv4回 复。在替换方面,存储关于来自DNS服务器的回复的信息,其中所存储 的信息指示DNS服务器是被配置为使用IP6.INT串还是使用IP6.ARPA 串。当针对DNS服务器存储的信息指示DNS服务器被配置为使用 IP6.ARPA串时,对于下一个接收到的被发送到DNS服务器的IPv4 DNS PTR査询只重复操作(a)和(c) 一 (e)。相反地,当针对DNS服务器 存储的信息指示DNS服务器被配置为只使用IP6.INT串时,对于下一个接
收到的被发送到DNS服务器的IPv4 DNS PTR査询只重复操作(a) —(b)和(d) - (e)。在另一实施例中,本发明涉及一种可操作以处理域名系统(DNS)指 针(PTR)分组的计算机系统。该计算机系统包括一个或多个处理器和一 个或多个存储器。所述存储器和处理器中的至少一个适合于提供上述方法 操作中的至少某些。在又一实施例中,本发明涉及一种用于处理域名系统(DNS)指针(PTR)分组的计算机程序产品。该计算机程序产品具有至 少一个计算机可读介质和存储在至少一个计算机可读介质内的计算机程序 指令,所述计算机程序指令被配置用于执行上述方法操作中的至少某些。本发明的这些和其他的特征和优点将更详细地表示在下面的说明书和 附图中,附图以示例方式示出了本发明的原理。


图1是根据本发明一个实施例可以实现本发明的技术的网络的图示。 图2是根据本发明一个实施例IPv4设备向IPv6 DNS服务器发送DNSPTR査询的通信图。图3是图示了根据本发明特定实施例用于处理DNS PTR查询和回复的过程的流程图。图4是图示了根据本发明一个实施例用于转换IPv4 DNS PTR査询的过程的流程图。图5是图示了根据本发明一个实施例用于转换IPv6 DNS PTR回复的 过程的流程图。图6是可以实现本发明实施例的路由器的图示。
具体实施方式
下面详细参考本发明的特定实施例。该实施例的示例在附图中示出。 尽管将结合该特定实施例描述本发明,但是应当理解,这并不是要将本发 明限制于一个实施例。相反地,其试图覆盖可包括在由权利要求定义的本 发明的精神和范围内的替换、修改和等同物。在下面的描述中,给出了大
量的具体细节以提供对本发明的完全理解。但是没有这些具体细节中的某 些或全部也可以实现本发明。在其他情况下,公知的处理操作没有详细描 述以免不必要地模糊本发明。图1是根据本发明一个实施例可以实现本发明的技术的网络100的图示。如图所示,网络100包括经由诸如因特网之类的广域网(WAN) 106 互连的多个设备。这些设备中的某一些可以实现IPv6、 IPv4或IPv6和 IPv4两者。例如,设备104和DNS服务器102实现IPv6,而设备116实 现IPv4。每个设备还可以通过局域网(LAN)或一个或多个网络设备耦合到 WAN 106。在图示示例中,IPv4设备116经由LAN 118和网络设备108耦 合到WAN 106。在该实施例中,网络设备被配置为实现NAT-PT 120和 DNS-ALG 110。通常,网络设备108使用NAT-PT来在IPv4和IPv6协议 之间转换,并使用DNS-ALG来转换嵌入在DNS型分组或数据中的有效载 荷中的协议信息。在整篇文件中,我们假定DNS-ALG功能与NAT-PT实现在同一设备 中。然而,本发明并不是以任何方式局限于这一设置,并且本领域技术人 员将会意识到,其覆盖了 DNS-ALG不需要由容纳NAT-PT功能的同一设 备容纳的其他场景。另外,NAT-PT和DNS-ALG功能可以共同集成到单 个软件过程中或者划分在任何数目的软件过程之间。另外,WAN 106或LAN 108可以包括任何数目和类型的网络元件、 路由器、NAT或NAT-PT设备、DNS-ALG设备、客户端、服务器和设 备。另外,单个IPv4/IPv6 DNS服务器可用于处理IPv4和IPv6请求。每 个DNS服务器还可以位于网络100内的任何位置处,如在网络设备108 内,直接与网络设备108耦合,或者在LAN网络108内。在WAN 106禾t]/ 或LAN 118内可以有任何合适数目的DNS服务器。在WAN 106禾口/或 LAN 118内可以有任何合适数目和类型的NAT-PT禾口/或DNS-ALG设备。NAT-PT 120和DNS-ALG 110可以采用任何合适数目和类型的数据结 构来利于其操作,如上所述。在一个实施例中,DNS-ALG 110包括用于跟 踪DNS査询和相应的响应连接的查询-响应(QR)连接表124 (这里也称为连接表)和用于限制要在实现替换动作之前的预定时限内执行的特定DNS处理动作的一个或多个定时器126,如下进一步所述。NAT-PT 120 禾口/或DNS-ALG IIO也可以共享具有LAN 118的可用转换地址的地址池表 114和用于跟踪私有和公共地址(例如IPv4和IPv6地址)之间的绑定的映 射表112。概括说来,本发明提供了用于处理IPv4 DNS PTR查询和其所得到的 IPv6回复的机制。在图1的图示示例中,IPv6设备104首先试图与IPv4 设备116通信。在与IPv4设备116通信之前,IPv6设备104向DNS服务 器发送其所拥有的IPv4设备116的域名(例如www.loan4pc.com)以获得 IPv4设备116的IP地址。在该IPv6客户端104和DNS服务器之间的DNS 握手期间,网络设备108获得用于IPv4设备116的IPv6 IP地址和IPv4地 址之间的绑定。IPv6 IP地址通常是从网络设备220的地址池表114中分配 的。IPv6设备104随后可以利用针对HV4设备116获得的IP地址与IPv4 设备116通信。IPv6在与IPv4设备116通信时使用特定的IP地址标识其自身。IPv4 设备116可以尝试向IPv6 DNS服务器102验证IPv6设备104的IP地址。 IPv4设备116期待DNS服务器102返回针对IPv6设备104的特定IP地址 的特定域名(例如www.wan6pc.com)。如果DNS服务器102返回了期待 的域名,则IPv4设备116确定IPv6设备是有效的。为了执行这种反向映 射有效性检查,IPv4设备116通过网络设备108向IPv6 DNS服务器102 发送DNS PTR查询。DNS服务器102通过网络设备108将一个或多个 DNS PTR回复发送到IPv4设备116。在本发明中,网络设备108可操作以 处理针对IPv6 DNS服务器的DNS PTR查询和回复,IPv6 DNS服务器被 配置为使用"IP6.INT"或"IP6.ARPA"字串或这两者。图2是根据本发明一个实施例的通信图,其中IPv4设备发送DNS PTR查询以验证IPv6设备的地址的反向映射的有效性。图3是图示了根据 本发明特定实施例的用于处理DNS PTR查询和回复的过程的流程图,在 这里结合图2描述图3。首先,在操作302中接收IPv4 DNS PTR査询。例 如,网络设备108接收从IPv4设备116被发送向IPv6 DNS服务器102的IPv4 DNS PTR查询。在操作304中,所接收的IPv4 DNS PTR查询被利用串"IP6.INT"转 换为IPv6查询,并且该转换后的查询随后被发送到DNS服务器。另外, 在操作306中,所接收的IPv4 DNS PTR査询被利用串"IP6.ARPA"转换 为IPv6查询,并被发送到DNS服务器。当然,这些转换仅在查询是去往 IPv6型的DNS服务器的情况下才被执行。如果对于网络设备(例如108) 所用的MAP表(例如112)中的目的地设备存在绑定,则通常需要转换。图4是图示了根据本发明一个实施例用于转换IPv4 DNS PTR査询的 过程的流程图。这些操作可以按任何合适的顺序执行。在图示实施例中, 在操作402中,查询的"IN-ADDR.ARPA "串被"IP6.INT "(或 "IP6.ARPA")串替换。注意,对于两种不同类型的IPv6串执行两种转 换。在操作404中,相反顺序的并且在串之前的查询的HV4地址八位字节 被相应的相反顺序的IPv6地址八位字节(例如来自MAP表112的)替 换。另外,IPv4头部被转换为IPv6头部。例如,通过向目的地地址附加 前缀,将目的地IP地址从IPv4地址(32位地址)变换为IPv6地址(128 位地址)。对源地址执行相同类型的IPv4到IPv6的变换。查询类 (QCLASS)也从IPv4变为IPv6。其他与协议有关的字段也被改变,如在 上面引用的RFC 2766文档中所描述的。返回图3,在这两个IPv6查询被向其DNS目的地转发后(见图2), 随后在操作308中设置在x秒内期满的定时器。可以使用任何合适的秒数 组作为x。优选地,定时器被设为足够低的值以使得查询的发起者不会超 时,并且被设为足够高的值,以捕捉来自DNS服务器的任何有效回复。 例如,可以使用30秒。在定时器被设置后,随后在操作310中确定是否 已接收到DNS PTR回复。如果已接收到回复,则随后在操作312中确定 回复是否有效。在一个实施例中,DNS PTR回复当包含一个或多个应答记 录时被定义为有效的。 一种确定是否有一个或多个应答记录的方式(除了 检査应答记录内容外)是检查指定了存在的记录数的记录计数字段。如果 回复包含"无应答",则其被定义为无效的。当回复有效时,在操作314 中该IPv6 DNS PTR回复被转换为IPv4 DNS PTR回复。对应于该特定査询
的任何随后接收到的IPv6 DNS PTR回复被丢弃。随后过程结束。下面的转换过程可以针对具有"IP6.INT"或"IP6.ARPA"串的DNS PTR回复执行。图5是图示了根据本发明一个实施例用于转换IPv6 DNS PTR回复的过程的流程图。操作可以按任何合适的顺序执行。在该示例 中,"IP6.INT"或"IP6.ARPA"串在操作502中被"IP-ADDR.ARPA" 串替换。在操作503中,回复应答记录之前的v6地址八位字节(相反顺 序)也被相反顺序的相应v4地址八位字节(如果存在映射的话)替换。 在操作504中,IPv6头部也被替换或变换为IPv4头部。例如,通过从目的 地地址中剥离前缀,将目的地IP地址从IPv6地址(128位地址)变换为 IPv4地址(32位地址)。对源地址执行相同类型的IPv6到IPv4变换。查 询类(QCLASS)也从IPv6变为IPv4,并且执行任何其他的协议变换,如 在上面引用的RFC 2766文档中所描述的。返回图3,如果所接收的IPv6 DNS PTR回复无效,则过程随后在操 作310中再次确定是否已接收到回复。如果接收到回复,则过程随后将执 行操作312 (可能是314),如上所述。如果还未接收到DNS PTR回复,则随后在操作316中确定定时器是 否已期满。如果定时器还未期满,则在操作310中再次确定是否已接收到 回复。过程300等待接收到回复,直到定时器期满。当定时器期满时,随后在操作318中确定是否已接收到具有 IPv6.ARPA格式的"无应答"回复。如果已接收到这种回复,则在操作 320中,该IPv6 DNS PTR "无应答"回复被转换为IPv4回复,并且该转 换后的回复被发送到DNS服务器。如果还接收到具有IP6.INT串的另一 "无应答"回复,则其被丢弃。如果还未接收到IPv6.ARPA格式的回复,则随后在操作322中确定是 否已接收到具有IPv6.INT格式的"无应答"回复。如果已接收到这种回 复,则在操作324中,该IPv6 DNS PTR回复被转换为IPv4回复并被发送 到DNS服务器。过程随后结束。如果未接收到"无应答"回复,则不采 取任何动作,过程结束。通常,如果响应于同一查询接收到两个"无应答"回复,则任一回复
都可被转换并转发到查询设备,而另一回复被丢弃。在替换实施例中,当具有IP6.INT串的有效回复是接收到的第一回复时,网络设备可以等待具有IP6.ARPA串的第二有效回复。如果在接收到 第二有效回复之前定时器期满,则发送具有IP6.INT串的第一有效回复。 针对该同一查询任何随后接收到的回复被丢弃。然而,如果在定时器期满 之前接收到具有IP6.ARPA串的第二有效回复,则该第二回复被转换并发 送到查询设备,而第一回复被丢弃。在又一实现方式中,在用于处理一组DNS PTR查询和回复的过程期 间,关于DNS服务器的信息可例如由网络设备108存储。该信息可以指 定DNS服务器是被配置为使用IP6.INT还是使用IP6.ARPA串。该信息随 后可以例如被网络设备108用来减少用于处理DNS PTR查询和回复的过 程操作的数目。例如,如果特定DNS服务器的信息指示该DNS服务器只 使用IP6.ARPA串,则用于形成具有IP6.INT串的查询的操作可被跳过。 另外,如果接收到具有IP6.ARPA串的"无应答"回复,则仅仅将其转换 并发送到查询设备,而不等待第二有效回复。类似地,如果特定DNS服 务器的信息指示该DNS服务器只使用IP6.INT串,则用于形成具有 IP6.ARPA串的查询的操作可被跳过。另外,如果接收到具有IP6.INT串的 "无应答"回复,则仅仅将其转换并发送到査询设备,而不等待第二有效 回复。通常,本发明的用于处理DNS PTR查询和回复(以及用于转换地址 和协议)的技术可以实现在软件和/或硬件上。例如,其可实现在操作系统 内核中,独立的用户进程中,绑定在网络应用内的库程序包中,特殊构造 的机器上,或者网络接口卡上。在本发明的特定实施例中,本发明的技术 实现在诸如操作系统之类的软件中或运行在操作系统上的应用中。本发明的软件或软件/硬件混合分组处理系统优选地实现在通用可编程 机器上,该通用可编程机器由存储在存储器中的计算机程序选择性地激活 或重配置。这种可编程机器可以是被设计为处理网络流量的网络设备。这 种网络设备一般具有多种网络接口,例如包括帧中继和ISDN接口。这种 网络设备的特定示例包括路由器和交换机。例如,本发明的分组处理系统
可以是特殊配置的路由器,如可以从California, San Jose的思科系统公司 得到的特殊配置的型号为1600、 2500、 2600、 3600、 4500、 4700、 7200、 7500和12000的路由器。这些机器中某一些的通用体系结构出现在下面给 出的描述中。在替换实施例中,分组处理系统(例如NAT-PT和DNS-ALG设备)可以实现在诸如个人计算机或工作站之类的通用网络主机上。 另外,本发明可以至少部分地实现在网络设备或通用计算设备的卡(例如 接口卡)上。现在参考图6,用于实现本发明的路由器10包括主中央处理单元 (CPU) 62、接口 68和总线15 (例如PCI总线)。当在适当的软件或固 件的控制下动作时,CPU 62负责诸如路由表计算和网络管理之类的路由器 任务。其还可以负责执行第一和第二协议(例如IPv4和IPv6)之间的协 议变换,确定是转发还是保存DNS回复等等。其优选地在包括操作系统 (例如,思科系统公司的Internetwork操作系统(IOS ))和任何适当的 应用软件的软件的控制下完成所有这些功能。CPU 62可以包括一个或多个 处理器63,如来自Motorola微处理器族或MIPS微处理器族的处理器。在 替换实施例中,处理器63是用于控制路由器10的操作的特殊设计的硬 件。在特定实施例中,存储器61 (如非易失性RAM和/或ROM)也构成 CPU62的一部分。然而,有多种存储器可以耦合到系统的不同方式。存储 器块61可用于多种目的,例如缓存和/或存储数据、程序指令等。接口 68 —般被提供为接口卡(有时也称为"线路卡")。通常,其 控制网络上数据分组或数据段的发送和接收,有时还支持与路由器10 — 起使用的其他外设。可以提供的接口有以太网接口、帧中继接口、线缆接 口、 DSL接口、令牌环接口等等。另外,可以提供各种甚高速接口,如快 速以太网接口、 G比特以太网接口、 ATM接口、 HSSI接口、 POS接口、 FDDI接口等等。通常,这些接口可以包括适合于与适当介质通信的端 口。在某些情况下,其还可以包括独立处理器和(在某些情况下)易失性 RAM。独立处理器可以控制诸如分组交换、介质控制和管理之类的通信密 集型任务。通过提供用于通信密集型任务的独立处理器,这些接口允许主 微处理器62高效地执行路由计算、网络诊断、安全性功能等。 尽管图6中所示的系统是本发明的一种特定路由器,但是它决不是可 以实现本发明的唯一路由器体系结构。例如,经常使用具有单个处理器的 体系结构,这单个处理器处理通信以及路由计算等。另外,其他类型的接 口和介质也可以与路由器一起使用。无论网络设备的配置如何,其都可以采用一个或多个存储器或存储器 模块(例如存储器块65),这些存储器或存储器模块被配置为存储用于通 用网络操作和/或上述本发明的技术的数据、程序指令。程序指令例如可以 控制操作系统和/或一个或多个应用的操作。这一个或多个存储器也可以被 配置为存储接收到的分组、跟踪每个流和这些流的数目的标识符、关于DNS服务器的状态信息、MAP表、池表、连接表等。由于这些信息和程序指令可用于实现这里描述的系统/方法,因此本发 明涉及包括用于执行这里描述的各种操作的程序指令、状态信息等的机器 可读介质。机器可读介质的示例包括但不限于诸如硬盘、软盘和磁带之类 的磁介质;诸如CD-ROM盘和DVD之类的光介质;诸如可光读磁盘之类 的磁光介质;和被特殊配置为存储并执行程序指令的硬件设备,如只读存 储器(ROM)和随机访问存储器(RAM)。本发明还可以实现在沿适当 介质传播的载波中,如无线电波、光线、电线等。程序指令的示例既包括 机器代码,如由编译器产生的代码,又包括包含可由计算机利用解释器执 行的更高级代码的文件。尽管为了理解清楚已经描述了前述的本发明,但是应当清楚,在所附 权利要求的范围内可以进行某些改变和修改。因此,所描述的实施例应当 认为是示例性的而非限制性的,并且本发明应当不局限于这里给出的细 节,而是应当由权利要求及其等同物限定。
权利要求
1.一种用于处理域名系统(DNS)指针(PTR)分组的方法,包括(a)接收从IPv4设备发送向IPv6 DNS服务器的IPv4 DNS PTR查询;(b)将所述IPv4查询转换为具有IP6.INT串的IPv6查询,其中所述IPv4查询中的IP-ADDR.ARPA串被IP6.INT串替换以形成所述具有IP6.INT串的IPv6查询,然后将所述转换后的具有IP6.INT串的IPv6查询转发到所述IPv6 DNS服务器;(c)将所述IPv4查询转换为具有IP6.ARPA串的IPv6查询,其中所述IPv4查询中的IP-ADDR.ARPA串被IP6.ARPA串替换以形成所述具有IP6.ARPA串的IPv6查询,然后将所述转换后的具有IP6.ARPA串的IPv6查询转发到所述IPv6 DNS服务器;(d)基于响应于所述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的IPv6查询来自所述IPv6服务器的回复或无回复而生成IPv4回复;以及(e)将所生成的IPv4回复发送到所述IPv4设备。
2. 如权利要求1所述的方法,其中所述生成IPv4回复的操作包括 当响应于所述具有IP6.ARPA串的IPv6査询或所述具有IP6.INT串的IPv6査询从所述IPv6 DNS服务器接收到有效IPv6回复时,将所述有效 IPv6回复转换为有效IPv4回复,并丢弃响应于所述具有IP6.ARPA串的 IPv6査询或所述具有IP6.INT串的IPv6查询接收到的任何其他回复;以及 当未响应于所述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串 的IPv6查询从所述IPv6 DNS服务器接收到有效IPv6回复,但是响应于所 述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的IPv6查询从所述 IPv6 DNS服务器接收到至少一个"无应答"IPv6回复时,将所接收的 "无应答"IPv6回复之一转换为"无应答"IPv4回复。
3. 如权利要求2所述的方法,还包括 在接收到所述IPv4査询后将定时器设为预定义值, 其中所述转换有效IPv6回复或"无应答"回复之一的操作只在所述定 时器还未期满时执行。
4. 如权利要求3所述的方法,其中当(i)未响应于所述具有IP6.ARPA串的IPv6査询或所述具有IP6.INT串的IPv6查询从所述IPv6 DNS服务器接收到有效IPv6回复,(ii)响应于所述具有IP6.ARPA串的 IPv6査询和所述具有IP6.INT串的IPv6查询从所述IPv6 DNS服务器接收 到具有IP6.INT串的"无应答"IPv6回复和具有IP6.ARPA串的"无应 答"IPv6回复,并且(iii)所述定时器还未期满时,将所述具有 IP6.ARPA串的"无应答"IPv6回复转换为具有IP-ADDR.ARPA串的IPv4 回复,并丢弃所述具有IP6.INT串的"无应答"IPv6回复。
5. 如权利要求4所述的方法,其中当(i)未响应于所述具有 IP6.ARPA串的IPv6査询或所述具有IP6.INT串的IPv6查询从所述IPv6 DNS服务器接收到有效IPv6回复,(ii)响应于所述具有IP6.INT串的 IPv6查询只从所述IPv6 DNS服务器接收到具有IP6.INT串的"无应答" IPv6回复,并且(iii)所述定时器还未期满时,将所述具有IP6.INT串的"无应答"IPv6回复转换为具有IP-ADDR.ARPA串的IPv4回复。
6. 如权利要求4或5所述的方法,其中当(i)未响应于所述具有 IP6.ARPA串的IPv6查询或所述具有IP6.INT串的IPv6查询从所述IPv6 DNS服务器接收到有效IPv6回复,(ii)响应于所述具有IP6.ARPA串的 IPv6查询只从所述IPv6 DNS服务器接收到具有IP6.ARPA串的"无应 答"IPv6回复,并且(iii)所述定时器还未期满时,将所述具有 IP6.ARPA串的"无应答"IPv6回复转换为具有IP-ADDR.ARPA串的IPv4 回复。
7. 如权利要求3-6中任何一个所述的方法,其中所述定时器值被设为 足够低以使得所述IPv4设备不会超时,并且被设为足够高以便捕捉响应于 所述具有IP6.ARPA串的IPv6査询或所述具有IP6.INT串的IPv6查询的任 何有效的回复。
8. 如权利要求3-7中任何一个所述的方法,还包括 响应于所述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的IPv6查询接收回复;当所接收的回复包含一个或多个应答记录时将所接收的回复定义为有 效回复;以及当所接收的回复未包含一个或多个应答记录时将所接收的回复定义为 "无应答"回复。
9. 如权利要求3-6中任何一个所述的方法,其中所述生成IPv4回复的操作包括当在所述定时器期满之前响应于所述具有IP6.ARPA串的IPv6查询或 所述具有IP6.INT串的IPv6查询接收到具有IP6.ARPA串的有效IPv6回复 时,通过将所述具有IP6.ARPA串的有效IPv6回复转换为所述IPv4回复 来生成所述IPv4回复;当所述定时器已期满,并且在所述定时器期满之前未接收到所述具有 IP6.ARPA串的有效IPv6回复而接收到具有IP6.INT串的有效IPv6回复 时,通过将所述具有IP6.INT串的有效IPv6回复转换为所述IPv4回复来 生成所述IPv4回复;当在所述定时器期满之前响应于所述具有IP6.ARPA串的IPv6查询接 收到具有IP6.ARPA串的"无应答"IPv6回复,并且未响应于所述具有 IP6.INT串的IPv6査询接收到具有IP6.INT串的有效IPv6回复时,通过将 所述具有IP6.ARPA串的"无应答"IPv6回复转换为所述IPv4回复来生成 所述IPv4回复;以及当在所述定时器期满之前响应于所述具有IP6.INT串的IPv6查询接收 到具有IP6.INT串的"无应答"IPv6回复,并且未响应于所述具有 IP6.ARPA串的IPv6査询接收到具有IP6.ARPA串的有效或"无应答" IPv6回复时,通过将所述具有IP6.INT串的"无应答"IPv6回复转换为所 述IPv4回复来生成所述IPv4回复。
10. 如权利要求1-9中任何一个所述的方法,还包括 存储关于来自所述DNS服务器的回复的信息,其中所存储的信息指示所述DNS服务器是被配置为使用IP6.INT串还是使用IP6.ARPA串;当针对所述DNS服务器存储的信息指示所述DNS服务器被配置为使 用所述IP6.ARPA串时,对于下一个接收到的被发送向所述DNS服务器的 IPv4DNSPTR查询只重复操作(a)禾B (c) - (e);以及当针对所述DNS服务器存储的信息指示所述DNS服务器被配置为只 使用所述IP6.INT串时,对于下一个接收到的被发送向所述DNS服务器的 IPv4DNSPTR查询只重复操作(a) - (b)禾P (d) - (e)。
11. 一种可操作来处理域名系统(DNS)指针(PTR)分组的计算机系 统,所述计算机系统包括一个或多个处理器;一个或多个存储器,其中所述存储器和处理器中的至少一个适合于(a) 接收从IPv4设备发送向IPv6 DNS服务器的IPv4 DNS PTR查询;(b) 将所述IPv4査询转换为具有IP6.INT串的IPv6查询,其中所述 IPv4查询中的IP-ADDR.ARPA串被IP6.INT串替换以形成所述具有 IP6.INT串的IPv6查询,然后将所述转换后的具有IP6.INT串的IPv6查询 转发到所述IPv6 DNS服务器;(c) 将所述IPv4查询转换为具有IP6.ARPA串的IPv6查询,其中所 述IPv4查询中的IP-ADDR.ARPA串被IP6.ARPA串替换以形成所述具有 IP6.ARPA串的IPv6查询,然后将所述转换后的具有IP6.ARPA串的IPv6 查询转发到所述IPv6 DNS服务器;(d) 基于响应于所述具有IP6.ARPA串的IPv6查询或所述具有 IP6.INT串的IPv6查询来自所述IPv6服务器的回复或无回复而生成IPv4 回复;以及(e) 将所生成的IPv4回复发送到所述IPv4设备。
12. 如权利要求11所述的计算机系统,其中所述生成IPv4回复的操作 包括当响应于所述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的 IPv6查询从所述IPv6 DNS服务器接收到有效IPv6回复时,将所述有效 IPv6回复转换为有效IPv4回复,并丢弃响应于所述具有IP6.ARPA串的 IPv6查询或所述具有IP6.INT串的IPv6查询而接收到的任何其他回复;以 及当未响应于所述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串 的IPv6查询从所述IPv6 DNS服务器接收到有效IPv6回复,但是响应于所 述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的IPv6查询从所述 IPv6 DNS服务器接收到至少一个"无应答"IPv6回复时,将所接收的 "无应答"IPv6回复之一转换为"无应答"IPv4回复。
13. 如权利要求12所述的计算机系统,其中所述存储器和处理器中的 至少一个还适合于在接收到所述IPv4査询后将定时器设为预定义值, 其中所述转换有效IPv6回复或"无应答"回复之一的操作只在所述定 时器还未期满时执行。
14. 如权利要求13所述的计算机系统,其中当(i)未响应于所述具有 IP6.ARPA串的IPv6査询或所述具有IP6.INT串的IPv6查询从所述IPv6 DNS服务器接收到有效IPv6回复,(ii)响应于所述具有IP6.ARPA串的 IPv6查询和所述具有IP6.INT串的IPv6査询从所述IPv6 DNS服务器接收 到具有IP6.INT串的"无应答"IPv6回复和具有IP6.ARPA串的"无应 答"IPv6回复,并且(iii)所述定时器还未期满时,将所述具有 IP6.ARPA串的"无应答"IPv6回复转换为具有IP-ADDR.ARPA串的IPv4 回复,并丢弃所述具有IP6.INT串的"无应答"IPv6回复。
15. 如权利要求13或14所述的计算机系统,其中当(i)未响应于所 述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的IPv6査询从所述 IPv6 DNS服务器接收到有效IPv6回复,(ii)响应于所述具有IP6.INT串 的IPv6查询只从所述IPv6 DNS服务器接收到具有IP6.INT串的"无应 答"IPv6回复,并且(m)所述定时器还未期满时,将所述具有IP6.INT 串的"无应答"IPv6回复转换为具有IP-ADDR.ARPA串的IPv4回复。
16. 如权利要求15所述的计算机系统,其中当(i)未响应于所述具有 IP6.ARPA串的IPv6查询或所述具有IP6.INT串的IPv6查询从所述IPv6 DNS服务器接收到有效IPv6回复,(ii)响应于所述具有IP6.ARPA串的 IPv6查询只从所述IPv6 DNS服务器接收到具有IP6.ARPA串的"无应 答"IPv6回复,并且(iii)所述定时器还未期满时,将所述具有IP6.ARPA串的"无应答"IPv6回复转换为具有IP-ADDR.ARPA串的IPv4回复。
17. 如权利要求13-16中任何一个所述的计算机系统,其中所述定时器 值被设为足够低以使得所述IPv4设备不会超时,并且被设为足够高以便捕 捉响应于所述具有IP6.ARPA串的IPv6査询或所述具有IP6.INT串的IPv6 查询的任何有效的回复。
18. 如权利要求11-17中任何一个所述的计算机系统,其中所述存储器 和处理器中的至少一个还适合于存储关于来自所述DNS服务器的回复的信息,其中所存储的信息指 示所述DNS服务器是被配置为使用IP6.INT串还是使用IP6.ARPA串;当针对所述DNS服务器存储的信息指示所述DNS服务器被配置为使 用所述IP6.ARPA串时,对于下一个接收到的被发送向所述DNS服务器的 IPv4DNSPTR查询只重复操作(a)禾Q (c) - (e);以及当针对所述DNS服务器存储的信息指示所述DNS服务器被配置为只 使用所述IP6.INT串时,对于下一个接收到的被发送向所述DNS服务器的 IPv4DNSPTR查询只重复操作(a) - (b)和(d) - (e)。
19. 一种用于处理域名系统(DNS)指针(PTR)分组的计算机程序产品,所述计算机程序产品包括 至少一个计算机可读介质;存储在所述至少一个计算机可读介质内的计算机程序指令,配置为(a) 接收从IPv4设备发送向IPv6 DNS服务器的IPv4 DNS PTR查询;(b) 将所述IPv4查询转换为具有IP6.INT串的IPv6查询,其中所述 IPv4查询中的IP-ADDR.ARPA串被IP6.INT串替换以形成所述具有 IP6.INT串的IPv6查询,然后将所述转换后的具有IP6.INT串的IPv6查询 转发到所述IPv6 DNS服务器;(c) 将所述IPv4查询转换为具有IP6.ARPA串的IPv6查询,其中所 述IPv4査询中的IP-ADDR.ARPA串被IP6.ARPA串替换以形成所述具有 IP6.ARPA串的IPv6查询,然后将所述转换后的具有IP6.ARPA串的IPv6 查询转发到所述IPv6 DNS服务器;(d) 基于响应于所述具有IP6.ARPA串的IPv6査询或所述具有 IP6.INT串的IPv6查询来自所述IPv6服务器的回复或无回复而生成IPv4 回复;以及(e) 将所生成的IPv4回复发送到所述IPv4设备。
20. 如权利要求19所述的计算机程序产品,其中所述生成IPv4回复的 操作包括当响应于所述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的 IPv6查询从所述IPv6 DNS服务器接收到有效IPv6回复时,将所述有效 IPv6回复转换为有效IPv4回复,并丢弃响应于所述具有IP6.ARPA串的 IPv6查询或所述具有IP6.INT串的IPv6查询而接收到的任何其他回复;以 及当未响应于所述具有IP6.ARPA串的IPv6査询或所述具有IP6.INT串 的IPv6查询从所述IPv6 DNS服务器接收到有效IPv6回复,但是响应于所 述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的IPv6查询从所述 IPv6 DNS服务器接收到至少一个"无应答"IPv6回复时,将所接收的 "无应答"IPv6回复之一转换为"无应答"IPv4回复。
21. 如权利要求20所述的计算机程序产品,存储在所述至少一个计算 机可读介质内的计算机程序指令还被配置用于在接收到所述IPv4查询后将定时器设为预定义值, 其中所述转换有效IPv6回复或"无应答"回复之一的操作只在所述定 时器还未期满时执行。
22. 如权利要求21所述的计算机程序产品,其中当(i)未响应于所述 具有IP6.ARPA串的IPv6査询或所述具有IP6.INT串的IPv6查询从所述 IPv6 DNS服务器接收到有效IPv6回复,(ii)响应于所述具有IP6.ARPA 串的IPv6查询和所述具有IP6.INT串的IPv6查询从所述IPv6 DNS服务器 接收到具有IP6.INT串的"无应答"IPv6回复和具有IP6.ARPA串的"无 应答"IPv6回复,并且(iii)所述定时器还未期满时,将所述具有 IP6.ARPA串的"无应答"IPv6回复转换为具有IP-ADDR.ARPA串的IPv4 回复,并丢弃所述具有IP6.INT串的"无应答"IPv6回复。
23. 如权利要求21或22所述的计算机程序产品,其中当(i)未响应 于所述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的IPv6查询从 所述IPv6 DNS服务器接收到有效IPv6回复,(ii)响应于所述具有 IP6.INT串的IPv6査询只从所述IPv6 DNS服务器接收到具有IP6.INT串的"无应答"IPv6回复,并且(iii)所述定时器还未期满时,将所述具有 IP6.INT串的"无应答"IPv6回复转换为具有IP-ADDR.ARPA串的IPv4回 复。
24. 如权利要求23所述的计算机程序产品,其中当(i)未响应于所述 具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的IPv6查询从所述 IPv6 DNS服务器接收到有效IPv6回复,(ii)响应于所述具有IP6.ARPA 串的IPv6查询只从所述IPv6 DNS服务器接收到具有IP6.ARPA串的"无 应答"IPv6回复,并且(iii)所述定时器还未期满时,将所述具有 IP6.ARPA串的"无应答"IPv6回复转换为具有IP-ADDR.ARPA串的IPv4 回复。
25. 如权利要求21所述的计算机程序产品,其中所述定时器值被设为 足够低以使得所述IPv4设备不会超时,并且被设为足够高以便捕捉响应于 所述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的IPv6查询的任 何有效的回复。
26. 如权利要求21-25中任何一个所述的计算机程序产品,存储在所述 至少一个计算机可读介质内的计算机程序指令还被配置用于响应于所述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的 IPv6查询接收回复;当所接收的回复包含一个或多个应答记录时将所接收的回复定义为有 效回复;以及当所接收的回复未包含一个或多个应答记录时将所接收的回复定义为 "无应答"回复。
27. 如权利要求21-26中任何一个所述的计算机程序产品,其中所述生 成IPV4回复的操作包括当在所述定时器期满之前响应于所述具有IP6.ARPA串的IPv6查询或 所述具有IP6.INT串的IPv6查询接收到具有IP6.ARPA串的有效IPv6回复 时,通过将所述具有IP6.ARPA串的有效IPv6回复转换为所述IPv4回复 来生成所述IPv4回复;当所述定时器已期满,并且在所述定时器期满之前未接收到所述具有 IP6.ARPA串的有效IPv6回复而接收到具有IP6.INT串的有效IPv6回复 时,通过将所述具有IP6.INT串的有效IPv6回复转换为所述IPv4回复来 生成所述IPv4回复;当在所述定时器期满之前响应于所述具有IP6.ARPA串的IPv6査询接 收到具有IP6.ARPA串的"无应答"IPv6回复,并且未响应于所述具有 IP6.INT串的IPv6査询接收到具有IP6.INT串的有效IPv6回复时,通过将 所述具有IP6.ARPA串的"无应答"IPv6回复转换为所述IPv4回复来生成 所述IPv4回复;以及当在所述定时器期满之前响应于所述具有IP6.INT串的IPv6查询接收 到具有IP6.INT串的"无应答"IPv6回复,并且未响应于所述具有 IP6.ARPA串的IPv6查询接收到具有IP6.ARPA串的有效或"无应答" IPv6回复时,通过将所述具有IP6.INT串的"无应答"IPv6回复转换为所 述IPv4回复来生成所述IPv4回复。
28.如权利要求19-27中任何一个所述的计算机程序产品,存储在所述 至少一个计算机可读介质内的计算机程序指令还被配置用于存储关于来自所述DNS服务器的回复的信息,其中所存储的信息指 示所述DNS服务器是被配置为使用IP6.INT串还是使用IP6.ARPA串;当针对所述DNS服务器存储的信息指示所述DNS服务器被配置为使 用所述IP6.ARPA串时,对于下一个接收到的被发送向所述DNS服务器的 IPv4DNSPTR查询只重复操作(a)和(c) - (e);以及当针对所述DNS服务器存储的信息指示所述DNS服务器被配置为只 使用所述IP6.INT串时,对于下一个接收到的被发送向所述DNS服务器的 IPv4DNSPTR查询只重复操作(a) - (b)和(d) - (e)。
全文摘要
本发明公开了用于高效和可靠地处理跨IPv4和IPv6网络的DNS(域名服务)PTR(指针)查询和回复的方法和装置。概括说来,由IPv4设备发送向IPv6DNS服务器的IPv4DNSPTR查询例如被配置具有NAT-PT和DNS-ALG的网络设备截取或接收。所接收的IPv4DNSPTR查询随后被转换为两种不同类型的IPv6DNSPTR查询具有“IP6.INT”串的查询(304)和具有“IP6.ARPA”串的查询(306)。这两种类型的IPv6查询随后都被发送到IPv6目的地DNS服务器(304、306)。无论DNS发送回IP6.ARPA或IP6.INT型的回复还是这两种类型的回复,都识别有效回复(如果存在的话),并在到达IPv4设备之前进行转换。
文档编号H04L29/06GK101156147SQ200580015737
公开日2008年4月2日 申请日期2005年5月16日 优先权日2004年5月17日
发明者苏雷什·沙塔帕蒂 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1