Re: Melting the Internet?

Sean Foderaro (jkf@frisky.Franz.COM)
Wed, 03 May 95 08:02:05 -0700

CU-SeeMe may be the *most* Internet *unfriendly* application to ever
be widely distributed. (Of course that wasn't the intention).

The tcp/ip protocol suite contains two transmission protocols:
tcp - reliable, flow-controlled
udp - unreliable, no flow control

CU-SeeMe chose udp for the video, figuring that it didn't really
matter if a frame got lost in transmission.

Two problems with this:
1. udp is rarely used on long haul transmissions. (Can anyone name
another other program that tries to send large amounts of data
over the internet using udp?) As a result there are probably
bugs in the udp packet overflow code in many versions of
tcp/ip. [If we have link quality monitoring enabled on our
ppp connection then when CU-SeeMe run our ppp connection drops
because the Link Quality Monitoring packets can't get through]

2. It means that the application must do flow control.
I think that CU-SeeMe tries to do this via packet loss reports.
I don't know the details but I wouldn't be surprised if
packet loss reports get lost themselves when the network
buffers are full of udp video packets.

I think that the CU-SeeMe team (plus whoever gets access to the
source) should work first at making the program Internet Friendly.

Ideally the tcp protocol would be used throughout. That way you
compete fairly for network bandwidth with people doing other
important things (such as downloading Dilbert).

If that isn't possible, then do extremely aggressive flow control
(both in the cu-seeme application and in the reflectors).
When the application is downloaded it should have the cap set
at, perhaps, 0.5 fps. Setting it higher would require that you be able
to find the appropriate dialog box. When you tried to set it higher
you would get a warning describing the amount of network bandwidth
required for the transmission so you can decide if you really want to
use that much network bandwidth (and whether your net connection can
support it).