CN117941334A - 用于执行域名系统支持的技术 - Google Patents

用于执行域名系统支持的技术 Download PDF

Info

Publication number
CN117941334A
CN117941334A CN202280059647.4A CN202280059647A CN117941334A CN 117941334 A CN117941334 A CN 117941334A CN 202280059647 A CN202280059647 A CN 202280059647A CN 117941334 A CN117941334 A CN 117941334A
Authority
CN
China
Prior art keywords
dns
address
resolver
pattern
packet
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.)
Pending
Application number
CN202280059647.4A
Other languages
English (en)
Inventor
杰弗里·罗德·戴维斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN117941334A publication Critical patent/CN117941334A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/686Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开描述了用于在公共解析器上执行域名系统(DNS)支持的技术。例如,电子设备可以向本地DNS解析器发送查询。电子设备然后可以从本地DNS解析器接收包括模式的应答。使用该应答,电子设备可以生成DNS分组,该DNS分组至少包括该应答和对与第一互联网协议(IP)版本(例如IPv6)相关联的第一IP地址的查询。电子设备然后可以将DNS分组发送到公共DNS解析器。使用DNS分组,公共DNS解析器可以生成与第一IP版本相关联的合成IP地址。例如,公共DNS解析器可以识别与第二IP版本(例如IPv4)相关联的第二IP地址,并使用第二IP地址和应答生成合成IP地址。

Description

用于执行域名系统支持的技术
相关申请的交叉引用
本申请要求于2021年9月2日提交的第17/464966号美国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开总体涉及通过利用当需要IPv4到IPv6网络地址转换时进行查找请求的DNS客户端提供的信息来优化公共DNS服务器(解析器)上的域名查找。
背景技术
域名系统(DNS)解析器与IP地址转换器(例如网络地址转换6到4(NAT64)网关)一起工作,以便使用称为DNS64的技术实现本地互联网协议版本6(IPv6)网络上的客户端与互联网协议版本4(IPv4)外部网络上的服务器之间的客户端-服务器通信。例如,启用DNS64的本地DNS解析器(即专用网络上的DNS解析器)可以使用为转换器配置的网络前缀(前缀),其中前缀由本地网络的网络管理员配置。为了实现DNS查找,本地DNS解析器将前缀添加到与IPv4服务器相关联的IPv4地址,以生成合成IPv6地址。然后,IPv6客户端使用该地址以经由转换器访问IPv4服务器。然而,由于前缀与本地网络相关联,因此不包括在本地网络中的外部DNS解析器(此后称为公共DNS解析器)无法从IPv4地址生成合成IPv6地址,从而使公共DNS解析器无法为需要IPv4到IPv6网络地址转换的名称查找提供服务。
附图说明
下面参考附图进行详细描述。在图中,附图标记最左边的数字标识附图标记首次出现的图。在不同的图中使用相同的附图标记表示相似或相同的项目。在某些情况下,在附图标记之后使用括号来区分相似的元素。不带相关括号的附图标记使用对元素是通用的。附图中所描绘的系统不是按比例绘制的,并且图中的组件可以被描绘成不相互按比例绘制。
图1A示出了根据本构思的具有其中可以提供域名系统支持的示例环境的组件图。
图1B示出了根据本构思的具有其中可以提供域名系统支持的示例环境的另一组件图。
图2示出了根据本构思的其中可以提供“反向查找”支持的示例环境的组件图。
图3示出了根据本构思的电子设备增强域名系统分组的示例过程的流程图。
图4示出了根据本构思的域名系统(DNS)解析器使用来自DNS分组的应答生成合成资源记录的示例过程的流程图。
图5示出了根据本构思的电子设备增强域名系统分组用于反向查找的示例过程的流程图。
图6示出了根据本构思的域名系统(DNS)解析器使用增强型DNS分组进行反向查找的示例过程的流程图。
图7示出了计算系统图,其示出了可用于实现本文公开的技术的各方面的数据中心的配置。
图8是示出用于实现服务器计算设备的说明性计算机硬件体系结构的计算机体系结构图,该服务器计算设备可用于实现本文中所提出的各种技术的各方面。
具体实施方式
概述
本发明的各方面在独立权利要求中陈述,并且优选特征在从属权利要求中阐述。一个方面的特征可以单独应用于每个方面,也可以与其他方面相结合。
本公开至少部分地描述了一种电子设备,该电子设备被配置为确定与第一互联网协议(IP)版本相关联的模式(pattern)。该电子设备还被配置为生成域名系统(DNS)分组,该DNS分组至少包括该模式和对与资源相关联的IP地址的查询,该IP地址与第二IP版本相关联。此外,该电子设备被配置为将DNS分组发送到DNS解析器。
本公开还至少部分地描述了一种方法,该方法包括确定与第一互联网协议(IP)版本相关联的模式。该方法还包括生成域名系统(DNS)分组,该DNS分组至少包括该模式和对与资源相关联的IP地址的查询,该IP地址与第二IP版本相关联。此外,该方法包括将DNS分组发送到DNS解析器。
本公开至少部分地进一步描述了一种被配置为从电子设备接收域名系统(DNS)分组的系统,该DNS分组至少包括模式和对与资源相关联的第一互联网协议(IP)地址的查询,该第一IP地址与第一IP版本相关联。该系统还被配置为确定与该资源相关联的第二IP地址,该第二IP地址与第二IP版本相关联。此外,该系统被配置为至少部分地基于该第二IP地址和该模式来生成合成IP地址,该合成IP地址与该第一IP版本相关联。
示例实施例
本公开至少部分地描述了用于在公共解析器上执行域名系统(DNS)支持的技术。例如,电子设备可以连接到使用第一互联网协议(IP)版本(例如,IP版本6(IPv6))的第一网络(例如,局域网)。电子设备可以尝试与连接到第二网络(例如,广域网)并且使用第二IP版本(例如,IP版本4(IPv4)或IPv4/IPv6双栈)的资源进行通信。为了进行通信,电子设备可以与作为第一网络的一部分的第一DNS解析器(例如,本地DNS解析器)进行通信,以获取包括与本地转换器(例如,网络地址转换6到4(NAT64)网关)相关联的至少一个模式的应答。电子设备然后可以生成DNS分组(例如,增强型DNS分组),该DNS分组至少包括包含(一个或多个)模式的应答和对与资源相关联的IPv6地址的查询。在生成DNS分组之后,电子设备可以将DNS分组发送到第二DNS解析器(例如,公共DNS解析器)。使用DNS分组,第二DNS解析器可以获取与资源相关联的IPv4地址,然后使用来自DNS分组的包含(一个或多个)模式的应答来生成至少一个合成IP地址。第二DNS解析器然后可以将(一个或多个)合成IP地址发送回电子设备。在某些示例中,使用(一个或多个)合成IP地址,电子设备然后能够与资源进行通信。
更详细地说,再次使用第一网络通信的电子设备可以尝试与再次使用第二网络通信的资源通信。如本文所述,电子设备可以包括但不限于移动电话、计算机、笔记本电脑、DNS解析器和/或任何其他类型的设备。此外,资源可以包括但不限于设备、系统、服务器、节点和/或任何其他类型的网络资源。为了与资源通信,电子设备(例如,在电子设备上执行的网络浏览器)可以生成DNS请求(在这些示例中称为“第一DNS请求”),该DNS请求包括对与第一IP版本相关联的IP地址(在这些示例中称为“第一IP地址”)的查询。例如,查询可以包括针对与资源相关联的IPv6地址的AAAA查询。在一些示例中,电子设备然后将第一DNS请求发送到第一DNS解析器,第一DNS解析器被配置为生成合成资源记录。
例如,第一DNS解析器可以初始搜索与第一IP版本相关联的资源记录(在这些示例中称为“第一资源记录”)(例如AAAA资源记录)。由于资源在使用第二IP版本进行通信,所以第一DNS解析器可以确定第一资源记录不可用。因此,第一DNS解析器可以向电子设备发送包括空应答的DNS响应(在这些示例中称为“第一DNS响应”)。基于接收到第一DNS响应,电子设备然后可以生成另一DNS请求(例如,在这些示例中称为“第二DNS请求”),该请求包括对与第二IP版本相关联的附加地址(在这些示例中称为“第二地址”)的查询。例如,该查询可以包括对与资源相关联的IPv4地址的A查询。电子设备然后可以将第二DNS请求发送到第一DNS解析器。
基于接收到第二DNS请求,第一DNS解析器然后可以搜索与第二IP版本相关联的资源记录(在这些示例中称为“第二资源记录”)(例如A资源记录),其中,第二资源纪录包括与资源相关联的IP地址(在这些示例中称为”第二IP地址“)(例如,与资源相关联的IPv4地址)。响应于识别第二资源记录,第一DNS解析器然后使用第二资源纪录和与第一网络相关联的信息生成合成资源记录。例如,第一DNS解析器可以通过至少将与局域网相关联的前缀和/或后缀添加到第二资源记录中包含的IPv4地址来生成合成AAA资源记录。然后,第一DNS解析器可以向电子设备发送包括合成资源记录的DNS响应(在这些示例中称为“第二DNS响应”)。使用包含在合成资源记录中的合成IP地址,电子设备然后能够经由本地转换器与资源通信。
此外,电子设备(例如,拦截第一DNS请求的DNS代理)可以向第二DNS解析器发送至少包括第一DNS请求的DNS分组。在一些示例中,第二DNS解析器可以使用DNS分组来执行与资源相关联的一个或多个检查,例如一个或更多个安全检查(例如,确定资源是否是恶意的,确定资源是否与网络钓鱼骗局相关联,等等)。为了执行一个或多个安全检查,第二DNS解析器可能需要与资源相关联的(一个或多个)合成IP地址。然而,由于前缀和/或后缀可能是电子设备用于通信的第一网络所特有的,因此第二DNS解析器可能无法执行与上面关于第一DNS解析器描述的过程类似的过程以便生成(一个或多个)合成IP地址。这是因为,与第一DNS解析器不同,第二DNS解析器可能不知道前缀和/或后缀,因为它不是内部网络的一部分。因此,电子设备可以初始地增强发送到第二DNS解析器的DNS数据分组,以便第二DNS解析器可以使用增强的添加到DNS分组的数据,以生成(一个或多个)合成IP地址。
为了增强DNS分组,电子设备可以首先向第一DNS解析器(和/或与第一网络相关联的任何其他DNS解析器)发送对与第一网络关联的IP地址(在这些示例中称为“第三IP地址”)的查询。在一些示例中,查询包括对名称ipv4only.arpa的第三IP地址(例如IPv6地址)的DNS查询。第一DNS解析器(和/或其他(一个或多个)DNS解析器)然后可以向电子设备发送包括第三IP地址的应答(例如AAAA应答)。在一些示例中,第三IP地址可以包括具有与第一网络相关联的前缀和后缀的IPv6地址和与第二网络相关联的IP地址(在这些示例中称为“第四IP地址”)(例如,公知的IPv4地址,例如但不限于192.0.0.170、192.0.0.171和/或任何其他公知的地址),所述前缀和后缀与“模式”相关联。在一些示例中,电子设备可以从(一个或多个)本地DNS解析器接收多于一个的应答,其中(一个或多个)应答包括多于一个IP地址(例如,使用192.0.0.170的第一应答和使用192.0.0.171的第二应答)。
虽然这只是电子设备如何可确定(一个或多个)模式的一个示例,但在其他示例中,电子设备可以使用附加和/或替代技术来确定(一个或多个)模式。例如,例如当电子设备包括DNS解析器(在下文中更详细地描述)时,可以由网络管理员在DNS解析器中配置(一个或多个)模式。在本文的任何示例中,电子设备(例如,DNS代理)然后可以使用(一个或多个)模式来增强DNS分组。
对于第一示例,电子设备(和/或DNS代理)可以将(一个或多个)模式嵌入到DNS分组的OPT_RR部分中。在一些示例中,可以注册并创建新的互联网号码分配机构(IANA)代码,其中电子设备(和/或DNS代理)使用新的IANA代码嵌入模式。在一些示例中,电子设备(和/或DNS代理)使用与DNS分组的OPT_RR部分相关联的现有代码来嵌入(一个或多个)模式。仍然,在其他示例中,电子设备(和/或DNS代理)可以与DNS分组和/或第一DNS查询一起在包括(一个或多个)模式的增强型DNS分组中发送附加资源记录(在这种情况下,必须定义和标准化新的资源记录类型以携带前缀数据)。换言之,由电子设备(和/或DNS代理)发送的DNS分组可以通过将包括(一个或多个)模式的附加和/或资源记录添加到DNS分组来增强,或者通过将(一个或多个)模式添加到OPT_RR资源记录的主体来增强,该OPT_RR资源记录随后被添加到DNS分组。
在增强DNS分组之后,电子设备可以将DNS分组发送到第二DNS解析器。然后,第二DNS解析器可以执行上述针对第一DNS解析器的过程中的一些,以便生成合成资源记录。例如,第二DNS解析器可以首先搜索与第一IP版本相关联的第一资源记录(例如AAAA资源记录)。同样,由于资源在使用第二IP版本进行通信,所以第二DNS解析器可以确定第一资源记录不可用。第二DNS解析器然后可以分析DNS分组以确定DNS分组包括(一个或多个)模式(例如,确定DNS分组被包括(一个或多个)模式的应答增强)。基于该确定,第二DNS解析器然后可以搜索与第二IP版本相关联的第二资源记录(例如,A资源记录)。基于识别第二资源记录,第二DNS解析器然后使用(一个或多个)模式和第二资源纪录生成合成资源纪录(例如,合成的AAAA资源纪录)。
例如,例如当DNS分组包括(一个或多个)模式时,第二DNS解析器可以分析(一个或多个)模式,以便识别第一网络的与(一个或多个)模式相关联的前缀和/或后缀。例如,第二DNS解析器可以通过执行(一个或多个)模式匹配来确定公知的IPv4地址的起始位置。一旦第二DNS解析器识别出公知的IPv4地址,第二DNS解析器就可以确定公知的IPv4地址之前的任何东西定义前缀,并且公知的IPv4地址之后的任何东西定义后缀。第二DNS解析器然后可以通过至少将与第一网络相关联的前缀和/或后缀添加到包含在第二资源记录中的IPv4地址来生成合成的AAA资源记录。虽然这只是第二DNS解析器可如何生成合成资源记录的一个示例技术,但在其他示例中,第二DNS解析器可以执行附加和/或替代技术。
在一些示例中,第二DNS解析器然后可以使用合成资源记录来执行一个或多个安全检查。此外,在一些示例中,第二DNS解析器可以向电子设备发送包括合成资源记录的DNS响应(在这些示例中称为“第三DNS响应”)。
上面的示例描述了电子设备增强DNS分组,以便对与第一IP版本相关联的地址(例如,IPv6地址)执行到与第二IP版本相关联的资源(例如,IPv4资源)的“正向查找”。换言之,这些示例描述了将名称映射到地址。然而,在其他示例中,设备可以执行类似的DNS分组增强过程,以便执行将地址映射到一个或多个名称的“反向查找”。例如,电子设备可以生成DNS分组,该DNS分组包括(一个或多个)模式(可以使用本文描述的一个或多个过程来确定)和对与第一版本相关联的地址(IPv6地址)的查询(例如PTR查询)。在一些示例中,电子设备可以使用与上述过程类似的过程,以便在增强DNS分组时将(一个或多个)模式嵌入到DNS分组中。电子设备然后可以将DNS分组发送到第二DNS解析器。
第二DNS解析器将接收由电子设备利用(一个或多个)模式增强的DNS分组。然后,第二DNS解析器获取查询中包含的IP地址(在这些示例中称为“第三IP地址”)(该地址可能包括IPv6地址,并且与上述(一个或多个)合成地址相似),并确定第三IP地址不存在。基于该确定,第二DSN解析器然后可以将第三IP地址与包括在DNS分组中的(一个或多个)模式相匹配。基于该匹配,第二DNS解析器然后使用(一个或多个)模式从第三IP地址提取IP地址(在这些示例中称为“第四IP地址”)(可能包括IPv4地址)。在一些示例中,第二DNS解析器通过从第三IP地址中至少移除与(一个或多个)模式相关联的前缀和后缀来提取第四IP地址。例如,如果第三IP地址包括IPv6地址,则第二DNS解析器可以使用(一个或多个)模式从IPv6地址提取IPv4地址(例如,第四IP地址)。
第二DNS解析器然后可以使用第四IP地址来执行搜索,以便识别与第四IP地址相关联的数据(例如,(一个或多个)名称)。在某些示例中,第二DSN解析器使用第四IP地址通过不同的DNS解析器识别数据。另外,或者替代地地,在一些示例中,第二DSN解析器通过使用第四IP地址在现有缓存数据中执行查找来识别数据。在任一示例中,第二DNS解析器然后可以向电子设备发送包括数据的应答。在一些示例中,例如当第二DNS解析器包括权威DNS解析器时,并且在发送应答之前,第二DNS解析器可以使用密钥(例如,私钥)对应答进行数字签名。这样,将DNS分组发送到第二DNS解析器的电子设备(和/或任何介入的DNS解析器)可以例如通过使用DNS安全扩展(DNSSEC)协议来验证应答。
在DNS分组被增强用于“反向查找”的一些示例中,第二DNS解析器可能必须在生成第四IP地址之前确定(一个或多个)模式与第三IP地址匹配。换言之,如果(一个或多个)模式与第三IP地址不匹配,则第二DNS解析器可能无法使用(一个或多个)模式来生成第三IP地址。这是因为(一个或多个)模式可能需要包括与创建第三IP地址所添加的相同的前缀和后缀,以便第二DNS解析器稍后使用(一个或多个)模式从第三IP地提取第四IP地址。
通过执行本文所述的过程,位于第二网络上的第二DNS解析器能够代替电子设备(例如,代替DNS代理)生成合成资源记录。换言之,DNS64支持可以从电子设备(和/或局域网)移动到第二DNS解析器(和/或者广域网)。此外,本文所描述的过程可以减少在设备之间发送的业务量。例如,在执行对第一资源记录的初始搜索时确定第一资源记录不可用之后,第二DNS解析器不必向电子设备发送第一DNS响应和/或电子设备不必向第二DNS解析器发送第二DNS请求。这除了减少地址合成所需的网络流量之外,还可以减少电子设备和/或第二DNS解析器执行DNS查询所花费的时间,因为两个设备之间的数据交换将需要更少的交互。
现在将在下面参考附图更全面地描述本公开的某些实现和实施例,在附图中示出了各个方面。然而,各个方面可以以许多不同的形式来实现,并且不应被解释为限于本文所阐述的实现。本公开包括如本文所述的实施例的变型。相同的附图标记通篇指代相同的元素。
图1A示出了根据本构思的具有其中可以提供DNS支持的示例环境100的组件图。示例环境100可以包括使用本地网络106的电子设备102和本地DNS解析器104以及使用公共网络112(例如广域网)的公共DNS解析器108和(一个或多个)资源110。在附图标记之后使用括号来区分相似的元素。不带相关括号的附图标记的使用对元素是通用的。此外,尽管图1A的示例将电子设备102图示为包括台式计算机,以及将本地DNS解析器104、公共DNS解析器108和(一个或多个)资源110图示为包括系统,但是在其他示例中,电子设备102、本地DNS解析器104、公共DNS解析器108和/或(一个或多个)资源110可以包括任何其他类型的设备。
在一些示例中,环境100包括数据中心或云计算网络,其包括存储在跨地理区域的多个数据中心上的服务器和其他网络组件(例如,路由器、交换机等)。在这些情况下,云计算环境可以是分布式网络,设备通过该分布式网络与云计算网络提供的服务进行交互。云计算网络可以提供计算系统资源的按需可用性,例如数据存储、计算能力(例如CPU、GPU等)、网络、数据库、DNS功能等,而无需用户直接主动管理。在一些示例中,云计算网络可以由服务提供商管理和维护,使得用户不必为了他们的计算资源需求而投资和维护计算基础设施。
电子设备102、本地DNS解析器104、公共DNS解析器108和/或(一个或多个)资源110可以经由本地网络106和公共网络112在彼此之间通信耦合和/或通信耦合到各种其他设备。在示例环境100内,电子设备102、本地DNS解析器104、公共DNS解析器108、(一个或多个)资源110和/或(一个或多个)任何其他设备可以经由(一个或多个)网络连接交换通信(例如,分组),如双箭头114所示。例如,网络连接114可以是传输控制协议(TCP)网络连接或使设备能够经由本地网络106和/或公共网络112与其他设备交换分组的任何网络连接(例如,信息中心网络(ICN))。网络连接114表示例如电子设备102、本地DNS解析器104、公共DNS解析器108和/或(一个或多个)资源110中的每一个之间的数据路径。
例如,电子设备102可以是计算机、膝上型计算机、移动设备、平板电脑等,而本地DNS解析器104和/或公共DNS解析器108可以被配置为向电子设备102提供数据和/或网络服务,例如DNS服务。电子设备102可以是也可以不是数据的生产者、生成点和/或来源。例如,数据可以源自电子设备102的其他地方,以便能够将数据提供给本地DNS解析器104和/或公共DNS解析器108。附加地或可替换地,数据可以通过电子设备102与本地DNS解析器104和/或公共DNS解析器108之间的路径上的其他网络设备(例如,NAT网关、路由器、交换机等)。应该理解的是,术语“网络连接”也可以被称为“网络路径”。在本示例中使用云计算网络并不意味着限制。根据本文所述的紧急通知构思,可以设想其他类型的网络。
在“步骤1”,电子设备102可以向本地DNS解析器104发送针对与本地网络106相关联的(一个或多个)模式118的查询116。例如,与电子设备102相关联的DNS代理120可以拦截第一DNS请求122,该第一DNS请求可以由电子设备102的网络浏览器生成和/或发送。基于拦截第一DNS请求122,DNS代理120可以确定生成增强型DNS分组124,该增强型DNS分组包括至少DNS请求122和至少包括(一个或多个)模式118的应答集126(例如,一个或多个应答)。这样,DNS代理120可以使电子设备102将查询116发送到本地DNS解析器104。在一些示例中,查询116包括对名称ipv4only.arpa的第一IP地址版本的地址(例如,IPv6地址)的DNS查询。然而,在其他示例中,查询116可以包括任何其他类型的查询。
在“步骤2”,本地DNS解析器104然后可以向电子设备102发送包括(一个或多个)模式118的应答集126。例如,在接收到查询116之后,本地DNS解析器104可以确定(一个或多个)模式118。在一些示例中,(一个或多个)模式118与第一IP地址(例如IPv6地址)相关联,其中第一IP地址包括与本地网络106使用的第一IP版本(例如IPv6)相关联的前缀和/或后缀,以及与第二IP版本(例如IPv4)相关联的第二IP地址。例如,第二IP地址可以包括公知的IPv4地址,例如但不限于192.0.0.170和/或192.0.0.171。此外,在一些示例中,本地DNS解析器104(和/或一个或多个其他本地DNS解析器)可以确定与第一IP版本相关联的一个或多个附加模式。本地DNS解析器104然后可以生成包括(一个或多个)模式118的应答集126。在一些示例中,应答集126包括AAAA应答,AAAA应答包括资源记录,其中资源记录包含(一个或多个)模式118。本地DNS解析器104然后可以将应答集126发送到电子设备102。
在“步骤3”,电子设备102可以使用应答集126来增强DNS分组124。例如,在一些示例中,DNS代理120可以通过使用本文所述的一个或多个过程,至少将应答集126包括在DNS分组124中来增强DNS分组124。例如,DNS代理120可以将应答集126嵌入到DNS分组124的OPT_RR部分中,或者如果本地DNS解析器104需要对名称进行递归查找(这种方法消除了对DNS代理的需要),则它可以增强与公共DNS解析器108类似的DNS查询。然而,在其他示例中,DNS代理120可以最初分析应答集126,以便识别前缀和/或后缀。例如,DNS代理120可以通过执行模式匹配来确定公知的IPv4地址从哪里开始。一旦DNS代理120识别出公知的IPv4地址,DNS代理120就可以确定在公知的IPv4地址之前的任何东西包括前缀,并且在公知的IPv4地址之后的任何东西包括后缀。DNS代理120然后可以通过将前缀和/或后缀嵌入到DNS分组124中来增强DNS分组124。
在“步骤4”,电子设备102可以将DNS分组124发送到公共DNS解析器108。例如,在DNS代理120增强DNS分组124之后,DNS代理120可以使电子设备102将DNS分组124发送到公共DNS解析器108。
在“步骤5”,公共DNS解析器108可以使用DNS分组124生成合成资源记录128。例如,公共DNS解析器108可以初始地搜索与第一IP版本相关联的第一资源记录(例如AAAA资源记录)。在一些示例中,公共DNS解析器108使用(一个或多个)地址数据库130搜索第一资源记录。附加地,或者替代地地,在一些示例中,公共DNS解析器108使用一个或多个外部资源(也可以由(一个或多个)资源110表示)来搜索第一资源记录。公共DNS解析器108然后可以分析DNS分组124,以确定DNS分组124包括应答集126(例如,确定DNS分组24被应答集126增强)。基于确定DNS分组124包括应答集126和/或接收到指示存在与第二IP版本相关联的第二资源记录132的信息,公共DNS解析器108然后可以搜索与第二IP版本相关联的第二资源记录132。在一些示例中,公共DNS解析器108使用(一个或多个)地址数据库130搜索第二资源记录132。附加地,或者替代地地,在一些示例中,公共DNS解析器108使用一个或多个外部资源(也可以由(一个或多个)资源110表示,并且可以包括附加的DNS解析器)搜索第二资源记录132。
基于执行搜索,公共DNS解析器108然后可以接收第二资源记录132。公共DNS解析器108然后使用应答集126和第二资源记录132生成合成资源记录128(例如,合成的AAAA资源记录)。例如,公共DNS解析器108可以通过执行模式匹配来确定公知的IPv4地址从哪里开始。一旦公共DNS解析器108识别出公知的IPv4地址,公共DNS解析器108就可以确定公知的IPv6地址之前的任何东西包括前缀,并且公知的IP地址之后的任何东西包括后缀。公共DNS解析器108然后可以通过至少将与第一网络相关联的前缀和/或后缀添加到包含在第二资源记录中的IPv4地址(其可以由134表示)来生成合成的AAAA资源记录。虽然这只是公共DNS解析器108可以如何生成合成资源记录128的一个示例技术,但在其他示例中,公共DNS解析器108可以执行附加和/或替代技术。
然而,在DNS分组124包括前缀和后缀的替代示例中,在没有整个应答集126的情况下,公共DNS解析器108可以从DNS分组124获取前缀和后缀。公共DNS解析器108然后可以通过至少将与第一网络相关联的前缀和/或后缀添加到包含在第二资源记录中的IPv4地址(其可以由134表示)来再次生成合成的AAAA资源记录。
在“步骤6”,公共DNS解析器108可以向电子设备102发送包括(一个或多个)合成地址134的合成资源记录128。
如图1A的示例中进一步所示,电子设备102可以包括(一个或多个)处理器136、(一个或多个)网络接口138和存储器140,本地DNS解析器104可以包括(一个或多个)处理器142、(一个或多个)网络接口144和存储器146,并且公共DNS解析器108可以包括(一个或多个)处理器148、(一个或多个)网络接口150和存储器152。如本文所使用的,处理器可以包括多个处理器和/或具有多个核的处理器。此外,处理器可以包括一个或多个不同类型的核。例如,处理器可以包括应用处理器单元、图形处理单元等等。在一个实例中,处理器可以包括微控制器和/或微处理器。(一个或多个)处理器可以包括图形处理单元(GPU)、微处理器、数字信号处理器或本领域已知的其他处理单元或组件。可替换地或附加地,本文所述的功能可至少部分由一个或多个硬件逻辑组件执行。例如但不限于,可使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。此外,每个处理器可以拥有其自己的本地存储器,该本地存储器还可以存储程序组件、程序数据和/或一个或多个操作系统。
存储器可以包括易失性和非易失性存储器、以任何方法或技术实现的可移除和不可移除介质,用于存储信息,例如计算机可读指令、数据结构、程序组件或其他数据。存储器包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、RAID存储系统、或者可以用于存储期望信息并且可以由计算设备访问的任何其他介质。存储器可以实现为计算机可读存储介质(“CRSM”),其可以是(一个或多个)处理器可访问以执行存储在存储器上的指令的任何可用物理介质。在一个基本实例中,CRSM可以包括随机存取存储器(“RAM”)和闪存。在其他实例中,CRSM可以包括但不限于只读存储器(“ROM”)、电可擦除可编程只读存储器(”EEPROM“)或任何其他有形介质,这些介质可以用于存储所需信息,并且可以由(一个或多个)处理器访问。
此外,功能组件可以存储在相应的存储器中,或者相同的功能可以替换地在硬件、固件、专用集成电路、现场可编程门阵列中实现,或者作为片上系统(SoC)实现。此外,虽然未示出,但本文所讨论的每个相应存储器可以包括至少一个操作系统(OS)组件,该操作系统组件被配置为管理硬件资源设备,例如(一个或多个)网络接口、相应装置的I/O设备等,并向在处理器上执行的应用程序或组件提供各种服务。这样的OS组件可以实现FreeBSD项目发布的FreeBSD操作系统的变体;其他UNIX或类UNIX变体;Linus Torvalds发布的Linux操作系统的变体;来自美国华盛顿州西雅图的Amazon.com Inc.的FireOS操作系统;来自美国华盛顿州雷德蒙德市微软公司的Windows操作系统;加利福尼亚州圣何塞的LynxSoftware Technologies,Inc.发布的LynxOS;瑞典ENEA AB发布的嵌入式操作系统(EneaOSE);等等。
(一个或多个)网络接口可以实现设备之间的数据通信。(一个或多个)网络接口可以包括一个或多个网络接口控制器(NIC)或其他类型的收发器设备,以通过(一个或多个)网络发送和接收消息。例如,(一个或多个)网络接口中的每一个可以包括个域网(PAN)组件,以实现一个或多个短距离无线消息信道上的消息传送。例如,PAN组件可以实现符合以下标准IEEE 802.15.4(ZigBee)、IEEE 802.15.1(蓝牙)、IEEE 802.11(WiFi)或任何其他PAN消息协议中的至少一种的消息传送。此外,(一个或多个)网络接口中的每一个可以包括广域网(WAN)组件,以实现广域网上的消息传送。
如图1A中进一步所示,环境100可以包括网关154,例如NAT64网关(例如,转换器)。在一些示例中,从电子设备102发送到公共DNS解析器108和/或从公共DNS解析器108发送到电子设备102的通信可以通过网关154。例如,电子设备102可以向网关154发送DNS分组124,网关154然后向公共DNS解析器108发送DNS分组。此外,公共DNS解析器108可以将资源记录128发送到网关154,然后网关154将资源记录128发送到电子设备102。
图1B示出了根据本构思的具有其中可以提供域名系统支持的示例环境的另一组件图。在图1B的示例中,本地DNS解析104增强DNS分组124,然后将增强的DNS分组124发送到公共DNS解析器108。例如,在“步骤1”,本地DNS解析器104可以使用(一个或多个)模式118来增强DNS分组124,其中(一个或多个)模式118由配置数据156(例如,由本地网络106的网络管理员配置)表示。例如,在一些示例中,本地DNS解析器104可以通过使用本文所述的一个或多个过程,至少在DNS分组124中包括(一个或多个)模式118来增强DNS分组124。例如,本地DNS解析器104可以将(一个或多个)模式118嵌入到DNS分组124的OPT_RR部分中。
在“步骤2”,本地DNS解析器104可以将DNS分组124发送到公共DNS解析器108。例如,在本地DNS解析器104增强DNS分组124之后,本地DNS解析器104然后将DNS分组124发送到公共DNS解析器108。
在“步骤3”,公共DNS解析器108可以使用DNS分组124生成合成资源记录128。例如,公共DNS解析器108可以最初搜索与第一IP版本相关联的第一资源记录(例如AAAA资源记录)。在一些示例中,公共DNS解析器108使用(一个或多个)地址数据库130搜索第一资源记录。附加地,或者替代地地,在一些示例中,公共DNS解析器108使用一个或多个外部资源(也可以由(一个或多个)资源110表示)来搜索第一资源记录。公共DNS解析器108然后可以分析DNS分组124,以确定DNS分组124包括(一个或多个)模式118(例如,确定DNS分组120被(一个或多个)模式118增强)。基于确定DNS分组124包括(一个或多个)模式118和/或接收到指示存在与第二IP版本相关联的第二资源记录132的信息,公共DNS解析器108然后可以搜索与第二IP版本相关联地第二资源纪录132。在一些示例中,公共DNS解析器108使用(一个或多个)地址数据库130搜索第二资源记录132。附加地,或者替代地地,在一些示例中,公共DNS解析器108使用一个或多个外部资源(其也可以由(一个或多个)资源110表示,并且可以包括附加的DNS解析器)来搜索第二资源记录132。
基于执行搜索,公共DNS解析器108然后可以接收第二资源记录132。公共DNS解析器108然后使用(一个或多个)模式118和第二资源记录132生成合成资源记录128(例如,合成的AAAA资源记录)。例如,公共DNS解析器108可以通过将至少与第一网络相关联的前缀和/或后缀添加到包含在第二资源记录中的IPv4地址(其可以由134表示)来生成合成的AAAA资源记录。虽然这只是公共DNS解析器108可以如何生成合成资源记录128的一个示例技术,但在其他示例中,公共DNS解析器108可以执行附加和/或替代技术。
在“步骤4”,公共DNS解析器108可以向本地DNS解析器104发送包括(一个或多个)合成地址134的合成资源记录128。
如图1B中进一步所示,从本地DNS解析器104发送到公共DNS解析器108和/或从公共DNS解析器108发送到本地DNS解析器104的通信可以通过网关154。例如,本地DNS解析器104可以将DNS分组124发送到网关154,然后网关154将DNS分组124发送到公共DNS解析器108。此外,公共DNS解析器108可以将资源记录128发送到网关154,网关154然后将资源记录128发送到本地DNS解析器。
图1A和1B的示例描述了增强DNS分组,以便对与第一IP版本相关联的地址(例如,IPv6地址)执行到与第二IP版本相关的资源(例如,IPv4资源)的“正向查找”。然而,在其他示例中,设备可以执行类似的DNS分组增强过程,以便执行将地址映射到一个或多个名称的“反向查找”。例如,图2示出了根据本构思的可以提供“反向查找”支持的示例环境的组件图。
在“步骤1”,本地DNS解析器104可以生成DNS分组202,该DNS分组202包括(一个或多个)模式118(可以使用本文所述的一个或多个过程来确定)和用于与第一版本相关联的地址(IPv6地址)的PTR查询204。在一些示例中,本地DNS解析器104可以使用与上述过程类似的过程,以便在增强DNS分组202时将(一个或多个)模式118嵌入到DNS分组202中。此外,虽然图2的示例将本地DNS解析器104示出为生成DNS分组202,但是在其他示例中,电子设备102可以使用(一个或多个)模式118(例如,使用来自图1A的示例的应答集126)来生成DNS分组202。
在“步骤2”,本地DNS解析器104可以将DNS分组202发送到公共DNS解析器108。例如,在本地DNS解析器104增强DNS分组202之后,本地DNS解析器104然后将DNS分组124发送到公共DNS解析器108。
在“步骤3”,公共DNS解析器108获取PTR查询204中包括的IP地址,并确定该IP地址不存在。基于该确定,公共DSN解析器108然后可以将IP地址与包括在DNS分组202中的(一个或多个)模式118相匹配。基于该匹配,公共DNS解析器108然后使用(一个或多个)模式118从IP地址中提取IP地址(在这些示例中称为“提取的IP地址”)。在一些示例中,公共DNS解析器108通过从IP地址中至少移除与(一个或多个)模式118相关联的前缀和后缀来提取提取的IP地址。例如,如果IP地址包括IPv6地址,则公共DNS解析器108可以使用(一个或多个)模式118从IPv6地址提取IPv4地址(例如,提取的IP地址)。
公共DNS解析器108然后可以使用所提取的IP地址来执行搜索,以便识别与所提取IP地址相关联的数据206(例如,(一个或多个)名称)。在一些示例中,公共DSN解析器108使用提取的IP地址通过不同的DNS解析器来识别数据206。附加地,或者替代地地,在一些示例中,公共DSN解析器108通过使用所提取的IP地址在现有缓存数据中执行查找来识别数据206。在任一示例中,公共DNS解析器108然后可以生成包括数据206的应答208。在一些示例中,例如当公共DNS解析器108包括权威DNS解析器时,公共DNS解析器108还可以使用密钥210(例如,私钥)对应答208进行数字签名。这样,可以例如通过使用DNSSEC协议来验证应答208。
最后,在“步骤4”,公共DNS解析器108将应答208发送回本地DNS解析器104。
如图2中进一步示出的,从本地DNS解析器104发送到公共DNS解析器108和/或从公共DNS解析器108发送到本地DNS解析器104的通信可以通过网关154。例如,本地DNS解析器104可以将DNS分组202发送到网关154,然后网关154将DNS分组202发送到公共DNS解析器108。此外,公共DNS解析器108可以将应答208发送到网关154,网关154然后将应答208发送给本地DNS解析器。
图3示出了根据本构思的设备增强域名系统分组的示例过程300的流程图。操作302表示获得与第一网络版本相关联的模式。例如,设备(例如,电子设备102、本地DNS解析器104、公共DNS解析器108等)可以获得(一个或多个)模式。在一些示例中,为了获得(一个或多个)模式,设备可以向本地DNS解析器发送对与第一网络版本(例如,IPv6)相关联的名称的地址的查询。因此,在一些示例中,该查询包括名称为ipv4only.arpa的IPv6地址的DNS查询。然后,该设备可以从本地DNS解析器接收包括(一个或多个)模式的应答集。附加地,或者替代地地,在一些示例中,为了获得(一个或多个)模式,设备可以配置有(一个或多个)模式。虽然这些只是设备可以如何获得(一个或多个)模式的几个示例技术,但在其他示例中,设备可以使用附加和/或替代技术来获得(一个或多个)模式。
操作304表示生成DNS分组,该DNS分组至少包括模式和对与资源相关联的第一地址的查询。例如,在一些示例中,设备可以生成DNS分组以至少包括(一个或多个)模式和对与第一网络版本相关联的第一地址的第一查询。在一些示例中,设备可以通过在DNS分组的OPT_RR部分中嵌入(一个或多个)模式来生成DNS分组。在一些示例中,可以注册和/或创建新的IANA代码,其中设备使用新的IANA代码嵌入(一个或多个)模式。在一些示例中,设备使用与DNS分组的OPT_RR部分相关联的现有代码嵌入(一个或多个)模式。
操作306表示将DNS分组发送到DNS解析器,并且操作308表示从DNS解析器接收合成资源记录,该合成资源记录是使用(一个或多个)模式和与第二网络版本相关联的第二地址生成的。例如,该设备可以将DNS分组发送到DNS解析器(例如,公共DNS解析器)。基于将DNS分组发送到DNS解析器,设备可以从DNS解析器接收合成资源记录。如本文所述,DNS解析器可以通过至少将来自(一个或多个)模式的前缀和/或后缀添加到与包含在资源记录中的第二IP版本相关联的第二地址(例如,IPv4地址)来生成合成资源记录。
图4示出了根据本构思的DNS解析器使用来自DNS分组的应答生成合成资源记录的示例过程400的流程图。操作402表示从电子设备接收域名系统(DNS)分组,该DNS分组包括模式和对与第一互联网协议(IP)版本相关联的第一地址的查询。例如,DNS解析器可以从电子设备(例如,电子设备102、本地DNS解析器104、公共DNS解析器108等)接收DNS分组。在某些情况下,例如当第一个IP版本包括IPv6时,查询包括对AAAA记录的问题。此外,DNS分组可以包括包括IPv6地址的集合,其中IPv6地址包括前缀、公知的IPv4地址和后缀。
操作404表示对第一地址执行第一搜索,操作406表示确定不存在与第一地址相关联的第一资源记录。例如,基于接收到DNS分组,DNS解析器可以执行对与第一地址相关联的第一资源记录的第一搜索(例如,搜索AAAA问题的名称请求的IPv6应答)。在一些示例中,DNS解析器使用(一个或多个)本地地址数据库搜索第一资源记录。附加地,或者替代地地,在一些示例中,DNS解析器使用一个或多个外部资源来搜索第一资源记录。在任一示例中,基于第一搜索,DNS解析器可以确定与第一地址相关联的第一资源记录不存在。这可能是因为与该名称相关联的资源是使用不同于第一IP版本的第二IP版本的网络的一部分。
操作408表示确定DNS分组包括模式。例如,DNS解析器可以分析DNS分组,并且基于该分析确定DNS分组包括(一个或多个)模式。在一些示例中,DNS解析器在执行第一次搜索之前分析DNS分组。在一些示例中,DNS解析器在确定第一资源记录不存在之后分析DNS分组。
操作410表示至少部分基于该模式执行对与第二IP版本相关联的第二地址的第二搜索,并且操作412表示接收包括第二地址的第二资源记录。例如,基于确定DNS分组包括(一个或多个)模式,DNS解析器可以确定执行第二搜索。在一些示例中,第二IP版本包括IPv4(例如,第二搜索是针对与请求中的名称相关联的IPv4地址)。在一些示例中,DNS解析器使用(一个或多个)本地地址数据库搜索第二资源记录。附加地,或者替代地地,在一些示例中,DNS解析器使用一个或多个外部资源来搜索第二资源记录。在任一示例中,基于第二搜索,DNS解析器可以接收与第二地址相关联的第二资源记录。
操作414表示使用第二地址和模式来生成合成资源记录。例如,DNS解析器可以至少使用第二地址和(一个或多个)模式来生成合成资源记录。如本文所述,在一些示例中,为了生成合成资源记录,DNS解析器可以至少将来自(一个或多个)模式的前缀和/或后缀添加到第二地址记录。
操作416表示将合成资源记录发送到电子设备。例如,在生成合成资源记录之后,DNS解析器可以将合成资源记录发送到电子设备。
图5示出了根据本构思的电子设备增强用于反向查找的域名系统分组的示例过程500的流程图。操作502表示获得与网络版本相关联的模式。例如,设备(例如,电子设备102、本地DNS解析器104、公共DNS解析器108等)可以获得(一个或多个)模式。在一些示例中,为了获得(一个或多个)模式,设备可以向本地DNS解析器发送对与网络版本(例如,IPv6)相关联的名称的地址的查询。因此,在一些示例中,该查询包括名称为ipv4only.arpa的IPv6地址的DNS查询。然后,该设备可以从本地DNS解析器接收包括(一个或多个)模式的应答集。附加地,或者替代地地,在一些示例中,为了获得(一个或多个)模式,设备可以配置有(一个或多个)模式。虽然这些只是设备可以如何获得(一个或多个)模式的几个示例技术,但在其他示例中,设备可以使用附加和/或替代技术来获得(一个或多个)模式。
操作504表示生成至少包括模式和PTR查询的DNS分组。例如,在一些示例中,设备可以生成DNS分组以至少包括(一个或多个)模式和PTR查询。在一些示例中,设备可以通过在DNS分组的OPT_RR部分中嵌入(一个或多个)模式来生成DNS分组。在一些示例中,可以注册和/或创建新的IANA代码,其中设备使用新的IANA代码嵌入(一个或多个)模式。在一些示例中,设备使用与DNS分组的OPT_RR部分相关联的现有代码嵌入(一个或多个)模式。
操作506表示将DNS分组发送到DNS解析器,并且操作508表示从DNS解析器接收与PTR查询相关联的数据。例如,该设备可以将DNS分组发送到DNS解析器(例如,公共DNS解析器)。基于将DNS分组发送到DNS解析器,设备可以从DNS解析器接收数据。如本文所述,DNS解析器可以使用PTR查询和模式(例如,前缀和/或后缀)来检索数据。此外,数据可以表示与PTR查询相关联的(一个或多个)名称。
图6示出了根据本构思的域名系统(DNS)解析器使用增强型DNS分组进行反向查找的示例过程600的流程图。操作602表示接收至少包括模式和PTR查询的DNS分组。例如,DNS解析器可以从诸如另一DNS解析器、电子设备等的设备接收DNS分组。DNS分组可以包括PTR查询,并且还可以利用(一个或多个)模式来增强。
操作604表示识别与PTR查询相关联的第一地址,操作606表示使用第一地址和(一个或多个)模式生成第二地址。例如,DNS解析器可以使用PTR查询来识别第一地址。如本文所述,第一地址可以包括IPv6地址。在一些示例中,DNS解析器然后可以确定第一地址不存在。这样,DNS解析器可以使用第一地址和(一个或多个)模式来生成第二地址。如本文所述,第二地址可以包括IPv4地址。例如,DNS解析器可以将IPv6地址与(一个或多个)模式相匹配。基于该匹配,DNS解析器可以使用(一个或多个)模式从IPv6地址提取IPv4地址。在一些示例中,DNS解析器通过从IPv6地址中至少移除与(一个或多个)模式相关联的前缀和后缀来提取IPv4地址。
操作608表示识别与第二地址相关联的数据,操作610表示发送数据。例如,DNS解析器然后可以使用第二地址来执行搜索,以便识别数据。如本文所述,数据可以表示与第二地址相关联的(一个或多个)名称。在某些示例中,DSN解析器使用第二地址通过不同的DNS解析器识别数据。此外,或者替代地地,在某些示例中,DSN解析器通过使用第二地址在现有缓存数据中执行查找来识别数据。在任一示例中,DNS解析器然后可以向设备发送包括数据的应答。
图7是示出数据中心700的配置的计算系统图,数据中心700可用于实现本文公开的技术的各方面。图7中所示的示例数据中心700包括用于提供计算资源的若干计算机702A-702F(其在本文中可单独称为“计算机702”或统称为“计算机702”)。在一些示例中,资源和/或计算机702可以包括或对应于本文所述的任何类型的联网设备,例如本地DNS解析器104和/或公共DNS解析器108。但是,计算机702可以包括任何类型的联网设备,例如服务器、交换机、路由器、集线器、网桥、网关、调制解调器、中继器、接入点、主机等。
计算机702可以是适当配置用于提供计算资源的标准塔式、机架式或刀片式服务器计算机。在一些示例中,计算机702可以提供计算资源704,计算资源704包括数据处理资源,例如虚拟机(VM)实例或硬件计算系统、数据库集群、计算集群、存储集群、数据存储资源、数据库资源、网络资源等。一些计算机702还可以被配置为执行能够实例化和/或管理计算资源的资源管理器706。例如,在VM实例的情况下,资源管理器706可以是被配置为使得能够在单个计算机702上执行多个VM实例的管理程序或另一类型的程序。数据中心700中的计算机702也可以被配置为提供网络服务和其他类型的服务。
在图7所示的示例数据中心700中,还利用适当的局域网(LAN)708来互连计算机702A-702F。应当理解,这里描述的配置和网络拓扑结构已经被极大地简化,并且可以利用更多的计算系统、软件组件、网络和联网设备来互连这里公开的各种计算系统并提供上面描述的功能。适当的负载平衡设备或其他类型的网络基础设施组件也可以用于平衡数据中心700之间、每个数据中心700中的每个计算机702A-702F之间以及潜在地每个计算机702中的计算资源之间的负载。它应该仅仅是说明性的,并且可以利用其他实现方式。
在一些示例中,计算机702中的每一个可以执行一个或多个应用容器和/或虚拟机以执行本文所述的技术。例如,容器和/或虚拟机可以用作云计算网络中的服务器设备、用户设备和/或路由器。
在一些情况下,数据中心700可以永久地或根据需要提供计算资源,例如应用容器、VM实例和存储。在其他类型的功能中,可以利用云计算网络提供的计算资源来实现上述各种服务和技术。由云计算网络提供的计算资源704可以包括各种类型的计算资源,例如数据处理资源,如应用容器和VM实例、数据存储资源、网络资源、数据通信资源、网络服务等。
由云计算网络提供的每种类型的计算资源704可以是通用的,或者可以在许多特定配置中可用。例如,数据处理资源可以作为许多不同配置中的物理计算机或VM实例来使用。VM实例可以被配置为执行应用,包括web服务器、应用服务器、媒体服务器、数据库服务器、上述网络服务中的一些或全部、和/或其他类型的程序。数据存储资源可以包括文件存储设备、块存储设备等。云计算网络还可以被配置为提供本文未具体提及的其他类型的计算资源704。
在一个实施例中,由云计算网络提供的计算资源704可以由一个或多个数据中心700(其在本文中可以单独称为“数据中心700”或统称为“数据中心700”)实现。数据中心700是用于容纳和操作计算机系统和相关组件的设施。数据中心700通常包括冗余和备份电源、通信、冷却和安全系统。数据中心700还可以位于地理上不同的位置。下面将参照图8描述可用于实现本文公开的技术的数据中心700的一个说明性实施例。
图8是示出用于实现服务器计算设备800的说明性计算机硬件体系结构的计算机体系结构图,该服务器计算设备可用于实现本文中所呈现的各种技术的各方面。上面讨论的电子设备102、本地DNS解析器104和/或公共DNS解析器108可以包括下面参考服务器计算设备800讨论的组件中的一些或全部。
首先,服务器计算机800可以是标准的塔式、机架式或刀片式服务器计算机,其被适当地配置用于提供本文所述的计算资源。如上所述,云计算网络、数据中心等提供的计算资源可以是数据处理资源,例如VM实例或硬件计算系统、数据库集群、计算集群、存储集群、数据存储资源、数据库资源、网络资源等。服务器800中的一些还可以被配置为执行能够实例化和/或管理计算资源的资源管理器。例如,在VM实例的情况下,资源管理器可以是被配置为使得能够在单个服务器计算机800上执行多个VM实例的管理程序或另一类型的程序。数据中心中的服务器计算机800也可以被配置为提供网络服务和其他类型的服务。
服务器计算机800包括基板802或“母板”,该基板是印刷电路板,多个组件或设备可以通过系统总线或其他电通信路径连接到该印刷电路板。在一个说明性配置中,一个或多个中央处理单元(CPU)804结合芯片组806操作。CPU 804可以是执行计算机800的操作所需的算术和逻辑操作的标准可编程处理器。
CPU 804通过操控开关元件从一个离散的物理状态转换到下一个离散的物理状态来执行操作,开关元件在这些状态之间区分和改变。开关元件通常包括维持两个二进制状态之一的电子电路,例如触发器,以及基于一个或多个其他开关元件的状态的逻辑组合提供输出状态的电子电路(例如逻辑门)。这些基本开关元件可以组合起来创建更复杂的逻辑电路,包括寄存器、加法器-减法器、算术逻辑单元、浮点单元等。
芯片组806提供CPU 804与基板802上的其余组件和设备之间的接口。芯片组806可以提供到用作计算机800中的主存储器的RAM 808的接口。芯片组806还可以提供到诸如只读存储器(ROM)810或非易失性RAM(NVRAM)之类的计算机可读存储介质的接口,用于存储有助于启动计算机800以及在各种组件和设备之间传输信息的基本例程。ROM 810或NVRAM还可以存储根据这里描述的配置的计算机800的操作所必需的其他软件组件。
计算机800可以使用通过诸如局域网822之类的网络到远程计算设备和计算机系统的逻辑连接在联网环境中操作。芯片组806可以包括用于通过网络接口卡(NIC)812(例如千兆以太网适配器)提供网络连接的功能。NIC 812能够通过网络将计算机800连接到其他计算设备。应该理解,计算机800中可以存在多个NIC 812,将计算机连接到其他类型的网络和远程计算机系统。
计算机800可以连接到为计算机提供非易失性存储的存储设备818。存储设备818可以存储操作系统820和数据,这里已经对其进行了更详细的描述。存储设备818可以通过连接到芯片组806的存储控制器814连接到计算机800。存储设备818可以由一个或多个物理存储单元组成。存储控制器814可以通过串行连接的SCSI(SAS)接口、串行高级技术连接(SATA)接口、FC接口或用于在计算机和物理存储单元之间物理连接和传输数据的其他类型的接口与物理存储单元对接。
计算机800可以通过转换物理存储单元的物理状态以反映所存储的信息来将数据存储在存储设备818上。在本说明书的不同实施例中,物理状态的具体转换可以取决于各种因素。这些因素的示例可以包括但不限于用于实现物理存储单元的技术、存储设备818的特征是主存储器还是辅助存储器等等。
例如,计算机800可以将信息存储到存储设备818,方式是通过存储控制器814发出指令以改变磁盘驱动单元内特定位置的磁特性、光学存储单元中特定位置的反射或折射特性、或特定电容器、晶体管或固态存储单元中的其他分立部件的电特性。在不脱离本说明书的范围和精神的情况下,物理介质的其他转换是可能的,提供上述示例只是为了便于本说明书。计算机800还可以通过检测物理存储单元内的一个或多个特定位置的物理状态或特性来从存储设备818读取信息。
除了上述大容量存储设备818之外,计算机800还可以访问其他计算机可读存储介质以存储和检索信息,例如程序模块、数据结构或其他数据。本领域技术人员应当理解,计算机可读存储介质是提供数据的非临时存储并且可以由计算机800访问的任何可用介质。在一些示例中,由计算机800和/或其中包括的任何组件执行的操作可以由类似于计算机800的一个或多个设备支持。
作为示例而非限制,计算机可读存储介质可以包括以任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。计算机可读存储介质包括但不限于RAM、ROM、可擦可编程ROM(EPROM)、电可擦可编程序ROM(EEPROM)、闪存或其他固态存储技术、光盘ROM(CD-ROM)、数字多功能盘(DVD)、高清DVD(HD-DVD)、BLU-RAY或其他光存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、或可用于以非暂时方式存储所需信息的任何其他介质。
如上所述,存储设备818可以存储用于控制计算机800的操作的操作系统820。根据一个实施例,操作系统包括LINUX操作系统。根据另一个实施例,操作系统包括来自华盛顿州雷德蒙德的微软公司的SERVER操作系统。根据进一步的实施例,操作系统可以包括UNIX操作系统或其变体之一。应当理解,也可以使用其他操作系统。存储设备818可以存储计算机800所使用的其他系统或应用程序和数据。
在一个实施例中,用计算机可执行指令对存储设备818或其他计算机可读存储介质进行编码,当将该可执行指令加载到计算机800中时,将计算机从通用计算系统转换为能够实现本文所述实施例的专用计算机。如上所述,这些计算机可执行指令通过指定CPU 804如何在状态之间转换来转换计算机800。根据一个实施例,计算机800可以访问存储计算机可执行指令的计算机可读存储介质,当计算机800执行这些指令时,这些指令执行上面关于图3和图4描述的各种过程。计算机800还可以包括计算机可读存储介质,其上存储有用于执行本文所述的任何其他计算机实现的操作的指令。
计算机800还可以包括一个或多个输入/输出控制器816,用于接收和处理来自多个输入设备的输入,例如键盘、鼠标、触摸板、触摸屏、电子手写笔或其他类型的输入设备。类似地,输入/输出控制器816可以向显示器提供输出,例如计算机监视器、平板显示器、数字投影仪、打印机或其他类型的输出设备。应当理解,计算机800可以不包括图8中所示的所有组件,可以包括图8未明确示出的其他组件,或者可以使用与图8中示出的架构完全不同的架构。
如图8的示例中进一步所示,计算机800可以存储DNS分组624、资源记录826和应答828。DNS分组624可以表示和/或包括DNS分组124和/或DNS分组202。此外,资源记录826可以表示和/或包括合成资源记录128和/或资源记录132。此外,应答828可以表示和/或包括应答集126。
总之,本公开描述了用于在公共解析器上执行域名系统(DNS)支持的技术。例如,电子设备可以向本地DNS解析器发送查询。电子设备然后可以从本地DNS解析器接收包括模式的应答。使用该应答,电子设备可以生成DNS分组,该DNS分组至少包括该应答和对与第一IP版本(例如IPv6)相关联的第一互联网协议(IP)地址的查询。电子设备然后可以将DNS分组发送到公共DNS解析器。使用DNS分组,公共DNS解析器可以生成与第一IP版本相关联的合成IP地址。例如,公共DNS解析器可以识别与第二IP版本(例如IPv4)相关联的第二IP地址,并使用第二IP地址和应答生成合成IP地址。
虽然本发明是关于具体实施例进行描述的,但应当理解,本发明的范围不限于这些具体实施例。由于为适应特定的操作要求和环境而变化的其他修改和变化对本领域的技术人员来说是显而易见的,因此本发明不被认为局限于为了公开的目的而选择的示例,并且涵盖了不构成偏离本发明的真正精神和范围的所有修改和变化。
尽管本申请描述了具有特定结构特征和/或方法行为的实施例,但是应当理解,权利要求不一定限于所描述的特定特征或行为。相反,特定特征和行为仅仅是落入本申请的权利要求范围内的一些实施例的说明。

Claims (23)

1.一种电子设备,包括:
一个或多个处理器;和
存储指令的一个或多个非暂时性计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:
确定与第一互联网协议(IP)版本相关联的模式;
生成域名系统(DNS)分组,所述DNS分组至少包括所述模式和对与资源相关联的IP地址的查询,所述IP地址与第二IP版本相关联;以及
将所述DNS分组发送到DNS解析器。
2.根据权利要求1所述的电子设备,所述操作还包括从所述DNS解析器接收资源记录,所述资源记录至少包括用于所述资源的合成响应记录,所述合成响应记录与所述第二IP版本相关联。
3.根据权利要求1或2所述的电子设备,其中,生成所述DNS分组包括至少将所述模式嵌入到所述DNS分组的可选资源记录部分中。
4.根据权利要求1至3中任一项所述的电子设备,其中,所述DNS解析器是公共DNS解析器,并且其中,所述操作还包括:
生成附加查询,所述附加查询用于名称ipv4only.arpa的IP地址;
将所述附加查询发送到本地DNS解析器;以及
从所述本地DNS解析器接收包括所述模式的应答。
5.根据权利要求1至4中任一项所述的电子设备,所述操作还包括:
存储表示所述模式的配置数据,
并且其中,生成所述DNS分组至少部分地基于所述配置数据。
6.根据权利要求1至5中任一项所述的电子设备,其中,所述模式至少包括前缀和后缀,所述前缀和后缀与本地网络相关联。
7.根据权利要求1至6中任一项所述的电子设备,其中:
所述第一IP版本包括IP版本6;并且
所述第二IP版本包括IP版本4。
8.一种方法,包括:
确定与第一互联网协议(IP)版本相关联的模式;
生成域名系统(DNS)分组,所述DNS分组至少包括所述模式和对与资源相关联的IP地址的查询,所述IP地址与第二IP版本相关联;以及
将所述DNS分组发送到DNS解析器。
9.根据权利要求8所述的方法,还包括从所述DNS解析器接收资源记录,所述资源记录至少包括用于所述资源的合成IP地址,所述合成IP地址是使用所述模式生成的。
10.根据权利要求9所述的方法,其中,使用与所述模式相关联的前缀和后缀来生成所述合成IP地址。
11.根据权利要求8至10中任一项所述的方法,其中,生成所述DNS分组包括至少将所述模式嵌入到所述DNS分组的可选资源记录部分中。
12.根据权利要求8至11中任一项所述的方法,其中,生成所述DNS分组包括至少使用由互联网号码分配机构分配的代码来嵌入所述模式,所述代码与嵌入在DNS分组内的应答相关联。
13.根据权利要求8至12中任一项所述的方法,其中,所述DNS解析器是公共DNS解析器,并且其中,所述方法还包括:
由用户设备生成附加查询,所述附加查询用于名称ipv4only.arpa的IP地址;
由所述用户设备将所述附加查询发送到本地DNS解析器;以及
由所述用户设备从所述本地DNS解析器接收包括所述模式的应答,
并且其中,生成所述DNS分组包括由所述用户设备使用所述应答来生成所述DNS分组。
14.根据权利要求13所述的方法,其中,包括所述模式的所述应答至少包括前缀、与所述第一IP版本相关联的附加IP地址以及后缀,所述前缀和所述后缀与本地网络相关联。
15.根据权利要求8至14中任一项所述的方法,还包括:
由附加DNS解析器存储表示所述模式的配置数据,
并且其中,生成所述DNS分组包括由所述附加DNS解析器使用所述配置数据生成所述DNS分组。
16.一种系统,包括:
一个或多个处理器;和
存储指令的一个或多个计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:
从电子设备接收域名系统(DNS)分组,所述DNS分组至少包括模式和对与资源相关联的第一互联网协议(IP)地址的查询,所述第一IP地址与第一IP版本相关联;
确定与所述资源相关联的第二IP地址,所述第二IP地址与第二IP版本相关联;以及
至少部分地基于所述第二IP地址和所述模式来生成合成IP地址,所述合成IP地址与所述第一IP版本相关联。
17.根据权利要求16所述的系统,所述操作还包括:
分析所述模式以识别至少前缀和后缀,
并且其中,生成所述合成IP地址包括至少使用所述第二IP地址、所述前缀和所述后缀来生成所述合成IP地址。
18.根据权利要求16或17所述的系统,所述操作还包括:
执行对所述第一IP地址的第一搜索;
至少部分地基于所述第一搜索来确定不存在与所述第一IP地址相关联的资源记录;以及
至少部分地基于包括所述模式的所述DNS分组,执行对所述第二IP地址的第二搜索。
19.根据权利要求18所述的系统,其中,确定与所述资源相关联的所述第二IP地址至少包括至少部分地基于所述第二搜索来接收包括所述第二IP地址的资源记录。
20.根据权利要求16至19中任一项所述的系统,所述操作还包括向所述电子设备发送所述合成IP地址。
21.一种设备,包括:
确定装置,用于确定与第一互联网协议(IP)版本相关联的模式;
生成装置,用于生成域名系统(DNS)分组,所述DNS分组至少包括所述模式和对与资源相关联的IP地址的查询,所述IP地址与第二IP版本相关联;以及
发送装置,用于将所述DNS分组发送到DNS解析器。
22.根据权利要求21所述的设备,还包括用于实现根据权利要求9至15中任一项所述方法的装置。
23.一种计算机程序、计算机程序产品或计算机可读介质,包括指令,所述指令在由计算机执行时,使所述计算机执行根据权利要求8至15中任一项所述的方法的步骤。
CN202280059647.4A 2021-09-02 2022-08-26 用于执行域名系统支持的技术 Pending CN117941334A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/464,966 2021-09-02
US17/464,966 US20230062068A1 (en) 2021-09-02 2021-09-02 Techniques for performing domain name system support
PCT/US2022/041729 WO2023034148A1 (en) 2021-09-02 2022-08-26 Techniques for performing domain name system support

Publications (1)

Publication Number Publication Date
CN117941334A true CN117941334A (zh) 2024-04-26

Family

ID=83438816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280059647.4A Pending CN117941334A (zh) 2021-09-02 2022-08-26 用于执行域名系统支持的技术

Country Status (4)

Country Link
US (1) US20230062068A1 (zh)
EP (1) EP4397026A1 (zh)
CN (1) CN117941334A (zh)
WO (1) WO2023034148A1 (zh)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277453B2 (en) * 2003-05-30 2007-10-02 Motorola, Inc. Inter private network communications between IPv4 hosts using IPv6
US7529852B2 (en) * 2004-05-17 2009-05-05 Cisco Technology, Inc. Method and apparatus for handling IPv4 DNS PTR queries across IPv4 and IPv6 networks
EP2564579A4 (en) * 2010-04-26 2016-10-12 Nokia Technologies Oy METHOD AND APPARATUS FOR SYNTHESIZED ADDRESS DETECTION
US8665873B2 (en) * 2010-05-27 2014-03-04 Futurewei Technologies, Inc. Network address translator 64 for dual stack mobile internet protocol version six
US9838259B1 (en) * 2013-03-08 2017-12-05 F5 Networks, Inc. Methods for managing client defined response requirements in DNS query and devices thereof
US9712485B2 (en) * 2014-07-30 2017-07-18 Cisco Technology, Inc. Dynamic DNS-based service discovery
US10057208B2 (en) * 2014-10-31 2018-08-21 Cisco Technology, Inc. Visibility control for domain name system service discovery
US20160344688A1 (en) * 2015-05-22 2016-11-24 Apple Inc. Communicating via IPv6-only Networks Using IPv4 Literal Identifiers
US20190297655A1 (en) * 2016-05-18 2019-09-26 Telefonaktiebolaget Lm Ericsson (Publ) Local break-out in mobile ip networks
US10404827B2 (en) * 2016-06-22 2019-09-03 Cisco Technology, Inc. Client network information service
FR3096202A1 (fr) * 2019-06-20 2020-11-20 Orange Procédé et dispositif d’obtention d’une adresse IP
EP4111669A2 (en) * 2020-05-21 2023-01-04 Huawei Technologies Co., Ltd. Domain name system (dns) services for variable-length address (vla) networks

Also Published As

Publication number Publication date
WO2023034148A8 (en) 2024-03-21
EP4397026A1 (en) 2024-07-10
WO2023034148A1 (en) 2023-03-09
US20230062068A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
CN108370391B (zh) 用于虚拟网络的共享多租户域名系统(dns)服务器
EP3311544B1 (en) Managing dynamic ip address assignments
US10567308B1 (en) Virtual machine virtual fabric login system
JP5587732B2 (ja) ドメイン・ネーム・サービス(dns)データベースへのアクセスを管理するコンピュータ実施方法、コンピュータ・プログラム、およびシステム
CN112543919B (zh) 地址迁移服务
US7516482B2 (en) Secure hierarchical namespaces in peer-to-peer networks
WO2010123632A2 (en) Systems and methods for generating a dns query to improve resistance against a dns attack
US11895081B2 (en) Distributed network address translation over network environments
US20220286431A1 (en) Dns resolver-assisted domain name-based access control
US11095608B2 (en) Cross protocol association for internet addresses for metadata association systems and methods
CN106648838B (zh) 一种资源池管理的配置方法及装置
CN107786594B (zh) 业务请求处理方法及装置
US10243920B1 (en) Internet protocol address reassignment between virtual machine instances
US8171066B2 (en) Techniques for accessing remote files
CN110855810B (zh) 一种nat转换方法、装置、网络安全设备及存储介质
US11245717B1 (en) Automated detection, alarming, and removal of subdomain takeovers
WO2021055049A1 (en) Efficiently mapping a distributed resource to a virtual network
CN117941334A (zh) 用于执行域名系统支持的技术
US11303606B1 (en) Hashing name resolution requests according to an identified routing policy
CN115242882A (zh) 一种基于传输层路由访问k8s容器环境的方法及装置
US11652746B1 (en) Resilient consistent hashing for a distributed cache
US20190312822A1 (en) Outbound Request Management
US20240015132A1 (en) Leveraging contextual metadata communication to improve dns security
US20240179117A1 (en) Host Virtual Machine Domain Name System (DNS) Cache Enabling DNS Resolution During Network Connectivity Issues
US20240195778A1 (en) L2 domain hierarchical address communication system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination