📜  TCP 中的错误控制

📅  最后修改于: 2021-09-28 09:27:25             🧑  作者: Mango

先决条件 – TCP/IP 模型
TCP 协议具有查找损坏段、丢失段、乱序段和重复段的方法。
TCP 中的错误控制主要通过使用三种简单的技术来完成

  1. 校验和 –每个段都包含一个校验和字段,用于查找损坏的段。如果该段已损坏,则该段将被目标 TCP 丢弃并被视为丢失。
  2. 确认——TCP 有另一种称为确认的机制来确认数据段已经被传送。不包含数据但有序列号的控制段也将被确认,但不确认 ACK 段。
  3. 重传——当一个段丢失时,延迟传送到接收器,当它被接收器检查时损坏,然后该段被再次重传。段仅在两个事件期间重传:当发送方收到三个重复确认 (ACK) 或重传计时器到期时。
    1. RTO 后重传: TCP 始终为所有已发送但未确认的段保留一个重传超时 (RTO) 计时器。当定时器超时时,重传最早的段。这里没有为确认设置定时器。在 TCP 中,RTO 值本质上是动态的,它使用段的往返时间 (RTT) 进行更新。 RTT 是一个段到达接收方和接收到发送方确认所需的持续时间。
    2. 三个重复的 ACK 段后重传:当 RTO 值较小时,RTO 方法效果很好。如果它很大,则需要更多时间来确认某个段是否已交付。有时会丢失一个段,而接收方会收到很多乱序段,以至于无法保存。为了解决这种情况,采用了三种重复确认的方法,立即重传丢失的片段,而不是重传已经传递的片段。这是一种快速重传,因为它可以快速重传丢失的段,而不是等待计时器结束。