当 ISP 可以同时处理 DNS 请求和 HTTP 数据时,为什么我们要单独发出 DNS 请求呢?
因此,而不是:
- 询问 opendns yahoos 地址是什么。
- Opendns 返回:66.55.44.11
- 嘿,Verizon。从 66.55.44.11 发送/请求数据。
为什么协议不只是从“yahoo.com”请求数据,而 verizon 将 yahoo.com 解释为拆分 DNS 请求。这肯定会降低延迟,因为它缩短了 DNS 服务器回调 IP 然后再发送所需的时间,而理论上它可以处理整个请求。
难道这不能通过客户端的主机文件更改来管理并创建兼容的服务器吗?这很像代理。
谢谢 Celada;有趣的分析。
沃雷塔克,
谢谢,我会获取这些信息。这完全是理论上的。&与此同时。
为什么您暗示文本/url 到 IP 是如此艰巨,然后提供 DNS 作为解决方案。
为什么必须由一台服务器路由所有数据?这难道不就等于说当我们与单个/少数美国 Google 搜索 IP 或两个 Google DNS IP 通信时,我们都会访问一台服务器吗?这些“智能服务器”不能使用相同的“路径优先”协议吗?在数据实际到达之前,您将获得真正的 DNS 服务器 IP,因此您可以路由它(我发现,除了这之外,我的主要麻烦在于本质上是 MITM 攻击。)
我不想废除 DNS。只需让初始服务器处理数据并在发送之前定位 IP。yahoo.com 的“真实 IP”将在第一次请求后在 DNS 缓存中更新。
通用:你好,我在沙发上 @ IP= 3.3.3.3 需求:verizon ISP>>>>打开 yahoo.com >> 获取 dataX ~Lookup Yahoo.com >>>> 缓存>>>“空”>>>Hosts 文件/过滤器等...“找到”>> 1.1.1.1 (假 yahoo.com IP 实际上是我的 ISP/)
我发送:~1.1.1.1隐藏的 DNS 请求:请查找 yahoo.com并获取数据X
ISP 智能服务器在隐藏的标头请求中查找 Yahoo.com:yahoo.com = 2.2.2.2 通过我通常会自己发出的相同 DNS 请求>>>>将该真实 IP 发送给我以更新缓存,并继续同时完成 dataX 请求:2.2.2.2 获取 dataX 并发送到 3.3.3.3
下次运行:
yahoo.com 获取 dataY DNS 缓存 yahoo.com 查找(找到)= 2.2.2.2 获取 dataY(无查找本地或 ISP)
因此,您仍会收到 yahoo.com 的 DNS 请求;但是,您的来自 yahoo.com 的第一批数据转储会紧随其后到达 — 从而减少延迟。因此,在您的请求被发送到 yahoo 或更好的是:请求被发送回给您的同时,它满足了您的隐藏 DNS 请求。第一个 ISP 跳转只需要拆分请求。我宁愿将其视为处理请求的智能 DNServer 的第一个跳转。
答案1
请随意按照您的想法设计一个协议。但请记住,它与互联网上实际使用的 IP 协议几乎没有相似之处。
实际上,您说的是让终端变得愚蠢,让网络变得智能。这是电话网络的发展方向。智能网络设计理念通常被认为是电话网络创新如此之少的原因。愚蠢的网络允许最终用户以协议设计者从未预见到的方式进行创新,并使网络基础设施运营商难以阻碍这种创新。
答案2
请了解互联网的历史、工作原理以及为什么以这种方式实现前提出激进的建筑变革。我建议购买并阅读一份DNS 和 BIND以及(任何版本)。
DNS 是一个复杂问题的优雅解决方案——但您所提出的方案在架构上是有缺陷的。
第一个问题:
像“yahoo.com”这样的词在互联网地址和路由方面没有任何意义 - 只有 IP 地址才重要。DNS
负责将这些词转换为地址,然后网络知道如何从 A 点路由到 B 点。存储任意文本的路由表(而不是 IP 网络/子网的相对刚性结构)将是一项艰巨的任务 - 在 20 世纪 60 年代至 70 年代这项技术诞生时完全不可能,即使使用当今的技术也不可行。
第二个问题:
你所提议的将要求每个 ISP 保存互联网上每个主机的完整列表(以上述路由表的形式,或以 hosts 文件的形式,这似乎是你所建议的。
早在石器时代,这Hosts 文件,其中列出了网络上的每台主机。您将获得一份更新的这Hosts 文件(通过邮件、UUCP 或某人给您打印件然后您输入)。这是在大约有 50 台机器连接到互联网的时候。
现在有数十亿台。它无法扩展(这就是创建 DNS 的原因!)。
第三个问题:
您的提议比现有的方案更加低效。
目前,您向 DNS 服务器请求与名称对应的地址,然后直接与您正在寻找的服务器通信,后台发生“路由魔法”,将数据从您的机器传送到目的地并返回。
您的提议要求将所有流量通过 ISP 的“智能”服务器进行传输,该服务器具有完整的文本路由表(替代 DNS),并且从不告诉我的机器应该与谁通信——因此 ISP 的可怜的“智能”服务器必须处理来自 ISP 所有人的流量。
同样,在 20 世纪 60 年代至 70 年代,这是完全不可能的。今天,这已不切实际——工作量会压垮服务器,互联网接入每月需要花费数千美元来支付基础设施费用。
我所发现的不完美之处正是我在实际工作中项目之间所遇到的情况——我确信还有许多其他原因导致这个想法是不正确的……