TCP Friendliness Considered un-friendly
Jon Crowcroft
WAGN

Introduction
The Internet “Community” has adopted TCP-like behaviour as a Gold Standard:
This talk is about why this may be very detrimental to future choice
We’ll use examples from transport protocol requirements
Other arguments are also possible

Topics of Discussion
What is TCP like behaviour exactly?
What other requirements might there be on transport protocols?
What impact (if any) does this have on IP (routers)?
Are there other implications?

TCP friendliness #1
Basic rule is that on an end-to-end time scale, a flow should try to achieve fairness (e.g. Raj Jain’s fairness definition) with TCP – two approaches are
 implement AIMD
Use TCP equation (1/rtt*sqrt(loss)

TCP friendliness #2
Has been made “respectable” by Kelly, Maulloo & Tan
Proportional fairness includes link (if 1/RTT == link cost) as well as max-min share of pipe over timescale of adaptation…
Has a bug: needs user choice of route over short timescale…
Has a missing middle (risk?)

Not TCP-friendliness
Multicast
Mobile
Link cost varies (CDMA)
Striped flows
etc

1. Multicast #1
Microsoft use a 1.2Gbps link 24*365
Jim Gemmell computes if they multicast each thing once, and used PGMcc (or RLC) they’d only need a 10kbps link
BUT your download would take 1 yearJ

1. Multicast #2
Sweet spot is a function of receivers timescales/needs and the number of receivers
Non trivial rate selection
Multi-rate is better but not ideal – still complex
Need to consider sender, and network topology has least implicitly

2. Mobile
If I move, the link share with other people varies
Why should my rate vary?
Why should theirs?
What if my path is predictable?

3 Wireless
CDMA nets share is affected directly but other users use looks like noise
What if I do multi-hop radio net, but can dynamically choose size of cell/hop?
What if I can choose whether to be a router or not dynamically?

4. Striped
Sometimes my access link is fast (e.g. GRID) 1.2Gpbs, but each path on a route is slower
What if I Stripe data
Much the same as the layered multicast case, only perhaps a tad easier…

Impact on IP forwarding/route?
Local FIFO+drop or ECN gives a shadow packet (or bit if virtual buffer) price
TCP equation. is proportional fairness
Can in principle translate all the previous problems into a form of this
But users may not want to (c.f. audio/video adapt price, not rate? What about session level price stability preferences?)

Other implications
Need to consider enforcement – M3I model is to do this via money and admission (per packet, per flow, per aggregate) – maybe other permits could be allowed
Need to implement hierarchical monitoring
Risks need understanding

Real Life
In practice, provisioning enforces capacity rules in most ISPs (tier 1 core’s over provisioned compared to access ISPs access links, but access ISPs are 3-1 to7-1)
In practice, scheduling & queue management in the net are pretty chaotic…at the whim of vendor/provider

What This Means
Need to reshape the agenda
Hard to do (the IETF is dominated by dogma just like ISO and ITU were 10-20 years ago)
But hey, we are researchers, so just do it!

Next Steps
M3I has a metering/edge admission architecture
Need to quantify set of costs and distribute them from within net
Need to talk to router people about deploying smarter ECN like stuff
Need a break…