DNS域名解析服务理论详解(域名结构、递归查询和迭代查询、CDN)



DNS域名解析服务

1.DNS系统的概念

DNS(Domain Name System)系统的主要作用是实现域名与IP地址的双向解析。

  • DNS系统是互联网的基础服务之一,为用户提供了正向解析(域名到IP地址的映射)和反向解析(IP地址到域名的映射)两种功能。
  • DNS系统采用了分布式数据结构,使得域名解析在全球范围内具有较高的容错性和稳定性。
  • 使用端口:DNS服务使用TCP和UDP的53端口。TCP端口用于连接,UDP端口用于解析。

2.DNS系统的主要作用

  1. 正向解析通过域名查找获取对应的IP地址。例如,当用户输入域名(如 www.example.com),DNS系统将返回该域名对应的IP地址。
  2. 反向解析通过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(日本)
  • 示例:
    • .com.org(通用顶级域)
    • .cn.jp(国家代码顶级域)

3. 二级域

二级域是位于顶级域下的域名,通常用于标识一个具体的组织或品牌。

  • 示例:
    • sina.comsinacom 顶级域下的二级域)
    • bbc.co.ukbbcco.uk 顶级域下的二级域)

4. 子域

子域是位于二级域或更低层级下的域名,通常用于标识具体的服务、部门或主机。

  • 示例:
    • www.sina.comwwwsina.com 二级域下的子域)
    • mail.google.commailgoogle.com 二级域下的子域)

4.DNS服务器类型

4.1三种类型

DNS服务器主要有三种类型:

  1. 缓存域名服务器:只提供域名解析结果的缓存功能,提高查询速度和效率。
  2. 主域名服务器:负责管理和维护特定区域内的域名解析记录。
  3. 从域名服务器:从主域名服务器同步解析记录,用于备份和冗余。

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的主要功能

  1. 全局负载技术:通过将用户的访问指向最近的缓存服务器,减少数据传输的延迟。
  2. 智能虚拟网络:在现有互联网基础上构建的一层智能网络,通过节点服务器实现内容的快速分发。

6.DNS查询类型及原理

6.1查询方式

DNS查询方式主要分为递归查询和迭代查询:

  1. 递归查询:客户端请求DNS服务器,DNS服务器返回最终的查询结果,无需客户端参与中间过程。

    递归查询是指客户端向本地域名服务器发出查询请求,本地域名服务器会全程处理查询,直到得到最终的结果或错误消息,然后将结果返回给客户端。在递归查询中,本地域名服务器会向其他 DNS 服务器发出进一步的查询请求,如果本地域名服务器本身无法完成解析。

  2. 迭代查询:DNS服务器逐级查询,每一级服务器返回部分结果,最终由客户端或本地DNS服务器获取完整结果。

    迭代查询是指本地域名服务器在处理查询时,会逐级向其他 DNS 服务器查询,直到获取到最终的结果。每个 DNS 服务器负责返回一个可能的下一步查询服务器的地址。客户端的查询过程会涉及多个 DNS 服务器的响应,而不是由一个服务器完成所有查询。

结论

  1. 大量的递归查询会使根域、顶级域、二级域服务器压力过大,因此这部分公共的域查找使用迭代查询
  2. 递归查询适用于终端用户,简化操作;迭代查询适用于DNS服务器之间,提高查询效率。

在这里插入图片描述

6.2查询原理过程

以正向解析查询过程为例讲解,反向解析查询过程类似于正向解析,但查询对象是IP地址。

A 递归查询过程

  1. 查询本机缓存:
    • 系统首先查找本机的缓存记录。如果找到匹配的记录,直接返回结果。
  2. 查询 hosts 文件:
    • 如果缓存中没有匹配记录,系统会查找 hosts 文件以获取对应的 IP 地址。
  3. 递归查询本地域名服务器:
    • 如果 hosts 文件中也没有匹配记录,本地域名服务器会进行递归查询,负责向其他 DNS 服务器发起查询,直到获得最终结果。
    • 过程:
      • a. 查询根域服务器: 如果本地域名服务器无法解析请求,它会向根域服务器发出查询请求。根域服务器若查询不到会请求顶级域服务器查询。
      • b. 查询顶级域服务器: 顶级域服务器查询,顶级域服务器若查询不到会继续查询二级域服务器。
      • c. 查询二级域服务器: 二级域服务器查询,二级域服务器如果能解析请求,会返回目标主机的 IP 地址。
  4. 缓存结果并返回:
    • 本地域名服务器将获取的 IP 地址缓存起来,然后将结果返回给客户端。

B 迭代查询过程

  1. 查询本机缓存:
    • 与递归查询相同,系统首先查找本机的缓存记录。
  2. 查询 hosts 文件:
    • 如果缓存中没有匹配记录,系统会查找 hosts 文件以获取对应的 IP 地址。
  3. 迭代查询本地域名服务器:
    • 如果 hosts 文件中没有记录,本地域名服务器会进行迭代查询。
    • 过程:
      • a. 查询根域服务器: 本地域名服务器向根域服务器发起查询请求。如果根域服务器无法提供最终结果,它会返回负责顶级域的服务器地址。
      • b. 查询顶级域服务器: 本地域名服务器使用根域服务器提供的信息,向顶级域服务器发起查询。如果顶级域服务器无法提供最终结果,它会返回负责二级域的服务器地址。
      • c. 查询二级域服务器: 本地域名服务器继续向二级域服务器发起查询。如果二级域服务器可以解析请求,它会返回目标主机的 IP 地址。
  4. 缓存结果并返回:
    • 本地域名服务器将获取的 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


注:图片来源于网络,侵删。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值