原文:TCP系列25—重传—15、DSACK虚假重传探测

一 DSACK介绍 RFC 通过指定使用SACK来指示接收端的重复包 duplicate packet 扩展了RFC 对SACK选项的定义 SACK选项的介绍和示例参考前面内容 。RFC 建议在收到重复报文的时候,SACK选项的第一个块 这个块也叫做DSACK块 可以用来传递触发这个ACK确认包的系列号,这个就是DSACK duplicate SACK 功能。这样允许TCP发送端根据SACK选项来 ...

2016-11-07 13:59 0 1554 推荐指数:

查看详情

TCP系列24—重传—14、F-RTO虚假重传探测

一、虚假重传 在一些情况下,TCP可能会在没有数据丢失的情况下初始化一个重传,这种重传就叫做虚假重传(Spurious retransmission)。发生虚假重传的原因可能是包传输中重排序、传输中发生包复制、ACK确认包传输中丢失等等。如果由于链路时延变化或者负载变化等因素导致RTT突然变大 ...

Mon Nov 07 21:58:00 CST 2016 0 2166
TCP系列11—重传—1、TCP重传概述

在最开始介绍TCP的时候,我们就介绍了TCP的三个特点,分别是面向连接、可靠、字节流式。前面内容我们已经介绍过了TCP的连接管理,接下来的这部分内容将会介绍与TCP可靠性强关联的TCP重传。 很多网络协议都提供了checksum或者CRC手段来检测收到的数据包是否 ...

Mon Nov 07 21:45:00 CST 2016 0 2661
TCP系列17—重传—7、SACK下的重传

我们之前介绍SACK选项的时候说过,SACK可以把接收端系列号空间的洞反映给发送端,因此发送端可以更充分的理解接收端的情况,而进行更好的重传恢复过程。这种过程有时候也叫做advanced loss recovery。 一、数据接收端SACK行为 我们通过一个 ...

Mon Nov 07 21:51:00 CST 2016 14 5937
TCP系列23—重传—13、RACK重传

一、RACK概述 RACK(Recent ACKnowledgment)是一种新的基于时间的丢包探测算法,RACK的目的是取代传统的基于dupthresh门限的各种快速重传及其变种。前面介绍的各种基于dup ACK的快速重传算法及其变种通过修改dupthresh门限等手段,有些可以迅速的探测到丢包 ...

Mon Nov 07 21:56:00 CST 2016 0 2368
TCP系列15重传—5、Linux中RTO的计算

之前我们介绍的都是协议中给出的RTO计算方法,下面我们看一下linux实现中RTO的计算方法。在linux中维护了srtt、mdev、mdev_max、rttvar、rtt_seq几个状态变量用来计算 ...

Mon Nov 07 21:50:00 CST 2016 1 1965
TCP系列45—拥塞控制—8、SACK关闭的拥塞撤销与虚假快速重传

一、概述 这篇文章介绍一下TCP从Recovery状态恢复到Open状态的时候cwnd的更新。我们在tcp重传部分的文章中曾经介绍过虚假重传的概念,Linux在探测虚假重传的时候就会执行拥塞撤销操作。所谓的拥塞撤销是指撤销虚假的快速重传或者RTO超时重传对拥塞窗口的影响。有多种方法可能会触发拥塞 ...

Mon Nov 07 22:30:00 CST 2016 0 1596
TCP系列16—重传—6、基础快速重传(Fast Retransmit)

一、快速重传介绍 按照TCP协议,RTO超时重传是一个非常重要的事件,当RTO超时的时候,TCP会同时通过两种方式非常谨慎的降低发送数据包的速率,一种是基于拥塞控制削减发送窗口的大小,另外一个是通过指数回退增加每次RTO超时的时间(即karn算法的第二部分)。所以RTO超时后有 ...

Mon Nov 07 21:51:00 CST 2016 0 6572
TCP系列19—重传—9、thin stream下的重传

一、介绍 当TCP连续大量的发送数据的时候,当出现丢包的时候可以有足够的dup ACK来触发快速重传。但是internet上还有大量的交互式服务,这类服务一般都是由小包组成,而且一次操作中需要传输的数据包一般比较少,比如在线游戏、股票交易等,这一类数据流我们就称呼为thin stream。在一次 ...

Mon Nov 07 21:53:00 CST 2016 0 1638
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM