什么是DNS

在互联网上进行通信大多基于IP地址的,如“202.96.134.133”之类的。
但是在互联网上那么多的设备,我们不可能记住很多的IP地址,于是就有了域名。
当我们在浏览器地址栏上输出域名的时候,就可以看到对应的页面,这是因为会有一个“DNS服务器”找到域名对应的IP并返回

DNS的工作原理

当你在浏览器中输入一个网址并按下回车键时,浏览器需要知道这个网址对应的IP地址,DNS就开始工作了。以下是一个简单的DNS查询过程:

  • 用户输入网址:你在浏览器中输入“www.example.com”并按回车。
  • 本地缓存查询:浏览器首先检查本地缓存中是否有这个域名对应的IP地址。如果有,直接使用缓存的IP地址。
  • 查询DNS服务器:如果本地没有缓存,浏览器向配置好的DNS服务器发送查询请求。
  • DNS服务器递归查询:DNS服务器会先检查自己的缓存,如果没有找到,它会递归查询其他DNS服务器,直到找到对应的IP地址。
  • 返回结果:最终,DNS服务器找到结果并返回给浏览器,

服务器

  • 根DNS服务器:
    根DNS服务器是位于DNS层次结构最顶层的服务器,知道所有顶级域名服务器的域名和 IP地址
  • 顶级DNS服务器(TLD):
    TLD服务器管理特定顶级域名(如.com、.net、.org等)下的所有域名信息。
  • 权威DNS服务器:
    存储了特定域名及其对应IP地址的最终信息。如:直接返回www.example.com的IP地址(例如,93.184.216.34)。

域名

域名是一个树状结构,最顶层的域名是根域名,然后是顶级域名(top-level domain,简写 TLD),再是一级域名、二级域名、三级域名。

upload successful
每一个域名都有自己的DNS服务器,存放域名下面的IP地址

记录

  • A记录
    A记录将一个域名映射到一个IPv4地址。它是最基本的DNS记录类型,帮助将用户输入的域名转换为可以用于网络通信的IP地址。
  • AAAA记录
    AAAA记录将一个域名映射到一个IPv6地址。它与A记录类似,但用于IPv6地址。
  • CNAME记录(Canonical Name Record)
    CNAME记录将一个域名(别名)映射到另一个域名(规范名)。它常用于将多个域名指向同一个IP地址。
  • MX记录(Mail Exchange Record)
    MX记录指定邮件服务器,用于处理特定域名的电子邮件
  • TXT记录
    TXT记录用于存储任意文本信息。常用于域名所有权验证、邮件验证(如SPF、DKIM)和其他应用。
  • NS记录(Name Server Record)
    NS记录指定了哪个DNS服务器是特定域名的权威服务器。它帮助将域名查询定向到正确的权威DNS服务器。
  • SOA记录(Start of Authority Record)
    SOA记录包含了区域的权威信息,包括主DNS服务器、区域管理员的电子邮件地址、区域序列号、刷新间隔等。每个DNS区域都必须有一个SOA记录。
  • PTR记录(Pointer Record)
    PTR记录将IP地址映射到域名,主要用于反向DNS查询,即根据IP地址找到对应的域名。常用于邮件服务器验证。
  • SRV记录(Service Record)
    SRV记录用于指定特定服务(如VoIP、即时消息)的主机和端口。它包含服务、协议、优先级、权重、端口和目标主机。
  • URL转发
    URL转发,是指通过服务器的特殊设置,将当前访问的域名指向另一个指定的网络地址。根据目标地址的隐藏与否,URL转发可以分为显性URL和隐性URL两种。
    • 显性URL:
      将域名指向一个http(s)协议地址,访问域名时,自动跳转至目标地址,地址栏显示为目标网站地址。
    • 隐性URL:
      与显性URL类似,但隐性转发会隐藏真实的目标地址,地址栏中显示为仍为此前输入的地址。

参考链接:

  1. 干货分享 | 一文读懂DNS原理及解析过程

  2. DNS 查询原理详解——阮一峰

  3. DNS解析详解——CSDN

  4. 一张图看懂DNS域名解析全过程

  5. 最常见的 DNS 记录有哪些?

  6. 一张图看懂DNS域名解析全过程——知乎