Download presentation
Presentation is loading. Please wait.
Published byFrederica Park Modified over 9 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.