1. TCP重传机制

TCP协议是一个可靠的协议。发送方每次发送一个数据包,需要等到ACK确认包再继续发送。

发出去的请求包在规定时间内没有收到ACK,不管是请求包丢失,还是ACK包丢失,还是网络延迟,这里都是需要有个重传机制。重传机制是保障通信链路可靠性的重要方式之一。

TCP的重传机制有两种:超时重传和快速重传。

- 超时重传 (主动重传)

  在请求包发出去的时候,开启一个计时器,当计时器达到时间之后,没有收到ACK,就进行重发操作,直到达到重发上限次数或者收到ACK。

- 快速重传 (请求重传)

  还有一种机制就是快速重传,当接收方收到的数据包是不正常的序列号,那么接收方会ACK一次期望的序号,以此提醒对方重传。当发送方收到连续3条的同一个序列号的ACK(重复确认 Dup Ack),就意识到这个包丢了,从而立即重传它。

TCP使用滑动窗口来管理基本数据收发过程,同时确保数据流的有效及可靠传输,从而不致发送速率明显快于接收速率。

2. TCP重传机制的借鉴和应用

安全接入网关项目在进行数据转发过程中,为了保障可靠性,报文传输上借鉴了TCP的重传机制。也包含了超时主动重传和丢包重传。在具体实现上有所差异。

最新文章

  1. comparator接口与compare方法的实现
  2. Crystal Reports 2008(水晶报表) 启动时检查更新
  3. K Best(最大化平均数)_二分搜索
  4. Oracle基础 (十二)数学函数
  5. 基于visual Studio2013解决C语言竞赛题之1078打印日历
  6. 在Linux使用GCC编译C语言共享库
  7. 数据库DQL操作(重点)
  8. 【框架学习与探究之定时器--Hangfire】
  9. 由于DG Broker的配置导致RAC某实例无法mount
  10. JVM内存管理概述与android内存泄露分析
  11. Mysql-表的完整性约束
  12. 1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(来看一下怎么样监听网络数据,监听电脑上位机软件的数据)
  13. 51nod 1016 水仙花数
  14. 《CSS世界》读书笔记(十四)
  15. 【codeforces 242E】XOR on Segment
  16. SQL Server - 约束 CONSTRAINT
  17. ASP.NET machineKey的作用和使用方法
  18. Intellij IDEA junit 使用之org.junit不存在
  19. .NET 基础知识
  20. 关于java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap的错误解决办法

热门文章

  1. iOS开发系列-UIImageView的contentMode
  2. 【转】Windows(server2008)下使用VisualSVN Server搭建SVN服务器
  3. Leetcode241.Different Ways to Add Parentheses为运算表达式设计优先级
  4. php 查看linux服务器的磁盘使用情况
  5. hibernate的核心思想
  6. Redis中取出值,转成对象
  7. 0916CSP-S模拟测试赛后总结
  8. 微信小程序——单选项
  9. Http学习(三)
  10. day18_文件处理_迭代器_生成器