複合TCP(英语:Compound TCP,简称CTCP)是微软自Windows Vista及Window Server 2008开始在TCP栈中引入的一个算法。它旨在积极调整传送方的拥塞视窗,以在不损害公平原则的基础上(HSTCP同样遵循)最佳化TCP对高频宽时延积连线的表现。该方案还可在Linux、Windows XP以及Windows Server 2003上使用。
基本介绍
- 中文名:複合TCP
- 外文名:Compound TCP
简介
複合TCP(英语:Compound TCP,简称CTCP)是微软自Windows Vista及Window Server 2008开始在TCP栈中引入的一个算法。它旨在积极调整传送方的拥塞视窗,以在不损害公平原则的基础上(HSTCP同样遵循)最佳化TCP对高频宽时延积连线的表现。该方案还可在Linux、Windows XP以及Windows Server 2003上使用。
操作原理
类似FAST TCP和TCP Vegas,複合TCP採用估算排队延迟来度量拥塞;如果排队延迟小,则假设链路上没有拥塞,并迅速增加其速率。但不同于FAST和Vegas,它不追求维护恆定数量的数据包伫列。
覆核TCP维护两个拥塞视窗:一个常规的AIMD视窗,以及一个基于延迟的视窗。最终实际使用的滑动视窗大小是这两个视窗的和。AIMD视窗与TCP Reno的增加方式相同。如果延迟小,基于延迟的视窗将迅速增加以提高网路的利用率。一旦经历了排队,延迟视窗将逐渐减小以补偿增加的AIMD视窗。这样的目的是保持两者的总和大致恆定,使算法估计频宽时延积的路径。具体来说,当检测到排队时,基于时延的视窗因估计的伫列大小而减少,以避免FAST和Vegas报告的“持续拥塞”。因此,不同于TCP-Illinois及其前身TCP Africa,複合TCP可以减少其视窗以避免回响延迟。这增加了它对于Reno的公平性。
参见
- TCP拥塞避免算法
- 显式拥塞通知
- 传输控制协定(TCP) - 发展过程