首页 > 编程知识 正文

udp是不是传输层协议,传输层协议除了tcp和udp

时间:2023-05-04 06:04:56 阅读:266575 作者:179

用户数据报协议(User Data Protocol,UDP)的特点为:

简单轻量级不可靠面向数据报无连接传输层协议

UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。UDP报文没有可靠性保证顺序保证流量控制字段等,可靠性较差。但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如短消息、广播信息等。
1,UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包而言UDP的额外开销很小。头部开销小,传输数据报文时是很高效的。
吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。
2,UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。
3,UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
4, 有单播,多播,广播的功能
UDP 不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说 UDP 提供了单播,多播,广播的功能。
5,不可靠性:
首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。
并且收到什么数据就传递什么数据,并且也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据了。再者网络环境时好时坏,但是 UDP 因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如电话会议)就需要使用 UDP 而不是 TCP。

适合应用的情况有以下几种:

网络数据大多为短消息。拥有大量客户端。对数据安全性无特殊要求。网络负担非常重,但对响应速度要求高。

常用的聊天工具QQ就是使用UDP发送消息的。
UDP客户端向UDP服务器发送一定长度的请求报文,报文的大小限制于各系统的协议的实现有关,但不得超过其下层IP规定的64KB;UDP服务器同样以报文形式做出响应,如果服务器未收到 此请求,客户端不会进行重发,因此报文的传输是不可靠的。


UDP只会把想发的数据报文一股脑的丢给对方,并不在意数据有无安全完整到达。
在UDP方式下,客户端并不与服务器建立连接,它只负责调用发送函数向服务器发出数据报。类似地,服务器也不从客户端接收连接,只负责调用接收函数,等待来自某客户端的数据到达。

链接: TCP和UDP的区别.
链接: 一文搞懂TCP与UDP的区别.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。