Presentation is loading. Please wait.

Presentation is loading. Please wait.

Network Coding and Reliable Communications Group Modeling Network Coded TCP Throughput: A Simple Model and its Validation MinJi Kim*, Muriel Médard*, João.

Similar presentations


Presentation on theme: "Network Coding and Reliable Communications Group Modeling Network Coded TCP Throughput: A Simple Model and its Validation MinJi Kim*, Muriel Médard*, João."— Presentation transcript:

1 Network Coding and Reliable Communications Group Modeling Network Coded TCP Throughput: A Simple Model and its Validation MinJi Kim*, Muriel Médard*, João Barros ‡ *Massachusetts Institute of Technology ‡University of Porto

2 Network Coding and Reliable Communications Group TCP in Wireless TCP: the dominant protocol in today’s network TCP’s congestion control Designed for wireline Mistakes erasures/fading in wireless as congestion, leading to performance degradation in wireless setting Use “network coding” to improve performance Loss rate

3 Network Coding and Reliable Communications Group Network Coding with TCP (TCP/NC) Random linear network coding masks link losses from TCP in order to prevent unnecessary back-off. Translates the losses as longer round trip time. ACK design that accounts for mixing (coding) of packets with each other. ACK: every innovative linear combination, even if it does not reveal a packet immediately. For every packet coming from TCP, coding layer transmits R (>1) random linear combinations of buffered packets to IP Redundancy factor

4 Network Coding and Reliable Communications Group Main Idea of TCP/NC TCP mistakes losses as congestion; Window closing due to: – Triple-duplicate ACKs. – Time-out. TCP/NC substitutes the lost packets with subsequent packets; avoiding window closing.

5 Network Coding and Reliable Communications Group Example: No losses TCP TCP/NC sender window p 1 p 2 p 3 p1p1 p2p2 p3p3 ACK(p 1 ) ACK(p 2 ) ACK(p 3 ) p 4 p 5 p 6 p 7 p4p4 p5p5 p6p6 ACK(p 5 ) ACK(p 6 ) p7p7 ACK(p 7 ) Increment window by 1 Sliding window ΣpΣp SEEN(1) SEEN(2) SEEN(3) p 4 p 5 p 6 p 7 SEEN(4) SEEN(5) SEEN(6) SEEN(7) ΣpΣp ΣpΣp ΣpΣp ΣpΣp ΣpΣp ΣpΣp When no losses, network coding doesn’t provide benefits (erasure correction)

6 Network Coding and Reliable Communications Group Example: Random losses (Triple-Duplicate ACKs) TCP TCP/NC sender window p 1 p 2 p 3 p 4 p1p1 p2p2 p3p3 ACK(p 1 ) p 2 p 3 p 4 p 5 p5p5 ACK(p 1 ) Can’t increment window by 1 Partial sliding window ΣpΣp SEEN(1) SEEN(2) p 4 p 5 p 6 p 7 SEEN(4) SEEN(5) SEEN(6) ΣpΣp ΣpΣp ΣpΣp ΣpΣp ΣpΣp Prevents random losses being interpreted as congestion! Triple-duplicate ACKs! p 2 p 3 p4p4 Window closing: W ← W/2 ΣpΣp SEEN(3)ACK(p 1 ) p 7 p 8 p 9 p 10 p 11 There is a lag in the “SEEN” acks: To avoid lag, introduce redundancy! SEEN(7) ΣpΣp p 8 p 9 p 10 p 11 p 12

7 Network Coding and Reliable Communications Group Example: Congestion/Correlated losses (Time-outs) TCP TCP/NC sender window p 1 p 2 p 3 p 4 p1p1 p2p2 p3p3 ACK(p 1 ) p 2 p 3 p 4 p 5 ΣpΣp SEEN(1) ΣpΣp ΣpΣp Still allows congestion control while masking random losses! Time-out! p2p2 p4p4 Window closing: W ← 1 ΣpΣp p 2 p 3 p 4 p 5 Time-out! p2p2 Window closing: W ← 1 Waiting…

8 Network Coding and Reliable Communications Group Analysis and Simulations Based on Padhye et al.’s model (correlated losses to model congestion). End-to-end loss rate p=(1-q) 4 Degrades super-linearly If redundancy R appropriately chosen, scales with window size. R ≥1/(1-p) theoretically optimal, which we verify experimentally as well.

9 Network Coding and Reliable Communications Group Analysis for TCP Consider two “loss (TD or TO)” events: e.g. round j to round j+r Expected # of successfully sent packets in those r rounds (given p ) is Expected value of r is By taking into account the time-out period and exponential back-offs: TD: triple-duplicate ACKs TO: timeout Each round consists of: -Sender sends packets in its cwnd -Sender waits for ACKs -Sender receives at least one ACK for the packets sent

10 Network Coding and Reliable Communications Group Analysis for TCP/NC Window progresses despite “loss” events Every round, expected window growth is The expected throughput is average of per round throughput (expected window/RTT) Network coding allows out of order packets to be delivered as consecutive degrees of freedom → effectively allowing Selective ACKs (SACK)

11 Network Coding and Reliable Communications Group Simulations using NS-2 Max achievable throughput (per flow): 0.5 Mbps Each plot/data point is averaged over 100 simulation runs, each 1000 seconds long Erasures only at last hop, i.e. wireless End-to-end encoding There can be further throughput and energy benefits by using re-encoding assume lossless links p

12 Network Coding and Reliable Communications Group Throughput Gains Using TCP/NC TCP/NC is able to grow its throughput and maintain high rate despite losses. TCP’s window size is larger compared to its actual throughput – TCP sender is waiting for ACKs.

13 Network Coding and Reliable Communications Group Redundancy Factor R p = 0.0963 → 1/(1-p) ≈ 1.107 Throughput increases dramatically, and the connection stabilizes when R ≥ 1.12 (which is only 1% more than 1/(1-p) )

14 Network Coding and Reliable Communications Group Congestion Control with TCP/NC p = 0.0963, R = 1.2 Capacity = 0.9 Mbps Two connections NC0 and NC1 share the connection fairly (each 0.37 Mbps ) TCP/NC allows congestion control while masks erasure!

15 Network Coding and Reliable Communications Group Conclusions For TCP – random losses (e.g. wireless) have similar effect as correlated/bursty losses, since TCP treats any losses as congestion. For TCP/NC – throughput decreases proportional to loss rate; – when there are enough correlated losses, TCP/NC would time-out and reduce rate to avoid congestion. Therefore, TCP/NC is able to maintain high throughput in lossy networks; making it suitable for reliable communication in wireless networks.

16 Network Coding and Reliable Communications Group Extra Slides

17 Network Coding and Reliable Communications Group TCP using network coding Coding layer buffers packets given by TCP For every packet coming from TCP, coding layer transmits R (>1) random linear combinations of buffered packets to IP Acknowledgment: ACK a packet upon seeing it (even before it is decoded) Can do this at intermediate nodes as well in a daisy chain (tandem) network Optional feature: Re-encoding at intermediate nodes. We shall focus on no re-encoding today; end-to-end coding. [Sundararajan et al. ‘09 ‘10] Redundancy factor

18 Network Coding and Reliable Communications Group TCP using Network Coding


Download ppt "Network Coding and Reliable Communications Group Modeling Network Coded TCP Throughput: A Simple Model and its Validation MinJi Kim*, Muriel Médard*, João."

Similar presentations


Ads by Google