前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >比较TCP与UDP

比较TCP与UDP

原创
作者头像
CodeSinger
发布2024-02-22 15:09:16
3410
发布2024-02-22 15:09:16
举报
文章被收录于专栏:计算机网络
简介
  1. TCP:TCP是面向连接、可靠的、基于字节流的传输层通讯协议。它提供了数据包的顺序传输、错误检测、流量控制和拥塞控制机制。
  2. UDP:UDP是无连接的、不可靠的、基于数据报的传输层通讯协议。不确保消息的顺序和可靠性,是一种更快速实时的传输协议。
TCP优于UDP的点:
  1. 可靠性 UDP不能保证数据的交付,而TCP有强壮的机制确保能将数据完全送达目的地(如:重传、数据校验、流量控制)。
  2. 有序性 UDP不能保证数据按发送的顺序到达目的地,而TCP可以通过序列号和确认号来确保数据的有效到达。(详见:TCP如何确保有序性)
  3. 拥塞控制 TCP具有UDP不具有的拥塞控制,可以提高网络吞吐量。
UDP优于TCP的点
  1. 速度(实时性) UDP通常要比TCP要更快,UDP没有数据校验和数据重传,它不需要保证数据的到达。因此也更适用宁愿丢包也不愿延迟的应用场景(如:直播、网游等)
  2. 更少的头部开销 TCP通常情况下拥有20字节的头部开销,因为它要维护确保可靠传输、拥塞控制的字段(如:序列号、确认号、窗口大小等)
TCP如何确保有序性

具体实现有序的过程如下:

  • 序列号:TCP发送数据包时,它会给数据包分配唯一的序列号,这个序列号按数据的字节顺序分配而不是数据包的顺序,这样即使数据包的大小不一,序列号也能反映出正确的顺序。
  • 确认号:当接收端接收一个数据包时,它会发送一个确认号给发送端。这个确认号包含接收端期望接收的下一个数据包序列号,如果发送端接收的确认号小于发送的最大序列号,则它就知道有数据包没有背接收,并重传该数据包。
  • 数据排序:接收端会缓存序列号不连续的数据包,直到接收到缺失的数据包,才一起打包送往应用。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • TCP优于UDP的点:
  • UDP优于TCP的点
  • TCP如何确保有序性
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档