目录
DNS简介
DNS:Domain Name Service,是一种协议,基于C/S架构,监听与udp/53,tcp/53,在网络七层中的应用层协议。
网络中通信时通过IP地址进行通信的,域名只是IP地址的标记,小范围通信中,使用host文件解析配置可以的
由于网络中的站点众多,每天新增的也很多,就出现的IANA,做域名解析
本地名称解析配置文件:hosts
- Linux:/etc/hosts
- Windows:C:\Windows\System32\drivers\etc\hosts
- 域名填写格式:2.2.2.2 www.zhui.com
为了便于管理进行片区管理,DNS进行导致树状结构来管理
根服务器表示是个点【 . 】互联网访问是可以省略的
其中:com(商业组织)、deu(教育组织)、mil(军事组织)、gov(政府组织)、net(网络组织)、org(非盈利组织)、int(国际性组织)等等,称为顶级域:Top Level Domain 【tld】
从大的地方分为:组织域、国家域(.cn)、反向域
DNS查询类型
递归查询:查询一次,就可以得到最终结果
- 访问www.node3.com
- 中间人是本地接入网络DNS服务商提供

迭代查询:发送请求,有可能得到的参考请求,需多次请求,才能找到
- 访问www.node3.com

服务器类型
名称服务器:域内负责解析本域内的名称的主机【如:根服务器:13组服务器】
解析类型:
- Name --> IP 【域名--> IP】
- IP --> Name 【IP --> IP】
- 注意:正反向解析是两个不同的名称空间,是两棵不同的解析树
DNS服务器的类型:
- 主DNS服务器:维护所负责解析的域内解析库服务器;解析库由管理维护
- 从DNS服务器:从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库
- 序列号:解析库的版本号;前提:主服务器解析库内容发生变化,其序列递增
- 刷新时间间隔:从服务器从主服务器请求同步解析库的时间间隔
- 重试时间间隔:从服务器从主服务器请求同步解析库失败时,再次尝试的时间间隔
- 过期时长:从服务器始终联系不到主服务器时,多久多后放弃从服务器角度,停止提供服务
- "通知"机制【主服务器一旦发生改变,就会立刻通知从服务器,即便没到同步时间】
- 区域传送:
- 全量传送:传送整个解析库
- 增量传送:传递解析库变化的那部分内容
- 缓存DNS服务器
- 转发器
DNS解析库
DNS解析
- Domain: 正向:FQDN --> IP 、反向: IP --> FQDN
- FQDN【Full Qualified Domain Name:www.node3.com.】
DNS 一次完整的查询请求经过的流程
- Client --> hosts文件 --> DNS Service -->Local Cache --> DNS Server (recursion:递归请求) --> Server Cache -->iteration(迭代) --> answer
- 客户端发起请求,本地hosts文件去解析,没有就会发送到DNS Service,DNS Service现在本地缓存中查找,没有去DNS service 查找,先在DNS Service 缓存中查找,没有找到就会迭代请求,给出应答
- 解析答案
- 肯定答案:正向答案,存在
- 否定答案:请求的条目不存在等原因导致无法返回结果
- 权威答案:从DNS Service中负责的域中的回应
- 非权威答案:从缓存,或各个节点返回的
区域解析库:由众多RR组成:
资源记录:Resource Record, RR
- 记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
- A:internet Address,作用,FQDN --> IP
- AAAA: FQDN --> IPv6
- PTR: PoinTeR,IP --> FQDN
- SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录
- NS: Name Server,专用于标明当前区域的DNS服务器
- CNAME:Canonical Name,别名记录
- MX: Mail eXchanger,邮件交换器
资源记录定义的格式:
- 语法:name [TTL] IN rr_type value
- 注意:
- TTL可从全局继承
- @可用于引用当前区域的名字
- 同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应
- 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机而已
A:
- name: 某主机的FQDN,例如www.node3.com.
- value: 主机名对应主机的IP地址
- 例如:
www.node3.com. IN A 1.1.1.1
www.node3.com. IN A 1.1.1.2
test2.node2.com. IN A 1.1.1.3
test1.node1.com. IN A 1.1.1.3 - 注意:
*.node3.com. IN A 1.1.1.4
node3.com. IN A 1.1.1.4
AAAA:
- name: FQDN
- value: IPv6
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.node3.com - 简写成:
4 IN PTR www.node3.com. - 注意:网络地址及后缀可省略;主机地址依然需要反着写
SOA:
- name: 当前区域的名字,例如 "node3.com."
- value: 有多部分组成
- 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字
- 录前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如dns.node3.com;
- 主从服务协调属性的定义以及否定的答案的统一的TTL
- node3.com. 86400 IN SOA ns.node3.com. www.node3.com. (
2015042201 ;序列号
2H ;刷新时间
10M ;重试时间
1W ;过期时间
1D ;否定答案的TTL值
)
NS:
- name: 当前区域的名字
- value:当前区域的某DNS服务器的名字,例如ns.magedu.com.; 注意:一个区域可以有多个NS记录
- 例如:
node3.com. IN NS ns1.node3.com.
node3.com. IN NS ns2.node3.com. - 注意:
- 相邻的两个资源记录的name相同时,后续的可省
- 对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录
CNAME:
- name: 别名的FQDN
- value: 正工名字的FQDN
- 例如:
www.node3.com. IN ZHANG
www.node3.com.
子域授权:每个域的名称服务器,都是通过其上级名称服务器在解析库进行授权
类似根域授权tld
.com. IN NS ns1.com.
.com. IN NS ns2.com.
ns1.com. IN A 2.2.2.1
ns2.com. IN A 2.2.2.2
magedu.com. 在.com的名称服务器上,解析库中添加资源记录:【glue record:粘合记录(上一级授予给下一级)】
node3.com. IN NS ns1.node3.com.
node3.com. IN NS ns2.node3.com.
node3.com. IN NS ns3.node3.com.
ns1.node3.com. IN A 3.3.3.1
ns2.node3.com. IN A 3.3.3.2
ns3.node3.com. IN A 3.3.3.3
DNS是Domain Name Service的缩写,用于将域名转换为IP地址。本文详细介绍了DNS查询类型(递归和迭代查询),服务器类型(主DNS、从DNS、缓存DNS和转发器)以及DNS解析库,特别强调了各种资源记录(A, AAAA, PTR, SOA, NS, CNAME, MX)的作用。同时,讨论了DNS服务器如何通过区域传递和缓存机制来提高解析效率。"
103714354,8591405,Redis 入门教程:数据类型与实战,"['数据库', 'Redis', '缓存系统', '数据结构', 'NoSQL']
4751

被折叠的 条评论
为什么被折叠?



