本节书摘来自异步社区《DNS与BIND(第5版)》一书中的第1章,第1.2节,作者: 【美】Joseph Davies 更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.2 Internet和internet的区别
大部分人认为,Internet与internet没什么区别。从书写上看,两者的区别很小:一个首字母大写,而另一个首字母小写。但是两者的含义却是迥然不同的。首字母大写的Internet,指的是基于ARPAnet建立起来并沿用至今的,成为所有直接或间接连接到美国商业主干网的,使用TCP/IP协议的网络。更深入来看,Internet实际上是由许多不同的网络,如商业的TCP/IP主干、企业网络、美国政府网络以及其他国家的TCP/IP网络通过高速数字线路连接而成的。而internet,则是由多个使用同一网络互联协议的小型网络组成的任何网络。该类型的网络不一定与Internet相连接,也不一定使用TCP/IP作为其网络协议,比如一些公司的内部独立网络。
至于intranet,实际上就是一个基于TCP/IP协议的internet,用来强调在公司内部网络上使用了Internet上发展和流行起来的技术。另一方面,extranet则指的是基于TCP/IP协议的internet,用以连接合作公司、经销商、供应商及客户沟通平台。
1.2.1 域名系统的历史
在20世纪70年代,ARPAnet是一个只有几百台主机的小型、友好的社区。所以只需要HOSTS.TXT这一个文件,就可以包含连接到ARPAnet的每台主机的名称到地址的解析。人们所熟知的UNIX主机表(/etc/hosts)就是由HOSTS.TXT演变而来的(主要是删除了UNIX不用的字段)。
HOSTS.TXT文件由SRI的网络信息中心(Network Information Center,NIC)负责维护,并且由一台单独的主机SRI-NIC1来负责分发。ARPAnet的管理员通常将改动通过电子邮件传达给NIC,并定期通过FTP的方式连接到SRI-NIC,以获取最新的HOSTS.TXT文件。他们每周会进行一次或者两次更新,将改动编译成一个新的HOSTS.TXT文件。随着ARPAnet的成长,这种方案就不可行了。HOSTS.TXT文件的大小随着ARPAnet上主机数量的增长而不断变大。此外,更新过程所造成的网络流量也增加得越来越快:每新增一台主机不仅仅意味着在HOSTS.TXT文件中增加一行,还意味着其他主机需要通过SRI-NIC获取更新。
当ARPAnet采用了TCP/IP协议后,网络用户出现了激增。这让使用HOSTS.TXT的主机面临以下诸多问题。
流量和负载
由于分发HOSTS.TXT文件所引起的网络流量和处理器负载,使得SRI-NIC的文件分发变得让人难以忍受。
名称冲突
在HOSTS.TXT文件中不应该出现两台名称相同的主机。然而,NIC虽然能够在分配地址时确保其唯一性,但是却没有管理主机名称的权利。NIC无法防止有人添加一台使用重复名称的主机,从而打乱整个机制。例如,添加一台与邮件中心(mail hub)同名的主机将会破坏ARPAnet上的大部分邮件服务。
一致性
在一个不断扩展的网络上,维持HOSTS.TXT文件的一致性变得越来越困难。在新的HOSTS.TXT文件传达到庞大的ARPAnet的最远角落之前,可能某台主机的地址已经发生了改变,或者又有一台新的主机出现了。
最根本的问题在于,HOSTS.TXT机制的扩展性不好。具有讽刺意味的是,ARPAnet试验的成功却导致了HOSTS.TXT机制的失败和淘汰。
ARPAnet的管理者们开始研究HOSTS.TXT机制的接替者。他们的目标是创建一个系统,能够解决集中管理主机表所造成的问题。新的系统应当允许在本地管理数据,同时又使数据在全世界范围内可用。管理的分散化将终结单一主机所产生的瓶颈,缓解网络的流量问题。本地管理也会使保持数据的更新变得容易很多。新系统将采用层次结构的命名空间来为主机命名。这样就能确保名称的唯一性。
南加州大学信息科学研究所(USC’s Information Sciences Institute)的Paul Mockapetris负责设计这个新系统的体系结构。1984年,他发布了RFCs 882和883,用以描述DNS。这些RFC后来被RFC 1034和1035所取代,也就是现在的DNS规范2。目前,RFC 1034和1035已经被许多其他的RFC所扩充,扩充部分包括:DNS潜在的安全问题、实现问题、管理缺陷、名称服务器的动态更新机制以及保证区域数据的安全性,等等。