- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从理论到实践,全方位认识DNS(理论篇)
对于DNS(Domain Name System)大家肯定不陌生,不就是用来将一个网站的域名转换为对应的IP吗。当我们发现可以上QQ但不能浏览网页时,我们会想到可能是域名服务器挂掉了;当我们用别人提供的hosts文件浏览到一个“不存在”的网页时,我们会了解到域名解析系统的脆弱。然而关于DNS还有一大堆故事值得我们去倾听,去思考。
DNS 源起
要想访问网络上的一台计算机,我们必须要知道它的IP地址,但是这些地址(比如9)只是一串数字,没有规律,因此我们很难记住。并且如果一台计算机变更IP后,它必须通知所有的人。
显然,直接使用IP地址是一个愚蠢的方案。于是人们想出了一个替代的方法,即为每一台计算机起一个名字,然后建立计算机名字到地址的一个映射关系。我们访问计算机的名字,剩下的名字到地址的转换过程则由计算机自动完成。
hosts映射
早期,名字到地址的转换过程十分简单。每台计算机保存一个hosts文件,里面列出所有计算机名字和对应的IP地址,然后定期从一个维护此文件的站点更新里面的记录。当我们访问某个计算机名字时,先在hosts文件找到对应的IP
,然后就可以建立连接。
???′?¤???2???????????¥è??é???1
早期的ARPANET就是这样做的,但是随着网络规模的扩大,这种方法渐渐吃不消了。主要有以下三个原因:
hosts文件变得非常大;主机名字会冲突;集中的维护站点会不堪重负(需要给几百万机器提供hosts文件,想想就可怕)。
域名系统
为了解决上面的问题,1983年Paul Mockapetris提出了域名系统(DNS, Domain Name
System),这是一种层次的、基于域的命名方案,并且用一个分布式数据库系统加以实现。当我们需要访问一个域名(其实就是前面说的计算机的名字)时,应用程序会向DNS服务器发起一个DNS请求,DNS服务器返回该域名对应的IP地址。通过下面三种手段解决了上面的问题:
用户计算机上并没有存储所有的名字到IP的映射,这样避免了hosts文件过于庞大(现在各操作系统中hosts文件默认都是空的)。规定了域名的命名规则,保证主机名字不会重复。DNS服务器不再是单一的一台机器,而是一个层次的、合理组织的服务器集群。
这样访问一个域名的过程可以简化为下图:
DNS 协议
那么如何具体实现这个所谓的域名系统呢,要知道管理一个超大型并且不断变化的域名到IP的映射集合可不是一个简单的事,况且还要去应付成千上万的DNS查询请求。人们最终想出了一套不错的协议,规定如何来实现这个系统,下面我们一起来看看吧。
域名空间
???′?¤???2???????????¥è??é???2
首先我们需要制定一套命名规则,防止域名出现重复。DNS关于域名的规则和我们生活中的快递系统类似,使用层次的地址结构。快递系统中要给某人邮寄物品,地址可能是这样:中国、广东省、广州市、番禺区、中山西路12号 XXX。而一个域名看起来则是这样
的(为什么不是com.google.groups?我猜可能和老外写地址的习惯有关)。
对于Internet来说,域名层次结构的顶级(相当于国际快递地址中的国家部分)由ICANN(互联网名称与数字地址分配机构)负责管理。目前,已经有超过250个顶级域名,每个顶级域名可以进一步划为一些子域(二级域名),这些子域可被再次划分(三级域名),依此类推。所有这些域名可以组织成一棵树,如下图所示(图片来自Computer Networks: 7-1
):
域名资源记录
DNS设计之初是用来建立域名到IP地址的映射,理论上对于每一个域名我们只需要在域名服务器上保存一条记录即可。这里的记录一般叫作域名资源记录,它是一个五元组,可以用以下格式表示:
Domain_name Time_to_live Class Type Value
其中:
Domain_name: 指出这条记录适用于哪个域名;Time_to_live: 用来表明记录的生存周期,也就是说最多可以缓存该记录多长时间(后面会讲到缓存机制);Class: 一般总是IN;Type:记录的类型;Value: 记录的值,如果是A记录,则value是一个IPv4地址。
我们看到域名资源记录有一个Type字段,用来表明记录的类型。这是为什么呢?因为对于一个域名来说,通常并非只记录其IP地址,还可能需要一些其他种类的记录,一些常见的记录类型如下:
记录类型含义A主机的IPv4地址AAAA主机的IPv6地址NS该域名所在域的权威域名服务器MX接受特定域名电子邮件的服务器域名CNAME当前域名的一个别名
关于这些域名资源记录的实例我们将在下一篇文章(实践篇)看到。
域名服务器
???′?¤???
您可能关注的文档
最近下载
- 公司招聘简章.docx VIP
- 谕兴中学教科研工作总结PPT.pptx VIP
- 数字艺术创作职业技能等级标准(2021年版).pdf VIP
- 2025年《生活饮用水水质处理器卫生安全与功能评价规范——反渗透处理装置.pdf VIP
- 热等静压市场分析报告.pdf VIP
- 中学教科研工作总结PPT.pptx VIP
- 《研学旅行指导师实务》课件——第7章 研学旅行安全管理.pptx VIP
- 健康饮食益处多(教案)-2021-2022学年体育二年级下册 (1).docx VIP
- 压缩空气储能电站接入电网技术规定.pdf VIP
- GA_T 1147-2014 车辆驾驶人员血液酒精含量检验实验室规范.docx VIP
原创力文档


文档评论(0)