1 / 14

Options or payload?

Options or payload?. Costin Raiciu UCL IETF 78, Maastricht. 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?. We need explicit data ACKs. Data ACK Window.

Download Presentation

Options or payload?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 Data ACK Window Receive Window [ , ] 1 2 10,1 [1, ] 20,2 [1,2] ACK 20, WND 0 1 0 ACK 10,WND 1 3 1 11,3 Drop Packet loss = congestion

  4. We need explicit data ACKs Data ACK Window Receive Window [ , ] 1 2 10,1 [1, ] 20,2 20,3 -----------------APP READ [2, ] ACK 20, WND 1 1 1 ACK 10,WND 1 3 1 11,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 Router OpenVPN Server OpenVPN Client • OpenVPN plaintext tunneling • TCP over TCP • TCP over UDP • Baseline: • TCP over TCP tunneling: 93Mbps • TCP over UDP tunneling: 94Mbps 100Mbps,<1ms

  8. Experiment: ACK path congestion OpenVPN Transfer TCP transfers 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

  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 OpenVPN Transfer TCP transfers Throughput(Mb/s) Number of TCP connections

More Related