域名与域名解析
DNS服务,或者叫域名服务、域名解析服务,就是提供域名与IP地址的相互转换。域名的正向解析是将主机名转换成IP地址的过程,域名的反向解析是将IP地址转换成主机名的过程。通常我们很少需要将IP地址转换成主机名,即反向解析。反向解析经常被一些后台程序使用,用户看不到。
域名系统的工作过程
1.设置您的电脑去向谁查询。
除非您的电脑本身具有域名服务器的功能,否则它不会进行完整的域名查询。您的电脑需要借助于Internet上的某台域名服务器帮助进行域名查询。所以您首先需要设置您的电脑,在需要进行域名查询时,向哪个服务器发出询问。Internet上有许许多多域名服务器,您可以选任何一台作为您首选的域名服务器(“根”服务器除外,请继续读下文)。也就是说,您要告诉您的电脑,当需要进行域名查询时,首先去问哪一台域名服务器。域名服务器接收到您的电脑的查询请求,它会帮助您进行查询,然后将结果返回您的电脑。为了获得最快的响应,一般选择与您的电脑有最好的连接的服务器。在Windows95/98中,如果您是通过Modem上网,选择“拨号网络”-“某个拨号器”-“属性”-“服务器类型”-“TCP/IP设置”,可打开如图1所示窗口。这里的“主控DNS”就是上述首选的域名服务器,您还可以设置“辅助DNS”服务器,它可以在您的“主控DNS”服务器当机(Down)或响应过慢时起作用。如果您的电脑同时还有局域网连接,您需要进行以下设置:“控制面板”-“网络”-“TCP/IP -> 您的网卡”-“属性”-“DNS设置”,看到如图2所示的窗口,设置您的DNS服务器。在Unix上,类似的设置通常保存在 /etc/resolv.conf 文件中。
2.域名的查询过程。
在讲解域名查询过程之前,您需要知道一些背景知识。在Internet上,一个域名要由两台域名服务器提供“权威性的”域名解析。这里的“权威性”,指的是被服务的域名的所有记录是由这两台服务器唯一决定的。虽然Internet上的其他域名服务器上都可能保存有该域名的记录,但那些记录是从这两台“权威性”的域名服务器上拷贝过去的,是非权威性的。这两台域名服务器,和您的域名一起被登记在域名注册管理机构的数据库中。如果是国际域名,域名注册管理机构就是Internic;如果是国内域名,域名注册管理机构就是CNNIC。这两台“权威性的”服务器,一主一辅,保存着相同的记录,主要是为了提高可靠性。域名注册管理机构的数据库的记录最终体现在“根”域名服务器上。目前在Internet上的最顶级“根”域名服务器共有13台,它们被完善地维护着。如果它们全都不工作,Internet就崩溃了(网络仍通,但域名及电子邮件完全不能工作)。根服务器中保存的记录的最本质的信息,就是一个域名由哪两台域名服务器提供解析服务。
以下结合实例讲述域名的查询过程
当您打开浏览器,访问某个站点时,例如www.hichina.com,您的电脑需要知道
这个站点的IP地址是多少。于是它会自动向您的“主控DNS”服务器发出询问,即“www.hichina.com的IP是多少?”,如果这台域名服务器
对hichina.com这个域名不是“权威性”的,起初它上面并没有关于hichina.com的记录,于是它向根服务器发出一个查询:“hichina.com由什么服务器提供域名解析服务”?根服务器的回答将是:“哦,去问dns1.hichina.com或者dns2.hichina.com吧。他们的IP地址是203.196.4.70及203.196.4.10”。您的主控DNS服务器继而会询问dns1.hichina.com这台域名服务器,还是那个问题,即“www.hichina.com的IP是多少?”,dns1.hichina.com将给出“权威性的”回答。您的主控DNS服务器收到这个回答,一方面将该信息告诉您的电脑,另一方面它会把该信息保存在自己的缓冲区内,如果它再次接到相同的查询,它就直接将刚才缓存了的记录回答给下一个询问者。但是这个缓存的记录有一个失效期,当失效期到达后,您的主控DNS服务器将会自动丢弃缓存的记录。当再有电脑发出同样的查询请求时,将重复前面叙述的完整的过程。可以看出,您的主控DNS服务器“代理”了您的电脑的查询过程,一级一级地进行了查询,我们称之为“递归式”的查询。
对于国内域名,如www.domain.com.cn,查询过程将更加复杂一些。您的电脑向您的主控DNS服务器发出查询请求:“www.domain.com.cn的IP地址是多少?”,如果您的主控DNS服务器不是该域名的“权威性”的服务器,它上面没有关于www.domain.com.cn的记录,于是它向根服务器发出询问:“com.cn由什么服务器提供域名服务?”,根服务器的回答将是:“哦,去问ns.cnc.ac.cn或者sns.edu.cn吧。他们的IP地址是159.226.1.1及202.112.0.34”(注:根服务器实际共列出了7个域名服务器,经笔者测试,其中有些域名服务器查询的结果不正确)。您的主控DNS服务器继而向ns.cnc.ac.cn发出查询:“domain.com.cn由谁提供域名服务?”,nc.cnc.ac.cn将回答:“去问dns1.hichina.com或者dns2.hichina.com吧,他们的IP地址是203.196.4.70及203.196.4.10。”您的主控DNS服务器接着会询问dns1.hichina.com这台域名服务器,“www.domain.com.cn的IP是多少?”,dns1.hichina.com将给出“权威性的”回答。同样,您的主控DNS服务器也将缓存这个记录直至失效期到来。在域名系统中,象ns.cnc.ac.cn或ns.edu.cn这样的服务器就是国内域名的根服务器。
请注意,根服务器不能作为您的“主控DNS”服务器。因为它不会帮助您进行“递归式”的查询。
怎样确定一个域名是否得到了正常的域名服务?
总结上面描述的过程,可以看出:一个域名要想能够被Internet上的用户访问到,必须得到正常的域名服务。这包括:
(1)在根服务器中有记录,这实际上就是进行了域名的注册;
(2)在“权威性的”域名服务器上有记录,即它们为您的域名提供了域名解析服务。这些“权威性的”服务器,就是登记在根服务器中,指定为您的域名提供“权威性”服务的服务器。“权威性的”域名服务器中记录了一个域名下的多个主机的IP地址,如www主机、ftp主机、mail主机等,还有该域名的电子邮件如何投递的记录、上述的失效期等。可能给该域名本身也指定一个IP地址,我们创联万网就是这样做的,其好处就是让用户访问您的网站时,不用写“www”也可以访问得到。
一个域名如果得到了正确的域名服务,那么在世界上的任何地方,Internet用户使用各种软件都能够查询到,如浏览器、telnet、ftp、ping等。
值得指出的是,即使一个域名得到了正确的解析服务,但如果该域名相应的服务器未正常工作(例如没有开机、当机或服务不正常),您仍然访问不到它们。判别它们的方法很简单,因为您的机器的给您的报告不同:域名解析服务不正常时,结果是:找不到该主机;而服务器不正常得到的回答是:主机没有响应。
如果您的域名找不到,如何查找问题?
有时,一个域名在Internet上访问不到,问题在哪里呢?首先,您需要根据浏览器返回的结果判断是属于解析有问题还是您的web服务器出了问题
(注:IE提供的信息比较含糊,Netscape提供的信息更准确)。对于域名解析上的问题,为了帮助用户了解自己域名的工作状况,创联万网开发了Web界面的查询工具“域名追踪器”,它可以帮助您断定域名出现无法访问时的问题所在。因为您看完了本文前面的介绍,知道了域名是怎样工作的,您就可以借助于“域名追踪器”进行查看。“域名追追踪器”可以帮助您查看:
(1) 根服务器是否给您的域名做了正确的解析服务。
(2) 您的域名所登记的“权威性的”服务器是否给您的域名提供了正确的解析服务。
域名追踪器在万网的网站上的位置是:http://bips.hichina.com/maindoc/usr/register_domain/search_domain.php3
一般,如果根服务器没有您的域名的记录,有以下几种可能:
(1) 您的域名是刚刚注册;
(2) 您的域名于付款问题或其他问题被停止了服务;
如果您的域名的“权威性的”服务器未给您的域名提供服务,其原因可能是:
(1) 管理该服务器的机构(网络服务提供商)未做域名解析服务(DNS);
(2) DNS设置错误等;