[summ]Coupled Congestion Control for Multipath Transport Protocols [draft-ietf-mptcp-congestion-07]

Coupled Congestion Control for Multipath Transport Protocols [draft-ietf-mptcp-congestion-07]

link:http://tools.ietf.org/html/draft-ietf-mptcp-congestion-07

重要文献:

[1] Wischik, D., Raiciu, C., Greenhalgh, A., and M. Handley,"Design, Implementation and Evaluation of Congestion Control for Multipath TCP", Usenix NSDI , March 2011. 

[2] Damon的NSDI会议演讲视频: http://www.youtube.com/watch?v=iqx1cShqH6I


Design Goals:

1) Each subflow should have its own congestion control state (i.e. cwnd) in order to adapt the offered load to the capacity on that path. A simple way to achieve this is to employ standard TCP congestion control on each subflow. However, the problem is that, there will be unfair share between these subflows when their path share a common bottleneck.

2) be fair to TCP at bottleneck links: a multipath flow should perform at least as well as a single path flow would on the best of the paths available to it

3) use efficient paths: send all traffic using the least congested link

4) adapt quickly when congestion changes

5) do not oscillate

Example when applying for the design goals: 

It is true that 3G path has lower loss and higher RTT than that of Wi-Fi. Therefore, in the case of MPTCP, 3G is the least congested link which should take as much traffic as possible. [Goal2]

However, today's Wi-Fi has higher bandwidth than 3G. Therefore, in the case of MPTCP, Wi-Fi is the best path where a regular TCP can achieve its best throughput. [Goal3]

Assuming the bandwidth for a regular TCP over Wi-Fi and 3G are 5Mbps and 0.5Mbps. Combining goal 2 and goal 3, the bandwidth allocation policy for MPTCP over 3G and Wi-Fi interfaces are: send 4.5Mbps on Wi-Fi and 0.5Mbps over 3G.

Algorithms(to achieve the five goals above):

->Principle: couples the additive increasefunction of the subflows, and, uses original TCP behavior in case of a drop

The congestion controller sets the aggregate bandwidth of multipath flow to be the same as a regular TCP flow would get on the best path available to the multipath flow. 

The congestion controller estimates the bandwidth of a regular TCP flow by predicting loss rates and RTT and computing the target rate. Then the overall aggressiveness is adapted to achieve the desired rate. 

->Details:

MPTCP maintains a congestion window Wr, one window for each path

increase Wr for each ACK on path r, by 

                alpha * bytes_acked * mss_i   bytes_acked * mss_i
          min ( --------------------------- , ------------------- )  
                         tot_cwnd                   cwnd_i

[此函数基于 BYTES, OFFICIAL DOCUMENT IN IETF ALSO PROVIDE PACKET-BASED COMPUTATION, 因为标准TCP congestion control IS BASED ON PACKET]

"alpha" is a parameter of the algorithm that describes the aggresiveness of the multipath flow. The value of alpha is chosen such that the aggregate throughput of the multipath flow is equal to the throughput a TCP flow would get if it ran on the best path.

[descriptions of each parameter is introduced in draft-ietf-mptcp-congestion-07]

The total throughput of a multipath flow depends on the value of alpha and theloss rates,maximum segment sizes and round trip times of its paths. alpha must be computed based on the observed properties of the paths, in order to provide fairness to regular TCP.

The formula to compute alpha is:

                                      cwnd_i
                                 max --------
                                  i         2
                                      rtt_i
             alpha = tot_cwnd * ----------------               
                               /      cwnd_i \ 2
                               | sum ---------|
                               \  i   rtt_i  /

this is derived by equalizing the rate of the multipath flow with the rate of a TCP running on the best path

decrease Wr for each drop on path r, by Wr/2.


each server and client IP address pair maintains a single path, so multihome (multiaddress) hosts are required.

->What are the same with standard TCP [RFC5681]

1) slow start

2) fast retrasmit

3) fast recovery

4) multiplicative decrease of the congestion avoidance state












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值