03 2015 档案

摘要:简述 MPTCP的拥塞控制对TCP的拥塞控制的线性增加阶段进行了修改,而慢启动,快速重传、快速恢复都没有改变。每条子路径拥有自己的cwnd,MPTCP的拥塞算法主要关心cwnd的改变。拥塞算法设计原则MPTCP的Throughput 要达到MPTCP中所有子路径中最好的一条路径MPTCP应该和普通... 阅读全文
posted @ 2015-03-25 15:13 lxgeek 阅读(3712) 评论(0) 推荐(0) 编辑
摘要:简述 TCP使用定时器函数tcp_retransmit_timer进行数据重发,MPTCP需要重发数据的时候,不仅仅在原路径发送数据,而且会在另外一条子路径进行重发。这样考虑的原因是:考虑网络中间件设备的影响, 保证子路径上数据序列号的完整性。目前的版本0.89依然如此实现,以后应该会优化。内核实... 阅读全文
posted @ 2015-03-25 15:05 lxgeek 阅读(2352) 评论(0) 推荐(0) 编辑
摘要:简述: 在TCP协议中影响数据发送的三个因素分别为:发送端窗口值、接收端窗口值和拥塞窗口值。本文主要分析MPTCP中各个子路径对接收端窗口值rcv_wnd的处理。接收端窗口值的初始化 根据《MPTCP 源码分析(二) 建立子路径》中描述服务端在发送完SYN/ACK并接收到ACK的时候建立新的so... 阅读全文
posted @ 2015-03-11 15:59 lxgeek 阅读(2395) 评论(0) 推荐(0) 编辑
摘要:简述: MPTCP在发送数据方面和TCP的区别是可以从多条路径中选择一条路径来发送数据。MPTCP在接收数据方面与TCP的区别是子路径对无序包进行重排后,MPTCP的mpcb需要多所有子路径的包进行排序。查看图1可知。 +----... 阅读全文
posted @ 2015-03-11 15:46 lxgeek 阅读(3380) 评论(0) 推荐(1) 编辑
摘要:简述: 支持MPTCP的链路中存在多条子路径,因此在发送数据的时候需要选择最优路径来进行操作。MPTCP利用内核通知链对MPTCP中各子路径进行增加路径、删除路径、修改路径优先级的操作。MPTCP根据相应的策略进行路径选择。路径选择的代码实现 路径选择的关键在于从多个子路径中选择其中一个进行数据... 阅读全文
posted @ 2015-03-11 15:42 lxgeek 阅读(3100) 评论(2) 推荐(0) 编辑
摘要:简述 MPTCP在进行三次握手之后,客户端和服务端会进行地址信息的交换,让对方知道彼此未用的地址信息。当客户端知道服务端的地址后就可以建立其他子路径。三次握手和建立子路径的过程如图1: 图1关于Token、随机数R、以及HMAC(Hash-based Messa... 阅读全文
posted @ 2015-03-11 15:13 lxgeek 阅读(3726) 评论(0) 推荐(0) 编辑
摘要:简述: MPTCP依然按照正常的TCP进行三次握手,只是在握手过程中增加了MPTCP特有的信息。建立过程 三次握手过程如下图所示: 左边客户端发送的第一个SYN包携带有客户端自身的KEY,右边发送SYN/ACK的时候携带了自身的KEY,而最后左边的客户端发送最后一个ACK的时候携带着双方的KE... 阅读全文
posted @ 2015-03-11 15:00 lxgeek 阅读(6275) 评论(2) 推荐(0) 编辑