05 DNS域名系统
注意:域名是大小写无关的,但通常都是用小写的形式
-
总结
1、域名使用字符串来代替
IP
地址,方便用户记忆,本质上一个 名字空间系统2、
DNS
就像是我们现实世界里的电话本、查号台,统管着互联网世界里的所有网站,是一个“超级大管家”3、
DNS
是一个 树状的分布式查询系统,但为了提高查询效率,外围有多级的缓存4、使用
DNS
可以 实现基于域名的负载均衡,既可以在内网,也可以在外网
域名解析
域名转换成 IP
地址的过程。
DNS
的 核心系统 是一个三层的树状、分布式服务,基本对应域名的结构:
1、根域名服务器 Root DNS Server
:管理顶级域名服务器,返回 com/net/cn 等顶级域名服务器的 IP
地址
2、顶级域名服务器 Top-level DNS Server
:管理各自域名下的权威域名服务器,比如 com
顶级域名服务器可以返回 apple.com 域名服务器的 IP
地址
3、权威域名服务器 Authoritative DNS Server
:管理自己域名下主机的 IP
地址,比如 apple.com
权威域名服务器可以返回 www.apple.com 的 IP 地址
减轻域名解析的压力 – 缓存
有几种基于基本思路“缓存”的方式
1、许多大公司、网络运行商都会建立自己的 DNS
服务器,作为用户 DNS
查询的代理,代替用户访问核心 DNS
系统 –> 非权威域名服务器 –> 可以缓存之前的查询结果,如果已经有了记录,就无需再向根服务器发起查询,直接返回对应的 IP 地址
2、操作系统 里也会对 DNS 解析结果做缓存
3、另外操作系统里面还有一个特殊的 主机映射文件hosts,如果操作系统缓存里面找不到就会找这个文件
域名系统的优势
1、重定向:因为域名代替了 IP
地址,所以可以让对外服务的域名不变,而 主机的 IP 地址任意变动,当主机有情况需要下线、迁移时,可以更改 DNS
记录,让域名指向其他的机器
2、可以使用 bind9
等开源软件搭建一个在 内部使用的 DNS,作为名字服务器,发起网络通信时也就不必再使用写死的 IP
地址了,可以直接用域名,也兼具第一种优势
3、基于域名实现的负载均衡
- 域名解析可以返回多个
IP
地址,即 一个域名可以对应多台主机 – 客户端收到多个IP
地址后,就可以自己使用轮询算法依次向服务器发起请求,实现负载均衡 - 域名解析可以配置内部的策略,返回离客户端最近的主机,或者返回当前服务质量最好的主机,这样在
DNS
端把请求分发到不同的服务器,实现负载均衡