多链路TCP加速解决方案1 TCP传输性能分析1.1 影响TCP传输性能因素众所周知,在TCP/IP协议族里传输层的基本协议有TCP和UDP。TCP传输协议作为基于流控的可靠传输协议,承载IP网络上的大量关键业务。TCP采用了基于包Ack机制保证数据的可靠传输,其传输数据速率量受到滑动窗口、拥塞窗口双重控制。滑动窗口控制用于协调收发两端的流量平衡,拥塞窗口控制用于控制TCP发端适应网络传输状况向网络注入的数据量。以下对受网络传输状况影响的拥塞窗口控制算法进行分析,对不同网络状况下网络丢包、拥塞和缓存对TCP传输性能的影响和消除方法。 1.2 TCP拥塞控制算法演进TCP协议而从其诞生后的半个世纪里其协议算法也一直在不断演进,TCP核心的拥塞控制算法从经典的Reno算法向BIC、CUBIC在不断演进,这些算法的核心思想是: l 响应网络拥塞情况、保证公平发包: 一旦检测到网络丢包事件,则主动缩小阻塞窗口大小,从而减少向网络注入的数据包速率,保证整个网络传输的良好工况。 l 适应网络状况变化保证最高性能: 检测到网络包能够顺利被对端接收,则不断提升阻塞窗口的大小,从而向网络注入更多的数据包,目的是完全使用到链路的最大传输能力。 这些基于被动反馈机制进行调控算法会受到其他很多环境干扰因素影响:长肥管道、传输出错丢包等影响,且调节算法参数非基于实际工况测量的静态设置,导致在很多情况下对实际传输带宽的利用率不高。 2016年Google公司推出全新的拥塞控制算法BBR(Bottleneck Bandwidth & Rating)。BBR一改传统的TCP拥塞控制算法基于丢包反馈、被动式、开放式的拥塞控制机制,采用一种基于带宽和延迟反馈的拥塞控制算法。BBR是典型的封闭反馈系统,发送多少报文和用多快的速度发送这些报文都是基于每次测量反馈中不断进行调节,从而能够更好适应网络状况的动态变化,减少因为拥塞算法导致丢包的网络丢包,提升TCP传输的网络带宽使用效率。BBR算法已被集成到Linux 4.9/Windows10以上版本,成为单端TCP加速的主流演进方向。 2 多链路TCP加速方案2.1 TCP在多链路上传输的挑战TCP传输采用端对端的流控机制,必须保证数据流中的每个包的有序接收,一旦某个包出现丢失或者失序到达,都会通过流控机制算法进行调整。在单个链路上TCP传输的丢包、失序可以通过拥塞控制算法进行较好调节,但如果将TCP数据流分发到多个不同物理链路上传输则会带来更多挑战因素: * 链路时延差别大:顺序发出的两个包会在接收端造成严重的失序情况出现,从而出现很大的缓存和等待时间; * 链路丢包率、网络缓存差别大:网络质量指标差的链路传输会联动影响质量指标好的链路传输效率,从而出现短板效应; * 缺少单独链路检测:如果传输过程中某个链路出现中断,而TCP端对端的丢包机制并不能检测到单个物理链路的连接状况,则可能造成持续性负反馈导致拥塞机制失效。 在以上几个挑战因素综合作用下,如果采用简单在多链路上分发IP包来进行TCP传输,很大可能不但不会提升TCP传输性能,而是多个链路相互影响,最终可能出现比采用某个链路单独传输的实际有效带宽更低的情况。 2.2 多链路融合TCP加速解决方案深圳市比速智网技术有限公司针对多链路叠加传输TCP业务的实际业务需求,自主研发智能网络IP设备上的多链路融合TCP加速功能,实现了以下技术突破: * 单独链路独立流控:每个链路实现基于网络实时工况的单独流控机制,保证单链路的有效传输带宽接接近极限; * 多链路协同分发:根据业务流量和单个链路的实时传输状况动态调整IP包在多链路上的分发策略,使得链路之间实现实时的传输互补和替代; * 自适应的重发机制:对TCP传统的超时重发和快速重发机制进行改进,使得在多链路情况下具有更好的可靠性和响应时间。 * TCP头压缩:独创的TCP头压缩技术,对于小包业务和低带宽链路上具有更高的传输性能。 2.3方案的优势* 真正的线性带宽叠加: 实现不同物理链路带宽的线性叠加,即使是物理技术指标相差很大的链路诸如卫星链路和4G叠加,叠加后的带宽也可以接近∑(BW1,BW2,…BWn)的效果。 * 透明升级的TCP加速: 现有各种单边TCP加速产品和TCP BBR算法的应用,均需要对操作系统和设备进行配置和升级,技术难度和成本难以估计。而采用超融合智能IP网络产品,无需任何软硬件升级改造就可以使现网所有设备和业务透明的提升到最高TCP传输效率。 * 不同网络工况的自适应性: 无论是在设备高速移动导致切换还是在网络质量不稳定持续抖动、网络连接时通时断的工作状况,多链路融合TCP加速功能都可以使基于TCP的数据传输能达到最优效率,从而为业务提供最佳连续性保证。
文章分类:
解决方案
|