域名的分层结构
   域名解析过程遵循分层递归查询机制,这一机制由域名的层次结构所决定。
   下面以example.com为例,详细说明域名的组成结构及其级别:
   
   
    - 根域(.) 
     
根域即“.”,是最高级别的域名。
     域名在DNS系统中的完整格式为“example.com.”。当我们在浏览器中输入域名时,通常会省略最后的“.”,输入“example.com”,DNS系统会默认将域名转换为完整格式。
     “.”对应根域名服务器,是最高级别的DNS服务器,保存顶级域DNS服务器地址。
 
    - 顶级域(.com) 
     
顶级域根据域名后缀进行区分,主要包括两大类:
     
      - 通用顶级域,如.com,.net,.org,.top等。
 
      - 国家顶级域,如.cn,.uk,.de等。
 
     
     顶级域对应顶级域名服务器,保存顶级域对应二级域DNS服务器地址。例如,.com顶级域对应的顶级域名服务器保存后缀为.com的二级域名的DNS服务器地址。
 
    - 二级域(example.com) 
     
二级域是顶级域的子域,对应权威DNS服务器,为域名提供权威域名解析服务。
     例如,您在域名服务商处购买域名example.com,并设置域名的DNS服务器地址,实际上就是将为域名example.com提供权威解析服务的DNS服务器地址告知.com顶级域的过程。
     如果您选择华为云的云解析服务解析域名,则云解析服务作为权威DNS服务器,为您提供域名的权威DNS服务。
 
    - 子域(www.example.com) 
     
二级域名进一步细分产生子域名,表示具体的服务器或服务。
 
   
   
  
   DNS的分层结构
   对应域名的分层结构,DNS也有对应的层次结构,DNS的分层结构从根服务器开始,依次经过顶级域名服务器、权威域名服务器,再到本地和缓存服务器,每一层都有其特定的功能,共同协作完成域名解析过程。这种分层设计不仅提高了效率,还增强了系统的可靠性和可扩展性。
   
    - 根域名服务器(Root Name Server,简称Root Server) 
     
作为DNS的顶层,根服务器管理所有顶级域名(TLD)。当本地域名服务器在本地查询不到解析结果时,则第一步会向根域名服务器进行查询,并获取对应的IP地址。
 
    - 顶级域名服务器(Top-Level Domain Name Server,简称TLD Server) 
     
顶级域名服务器管理特定的顶级域名,如.com、.org、.net等通用顶级域名,以及和.cn、.us等国家顶级域名。
     每个顶级域名都有自己的服务器,负责处理该域名下的所有子域名。例如“www.example.com”,.com则是顶级域名服务器,在向它查询时,可以返回二级域名“example.com”所在的权威域名服务器地址。
 
    - 权威域名服务器(Authoritative Name Server,简称NS) 
     
负责管理特定域名与IP地址之间的对应关系,如域名example.com下的子域名www.example.com,当DNS查询到达该级别时,服务器返回目标域名的IP地址。
 
    - 本地域名服务器(Local DNS Server,简称Local DNS) 
     
本地域名服务器指用户客户端(手机、电脑等)连接Internet网络使用的DNS,通常由互联网服务提供商(Internet Service Provider,简称ISP)或组织内部使用,用于响应来自客户端的递归请求。当用户请求访问一个域名时,本地服务器发起递归查询,逐层向上查找,直到找到对应的IP地址,并将结果缓存以提高后续请求的速度。
     用户也可以将该DNS修改为公共DNS服务器,例如,114.114.114.114、8.8.8.8。
 
   
   
  
   DNS的解析过程
   通过域名www.example.com访问网站的域名解析过程如图1所示。
   
    图1 域名解析过程
    
    
   
    - 用户通过Web浏览器输入网站域名www.example.com。
 
    - Web浏览器将对域名www.example.com的查询请求路由到Local DNS。 
     
Local DNS缓存域名解析数据,并提供递归查询功能。Local DNS通常是Internet服务商提供的DNS。
 
    - Local DNS在缓存中没有查询到域名的解析记录,将对域名www.example.com的查询请求路由到根域名服务器。
 
    - 因域名后缀为.com,根域名服务器向Local DNS返回.com顶级域服务器的地址。
 
    - Local DNS将对域名www.example.com的查询请求路由到.com顶级域服务器。
 
    - .com顶级域服务器向Local DNS返回为域名example.com提供权威解析服务的权威DNS服务器地址。
 
    - Local DNS将对域名www.example.com的查询请求路由到权威DNS服务器。 
     
如果域名www.example.com的DNS服务器设置为华为云DNS服务器地址,则云解析服务作为权威DNS服务器为域名提供权威的解析记录。
 
    - 权威DNS服务器向Local DNS返回域名对应的网站IP地址。
 
    - Local DNS向Web浏览器返回网站IP地址。
 
    - Web浏览器通过网站IP地址访问网站服务器。
 
    - 网站服务器向Web浏览器返回网站主页。
 
    - 终端用户从Web浏览器获取网站主页,对网站的访问成功。
 
   
   
  
   
术语
  
  
   
    
     
DNS缓存
    
    
     DNS缓存是一种存储机制,用于临时保存域名的解析数据,通常位于用户的设备、路由器或ISP的服务器中,以提高网络访问速度和效率。
     当用户访问一个域名时,设备首先检查本地缓存,若找到对应解析数据则直接使用,否则设备会向ISP或其他DNS服务器查询,并将结果存储在缓存中以备后续使用。
     相关文档:
     
     
    
   
  
   
    
     
TTL
    
    
     TTL(Time To Live),指解析记录在本地DNS服务器中的缓存时间,合理设置TTL可以平衡DNS服务器的负载和解析速度,同时影响DNS变更的生效时间。
     当本地DNS服务器收到某一域名的解析请求时,需要向域名指定的权威DNS服务器发送解析请求获取解析记录。获得的解析记录会在本地DNS服务器中保存一段时间。在这段时间内,如果本地DNS服务器再次收到域名的解析请求,将不再向权威DNS服务器发送解析请求,而是直接返回保存在本地DNS服务器中的解析记录。
     解析记录在本地DNS服务器的保存时间就是TTL值,用户可以在为公网域名或者内网域名添加记录集时设置,具体操作请参见管理记录集。
     如下操作的生效时间均与TTL值有关,如果要加快生效,可以通过调小TTL值的方式实现:
     
     
    
   
  
   
    
     
递归查询/递归解析
    
    
     递归查询和递归解析是DNS解析中的两个关键步骤,递归查询由客户端发起,递归解析由DNS服务器执行,确保客户端能够高效地获得域名解析结果。
     
      - 递归查询:是客户端(如用户的计算机)向DNS服务器发送的一种请求类型。客户端发送递归查询请求到DNS服务器,DNS服务器负责处理整个查询过程,直到找到目标域名的查询结果并返回给客户端。客户端只需发送一次请求,无需多次查询不同的服务器。
 
      - 递归解析:是DNS服务器在处理递归查询请求时所采用的方法。当DNS服务器收到递归查询请求时,从根服务器开始,逐步查询顶级域名服务器,直到找到权威域名服务器,获取目标域名的查询结果并返回给客户端。用户无需自行处理复杂的查询过程。
 
     
     相关文档:
     设置子域名递归解析
     
    
   
  
   
    
     
DNSSEC
    
    
     域名系统安全扩展(Domain Name System Security Extensions,简称DNSSEC),通过数字签名和公钥加密确保DNS应答报文的真实性和完整性,能够保护用户不被重定向到非预期地址,防止DNS欺骗和缓存污染等攻击,保护用户核心业务。
     工作原理和主要功能
     
      - 数字签名保证数据完整性:对DNS记录进行签名,验证数据完整性,确保DNS记录未被篡改。
 
      - 公钥加密保证数据来源可信:使用公钥验证签名,确保信息来自可信来源。
 
      - 完整信任链预防DNS欺骗与缓存污染:从根服务器到顶级域名服务器,再到权威服务器,形成完整的信任链,阻止攻击者在DNS缓存中插入虚假记录。
 
     
     相关文档:
     配置DNSSEC
     
    
   
  
   
    
     
DKIM
    
    
     域名密钥识别邮件(DomainKeys Identified Mail,简称DKIM)是一种用于验证电子邮件来源真实性和完整性的技术标准,通过数字签名机制防止邮件伪造和篡改。
     核心原理和工作流程:
     
      - 密钥生成与分发
       
        - DKIM使用一对密钥:私钥和公钥。
 
        - 私钥由发送方的邮件服务器保管,用于签名邮件。
 
        - 公钥存储在发送方域名的DNS记录中,通常作为TXT记录,供接收方查询。
 
       
 
      - 邮件签名过程
       
        - 发送邮件时,邮件服务器使用私钥对邮件的特定部分(如报头和正文)生成数字签名。
 
        - 签名信息被插入到邮件的DKIM-Signature报头字段中,包含哈希值、使用的算法(如RSA-SHA256)和域名信息。
 
       
 
      - 接收方验证
       
        - 接收方服务器解析邮件头中的DKIM-Signature字段,提取签名信息。
 
        - 通过查询发送方域名的DNS记录获取公钥。
 
        - 使用公钥验证签名,计算邮件内容的哈希值并与签名中的哈希值进行比较。
 
        - 如果匹配,验证通过,确认邮件未被篡改且来源真实;否则,可能标记为垃圾邮件或拒收。
 
       
 
     
     示例:
     
      一个典型的DKIM签名头字段如下: 
      
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com;  
s=mail; h=From:Subject:Date:Message-ID:To:MIME-Version:Content-Type;  
bh=abc123==; b=def456==; 
      
       - v=1:DKIM版本。
 
       - a=rsa-sha256:使用的签名算法。
 
       - c=relaxed/relaxed:签名内容的处理方式。
 
       - d=example.com:发件人域名。
 
       - s=mail:密钥选择器。
 
       - h=...:签名的邮件头字段。
 
       - bh=...:邮件正文的哈希值。
 
       - b=...:签名值。
 
      
      
     
    
   
  
   
    
     
SPF
    
    
     发送方框架策略(Sender Framework Policy,简称SPF)是一种用于验证电子邮件发件人身份的技术,旨在防止垃圾邮件和钓鱼攻击。它通过检查发送邮件的IP地址是否被发件人域名的管理员授权,来验证邮件的合法性。
     核心原理和工作流程:
     
      - 定义授权IP地址
       
域名所有者在DNS中配置一条TXT或SPF记录,列出所有被授权发送邮件的IP地址或服务器。
 
      - 验证过程
       
        - 当邮件服务器收到邮件时,它会检查邮件的Return-Path(发件人地址)。
 
        - 邮件服务器通过DNS查询发件人域名的SPF记录。
 
        - 验证发送邮件的IP地址是否在SPF记录中被授权。
 
        - 如果匹配,邮件通过验证;否则,可能被标记为垃圾邮件或拒收。
 
       
 
     
     示例:
     以下是TXT类型解析记录的SPF记录值:
     v=spf1 include:spf.example.com -all
     
     
    
   
  
   
    
     
泛解析
    
    
     泛解析,是指使用通配符“*”作为子域名的主机记录,实现所有子域名指向同一个IP地址或目标。
     例如,域名.example.com设置泛解析*.example.com,则会将该域名下的所有子域名如www.example.com、abc.example.com、test.example.com等子域名都将解析到与 *.example.com 相同的IP地址或目标。
     应用场景:
     
      - 静态资源托管
       
将所有子域名指向同一个CDN或静态资源服务器,提高资源加载速度和管理效率。
 
      - 测试和开发环境
       
快速创建和测试多个子域名,无需频繁调整DNS设置,提升开发效率。
 
      - 用户生成内容平台
       
允许用户创建个人子域名博客或网站,所有子域名自动指向同一服务器,简化管理流程。
 
      - API服务
       
通过不同子域名访问同一API服务,统一管理API请求,提升服务灵活性。
 
      - 多语言或地区站点
       
所有子域名指向同一多语言网站,根据用户语言或地区自动切换内容,优化用户体验。
 
      - 临时或动态子域名
       
快速创建临时促销或活动子域名,无需手动配置,提升响应速度。
 
     
     相关文档:
     设置域名泛解析
     
    
   
  
   
    
     
域名所有者
    
    
     域名所有者,即注册购买域名的个人或组织。以下是域名所有者的详细说明:
     
      - 所有权与控制权:域名所有者拥有域名的使用权,可以决定如何使用该域名,例如指向特定的服务器或设置子域名。
 
      - 注册与维护:域名所有者需在注册商处注册域名,并支付年度费用以续费,确保域名不被过期。
 
      - 信息管理:注册时需提供个人信息(如姓名、地址、邮箱),这些信息通常在WHOIS数据库中公开,但可选择隐私保护服务以隐藏真实信息。
 
      - 管理权限:域名所有者可以管理DNS设置,控制网站的解析,设置安全记录(如DKIM、SPF),以及转移域名至其他注册商。
 
      - 续费与转移:必须及时续费以避免域名过期。若想转让域名,需通过注册商进行转移或在二级市场交易。
 
     
     
    
   
  
   
    
     
DNS服务商
    
    
     DNS服务商是提供域名系统(DNS)服务的公司,负责管理域名的解析设置,确保域名正确指向对应的服务器IP地址。以下介绍DNS服务商的主要作用:
     
      - 域名解析:将用户输入的域名转换为对应的IP地址,使用户能够访问目标网站。
 
      - 管理DNS记录:允许用户设置和管理各种DNS记录,如A记录、CNAME记录、MX记录等。
 
      - 高可用性和稳定性:通过多节点分布,确保DNS解析的稳定性和快速响应。
 
      - 增值服务:提供负载均衡、CDN集成、DDoS防护、智能解析等功能,提升网站性能和安全性。
 
     
     
    
   
  
   项目
   项目用于将资源(计算资源、存储资源和网络资源等)进行分组和隔离。项目可以是一个部门或者一个项目组。
   一个账户中可以创建多个项目。
   对于云解析服务,公网域名属于Global级别的资源,而内网域名和反向解析属于区域级别的资源。因此,系统会基于项目实现内网域名、反向解析资源的隔离和管理。在创建、查询、设置内网域名和反向解析前,用户需先指定区域和项目,然后在指定项目下执行相关操作。
   
  
   区域和可用区
   详细请参见《云解析服务常见问题》文档“区域和可用区”章节。