应用层协议DNS

1.DNS是怎么工作的

  首先我们可以很简单的理解DNS协议,它就是一个将域名与ip地址进行双向转换的协议,而消息类型只有查询和回应2种类型。那客户端查询域名,是要请求谁呢?答案是域名服务器,现在域名服务器分为以下4类,按照层次从上往下:

根域名服务器:最高层次最重要的域名服务器,它知道所有的顶级域名服务器的域名和ip地址,一般请求根域名服务器返回的是要请求的顶级域名服务器的ip地址。我们常常听说的13个域名服务器指的就是它,但根域名服务器绝不是由仅仅的13台服务器组成,而是一个域名服务器由多个主机组成,它们有相同的ip。现在基本上普通域名服务器都能就近找到一台根域名服务器,当本地域名服务器请求根域名服务器时,路由器就能找到离这个本地域名服务器最近的一个根域名服务器。

顶级域名服务器:它负责该顶级域名中所有注册的二级域名。比如.com顶级域名服务器里就存放了所有xxx.com域名和ip地址映射表。

权限域名服务器:这类服务器负责某一特定域名的域名解析,很多公司都有权限域名服务。比如腾讯有它的权限域名服务器,里面存储了腾讯域名和ip地址的映射关系。同时权限域名服务器也充当了本地域名服务器的角色,你可以将你的域名注册到腾讯的域名服务器中。

本地域名服务器:这台服务器的ip地址就是我们电脑里配置的dns,本地域名服务器一般离用户是比较近的,当本地主机无法解析域名就会给本地域名服务器发送请求。

现在知道请求的是域名服务器了,也知道了一共有哪几类域名服务器,接下来我画了张图来描述整个dns请求的流程,整个过程采用迭代查询。注意权限域名服务器一般是不会采用递归查询的,它会直接返回ip地址让请求着再去访问这个ip。

2.DNS数据格式

  dns固定首部为12字节,如下图所示。当请求本地域名服务器如果它已经缓存了这个域名所对应的ip地址,那么这个答案将会被标记为非权威的,只有权限域名服务器返回的数据包才会将这个包标记为权威的,这对应着固定首部中的权威答案数据。后2张表格是dns首部中的标志位数据和rCode的数据。随着dns的发展标志中的16位功能已经有点不够用了,因此现在有很多dns服务器运行EDNS(扩展DNS),原来回应数据如果超过512字节将会被丢弃进而可以转为tcp连接,EDNS则可以支持超过512字节的大数据包回应。

QR 1位 查询时这位为0,回应则为1
Opcode 4位 定义查询或回应的类型,值为0表示是一个标准的查询/回应
AA 1位 在回应数据包中使用,值为1表示回应是一个权威回应。
TC 1位 当回应大于512字节时此标志位置1,最终数据长度会被删减为512字节,此时客户端可采用tcp来询问
RD 1位 客户端使用递归时此位会置1
RA 1位 只在回应数据包中设置,当为1时表示可采用递归回应
保留位 3位 全都设置为0
rCode 4位 仅在回应消息中有用,表示返回类型
rCode 错误类型
0 没有错误
1 格式错误
2 名称服务器错误
3 域参照错误
4 不支持的查询类型
5 不允许的动作
时间: 2024-08-02 11:59:15

应用层协议DNS的相关文章

传输层协议、应用层协议

传输层协议.应用层协议一.传输层协议1.传输层概述(1)传输层的作用IP层提供点到点的连接传输层提供端到端的连接(2)传输层的协议TCP(Transmission Control Protocol)传输控制协议可靠的.面向连接的协议:传输效率低UDP(User Datagram Protocol)用户数据报协议不可靠的.无连接的服务传输效率高2.TCP协议 (可靠地) 0 -- 1023 为常用端口号,已经被占用了,自定义端口号选1024以上,最大值是65535.(1)TCP 的封装格式 (2)

涨知识-VI 基于TCP/UDP的应用层协议

基于TCP/UDP的应用层协议: 基于TCP: Telnet(Teletype over the Network, 网络电传),通过一个终端(terminal)登陆到网络 FTP(File Transfer Protocol 文件传输协议) SMTP(Simple Mail Transfer Protocol 简单邮件传输协议),用来发送电子邮件 POP3(Post Office Protocol 3)邮件读取协议,协议通常被用来接受电子邮件 HTTP HTTPS 基于UDP: NFS(net

170325 第六章应用层 域名系统 DNS

应用层协议的特点: (1)每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的.应用层的具体内容就是规定应用进程在通信时所遵循的协议. (2)应用层的许多协议都是基于客户服务器方式.客户(client)和服务器(server)都是指通信中所涉及的两个应用进程.客户服务器方式所描述的是进程之间服务和被服务的关系.客户是服务请求方,服务器是服务提供方. 一.域名系统 DNS 1.1 域名系统概述 (1)主机接收到数据后,通过端口号

TCP-IP之应用层协议

应用层协议是多种多样的,比如 DNS.FTP.Telnet.SMTP.HTTP.RIP.NFS 一.DNS DNS (Domain Name Service 域名服务) 协议基于 UDP,使用端口号 53. 由数字组成的 IP 地址很难记忆,所以我们上网使用网站 IP 地址的别名--域名.实际使用中,域名与 IP 地址是对应的,这种对应关系保存在DNS 服务器之中. 在浏览器中输入一个域名后,会有 DNS 服务器将域名解析为对应的 IP 地址.注意这和网络层的 ARP 协议的不同之处:DNS 提

实验:应用层协议 学习笔记

应用层协议 在传输层之上,便是应用层.传输层的UDP报文和TCP报文段的数据部分就是应用层交付的数据. 不同类型的网络应用有不同的通信规则,因此应用层协议是多种多样的,比如DNS.FTP.Telnet.SMTP.HTTP.RIP.NFS等协议都是用于解决其各自的一类问题. 本节实验,介绍DNS.FTP.HTTP三个常用的应用层协议. 一.DNS DNS (Domain Name Service 域名服务) 协议基于UDP,使用端口号53. 由数字组成的IP地址很难记忆,所以我们上网使用网站IP地

第二次实验:Packet tracer分析应用层协议

姓名:蔡兵 学号:201821121119 班级:计算1814 1 实验目的 熟练使用Packet Tracer工具.分析抓到的应用层协议数据包,深入理解应用层协议,包括语法.语义.时序. 2 实验内容 使用Packet Tracer,配置网络参数,抓取应用层协议的数据包并分析,协议包含DNS.FTP, DHCP, stmp, pop3. 步骤包含: 建立网络拓扑结构 配置参数 抓包 分析数据包 3. 实验报告 3.1 DNS 3.1.1 建立网络拓扑结构: 3.1.2 配置参数: PC端IP设

二次实验报告:使用Packet Tracer分析应用层协议

个人信息 郑兰艳 201821121064 计算1813 1 实验目的 熟练使用Packet Tracer工具.分析抓到的应用层协议数据包,深入理解应用层协议,包括语法.语义.时序. 2 实验内容 使用Packet Tracer,正确配置网络参数,抓取应用层协议的数据包并分析,协议包含DNS.FTP, DHCP, stmp, pop3.步骤包含: 建立网络拓扑结构 配置参数 抓包 分析数据包 3. 实验报告 (1)建立网络拓扑结构 说明:将一台PC主机与一台服务器连接在一起,建立网络拓扑结构 3

TCP/IP 7 应用层协议

第8章 应用层协议 8.1 TCP/IP应用层协议主要是指OSI参考模型中的第5层.第6层.第7层上半部分的协议.(会话层,表示层,应用层) 应用层协议定义: 利用网络的应用程序有很多,包括web浏览器.电子邮件.远程登陆.文件传输.网络管理等.能够让这些应用进行特定通信处理的正是应用协议. TCP和IP等下层协议是不依赖于上层应用类型.适用性非常广的协议.而应用协议则是为了实现某种应用而设计和创造的协议. 应用协议与协议的分层: 应用可以直接享用传输层以下的基础部分.因为开发者只要关心选用哪种

应用层协议及ip地址划分

1.应用层协议 2.ip地址 3.子网划分及超网合并