前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TCP,UDP 协议区别及 TCP 协议是如何保证传输可靠的

TCP,UDP 协议区别及 TCP 协议是如何保证传输可靠的

作者头像
happyJared
发布2019-06-22 14:23:52
1.2K0
发布2019-06-22 14:23:52
举报
文章被收录于专栏:happyJaredhappyJared
TCP,UDP 协议区别

UDP: 传送数据前不需要先建立连接,远地主机在收到 UDP 报文后,也不需要给出任何确认。虽然 UDP 不保证可靠的交付,但在某些情况下,UDP 确实是一种高效的通信方式,如:IM、语音、视频、直播等;

TCP: 提供面向连接的服务。传送数据之前,必须先建立连接,数据传输结束之后,还要释放连接。 TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的传输服务(TCP 的可靠体现在传递数据之前,要经过三次握手来建立连接,而且在数据通信过程中,有确认、窗口、重传、拥塞控制等机制,在数据传完之后,还会断开连接用来节省系统资源),这些都难免增加了许多额外的开销。TCP 一般用于文件发送传输、接收邮件、远程登录等要求可靠的场景。

TCP 协议如何保证可靠传输
  1. 应用数据被分割成 TCP 最认为适合发送的数据块大小;
  2. TCP 给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层;
  3. 校验和: TCP 将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP 将丢弃这个报文段和不确认收到此报文段;
  4. TCP 的接收端会丢弃重复的数据;
  5. 流量控制: TCP 连接的每一方都有固定大小的缓冲空间,TCP 接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据时,能提示发送方降低发送的速率,防止包丢失。TCP 使用的流量控制协议是可变大小的滑动窗口协议 ( TCP 利用滑动窗口实现流量控制);
  6. 拥塞控制: 当网络拥塞时,减少数据的发送;
  7. ARQ 协议: 也是为了实现可靠传输的,它的基本原理就是每发完一个分组就停止发送,并等待对方确认,在收到确认之后,再发下一个分组;
  8. 超时重传: 当 TCP 发出一个段后,会启动一个定时器,等待目的端确认收到这个报文段,如果不能及时收到这个确认,那么将重发这个报文段。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.06.22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

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