DNS基本概述

DNS-学习目录

1、为什么需要域名

在互联网中,使用 IP 地址与服务器进行通信根本行不通,原因如下:
1、不好记忆,例如:学校官网的 IP 地址是 "39.104.16.126" ,难以记忆;
2、IP 地址会经常变更,所以通过 IP 地址去访问某台机器就会发生访不到的问题;
此时 DNS 协议就应运而生了;

那 DNS 解决了什么问题:
DNS 主要用来管理域名(比较好记忆的字符)与 IP 地址(比较难记忆)的对应关系表;

2、什么是DNS

DNS(Domain Name System) 是 ”域名系统“ 英文缩写,它所提供的服务是用来将域名转换为 IP 地址的工作。 
DNS 就是一位 ”翻译官“,它的基本工作原理可以用下图来表示;

 

3、DNS域名结构

3.1、说明

由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。
1.互联网中的域名是有结构有规划的;
2.由于域名进行了分级,在进行域名和IP地址解析时能更容易找到;
3.其次域名具备全球唯一性;

3.2、域名结构图

3.3、域名分类

3.3.1、根域

根域:知道所有顶级域名服务器的域名和地址
全世界只有13组根服务器,其中10台设置在美国,另外的三台设置与英国,瑞典,日本;

3.3.2、顶级域

顶级域:知道所有顶级域名服务器下注册的所有二级域名的IP地址。
顶级域有两种:通用域 (com) 域和国家域 (cn【包括hk/tw】、jp)。
顶级域名由 ICANN (互联网名称与数字地址分配机构)委任的注册机构负责运行。

3.3.3、二级域

二级域:负责一个区的域名服务器 (oldxu.com)
无需到 ICANN 进行申请,只需要到运行顶级域的注册机构(阿里、腾讯)去申请即可
如果申请的域名没有被注册,也没有被注册为商标,仅需要缴纳一笔年费即可得到心仪的域名

3.3.4、三级域或主机名

根据服务器所提供的业务功能,选择配置对应的主机名称解析记录,比如(www、ops)

4、DNS查询原理

4.1、DNS查询原理流程

DNS 查询的结果通常会在本地域名服务器中进行缓存,如果本地域名服务器中有缓存的情况下,则会跳过如下 DNS 查询步骤,很快返回解析结果。
下面的示例则概述了本地域名服务器没有缓存的情况下, DNS 查询所需的步骤:
1、用户在浏览器中输入 example.com , 则由本地域名服务器开始进行递归查询。
2、本地域名服务器采用迭代查询的方法,向根域名服务器进行查询。
3、根域名服务器告诉本地域名服务器,下一步应该查询的顶级域名服务器 .TLD 的IP地址。4、本地域名服务器向顶级域名服务器 .com TLD 进行查询。
5、.com TLD服务器告诉本地域名服务器,下一步查询 example.com 权威域名服务器的IP地址。
6、本地域名服务器向 example.com 权威域名服务器发送查询。
7、example.com 权威域名服务器告诉本地域名服务器所查询的主机IP地址。
8、本地域名服务器最后把查询的 IP 地址响应给浏览器。

4.2、DNS查询原理图

4.3、查询类型

4.3.1、 递归查询

是指 DNS 服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。
如果 DNS 服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结构提交给用户。

4.3.2、迭代查询

是指 DNS 服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台
DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。

5、DNS记录类型

5.1、A

5.1.1、解析

A 记录可实现将域名指向 IP 地址,也称为正向解析;
正向解析:域名--> DNS 服务返回 IP

5.1.2、流程图

5.2、PTR

5.2.1、解析

PTR记录可以实现IP查找域名,也称为反向解析;
反向解析: IP-->DNS 服务返回域名;

5.2.2、流程图

5.3、CNAME

5.3.1、解析

当需要将域名指向另一个域名,再由另一个域名提供 IP 地址,就需要添加CNAME 记录;
最常用 CNAME 的场景有 WAF(Web Application Firewall)、CDN

5.3.2、流程图

5.4、NS

5.4.1、解析

1、客户端查询 DNS 服务,如当前 DNS 无法提供权威解析,则返回一条 NS 记录;
2、客户端在通过 NS 记录中提供的 DNS 权威服务器进行解析;

5.4.2、流程图

5.5、SOA

5.5.1、解析

起始授权机构记录,NS 记录说明了有多台服务器在进行解析,但哪一个才是主服务器,NS 并没有说明,SOA 记录了说明在众多 NS 记录里哪一台才是主要的服务器

5.5.2、通过dig命令来查询oschina的SOA记录分析

dig @114.114.114.114 oschina.net +nssearch

得到的其中一条结果为:

SOA ns1.dnsv2.com. level3dnsadmin.dnspod.com. 1408847720 3600 180 1209600 180 from server 221.204.186.8 in 12 ms.

依次各项的意思为:
1、SOA SOA记录
2、ns1.dnsv2.com.  Nameserver,该域名解析使用的服务器
3、level3dnsadmin.dnspod.com.  Email address,该域名管理者的电子邮件地址,第一个'.'代表电子邮件中的'@',所以对应的邮件地址为:level3dnsadmin@dnspod.com
41408847720 Serial number,反映域名信息变化的序列号。每次域名信息变化该项数值需要增大。格式没有要求,但一般习惯使用YYYYMMDDnn的格式,表示在某年(YYYY)、月(MM)、日(DD)进行了第几次(nn)修改。
53600 Refresh,备用DNS服务器隔一定时间会查询主DNS服务器中的序列号是否增加,即域文件是否有变化。这项内容就代表这个间隔的时间,单位为秒。
6180 Retry,这项内容表示如果备用服务器无法连上主服务器,过多久再重试,单位为秒。通常小于刷新时间。
71209600 Expiry,当备用DNS服务器无法联系上主DNS服务器时,备用DNS服务器可以在多长时间内认为其缓存是有效的,并供用户查询。单位为秒。1209600秒为2周。
8180 Minimum,缓存DNS服务器可以缓存记录多长时间,单位为秒。这个时间比较重要,太短会增加主DNS服务器负载。如果太长,在域名信息改变时,需要更长的时间才能各地的缓存DNS服务器才能得到变化信息。

5.6、MX

5.6.1、解析

MX记录用于说明哪台服务器是当前区域的邮件服务器

包含内容
name:域名
IN MX:表示是邮件服务器的记录
数字:代表优先级
邮件服务器的完整域名:FQDN

6、企业自建DNS方式

6.1、企业常规做法

企业常规做法:购买域名、完成 ICP 备案,并使用公网 DNS 服务(万网..)进行免费(付费)解析

6.2、为什么需要自建DNS

1、内网 web 服务,例如: jenkins、jumpserver、wiki 等,不适合解析至公网;
2、内网中间件服务 db、mq 等,由于会经常迁移或扩缩容,应该使用域名对外提供,便于维护;
3、服务器都有 hostnamehostname 应该设置为 FQDN ,如何维护主机名和主机的内网 IP 的关系;
综上:我们需要构建至少一套企业内部的 DNS 服务;

 

posted @ 2023-05-07 08:04  小粉优化大师  阅读(101)  评论(0编辑  收藏  举报