深入解析域名服务(DNS):原理、架构与应用
1. 域名系统(DNS)概述
域名系统(DNS)克服了主机表的两大主要弱点:
-可扩展性强:它并非依赖单一的大表,而是分布式数据库系统,不会随着数据库的增长而变慢。目前,DNS能提供约1600万台主机的信息,而主机表中列出的主机数量还不到1万台。
-信息自动传播:能确保新的主机信息按需传播到网络的其他部分。信息会自动传播,且仅传播给有需求的对象。
其工作原理如下:当DNS服务器收到关于某主机的信息请求,而自身没有该信息时,它会将请求转发给权威服务器。权威服务器负责维护被查询域名的准确信息。当权威服务器给出答复后,本地服务器会将答案缓存起来,以便后续使用。这种从权威源控制主机信息并自动传播准确信息的能力,使DNS即便对于未连接到互联网的网络,也优于主机表。
此外,DNS还取代了早期的一种名称服务。不过,旧服务和DNS都常被称为名称服务,它们都列在/etc/services文件中。旧软件被分配到UDP端口42,称为nameserver或name;而DNS名称服务被分配到端口53,称为domain,这难免会让人产生混淆。本文仅讨论DNS,当提及“名称服务”时,均指DNS。
2. 域名层次结构
DNS是一个分布式的层次系统,用于将主机名解析为IP地址。在DNS中,没有包含所有互联网主机信息的中央数据库,信息分布在数千台按层次结构组织的名称服务器中,类似于UNIX文