我们认识到在收到一个失序的报文段时,TCP立即需要产生一个ACK(一个重复的ACK)。这个重复的ACK不应该被迟延。该重复的ACK的目的在于让对方知道收到一个失序的报文段,并告诉对方自己希望收到的序号。

我们不知道一个重复的ACK是有一个丢失的报文段引起的,还是由于仅仅出现了几个报文段的重新排序,因此我们等待少量重复的ACK到来。假如这只是一些报文段的重新排序,则在重新排序的报文段被处理并产生一个新的ACK之前,只可能产生1~2个重复的ACK。如果一连串收到3个或者3个以上的重复ACK,就非常可能是一个报文段的丢失了。于是我们就重传丢失的数据报文段,而无需等待超时定时器的溢出。这就是快速重传算法。接下来执行的不是慢启动算法而是拥塞避免算法。这就是快速恢复算法。

快速重传与快速恢复算法相关推荐

  1. TCP-IP详解:快速重传与快速恢复

    快速重传算法 快速重传算法在之前的文章中有介绍,如果收到一个out-of-order的报文段时, TCP需要立刻产生一个ACK,这个ACK不应该被延时,目的在于让对方知道收到一个失序的报文,并告诉对方 ...

  2. TCP的拥塞避免、超时重传、快速重传、快速恢复

    转自:http://blog.csdn.net/itmacar/article/details/12278769 感谢博主的辛勤成果! 为了防止网络的拥塞现象,TCP提出了一系列的拥塞控制机制.最初由 ...

  3. 传输层 TCP 拥塞控制(3):快速重传与快速恢复

    当出现丢包的时候,我们将重新执行慢启动,此时意味着拥塞窗口大幅度下降发送速率也会大幅度下降,当丢包场景并不是很严重的时候,我们还可以采用快速重传,与快速恢复这样一个阶段. 为何会接收到一个失序数据段? ...

  4. 【RFC6582 TCP快速恢复算法的NewReno修改】(翻译)

    原文 https://datatracker.ietf.org/doc/html/rfc6582  The NewReno Modification to TCP's Fast Recovery Al ...

  5. TCP的拥塞控制--慢启动,拥塞避免,快重传,快速恢复

    拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象.这种现象跟公路网中经常所见的 ...

  6. TCP-F(orward)ACK:植入快速重传灵魂的强制快速重传

    纸上学来终学浅,绝知此事要躬行. 今日和友人争辩快速重传,只拿着书本上的东西和人对飙近20分钟,还自认为略有取胜,真是汗颜加羞愧. 中文版计算机网络,书上还写着接收到3次重复ACK启用快速重传.TCP ...

  7. TCP快速重传为什么是三次冗余ack,这个三次是怎么定下来的?

    先理解ACK的基本工作原理,当发送端发送第N-1个包后,接收端答复的ACK序列号实际上跟发送端发送下一个包,也就是第N个包的序列号一致. 假设有个主机ISN是5000,发送500字节报文至接收方.一旦 ...

  8. 【计算机网络】传输层 : TCP 可靠传输 ( 可靠传输机制 | 快速重传机制 )

    文章目录 一.TCP 可靠传输 二.TCP 可靠传输机制 三.TCP 快速重传 机制 一.TCP 可靠传输 可靠性 : 保证 接收方进程 从 TCP 缓冲区 中读取的数据 与 发送方进程 发送的数据 ...

  9. TCP快速重传为什么是三次冗余ack

    先理解ACK的基本工作原理,当发送端发送第N-1个包后,接收端答复的ACK序列号实际上跟发送端发送下一个包,也就是第N个包的序列号一致. 重复ACK是指在接收方收到乱序报文时,所发出的一类TCP报文. ...

最新文章

  1. 仪表指针样式_PS教程!教你绘制拟物仪表盘拟物图标
  2. opencv python cv2.imdecode()函数报错 :TypeError: Expected cv::UMat for argument 'buf'
  3. Vivado无法双击打开xpr工程文件的解决办法
  4. armadillo 使用注意 越界不报错
  5. java ==和===_java中==和equals的区别详解
  6. Systemd 入门教程之命令篇
  7. pc显示器分辨率 前端_明基透露索尼PS5可提供1440p分辨率选项
  8. 做生意失败是一种什么体验?创业中有哪些雷区需要注意?
  9. 一个嵌入Flash的Gadget小程序
  10. 190524每日一句
  11. python 克里金空间插值_C#教程之空间插值——克里金插值
  12. 深入了解Spring IoC
  13. 运维工程师遇到的运维事件_运维、运维工程师的相关知识随记
  14. 中职教计算机专业发展,论职业教育计算机专业教学怎样适应社会的发展需求
  15. 嵌入式设备查看系统的版本、编译时间、架构等信息(uname命令)
  16. 名帖148 行书《兰亭八柱帖》第六册:于敏中补戏鸿堂刻柳公权书兰亭诗阙笔册
  17. 正当防卫裁判要旨16条
  18. Windows下如何启动Redis服务?
  19. 1069 微博转发抽奖 (20分)
  20. oppo 手机侧滑快捷菜单_OPPO又搞什么鬼?离奇上弹、侧滑第二屏!

热门文章

  1. 作为一名成年人的程序员,没必要刻意去交朋友
  2. 阿里云大数据工程师分享:这是最全的大数据学习路线!
  3. 明渠流量计用于农田灌溉水计量
  4. 企业在进行新闻营销时如何才能打造爆点?
  5. 【寻找巧妙性质-双指针】 AtCoder - arc098_b Xor Sum 2
  6. python 3 | doc转docx
  7. 微信服务器数据库文件在哪个文件夹,数据库文件
  8. 【动态 | 哈希未来获得节点资本战略投资】
  9. Redis6入门到实战------思维导图+章节目录
  10. Vuex的作用、使用、核心概念(State、Mutations、Getters、Actions、Modules)、文件抽离