目录

简介

什么是ECS?

图 2：新泽西州用户从权威DNS中寻求应答的示例

ECS和递归DNS服务器

图 2：新泽西州用户向Cisco Umbrella寻求答案时的示例

ECS和Cisco Umbrella

在挖掘中使用ECS

授权名称服务器所有者

简介

本文档介绍EDNS客户端子网(ECS)及其如何与Cisco Umbrella配合使用。

什么是ECS?

传统DNS是DNS服务器上的一个请求，它通过一个A记录应答进行回复。通过仅讨论A记录，可简化此讨论。同样的过程适用于IPv6和AAAA记录。随着广泛分布的内容交付网络(CDN)和递归DNS服务的出现，地理位置对于实现最佳体验越来越重要。

传统DNS在权威DNS服务器上将DNS问题的答案地理定位，并提供与DNS查询源最匹配的答案。举一个比喻的例子，比如一本电话簿。传统上，唯一相关的电话簿是本地电话簿，因此您总是可以找到本地商店。查询“call Jim’s hardware store”。 如今，一个网址在全球范围内拥有许多位置，因此必须获得良好的体验，才能连接到附近的服务器。由于递归DNS服务器和分布式网络较多，因此DNS查询的源IP不一定能成为地理定位数据的最佳来源。

图 2：新泽西州用户从权威DNS中寻求应答的示例

以我们的电话簿为例，一家企业可能在全球有50个办公地点，但作为读者，您知道最近的公司是什么，并称之为公司。Jim's一直表现不错，因此我们对“call Jim's hardware store”的查询可能会将您带到New Jersey店或Chicago店，具体取决于您的咨询对象。ECS执行相同的服务，但用于DNS查找。EDNS客户端子网(ECS)是一种机制，用于将DNS查询的源IP地址嵌入到DNS数据包的EDNS信息中。支持ECS的权威DNS服务器读取此源信息，并尽可能使用最佳位置服务器的A记录进行应答。对于我们的电话簿比喻，ECS相当于一个注释，该注释指定要查看哪个区域的电话簿。此请求将是“致电新泽西州贝尔维代雷的Jim’s hardware store”，并提供一个理想的答案。有关详细信息，请访问位于umbrella.cisco.com的ECS项目主页。

ECS和递归DNS服务器

与其他递归DNS服务一样，Cisco Umbrella也是对基于DNS的地理定位的挑战。传统上，用户会向ISP请求DNS，ISP会查询DNS授权。这为ISP的网络IP范围提供本地良好的地理定位。

递归DNS提供商位于ISP网络之外，可以位于任何地方。Cisco Umbrella在任播IP地址下运行许多数据中心，DNS查询可访问全球范围内的多个解析程序位置之一。最常查询的最近位置；但是，这取决于每个ISP的最佳路由。最重要的是，对于广泛分布的Web服务（如CDN），最近的Umbrella解析器可能无法通过网络接近请求者的位置，而且可能会收到较差的CDN服务器作为响应。例如，哥斯达黎加的用户可能会访问思科Umbrella的迈阿密数据中心，并从迈阿密CDN获取内容。在电话簿的比喻中，这相当于给操作员打电话并询问Jim硬件的号码。根据操作员所在的位置，您会收到基于该区域的答案。芝加哥归还惠顿的吉姆，迈阿密可以归还南滩的吉姆。

图 2：新泽西州用户向Cisco Umbrella寻求答案时的示例

ECS对于递归DNS提供商的CDN非常重要，因为原始源子网可以通过ECS传递到CDN的授权DNS基础设施。通过Umbrella对启用了ECS的名称服务器的查询包括请求用户的C类网络（/24 CIDR块）到授权DNS查询，并返回和缓存（根据TTL）相关应答。在电话簿的比喻中，我们给运营商打电话，要求吉姆在哥斯达黎加圣何塞附近安装硬件。迈阿密的接线员会回复圣佩德罗吉姆的号码。

总之，ECS使用户能够查询位于世界任何位置的名称服务器，并根据其源位置接收自定义应答，即使使用远处的递归DNS服务器（支持ECS）也是如此。 最终结果是通过任何受支持的DNS服务，从世界任何地方获得的最快的CDN服务器。

ECS和Cisco Umbrella

Cisco Umbrella支持基于名称服务器所有者的选择加入的授权DNS解析器的ECS。许多CDN都为Umbrella用户提供了快速、准确的地理定位，而某些CDN和服务尚不支持ECS。

了解尚未使用ECS的服务？联系CDN网络并询问有关实施ECS的信息。在Umbrella能够向其发送ECS数据之前，授权名称服务器必须支持ECS。

站点所有者，如果您现在使用ECS，请通过umbrella-support@cisco.com联系我们，验证您的实施并开始从Cisco Umbrella接收ECS数据！支持IPv6和IPv4 ECS数据。包括要验证的名称服务器（按名称）和要验证的域的列表。

在挖掘中使用ECS

您是否知道，从9.10版本开始的DNS查询中挖掘本地支持ECS?将“+subnet=<subnet>”直接附加到针对授权名称服务器的挖掘中。注意，如果直接查询Umbrella，此数据将被丢弃，并替换为源/24。有关详细信息，请参阅此处的文章https://support.opendns.com/hc/en-us/articles/227987687。

dig +subnet=208.67.222.0/24 <domain> @<nameserver>

在响应中查找此小节，以确认名称服务器使用ECS数据：

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 512

; CLIENT-SUBNET: 208.67.222.0/24/32

授权名称服务器所有者

您是否正在您的名称服务器上使用ECS，并希望为全球的Cisco Umbrella用户发掘其潜力？请通过umbrella-support@cisco.com与我们联系，以便我们可以开始将ECS数据发送到您的名称服务器！在您的请求中包含您的名称服务器域列表以及启用ECS的示例域，我们可以使用该示例域来验证您的配置。让我们携手构建更快的互联网。