DNS的解析过程(知识点总结)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: DNS的解析过程(知识点总结)

一.解析流程


DNS的解析通常由主域名服务器、辅域名服务器、缓存域名服务器、转发域名服务器进行域名解析。


1.主域名服务器负责维护这个区域的所有域名信息,需要从域管理员构造的本地磁盘文件中加载域信息进行解析。


2.辅助域名服务器作为主域名服务器的备份服务器提供域名解析服务。辅助域名服务器从主域名服务器获得授权,有一个所有域信息的完整拷贝,解析时需要访问本地存储文件。


3.缓存域名服务器可运行域名服务器软件,但是没有域名数据库,它从某个远程服务器取得每次域名服务器查询的回答,一旦取得一个答案,就将它放在高速缓存中,以后查询相同的信息时就用它予以回答。


4.转发域名服务器负责所有非本地域名的本地查询,转发域名服务器接到查询请求时,在其缓存中查找,如找不到就把请求依次转发到指定的域名服务器,直到查询到结果为止,否则返回无法映射的结果。

从上述服务器的查询机制中可以看出,缓存域名服务器通过高速缓存的存取进行域名解析,因此获取的解析结果耗时最短。


本地缓存记录—区域记录一转发域名服务器一根域名服务器


具体过程:


DNS服务器收到查询请求后,首先在自己的区域文件中查找,再在高速缓存中查找。


如果查不到,可能是因为该服务器不是请求域的授权服务器,并且以前查询的缓存中没有需要的记录,这时DNS服务器必须向转发域名服务器(转发域名服务器负责所有非本地域名的查询)发送请求。


当主域名服务器关闭、出现故障或负载过重时,辅助域名服务器作为备份服务器提供域名解析服务。辅助服务器从主域名服务器获得授权,并定期向主服务器询问是否有新数据,如果有则调入并更新域名解析数据,以达到与主域名服务器同步的目的。


7f77e16fdeba4806a07999653d434455.png


例题:


客户端向DNS服务器发出解析请求后,没有得到解析结果,则(1) 进行解析。

(1)备选答案:


A.查找本地缓存        B.使用NetBIOS名字解析

C.查找根域名服务器 D.查找转发域名服务器


(1)B.使用NetBIOS名字解析


DNS主机名解析的查找顺序是:先查找客户端解析程序缓存;如果没有成功,则向DNS服务器发出解析请求;如果还没有成功,则尝试使用NetBIOS名字解析方法取得结果。


二.Bind配置DNS


BIND (Berkeley Internet Name Daemon)


BIND (Berkeley Internet Name Daemon)是现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的九成。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。


重要文件:


主要文件:


/etc/named.conf    主配置文件

   /etc/named.rfc1912.zones 区域配置文件


   type: hint(根区域)、master(主区域)、slave(辅助区域)

   /var/named    数据配置文件目录  


多种记录类型:


SOA (Start Of Authoritative):开始授权记录是区域文件的第一条记录,指明区域的主服务器,指明区域管理员的邮件地址,并给出区域复制的有关信息

•序列号:当区域文件改变时,序列号要增加,辅助服务器把自己的序列号与主服务器的序列号比较,以确定是否需要更新数据

•刷新间隔:辅助服务器更新数据的时间间隔(秒)

•重试间隔:当辅助服务器不能连接主服务器进行更新时,必须每隔一定时间间隔(秒)重新试图连接

•有效期:如果辅助服务器不能更新自己的区域文件,超过有效期(秒)后就不再提供查询服务

•生命期(TTL):资源记录在其他名字服务器缓存中保存的最少有效时间(秒)


•A (Address):地址记录表示主机名到IP地址的映像


• AAAA:将DNS域名映射到ipv6(128位)的地址中


•PTR (Pointer):指针记录是IP地址到主机名的映射


•NS (Name Server):给出区域的授权服务器


•MX (Mailexchanger):定义了区域的邮件服务器及其优先级(搜索顺序)


注:补充


MX (Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给user@mydomain.com时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在,用户计算机就将邮件发送到MX记录所指定的邮件服务器上。

POP是一种电子邮件传输协议,3代表该协议第3个版本,规定了怎样将个人计算机连接到Internet邮件服务器和下载电子邮件的电子协议。配置POP包括安装组件、创建域、添加邮件等内容。“设置服务器最大连接数”是配置SMTP服务时配置的参数。


•CNAME:为正式主机名(canonical name)定义了一个别名(alias)


三.域名系统DNS的逻辑结构


域名系统DNS的逻辑结构是一个分层的域名树,Internet网络信息中心(Internet Network Information Center, InterNIC)管理着域名树的根,称为根域。


根域没有名称,用圆点表示,是域名空间的最高级别。在DNS的名称中,有时在末尾附加一个就是表示根域,但经常是省略的。DNS服务器可以自动补上结尾的圆点,也可以处理结尾带圆点的域名。

根域下面是顶级域(Top-Level Domains,TLD),分为国家顶级域(country code Top Level Domain, ccTLD)和通用顶级域(generic Top Level Domain,gTLD)。国家顶级域名包含243个国家和地区代码,例如cn代表中国,uk代表英国等。最初的通用顶级域有7个,如下表所示


5dc5e577b65440c98c6694d44e119201.png

这些顶级域名原来主要供美国使用,随着Internet的发展,com、org和net成为全世界通用的顶级域名,这就是所谓的国际域名,而edu、gov和mil则限于美国使用。


负责互联网域名注册的服务商ICANN在2000年11月决定,从2001年开始使用7个新的国际顶级域名:biz (商业机构)、info (网络公司)、name (个人网站)、pro (医生和律师等职业人员)、aero (航空运输业专用)、coop (商业合作社专用)和museum (博物馆专用),其中前4个是非限制性域名,后3个限于专门的行业使用,受有关行业组织的管理。

2008年6月,ICANN在巴黎年会上通过了个性化域名方案,可以用公司名字为结尾的域名,例如ibm、hp、qq等。可以认为,这些域名的所有者在某种意义上就是一个域名注册机构,今后将会有无穷多的国际域名。

顶级域下面是二级域,这是正式注册给组织和个人的唯一名称,例如 www.micosoft.com中的micotsoft就是微软注册的域名。

在二级域之下,组织机构还可以划分子域,使其各个分支部门都获得一个专用的名称标识,例如www.sales.micosoft.com中的sales是微软销售部门的子域名称。划分子域的工作可以一直延续下去,直到满足组织机构的管理需要为止。


但是标准规定,一个域 名的长度通常不超过63个字符,最多不能超过255个字符。

DNS标准还规定,域名中只能使用'ASCII字符集的有限子集,包括26个英文字母 (不区分大小写)和10个数字,以及连字符"-"并且连字符不能作为子域名的第一个和最后一个字母。后来的标准对字符集有所扩大。


四.DNS服务器的递归算法和迭代算法


1.递归查询


递归算法只发出一次查询请求,要求服务器彻底地进行名字解析。当需要进一步查询时,本域名服务器向上级域名服务器返回其他域名服务器发出请求,直到查到记录。


2.迭代算法


迭代查询可能发出多条请求,即上级域名服务器若返回的是其他域名服务器的地址,本域名服务器把这个地址发给用户,用户再进行深一级的查询。


例题:


下图是DNS转发器工作的过程。采用迭代查询算法的是(35)。

A.转发器和本地DNS服务器                 B.根域名服务器和本地DNS服务器
C.本地DNS服务器和.com域名服务器 D.根域名服务器和.com域名服务器
【答案】D

75575b8d6ddc4fd18a457fe7fb1527ba.png

从本题中可以看出,根域名服务器发回给转发器的是.com服务器地址,并不是结果, 故采用的是迭代算法;


.com域名服务器发回给转发器的是授权域名服务器nwtraders.com服务器地址,也不是结果,采用的也是迭代算法;


nwtraders.com服务器尽管返回给转发器域名和IP的对应关系,但它是授权域名服务器,在其资源记录中已经找到了记录,故其采用的算法未知。


本地域名服务器只向转发器发出了1条请求,转发器经过多次深层次査询,返回的是查到的记录,故转发器采用的是递归算法。本地域名服务器采用的算法未知。


五.DNS的重要配置命令


1.Nslookup


Nslookup命令用于显示DNS查询信息,诊断和排除DNS故障,有交互式和非交互式两种工作方式。

•非交互式工作就是只使用一次Nslookup命令后又返回到Cmd.exe提示符下。Nslookup命令后面可以跟随一个或多个命令行选项,用于设置查询参数。每个命令行的各选项由一个连字符后跟选项的名字,有时还要加一个等号“=”和一个数值。例如应用默认的DNS服务器由域名查找IP地址。


19bf0dc63a9c47ea96face4c3d373b6b.png

•交互式工作,如果需要查找多项数据,可以使用Nslookup的交互工作方式。在Cmd.exe提示符下输入nslookup后回车,就进入了交互工作方式,命令提示符变成“>”。在命令提示符 “>”下输入help或?,会显示可用的命令列表,如果输入exit,则返回Cmd.exe提示符。

在交互方式下,可以用set命令设置选项,满足指定的查询需要。例如查询本地域的邮件交换器信息的过程如下。


9084116735c14649b0871d479958b5c6.png

例题


要测试DNS服务器是否正常工作,在客户端可以采用的命令是(5)或(6)。

A. ipconfig B. nslookup C. ping D. netstat


答案 B C


解析


测试DNS服务器是否正常工作,可以采用两种方式:


第一种通过ping域名来测试;


第二种采用nslookup来查看提供服务的DNS服务器。


2.ipconfig /flushdns是清除DNS缓存记录;


3.ipconfig /displaydns为显示DNS缓存记录;


对于dns主从区域数据库的复制以及子域授权参考:


http://t.csdn.cn/uIzCU


目录
相关文章
|
16天前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
23天前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
44 4
|
28天前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
30天前
|
域名解析 网络协议
非阿里云注册域名如何在云解析DNS设置解析?
非阿里云注册域名如何在云解析DNS设置解析?
|
1月前
|
域名解析 存储 缓存
域名解析 DNS:连接数字世界的关键枢纽
在数字世界中,DNS(域名解析系统)如同一位至关重要的引路人,将我们输入的域名与对应的IP地址相连,使我们可以轻松访问各种网站和服务。它通过多级服务器查询,将易于记忆的域名转换为复杂的IP地址,极大提升了互联网的易用性和普及度。尽管面临网络延迟和域名数量激增等挑战,通过分布式系统和缓存技术等创新方案,DNS 系统将持续发展,为用户提供更安全、高效的网络体验。
48 2
|
1月前
|
弹性计算 负载均衡 网络协议
内部名称解析设置阿里云私有 DNS 区域,针对于阿里云国际版经验教程
内部名称解析设置阿里云私有 DNS 区域,针对于阿里云国际版经验教程
|
30天前
|
域名解析 弹性计算
内网域?名解析记录是否会覆盖公网域名解析记录?
内网域?名解析记录是否会覆盖公网域名解析记录?
|
1月前
|
缓存 网络协议 前端开发
dns-prefetch DNS 预解析
dns-prefetch DNS 预解析
|
3天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
14 2

相关产品

  • 云解析DNS
  • 推荐镜像

    更多