DNS 和 CDN

同比:历史同期数据进行比较

环比:相邻两个月比较

----------------

DNS(Domain name service):域名解析服务,核心是基于一个软件来实现的BIND(Berkeley Internet name Domain)。

域名:www.baidu.com(主机名,FQDN Full Qualified Domain Name完全限定域名,不是域名),域名指的是一个域,而不是一个主机,baidu.com是域名。

解析有两种,正向解析和反向解析

DNS:名称解析,又叫名称转换(因为背后有查询过程,在数据库中),就是实现FQDN<—>IP,

nsswitch:提供名称解析平台(淘宝),可以让别人完成名称解析,负责名称解析的则是一个一个的店铺。

实现名称解析有两种机制:

libnss_files——对应文件libnss_files.so,一种库文件

libnss_dns——对应文件libnss_dns.so,一种库文件

通过nsswitch的平台来调用这两种库。nsswitch平台对应的文件为/etc/nsswitch.conf。

在这里插入图片描述

nsswitch配置文件中有一行是hosts:files dns,根据这个顺序去寻找对应的文件,files:/etc/hosts,dns:DNS服务

底层是stub resolvers:名称解析器

hosts:IP FQDN Alias(别名)

主机越来越多,所以出现了一个机构IANA:它是一个政府机构,对于其他国家不安全,所以转交给了一个民间组织,叫ICANN。直接管理顶级域

在这里插入图片描述

一个人想要找第一个jerry,第一次来不能直接找,因为不知道有没有jerry所在的这个市,那怎么办?每个层级结构会直接管理自己的直接下级,问它就行了啊。他的上级是他的权威管理,下级是不知道上级的,但是每个人都知道根在什么位置。

顶级域:TLD(Top Level Domain),一共有三类:组织域(.com/.org/.net),国家域(.cn/.jp),反向域 (IP–>FQDN)

一个主机找另外一个主机时,可以找根,找到之后缓存下来。可以建一个公共服务器,全部缓存在这个服务器中。

在这里插入图片描述

递归:缺陷:根就会忙死,所以根是不会给任何人递归的。

在这里插入图片描述

st1发出了一次请求,ns发出了三次请求,st1是递归,ns是迭代。得到结果后,ns给本地缓存一份,然后给st1发送一份。那么这个缓存应该保存多长时间?st2得到结果之后,是非权威答案,只有直接上级才是权威答案,缓存多长时间由magedu决定。

ns服务器不仅帮助本地的查询外边的主机,还可以帮助外边的查询本地的主机。

在这里插入图片描述

DNS:DNS查询是一个分布式数据库,上级仅知道其直接下级,下级只知道根的位置。

DNS服务器:接受本地客户查询请求(递归),外部客户端请求:请求权威答案(肯定答案或者否定答案)

配置在/etc/resolves中的主机,一定是可以给你权威答案的,如果它给不了,他就要出去替你找,所以不可以是.com等等

DNS的主从:

​ 主DNS服务器:数据修改

​ 辅助DNS服务器:请求数据同步(防止主DNS服务器意外宕掉),定期请求主服务器,检查数据是否一致,如果主服务器真的挂了,辅助DNS服务器会每隔一段时间在次检查一下,如果一直不在线,DNS辅助服务器就会自杀。

辅助服务器的请求数据的配置参数:serial number、refresh、retry、expire、nagative answer TTL。

缓存DNS服务器:只提供缓存功能,但是不提供DNS解析。

数据库中的每一条目称为资源记录(Resource Record,RR)

资源记录的格式:

Name [TTL值] IN(InterNet) 资源记录类型(RR Type) Value

www.baidu.com IN A 1.1.1.1

1.1.1.1 IN PTR www.baidu.com

资源记录类型:

#这条记录必须出现在第一条,用于标识本区域内DNS服务器是如何完成数据同步的

SOA(Start Of Authority)

起始授权机构记录,NS用于标识多台域名解析服务器,SOA记录用于在众多NS记录中标识那一台是主服务器。

​ ZoneName TTL IN SOA FQDN(主) mailaddress(erial number

​ refresh刷新时间

​ retry重试时间

​ expire过期时间

​ nagative answer TTL否定回答缓存时间)

​ @(ZoneName) 600 IN SOA ns1.baidu.com。 mail.baidu.com.(

​ 2019112217

​ 1H

​ 5M

​ 1W

​ 1D)

NS(Name server):zone Name(区域名称)——>FQDN

域名解析服务器记录,用来指定该域名有哪几个DNS服务器进行解析

​ baidu.com. 600 IN NS ns.baidu.com.

​ ns.baidu.com. 600 IN A 1.1.1.1

A(address)记录:FQDN——>IPV4

AAAA(address)记录:FQDN——>IPV6

PTR(pointer)记录:IP——>FQDN

反向解析

MX(Mail Exchanger):zone Name——>FQDN

建立电子邮箱服务,将指向邮箱服务器地址

​ ZoneName TTL IN MX pri(优先级) Value

​ baidu.com 600 IN MX 10 mail.baidu.com

​ (优先级从0~99,数字越小优先级越高)

​ mail.baidu.com 600 IN A 1.1.1.1

CNAME(Canonical name正式名称):FQDN——>FQDN

将别名指向正式名称

​ www2.baidu.com IN CNAME www.baidu.com

显性URL转发记录和隐形URL转发记录:

​ 相当于重定向,显性的能看出来,隐形的看不出来

正向解析和反向解析:都是一张表,只不过要分开

域和区域:

域(Domain):逻辑概念

区域(Zone):物理概念

在这里插入图片描述

域和区域之间没有必然的包含关系,这个级别的域来自于上一个级别的区域的表,所以没有必然关系。正向解析和反向解析都是分开工作的。

向.com申请了baidu.com:

​ baidu.com IN NS ns.baidu.com

​ ns.baidu.com IN A 192.168.15.10

baidu.com——>192.168.15.0/24

​ www 192.168.15.20

​ mail 192.168.15.30

建立两个区域文件:

正向区域文件:

​ @(baidu.com) IN SOA #第一条必须是这个

​ www.baidu.com. IN A 192.168.15.10简写为:www IN A 192.168.15.10(注意不简写一定要加那个点,简写一定不要加点)

反向区域文件:

​ 0.168.192.in-addr-arpa. IN SOA #第一天条必须是这个

​ 10.15.168.192.in-addr.arpa. IN PTR www.baidu.com.(不能简写,默认补齐的是区域名,如果不写,默认补齐的就是0.168.192.in-addr-arpa.)

​ 1 IN PTR www.baidu.com

主服务器更新完成数据更新之后,通知从服务器(虽然没到时间),这个数据传送的过程叫区域传送。

区域传送类型:

​ 完全区域传送:(那一台新的来,一个条目也没有) axfr

​ 增量区域传送:(主服务器更新一条,只同步一条) ixfr

区域类型(传送数据时候的类型):

​ 主区域:master

​ 从区域:slave

​ 提示区域:hint(定义根在什么地方)

​ 转发区域:forward(你也别找根了,也别找.com了,直接转发至相关域)

--------------------

bind的配置文件:

​ /etc/named.conf——定义bind进程的工作属性,区域的定义

​ /var/named——区域数据文件

bind-chroot:修改默认的根

在这里插入图片描述

DNS:监听的协议及端口:53/UDP、53/TCP,查询的请求都是用的UDP的,因为UDP不用三次握手,速度快,一般从服务器从主服务器上传输数据时候,为了保证数据的完整性需要用到TCP的53,953/TCP,rndc,

发布了48 篇原创文章 · 获赞 6 · 访问量 898

猜你喜欢

转载自blog.csdn.net/qq_42508901/article/details/104109813
今日推荐