找回密码
 注册

DNS 的查询过程

[复制链接]
Yahoo 发表于 17-2-2008 05:20:53 | 显示全部楼层 |阅读模式

马上注册成为YANBONG会员吧!
时下最热门的资讯、娱乐、贴图等分享都在这里等你发掘哦!

您需要 登录 才可以下载或查看,没有账号?注册

×
本站常说的 DNS 是什麼 ?

我们要谈一谈,那麼 DNS 的 (1)架构是怎样? (2)查询原理是怎样?总是要先知道架构才能知道如何查询的吶!所以底下我们先来介绍一下整体的架构。
DNS 的架构:



上面就是一个简单的 DNS 阶层架构囉,最上方一定是 . (小数点) 这个 root 的 DNS主机,他底下管理的就只有 com, edu, gov, mil, org 与以国家为分类的第二层的主机名称了!例如台湾地区最上层的领域名称是以.tw 为开头,管理这个领域名称的这部机器的 IP 是在台湾,但是他的记录则是记录在 . (root)那部机器裡面的!还有其他的国家的最上层如.cn 指的是大陆, .de 指的是德国一样!那麼每个国家之下记录的主要的下层有哪些领域呢? 呵呵!主要就是有这六大类:

名称 代表意义
com 公司、行号、企业
org 组织、机构
edu 教育单位
gov  政府单位  
net  网路、通讯  
mil  军事单位  

其实最早之前在 . (root)之下只有这六大类的 domain name ,但是网路成长的速度太快了,因此后来又多出这些以国码来分的domain name ,如此一来,在该国家之内,只要向该国家申请 domain name即可,不需要再到最上层去申请囉!也因此,在这些国码之下,还是有这六大类的 domain name为主的哩!当然啦,在目前,由於网际网路持续的发烧,说实在的 domain name实在是有点不太够用,所以又有相当多的领域名称被设计出来,例如目前台湾 ISP 提供的 .idv.tw 的个人网站啦!

好了,再强调一次, DNS 系统是以所谓的阶层式的管理,所以,请注意喔!那个 .tw 只记录底下那一层的这六个主要的 domain的主机而已!至於例如 edu.tw 底下还有个 ncku.edu.tw 这部机器,那就直接授权交给 edu.tw那部机器去管理了!也就是说『每个上一层的 DNS主机,所记录的资讯,其实只有其下一层的主机名称而已!』至於再下一层,则直接『授权』给下层的某部主机来管理囉!呵呵!所以您就应该会知道 DNS到底是如何管理的吧! ^_^

会这样设定的原因不是没有道理的! 这样设计的好处就是:每部机器管理的只有下一层的 hostname 对应 IP而已,所以减少了管理上的困扰!而下层 Client 端如果有问题,只要询问上一层的 DNS server即可!不需要跨越上层,除错上面也会比较简单呢!

DNS 的搜寻流程:
刚刚说过 DNS 是以类似『树状目录』 的型态来进行名称的管理的!所以每一部 DNS 主机都『仅管理下一层 DNS 主机的名称转译』而已, 至於下层的下层,则『授权』给下层的 DNS 主机来管理啦!这样说好像很绕口,好吧!我们就以下图来说一说原理囉:




首先,当您在瀏览器的网址列输入 http://aerosol.ev.ncku.edu.tw时,您的电脑就会依据相关设定( 在 Linux 底下就是利用 /etc/resolv.conf 这个档案 ) 所提供的 DNS 的 IP去进行连线查询,好了,由於目前最常见的 DNS 主机就属 Hinet 的 168.95.1.1 这个 DNS了,所以我们就拿他来做例子吧!嗯!这个时候, hinet 的这部主机会这样工作:


先查看本身有没有纪录:
刚刚说过啦,由於 DNS 是层阶式的架构,任何一部 DNS 都仅记录下一层裡面的主机名称对应的 IP 而已,由於 hinet并非学术网路裡面的主机,所以自然也就没有办法直接提供给 client 端关於 aerosol.ev.ncku.edu.tw 这部机器的 IP了,所以啦,一般而言,这个时候 168.95.1.1 就会向最顶层,也就是 . (root) 的主机查询 .tw 这部机器的位址;

向最顶层 ( root )查询:
由於 168.95.1.1 没有纪录我们主机的 IP ,这个时候他就会向『最顶层』的 . (root) 这部主机来查询 . (root)的下一层,也就是 .tw 这部机器的资料了!这个时候, . (root) 就会告诉 168.95.1.1 说『嘿!您要查 .tw这个网域的管理者呀!?喝!我这裡有  .tw 这个网域的管理的主机之 IP 资讯,您可以直接去找他!』;

向第二层查询:
168.95.1.1 接著又到 .tw 去查询,而该部机器管理的又仅有 .edu.tw, .com.tw, gov.tw...那几部主机,经过比对后发现我们要的是 .edu.tw 的网域,所以这个时候 .tw 又告诉 168.95.1.1 说:『您要去管理.edu.tw 这个网域的主机那裡查询,我有他的 IP !』;

向下层持续查询:
好了,一步一步下来, .edu.tw 可以查到管理 .ncku.edu.tw 的主机 IP ; .ncku.edu.tw 可以查到管理.ev.ncku.edu.tw 的主机 IP ,而最后我们 aerosol.ev.ncku.edu.tw 就可在管理.ev.ncku.edu.tw 网域的那部主机的设定纪录当中查询到啦!

记录暂存记忆体:
查到了 IP 之后,这部 168.95.1.1 的 DNS 机器总不会在下次有人查询 aerosol.ev.ncku.edu.tw的时候再跑一次这样的流程吧!粉远粉累的吶!而且也很耗系统的资源与网路的频宽,所以呢, 168.95.1.1 这个 DNS 很聪明的会先记录一份aerosol.ev.ncku.edu.tw 对应 IP的资讯在自己的暂存记忆体当中,以方便下一次又有人对同一个主机名称的要求之查询!最后则将结果回报给 client 端!当然啦,那个记忆在cache 当中的资料,其实是有时间性的,当过了 DNS 设定记忆的时间(通常可能是 24 小时),那麼该记录就会被释放喔!

由这样的分层负责您发现了什麼?嗯!那就是:


当一个『合法』的 DNS 主机裡面的设定修改了之后,来自世界各地任何一个 DNS 的要求,都会正确无误的显示正确的主机名称对应 IP的资讯,因为他们会一层一层的寻找下来,所以,要找您的主机名称对应的 IP 就一定得要透过您的上层 DNS主机的纪录才行!所以只要您的主机名字是经过上层『合法的 DNS』主机的设定的,那麼就可以在 Internet上面被查询到啦!呵呵!很简单维护吧,机动性也很高。

在主机的暂存记忆体记录当中,由於是有时间性的,
所以当您的主机名称在DNS 当中被修改了之后,但是由於之前的旧资讯还记忆在其他的 DNS 主机的暂存记忆体裡面,所以啦,可能在别人以非您的 DNS主机来查询您的主机名称时,就会得到先前的旧资讯,这个时间差不多可能是 10 分鐘到 2 天左右,这也是为什麼我们常说当您修改了一个domain name 之后,可能要 2 ~ 3 天后才能全面的啟用的缘故啦!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

ADVERTISEMENT

Archiver|手机版|小黑屋|YANBONG

GMT+8, 24-4-2024 05:41

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

重要声明:本网站是以即时上载留言的方式运作,本站对所有留言的真实性、完整性及立场等,不负任何法律责任。而一切留言之言论只代表留言者个人意见,并非本网站之立场,用户不应信赖内容,并应自行判断内容之真实性。由于讨论区是受到「即时留言」运作方式所规限,故不能完全监察所有即时留言,若读者发现有留言出现问题,请联络我们。本站有权删除任何留言及拒绝任何人士留言,同时亦有不删除留言的权利。切勿撰写粗言秽语、诽谤、渲染色情暴力或人身攻击的言论,敬请自律。
Proudly hosted by
LinodeDigital Ocean
快速回复 返回顶部 返回列表