DNS协议
基于UDP、TCP协议,端口号53,用户到服务器用UDP,DNS服务器用TCP协议。
DNS组成
域名空间、资源记录
域名服务器:提供域名空间结构及信息的服务器程序
解析器:应客户程序要求从域名服务器抽信息
域名服务器
根服务器管理互联网主目录
顶级域名服务器管理二级域名
域名解析过程
①主机先向本地域名服务器进行递归查询
②本地域名服务器采用迭代查询,向一个根域名服务器进行查询2③根域名服务器告诉本地域名服务器,下-次应该查询的顶级域名服务器dns. com的IP地址
④本地域名服务器向顶级域名服务器dns.com进行查询
⑤顶级域名服务器告诉本地域名服务器,下一步查询权限服务器的IP地址
⑥本地域名服务器向权限服务器进行查询
⑦权限告诉本地域名服务器所查询的主机的IP地址
⑧本地域名服务器最后把查询结果告诉主机
DNS查询有两种方式:
递归查询和迭代查询。 DNS客户端设置使用的DNS服务器般都是递归服务器,它负责全权处理客户端的DNS查询请求,直到返回最终结果。
而DNS服务器之间般采用迭代查询方式。
递归查询
本机向本地域名服务器发一次查询请求,静待结果,若本地域名服务器无法解析,自己会以DNS客户机的身份向其他域名服务器查询,直到得到IP地址告诉本机
迭代查询
本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步去哪查,每次都以客户机身份查
DNS报文格式
1、会话标识(2字节):是DNS报文的ID标识,可以区分DNS应答报文是哪个请求的响应
2、标志(2字节)
3、查询问题区域
3.1查询名:查询的域名
3.2查询类型:A NS CNAME SOA WKS PTR HINFO MX AAAA AXFR ANY
3.3查询类:通常为1,表明Internet
4、资源记录区域(包括回答区域、授权区域、附加区域)格式一样
4.1.域名(2字节或不定长) :它的格式和Queries区域的查询名字字段是样的。有一点不同就是,当报文中域名重复出现的时候,该字段使用2个字节的偏移指针来表示,
4.2查询类型:表明资源纪录的类型,
4.3查询类:对于Internet信息, 总是IN
4.4生存时间(TTL) :以秒为单位,表示的是资源记录的生命周期,一般用于当地址解析程序取出资源记录后决定保存及使用缓存数据的时间,它同时也可以表明该资源记录的稳定程度,极为稳定的信息会被分配个很大的值。
4.5.资源数据:该字段是一个可变长字段, 表示按照查询段的要求返回的相关资源记录的数据。可以是Address (表明查询报文想要的回应是一个IP地址) 或者CNAME (表明查询报文想要的回应是个规范主机名)等。
DNS不安全因素