2024年4月3日发(作者:)
一、什么是DNS?
DNS的中文意思是:域名服务。域名服务是提供[主机名]到[IP地址]转换的一段计算机程序。
DNS 是域名系统 (Domain Name System) 的缩写,该系统用于命名组织到域层次结构中的计算机
和网络服务。在Internet上域名与IP地址之间是一对一(或者一对多)的,域名虽然便于人们
记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专
门的域名解析服务器来完成,DNS就是进行域名解析的服务器。 DNS 命名用于 Internet 等 TCP
/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DN
S 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,
是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。
在IPV4中IP是由32位二进制数组成的,将这32位二进制数分成4组每组8个二进制数,
将这8个二进制数转化成十进制数,就是我们看到的IP地址,其范围是在0~255之间。因为,8
个二进制数转化为十进制数的最大范围就是0~255。现在已开始试运行、将来必将代替IPv4的I
PV6中,将以128位二进制数表示一个IP地址。
大家都知道,当我们在上网的时候,通常输入的是如: 这样子的网址,其
实这就是一个域名,而我们计算机网络上的计算机彼此之间只能用IP地址才能相互识别。再如,
我们去一WEB服务器中请求一WEB页面,我们可以在浏览器中输入网址或者是相应的IP地址,例
如我们要上新浪网,我们可以在IE的地址栏中输入: 也可输入这样子 218.30.
66.101 的IP地址,但是这样子的IP地址我们记不住或说是很难记住,所以有了域名的说法,这
样的域名会让我们容易的记住。
DNS:Domain Name System 域名管理系统 域名是由圆点分开一串单词或缩写组成的,每一个
域名都对应一个惟一的IP地址,这一命名的方法或这样管理域名的系统叫做域名管理系统。
DNS:Domain Name Server 域名服务器 域名虽然便于人们记忆,但网络中的计算机之间只
能互相认识IP地址,它们之间的转换工作称为域名解析(如上面的 与 218.30.
66.101 之间的转换),域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的
服务器。
二、为什么用DNS?
人的大脑记住一组资源的名字比较容易,而记住这组资源的地址很难,但实际上我们又必须
使用地址来访问资源,所以必须有一个系统来提供名字到地址的翻译服务。
下面的例子,当您要访问昆明湖、玉兰堂等景观,您首先会想到两个景点都属于 颐和园,而
不会想到 颐和园的经纬度,而事实上我们是通过经纬度来访问一组资源的。当您来到一个陌生的
城市,向离您最进的片警A问路的时候,片警A就提供了DNS:
1、您问道:“您能告诉我颐和园怎么走么?”。
2、片警A说:“我不知道,但我知道颐和园隶属于四环,负责四环的是片警B,片警B的经
纬度是117.2/30.2”。
3、您到了北四环,根据经纬度到片警B问:“您能告诉我颐和园怎么走么?”。
4、片警B说:“我不知道,但我知道颐和园属于海殿区,负责海淀的是片警C,片警C的经
纬度是117.3/30.3”。
5、您到了海淀区,根据经纬度找到片警C问:“您能告诉我颐和园怎么走么?”
6、片警C说:“颐和园在经度117.03333、纬度30.51666”
7、知道了颐和园的坐标,您就可以到颐和园参观了。
注意:以上过程,在DNS查询中有个专业术语,叫做迭代查询。也许您还听说过递归查询。
1、就是当您向片警A问路的时候,您希望片警A给您一个确切的回答:“您可以告诉我颐和
园怎么走么?我这是递归查询,也就是说,您不要再让我跑腿问别人了,您帮我问。”
2、交警A如果也发出的是递归查询问交警B:“您可以告诉我颐和园怎么走么?我这是递归
查询,也就是说,您不要再让我跑腿问别人了,您帮我问。”
3、交警B如果也发出的是递归查询问交警C:“您可以告诉我颐和园怎么走么?我这是递归
查询,也就是说,您不要再让我跑腿问别人了,您帮我问。”
4、交警C对交警B说:“颐和园就在经度117.03333、纬度30.51666”
5、交警B对交警A说:“颐和园就在经度117.03333、纬度30.51666”
6、交警A对您说:“颐和园就在经度117.03333、纬度30.51666”
我可以冒充片警C吗?除非您把片警C kill掉,否则即使您穿着片警C的衣服,打扮的和片
警C一模一样,也不会有人找您问路。因为片警C始终都在经纬度是117.3/30.3的地方蹲点,问
路的人只会根据片警B找经纬度117.3/30.3的片警C。冒充片警B呢?一个道理,问路的人只会
根据片警A找到经纬度是117.2/30.2的片警 B。那冒充片警A呢?您要自问一下,片警A的经纬
度是谁告诉您的,告诉您的人可信不可信。一般我们通过ADSL拨号上网的家庭用户,电信接入端
给我们提供片警A既DNS服务器的经纬度既IP地址都是真实的。
也许您感觉很烦琐,为什么不成立一个问路系统,比如114查号,114问路系统存储了世界上
所有名字到经纬度的对应关系。那么您考虑一下,如果114系统由于查询量过大而瘫痪呢?或者
中毒而无法提供服务呢?等等这些问题会延误世界人民查询名字到地址的对应关系。您可能会说,
那在世界上建立1000个问路系统,比如电话号从1000到1999都提供名字到经纬度翻译服务,这
样当一个号码打不通,客户可以打另一个。但您应该想到,这样的系统维护起来太麻烦了,比如
您自立门户了,买了处房子,房子的经纬度是122.2/122.3,名字叫‘上海、汤臣、56弄、cryst
a家’,那世界上所有1000个问路系统都要添加这样的对应关系。同样的问题,如果crystal把
房子卖给了seebod,那房子名就叫‘上海、汤臣、56弄、seebod家’,世界上所有1000个问路
系统同样要更新。为了解决这个问题,就采用了最初片警的例子,每个片警只负责他自己的一片
区域。
具体看一个名字到地址的解析过程(上面的例子仅是为了引发您的思维,而不能与实际的DN
S查询过程一一对应,不要生搬硬套)
当您在浏览器中输入(.),我们的电脑是如何得到IP地址的:
1、浏览器发现是一个名字,于是调用我们机器内部的DNS Client软件,这个软件会把我们
的请求发送到网卡Tcp/IP设置中的默认DNS服务器IP地址(上海电信提供DNS的服务器有3台,
其中一台IP是202.96.209.5):“您可以告诉我.的IP地址吗?我这是一个递
归查询”
2、 202.96.209.5的DNS服务器会检查自己的DNS缓存,如果缓存里有,就直接返回给客户,
如果没有,202.96.209.5就会向自己系统内部配置中负责.域的DNS服务器的IP地址(负责.域的


发布评论