深入浅出计算机网络
上QQ阅读APP看书,第一时间看更新

1.5.3 Internet中的域名服务器

当通过域名访问网站或单击网页中的超链接跳转到其他网站时,计算机需要将域名解析成IP地址才能访问这些网站。DNS服务器负责域名解析,因此必须为计算机指定域名解析使用的DNS服务器。图1-49所示的计算机就配置了两个DNS服务器,一个首选的DNS服务器、一个备用的DNS服务器。配置两个DNS服务器可以实现容错。大家最好记住几个Internet上的DNS服务器的地址,下面这3个DNS服务器的地址都非常好记,222.222.222.222是石家庄市电信DNS服务器,114.114.114.114是南京市电信DNS服务器,还有一个8.8.8.8是美国谷歌公司的DNS服务器。

图1-49 设置多个DNS服务器

截至2019年第二季度,互联网络注册域名数量增至3.547亿个。假设全球只有一个DNS服务器负责所有域名的解析,整个Internet上每时每刻都有无数网民请求域名解析。大家想想,这个DNS服务器需要多高的配置?该服务器联网的带宽需要多高才能满足要求?而且如果只有一个DNS服务器,该服务器一旦坏掉,全球的域名解析部将失败。因此,域名解析需要一个健壮的、可扩展的架构来实现。下面介绍在Internet上部署DNS服务器和域名解析的过程。

要想在Internet上搭建一个健壮的、可扩展的域名解析体系架构,就要把域名解析的任务分摊到多个DNS服务器上。B服务器负责net域名解析、C服务器负责com域名解析、D服务器负责org域名解析,如图1-50所示。B、C、D这一级别的DNS服务器称为顶级域名服务器。

图1-50 DNS服务器的层次

A服务器是根域名服务器,不负责具体的域名解析,但根域名服务器知道B服务器负责net域名解析、C服务器负责com域名解析、D服务器负责org域名解析。具体来说,根域名服务器上就一个根区域,然后创建委派,每个顶级域名指向一个负责的DNS服务器的IP地址。每一个DNS服务器都知道根域名服务器的IP地址。

C服务器负责com域名解析,图中91xueit.com子域名下有主机记录,即“主机名→IP地址”的记录,C服务器就可以查询主机记录解析91xueit.com的全部域名。当然C服务器也可以将com下的某个子域名的域名解析委派给另一个DNS服务器。图中搜狐域名解析委派给了E服务器。

E服务器属于三级域名服务器,负责搜狐域名解析,该服务器记录有搜狐域名下的主机记录,E服务器也知道根域名服务器的IP地址,但它不知道C服务器的IP地址。

当然三级域名服务器也可以将某个子域名的域名解析委派给四级域名服务器。

根域名服务器知道顶级域名服务器的IP地址,上级DNS服务器委派下级DNS服务器,全部的DNS服务器都知道根域名服务器IP地址。这样的一种架构设计,保证客户端使用任何一个DNS服务器都能够解析出全球的域名。下面讲解域名解析的过程。

为了方便讲解,图中只画出了一个根域名服务器,其实全球共有13台逻辑根域名服务器。这13台逻辑根域名服务器的名字分别为“A”至“M”,真实的根域名服务器截至2014年1月25日的数据为386台,分布于全球各大洲。每一个域名也都有多个DNS服务器来负责解析,这样能够负载均衡和容错。