CN101156147A - 用于处理跨IPv4和IPv6网络的IPv4 DNS PTR查询的方法和装置 - Google Patents
用于处理跨IPv4和IPv6网络的IPv4 DNS PTR查询的方法和装置 Download PDFInfo
- Publication number
- CN101156147A CN101156147A CNA200580015737XA CN200580015737A CN101156147A CN 101156147 A CN101156147 A CN 101156147A CN A200580015737X A CNA200580015737X A CN A200580015737XA CN 200580015737 A CN200580015737 A CN 200580015737A CN 101156147 A CN101156147 A CN 101156147A
- Authority
- CN
- China
- Prior art keywords
- ipv6
- string
- inquiry
- arpa
- response
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/251—Translation of Internet protocol [IP] addresses between different IP versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2585—NAT traversal through application level gateway [ALG]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/167—Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6
Abstract
本发明公开了用于高效和可靠地处理跨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设备之前进行转换。
Description
背景技术
本发明涉及用于处理计算机网络内的数据的方法和装置。更具体而言,本发明涉及用于处理跨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)。该方法在题为“IPNetwork 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网络中的设备向IPv6DNS服务器进行反向映射查询时,查询一般由实现NAT-PT的设备处理,该设备操作以将查询的IP头部从IPv4格式转换为IPv6格式。查询还由同一设备的DNS-ALG处理,该设备操作以将嵌入的地址从IPv4转换为IPv6格式。
RFC2766声明对于IPv4PTR查询的转换:(i)串“IN-ADDR.ARPA”必须被“IP6.INT”替换,并且(ii)在串“IN-ADDR.ARPA”之前的V4地址八位字节(相反顺序的)必须被相反顺序的V6地址八位字节(如果存在映射的话)替换。然而,RFC3152已经使“IP6.INT”的使用变得过时,并且反映了IETF的多数意见,即IP6.ARPA域被用于IPv6地址空间的地址到DNS名称的映射。
然而,DNS服务器从IP6.INT到IP6.ARPA反向域的迁移是一个渐进的过程。在该转变期间,某些已完全淘汰IP6.INT的IPv6DNS服务器可能仍然接收到IP6.INT格式的DNS PTR查询,而其他还未转变到IP6.ARPA的IPv6DNS服务器可能接收到IP6.ARPA格式的DNS PTR查询。反向查询的类型和DNS服务器的配置之间的差异将导致“无应答(noanswer)”回复,或者有时没有来自DNS服务器的回复。从而,在这些情况下,客户端的IP地址将不能被服务器验证,并且不能在客户端和服务器之间建立通信。
考虑到上述问题,需要更高效和可靠地处理跨IPv4和IPv6网络的DNS PTR查询和回复的改进机制。另外,需要可靠地处理到已被配置具有IP6.ARPA和IP6.INT格式中的任何一种或这两者的IPv6DNS服务器的查询。
发明内容
因此,本发明提供了用于高效和可靠地处理跨IPv4和IPv6网络的DNS(域名服务)PTR(指针)查询和回复的方法和装置。概括说来,由IPv4设备发送向IPv6DNS服务器的IPv4DNS PTR查询例如被配置具有NAT-PT和DNS-ALG的网络设备截取或接收。所接收的IPv4DNS PTR查询随后被转换为两种不同类型的IPv6DNS PTR查询:具有“IP6.INT”串的查询和具有“IP6.ARPA”串的查询。这两种类型的IPv6查询随后都被发送到IPv6目的地DNS服务器。无论DNS发送回IP6.ARPA或IP6.INT型的回复还是这两种类型的回复,都识别有效回复(如果存在的话),并在到达IPv4设备之前进行转换。
例如,如果包含一个或多个应答记录的“无应答”“IP6.INT”型回复和“IP6.ARPA”型回复都从DNS服务器发送到IPv4设备,则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设备发送向IPv6DNS服务器的IPv4DNS PTR查询。在操作(b)中,将IPv4查询转换为具有IP6.INT串的IPv6查询,其中IPv4查询中的IP-ADDR.ARPA串被IP6.INT串替换以形成具有IP6.INT串的IPv6查询,并且随后将转换后的具有IP6.INT串的IPv6查询转发到IPv6DNS服务器。在操作(c)中,将IPv4查询转换为具有IP6.ARPA串的IPv6查询,其中IPv4查询中的IP-ADDR.ARPA串被IP6.ARPA串替换以形成具有IP6.ARPA串的IPv6查询,并且随后将转换后的具有IP6.ARPA串的IPv6查询转发到IPv6DNS服务器。在操作(d)中,基于响应于具有IP6.ARPA串的IPv6查询或具有IP6.INT串的IPv6查询来自IPv6服务器的回复或无回复而生成IPv4回复。在操作(e)中,将所生成的IPv4回复发送到IPv4设备。
在特定实现方式中,生成IPv4回复的操作包括:(i)当响应于具有IP6.ARPA串的IPv6查询或具有IP6.INT串的IPv6查询从IPv6DNS服务器接收到有效IPv6回复时,将有效IPv6回复转换为有效IPv4回复,并丢弃响应于具有IP6.ARPA串的IPv6查询或具有IP6.INT串的IPv6查询而接收到的任何其他回复;以及(ii)当未响应于具有IP6.ARPA串的IPv6查询或具有IP6.INT串的IPv6查询从IPv6DNS服务器接收到有效IPv6回复,但是响应于具有IP6.ARPA串的IPv6查询或具有IP6.INT串的IPv6查询从IPv6DNS服务器接收到至少一个“无应答”IPv6回复时,将所接收的“无应答”IPv6回复之一转换为“无应答”IPv4回复。
在又一实施例中,在接收到IPv4查询并转换为被转发到IPv6DNS服务器的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查询从IPv6DNS服务器接收到有效IPv6回复时,(ii)响应于具有IP6.ARPA串的IPv6查询和具有IP6.INT串的IPv6查询从IPv6DNS服务器接收到具有IP6.INT串的“无应答”IPv6回复和具有IP6.ARPA串的“无应答”IPv6回复时,以及(iii)定时器还未期满时。
在另一种实现方式中,当满足以下条件时,将具有IP6.INT串的“无应答”IPv6回复转换为具有IP-ADDR.ARPA串的IPv4回复:(i)未响应于具有IP6.ARPA串的IPv6查询或具有IP6.INT串的IPv6查询从IPv6DNS服务器接收到有效IPv6回复时,(ii)响应于具有IP6.INT串的IPv6查询只从IPv6DNS服务器接收到具有IP6.INT串的“无应答”IPv6回复时,以及(iii)定时器还未期满时。
在另一方面,当满足以下条件时,将具有IP6.ARPA串的“无应答”IPv6回复转换为具有IP-ADDR.ARPA串的IPv4回复:(i)未响应于具有IP6.ARPA串的IPv6查询或具有IP6.INT串的IPv6查询从IPv6DNS服务器接收到有效IPv6回复时,(ii)响应于具有IP6.ARPA串的IPv6查询只从IPv6DNS服务器接收到具有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服务器的IPv4DNSPTR查询只重复操作(a)和(c)-(e)。相反地,当针对DNS服务器存储的信息指示DNS服务器被配置为只使用IP6.INT串时,对于下一个接收到的被发送到DNS服务器的IPv4DNS PTR查询只重复操作(a)-(b)和(d)-(e)。
在另一实施例中,本发明涉及一种可操作以处理域名系统(DNS)指针(PTR)分组的计算机系统。该计算机系统包括一个或多个处理器和一个或多个存储器。所述存储器和处理器中的至少一个适合于提供上述方法操作中的至少某些。在又一实施例中,本发明涉及一种用于处理域名系统(DNS)指针(PTR)分组的计算机程序产品。该计算机程序产品具有至少一个计算机可读介质和存储在至少一个计算机可读介质内的计算机程序指令,所述计算机程序指令被配置用于执行上述方法操作中的至少某些。
本发明的这些和其他的特征和优点将更详细地表示在下面的说明书和附图中,附图以示例方式示出了本发明的原理。
附图说明
图1是根据本发明一个实施例可以实现本发明的技术的网络的图示。
图2是根据本发明一个实施例IPv4设备向IPv6DNS服务器发送DNSPTR查询的通信图。
图3是图示了根据本发明特定实施例用于处理DNS PTR查询和回复的过程的流程图。
图4是图示了根据本发明一个实施例用于转换IPv4DNS PTR查询的过程的流程图。
图5是图示了根据本发明一个实施例用于转换IPv6DNS 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/IPv6DNS服务器可用于处理IPv4和IPv6请求。每个DNS服务器还可以位于网络100内的任何位置处,如在网络设备108内,直接与网络设备108耦合,或者在LAN网络108内。在WAN 106和/或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 110也可以共享具有LAN 118的可用转换地址的地址池表114和用于跟踪私有和公共地址(例如IPv4和IPv6地址)之间的绑定的映射表112。
概括说来,本发明提供了用于处理IPv4DNS PTR查询和其所得到的IPv6回复的机制。在图1的图示示例中,IPv6设备104首先试图与IPv4设备116通信。在与IPv4设备116通信之前,IPv6设备104向DNS服务器发送其所拥有的IPv4设备116的域名(例如www.1oan4pc.com)以获得IPv4设备116的IP地址。在该IPv6客户端104和DNS服务器之间的DNS握手期间,网络设备108获得用于IPv4设备116的IPv6IP地址和IPv4地址之间的绑定。IPv6IP地址通常是从网络设备220的地址池表114中分配的。IPv6设备104随后可以利用针对IPv4设备116获得的IP地址与IPv4设备116通信。
IPv6在与IPv4设备116通信时使用特定的IP地址标识其自身。IPv4设备116可以尝试向IPv6DNS服务器102验证IPv6设备104的IP地址。IPv4设备116期待DNS服务器102返回针对IPv6设备104的特定IP地址的特定域名(例如www.wan6pc.com)。如果DNS服务器102返回了期待的域名,则IPv4设备116确定IPv6设备是有效的。为了执行这种反向映射有效性检查,IPv4设备116通过网络设备108向IPv6DNS服务器102发送DNS PTR查询。DNS服务器102通过网络设备108将一个或多个DNS PTR回复发送到IPv4设备116。在本发明中,网络设备108可操作以处理针对IPv6DNS服务器的DNS PTR查询和回复,IPv6DNS服务器被配置为使用“IP6.INT”或“IP6.ARPA”字串或这两者。
图2是根据本发明一个实施例的通信图,其中IPv4设备发送DNSPTR查询以验证IPv6设备的地址的反向映射的有效性。图3是图示了根据本发明特定实施例的用于处理DNS PTR查询和回复的过程的流程图,在这里结合图2描述图3。首先,在操作302中接收IPv4DNS PTR查询。例如,网络设备108接收从IPv4设备116被发送向IPv6DNS服务器102的IPv4DNS PTR查询。
在操作304中,所接收的IPv4DNS PTR查询被利用串“IP6.INT”转换为IPv6查询,并且该转换后的查询随后被发送到DNS服务器。另外,在操作306中,所接收的IPv4DNS PTR查询被利用串“IP6.ARPA”转换为IPv6查询,并被发送到DNS服务器。当然,这些转换仅在查询是去往IPv6型的DNS服务器的情况下才被执行。如果对于网络设备(例如108)所用的MAP表(例如112)中的目的地设备存在绑定,则通常需要转换。
图4是图示了根据本发明一个实施例用于转换IPv4DNS PTR查询的过程的流程图。这些操作可以按任何合适的顺序执行。在图示实施例中,在操作402中,查询的“IN-ADDR.ARPA”串被“IP6.INT”(或“IP6.ARPA”)串替换。注意,对于两种不同类型的IPv6串执行两种转换。在操作404中,相反顺序的并且在串之前的查询的IPv4地址八位字节被相应的相反顺序的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中该IPv6DNS PTR回复被转换为IPv4DNS PTR回复。对应于该特定查询的任何随后接收到的IPv6DNS PTR回复被丢弃。随后过程结束。
下面的转换过程可以针对具有“IP6.INT”或“IP6.ARPA”串的DNSPTR回复执行。图5是图示了根据本发明一个实施例用于转换IPv6DNSPTR回复的过程的流程图。操作可以按任何合适的顺序执行。在该示例中,“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,如果所接收的IPv6DNS PTR回复无效,则过程随后在操作310中再次确定是否已接收到回复。如果接收到回复,则过程随后将执行操作312(可能是314),如上所述。
如果还未接收到DNS PTR回复,则随后在操作316中确定定时器是否已期满。如果定时器还未期满,则在操作310中再次确定是否已接收到回复。过程300等待接收到回复,直到定时器期满。
当定时器期满时,随后在操作318中确定是否已接收到具有IPv6.ARPA格式的“无应答”回复。如果已接收到这种回复,则在操作320中,该IPv6DNS PTR“无应答”回复被转换为IPv4回复,并且该转换后的回复被发送到DNS服务器。如果还接收到具有IP6.INT串的另一“无应答”回复,则其被丢弃。
如果还未接收到IPv6.ARPA格式的回复,则随后在操作322中确定是否已接收到具有IPv6.INT格式的“无应答”回复。如果已接收到这种回复,则在操作324中,该IPv6DNS 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)也构成CPU 62的一部分。然而,有多种存储器可以耦合到系统的不同方式。存储器块61可用于多种目的,例如缓存和/或存储数据、程序指令等。
接口68一般被提供为接口卡(有时也称为“线路卡”)。通常,其控制网络上数据分组或数据段的发送和接收,有时还支持与路由器10一起使用的其他外设。可以提供的接口有以太网接口、帧中继接口、线缆接口、DSL接口、令牌环接口等等。另外,可以提供各种甚高速接口,如快速以太网接口、G比特以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口等等。通常,这些接口可以包括适合于与适当介质通信的端口。在某些情况下,其还可以包括独立处理器和(在某些情况下)易失性RAM。独立处理器可以控制诸如分组交换、介质控制和管理之类的通信密集型任务。通过提供用于通信密集型任务的独立处理器,这些接口允许主微处理器62高效地执行路由计算、网络诊断、安全性功能等。
尽管图6中所示的系统是本发明的一种特定路由器,但是它决不是可以实现本发明的唯一路由器体系结构。例如,经常使用具有单个处理器的体系结构,这单个处理器处理通信以及路由计算等。另外,其他类型的接口和介质也可以与路由器一起使用。
无论网络设备的配置如何,其都可以采用一个或多个存储器或存储器模块(例如存储器块65),这些存储器或存储器模块被配置为存储用于通用网络操作和/或上述本发明的技术的数据、程序指令。程序指令例如可以控制操作系统和/或一个或多个应用的操作。这一个或多个存储器也可以被配置为存储接收到的分组、跟踪每个流和这些流的数目的标识符、关于DNS服务器的状态信息、MAP表、池表、连接表等。
由于这些信息和程序指令可用于实现这里描述的系统/方法,因此本发明涉及包括用于执行这里描述的各种操作的程序指令、状态信息等的机器可读介质。机器可读介质的示例包括但不限于诸如硬盘、软盘和磁带之类的磁介质;诸如CD-ROM盘和DVD之类的光介质;诸如可光读磁盘之类的磁光介质;和被特殊配置为存储并执行程序指令的硬件设备,如只读存储器(ROM)和随机访问存储器(RAM)。本发明还可以实现在沿适当介质传播的载波中,如无线电波、光线、电线等。程序指令的示例既包括机器代码,如由编译器产生的代码,又包括包含可由计算机利用解释器执行的更高级代码的文件。
尽管为了理解清楚已经描述了前述的本发明,但是应当清楚,在所附权利要求的范围内可以进行某些改变和修改。因此,所描述的实施例应当认为是示例性的而非限制性的,并且本发明应当不局限于这里给出的细节,而是应当由权利要求及其等同物限定。
Claims (28)
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查询从所述IPv6DNS服务器接收到有效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查询从所述IPv6DNS服务器接收到有效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查询从所述IPv6DNS服务器接收到有效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服务器的IPv4 DNS PTR查询只重复操作(a)和(c)-(e);以及
当针对所述DNS服务器存储的信息指示所述DNS服务器被配置为只使用所述IP6.INT串时,对于下一个接收到的被发送向所述DNS服务器的IPv4 DNS PTR查询只重复操作(a)-(b)和(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查询从所述IPv6DNS服务器接收到有效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回复,并且(iii)所述定时器还未期满时,将所述具有IP6.INT串的“无应答”IPv6回复转换为具有IP-ADDR.ARPA串的IPv4回复。
16.如权利要求15所述的计算机系统,其中当(i)未响应于所述具有IP6.ARPA串的IPv6查询或所述具有IP6.INT串的IPv6查询从所述IPv6DNS服务器接收到有效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服务器的IPv4 DNS PTR查询只重复操作(a)和(c)-(e);以及
当针对所述DNS服务器存储的信息指示所述DNS服务器被配置为只使用所述IP6.INT串时,对于下一个接收到的被发送向所述DNS服务器的IPv4 DNS PTR查询只重复操作(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服务器的IPv4 DNS PTR查询只重复操作(a)和(c)-(e);以及
当针对所述DNS服务器存储的信息指示所述DNS服务器被配置为只使用所述IP6.INT串时,对于下一个接收到的被发送向所述DNS服务器的IPv4 DNS PTR查询只重复操作(a)-(b)和(d)-(e)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/848,344 | 2004-05-17 | ||
US10/848,344 US7529852B2 (en) | 2004-05-17 | 2004-05-17 | Method and apparatus for handling IPv4 DNS PTR queries across IPv4 and IPv6 networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101156147A true CN101156147A (zh) | 2008-04-02 |
CN100573496C CN100573496C (zh) | 2009-12-23 |
Family
ID=35426699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200580015737XA Expired - Fee Related CN100573496C (zh) | 2004-05-17 | 2005-05-16 | 用于处理跨IPv4和IPv6网络的IPv4 DNS PTR查询的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7529852B2 (zh) |
EP (1) | EP1754351B1 (zh) |
CN (1) | CN100573496C (zh) |
WO (1) | WO2005117375A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102859972A (zh) * | 2010-04-26 | 2013-01-02 | 诺基亚公司 | 用于合成地址检测的方法和装置 |
CN104852995A (zh) * | 2014-02-14 | 2015-08-19 | 中国电信股份有限公司 | 用于访问网络资源的方法、家庭网关和系统 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7865617B1 (en) * | 2004-06-10 | 2011-01-04 | Infoblox Inc. | Maintaining consistency in a database |
KR100607993B1 (ko) * | 2004-07-16 | 2006-08-02 | 삼성전자주식회사 | 이종 네트워크간 통신 시스템 및 방법 |
US20060075138A1 (en) * | 2004-09-28 | 2006-04-06 | Utstarcom, Inc. | Method and apparatus to facilitate IPv6 DNS requests |
FR2879385A1 (fr) * | 2004-12-09 | 2006-06-16 | Thomson Licensing Sa | Methode d'agregation de decouverte de service dans un reseau local et appareil implementant la methode |
US7436783B2 (en) * | 2005-04-04 | 2008-10-14 | Apple Inc. | Method and apparatus for detecting a router that improperly responds to ARP requests |
US20060256814A1 (en) * | 2005-05-13 | 2006-11-16 | Lockheed Martin Corporation | Ad hoc computer network |
US20060256770A1 (en) * | 2005-05-13 | 2006-11-16 | Lockheed Martin Corporation | Interface for configuring ad hoc network packet control |
US20060256717A1 (en) * | 2005-05-13 | 2006-11-16 | Lockheed Martin Corporation | Electronic packet control system |
US7599289B2 (en) * | 2005-05-13 | 2009-10-06 | Lockheed Martin Corporation | Electronic communication control |
US8935429B2 (en) | 2006-12-19 | 2015-01-13 | Vmware, Inc. | Automatically determining which remote applications a user or group is entitled to access based on entitlement specifications and providing remote application access to the remote applications |
US7779091B2 (en) | 2005-12-19 | 2010-08-17 | Vmware, Inc. | Method and system for providing virtualized application workspaces |
US20070185995A1 (en) * | 2006-02-09 | 2007-08-09 | Motorola, Inc. | Method and telecommunications equipment for interworking internet and circuit networks |
US8804759B2 (en) * | 2006-02-28 | 2014-08-12 | Hewlett-Packard Development Company, L.P. | Network name resolution into network address |
EP2056567A3 (en) * | 2006-04-24 | 2010-11-03 | KTFreetel Co., Ltd. | Interworking system between IP networks using different IP addressing scheme, application layer gateway (ALG), network address translator, and SIP message routing method thereof |
CN101325580B (zh) * | 2007-06-15 | 2012-01-25 | 上海亿人通信终端有限公司 | 基于nat-pt的ftp应用层网关的实现方法 |
JP4840306B2 (ja) * | 2007-09-18 | 2011-12-21 | 富士通株式会社 | 通信抑制方法、通信抑制装置、および通信抑制プログラム |
US8635440B2 (en) * | 2007-12-13 | 2014-01-21 | Microsoft Corporation | Proxy with layer 3 security |
US8782278B2 (en) * | 2008-03-21 | 2014-07-15 | Qualcomm Incorporated | Address redirection for nodes with multiple internet protocol addresses in a wireless network |
US8301743B2 (en) * | 2008-07-24 | 2012-10-30 | Go Daddy Operating Company, LLC | Enhanced domain name generation and registration |
TWI385999B (zh) * | 2008-08-05 | 2013-02-11 | Davicom Semiconductor Inc | And a method of accessing the connection between the user side and the network device in the network system |
US8495717B1 (en) | 2009-04-24 | 2013-07-23 | Amazon Technologies, Inc. | Secure key distribution service |
CN102347993B (zh) * | 2010-07-28 | 2014-03-26 | 中国移动通信集团公司 | 一种网络通信的方法和设备 |
US20130103853A1 (en) * | 2011-07-29 | 2013-04-25 | 3Crowd Technologies, Inc. | Directing clients based on communication format |
US9680791B2 (en) | 2011-07-29 | 2017-06-13 | Fortinet, Inc. | Facilitating content accessibility via different communication formats |
US20130151725A1 (en) * | 2011-12-13 | 2013-06-13 | B | Method and System for Handling a Domain Name Service Request |
US8800011B2 (en) | 2012-05-31 | 2014-08-05 | Rackspace Us, Inc. | Validating pointer records in a domain name system (DNS) service |
CN102761629B (zh) * | 2012-07-11 | 2016-01-06 | 华为终端有限公司 | 设置dns服务器地址的方法、装置及系统 |
TWI513239B (zh) * | 2014-09-03 | 2015-12-11 | Hon Hai Prec Ind Co Ltd | 網路設備及其進行路由轉發的方法 |
CN106572199B (zh) * | 2016-10-11 | 2019-11-29 | 上海北信源信息技术有限公司 | 一种避免dns污染的方法 |
US10425330B2 (en) * | 2017-04-24 | 2019-09-24 | International Business Machines Corporation | Routing packets in multiple destination networks with overlapping address spaces |
KR20210049335A (ko) * | 2019-10-25 | 2021-05-06 | 삼성전자주식회사 | 테더링 서비스 제공을 위한 ip 패킷 변환 방법 및 이를 수행하는 통신 시스템 |
CN110784562B (zh) * | 2019-10-25 | 2021-10-01 | 新华三信息安全技术有限公司 | 报文转发、域名地址查询方法、装置、设备及介质 |
FR3104865A1 (fr) * | 2019-12-13 | 2021-06-18 | Orange | Procédé de traitement de requêtes de résolution de nom de domaine. |
US11909796B2 (en) | 2020-08-17 | 2024-02-20 | Arris Enterprises Llc | Processing real-time-streaming-protocol (RTSP) packets to enhance video-on-demand services |
US20230062068A1 (en) * | 2021-09-02 | 2023-03-02 | Cisco Technology, Inc. | Techniques for performing domain name system support |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1366613B1 (en) * | 2001-03-08 | 2008-09-24 | BRITISH TELECOMMUNICATIONS public limited company | Address translator and address translation method |
US7231452B2 (en) * | 2002-11-29 | 2007-06-12 | National University Of Singapore | Method and apparatus for communicating on a communication network |
US7305481B2 (en) * | 2003-01-07 | 2007-12-04 | Hexago Inc. | Connecting IPv6 devices through IPv4 network and network address translator (NAT) using tunnel setup protocol |
KR100560737B1 (ko) * | 2003-02-18 | 2006-03-13 | 삼성전자주식회사 | 듀얼스택을 이용한 아이피브이4 - 아이피브이6 전환 장치및 그 방법 |
JP4271988B2 (ja) * | 2003-05-19 | 2009-06-03 | 株式会社日立コミュニケーションテクノロジー | パケット通信装置 |
US7467214B2 (en) * | 2003-06-20 | 2008-12-16 | Motorola, Inc. | Invoking protocol translation in a multicast network |
-
2004
- 2004-05-17 US US10/848,344 patent/US7529852B2/en not_active Expired - Fee Related
-
2005
- 2005-05-16 WO PCT/US2005/017238 patent/WO2005117375A2/en active Application Filing
- 2005-05-16 EP EP05744186.7A patent/EP1754351B1/en not_active Not-in-force
- 2005-05-16 CN CNB200580015737XA patent/CN100573496C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102859972A (zh) * | 2010-04-26 | 2013-01-02 | 诺基亚公司 | 用于合成地址检测的方法和装置 |
US10079917B2 (en) | 2010-04-26 | 2018-09-18 | Nokia Technologies Oy | Method and apparatus for synthesized address detection |
CN104852995A (zh) * | 2014-02-14 | 2015-08-19 | 中国电信股份有限公司 | 用于访问网络资源的方法、家庭网关和系统 |
CN104852995B (zh) * | 2014-02-14 | 2018-04-06 | 中国电信股份有限公司 | 用于访问网络资源的方法、家庭网关和系统 |
Also Published As
Publication number | Publication date |
---|---|
US7529852B2 (en) | 2009-05-05 |
EP1754351B1 (en) | 2019-03-27 |
EP1754351A2 (en) | 2007-02-21 |
US20050267978A1 (en) | 2005-12-01 |
CN100573496C (zh) | 2009-12-23 |
WO2005117375A2 (en) | 2005-12-08 |
EP1754351A4 (en) | 2013-08-07 |
WO2005117375A3 (en) | 2007-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100573496C (zh) | 用于处理跨IPv4和IPv6网络的IPv4 DNS PTR查询的方法和装置 | |
US7277453B2 (en) | Inter private network communications between IPv4 hosts using IPv6 | |
US7526562B1 (en) | Stateful IPv4-IPv6 DNS application level gateway for handling topologies with coexisting IPv4-only, Ipv6-only and dual-stack devices | |
US7573903B2 (en) | IPv6/IPv4 translator | |
EP1583323B1 (en) | Communications apparatus, name resolution method and program | |
US7450499B2 (en) | Method and apparatus for interconnecting IPv4 and IPv6 networks | |
US6434627B1 (en) | IP network for accomodating mobile users with incompatible network addressing | |
US6175867B1 (en) | System and method for managing networks addressed via common network addresses | |
EP1488610B1 (en) | System for selecting a connectivity mechanism | |
US7558880B2 (en) | Dynamic DNS registration method, domain name solution method, DNS proxy server, and address translation device | |
US20060067342A1 (en) | Method and system in an IP network for using a network address translation (NAT) with any type of application | |
US20040044778A1 (en) | Accessing an entity inside a private network | |
CN1711743A (zh) | 在数据网络中允许远程访问的方法和设备 | |
US20090138611A1 (en) | System And Method For Connection Of Hosts Behind NATs | |
CN101098284A (zh) | 实现网络无缝互连的方法 | |
CN101133609A (zh) | 通信节点和通信控制方法 | |
WO2002069566A2 (en) | Proxy-less packet routing between private and public address realms | |
CN1666486A (zh) | 用于使用域名服务锚定移动节点的方法和装置 | |
CN101796769B (zh) | 用于改善控制服务器性能的因特网协议版本4上的因特网协议版本6转变方法和设备 | |
US7788407B1 (en) | Apparatus and methods for providing an application level gateway for use in networks | |
Francis | Pip near-term architecture | |
CN1949783B (zh) | 域名解析服务器应答报文网络地址转换中的地址映射方法 | |
US7864780B1 (en) | Apparatus and methods for handling name resolution over IPV6 using NAT-PT and DNS-ALG | |
CN103701955B (zh) | 域名查询请求的方法及其系统 | |
CN101262410A (zh) | 基于nat-pt的dns应用层网关的实现方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091223 Termination date: 20210516 |
|
CF01 | Termination of patent right due to non-payment of annual fee |