2023.1.10 打卡第一天
2.5 DNS
- DNS必要性:IP不好记
-ARP ANET维护映射文件Hosts.txt,主机数量很大时就麻烦了
DNS思路和目标
- 思路
- 分层的、基于域的命名机制
- 若干分布式 的数据库完成名字到IP地址的转换
- 运行在UDP之上端口为53的应用服务
- 核心Internet功能,但以应用层协议实现
- 目标
- 实现 主机名-IP地址 的转换
- 主机别名(www.jzbt.xyz)到规范名(某某服务器某某刀片)的转换
- 邮件服务器的别名到规范名的转换
- 负载均衡
DNS命名空间
-
层次树状结构的命名方法
-
划分了几百个顶级域名
- 每个子域可划分若干子域
- 树叶是主机
-
13个根名字服务器
- 分布式数据库
- 分布式数据库
区域服务器维护资源记录 🔗
-
资源记录(resource records)
-
RR格式
- Domain_name:域名,www…
- TTL:有缓存的、有长期的
- Class类别,Internet值为IN
- Value值:ip地址
- Type类别:不同作用
-
-
DNS记录:RR格式:(name,vlalue,type,ttl)
-
Type = A
- Name为主机
- Value为ip
-
Type = NS
- Name为域名(如foo.com)
- Value为该域名权威服务器的域名
-
Type = CNAME
- Name为规范名字的别名:www.ibm.com的规范名字为servereast.backup2.ibm.com
-
Type = MX
- Value为name对应的邮件服务器的名字
-
eg
-
DNS大致工作过程 🔗
- 应用调用解析器(resolver)
- 解析器作为客户向Name Server发出查询UDP报文(预先配置Server地址)
- NameServer返回响应报文(name/ip)
名字服务器(NameServer)
-
目标在Local Name Server中
- 查询的名字在区域内部
- 缓存(cashing)
-
不在
- 顺着根TLD一直找到权威名字服务器
-
缓存提高性能,TTL默认2天
递归查询(根服务器负担太重)改善→迭代查询
DNS协议、报文 🔗
ID号:流水线方式
新增一个域
-
在上级域的名字服务器中增加两条记录
- 子域的域名
- 域名服务器的地址
-
新增子域的名字服务器运行,负责本域的名字解析:名字→IP地址