DNS域名系统
来源:互联网 发布:淘宝免单真的假的 编辑:程序博客网 时间:2024/06/15 21:18
前言
学过计算机网络的我们知道,整个Internet网络就是一个单一的、抽象的网络,各个主机通过全世界范围内唯一的32位标识符---IP地址来标识唯一性,很显然,在互联网中它们只能通过IP地址来识别对方的身份。所以,当我们在浏览器地址栏中输入目标网站的IP地址后,按下回车,我们就可以访问到目标网站,例如:在地址栏输入百度的IP地址:202.108.22.5,按下回车,我们就可以访问到百度主页。
然而,当我们想要访问的网站变多,我们就不得不记住一串又一串长达32位的难以记忆的IP地址。所以,为了方便记忆,人类开发出了一套名字系统,为每一个IP地址取一个便于人类记忆的名字。比如我想访问百度主页,我们可以在地址栏输入百度主页的“名字”:www.baidu.com,按下回车,这样同样可以网页的实现访问。
那么,问题就来了,标识主机的唯一方式是IP地址,但我输入的是“名字”而非IP地址,计算机如何知道我想访问的是哪儿呢?这就引出我们接下来要讲到的域名系统了。
域名系统定义
域名系统是因特网的一项核心服务,负责管理“名字”和IP地址之间的映射关系。如下图,所以,很显然,当我们输入“名字”时,有人悄悄地把我们输入的“名字”转换为了IP地址。
域名系统的层次结构
这就是中央电视台用于收发电子邮件的计算机的域名,它由三个标号组成,其中标号com是顶级域名,标号cctv是二级域名,标号mail是三级域名。这种方法可使每一个域名在整个因特网范围内是唯一的,并且也容易设计出一种查找域名的机制。
域名服务器
上面讲述的域名体系是抽象的,但具体实现域名系统则是使用分布在各地的域名服务器。从理论上讲,可以让每一级的每个域名都有一个相对应的域名服务器,使所有的域名服务器构成如下图的结构:
但这样会使域名服务器的数量太多,使域名系统的运行效率降低,所以域名系统就采用划分区的办法来解决这个问题。
一个服务器所负责管辖的范围叫做区,一个区中所有的节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射,总之,DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位,区可能小于或等于域,但不可能大于域。如下图,公司abc划分的两个区为例,给出了DNS域名服务器树状结构图,不难看出,区是域的子集。
各级域名服务器
下面我们来简要介绍各级域名服务器。
- 根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器和IP地址。如果所有的根域名服务器都瘫痪了,那么整个DNS系统就会瘫痪。统计到2012年5月,全世界已经在312个地方安装了根域名服务器,其中有些地方还是保密的,下面是一些已知根域名服务器的分布情况:
- 顶级域名服务器:这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。
- 权限域名服务器:就是前面讲过的负责一个区的域名服务器。
- 本地域名服务器:对域名系统非常重要,当一个主机发出DNS查询请求时,这个查询请求报文就先发送给本地域名服务器。查询未果,才会询问其他的域名服务器。
域名解析过程
首先注意两点:
- 主机向本地域名服务器查询一般采用递归查询
- 本地域名服务器向根域名服务器查询一般采用迭代查询,也可采用递归查询
- 主机m.xyz.com先向本地域名服务器dns.xyz.com进行递归查询
- 本地域名服务器采用迭代查询。它先向一个根域名服务器查询
- 根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器dns.com的IP地址
- 本地域名服务器向顶级域名服务器dns.com查询
- 顶级域名服务器dns.com告诉本地域名服务器,下一次应查询的权限域名服务器dns.abc.com的IP地址
- 本地域名服务器向权限域名服务器dns.abc.com进行查询
- 权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的IP地址
- 本地域名服务器最后把查询结果告诉主机m.xyz.com
(2) 主机向本地域名服务器查询采用递归查询,本地域名服务器向根域名服务器采用递归查询
- 主机m.xyz.com先向本地域名服务器dns.xyz.com进行递归查询
- 本地域名服务器采用递归查询。它先向一个根域名服务器查询
- 根域名服务器以DNS客户的身份向顶级域名服务器dns.com查询
- 顶级域名服务器dns.com以DNS客户的身份向权限域名服务器查询
- 权限域名服务器dns.abc.com以DNS客户的身份进行IP地址的查询
- 查询到IP地址后逐级向上一层返回结果,直到根域名服务器
- 最后本地域名服务器从根域名服务器得到了所需的IP地址
- 本地域名服务器最后把查询结果告诉主机m.xyz.com
- 域名系统【DNS】
- DNS 域名系统
- DNS域名系统
- DNS域名系统
- DNS域名系统
- DNS域名系统
- DNS:域名系统
- (8)-DNS域名系统
- DNS:域名系统
- 14 DNS域名系统
- 8、DNS域名系统
- DNS域名系统
- DNS 域名系统
- DNS 域名系统
- DNS(域名系统)
- DNS 域名系统
- dns(域名系统)
- DNS域名系统
- java中调用python的方法
- 第二阶段的笔试
- Linux Mint中安装Vim补全神器——YouCompleteMe的最简单的方法
- 隐藏navigationBar之后滑动返回的问题
- hdu 5501 The Highest Mark(变形01背包)
- DNS域名系统
- Android Java Framework框架层探究
- USACO传送门|二维SPFA
- 关于诚信考试
- 【SQL】10g字符串处理函数regexp_count
- poj 1144 Network(模板题)(Tarjan 关节点的朴素算法)
- 动态网页技术JSP、ASP、PHP
- python调用R
- Java虚拟机类生命周期