DNS域名系统

概述:

DNS计算机域名服务器 (Domain Name Service) 的缩写,它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定只对应一个域名。

运行机制:
在浏览器输入域名,主机先在DNS高速缓存中查找该域名对应的IP地址
如果没找到,则会向网络中的某台DNS服务器查询(主机发送UDP请求报文,封装成UDP数据报,目的端口号53,再封装成IP数据报,发送到DNS服务器)
当DNS服务器收到查询报文后(解封装,由端口号53找到服务器进程),会查询存有域名和IP地址映射的数据库,将查询结果返回给主机(响应报文,UDP数据报→IP数据报)

主机通过IP地址来访问Web服务器

问:是否能只用一台DNS服务器?

不能,英特网规模大,会造成服务器超负荷。
采用了分布式域名系统,使大多数域名都在本地解析,仅少量解析需要在英特网,所以效率较高
由于是分布式系统,即使单个服务器出现故障,也不会妨碍整个系统的正常运行

英特网的域名结构:

在这里插入图片描述
域名的结构由若干个分量构成,各分量之间用“点”隔开,分别代表不同级别的域名
不区分大小写
级别低的写在左边,级别高的写右边
域名系统不规定一个域名需要包含多少个下级域名,也不规定每一级域名代表什么意思

顶级域名:
在这里插入图片描述

国家顶级域名下注册的二级域名均由该国家自行确定;

在这里插入图片描述
注意: 域名只是逻辑概念,并不代表计算机所在的物理地点

域名服务器:

根域名服务器:
根域名服务器是最高层次的域名服务器,每个根域名服务器都知道所有的顶级域名服务器的域名及IP地址,英特网共有13个不同IP地址的根域名服务器分布于世界各地,虽然视为一个服务器,但实际上是服务器集群。
当本地域名服务器向根域名服务器发出请求时,路由器会把查询请求报文转发到离这个DNS客户最近的一个根域名服务器。
根域名服务器通常并不直接对域名进行解析,而是返回该域名所属顶级域名的顶级域名服务器的IP地址

顶级域名服务器:
负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时就给出相应的回答(可能是最后的结果,也可能是下一级权限域名服务器的IP地址)

权限域名服务器:
这些权限域名服务器负责管理某个区的域名,每个主机的域名都必须在某个权限域名服务器注册登记因此权限域名服务器知道其管辖的域名和IP的映射关系,权限域名服务器还知道其下级域名服务器的地址

本地域名服务器:
本地域名服务器不属于上述服务器的等级结构。当一个主机发出DNS请求报文时,这个报文就首先被送往该主机的本地域名服务器。本地域名服务器起着代理的作用,会将该报文转发到上述的域名服务器的等级结构中。每一个英特网的提供者如一个大型都可以拥有一个本地域名服务器,它也成为默认域名服务器。本地域名服务器的IP地址需要直接配置在需要域名解析的主机中。

域名解析过程:

递归查询:
在这里插入图片描述

主机先向本地域名服务器进行递归查询,
本地域名服务器收到递归查询的委托后,
采用递归查询的方式向某个根域名服务器查询,
根域名服务器收到递归查询的委托后,采用递归查询的方式向某个顶级域名服务器查询,
顶级域名服务器收到递归查询的委托后,也采用递归查询的方式向某个权限域名服务器查询,当查询到域名所对应的IP地址后,查询结果会在之前委托的各域名服务器之间传递,最终传回用户主机

迭代查询:(踢皮球)
在这里插入图片描述

主机先向本地域名服务器进行迭代查询,
本地域名服务器采用迭代查询,先向某个根域名服务器查询,根域名服务器告诉本地域名服务器 下一次应查询的顶级域名服务器的IP地址
本地域名服务器又向顶级域名服务器进行迭代查询,顶级域名服务器告诉本地域名服务器,下一次应查询的权限域名服务器的IP地址
本地域名服务器向权限域名服务器进行迭代查询,权限域名服务器告诉本地域名服务器所查询的域名的IP地址
本地域名服务器把查询结果告诉主机

注意:
由于递归查询对于被查询的域名服务器负担太大,通常采用以下模式:
从请求主机到本地域名服务器的查询使用递归查询,其余使用迭代查询

为了提高DNS查询效率,并减轻根域名服务器的符合和减少DNS查询报文数量,在域名服务器中广泛使用了 高速缓存 ,用来存放最近查询过的域名以及从何处获得域名映射信息的记录

如果不久前有用户查询过y.abc.com的地址,则本地域名服务器的高速缓存中应存有该域名对应的IP地址
当主机向本地域名服务器递归查询该域名时,本地域名服务器将不再向根域名服务器迭代查询,而是直接将高速缓存中存放的 该域名对应IP地址返回给主机
由于域名和IP地址的映射并不是永久不变,为保持缓存中的内容正确,域名服务器会设置计时器并删除超时内容
不止在本地域名服务器需要高速缓存,在主机中也需要缓存,主机在启动时从本地域名服务器下载域名和IP地址的全部数据库,维护自己的高速缓存,并且只在缓存中找不到域名时,才想域名服务器查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值