10.网络协议-DNS协议

DNS产生的背景

在Internet网中连接着数量众多的主机,要让这些主机进行通信,需要有一套名字标识体系,让主机之间能够彼此找到对方,我们可以用多种方式进行主机标识,如使用主机名标识一台主机,当然,我们更多是用IP地址来标识计算机,主机在互联网上靠IP地址进行位置标识。

DNS产生的背景 

在internet的前身ARPAnet的年代,整个网络中只有几百台主机,所有主机信息以及主机名与地址的映射记录都存放在一个名为HOSTS.TXT的文件中。HOSTS.TXT从一台名为SRI-NIC的主机上分发到整个网络,这台主机由斯坦福研究院的网络信息中心负责维护。ARPAnet的管理员们通过电子邮件的方式将变更息通知NIC,同时定期FTP到SRI-NIC上,获得最新的HOSTS.TXT文件。

DNS概述 

DNS(Domain Name System,域名系统)是互联网上是一种层次结构的基于域的命名方式和实现这种命名方式的分布式数据库,其中记录了各种主机域名与 IP 地址的对应关系,能够使用户更加方便的访问网站。用户可以直接输入域名登录网站,DNS会将域名解析成IP地址,然后用户根据这个IP地址找到相应的网站,从而访问到域名对应的网站,通过主机名获取到主机名对应IP地址的过程叫作域名解析。
    DNS协议建立在UDP协议之上,在某些情况下可以切换到TCP,使用端口号53,是一种客户/服务器服务模式。

 域:
• 域是一个逻辑上的概念,在初始瓜分互联网的时候,Internet组织将世界上的计算机划分为了若干个大类,如com、gov、org、net、edu、cn、us等等
• 每一个大类我们称之为一个域
• 在每个大类里面划分出比较小一点的,成为子域,域是可以嵌套的,大域包含小域,小域可以包含更小的域
域名:
• 在每个域里面都有很多主机,每个主机都有一个主机名,我们在这个主机名后面冠上主机所在域的名称成为该主机在Internet网络上的域名。

域名结构:域名是一个树状层次结果,联机分布式数据库系统,最高的根域名服务器维护最高级别域名服务器记录,后者维护下一级域名服务器的记录

域名服务器:负责名字到地址的解析。
域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。
根据域名结果可以把域名服务器划分为以下四种类型:
(1)根域名服务器          "."
(2)顶级域名服务器;
(3)权威域名服务器;
(4)本地域名服务器。

 每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)
如果根据DNS服务器管理的区域地址数据的来源不同,DNS 系统可以分为不同的类型。在同一台 DNS服务器中,相对于不同的区域来说,也拥有不同的身份。常见的几种类型如下
• 主域名服务器:维护某一个特定 DNS 区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。
• 从域名服务器:与主域名服务器提供完全相同的 DNS 解析服务,通常用于 DNS 服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询的结果都一样的。关键区别在于,从域名服务器提供的解析结果不是由自己决定的, 而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置, 以便服务器能自动同步区域的地址数据库。
• 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他 DNS 服务器作为解析来源。

DNS工作原理

DNS的工作模式
DNS 查询以各种不同的方式进行解析,客户机可通过使用从以前查询获得的缓存信息就地应答查询,DNS服务器也可使用其自身的资源记录信息缓存来应答查询。但更多是使用下列两种方式:
• 递归解析

DNS服务器收到一个域名解析请求时,如果所要检索的资源记录不在本地,DNS服务器将和自己的上一层服务器交互,获得最终的答案,并将其返回给客户
• 迭代解析
DNS服务器收到解析请求,首先在本地的数据库中查找是否有相应的资源记录,如果没有,则向客户提供另外一个DNS服务器的地址,客户负责把解析请求发送给新的DNS服务器地址

 

DNS工作原理示例 

1.当在浏览器中输入URL时,浏览器会先检查自己的缓存是否有域名IP的映射关系,有则直接使用IP进行通信;
2.如浏览器没有缓存,则操作系统检查本地Hosts文件是否有域名IP的映射关系,有则使用IP进行通信;
3.如果hosts没有这个域名的映射,则查找本地DNS解析器缓存是否有映射关系,有则直接返回完成域名解析;
4.如果还未找到映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,也就是常称的本地DNS服务器,如果服务器已缓存了映射关系,则使用这个IP地址映射返回完成域名解析,此时解析不具有权威性;
5.如果本地DNS服务器缓存已经失效,进行递归查询。

DNS常见的记录及作用 

DNS记录类型
域名和IP之间的对应关系,称为“记录”(record)。根据记录使用的目的不同,又分为不同的类型,常见的DNS记录类型如下:
SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录,主要用于说明管理员的信息,时间参数的信息;
A:地址记录(Address),返回域名指向的IP地址。
NS:域名服务器记录(Name Server),返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址。迭代解析(我知道你可以找谁),配合A记录使用。
MX:邮件记录(Mail eXchange),返回接收电子邮件的服务器地址。
CNAME:规范名称记录(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转。
PTR:逆向查询记录(Pointer Record),只用于从IP地址查询域名

资源记录定义的格式

 

记录一条域名信息映射关系,称之为资源记录(RR)。
当我们查询域名www.sangfor.com的时候,查询结果得到的资源记录结构体中有如下数据:
1、TTL,生存周期,是递归服务器会在缓存中保存该资源记录的时长,即客户端的到解析结果的缓存时长,可从全局继承 。
2、网络/协议类型,它的代表的标识是IN,IN就是internet,目前DNS系统主要支持的协议是IN。
3、type,就是资源记录类型,一般的网站都是都是A记录(IPv4的主机地址)。
4、rdata是资源记录数据,就是域名关联的信息数据。 

SOA记录:
name: 当前区域的名字,例如“sangfor.com.”;
value: 有多部分组成
(1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
(2) 录前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,admin.sangfor.com;
(3) (主从服务协调属性的定义以及否定的答案的统一的TTL)
例如:
sangfor.com. 86400 IN SOA ns.sangfor.com. nsadmin.sangfor.com. (2020032201 ;序列号 2H ;刷新时间10M ;重试时间 1W ;过期时间 1D ;否定答案的TTL值)

A记录:较多
name: 某主机的FQDN,例如www.sangfor.com.
value: 主机名对应主机的IP地址;
例如:
www.sangfor.com. IN A 1.1.1.2
mx1.sangfor.com. IN A 1.1.1.3
mx2.sangfor.com. IN A 1.1.1.3
注意:
*.sangfor.com. IN A 1.1.1.4
Sangfor.com. IN A 1.1.1.4
避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址;

NS记录:
版权所有© 2020深信服科技股份有限公司 第25页
name: 当前区域的名字
value: 当前区域的某DNS服务器的名字,例如ns.sangfor.com.;
注意:一个区域可以有多个NS记录;
例如:
sangfor.com. IN NS ns1.sangfor.com.
sangfor.com. IN NS ns2.sangfor.com.
注意:
(1) 相邻的两个资源记录的name相同时,后续的可省略;
(2) 对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录;

MX记录:
name: 当前区域的名字
value: 当前区域的某邮件服务器(smtp服务器)的主机名;
一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高;
例如:
magedu.com. IN MX 10 mx1.magedu.com.
IN MX 20 mx2.magedu.com.
注意:
(1) 对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录;

CNAME记录:
name: 别名的FQDN
value: 正工名字的FQDN;
例如:
web.sangfor.com. IN CNAME www.sangfor.com

PTR记录:
name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:in-addr.arpa.,所以完
整写法为:4.3.2.1.in-addra.arpa.
value: FQDN
例如:
4.3.2.1.in-addr.arpa. IN PTR www.sangfor.com
简写成:
4 IN PTR www.sangfor.com.
注意:网络地址及后缀可省略;主机地址依然需要反着写;

猜你喜欢

转载自blog.csdn.net/weixin_49765221/article/details/124191775