一种多路径传输协议中的动态数据调度方法
【技术领域】
[0001] 本发明涉及多路径并行传输中的数据调度技术,特别是指一种多路径传输控制协 议(MPTCP,Multi-path Transmission Control Protocol)中的动态数据调度方法。
【背景技术】
[0002] 随着网络和通信技术的发展普及,越来越多的网络终端设备具备了多网络接入能 力,面对新业务对数据传输要求的提高,同时利用多网络进行多路径并行传输已成为新的 发展趋势。网络终端设备通过接入多种有线和无线网络,利用多路径传输控制协议MPTCP 将数据分发到多条路径中进行并行传输,通过整合各可用路径聚合网络传输带宽,不仅能 够提高数据传输有效性,满足业务需求,同时还将提高网络资源利用率以及数据传输鲁棒 性。然而,由于网络间的差异特性,网络带宽、传输时延以及差错率等都会影响数据传输的 效率和准确性,MPTCP在进行数据分发时需要考虑各路径的传输特点和传输能力,将数据更 多地调度到传输质量好、拥塞情况较优的路径上,传输质量差、拥塞严重的路径少调度甚至 直接摒弃,从而保证发送端发送的数据包按序到达目的接收端,减少接收端数据重组时间 和丢包重传损耗,保证整体数据传输性能。发送端在各路径上分发的数据在接收端需要进 行重组,然后再按序交给应用层,每个子路径接收端都有一个二级缓存进行各路径的数据 重组,同时每个连接有一个一级缓存进行全局数据重组,传输质量差的路径由于时延大差 错率高,会引起丢包重传以及乱序到达等问题,这样虽然其他路径数据包按序到达,但一级 缓存上的重组仍然需要等待质量较差路径上的数据包,造成延迟交付。若等待时间过久,一 级缓存将会被其他较优路径充满,由于迟迟不能交付,发送端连接级得不到确认,将会引发 较优路径的数据包超时重传,导致接收端缓存整体阻塞,严重影响多路径并行传输整体性 能。因此,在MPTCP数据调度中,动态地根据各路径的传输特性变化采取合理的调度策略, 对于保障可靠有效的多路径并行数据传输至关重要。
[0003] 在现有MPTCP协议中,默认的数据调度策略是L〇west-RTT,它是一种简单的动态 调度算法,选取路径的往返时间(RTT,Round-Trip Time)作为路径传输质量的评估指标, 表征了路径的传输时延,RTT越小,表明路径传输质量越高,反之越差。对于每次数据调度, 优先选择传输延迟最小的路径作为最佳路径,当最佳路径的发送窗口(cwnd,congestion window)为零时,再选择传输时延次小的路径作为最佳路径,以此类推。此外,还有一种被动 式的数据调度方法Round Robin,由于不考虑各路径传输质量差别而将数据均等地进行分 发,极易造成接收端数据到达乱序,引起传输阻塞,性能不高,现仅作为研宄测试参考保留 在内核之中。
[0004] 显然Round Robin数据调度策略不能适应路径传输状况多变的实际环境,无法实 现多路径并行传输的目标,而Lowest-RTT数据调度策略虽然在一定程度上实现了动态调 度,但仅选取最小路径传输时延作为唯一评估标准,虽然实现较为简单,但忽略了网络带宽 等其他路径传输特性。此外,MPTCP中调度器与拥塞控制机制是协调工作的,拥塞控制机制 作用会影响调度器的调度性能,而Lowest-RTT数据调度策略没有涉及拥塞状态,当过度调 度发生时将引起拥塞,拥塞控制机制将会乘性的减少发送窗口 cwnd,导致路径数据传输速 率急剧下降,不能充分利用路径带宽,从而对整体性能产生影响,所以不能完全达到MPTCP 多路径传输的预期。
[0005] 传统的基于RTT的数据调度方法和被动的Round Robin数据调度策略均不能充分 发挥MPTCP多路径并行传输的效能,实际传输效率达不到预期期望,从而制约着MPTCP的应 用普及。
【发明内容】
[0006] 有鉴于此,本发明的目的在于提出一种MPTCP中的Smart-RTT动态数据调度方法, 能够将拥塞控制考虑在内,实时估计路径的实际传输能力,有效改善调度器效率和准确性, 保证MPTCP稳定传输,提高整体传输性能。
[0007] 基于上述目的本发明提供的MPTCP中的动态数据调度方法一种多路径并行传输 协议(MPTCP)中的动态数据调度方法,包括以下步骤:
[0008] 步骤一:测量各路径的往返时间RTT及往返时间的变化值RTTVAR ;
[0009] 步骤二:根据RTT及RTTVAR判断路径是否可用,摒弃拥塞路径,保留可用路径;
[0010] 步骤三:估计各路径的数据传输能力;
[0011] 步骤四:结合步骤三估算的数据传输能力为各路径分配数据传输配额;
[0012] 步骤五:调度器按照步骤四给出的各路径的传输配额分发传输数据。
[0013] 在一些实施方式中,所述步骤二包括:将RTTVAR与阈值RTTVART作比较,
[0014] 若RTTVAR彡RTTVART,判断RTT的变换趋势,
[0015] 若RTT值增大,判断该路径为拥塞路径,直接摒弃,
[0016] 若RTT值减小,保留该路径;
[0017] 若 RITVAR < RITVART,保留该路径。
[0018] 在一些实施方式中,所述RTTVART根据传输网络的参数特性及传输特性灵活设 定。
[0019] 在一些实施方式中,所述步骤三的数据传输能力capacity的更新方式为:
[0020] 判断Th(t)与Th(t-rtt)及d(t)与a的大小关系,
[0021] 若 d(t)彡 a,
[0022] 判断 a > 1 且 Th (t) ^ Th (t_rtt),令 capacity = capacity+1 ;
[0024] 判断 a = 1,令 capacity = capacity+1 ;
[0025] 若 a <d (t)〈 0,
[0026] 判断 Th (t) ^ Th (t_rtt),令 capacity = capacity+1,a = a+1,0 = 0+1 ;
[0027] 判断 Th (t)〈Th (t_rtt),不变;
[0028] 若 d(t)彡 0,
[0029] 判断 a > I 且 Th (t) ^ Th (t_rtt),令 capacity = capacity+1,a = a+1,0 =0 +1 ;
[0031]其中,
[0032] capacity是路径的数据传输能力,与发送窗口是同一量纲;
[0033] d(t)是t时亥Ij传输网络路径队列中缓存的数据包个数;
[0034] (a,0)是控制网络路径队列中缓存的数据包数的变量,初始值为(1,3);
[0035] Th (t)及Th (t-rtt)分别代表路径t时刻及t之前的一个RTT时刻的实际吞吐速
[0036] 在一些实施方式中,所述t时刻传输网络路径队列中缓存的数据包个数根据如下 公式更新:
[0037] d(t) = 〇 XBasem;
[0038] 〇是t时刻路径的期望吞吐速率与实际吞吐速率的差值,
[0040] 其中,
[0041] cwnd(t)为t时刻路径的发送窗口;
[0042] Basem是路径的最小传输时延,
[0043] Realm是路径的实际传输时延;
[0046] 在一些实施方式中,所述步骤四的数据传输配额的估算方法是:将各路径的数据 传输能力capacity与路径的发送窗口cwnd作比较,
[0047] 若capacity<cwnd,则调度器给该路径的配额为capacity ;
[0048] 若capacity彡cwnd,则调度器给该路径的配额为cwnd。
[0049] 在一些实施方式中,所述步骤五包括:调度器选取RTT最小的路径作为最佳路径, 按步骤四的配额分配数据进行数据传输,当RTT最小的路径的配额用完之后,再选取RTT次 小的路径进行传输,依次进行,直到发送完成缓存的全部数据传输为止。
[0050] 从上面所述可以看出,本发明提供的MPTCP中的Smart-RTT动态数据调度方法克 服了传统的Round Robin及L〇west_RTT数据调度策略的不能适应路径传输状况多变的实 际环境及在未涉及拥塞情况的缺点,具有以下几方面的优点:(1)考虑了拥塞对传输性能 的影响,根据RTT值变化对拥塞情况进行初步判断,丢弃拥塞严重且传输不稳定的路径不 仅减少了路径差异带来的性能下降,同时降低了后续功能模块的计算复杂度;(2)增加了 路径传输能力估算模块对路径的数据传输能力进行实时动态估计,准确,高效,具备自适应 特性,准确反映路径的拥塞状况。(3)调度器通过准确估计各路径的实时传输能力,在路径 发生丢包之前(即拥塞机制起作用之前)就减少数据分发配额,解决了调度器调度盲目性 问题,合理控制传输包数,避免发生拥塞带来的性能剧降,提高了调度器的调度效率和准 确性,保持MPTCP稳定传输,对于提高MPTCP的整体传输性能具有较深远的意义。
【附图说明】
[0051] 图1为本发明提供的MPTCP中的Smart-RTT动态数据调度方法的流程图;
[0052] 图2为本发明提供的MPTCP中的Smart-RTT动态数据调度方法实现框图。<