DNS详解

作者: 镜中无我 | 来源:发表于2019-11-04 11:08 被阅读0次

    DNS介绍

    将ip和域名相互映射的分布式数据库。使用TCP和UDP端口53,每一级域名长度的限制是63个字符,域名总长度不能超过253个字符

    DNS基于的UDP/TCP

    一般意义上的域名解析都是基于UDP的,这样可以提高dns解析网络的负载能力和响应速度,而事实上dns区域内的服务器之间的同步操作是使用tcp的。一方面域名解析的报文长度不超过udp的最大长度512字节,而tcp是流式传输且能够保证传输的可靠性所以用来大规模的域名数据的同步更适合;另一方面同步本身是区域服务器定时完成的,时机上对于时延的要求并不高,相反对准确性要求更高

    DNS的分层解析机制

    image.png

    DNS的服务类型

    • 授权型DNS:一种DNS的更新机制,开发人员可以管理公用DNS名称及其解析,然后响应DNS查询。授权型DNS对域有最终授权且提供递归型DNS服务器对ip地址信息的响应。阿里云就是一例
    • 递归型DNS:客户端一般不会对授权型dns服务直接进行查询。而是通常连接到称为解析程序的其他类型dns服务。递归型DNS拥有缓存dns参考,它会提供源或者ip信息来相应的dns查询。如果没有会传递一个或多个授权型dns服务器以查找信息

    域名解析

    • 静态映射:本机配置域名和IP的映射,比如hosts文件
    • 动态映射:建立一套域名解析系统,通过源服务器的查询请求获取域名对应的IP地址

    解析过程举例

    1. 浏览器输入www.xxx.com,enter
    2. 请求被路由到本机的dns解析程序,查询本地dns域名缓存,如果有直接返回,如果没有路由至网络服务提供商的dns解析程序
    3. ISP将解析程序再次转发www.xxx.com的解析请求到根域名服务器
    4. 根域名解析服务器转发给顶级域的名称服务器,服务器返回四个阿里云名称服务器的名称响应
    5. 解析程序选择一个服务器转发请求,获取域名对应的ip值返回
    6. 缓存此条解析记录,并指定记录时长

    解析过程详解

    1. 用户首先在本地计算机的缓存中查找,如果没有就向本地域名服务器进行递归查询
    2. 首先客户机将域名查询请求发送到本地DNS服务器,当本地DNS服务器接到查询后,首先在该服务器管理的区域的记录中查找,如果找到该记录,则进行此记录进行解析,如果没有区域信息可以满足查询要求,服务器在本地缓存中查找,向一个根域名服务器进行查询
    3. 根域名服务器告诉本地域名服务器,下一次应该查询的顶级域名服务器的IP 地址
    4. 本地域名服务器向顶级域名服务器进行查询
    5. 顶级域名服务器 告诉本地域名服务器,下一步查询权限服务器的 IP 地址
    6. 本地域名服务器向权限服务器进行查询
    7. 权限服务器告诉本地域名服务器所查询的主机的 IP 地址
    8. 本地域名服务器最后把查询结果告诉 用户

    这里的本地服务器指的是本地配置的服务器,可以是google的8.8.8.8

    协议报文格式

    image.png

    相关文章

      网友评论

          本文标题:DNS详解

          本文链接:https://www.haomeiwen.com/subject/rvprbctx.html