TCP加速(英语:TCP acceleration),是一系列的网上技术概称,套用于传输控制协定(TCP)中。在不修改终端应用程式的前提下,相较于一般标準的传输控制协定(TCP)连线,使用这些技术能够提供更佳的流量。
这些技术提供了在TCP最佳化之外的另一个可用方案,相关的方案包括了ACK包装(ACK pacing),TCP通透代理器(TCP transparent proxies)以及TCP卸载引擎(TCP offload engines)等。
基本介绍
- 中文名:TCP加速
- 外文名:TCP acceleration
- 包括:TCP透明代理及TCP 卸载引擎等
- 目前主流技术:双边TCP最佳化和单边TCP最佳化
技术简介
常见的TCP加速技术包括TCP透明代理及TCP 卸载引擎等。
透明代理
TCP透明代理的工作原理如下:
透明代理分别与TCP连线的两端分别进行互动,这样就把端到端的TCP控制分割成几部分,这样就可以根据这几部分的丢包、延时情况进行不同的最佳化,从而提高TCP的性能。
TCP加速器的核心思想就是採用透明代理的方式,将TCP一端的连线终结,然后重新发起一个连线到TCP的另外一端。这样,两端的数据包都被快取在两端的TCP加速器上,TCP加速器之间的数据传送由TCP加速器进行控制。
加速技术
目前主流的TCP加速技术主要包括双边TCP最佳化和单边TCP最佳化两种。
双边TCP加速
双边TCP最佳化,顾名思义,就是在TCP连线的两端部署硬体设备或安装软体,TCP透明代理工作在TCP连线的两端,代理了两端的连线,两个代理之间通常通过UDP或其它自定义协定进行工作。
在实际使用中,TCP协定的两端与软体或硬体设备在一个区域网路内,两个透明代理设备之间是广域网链路,通常具有一定的丢包、延迟,会造成TCP性能下降,所以在这两个透明代理之间,通常将协定转换为UDP协定或其它自定义协定,这些协定本身可以完全按照自己的要求进行控制,达到提高TCP性能的效果;同时,双边TCP加速还可以引入压缩、快取等技术进一步提高TCP性能。
双边TCP最佳化比较适用于公司具有多个分支机构的情况,在这种情况下,TCP连线的两端通常比较容易控制,可以较容易的安装硬体设备或软体客户端。
单边TCP加速
单边TCP加速意味着可以只在TCP的一端部署软体或设备,达到提升TCP性能的目标。
单边TCP加速的一个基本要求就是经过透明代理出去的协定必须是TCP协定(包括5元组和TCP的各种状态)。单边TCP加速的透明代理,在WAN一侧运行的应该是一个与标準TCP兼容、同时性能提高的TCP。绝大多数的单边TCP加速,都是在通过改进TCP的拥塞控制算法来进行TCP加速,例如TCP Vegas, CUBIC, FastTCP, Zeta-TCP等。
与双边TCP相比,单边TCP最佳化的适应性更广且更灵活。例如只要在伺服器端进行了TCP加速,所有访问此伺服器的客户端都会受益,并且不需要客户端安装任何软体或部署硬体设备。这样,就更加适用于伺服器的访问对象不固定的情况,例如某个伺服器是广大的网际网路用户来访问。
但是,单边TCP加速无法直接实现压缩、快取等功能,如果要实现这些功能,同样也需要双边部署。
商业化的TCP加速
1) AppEx Networks(北京华夏创新科技有限公司)的Zeta-TCP
2) FastSoft公司的FastTCP
3) Riverbed/BlueCoat,将TCP协定转换为自定义协定
4) QuickBI,将TCP协定转换为UDP协定,同时採用FEC
5)ServerSpeeder 锐速