Android内核中tcp拥塞控制机制的研究文献综述
2020-04-14 17:12:59
从许多方面来看,今天的互联网的数据传输并没有达到他应该达到的高度。世界上许多的蜂窝用户都会遇到几秒或几分钟的延迟,在一些公共场所如:机场、会议室,这些地方的公共场所的公共WiFi延迟会在更加严重。气候研究人员经常需要和全球的合作者交换数PB的数据,而发现多Gbps基础设施通常只能在洲际距离上提供Mbps的速度,这是由于在TCP拥塞控制创建时的设计选择。随着NIC(网络接口控制器)从Mbps发展到Gbps,内存芯片从KB发展到GB,数据包丢失和拥塞之间的关系变得更加脆弱。今天TCP的基于丢失的拥塞控制 (即使是当前最好的CUBIC11)是导致这些问题的主要原因。当瓶颈缓冲区很大时,基于丢失的拥塞控制使它们保持满,导致缓冲区浮动。瓶颈缓冲区较小时,基于丢失的拥塞控制会将丢失误解为拥塞信号,从而导致吞吐量降低。解决这些问题需要替代基于损失的拥塞控制,找到这种替代方案需要了解网络拥塞的起源和方式。
为解决基于丢包的拥塞控制机制的弊病,google提出了一种基于模型的tcp bbr拥塞控制算法,极大的提升了tcp协议在高延时、高丢包率、高带宽的情况下的性能,受到了广泛的关注,经过google工程师的努力,tcp bbr已经写入Linux内核中。由于tcp bbr出现时间较短,目前对tcp bbr算法的性能评估工作比较缺乏。于是本文利用仿真软件NS3仿真复杂的通信环境,模拟出各种通信场景,分别使用tcp bbr与目前几种主流的基于丢失的拥塞控制算法作为tcp通信的拥塞控制机制,通过测试通信系统的吞吐量来实现对tcp bbr这个拥塞控制新机制进行一个系统的评估工作。
目前tcp_bbr在Linux系统上已经启用,并表现出了较好的通信性能。如今,Android手机用户数以亿计,tcp bbr模块也已经成功的嵌入到Android内核中,tcp bbr即将造福于广大的Android用户。经过研究发现,tcp bbr在很多特定场景下还有很大的优化空间,使Android手机用户在很多特定的场景下能获得更流畅的体验。于是,本文阐述如何在内核中识别来自应用层的数据包,找到特定应用数据包后,如何对Android内核中tcp bbr算法的优化,从而在特定场景下提升tcp bbr拥塞控制算法的性能。{title}2. 研究的基本内容与方案
{title}2.1研究设计的基本内容
(1) 比较分析tcp bbr与目前几种主流的基于丢失的拥塞控制算法;
(2)基于NS3的对算法进行仿真分析;
(3)对Android内核使用的TCP拥塞控制算法的性能进行实际测试;
(4)对Android内核中TCP拥塞控制算法BBR的传输机理和性能进行分析与优化。
2.2研究设计的目标
(1)利用NS3完成对tcp bbr的性能评估。
(2)完成tcp与传统的基于丢失的拥塞控制算法的性能分析与性能比较