Presentation is loading. Please wait.

Presentation is loading. Please wait.

Options or payload? Costin Raiciu UCL IETF 78, Maastricht.

Similar presentations


Presentation on theme: "Options or payload? Costin Raiciu UCL IETF 78, Maastricht."— Presentation transcript:

1 Options or payload? Costin Raiciu UCL IETF 78, Maastricht

2 Outline We need explicit data ACKs How do we encode Data ACK? – Data ACKs in the payload create problems – Data ACKs must be encoded in options How do we encode DSN mapping?

3 We need explicit data ACKs 10,1 Data ACK Window Receive Window [, ] [1, ] [1,2] ACK 10,WND 1 20,2 ACK 20, WND 0 12 10 31 11,3 Drop Packet loss = congestion

4 We need explicit data ACKs 10,1 Data ACK Window Receive Window [, ] [1, ] [2, ] ACK 10,WND 1 20,2 ACK 20, WND 1 12 11 31 11,3 -----------------APP READ 20,3

5 Data ACKs must be explicit Otherwise flow control does not correctly work This may matter more often than we think – Stacks normally use as little buffering as possible How do we encode data ACKs?

6 Problems with Data ACKs in the payload Data ACKs are congestion controlled Head of line blocking of Data ACKs due to packet loss affect forward throughput – HoL blocking during Fast Retransmit, Timeouts Data ACKs are flow controlled – Potential deadlocks, can in principle be avoided

7 Experiment OpenVPN plaintext tunneling – TCP over TCP – TCP over UDP Baseline: – TCP over TCP tunneling: 93Mbps – TCP over UDP tunneling: 94Mbps 100Mbps,<1ms OpenVPN Client OpenVPN Server Router

8 Experiment: ACK path congestion TCP transfers OpenVPN Transfer Throughput(Mb/s) Number of Reverse Path TCP connections

9 Fixing Head of Line blocking Possible fix: use escape sequences instead of TLV – Overhead to escape payload Need to scan all payload in kernel No hardware acceleration (for now) – Need to linearly search payload when HoL – Performance will be poor Better fix: use options

10 Problems with Data ACKs in payload Head of Line Blocking Congestion Control Flow Control PayloadPoor performance FIX: do not cc signaling – but what if data and ACKs are mixed? Possible deadlock: FIX: save last 1kb of receive buffer for signaling OptionsNo problem

11 What about Data Sequence Mapping? In payload – Can get away with simpler solutions for finding payload length changes due to middleboxes – No space restrictions In options – We are using options anyways, we might as well keep the payload unmodified – Space is tighter, but can fit multipath without removing existing options – Future TCP extensions require extending the options space

12 Conclusions Options are the architecturally cleaner approach Can get through middleboxes – Otherwise protocol detects and quickly falls back to TCP Data ACKs must be transmitted out of band – Options are the only feasible alternative Data Sequence Mapping may be sent in band – Slight advantage for payload – Which one do people prefer?

13 Backup Slides

14 Experiment: bidirectional transfer TCP transfers OpenVPN Transfer Throughput(Mb/s) Number of TCP connections


Download ppt "Options or payload? Costin Raiciu UCL IETF 78, Maastricht."

Similar presentations


Ads by Google