UDP

UDP是user datagram protocol的缩写。

UDP是轻量级的协议,它仅仅只在网络层之上做了多路复用/分解和少量的差错校验。这是由于数据链路层并不一定提供差错检验,因此UDP提供了差错校验,但是它不恢复差错。

UDP不提供复杂的控制机制,它仅仅利用IP来提供面向无连接的通信服务。UDP也是一种无修饰的传输层协议。它将应用层的数据原封不动的发送出去。UDP会尽最大的可能去传输数据。UDP没有拥塞控制。

UDP协议会尽最大的可能将数据发送出去,但是不保证一定送达,并且它也不保证数据到达的顺序。也就是说,UDP是不可靠的协议,使用UDP的应用程序应当自行解决这个问题。UDP同时还是面向无连接的,也就是说,它不需要和通信的另一方建立连接,甚至通信的另一方存不存在,UDP都不关心。

UDP的首部开销非常小,只有8个字节。而且UDP是面向报文的,它只对应用层交给他的报文添加一个8字节的首部。然后就交给下一层。也就是说,它不对报文做任何的修改。无需拆分报文,当然也就无需合并下层交给他的报文。即:UDP一次发送一个报文。这就要求应用程序产生的报文大小要合理。综合上面的分析,可以看出UDP对应用软件的要求较高。

UDP首部的格式:

其中这个长度是首部和数据的总长度。

由于UDP是面向无连接的通信,它可以随时发生数据。因此常被用于以下这些方面:

  • 包总量较少的通信(DNS,SNMP)
  • 视频,音频等多媒体网络通信(即时通信)
  • 限定于LAN等特殊网络中的应用通信
  • 广播通信(广播,多播)

UDP编程示例

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Qt定时器(一)

    当然了这样的CLOCK肯定是一点都不准确的。因为QTimer是一个定时器,它不是获取系统时间的。要想显示准确的时间还是需要获取系统时间,使用QTime这是比较稳...

    zy010101
  • OpenCV中值滤波

    在数字图像处理常见的变换核及其用途中,已经说明了线性滤波。线性滤波是算术运算,有固定的模板,即:变换核。

    zy010101
  • VHDL实现分频器

    版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.ne...

    zy010101
  • udp端口大全(1-60000)

    有时候我们在修改端口的时候总是记不清端口号及其对应的服务,在用iis7服务器监控工具的时候,便可以使用下面的表格来查询具体端口及其对应的服务,方便快捷。下面是按...

    it妹
  • 告知你不为人知的 UDP:疑难杂症和使用

    本文承接《告知你不为人知的UDP:连接性和负载均衡》文章的下文,本文主要从UDP疑难杂症、UDP协议与TCP协议高效性的对比以及UDPd的使用场合这三个方面描述...

    小时光
  • 【RL-TCPnet网络教程】第16章 UDP用户数据报协议基础知识

    本章节为大家讲解UDP(User Datagram Protocol,用户数据报协议),需要大家对UDP有个基础的认识,方便后面章节UDP实战操作。

    armfly
  • 防御各种DDoS反射的方法

    用户1113236
  • 告知你不为人知的 UDP:连接性和负载均衡

    说起网络 socket,大家自然会想到 TCP ,用的最多也是 TCP,UDP 在大家的印象中是作为 TCP 的补充而存在,是无连接、不可靠、无序、无流量控制的...

    小时光
  • udp协议-看这篇就够了

    用户数据报协议 UDP 只在 IP 的数据报服务之上增加了很少一点的功能,这就是复用和分用的功能以及查错检测的功能

    ColinLiu
  • WEB性能–UDP

    1980年8月,紧随TCP/IP之后,UDP(User Datagram Protocol,用户数据报协议)被加入了核心网络协议套件。UDP的主要功能和亮点并不...

    从入门到进错门

扫码关注云+社区

领取腾讯云代金券