文章目录
DNS域名解析服务
1.DNS系统的概念
DNS(Domain Name System)系统的主要作用是实现域名与IP地址的双向解析。
- DNS系统是互联网的基础服务之一,为用户提供了正向解析(域名到IP地址的映射)和反向解析(IP地址到域名的映射)两种功能。
- DNS系统采用了分布式数据结构,使得域名解析在全球范围内具有较高的容错性和稳定性。
- 使用端口:DNS服务使用TCP和UDP的53端口。TCP端口用于连接,UDP端口用于解析。
2.DNS系统的主要作用
- 正向解析:通过域名查找获取对应的IP地址。例如,当用户输入域名(如 www.example.com),DNS系统将返回该域名对应的IP地址。
- 反向解析:通过IP地址查找获取对应的域名。也叫反向域。例如,通过输入IP地址,DNS系统返回该IP地址对应的域名。
3.DNS的分布式数据结构和域名的结构
DNS系统采用分布式数据结构,也叫域名的体系结构。按层次划分为根域、顶级域、二级域和子域等。
域名的结构由多个级别组成,通常格式为:根域(.)+ 顶级域 + 二级域 + 子域 + 主机名或三级域名。例如:“www.qq.com.cn.”
每级域名长度限制为63个字符,总长度不能超过253个字符。
1. 根域 (.)
根域是整个DNS层次结构的最高层级,用一个单独的点(.
)表示。它是所有域名的顶端,管理着顶级域名服务器。
- 示例:
.
(不显式显示在域名中,但隐含存在于每个域名的结尾)
2. 顶级域(Top-Level Domain, TLD)
顶级域位于根域的下一级,通常代表一种类型的组织机构或国家地区。
- 常见的顶级域:
- 通用顶级域(gTLD):
.com
(商业组织),.org
(非营利组织),.net
(网络服务),.edu
(教育机构) - 国家代码顶级域(ccTLD):
.cn
(中国),.uk
(英国),.jp
(日本)
- 通用顶级域(gTLD):
- 示例:
.com
、.org
(通用顶级域).cn
、.jp
(国家代码顶级域)
3. 二级域
二级域是位于顶级域下的域名,通常用于标识一个具体的组织或品牌。
- 示例:
sina.com
(sina
是com
顶级域下的二级域)bbc.co.uk
(bbc
是co.uk
顶级域下的二级域)
4. 子域
子域是位于二级域或更低层级下的域名,通常用于标识具体的服务、部门或主机。
- 示例:
www.sina.com
(www
是sina.com
二级域下的子域)mail.google.com
(mail
是google.com
二级域下的子域)
4.DNS服务器类型
4.1三种类型
DNS服务器主要有三种类型:
- 缓存域名服务器:只提供域名解析结果的缓存功能,提高查询速度和效率。
- 主域名服务器:负责管理和维护特定区域内的域名解析记录。
- 从域名服务器:从主域名服务器同步解析记录,用于备份和冗余。
4.2分布式数据库
DNS解析库是一个分布式的数据库,全球分布多个DNS服务器以共同维护域名解析服务。
- 根域名服务器:负责根域的解析,IPV4全球共有13个。
- 一级DNS服务器:负责顶级域的解析,如.com、.cn等。
- 二级DNS服务器:负责二级域的解析,如.edu.cn。
- 子域名DNS服务器:负责子域的解析,如www.sina.com。
4.3名词解释
- 序列号:解析库版本号,主服务器解析库变化时,其序列递增
- 刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔
- 重试时间间隔:从服务器请求同步失败时,再次尝试时间问隔
- 过期时长:从服务器联系不到主服务器时,多久后停止服务
- 通知机制:主服务器解析库发生变化时,会主动通知从服务器
5.CDN技术
5.1CDN的基本原理
CDN(Content Delivery Network)通过在网络中部署多个缓存服务器来加速内容分发。这些服务器分布在用户访问集中的区域或网络中,以便用户能够快速访问离自己最近的服务器,进而提高访问速度和稳定性。
CDN与DNS的关系:CDN通常依赖DNS来进行域名解析,通过DNS记录指向最近的缓存服务器。
5.2CDN的主要功能
- 全局负载技术:通过将用户的访问指向最近的缓存服务器,减少数据传输的延迟。
- 智能虚拟网络:在现有互联网基础上构建的一层智能网络,通过节点服务器实现内容的快速分发。
6.DNS查询类型及原理
6.1查询方式
DNS查询方式主要分为递归查询和迭代查询:
-
递归查询:客户端请求DNS服务器,DNS服务器返回最终的查询结果,无需客户端参与中间过程。
递归查询是指客户端向本地域名服务器发出查询请求,本地域名服务器会全程处理查询,直到得到最终的结果或错误消息,然后将结果返回给客户端。在递归查询中,本地域名服务器会向其他 DNS 服务器发出进一步的查询请求,如果本地域名服务器本身无法完成解析。
-
迭代查询:DNS服务器逐级查询,每一级服务器返回部分结果,最终由客户端或本地DNS服务器获取完整结果。
迭代查询是指本地域名服务器在处理查询时,会逐级向其他 DNS 服务器查询,直到获取到最终的结果。每个 DNS 服务器负责返回一个可能的下一步查询服务器的地址。客户端的查询过程会涉及多个 DNS 服务器的响应,而不是由一个服务器完成所有查询。
结论
- 大量的递归查询会使根域、顶级域、二级域服务器压力过大,因此这部分公共的域查找使用迭代查询
- 递归查询适用于终端用户,简化操作;迭代查询适用于DNS服务器之间,提高查询效率。
6.2查询原理过程
以正向解析查询过程为例讲解,反向解析查询过程类似于正向解析,但查询对象是IP地址。
A 递归查询过程
- 查询本机缓存:
- 系统首先查找本机的缓存记录。如果找到匹配的记录,直接返回结果。
- 查询
hosts
文件:- 如果缓存中没有匹配记录,系统会查找
hosts
文件以获取对应的 IP 地址。
- 如果缓存中没有匹配记录,系统会查找
- 递归查询本地域名服务器:
- 如果
hosts
文件中也没有匹配记录,本地域名服务器会进行递归查询,负责向其他 DNS 服务器发起查询,直到获得最终结果。 - 过程:
- a. 查询根域服务器: 如果本地域名服务器无法解析请求,它会向根域服务器发出查询请求。根域服务器若查询不到会请求顶级域服务器查询。
- b. 查询顶级域服务器: 顶级域服务器查询,顶级域服务器若查询不到会继续查询二级域服务器。
- c. 查询二级域服务器: 二级域服务器查询,二级域服务器如果能解析请求,会返回目标主机的 IP 地址。
- 如果
- 缓存结果并返回:
- 本地域名服务器将获取的 IP 地址缓存起来,然后将结果返回给客户端。
B 迭代查询过程
- 查询本机缓存:
- 与递归查询相同,系统首先查找本机的缓存记录。
- 查询
hosts
文件:- 如果缓存中没有匹配记录,系统会查找
hosts
文件以获取对应的 IP 地址。
- 如果缓存中没有匹配记录,系统会查找
- 迭代查询本地域名服务器:
- 如果
hosts
文件中没有记录,本地域名服务器会进行迭代查询。 - 过程:
- a. 查询根域服务器: 本地域名服务器向根域服务器发起查询请求。如果根域服务器无法提供最终结果,它会返回负责顶级域的服务器地址。
- b. 查询顶级域服务器: 本地域名服务器使用根域服务器提供的信息,向顶级域服务器发起查询。如果顶级域服务器无法提供最终结果,它会返回负责二级域的服务器地址。
- c. 查询二级域服务器: 本地域名服务器继续向二级域服务器发起查询。如果二级域服务器可以解析请求,它会返回目标主机的 IP 地址。
- 如果
- 缓存结果并返回:
- 本地域名服务器将获取的 IP 地址缓存起来,然后将结果返回给客户端。
6.3本地主机的DNS映射文件
本地主机通常有一个hosts
文件,用于手动配置IP地址和域名之间的映射关系。此文件优先于DNS服务器进行解析。
例如:Linux文件为“/etc/hosts”,Windows文件为“C: Windows\System32\drivers\etc\hosts”
7.权威和非权威DNS服务器
权威DNS服务器
权威 DNS 服务器是负责特定域名区域的 DNS 服务器。它们拥有该区域内所有域名的完整数据,并且可以提供权威性的解析结果。
非权威DNS服务器
非权威 DNS 服务器不直接存储域名区域的数据,而是从其他 DNS 服务器处获取信息,并将其缓存以提高查询速度。
8.常用DNS服务器
国内通用DNS
114.114.114.114,国内移动、电信和联通通用的DNS。
谷歌DNS
8.8.8.8,全球通用,更适合国外以及访问国外网站的用户使用
阿里云DNS
IPV4:223.5.5.5 和 223.6.6.6
IPV6:2400:3200::1和 2400:3200:baba::1
江苏省南京市(中国电信)
首选:218.2.135.1,备用:61.147.37.1
注:图片来源于网络,侵删。