论文部分内容阅读
最初为普通有线网络设计的TCP协议,目前已经成为了使用最广泛的传输协议。然而随着网络技术的飞速发展,TCP基于丢包的拥塞检测机制以及基于重传的丢包恢复机制均面临着巨大挑战。例如在无线网络中,不仅存在拥塞丢包,还存在大量的随机无线丢包。由于TCP将一切丢包当作拥塞标志而过度降低数据发送速率,导致吞吐量大幅下降。基于网络编码的TCP(以下简称“网络编码TCP”)作为传输层前向纠错技术被提出,用以加速网络传输并提升服务质量。其核心思想是将多个TCP包编码融合成一个数据包,当收到足够多的数据包时,原始TCP包即可解码还原,而无需查找具体丢失的TCP包。因此它可以实现零时延的TCP丢包恢复,提升网络吞吐量并降低传输时延。目前网络编码TCP在学术界和产业界均受到广泛的关注,不仅在无线网络环境中取得较好效果,而且在高性能的云数据中心网络中单径和多径TCP传输上都有重要的研究和应用。 虽然网络编码对TCP性能优化具有良好的技术优势和应用潜力,但是现有的网络编码TCP技术仍有不足之处。由于网络环境和特征的不同,现有网络编码TCP的具体表现也有所不同。在无线网络环境中,网络编码TCP技术所带来的编解码时延开销成为了某些重要应用(如移动视频业务)数据实时传输的瓶颈问题。为了解决这个问题,现有的网络编码通过合理地控制编码窗口大小来选择每次参与编码的原始包数目。然而,此类技术通常采用一个预设的固定编码冗余,难以适应实时变化的无线丢包率。在云数据中心网络的单径TCP场景中,网络存在随机动态的热点拥塞问题。现有网络编码方案将拥塞窗口中的TCP包额外地生成一个随机线性编码包发出,可以在一个拥塞窗口中以零时延恢复单个TCP丢包,而没有丢包检测时延和重传时延。但是该方案仍面临两个重要问题:首先,它不能适应在一个窗口中多于一个包丢失的情况;其次,其编码冗余是固定的,无法灵活地适应数据中心网络中高度动态的拥塞状态。在云数据中心网络的多径TCP场景中,目前多径传输协议的重要挑战在于如何解决异步丢包问题。现有网络编码方案在单个子流中引入网络编码,应用系统编码策略来优化数据包在接收端的重排序时延,并采用喷泉码技术来减轻异步丢包带来的乱序问题。但是,该方案由于仅采用单一编码流,不能灵活适应不同路径状态,同时由于嵌入编码包比例较高,导致编解码开销较大。综上可以看出,有必要针对不同网络应用场景下的网络编码TCP性能进行优化,从而适应不同的网络特征,进一步提升TCP的传输性能。 本文对基于网络编码的TCP性能优化技术进行了深入研究,基于现有网络编码TCP的基本原理和框架,重点研究了不同网络应用场景下网络编码TCP的性能优化关键技术,取得了如下研究成果: (1)在无线网络中,设计了基于完全网络编码的实时网络编码方案TCP-FNC。 针对无线网络TCP实时传输的动态丢包问题,本文提出了实时网络编码方案TCP-FNC。在TCP-FNC发送端,本文设计了主动补偿和被动补偿相结合的网络编码包调度方案以降低解码矩阵满秩的等待时延,减轻随机丢包带来的网络性能下降问题。在TCP-FNC接收端,本文设计了针对滑动编码窗口方案的解码算法,将解码复杂度从传统高斯消元算法的O(n2)降低到O(n),实现了低时延实时解码和良好的可扩展性。TCP-FNC拥有良好的兼容性,既适用于基于丢包优化的TCP变种,也适用于基于时延优化的TCP变种。NS2大规模仿真显示,与现有方案TCP-NC相比,TCP-FNC能有效提升网络传输时延性能和吞吐量达33%。 (2)在云数据中心网络中,设计了基于部分动态冗余编码的单径TCP传输性能优化方案TCP-ACC。 针对云数据中心网络单径TCP传输的动态拥塞问题,本文采用部分网络编码技术,提出了基于动态冗余编码技术的单径TCP性能优化方案TCP-ACC。与无线网络相比,云数据中心属于低丢包率网络。但是,云数据中心中大部分数据流都是时延敏感的小流。一旦发生丢包,小流将极易发生超时,从而严重影响云数据中心网络传输性能。极低的编码包比率是控制编解码开销的重要基础。TCP-ACC在不改变原始包发送速率的情况下,根据网络实时状态采用动态冗余编码技术降低超时概率。TCP-ACC引入李雅普诺夫最优化模型解决编码开销与超时概率降低之间的权衡问题,将编码开销和超时概率控制在理论合理范围。NS2大规模仿真表明,与现有方案GIP相比,TCP-ACC可将平均流完成时间降低40%。 (3)在云数据中心网络中,设计了基于部分网络编码的多径TCP优化方案DC2-MTCP。 针对云数据中心网络多径TCP传输的异步丢包问题,本文提出了基于部分网络编码的跨流耦合丢包恢复方案DC2-MTCP。DC2-MTCP引入轻量级网络编码实现跨流补偿,并设计了大小流感知的动态冗余调整方案。DC2-MTCP提供很好的冗余拥塞均衡,可以利用高质量链路帮助低质量链路实现丢包恢复,进而大幅减少流完成时间。DC2-MTCP提出了利用收发包间隔的实时渐进式编解码算法,有效降低编码包发送时延。在解码端,DC2-MTCP设计了抢占式解码算法,在加速链接级顺序确认的同时,降低了解码复杂度。云数据中心真实流量数据的分析表明98%TCP收发包间隔大于20us,而Linux内核内98%单元网络编码时间小于20us。NS2大规模仿真显示,与现有方案IETF-MPTCP相比,DC2-MTCP的流传输性能可提升30%以上。 本文的研究成果与传统TCP以及现有的网络编码TCP方案相比,在性能上均有显著提升,有望为网络编码TCP技术在不同网络环境下的推广和应用奠定良好的技术基础。