论文部分内容阅读
传输控制协议(Transmission Control Protocol,TCP)的拥塞控制机制旨在充分利用带宽资源的同时,避免网络陷入严重的拥塞。但最近的研究发现,TCP拥塞控制在一些网络场景中暴露出了诸多设计缺陷,严重影响了网络的通信性能。研究并修正这些缺陷,对于网络的未来发展具有十分重要的意义。本论文以低速率拒绝服务攻击,数据中心“多对一”数据传输,和高带宽延迟积网络等网络场景为例,对TCP拥塞控制存在的缺陷进行了多角度的建模分析,并深入研究了这些缺陷的修正方案。具体而言,本论文的主要工作和创新点包括:第一,通过建立TCP吞吐量模型,研究并修正了低速率拒绝服务攻击(Low-rate Denial of Service attack,LDoS)下TCP拥塞控制算法的缺陷。拒绝服务攻击(DoS)正严重威胁着Internet的安全,而LDoS是DoS攻击的典型代表。这种新型DoS通过周期性地发送攻击报文来迫使TCP不断超时重传,仅需极低的平均攻击速率(相对于洪泛式DoS攻击)便可显著降低TCP吞吐量。本文建立了给定网络环境及LDoS攻击配置下的TCP吞吐量模型。该模型首次揭示了慢启动的安全性缺陷,即TCP在慢启动结束时的拥塞窗口很大,但在整个慢启动阶段的平均吞吐量却较低。这意味着,攻击者在慢启动结束后发动攻击,只需少量攻击报文便能令网络拥塞并迫使TCP超时,而同时TCP的吞吐量会很低。受此启发,本文设计了一个新的攻击策略NewShrew,并通过仿真证实该策略比现有LDoS的速率更低且效率更高。另一方面,TCP吞吐量模型指出LDoS攻击速率与链路缓存大小呈正相关。本文据此提出一个LDoS防御方案来修正TCP的安全性缺陷。该防御方案在受到LDoS攻击时动态增加链路缓存大小,迫使攻击者提高攻击速率,并避免合法TCP因丢包过多而超时,从而大幅提高TCP吞吐量。仿真表明,该方案可以将TCP在LDoS下的吞吐量提高260%以上。第二,通过建立TCP Incast现象发生率模型,研究并修正了数据中心网络“多对一”通信场景中TCP超时重传算法的缺陷。数据中心网络常见一类“多对一”的通信场景,即多个服务器同时通过TCP向一个收方应用发送数据。随着并行服务器的增多,TCP连接会经历多次超时重传,而这些连接整体的吞吐量也因此骤降至理想值的十分之一以下,此即所谓的TCP Incast现象。本论文的Incast发生率模型定量地描述了TCP连接参数以及数据中心网络环境对Incast发生率的影响,揭示了TCP超时重传在数据中心“多对一”通信模式下的缺陷,即Incast发生率与超时重传概率呈正相关,而后者又与并行连接发送窗口的方差以及并行连接的数量呈正相关。为了克服TCP的这一缺陷,本文提出了一个基于创新的“滑动连接窗口”机制的Incast修正方案:AICC。该方案通过在收方应用层配置TCP通告窗口(advised window)来约束并行连接发送窗口的方差,并自适应地调节滑动连接窗口以合理地控制并行连接的数量。仿真表明,即使是处于动态的网络环境(多个瓶颈链路且存在背景流量),AICC也能够避免Incast的发生并使TCP保持较高的吞吐量。第三,通过建立拥塞程度反馈与拥塞控制系统模型,设计了一个基于高精度拥塞程度反馈的拥塞控制协议(ECDN-ACC),修正了TCP拥塞避免算法在高带宽延迟积网络中的缺陷。通信技术的飞速发展使得网络带宽与延迟的范围都不断增加,最终形成了高带宽延迟积网络。在这种网络中,TCP拥塞避免算法暴露出了低带宽利用率、不公平、不稳定的缺陷。拥塞避免仅凭丢包与否来粗略地推断网络是否拥塞,因此其窗口调节是粗粒度的,难以适应高带宽延迟积网络中复杂多变的拥塞状况。要从根本上解决这一缺陷,需要向发送端反馈高精度的拥塞程度信息以支持细粒度的窗口调节。根据这一思路,本文设计了一个基于高精度拥塞程度反馈的拥塞控制协议ECDN-ACC。在该协议中,网络借助IP identifier域的随机性将拥塞程度的滑动平均值编码于ECN域中并反馈给发送端,后者再根据拥塞程度来精确、适应性地调节发送窗口。本论文从统计学的角度证明了ECDN-ACC拥塞反馈的准确性,并从控制论的角度证明了ECDN-ACC窗口调节的稳定性。仿真表明,比起现有的拥塞控制协议,ECDN-ACC可以在绝大多数场景中达成更高的带宽利用率,更低的队列长度和流完成时间,并保持良好的公平性。本论文尝试通过建立模型来分析TCP拥塞控制在三大网络场景中的缺陷并寻找解决方案。这些结论有助于缓解TCP造成的各种问题,如安全性、低带宽利用率和公平性等,为当前网络的演进和下一代Internet的设计提供科学的参考。