DNS协议

  • 使用53端口
  • 域名不区分大小写
  • 底层为UDP协议而不是TCP协议
    • 如果很短时间内没有响应返回,就再次发送记录
    • 重复一定次数后尝试另一个服务器
    • 每次查询报文都包含一个标识符,并复制到响应中,以防止混淆查询结果
  • 为什么浏览器上不了网,QQ却能连上?
    • DNS出了故障,而QQ直接通过IP地址连接服务器,无须DNS解析

层次性服务器

  • 采用分布式,层次性数据库
    • 负责管理下级域的DNS服务器需要把自己的IP地址注册到上级DNS服务器

在这里插入图片描述
在这里插入图片描述

  • 本地DNS服务器

    • 每个用户通过ISP接入网络时,该ISP应该提供一台本地DNS服务器的地址
    • 当用户主机发送DNS请求时,该请求被发往本地DNS服务器,该服务器代替用户向上述分层DNS数据库迭代请求
  • 本地DNS服务器发送消息时,我们当然也需要知道DNS服务器IP地址,不过这个地址是事先设置好的,无须查询
    在这里插入图片描述

  • 权威DNS服务器

    • 每个组织(域名)必须提供可访问的权威DNS服务器来记录组织下面的服务器地址
    • 当然也可以付费把记录储存在服务提供商提供的权威DNS服务器中
    • 注册域名时,需要提供权威权威DNS服务器地址,此时注册登录机构将下面记录插入DNS系统中
    (example.com, dns.example.com, NS)
    (dns.example.com, 212.212.212.1, A)
    

DNS记录

  • 格式: (Name, Value, Type, TTL)
    • TTL表示生存时间
  • Type分类:
    • Type=A : 表示域名到IP地址的映射
      • (www.example.com, 145.37.92.1, A)
    • Type=NS : 表示该域或组织到权威DNS的域名
      • (foo.com, dns.foo.com, NS)
    • Type=CNAME : 别名到到规范域名的映射
      • 一般是多对一映射
      • (foo.com, relay1.bar.foo.com, CNAME)
        在这里插入图片描述

别名(CNAME)

  • 当一个服务器可以提供多种服务时,为了方便记忆和管理,可以让多个别名指向同一个规范域名

    • 例如host.example.com可以提供web和邮件服务,那么可以把www.example.com@example.com都指向 host.example.com
  • 当使用CDN服务的时候,服务商提供的就是一个CNAME地址

    • CDN服务商可以比较方便更换提供的域名的A记录,而不用变更所有使用者域名的A记录
      在这里插入图片描述
  • 最上层是常规的DNS解析过程,用户通过local DNS做递归查询,最终定位到taobao.com权威DNS服务器

  • 中间层可以称为GSLB(Global Server Load Balancing),作用是提供域名的智能解析,根据一定的策略返回结果

    • taobao.com权威DNS服务器会根据不用的域名,CNAME到不同的GSLB做智能调度
    • CNAME的作用有点类似请求分发
  • 最下层是应用层,提供真正的服务

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章