On MovieTome: The 10 worst movies of 2009 so far!
BNET Business Network:
BNET
TechRepublic
ZDNet

March 24th, 2008

Fixing the unfairness of TCP congestion control

Posted by George Ou @ 1:05 am

Categories: Infrastructure, Mobile/Wireless, Net Neutrality, Networking, News, Technology policy

Tags: Algorithm, Application, Bandwidth, Network, P2P, TCP, Fairness, Bob Briscoe, Van Jacobson, Jacobson

Exploiting Jacobson’s TCP algorithm

While Jacobson’s algorithm was suitable for the 1980s, cracks began to appear a decade later.  By 1999, the first P2P (peer-to-peer) application called Swarmcast began to blatantly exploit Jacobson’s TCP congestion control mechanism.  Using a technique called “parallel incremental downloading”, Swarmcast could grab a much larger share of the pie at the expense of others by exploiting the multi-stream and persistence loophole.  These two loopholes would be used by every P2P application since.

Simply by opening up 10 to 100 TCP streams, P2P applications can grab 10 to 100 times more bandwidth than a traditional single-stream application under a congested Internet link.  Since all networks have a bottleneck somewhere, a small percentage of Internet users utilizing P2P can hog the vast majority of resources at the expense of other users.  The following diagram illustrates the multi-stream exploit in action where User A hogs more and more bandwidth over User B by opening more and more TCP streams.  The large light green cutaway pipe represents a congested network link with finite capacity.

TCP multi-stream bandwidth hogging exploit

The other major loophole in Jacobson’s algorithm is the persistence advantage of P2P applications where P2P applications can get another order of magnitude advantage by continuously using the network 24×7.  The diagram below shows what happens when an application like BitTorrent uses the network continuously.  I wrote about this last month and presented a similar chart on Capitol Hill.

By combining these two loopholes, an application using 10 times as many TCP streams while being 10 times more persistent than other applications can get a 100 boost over other users when contending for network resources.

With millions of consumers on the Internet today with an insatiable appetite for multi-gigabyte videos, the Internet is facing its second congestion crisis.  While the network isn’t completely melting down, it’s completely unfair because fewer than 10% of all Internet users using P2P hogs roughly 75% of all network traffic at the expense of all other Internet users.  Even in a country like Japan which has the most per-user broadband capacity in the world, P2P applications have managed to turn Japan’s 100 Mbps per home fiber network in to a big traffic jam.  The problem has gotten so severe in Japan that the nations ISPs in conjunction with their Government have agreed to ban P2P users who are trafficking copyrighted content.

Source: Ministry of Internal Affairs and Communications, Haruka Saito, Counselor for Telecom Policy, Embassy of Japan

<Next page - The politicization of an engineering problem>

Pages: 1 2 3 4

George Ou is Technical Director of ZDNet. See his full profile and disclosure of his industry affiliations.

  • Talkback
  • Most Recent of 103 Talkback(s)
RE: Fixing the unfairness of TCP congestion control
Is there an Weighted TCP stack for Linux we can experiment with ? (Read the rest)
Posted by: ZEEK0 Posted on: 04/15/08 You are currently: a Guest | | Terms of Use
Wow  sgtgary@... | 03/24/08
Yes it certainly does  georgeou | 03/24/08
In My Honest Opinion  nucrash | 03/24/08
George made no such illustration...  robb@... | 03/24/08
You're wrong on several points  georgeou | 03/24/08
Who writes your articles?  robb@... | 03/24/08
Couple things  georgeou | 03/24/08
Wow, you are confused.  robb@... | 03/24/08
Beats you pretty much sums it up  georgeou | 03/24/08
George made no such illustration...  robb@... | 03/24/08
RE: Fixing the unfairness of TCP congestion control  pwtenny@... | 03/24/08
Why not QoS? Because it solves the wrong problem.  robb@... | 03/24/08
This isn't packet prioritization, it's lower level than that  georgeou | 03/24/08
RE: Fixing the unfairness of TCP congestion control  Vesicant | 03/24/08
Typo - Lyon's share?!?!?  t_mohajir | 03/24/08
This can be done at the router  RestonTechAlec | 03/24/08
Cheers!!  robb@... | 03/24/08
This is a much more complete way to solve the problem  georgeou | 03/24/08
Deep not the right word, Elegant maybe  rjcarlson49 | 03/24/08
It absolutely is a cheat and it's unfair  georgeou | 03/24/08
Unfair yes, cheating no  rjcarlson49 | 03/24/08
Benefitting unfairly at the expense of others is cheating  georgeou | 03/24/08
CHEAT  claymann39@... | 03/25/08
Comcast does NOT advertise unlimited bandwidth  georgeou | 03/25/08
The TCP protocols DO need to be fixed...  RestonTechAlec | 03/24/08
Absolutely no argument from me, I'm on your side.  georgeou | 03/24/08
No argument inferred  RestonTechAlec | 03/24/08
Fairness  kalensglitch | 03/24/08
TCP isnt the only problem  bpedman | 03/24/08
P2P primarily uses TCP, UDP applications are self constraining  georgeou | 03/24/08
P2P primarily uses TCP, UDP applications are self constraining  BobBriscoe | 03/26/08
RE: Fixing the unfairness of TCP congestion control  fairnotfair | 03/24/08
RE: Fixing the unfairness of TCP congestion control  kingzog | 03/24/08
George's Villany of P2P: Tying the Damsel to the RR Track  robb@... | 03/24/08
PSS: Your addendum to Briscoe's draft sounds worthy...  robb@... | 03/24/08
"Appears" working correctly does not contradict it's broken  georgeou | 03/24/08
RE: Fixing the unfairness of TCP congestion control  shawnspam | 03/24/08
Nothing "slippery" about giving everyone a fair share of bandwitdh  georgeou | 03/24/08
RE: Fixing the unfairness of TCP congestion control  fairnotfair | 03/24/08
Fixing the unfairness of ISP congestion control  rjplummer | 03/25/08
RE: Fixing the unfairness of TCP congestion control  fgoldstein | 03/24/08
Thanks for your response, here's mine  georgeou | 03/24/08
I agree (with your last sentence)  robb@... | 03/24/08
Ah, your true motivations came out sooner or later  georgeou | 03/24/08
My rather public hidden agenda: The Net should Work  robb@... | 03/24/08
You're good at twisting quotations and words  georgeou | 03/24/08
Might not use the Internet, but Comcast movies use bandwidth  curtian4 | 03/25/08
You're in denial of basic economics and reality  georgeou | 03/25/08
Reality Check  NetArch. | 03/26/08
Large number averages  fgoldstein | 03/24/08
Works as designed...  TtfnJohn | 03/24/08
You completely misquoted me  georgeou | 03/24/08
Also, I'm saying the user has a choice to use a volume cap  georgeou | 03/24/08
Yes, I do  TtfnJohn | 03/24/08
Engineering vs User vs Sales Policy  t.burninator@... | 03/24/08
The reality is that ALL networks are over sold and under provisioned  georgeou | 03/24/08
Exageration doesn't help  r_widell | 03/26/08
RE: Fixing the unfairness of TCP congestion control  Ginevra | 03/24/08
price ~ cost ?  delorimier | 03/24/08
You missed the whole point  georgeou | 03/24/08
Sounds like the U.S. tax system.  RichardBronosky | 03/24/08
Protocol shaping is NOT net neutrality  dave@... | 03/24/08
You?re not even consistent with your peers  georgeou | 03/24/08
Hardest steps are the easiest?  quinthar | 03/24/08
I too had my reservations about updating the TCP stack  georgeou | 03/24/08
RE: Fixing the unfairness of TCP congestion control  fridder | 03/24/08
Well, there are like a dozen implementations of AIMD  georgeou | 03/24/08
RE: Fixing the unfairness of TCP congestion control  rjcarlson49 | 03/24/08
This goes deeper than QoS  georgeou | 03/24/08
Politically best? maybe so  rjcarlson49 | 03/24/08
I don't disagree, but you're preaching to the choir  georgeou | 03/24/08
Then don't say Net Neutrality is Bad  NetArch. | 03/26/08
RE: Fixing the unfairness of TCP congestion control  johnsokol | 03/24/08
Again, Broadband is not CIR  georgeou | 03/24/08
RE: Fixing the unfairness of TCP congestion control  wein0 | 03/24/08
RE: Fixing the unfairness of TCP congestion control  dad4x | 03/24/08
RE: Fixing the unfairness of TCP congestion control  BrettGlass | 03/24/08
What isn't mentioned  commenter | 03/24/08
Excellent: but beware latent demand.  johnfenjackson@... | 03/25/08
RE: Fixing the unfairness of TCP congestion control  Hemlock Stones | 03/25/08
RE: Fixing TCP congestion: The 600 pound gorilla  jdubow@... | 03/25/08
RE: Fixing TCP congestion: The 600 pound gorilla  BobBriscoe | 03/26/08
Identifying a computer.  Anton Philidor | 03/25/08
No, it's easy to count how much data each person sends per unit time  georgeou | 03/25/08
Now it's easy to count...  Anton Philidor | 03/26/08
Look at the Peer's IPN  RARPSL | 03/25/08
This article completely missed the real problem  Notfillingthisin | 03/25/08
No network allows for full bursting constantly  georgeou | 03/25/08
ISP routers are not the boundary of your traffic  xodusprime | 03/27/08
RE: Fixing the unfairness of TCP congestion control  WaltFrench@... | 03/25/08
Your economic model is wrong because you're confusing objectives here  georgeou | 03/25/08
Discount by Connection Time  RARPSL | 03/25/08
Oversubscription  jmounteer@... | 03/25/08
Net Neutrality debate isn't solely a misunderstanding  BobBriscoe | 03/27/08
Bob, sorry I worded it wrong  georgeou | 03/27/08
RE: Fixing the unfairness of TCP congestion control  bk1022 | 03/28/08
RE: Fixing the unfairness of TCP congestion control  bk1022 | 03/28/08
This is a QoS Problem  anywhere.i.roam | 03/30/08
You should try Comcast  John Musbach | 04/01/08
RE: Fixing the unfairness of TCP congestion control  jtopping | 04/08/08
RE: Fixing the unfairness of TCP congestion control  anywhere.i.roam | 04/10/08
Implementing a new congestion control in Linux  runeks | 04/11/08
RE: Fixing the unfairness of TCP congestion control  ZEEK0 | 04/15/08

What do you think?

SponsoredWhite Papers, Webcasts, and Downloads

Click Here
advertisement

Recent Entries

Top Rated

    advertisement
    Click Here

    Archives

    ZDNet Blogs

    White Papers, Webcasts, and Downloads