'Selfish Routing' Slows the Internet
Smaz writes "Science Blog reports that a little love could speed things up on the Net. "Self-interest can deplete a common resource. It seems this also applies to the Internet and other computer networks, which are slowed by those who hurry the most. Fortunately, say computer scientists at Cornell University in Ithaca, N.Y. , there is a limit to how bad the slowdown can get. And after developing tools to measure how much the performance of a particular network suffers, they say, the way to get improved performance on the Internet is the same as the way to maintain air and water quality: altruism helps."
If you've got to rely on the goodwill of others to get by, you're totally screwed.
another resource depleting mechanism known as "Slashdotting"
__________
[Big Brick Wall]
...that this isn't the guys at Cornell just trying to capture more bandwidth for themselves? Seems like a good idea to me.
Me: Don't use as much bandwidth and everyone will go faster!
World: Hey! That seems like a good idea.
Me: (aside) Mwuhahahaha
Posting as directed.
Reasearch networks are particular well at this sports: For example, the German Research Network (DFN) has a strict anti-peering policy. GÉANT, a European research network, appears to accepts only links to a single research network operator in each member country.
Of course, the most important aspect of such networks is that the bandwidth they offer is helpful in Dick Size Wars at supercomputing conferences, so it's not a terribly loss for the Internet at large.
Somehow the only conclusion I could draw from the article is that using the network slows it down. Right, so could somebody explain what the article is trying to say?
Eventually the system will settle to an equilibrium that mathematicians call a Nash flow, which will be, on the average, slower than the ideal.
If nobody goes for the blond, we all get laid. Somebody go tell the routers.
Cnet's got a write up on this too.
So close and yet so far from the world's perfect ID number
Maybe I am just a lowly CCNP but is this all just a theory paper about the problems with "routing" or were there specifics about current routing protocols that should be updated or current practices that should be changed. Please help, everyone knows that the current routing could be better but theory stuff just does not help us much.
'Cool! One meg left! .......huh? WTF?!!? Disconnected?! You dirty SOB!..FUUuuuuuuuccCCCKKK!'
Given the growth of walled gardens, of email attacks, of DoS, of more traffic channeled through fewer fat pipes owned by fewer public/non-profit organizations, is this still possible?
***Foucault is watching you..***
It seems the researchers at Pinko U finally realize that routers have always been programmed using the enlightened-self-interest model of bandwidth utilization. It's time to shut them down.
The last thing we need is lazy, welfare dependant internet backbones sitting around all day watching The Dukes of Hazzard and drinking Lite Beer. If the altruists win this round, AOL transforms from the gated-suburb of the internet into the "Projects". Aren't we taxed enough?
It basically says that network congestion is like congestion on highways. If everybody is trying to change lanes all the time, they might save a bit of time for themselves, but on the whole they will slow down traffic for everybody.
In theory, this may slow down the internet by something like 50-60% at most. Nobody really knows how well the Internet conforms to the mathematical model, however. Any benefit from trying to fix the problem might be outweighed by the cost of implementing a solution.
"If I could live to be several hundred
I could take a walk and really wander, really wonder."
this is why I hate download managers, especially ones that create dozens of connections to download segments of large files.
My flatmate does that with eDonkey on TWO of his computers and squashed our bandwidth for a week (downloading pr0n of course)
"I would say that 99 per cent of what my father has written about his own life is false." - L. Ron Hubbard Jr.
I suppose this is the heart of the article, btw:
:-)
"if routers choose the route that looks the least congested, they are doing selfish routing. As soon as that route clogs up, the routers change their strategies and choose other, previously neglected routes. Eventually the system will settle to an equilibrium that mathematicians call a Nash flow, which will be, on the average, slower than the ideal. "
Now, hasn't there been a problem some time a long time ago in early Internet history where parts of the internet entered a state of self oscillation. I recall this was later fixed somehow to a point by revising some protocols.
I remember it basically as the problem where lots of routers (for some reason) started sending packets to one path, it got very congested, all routers switched to another, congested, etc.
I only have very vague memories since I took the course where I heard it some years ago. Perhaps I'm only full of bullshit.
Beware: In C++, your friends can see your privates!
If the "altruistic" behavior results in a better network, then isn't there a benefit for the altruistic behavior? Doesn't it cease being altruistic if there is a benefit? Aaggh! I'm caught in another Prisoner's Dilemma with an uncertain number of moves!
Where's my Dawkins? (That's twice today I've thought of him).
GF.
Lots of petrified grits
I would have had first post but it got stuck in a jam in Toronto.
Modest doubt is called the beacon of the wise. - William Shakespeare
It appears that they are claiming routers pick the fastest route to push packets down, which can in turn cause that route to become congested, thus slowing it down, and then the router picks a new route, causing it to become congested and slow down, and so on.
Supposedly, if the router picked the fastest AND least congested route, then some packets might take a little longer to get to their destination, but the overall latency of the internet would decrease.
In theory. In reality, I don't know how much peering arrangements change the equation. You see, if you are a network provider, you have two goals with peering: dump enough traffic onto your peer points so that you are exchanging about equal amounts with your peer AND get traffic that isn't bound for your network OFF your network as quickly as possible.
In practice, this means ISPs who peer have a large incentive to route packets coming from peer parter A directly to peer partner B, without regard for what that does to the latency of the packet, nor the congestion of the peering partners. The peered packets become more like the hot potato, bouncing around peer points until they actually arrive near the destination network. That lowers overall efficiency as well. (companies like Internap don't peer for this reason; they pay for all connection points even though they have enough traffic to get peering points for free. They cost more, but they have very low latency, packet loss, etc).
Natural != (nontoxic || beneficial)
'the internet' is faster then my connection to it, does it really matter?
The Kruger Dunning explains most post on
This is essentially a pricing problem.
Here's a quote from the original 1968 paper that used the term
There are two common solutions to this kind of problem. Regulate use of the common resource or sell it. Because of the structure of the internet, it is hard to fairly price bandwidth and no good regulatory scheme has developed, so I don't see any other answer than living with it.
I like my beverages with warning labels!
"Routers have many ways to decide. Sometimes they send out test packets and time them."
it isn't RIP, OSPF, EIGRP, or BGP. i don't know ISIS, but i strongly suspect these people are talking out of their asses.
Really?
I pledge allegiance to the flag...
of the Corporate States of America...
In many (but certainly not all), Internet traffic is similar to automobile traffic. Packets are discrete objects, like cars, and not continuous like a river or radio signal. Analysis on automobile traffic has already discovered properties like this. There are many simulations that show if we all ensured 3 car lengths between us and the next car, we would avoid the accordion and get to work significantly faster.
This article makes no sense from a proper real world routing perspective.
Any provider who is doing anything slightly serious will be using BGP4 routing for their EGP. It does NOT send out magic packets to find best paths. It learns routes from it's peers and will choose the best route based on a defined set of decisions. Routers do not keep a list of "neglected routes." If one route goes away, the router will simply pick the next best path.
Read more about BGP4 from Cisco's website. You will find little in common with this article and the one linked in the story.
Good routing relies on good admins with a well defined routing policy. There is no such thing as a "selfish" router.
Tim
The Tragedy of the Commons , often cited by environmentalists, describes 14th-century Britain, where each household tried to gain wealth by putting as many animals as possible on the common village pasture. Overgrazing ruined the pasture, and village after village collapsed.
The "tragedy of the commons" that Hardin's article is devoted to is increasing world population. What evidence is there for overgrazing in England before as opposed to during and after the forced transition to private ownership? Most cultures with a common land tradition also have a set of rules for governing land use that avoids such tragedies, for example, irrigation systems in Bali where the farmer who gets the water last controls the water flow. Ones that didn't solve the problem of overuse of resources are conspicuous by their non-existence (Easter Island, some settlements in the Southwest US, some populations on islands in the South Pacific ).
The 'tragedy of the commons' is one of the most misunderstood and overused metaphors of our times. The idea that a system with resources held in common is necessarily unworkable is false --- what is needed is institutions that effectively manage common resources, and such institutions have emerged repeatedly and continue to exist. Often it is when these cultures come into contact with market-oriented societies that the traditional systems are undermined and collapsed. Often what happens is not "the tragedy of the commons" but "the tragedy of failed privatization" in which a traditional management system is destroyed without establishing a viable alternative.
How does this relate to the internet? It's a cautionary tale --- be very very careful when introducing monetary incentives into a system that has previously relied on cooperation and cultural norms.
blog-O-rama
foldplay your photos won't know what hit them.
Already happens here [MIDS IWR, internetweather.com]
-former employee
pm
** "It's not my job to stand between the people talking to me, and the ones listening to me." -- Pego the Jerk
The problem is not that service providers pick the route that gets the packet to its destination quickest; it's that they pick the route that gets the packet off their network the fastest. Those two are not the same thing at all. Think about it geographically. Let's say I'm a square network and I receive a packet at the northern end of my western border destined for somewhere to my northeast. I know that the quickest way to get it to its destination is to move it east across my own network and deliver it to my eastern neighbor. However, I also know that if I pass it on to my northern neighbor it will still get there without coming to me again, and my northern neighbor is closer. So, if I'm a selfish bastard, what do I do? I ship it northward, minimizing the time that it spends on my own network but increasing the total time before it reaches its destination. If everyone does this same sort of "hot potato" routing, total load on the network increases for everyone. In fact, my northern neighbor might very well be doing the same for packets lying to our southwest. We'd both be better off if we'd "play nice" but since we're both trying to be selfish we both lose.
Yes, folks, it's an instance of the prisoners' dilemma and these researchers are not the first to notice the fact.
Slashdot - News for Herds. Stuff that Splatters.
First thought: What do oysters have to do with internet?
Second thought: OOPS! SELfish...
Third thought: ??????
Fourth thought: Profit!
Basically if everyone acts unselfishly they do better. But from each individuals perspective they do better when they act selfish, so it all falls apart. Its interesting stuff and the prisoners dilema game algorithms are interesting.
Prisoners Dilema
Play the dilema game online
Lansing, J. S. (1991) "Priests and Programmers: Technologies of power in the engineered landscape of Bali ", Princeton: Princeton University Press. Leviatan, U., H. Oliver, J. Quarter (1998)
blog-O-rama
foldplay your photos won't know what hit them.
Actually, just think about it from a larger perspective. There are many independent routers out there, and they each decide how to route their traffic simultaneously. Now, imagine that the least congested path (#1) is only slightly better than other potential paths. The problem is that _everyone makes the same decision_ and chooses this one path for their traffic. The result is congestion on the one popular path everyone chose. If that was the only effect, nobody would really care - but here's the catch : at the next time interval the same thing is likely to happen again! Everyone chooses #2 on the list, since #1 is now toast. They all crash into each other.
At the same time, I don't see how their suggestion really helps things that much. If everyone uses the same deterministic algorithm to choose a path, this sort of mass collision is still likely to happen (although it should happen less often with more complicated algorithms). I think that overall network performance would benefit from a little randomness in the routing algorithms. I'm not a CS, so there is probably already a random component that I don't know about.
In Soviet America the banks rob you!
Ipv6 supports better Qos so if the fastest route is congested the router can more easily find out and select an alternative route.
Internet2 has an extremely fast backbone and is based on Ipv6. This will help greatly since the backbone of the current internet can be quite congested at times. Lets hope its implemented soon as the current problem will likely go away.
http://saveie6.com/
I mean, the metrics a network uses to determine the best route are not at
all necessarily what is fastest, or what is closest..... it can be completely arbitrary.
Lowest latency, least used, least hops, least dollar cost, etc.
Some networks try to offload traffic to other networks as fast as possible. Others try to get data as close to the destination as possible before offloading it. In both cases, everything would work fine, if only everyone played by the same rules.
Ok, this has to be the most convoluted article I've ever read.. They're effectively saying, don't use the best route, pick another, because your extra traffic may break the best route.
:)
We diagramed a sample network here in the office, to try and explain what we just read to ourselves.. We picked 5 cities (New York, Chicago, Los Angeles, Dallas, and Miami), and drew direct routes between Miami, LA, and NY to each other. Chicago gets routes to NY and LA. Dallas gets routes to everything but Chicago.
We then contemplated what a packet from LA to NY would be looking at.
On our mythical network, we have the following ping times.
LA -> NY 20ms
LA -> Chicago -> NY 25ms
LA -> Dallas -> NY 40ms
LA -> Miami -> NY 60ms
So, we shoudn't be selfish, and take the LA->NY route? We should direct our traffic LA->Dallas->NY ? If this route is already slow or conjested, what good does that do? Now instead of using a perfectly good route, we're killing a conjected one.
If LA->NY is the best/fastest at the time, use it. If/when that becomes more conjested, it will no longer be the best choice, and the new best choice will be chosen..
Not everyone is going to be using YOUR best choice all the time.. Very doubtful that Miami will be routing to LA to go to NY. If they do, it's because Miami->LA is already overloaded. But as it usually works, For Miami->NY, there is already a second best choice (Miami->Dallas->NY).
No matter how we look at it, this doesn't make any sense.. Here's a sample of the lines for our example.
LA->NY OC192
LA->Chicago OC48
Chicago->NY OC48
LA->Dallas OC48
Dallas->NY OC24
So, we'll leave the LA->NY route empty, and keep dumping our load onto the lesser routes?
I do like the idea though, to keep the best choice (LA->NY) open for myself.. Everyone else chooses the second best route.. Go ahead and flood those OC48's, I'll use the OC192 that no one else uses..
Serious? Seriousness is well above my pay grade.
of the main paper : http://www.cs.cornell.edu/timr/papers/indep_full.p df and others.
:P
1. Their basic idea is to model decentralized routing as a Nash game and then worst-case compare the performance of this game with the best achievable by ANY algorithm, decentralized or not. This sort of comparison is common in the field of competitive analysis .
2. Assuming a hop latency to increase linearly with additional traffic on it, selfish routing causes the average packet latency to increase by no more than 4/3 of that caused by ideal optimal routing. This worst-case figure had been earlier called "the Price of Anarchy" by Papadimitriou, a famous researcher in algorithmic complexity who every CS student loves to hate
3. Similar Prices of Anarchy have been derived by them for when the hop latency increases nonlinearly with the additional traffic on it.
4. The worst case is always achievable with a simple network of 2 nodes connected by parallel links. This is the exactly the example used in networking courses and textbooks to illustrate the oscillation problem caused by selfish routing. This paper says that using this simple network as example is justified since the worst case can be always be analysed with it.
5. Instead of optimizing routing to try reach the minimum possible average latency, you can keep the routing selfish but double each link capacity and achieve the same result.
mom?
There are some odd things afoot now, in the Villa Straylight.
If there's anything the Internet has taught me. is that Mr. George Hull (not P.T. Barnum) was right.
Jim Harry
Is unfortunate proof that altruism breaks down on a large scale. This is the fundamental flaw of socialism - humans evolved from simian ancestors, who basically lived in small tribal groups. We are altruistic up to a maximum of about 75 or so individuals, then it breaks down.
I have seen videotape of a psychology experiment, where an individual feigned a serious medical problem and keeled over in the middle of the street. When the test subject tried this on a busy urban thoroughfare, large passing crowds actually stepped over the guy. But in a small village, shopkeepers rushed out onto the street to try and help him.
There was a famous murder case in NYC where over 100 neighbours heard a woman begging for help as she was having her life snuffed out over a sadistic killer over a period of time. Nobody reported it or tried to intervene, they all assumed somebody else would do something about it. This resulted in the passage of a law, which as I recall was the subject of the final Seinfeld episode.
My rights don't need management.
Good.. I was thinking we're idiots too.. Either that, or I need to start routing all my traffic down the most conjested pipes to watch it go faster. :)
n g
I've worked with our provider a bit with routing. We have mirrored servers in colo's around the country. If one city is conjested, we move traffic *AWAY* from the conjestion. Usually our traffic makes a difference for everyone else. I can have 500Mb/s added or removed from any given city within an hour, without flinching. Of course, before I do something like that, I put in a call first.. "Hey, can this city take 500Mb/s right now?"
We wrote a program to take traceroutes from all the cities to various points, and plot them all onto a big network map, with ping times and the like.. We know which cities, peerings, or lines have problems at a glance..
http://www.voyeurweb.com/network.12.23.2002-11h.p
Warning: This picture is *BIG*. It's of our networks in Los Angeles, New York, Tampa, between each other, and to all of the root nameservers.. It makes a rather extensive map that is 11580x2669. It won't fit on your screen. Save it, and take it into your favorite image editing software to view it..
This map is a little old (Dec 23, 2002 at 11am), but it gives a good impression of what the networks immediately around our servers looked like, and how they interact with each other.. Shitty networks stand out in red.. I definately wouldn't want to MORE of my traffic that way. Sometimes we don't have a choice. If your ISP uses a shitty provider, we have to send it that way..
Serious? Seriousness is well above my pay grade.
Altruism is not the way we keep air and water clean. Air and water quality are public goods (in the economics sense of the term), and keeping them clean is a collective action problem. It's straightforward game theory to show that the rational choice, in a system where you have no reason to trust people, is to make sure you don't get screwed before you have a chance to "get yours".
The way people and governments get out of a collective action problem (like an arms race, or like EMU monetary/fiscal policy, etc) is not through altruism, but through formal cooperation. In order to ensure that everyone cooperates, you need to (1) clearly define what constitutes cooperation, (2) make it transparent (obvious) who is cooperating and who is not, and (3) decide on mechanisms for enforcement.
-- jbl
if I could.
I think whoever wrote this article is far removed from the real world. They are finding theoretical problems with the routing protocols we would like to be running. As you pointed out, pretty much the entire backbone is using BGP4 to make routing decisions. And BGP4 doesn't really have any measure of how congested links are, nor how long the latency is. The basic measure of BGP4 is how many different providers (called AS's or Autonomous Systems) a packet might have to traverse.
Hmmm, the router says, is the best route thru C&W->AT&T->Bob's_ISP or just Level3->Bob's_ISP? I'll pick the two hop route. Sure, we all do some manual tuning, where the engineer says "I know the L3->Bob link is slow, so I'll make it look like L3->L3->Bob", but BGP4 is fundamentally a really stupid protocol. In theory. In practice, it works fine almost all of the time.
The most telling quote from the article is this:
They also found that doubling the capacity of the system would provide the same benefits as a managed system.
No shit Sherlock. I could've told you that five years ago. Why do you think QoS is still facing an uphill struggle? It's far cheaper and easier to just keep cranking up the bandwidth than to replace BGP4 with something smarter, or to deploy QoS protocols Internet wide.
Don't get me wrong, I think they are doing great research. It's good to try and figure out what might go wrong with next-gen protocols before the get deployed. But I don't think they are talking about problems on todays Internet.
Maybe I did not understand the article but chances are that maybe i did!
For distributed routing every router takes its own decision. SPF is used. Assume OSPF now. Routers
basically set weights on its interfaces/ports. There are two types of weights: static and dynamic.For static weights there is nothing much a router can do except obey (a lazy) administrator's decision.Dynamic weight setting gives a router some freedom. It may set its interface weights depending upon the available bandwidth. It could even penalize congestion by choosing very high weights for loads more than say 95% of the link capacity.
But there is a small problem commonly known as "osciallation". Consider two links A and B connected to a router. Router finds out that A is congested so it sets a high weight on interface A. This leads to shift of traffic from link A to link B. At some point link B will become loaded. Now the router sets interface B weight high.
Question: where will the traffic of link B go now? Right. To link A!! This is oscillation.
MPLE/IP:
In MPLS/IP networks it is possible to do load balancing based on the utilization of the links. The traffic being virtual-circuit would use the same path for the duration of its existance as LSP. No unnecessary oscillations here.
Offline Weight Optimization:
Bandwidth is the resource. Customers produce demand. The objective function, for example, could be to minimize Maximum Link Utilization. There are some constraints, for example, total demand will not exceed the link capacity, etc etc. How this global (entire network) optimization problem is solved is not a big deal, the big deal, however, is the result. The solution provides a set of weights which when set on the interfaces leads to a load-balanced and better utilized network.
Point : Humans maybe greedy but mathematics is generous!
Voltaire: God is dead.
God: Voltaire is dead!
What you're really relying on is the selfishness of the hardware. If the hardware itself did something different, then the people that bought them would live with that. Case in point is ethernet devices.
Each of these has an altruistic collision avoidance method: when a collision happens, stop sending and wait a random amount of time before sending again. A selfish ethernet device would always immediately attempt to send under the assumption that the other device would be waiting, and it would get to go first. But of course, that's very bad for the network, so it's not done.
The fact that we've got selfish routers is not a sign that they're selfish, per se, but that selfish routing is somewhere near the most effective a means of communication that they could think of at the time when they where invented.
Mod me down and I will become more powerful than you can possibly imagine!