为什么要有域名系统呢?
域名系统DNS(Domain Name System 区域名系统)是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。域名系统其实就是名字系统。为什么不叫名字系统,而叫域名系统?这是在这种互联网的命名系统中使用了许多的“域”,因此就出现了“域名”这个词。“域名系统”很明确的指明这种系统是用在互联网中的。
许多应用层软件经常直接使用域名系统DNS。虽然计算机的用户只是间接而不是直接使用域名系统,但是DNS却为互联网的各种网络应用提供了核心服务。
用户与互联网上某台某台主机通信时,必须要知道对方的IP地址。然而,用户很难记住长达32位的二进制主机地址。即使是点分十进制的IP地址也并不容易记忆。但是在应用层便于用户记忆各种网络应用,连接在互联网上的主机不仅有IP地址,而且还有便于用户记忆的主机名字。域名系统能够把互联网上的主机名字转换为IP地址。
为什么机器在处理IP数据报时使用IP地址而不是域名地址呢?
这是因为IP地址的长度是固定的32位(如果是ipv6,那就是128位),而域名长度并不是固定的,机器处理起来比较困难。
域名系统的服务器是怎样设置的呢?
从理论上讲,整个互联网可以只使用一个域名服务器,使它装入互联网上的所有的主机名,并回答所有对IP地址的查询。然而这种做法并不可取。因为互联网规模很大,这样的域名服务器肯定会因过负荷而无法正常工作,而且一旦域名服务器出现故障,整个互联网都会瘫痪。因此,早在1983奶奶互联网就开始采用层次树状结构的命名方法,并使用分布式的域名系统DNS.
互联网的域名系统DNS被设计成一个联机分布式数据库系统,并采用客户服务器方式。DNS的大多数名字都在本地解析,仅仅少量需要在互联网上通信,因此DNS系统的效率很高。由于DNS是分布式系统,即使单个计算机出了问题,也不会妨碍整个DNS系统的正常运行。
域名的解析过程?
域名到IP地址的解析是由分布在互联网上的许多域名服务器共同完成的。域名服务器程序在专设的节点上运行,而人们也常把运行域名服务器程序的机器称作域名服务器。
域名到IP地址的解析过程的要点如下:当一个应用进程需要把主机名解析成IP地址时,该应用程序就调用解析程序,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UPD用户数据报方式发给本地服务器。本地域名服务器在查找域名后,把对应的IP地址放到IP地址放在回答报文中返回。应用进程获得目的主机的IP地址后即可进行通信。
若本地域名服务器不能回答请求,则此域名服务器就暂时称为DNS中的另一个客户,并向其他域名服务器发出查询请求。这种过程直至找到能够回答该请求的域名服务器为止。