返回列表 发帖
DNS的工作原理


  以访问www.xxx.com为例说明

  1)客户端首先检查本地c:\windows\system32\drivers\etc\host文件,是否有对应的IP地址,若有,则直接访问WEB站点,若无

  2)客户端检查本地缓存信息,若有,则直接访问WEB站点,若无

  3)本地DNS检查缓存信息,若有,将IP地址返回给客户端,客户端可直接访问WEB站点,若无

  4)本地DNS检查区域文件是否有对应的IP,若有,将IP地址返回给客户端,客户端可直接访问WEB站点,若无,

  5)本地DNS根据cache.dns文件中指定的根DNS服务器的IP地址,转向根DNS查询。

  6)根DNS收到查询请求后,查看区域文件记录,若无,则将其管辖范围内.com服务器的IP地址告诉本地DNS服务器

  7).com服务器收到查询请求后,查看区域文件记录,若无,则将其管辖范围内.xxx服务器的IP地址告诉本地DNS服务器

  8).xxx服务器收到查询请求后,分析需要解析的域名,若无,则查询失败,若有,返回www.xxx.com的IP地址给本地服务器

  9)本地DNS服务器将www.xxx.com的IP地址返回给客户端,客户端通过这个IP地址与WEB站点建立连接

TOP

为什么用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弄、crysta家’,那世界上所有1000个问路系统都要添加这样的对应关系。同样的问题,如果crystal把房子卖给了seebod,那房子名就叫‘上海、汤臣、56弄、seebod家’,世界上所有1000个问路系统同样要更新。为了解决这个问题,就采用了最处片警的例子,每个片警只负责他自己的一片区域。

TOP

http://baike.baidu.com/view/22276.htm

感觉看了以后对于DNS的了解还是多了一些

TOP

返回列表