了解 UDP 协议

导读:本篇文章讲解 了解 UDP 协议,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

        运输层协议除了TCP,还有大名鼎鼎的UDP。如果说TCP凭借他完善稳定的功能独树一帜,那UDP就是精简主义乱拳打死老师傅。

        UDP只实现了运输层最少的功能:进程间通信。对于应用层传下来的数据,UDP只是附加一个首部就直接交给网络层了。UDP的头部非常简单,只有三部分:

  • 源端口、目标端口:端口号用来区分主机的不同进程

  • 校验码:用于校验数据包在传输的过程中没有出现错误,例如某个1变成了0

  • 长度:报文的长度

所以UDP的功能也只有两个:校验数据报是否发生错误、区分不同的进程通信

但,TCP的功能虽然多,但同时也是要付出相对应的代价。例如面向连接的特性,在建立和断开连接的时候会有开销;拥塞控制的特性,会限制传输的上限等等。下面来罗列一下UDP的优缺点:

UDP的缺点

  • 无法保证消息完整、正确到达,UDP是一个不可靠的传输协议;

  • 缺少拥塞控制容易互相竞争资源导致网络系统瘫痪

UDP的优点

  • 效率更快;不需要建立连接以及拥塞控制

  • 连接更多的客户;没有连接状态,不需要为每个客户创建缓存等

  • 分组首部字节少,开销小;TCP首部固定首部是20字节,而UDP只有8字节;更小的首部意味着更大比例的数据部分

  • 在一些需要高效率允许可限度误差的场景下可以使用。如直播场景,并不需要保证每个数据包都完整到达,允许一定的丢包率,这个时候TCP的可靠特性反而成为了累赘;精简的UDP更高的效率是更加适合的选择

  • 可以进行广播;UDP并不是面向连接的,所以可以同时对多个进程进行发送报文

UDP适用场景

UDP适用于对传输模型需要应用层高度自定义、允许出现丢包、需要高效率的场景、需要广播;例如:

  • 视屏直播

  • DNS

  • RIP路由选择协议

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/74657.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!