数据库|都知道DNS 但它是谁发明设计的你了解吗?

数据库|都知道DNS 但它是谁发明设计的你了解吗?

文章图片

数据库|都知道DNS 但它是谁发明设计的你了解吗?

【数据库|都知道DNS 但它是谁发明设计的你了解吗?】[PConline 杂谈
域名系统 , 也就是我们口中常说的DNS , 可以将域名和IP地址相互映射 , 省去了记住IP数串的麻烦 , 从而让人们更方便快捷的访问互联网 。 对于DNS想必各位都已非常熟悉 , 但是它是由谁发明并设计出来的 , 你真的了解吗?
域名系统通常被称为互联网的“电话簿” , 是互联网基础设施的基本组成部分 。 在互联网的早期 , 主机和IP地址信息储存在斯坦福研究院维护的一个文本文件HOSTS.TXT 中 , 当一台新计算机加入到网络或一台旧电脑修改了它的资料 , 人们需要联系斯坦福研究院 , 让他们手动更新文件 。
不仅如此 , 若想知道一台计算机的IP地址 , 也需要联系斯坦福研究院 。 重要的是 , 每个工作日的下午五点就会关闭 , 而且节假日不开放 , 可以说非常的不方便 。
为此 , 当时还在南加州大学工作的Paul Mockapetris博士发明和设计了DNS系统 , 通过利用分布式数据库来解决这个问题 , 主要作用是转换我们可读的主机名 , 例如www.welcometothejungle.com , 转换成机器可读的IP地址52.211.16.159 。
Mockapetris博士表示 , 虽然DNS系统设计的非常灵活 , 但顶级域名本身更像是各国政治间的一场博弈 。 有人说域名系统并不完美 , 因为它存在很多安全漏洞 , 如欺骗、DDoS攻击等等 。 对于这个说法 , Mockapetris博士解释称DNS设计的不安全是有意为之 , 当时的首要问题是尽快让人们接受分布式系统这个概念 。
域名解析体系第一层就是根服务器 , 负责管理世界各国的域名信息 , 在根服务器下面是顶级域名服务器 , 也就是相关国家域名管理机构的数据库 , 然后是下一级的域名数据库和ISP的缓存服务器 。 我国普通网民在访问带有.com等后缀的国外网站时 , 大多需要经过国外的域名服务器进行解析 。
那么 , 根DNS服务器有什么作用呢?根域名服务器中没有每个域名的具体信息 , 储存的是负责每个域的解析的域名服务器的地址信息 , 根域名服务器是架构因特网所必须的基础设施 。
都知道全世界只有13台根域名服务器 , 但你知道为什么只有13台吗?这还得从DNS的协议说起 , DNS使用的是端口UDP和TCP协议 。 所有UDP实现中能保证正常工作的最大包长是512字节 , 这512字节限制了根服务器的数量和名字 。 要让所有的根服务器数据能包含在一个512字节的UDP包中 , 根服务器只能限制在13个 。
能不能自己搭建根服务器?实际上 , 在去年12月份左右 , 俄罗斯宣布正在建设一个主权内部网 , 重建DNS基础设施 , 对此Mockapetris博士表示技术本身并不难 , 俄罗斯可以使用开源DNS来实现他们的想法 。 但从商业角度来看 , 对外连接仍然是重要的 , 即使是“防火墙”也并没有切断连接 , 而只是寻求控制 。
此外 , 另一个值得我们关注的是 , 现在各国都在加速部署IPv6 , 那么DNS是否会因过渡到IPv6而受到影响呢?想必这也是很多人所担心问题 。 实际上 , DNS可以处理任何类型的IP并且不会丢失域 。 目前的问题不是缺乏域 , 而是对某些特定域的需求 , 就好像每个人都想搬到A城市 , 但不是每个人都能搬进来一样 。


    推荐阅读