写点什么

TCP 如何保证数据的可靠传输

用户头像
W🌥
关注
发布于: 2 小时前
  1. 应用数据被分割成 TCP 认为最适合发送的数据块。

  2. 序列号:TCP 给发送的每个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层。

  3. 校验和:TCP 保持它首部和数据的校验和。这是端到端的检验和,目的是检测数据在传输过程中有没有变化。若接收方收到的校验和有差错,TCP 将丢弃这个报文段并不进行此报文段的确认应答。

  4. TCP 的接收端会丢弃重复的数据。

  5. 确认应答(ACK):在 TCP 中,当发送端的数据达到接收方时,接收方会返回一个已收到消息的通知。这个消息就叫做确认应答。

  6. 超时重传:当 TCP 发出一个段后,启动一个计时器,等待接收方确认收到这个报文(即等待接收方的确认应答)。如果不能及时收到确认,将重发这个报文段。

  7. 流量控制:TCP 控制的每一方都有固定大小的缓冲空间,TCP 的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据时,能提示发送方降低发送的速度,以防止包丢失。TCP 利用滑动窗口来实现流量控制。

  8. 拥塞控制:当网络拥塞时,减少数据的发送。


拓展:流量控制和拥塞控制的区别?

拥塞控制是为了防止过多的数据注入到网络中,以防止网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提,就是网络能承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。(这也是为什么不能通过单纯的增加某个结点的网络资源来解决问题)

相反,流量控制往往是点对点通信量的控制,是个端到端的问题。流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接受。

发布于: 2 小时前阅读数: 4
用户头像

W🌥

关注

还未添加个人签名 2021.08.04 加入

还未添加个人简介

评论

发布
暂无评论
TCP如何保证数据的可靠传输