Top Banner
Split-TCP: State of the Union Address Dan Berger 03/03/03
21
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Split-TCP: State of the Union Address Dan Berger 03/03/03.

Split-TCP: State of the Union Address

Dan Berger03/03/03

Page 2: Split-TCP: State of the Union Address Dan Berger 03/03/03.

AdgendaProxied or “Split” TCP Conceptual OverviewPrevious InvestigationCurrent WorkResults and AnalysisConclusion

Page 3: Split-TCP: State of the Union Address Dan Berger 03/03/03.

Conceptual OverviewThe Problem(s)

TCP can’t distinguish link failure from congestion.

Results in lowered throughputEffect is magnified on longer (hop-count) connections

Page 4: Split-TCP: State of the Union Address Dan Berger 03/03/03.

Concepts (Cont.)The Proposal

Designate nodes along the path to be packet-level proxies.These proxies buffer segments until they’ve been received (and acknowledged) by the next proxy (or destination)If the packet isn’t ack’d in “reasonable” time – they resend.

Page 5: Split-TCP: State of the Union Address Dan Berger 03/03/03.

Details, Details…Proxy selection must be distributed and dynamic, to accommodate mobility in the network.The proxies should be as stateless as possible – specifically, keeping per-flow state is bad.

Page 6: Split-TCP: State of the Union Address Dan Berger 03/03/03.

Previous InvestigationIn a simple string topology “Split-TCP is able to provide a better overall throughput than TCP, up to about 15%”In a complex topology with mobility, “the total throughput improves with the use of proxies by about 5% to about 30%”

Page 7: Split-TCP: State of the Union Address Dan Berger 03/03/03.

Current WorkThe initial goal was to implement a linux kernel implementation.

This work was stymied by a lack of detailed understanding of the desired behavior of the protocol.

Work done last quarter found issues with the current simulation model which suggested it needed to be revisited.

Page 8: Split-TCP: State of the Union Address Dan Berger 03/03/03.

Forward, march!We decided to turn our attention to building a more accurate and usable simulation model in ns.The specific issues in the existing model we wanted to address were:

Lack of end-to-end window managementLack of dynamic proxy selection

Page 9: Split-TCP: State of the Union Address Dan Berger 03/03/03.

Proxy-To-Proxy Window Mgmt.

The initial simulation model literally decomposed a long TCP connection into multiple shorter connections.

This had undesired (and unforeseen) consequences.s

t

Page 10: Split-TCP: State of the Union Address Dan Berger 03/03/03.

Static Proxy SelectionAdditionally, this decomposition was done using global routing knowledge.

To accommodate mobility, the proxy selection code was re-run periodically.This meant that new TCP connections were established, and the old ones allowed to “drain.”

Page 11: Split-TCP: State of the Union Address Dan Berger 03/03/03.

The New ModelThe new simulation model consists of three components:

SplitTCPSourceSplitTCPWedgeSplitTCPSink

The Source and Sink are simply specializations of TCPSource and TCPSink, respectively.

Page 12: Split-TCP: State of the Union Address Dan Berger 03/03/03.

SplitTCPWedgeIn order to perform dynamic proxy selection, one needed to be able to inspect each packet received by a node.Then the decision to proxy can be based on whatever criteria seem appropriate.All “Split-TCP enabled” nodes run the wedge code.

Page 13: Split-TCP: State of the Union Address Dan Berger 03/03/03.

An Anonymous NS Node

Page 14: Split-TCP: State of the Union Address Dan Berger 03/03/03.

Better, Stronger, Faster

SplitTCPWedge

Page 15: Split-TCP: State of the Union Address Dan Berger 03/03/03.

Model SummaryThis new simulation model uses a TCP session established between the source and target, and dynamic proxy selection is performed along the path.s

t

Page 16: Split-TCP: State of the Union Address Dan Berger 03/03/03.

End-To-End Window Mgmt.

The TCP session performs window management “as usual” – but control can be tweaked both manually as well as by the Wedge.

For instance, end-to-end ACKs can be skipped, the congestion window can be managed based on inter-proxy ACKs, etc.

Page 17: Split-TCP: State of the Union Address Dan Berger 03/03/03.

Proxy SelectionEach node decides, independently, (currently based on hops since last proxy and their current backlog) if they should proxy a packet.Proxying does not keep per-flow state.Retransmissions are scheduled based on the current inter-proxy round trip time estimate.

Page 18: Split-TCP: State of the Union Address Dan Berger 03/03/03.

ResultsCurrent simulations show a 10% degradation in throughput vs. Standard TCP.With parameter tweaking, this degradation varies, but Split TCP never equals standard TCP.

Page 19: Split-TCP: State of the Union Address Dan Berger 03/03/03.

AnalysisOne identified cause of the dramatically different behavior of the old and new simulation models relates to out-of-order packet delivery.

In the old model, the packet stream was “reassembled” at each proxy – and bytes were only forwarded once they arrived in order.

Per-flow state at each proxy.

In the new model, this is not the case.

Page 20: Split-TCP: State of the Union Address Dan Berger 03/03/03.

ParameterizationBy tuning various parameters – including initial congestion window, window growth factors, etc – the throughput of Split TCP can be improved.

There are over 150 tuning parameters in the “stock” NS TCP code. If they were all just binary parameters that’s still 2150 possible configurations!

Page 21: Split-TCP: State of the Union Address Dan Berger 03/03/03.

ConclusionWe’re trying to determine rational next steps:

Do we continue the search for the “magic” set of parameters?Do we examine the behavior of the new model in scenarios with mobility?

Few answers, many more questions.