DNS为什么使用UDP

news/2024/5/18 16:37:26 标签: udp, 网络, tcp/ip

DNS是一个通常使用UDP的应用层协议的例子

当一台主机中的DNS应用程序想要进行一次查询时,它构造了一个 DNS查询报文并将其交给UDP。无须执行任何握手,主机端的UDP为此报文添加首部字段,然后将形成的报文段交给网络层。网络层将此UDP报文段封装进一个IP数据报中,然后将其发送给目的服务器。在查询主机中的DNS应用程序则等待对该查询的响应。如果它没有收到响应(可能是由于底层网络丢失了查询或响应),要么试图向另一个DNS服务器发送该查询,要么通知调用的应用程序它不能获得响应。

为什么应用开发人员宁愿在UDP之上构建应用,而不选择在TCP上构建应用?

原因主要以下几点 :
能够及时传递应用数据:采用UDP时,只要应用进程将数据传递UDP,UDP就会将此数据打包进 UDP报文段并立即将其传递给网络层。在另一方面,TCP有一个拥塞控制机制,以便当源和目的主机间的一条或多条链路变得极度拥塞时来遏制运输层TCP发送方。TCP仍将继续重新发送数据报文段直到目的主机收到此报文并加以确认,而不管可靠交付需要用多长时间。因为实时应用通常要求最小的发送速率,不希望过分地延迟报文段的传送,且能容忍一些数据丢失,TCP服务模型并不是特别适合这些应用的需要。

无需连接建立:TCP在开始数据传输之前要经过三次握手。UDP却不需要任何准备即可进行数据传输。因此UDP不会引入建立连接的时延。这可能是 DNS运行在 UDP之上而不是运行在TCP之上的主要原因(如果运行在TCP上,则 DNS会慢得多)。

无连接状态:TCP需要在端系统中维护连接状态。此连接状态包括接收和发送缓存、拥塞控制参数以及序号与确认号的参数。UDP不维护连接状态,也不跟踪这些参数。因此,专门用于某种应用的服务器当应用程序运行在UDP之上而不是运行在TCP上时,—般都能支持更多的活跃客户。

分组首部开销小:每个TCP报文段都有20字节的首部开销,而 UDP仅有8字节的开销。

在这里插入图片描述


http://www.niftyadmin.cn/n/1204437.html

相关文章

63.3. aliases

查找别名文件地址 # postconf alias_maps alias_maps hash:/etc/aliases增加别名 # vim /etc/aliasesneo: netkillermsn.comnewaliases - rebuild the data base for the mail aliases file 原文出处:Netkiller 系列 手札 本文作者:陈景峯 转载请与作者…

译:Linux 文件系统介绍

原文地址:https://opensource.com/life/1...原翻译地址:http://www.tony-yin.top/2017/... 本文旨在对Linux文件系统概念进行深层次的讨论。本文既不准备对某个特定类型的文件系统(比如ext4)进行基础性的描述,也不打算…

TCP的一些有趣情况和快重传

文章目录一、一些有趣的情况二、超时间隔加倍三、快速重传四、是回退N步还是选择重传一、一些有趣的情况 上图描述了第一种情况,主机A向主机B发送一个报文段。假设该报文段的序号是92,而且包含8字节数据。在发出该报文段之后,主机A等待一个来…

svn上传新项目

给了我一个内网svn地址:https://hsvn.xxxx.com/svn/AI/ios 使用Cornerstone客户端新建一个仓库,输入地址和账户密码后,点击add 添加。 报错如下: Description : URL https://xxxxxxhsvn.cttq.com/svn/AI/ios non-existent in revision 14710Suggestion : The operat…

图片压缩知识梳理(9) 选择合适的图片格式

一、概述 在这一整个关于图片压缩的知识梳理过程中,我们介绍了四种图片格式的基本原理、使用方式、优化方式,相信大家已经对他们有了一个基本的认识。 那么在实际的开发过程当中,我们应当如何选择合适的图片格式呢?Google提出了它…

计算机网络中协议、接口、服务的理解

1.实体:计算机网络中第n层中的活动元素称为n层实体。同一层的实体叫对等实体。2.协议:为网络中的对等实体数据交换而建立的规则、标准或约定(语法、语义、同步)称为网络协议。【水平】3.接口 :上层使用下层服务的入口。4.服务:下层为相邻上层提供的功能调…

cisco路由交换基本命令

Switch>用户模式 Switch>enable进入特权模式 Switch#特权模式 Switch#configureterminal进入配置模式 Switch(config)#hostname主机名 Switch(config)#enable password明文密码 Switch(config)#enabl…

链路层交换机及和路由器的比较

文章目录前言一、交换机转发和过滤二、帧来到交换机可能发生的情况三、自学习三、链路交换机的性质四、交换机和路由器比较前言 交换机的任务是接收入链路层帧并将它们转发到出链路;交换机自身对子网中的主机和路由器是透明的;这就是说,某主机/路由器向另一个主机/…