域名系统的历史:第一个DNS服务器

上次我们开始讲述DNS的历史 -我们记得该项目是如何开始的以及它在ARPANET网络中要解决的问题。 今天,让我们谈谈第一个BIND DNS服务器。


照片-John Markos O'Neill -CC BY-SA

第一台DNS服务器


1983年,Paul Mockapetris和Jon Postel 提出了 ARPANET网络域名概念后 ,它迅速获得了IT界的认可。 伯克利大学的工程师率先将其付诸实践。 1984年,四名学生介绍了第一台DNS服务器,即伯克利互联网名称域名(BIND)。 他们获得了国防部高级研究计划部(DARPA)的资助。

由大学生开发的系统会自动将DNS名称转换为IP地址,反之亦然。 有趣的是,当其代码上传到BSD (软件分发系统)时,第一个来源已经具有版本号4.3。 最初,实验室是由大学实验室人员使用的。 直到4.8.3版,伯克利大学计算机系统研究小组(CSRG)的成员才负责BIND的开发,但在1980年代下半叶DNS服务器从大学中脱颖而出-移交给了Paul Vixie由DEC Corporation提供。 Paul发布了4.9和4.9.1更新,然后成立了Internet软件联盟(ISC),此后一直负责BIND支持。 保罗说,以前的所有版本都依赖伯克利大学学生的代码,在过去的15年中,他已经完全用尽了现代化的机会。 因此,在2000年,BIND从头开始重写。

BIND服务器包括几个库和组件,这些库和组件实现“客户端-服务器” DNS架构,并负责配置DNS服务器的功能。 BIND广泛存在,尤其是在Linux上,并且仍然是流行的DNS服务器实现。 此解决方案安装在提供根区域支持的服务器上。

有BIND的替代方法。 例如,PowerDNS,与Linux发行版捆绑在一起。 它由荷兰PowerDNS.COM公司的Bert Hubert编写,并得到开源社区的支持。 2005年,PowerDNS在Wikimedia Foundation的服务器上实现。 大型云提供商,欧洲电信公司和《财富》 500强组织也使用该解决方案。

BIND和PowerDNS是最常见的服务器,但不是唯一的DNS服务器。 还值得注意的是UnbounddjbdnsDnsmasq

域名系统开发


在DNS的整个历史中,对其规范进行了许多更改。 作为第一个也是主要的更新之一 1996年添加了NOTIFY和IXFR机制。 他们简化了主服务器和辅助服务器之间域名系统数据库的复制。 通过新解决方案,可以配置有关DNS记录更改的通知。 这种方法保证了辅助和主要DNS区域的身份以及节省的流量-同步仅在必要时发生,而不是固定的时间间隔。


照片-Richard Masoner -CC BY-SA

最初,一般公众无法访问DNS网络,并且信息安全的潜在问题并不是系统开发中的优先事项,但是这种方法后来使人感到自己。 随着Internet的发展,漏洞开始被利用-例如,出现了DNS欺骗之类的攻击。 在这种情况下,DNS服务器的缓存中填充了没有权威来源的数据,并将请求重定向到攻击者的服务器。

为了解决该问题,DNS 引入了用于DNS答案(DNSSEC)的加密签名-一种允许您从根区域为域建立信任链的机制。 请注意,在传输DNS区域时,为主机身份验证添加了类似的机制-称为TSIG。

IT社区欢迎进行简化DNS数据库复制并修复安全性问题的修改。 但是有些变化是社区没有以最佳方式接受的。 特别是从免费域名到付费域名的过渡。 这只是DNS历史上一场“战争”的例子。 我们将在下一篇文章中进一步讨论这一点。


我们在1cloud提供虚拟服务器服务。 有了它的帮助,您可以在几分钟内租用和配置远程VDS / VPS服务器。

还有一个针对所有用户的会员计划 。 发布推荐链接到我们的服务,并为您推荐的客户获得奖励。

Source: https://habr.com/ru/post/zh-CN480514/


All Articles