首页 > 代码库 > 网络传输前沿-MPTCP技术分析
网络传输前沿-MPTCP技术分析
数据传输技术前沿-MPTCP 技术分析
刘红岗
广西大学计算机与电子信息学院707
摘要
多宿主环境已经日益变得普遍,这尤其表现在移动用户中。在传输文件中为了有效的传输利用多个接入点,MPTCP(多路径TCP)已经被提出。MPTCP是IETF在在2013年1月发布的一个新协议。MPTCP可以在单个连接中通过多个路径分发数据。然而,一个协议的部署与采纳并不是一个琐事,部署协议必须在考虑到所有的利益相关者下才是协议部署的充分必要条件。并且,原始的多路径TCP并不能充分利用带宽,也没用充分考虑能效与费用的问题。这篇文章主要分析了MPTCP协议部署中的机遇与挑战,以及多路径TCP中依然存在的问题和一些改进方案。
关键词:MPTCP 协议部署 多宿主 ATLB
i. 引言
多宿主环境已经变得日益普遍,这尤其表现在移动用户中。如今的笔记本电脑已经可以配置以太网接口、WiFi接口、蓝牙接口;移动用户也配置了2G接口、3G接口、4G接口,WiFi接口、蓝牙接口和红外接口。这些可用网络接口的出现以及用户对数据传输速率提高的需求,迫使一种新的数据传输技术的诞生-MPTCP(多路径TCP)。MPTCP,作为一种TCP的扩展,是由IETF(因特网工程项目组)在2013年发布的精确定义。MPTCP技术允许在一个连接期间,通过多个子流传输数据,因此很好的提高了数据传输的可用带宽。MPTCP技术在无线网环境中可以得到良好的应用-使用WiFi接口和移动网络就是一个典型的应用。并且它增加了数据吞吐量,很好了解决了应用层垂直切换的问题。MPTCP在数据中心方面也带来了很好的效益。然而在MPTCP协议部署中依然面对着一些挑战。如今因特网所有的标准协议中在源与目的传输数据时都是一条路径,因此要部署一个新协议(例如MPTCP)必须考虑几个因素:1.这个协议与以前的协议相比,且能够更好的符合一个特定需求和解决一个特定问题。例如,在下载大文件(视频或者应用)时,能够比其它传输层解决方案更好。2.这个协议要和传统协议相兼容,它可以与传统TCP、UDP一样,可以通过防火墙与其它中间件。现在的MPTCP中依然存在很多问题,这些问题主要表现在一下几个方面:1.MPCTP比传统TCP耗能,这对移动用户异常重要;2.互联网服务提供商还没有对终端用户提供MPTCP服务;3.MPTCP没有考虑网络延迟与拥塞控制;4.MPTCP不能保证负载平衡。这些问题都阻碍了MPTCP的迅速普及。
在这篇论文中,我们主要分析了MPTCP在部署中的问题以及针对具体MPTCP技术中存在的问题中,已经已经提出的相关的改进方案和性能分析。论文的以下部分组织如下:第二部分简要介绍了MPTCP的设计模型以及传输过程,和MPTCP的关键组成;第三部分简要介绍了MPTCP部署中应该考虑的因素;第四部分讲解了在MPTCP中负载平衡的改进模型;第五部分是对论文的相关总结与展望。
ii. MPTCP的组成部分和通讯过程
这个部分描述了MPTCP的组成部分和通讯过程。
MPTCP的框架结构如图1,MPTCP的框架结构。
图1 MPTCP的框架结构
从MPTCP的框架结构可以看出,MPTCP位于应用层之下,IP层之上,取代了原先的TCP层,并划分为两个子层:MPTCP层和TCP层。在MPTCP中,主要以下四个关键词:
- 1.路径 :发送者与接收者之间的一个连接序列
- 2.子流 :一个独自的TCP连接,这些连接构成一个MP TCP连接,子流的开始与终止与一个常规的TCP连接相同。
- 3.MPTCP :一个或者多个子流集合,通过它,两个主机可以通讯。
- 4.令牌 :一个主机中的一个路径中的一个独一无二的局部标示符。实际上,就是一个连接ID。
MPTCP的传输过程假设如图2,它包含一个应用层,一个传输层。传输层又被划分为两个子层:MPTCP和TCP层。当用户使用MPTCP通讯时,它会同时打开N个TCP连接,N是发送端与接收端之间的路径数。应用层把数据发送到MPTCP层,然后MPTCP层把数据分成多个段,并在每个段添加一个控制段头。控制头包含一个一个序列号,它用于在接收端重组数据。MPTCP层然后把数据传给TCP层。当接收端TCP接收到对端发送的数据后,读取数据并根据控制头重组数据,然后把数据传递给应用层。
图展示了发送者通过使用MPTCP发送数据,在发送端把数据分成5段,然后通过1,2传送到接收端。图中方框的数字代表了分段的序列号。
图2 MPTCP的传输过程
iii. MPTCP的部署
这个部分提出了一个成功部署MPTCP框架的过程。区分部署与采纳是十分重要的。部署是指MPTCP部署的网络环境;采纳是指在可部署的情况下,添加一些额外步骤,是指终端用户在发送数据时,实实在在的使用这个协议。
协议的部署包含三个部分,如图3,MPTCP协议部署过程:
图3 MPTCP部署过程
协议采纳的第一步是它自身是高效可部署的,最小的需求就是MPTCP与以前的协议相比,具有一些优势,然而仅仅这一点,不能作为采纳的充分必要条件。因特网是一个负责的系统,部署协议通常要考虑一些利益相关者。这就是为什么对每一个利益相关者都要是可行的。如果一个协议是可部署的,那么它的实际部署过程必须要考虑。这一步表明,部署的行为需要不同利益相关者允许这种协议部署。在MPTCP被使用之前有三个需求必须要满足。第一个是,操作系统提供商必须实现MPTCP并且安装到终端用户中。第二个是其中的一个用户必须有多宿主性能,例如,操作系统允许终端用户通过多种方式同时连接因特网,终端用户可以通过不同的因特网接口连接因特网。第三点是其他的终端系统也需要逐渐兼容MPTCP,以便MPTCP真正的被终端用户使用。
协议部署后,也并不真正意味着它被采纳。因此一个需要一个更深刻的调查,这主要关乎关键的利益者和潜在的商业模型,它们可以促进MPTCP的采纳。
iv. MPTCP负载平衡改进方案
传统的MPTCP,虽然可以通过多个路径传输数据,然而MPTCP在传输数据时并没有考虑到拥塞控制,因为传统数据分发是无意识的,所以这很可能导致一条路径的拥塞。由于接收端需要一个数据块到达完全之后才能排序,然后向上递交到应用层,而拥塞会导致数据不能按序到达,这样会影响传输的速度,并且由于等待,后面的数据不断到达,这会导致接收端接收窗口不断增大,进而导致窗口溢出。针对这个问题,论文提出了一个改进的解决方案。
这种方案的核心思想是,在发送端评估路径拥塞的程度,每次都选择拥塞度最低的路径传输数据。由于每次都选择了拥塞最低的路径传输,这样可以基本保证数据的按序到达,这样就解决了接收端排序瓶颈的问题。
为了评估路径的拥塞度,我们提出了如图4的解决方案。在传输层设置一个ATLB(到达时间匹配的负载均衡)操作,这个操作每次通过评估路径的得分来选择数据分发的路径。它每次都是通过这种方法来评估路径得分的:得分=路径i的传输队列长度/路径i平滑后的吞吐量+平滑后的往返延迟/2。由此公式可知,得分越低,表示拥塞度越低,所以选择拥塞度低的路径传输数据。
图4 ATLB数据分发
公式的数学表达如下:
其中 代表路径i的得分, 是队列i的长度,Gi是队列i的平滑吞吐量, 是平滑后的RTT。
Gj是第j次吞吐量值,它是由Gj-1和TPUTj共同决定的。α (0 < α < 1 )是一个常量,TPUTj是每β毫秒计算的吞吐量。
v. 总结
论文主要分析了MPTCP的传输过程,以及MPTCP在部署中的挑战与机遇。在部署中,分为三个步骤,部署协议设计,部署过程和采纳。协议的部署是一个复杂的过程,必须考虑诸多因素,比如协议本身要比以前的协议有更多的优势,而且协议要考虑相关的利益者,考虑到操作系统提供商以及相关的业务商等等。之后分析了MPTCP的一种提高负载均衡的方法ATLB。这种方法是每次在分发数据之前,总是寻找最不阻塞的路径来分发数据,这就保证了数据的负载均衡,解决了接收端数据排序的问题。
vi. 参考文献
[1] M. Handley, “Why the Internet Only Just Works”, in BT Technology Journal 24, 2006.
[2] C. Kalogiros, M. Bagnulo, and A. Kostopoulos, “Understanding Incentives for Prefix Aggregation in BGP”, ACM CoNEXT ReArch’09, Rome, Italy, December 2009.
[3] R. Stewart,“Stream Control Transmission Protocol”, RFC 4960, September 2007.
[4] J. Iyengar, P. Amer, and R. Stewart, “Concurrent Multipath Transfer using SCTP Multihoming over Independent End-to-End Paths”,
IEEE/ACM TransactionsNetworking14(5),2006.
[5] A. Ford, and C. Raiciu, “TCP Extensions for Multipath Operation with
Multiple Addresses”, IETF Internet-Draft, draft-ford-mptcpmultiaddressed-03, 2010.
[6] C. Raiciu, M. Handley, and D. Wischik, Coupled Multipath-Aware
Congestion Control, IETF Internet-Draft, draft-raiciu-mptcp-congestion-01, 2010.
[7] Sebastien Barre, Christoph Paasch, and Olivier Bonaventure. Multipath TCP: From Theory to Practice.NETWORKING 2011, 2011 - Springer,2011
[8] Costin Raiciu, Christoph Paasch, Sebastien Barre, Alan Ford, Michio Honda, Fabien Duchene, Olivier Bonaventure, and Mark Handley. How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP. 10th USENIX Symposium on Networked Systems Design and Implementation, 2012.
[9] C. Raiciu, M. Handley, and D. Wischik. Coupled Multipath-Aware Congestion Control draft-raicu-mptcp-congestion-01. Internet Engineering Task Force Internet Draft, 2010.
[10] D. Wischik, C. Raiciu, A. Greenhalgh, and M. Handley. Design,Implementation and Evaluation of Congestion Control for Multipath TCP.NSDI ’11, 2011.
网络传输前沿-MPTCP技术分析