Subject: Re: TCP versus real-time apps in an int-serv internet

From: [email-masked] (Noel Chiappa)
Date: Tue, 15 Nov 94 02:07:41 -0500

From: Jon Crowcroft <[email-masked]>

    van played this clever game in 1988 with TCP _ he said   if we all play
    fair, what is the best we can do - then if we are all selfish what is the
    best we can do - then if playing fair does better for each individual than
    being selfish, then it is selfish to play fair.

This is something I've always wondered about, perhaps the more knowledgeable
out there can enlighten me.

I've always assumed that in a network full of VJCC TCP's, which attempt to
share bandwidth evenly between all comers, with no wasted bandwidth due to
congestion, there was a strategy which would allow a "bad guy" to get more
than an even share of the bandwidth. (If nothing else, you can act
algorithmically like you're two TCP connections, and get the badndwidth of
two, and not just one.) Maybe nobody has coded it up and deployed it yet, but
it seems like it should exist.

(Of course, if *everyone* does it, you probably rapidly do get into a "tragedy
of the commons" type situation, where you all *do* wind up worse off, but
that's not what I'm postulating. Yes, I know about optimal Prisoner's Dilemma
strategy, but that assumes that everyone sees you beign bad, and adjusts their
strategy to punish. If nobody notices, cheating could be a rational strategy.)

Your comment ("playing fair does better ... than being selfish") seems to
indicate otherwise, or were you just speaking of the TotC case where everyone
tried to be a bad guy?

If I'm wrong, and there is no such "Bad Guy" strategy, can someone explain
why not?

	Noel

---

From: Christian Huitema <[email-masked]>
Date: Tue, 15 Nov 1994 10:40:10 +0100

>it seems like it should exist.

The first class of selfish bad guys are indeed those who send audio or video
in open loop over the net. VJ's TCP is very polite, and will leave them the
play ground. Until now, this has been "managed" by confining them to the
MBONE, by limiting the MBONE share of the net, and by applying vigorous social
pressure against the misuse of the MBONE. But the same social pressure cannot
be applied against e.g. point to point video transmission.

Another problem with the "network full of VJCC TCP's" strategy is that it only
achieve some fairness by mandating that every body uses the same algorithm.
Whoever tries something different is "placing the network at risk": witness
the cold reception of Arizona's Vegas release for evidence. Yet there are many
reasons why we may want to try something different. The saw-tooth behaviour of
VJ's slow-start + congestion avoidance is not fit for audio or video
transmission; the "control per individual connection" is not well adapted to
the "transactional" usage of web clients, etc.

That is in fact Scott Shenker's most convincing argument for fair queuing, and
more generally for network-enforced policies. It allows users to try different
adaptation schemes and to chose the one which fits best their specific
application. In fact, if the end to end argument convinces us that users
should not depend on the network any more than necessary, the converse is also
true.

Christian Huitema

---

From: Jon Crowcroft <[email-masked]>
Date: Tue, 15 Nov 94 09:43:51 +0000

>it seems like it should exist.

people have done it - its called running two ftp's at once - you're
right, it works fine, but it isn't "bad" quite in the sense you
mean...
 
 >indicate otherwise, or were you just speaking of the TotC case where everyone

the latter

 jon