DNS详解

2019-11-04  本文已影响0人  镜中无我

DNS介绍

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

DNS基于的UDP/TCP

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

DNS的分层解析机制

image.png

DNS的服务类型

域名解析

解析过程举例

  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
上一篇下一篇

猜你喜欢

热点阅读