The Internet shouldn't work

Greed is good, or is it? Cue the Vsauce intro.

Have you ever thought, "How does the Internet work?". Not in the factual sense, but rather in disbelief. Think about this, you and your friend share an Internet connection, and you are both trying to download the latest... Ubuntu iso. Assuming the server can match your connection, who will get the fastest download speed, you or your friend? Well if TCP is used them you should get about the same speed. This is, somewhat simplified, because both of you will try to increase the download speed until data starts getting dropped. When data is dropped both of you will halve your speed and slowly start increasing again. After a few iterations, both of you will have the same download speed. Here is a simple demo of the effect. 

This works very well as long as neither of the parties is selfish. Good thing humans aren't selfish, right? As long as you don't back down, your friend will have to, even if you are using all the bandwidth. Ask yourself this, would you want faster Internet knowing that your roommate or neighbour got a slower connection?

I asked my computer networks teacher about this and got the answer that there have been game theoretical studies about TCP but no protection mechanism had been implemented. I found a research article on the topic with the following conclusion:

The conclusions about the Nash equilibria of the TCP Game under various scenarios imply that, while in the past, network operators could rely on the behavior of end-users to ensure the stable, efficient operation of the network, the same cannot be said of today’s Internet.

— Akella et al.[1]

So the Internet shouldn't work? Why does it? They had the following suggestions:

  1. It is too difficult to modify end-hosts to behave greedily.
  2. End-users consciously choose to behave in a socially optimal manner.

I for one always behave in a socially optimal manner, how about you?

It should, of course, be mentioned that there are other protocols in addition to TCP. However, they should preferably implement TCP Friendly Rate Control[2] in order to avoid crashing the Internet. 

 

Notes

  1. Selfish behavior and stability of the internet:: a game-theoretic analysis of TCP
  2. TCP Friendly Rate Control

Write your comment!

Comments

Golden Tor Surfer No. 47 2018-04-14 14:25:04
Nice post 10/10! I don't give a shit about socially optimal manner though ;)