NS-3实现MPTCP的轮询调度算法

原创 2016年05月31日 12:04:31

NS-3下默认的数据调度算法是Round_Robin算法,但是在Linux的内核中默认的调度算法是最小RTT(Min_RTT),同时在ns-3下默认的子流窗口大小为1,但是在Linux内核中默认的子流窗口数目是10。

ns-3下轮询算法或者说数据包的调度算法流程如下:在子流建立后,子流的默认窗口大小是1,所以轮询算法调度子流时每一次调用都是发送一个窗口大小的数据包,通常这个值得大小等于MSS,这是子流建立后首次发送数据包的情况,然后当子流接收到ACK信息时,根据ACK的信号进行窗口的变化,然后进行数据的调度,每一次调度都是对所有窗口进行一次轮询,发送一个MSS大小的数据包,当有些窗口有空闲时,该窗口并不会一次发送所有窗口大小的数据包,而是每一次发送一个MSS后进入下一个子流进行数据包的发送,每次发送一个MSS,这就相当于是有N个水桶,每个水桶里面的水量不一样,当桶内有水时,每一个桶都取一瓢水,然后一直汲取,直到水桶为空,而不是将其中一个桶的水汲取完后才进行下一个桶的汲取。但是这个会导致两个问题:

1.当一个MPTCP流可以建立多条子流的时候,如果待发送的数据量超过一个MSS,那么会启用至少两条流,因为每一次都给每一条子流调度一个MSS的数据包;

2.当子流之间性能差异很大时,不会选择最好的路径发送数据,如一个MPTCP连接只有2个子流s1与s2,其中s1的RTT为10ms,s2的RTT为100ms,窗口都是10000,发送的总的数据量为10000,那么根据RR算法会选择每一条自流都是发送5000字节的数据(假设每一个包携带的数据为1000),这样就会使得发送时间为百毫秒级别,而如果只是使用s1,那么发送时间为十毫秒级别。

MPTCP 源码分析(四) 发送和接收数据

简述:      MPTCP在发送数据方面和TCP的区别是可以从多条路径中选择一条 路径来发送数据。MPTCP在接收数据方面与TCP的区别是子路径对无序包 进行重排后,MPTCP的mpcb需要多...
  • jrunw
  • jrunw
  • 2017年03月01日 16:24
  • 154

NS3系列—8———NS3编译运行

NS3系列—8———NS3编译运行
  • ztguang
  • ztguang
  • 2016年08月31日 16:36
  • 1111

NS-3实现MPTCP的轮询调度算法

NS-3下默认的数据调度算法是Round_Robin算法,但是在Linux的内核中默认的调度算法是最小RTT(Min_RTT),同时在ns-3下默认的子流窗口大小为1,但是在Linux内核中默认的子流...
  • silenceyea
  • silenceyea
  • 2016年05月31日 12:04
  • 917

MPTCP高级配置

本文引用了MPTCP Linux内核官网的MPTCP配置网页和工具网页,介绍了MPTCP成功部署以后子流分配策略更详细的配置方式以及协助自流分析的工具,由于之前已经将MPTCP的部署命名为“MPTCP...
  • bryanting
  • bryanting
  • 2016年09月01日 11:07
  • 729

权重轮询调度算法(WeightedRound-RobinScheduling)-Java实现

1 import java.math.BigInteger; 2 import java.util.ArrayList; 3 import java.util.HashMap; 4 imp...
  • yingfeng2oo8
  • yingfeng2oo8
  • 2016年01月19日 16:12
  • 488

轮询调度算法

轮询调度算法(Round-Robin Scheduling)   2010-06-23 15:10:28|  分类: 默认分类|字号 订阅 毫无疑问,随着互联网、移...
  • u010571660
  • u010571660
  • 2013年11月26日 14:09
  • 1108

支持MPTCP的视频小站

支持MPTCP的视频小站
  • ztguang
  • ztguang
  • 2016年12月15日 09:26
  • 314

socket版本协商

WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 2, 2 ); err ...
  • silenceyea
  • silenceyea
  • 2016年06月12日 17:32
  • 139

负载均衡之权重轮询调度算法

负载均衡之权重轮询调度算法 一、负载均衡     nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器。如果nginx是以反向代理的形式配置运行,那么对请求的实际处理需要转发到后端服...
  • lululove19870526
  • lululove19870526
  • 2016年11月09日 16:52
  • 3195

每日一练——轮询调度算法和短作业优先调度算法的平均等待时间

今天做亚信的笔试题遇到的轮询调度算法,和春招做的百度笔试题短作业优先调度算法很相似,但是难度要UPUP。做题的过程中,因为没有正确地处理迭代器失效的问题浪费了好多时间(>﹏ 轮询调度算法 如果...
  • a987073381
  • a987073381
  • 2016年08月01日 22:58
  • 2947
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NS-3实现MPTCP的轮询调度算法
举报原因:
原因补充:

(最多只允许输入30个字)