DNS的那些事儿(1)

神马是DNS?

   DNS是域名系统(domain name system)的缩写。它是:(1)、一个由分层的DNS服务器(DNS server)实现的分布式数据库。(2)、一个允许主机查询分布式数据库的应用层协议。DNS服务器通常是运行BIND(Berkeley internet name domain)软件的UNIX机器。DNS协议运行在UDP之上,使用53号端口。它主要的功能在于提供主机名(比如:www.dlut.edu.cn)到IP地址(例如:202.118.66.66)转换的目录服务。这个转换过程简要描述如下:

        1) 用户PC上运行着DNS应用的客户机端

       2) 用户PC上的浏览器从URL(URL=主机名+资源路径)中抽取主机名并将主机名传给                                位于本机的DNS应用的客户机端

       3) DNS客户机端向DNS服务器发送一个包含主机名的请求

       4) DNS客户机最终会收到一份回答报文,其中含有对应于该主机名IP地址

       5) DNS客户机将该IP地址发送给浏览器,接下来浏览器对该地址对应的HTTP服务器发起一个TCP连接。

除了进行主机名到IP地址的转换外,DNS还提供了主机别名,邮件服务器别名和负载分配等功能。

关于DNS的负载分配

   负载均衡是web应用中非常重要的一个topic。DNS也可以用于负载均衡。通常流量较大的web站点都会设置几台乃至数百台冗余web服务器,每台服务器运行在不同的端系统上拥有不同的IP地址。对于这些冗余的web服务器,一个规范的主机名将会对应一个IP地址集合。DNS数据库中存储着这些IP地址集合。当客户机为映射到这个IP地址集的名字发出一个DNS请求时,该服务器用包含全部这些地址的报文进行回答,但在每个回答中旋转这些地址排放的顺序。因为客户机通常总是想IP地址排在最前面的服务器发送HTTP请求报文,所以DNS就在所有这些冗余web服务器之间旋转分配负载。DNS的旋转同样可以用于邮件服务器,因此多个邮件服务器可以具有相同的别名。

你可能感兴趣的:(dns)