AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1733081
Accepted
user1670677
user1670677
Asked: 2022-07-23 08:54:13 +0800 CST2022-07-23 08:54:13 +0800 CST 2022-07-23 08:54:13 +0800 CST

DNS 缓存如何为 CDN 后面的网站工作?

  • 772

许多网站使用来自 Cloudflare 等 CDN 的 DNS 服务器,这些服务器通过反向代理隐藏其原始 IP。DNS 缓存服务器在这些情况下如何工作?因为许多网站可以显示使用相同的 IP 地址,Cloudflare 的,所以我认为这会导致 DNS 缓存服务的客户端/用户出现许多错误,例如 Windows 操作系统中的错误。

dns cdn
  • 2 2 个回答
  • 37 Views

2 个回答

  • Voted
  1. harrymc
    2022-07-23T09:39:56+08:002022-07-23T09:39:56+08:00

    使用 CDN 的公司将在世界各地设置重复的服务器。所有 CDN 服务器都知道这些服务器。

    您提到的同一个 IP 地址指向一个 DNS 服务器,它是 CDN 的一部分。

    此 DNS 服务器只会将 DNS 请求转发到另一个 DNS 服务器,该服务器将成为域的权威服务器。它本身可能不会给出最终答案(不是必需的),因此这将表现为通常的 DNS 服务器层次结构。这个权威服务器的选择主要受客户端IP的地理位置影响。

    DNS 查询的最终答案将是服务于查询域(属于查询域)的公司 Web 服务器,该服务器被判断为“最近”。

    为避免出现问题和拥塞,DNS 响应将具有较小的生存时间 (TTL),因此该过程可能会不时重复,并可能在下一次返回另一台服务器。

    • 0
  2. Best Answer
    user1686
    2022-07-24T09:15:09+08:002022-07-24T09:15:09+08:00

    Cloudflare 既是 CDN 又是权威的 DNS 服务器,Windows 或其他缓存服务器软件内置的 DNS 缓存服务如何知道哪个 IP 地址属于哪个域?

    他们不需要知道这一点。所有 DNS 缓存,就像 DNS 本身一样,仅将域名映射到值(“A”记录)——绝不会反过来。

    例如,如果 DNS 缓存软件记住 1.2.3.4 指向 facebook.com,并且 IP 用于 google.com、bing.com 等,那么缓存是无用的,那么我错过了什么?

    不,这根本不是 DNS 缓存软件所记得的。它的作用恰恰相反——DNS 缓存和整个 DNS 系统都只关心google.com指向1.2.3.4,而不是地址“指向”回来。

    DNS 缓存中的条目看起来与权威 DNS 服务器中的条目完全相同,以域名作为查找键。(事实上​​,在 Windows 之外,大多数 DNS 缓存只是普通的 DNS 服务器,它们接受标准查询并回答它们。)


    将多个 DNS 条目解析到同一个地址也不是什么新鲜事。(例如,即使没有 CDN,每个人都在使用 HTTP“虚拟主机”在同一服务器上托管数十或数百个不同的网站——因此数百个 DNS 名称解析到相同的服务器地址。)


    因此 DNS 缓存服务会缓存 DNS 查询的最终结果,即源服务器 IP 地址

    通常是的,但是,当您使用诸如 Cloudflare 之类的 CDN 时,该 DNS 查询的最终结果不再是源服务器 - 它是 CDN 服务器。

    特别是对于 Cloudflare,您在 Cloudflare 的“控制面板”中看到的 DNS 记录表实际上并不是 Cloudflare 为用户提供的 DNS 记录。一旦您为域名启用代理,Cloudflare 的权威 DNS 服务器就会开始使用CDN 自己的IP 地址而不是您输入的 IP 地址进行回复。

    (其他 CDN 的工作方式相同,因为使用 CDN 的全部意义在于您的客户端与其通信。例如,superuser.com域使用 Fastly CDN,因此它始终解析为附近 Fastly 节点的 IP 地址。)

    因此,使用 CDN 使用短 TTL 的目的不是保护,而是负载平衡(CDN 的权威服务器目前动态响应“最佳”节点,包括负载和地理位置)。

    当多个 DNS 条目解析为同一个 IP 地址时,例如 google.com 和 facebook.com 都解析为 1.2.3.4,网络中的哪个元素/组件负责将用户带到正确的网站?

    它实际上是客户端和服务器,而不是网络。

    每个 HTTP 客户端都将请求的域指定为 HTTP 请求的一部分——即 HTTP/1.1 中的“Host”标头(或 HTTP/2 中的“:authority”伪标头)。Web 服务器或反向代理会将接收到的主机值映射到相应的 <VirtualHost> 或类似配置。

    (您可以在浏览器中使用“开发者工具”查看所有请求标头F12——打开“网络”选项卡开始收集数据,然后返回浏览器并按 F5 重新加载网页,然后返回“网络”部分。)

    同样,TLS 客户端也将请求的域指定为 TLS ClientHello 中的“服务器名称指示”扩展,以便服务器可以发送正确的证书。

    一般来说,每个协议都有自己的方式来做到这一点,并不是所有的协议都真正区分不同的域名。(例如,SSH 不向服务器提供此类信息,因为目标不是连接到“域”,而是连接到机器本身。)

    但是网络(IP 层)根本不关心域(或网站)——它唯一的工作就是将数据包传送到 1.2.3.4,如果 IP 地址相同,那么目标服务器也相同. (在这种情况下,“目标服务器”是 CDN 反向代理前端。)

    • 0

相关问题

  • 如何设置 DNS、AWS S3、AWS Cloudfront 和 AWS Certificate Manager 以保护多个站点

  • 5355 UDP svchost.exe Dnscache

  • 使用 dnsmasq.conf 阻止内部 IP 地址

  • 需要验证 firebaseapp.com 子域

  • 迁移 Windows Server 2008

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve