众所周知的URI vs dn - sd用于分布式web服务发现,尽管internet审查

在这篇文章中,我想讨论的使用知名的URI和基于DNS服务发现(DNS-SD)方法将域名映射到资源的分布式网络上的。我会专注于不同的方法的能力,航线各地的互联网审查制度和他们的集中化,并谈论了通过提高分布式Web项目中使用当前实现的一些建议。

有两种主要方法用于自动发现域上提供的服务:您可以向预定的服务发现地址发送web请求,或者您可以向域名系统(DNS)查询预定的服务发现记录。

分布式网络,像常规的网络,依靠这两种方法来发现用于检索各种分布式网络由一个域名的内容资源地址。我将讨论每个反过来这些方法。

众所周知的uri (RFC 5785)很容易在您控制域根的任何web服务器上实现,并且可以公开域根上的文件。的逸协议烧杯浏览器通过从服务的文件中请求存档的哈希指纹,使用这种方法发现提供分布式Dat存档的网站https://example.com/。好知/ DAT

此方法的解释和设置相对简单。然而,它也有一个单点故障:服务文件的网站。根据网站的冗余措施,它可以相对容易地被屏蔽甚至下线;使用域和站点的分布式web版本之间的映射。

DAT和烧杯浏览器还支持另一种同域查找方法知名URI发现方案。我会回来稍后的文章。

我进行顶2,4万个网站的调查(由排名Tranco名单;请参阅文章的来源在最后)并发现有逸启用的网站。他们都使用众所周知的URI发现机制,除了烧杯浏览自己的网站上也提供了备用DNS-SD方法。

烧杯浏览器专注于让人们建立和主机的分布式网站直接从他们的浏览器。该项目确实还提供称为付费托管服务Hashbase这使得分布式网站可以通过HTTPS访问,并充当Dat分布节点。Hashbase客户在Hashbase上获得一个子域,该子域为他们的分布式网站提供一个比随机哈希值更友好的名称。

Hashbase使用驰名URI的映射他们大约2600客户的域名逸。Hashbase是毫无疑问的逸网络中最大的单一分发节点。该服务已经看到,已经使这些分散的网站无法使用时,即使有收留他们在网络上被其他分布式节点的多个停运。

域名系统(DNS)不同于web的大多数部分,它是分散设计的。yabo88软件下载DNS(大部分)速度快,而且安全。DNSSEC可以用来保证来自权威DNS提供商的dweb内容地址响应不会被修改。您的设备和递归DNS提供者之间的通信也可以通过TLS或HTTPS连接加密。

除非你能阻止一个域名的权威DNS服务器从互联网的来源,递归DNS服务器可以并且将能够解决域名。(递归DNS服务器是你的ISP或OpenDNS、Quad9、Cloudflare或谷歌等提供商提供的DNS服务器。)

一个域可以配置多个权威DNS提供商,以创建冗余,并使其更难以阻止该域。DNS阻塞很难正确处理,但很容易绕过土耳其在试图阻止BunnyCDN时就证明了这一点(按Ctrl博客的CDN提供商。)

近年来,我们已经看到递归DNS空间越来越集中。谷歌产品,包括yabo亚博体育下载Chromecast;chromebook和Chrome浏览器都被硬编码为默认使用谷歌的DNS服务器,而不是ISP提供的DNS服务器。花哨且易于记忆的免费递归提供程序(如1.1.1.1和9.9.9.9)也有助于集中化曾经分散的系统。但是,如果您的DNS提供商阻止您访问任何内容,您仍然可以通过使用任何其他DNS提供商访问该内容。

Dat项目选择使用谷歌的公共DNS解析器而不是HTTPS作为默认的递归DNS解析器,而不是使用系统的DNS设置作为大多数应用程序。您不能在Beaker浏览器中配置另一个DNS解析器,但如果您是在Dat项目的库之上构建您的应用程序,则可以。

这再次引入了一个单点故障,可以阻止(或遭受临时服务中断)的Dat和Beaker;奇怪的是,这两个项目似乎更喜欢集中的单一供应商解决方案而不是分散的解决方案来构建他们版本的分布式web。我已经提出了一个补丁使逸的CloudFlare DNS,谷歌DNS或Quad9之间随机选择而不是依赖在单个系统上。

星际文件系统(IPFS)使用DNS记录的服务发现和不支持驰名的URI。IPFS和DAT支持存储在裸域名TXT记录发现资源地址。IPFS还支持存储在一个子域的记录,这是它在保持它在裸域几个优点的方法。

你显然不能在一个使用CNAME解析的域名上提供额外的DNS记录——比如用来发现dweb上的内容的记录;依赖内容分发(CDN)网络的流行网站就是一个例子。

服务发现特定子域可以(使用NS记录)或“转发”到另一个域(CNAME记录)被委托给另一个DNS服务器。这两种方法让域名所有者分离从他们的主域区域的服务发现机制。

这有助于确保DNS区域的安全性,因为DNS服务发现可以外包给第三方或由不能覆盖主区域的专用服务器处理。值得注意的是,它可以允许网站所有者从服务提供商那里购买IPFS节点和主机,并将他们域中需要的部分委托或转发给第三方。这种灵活性有助于推动分布式web的采用。

调用IPFS的服务发现子域_dnslink我必须承认,我讨厌这个名字。你查询DNS有关IPFS和信息不是周围的其他方式!“DNSLink”没有定义的规范,我已经提供一些注释和建议的一些变化,以帮助推动该规范向前发展。我也建议,并认为逸是否应遵循套件并转移到使用子域,以及。裸域方法应该被废弃,以提高性能,减少不必要的DNS流量。

结论

分布式网络仍在不断发展,并最终可能会使用其他替代DNS,像星际域名系统(脉冲中子源),使整个讨论静音。然而,使用类似DNS对准一个大大分散的生态系统相当不错了许多分布式Web项目的既定目标。

精心设计和yabo88软件下载标准化的基于DNS服务发现允许服务发现被下放,并提供部署灵活性,以域名所有者与存储在网络中的一个集中点的文件。

它还使人们能够相对容易地绕过互联网审查。作为额外的好处:基于DNS的服务发现在几乎所有情况下都比任何需要完整网络连接和与web服务器进行安全链接协商的操作快数百倍。

众所周知的URI是非常有用的,但他们的集中式服务器和单点故障的依赖使得它们对于分布式网络上发现的资源地址较小的选项。尤其是当有一个更好,更分散的选项。