[standards-jig] Pub/Sub for JNG?

Dave dave at dave.tj
Thu May 2 19:28:27 UTC 2002

Reply inline:

 - Dave

Joe Hildebrand wrote:
> Since dave didn't reply directly to any of my valid criticisms of UDP,
> I'm taking a slightly less concilliatory tone.  Sorry in advance.
You don't have to speak to me in the third person, dude ;-)

> Dave <dave at dave.tj> writes:
> > Will somebody please bring up one point that would appear to imply that
> > UDP is useless to almost everybody?  If not, then allowing people to
> > use UDP if they prefer causes us no harm, and may actually benefit some.
> Because (Joe looks around the room) no Jabber implementations will
> implement it, unless you write one.  /me holds his breath.
The actual XML transfer is done exactly the same way as the file tranfer
in FTP; once you've implemented one data transport layer in UDP, you've
done the hard work for any similar implementation.

> >>  I'll just add one point
> >> that hasn't been brought up.  Writing your own protocol on top of UDP would
> >> probably be a decent idea if you are a proprietary company with full control
> >> over client and server development.  However, for an open source project you
> >> will immediately shut off a large number of client developers who don't want
> >> to reimplement the protocol in their language of choice....
> > The UDP proposal that I came up with (quite off-handedly, as well -
> > I'm sure many others can think of even better specs) doesn't reimplement
> > most of TCP.  It merely consists of a sequence number for each datagram,
> > followed by the actual data.  TCP can't beat that ;-)
> Um.  Yes.  It can.  Sliding windows.  Congestion control.
All the fancy sliding windows and congestion control don't help that
poor 28.8 pipe between you and your ISP.  All they do is waste your
precious bandwidth.

> >> especially when
> >> they see everything you added to UDP is already in TCP.
> > I guess I'd have to admit that I kinda answered that above. . .
> I'll have to admit that you didn't.
I'm not adding congestion control and sliding windows to UDP, so I'm
not adding all of TCP into UDP.  Did I spell it out clearly enough?

> > ...and it's one that I already answered (and if you don't believe me,
> > I'll dig up the URL) - the PPP network that dial-up users connect to
> > isn't likely to start requiring congestion control anytime soon, since
> > there is only one computer that can transmit on any given channel,
> > so there's no contention to contend with :-)
> Yet you have to connect to someone on the other side.  If I'm a
> service provider, congestion control is a *feature*, since I've
> probably got thousands of modems that need to share bandwidth nicely.
> No, the PPP link may not need it (which I actually dispute), but the
> ISP network *does*.
In my 28.8 experience, the ISP network wasn't my bottleneck: my own darn
connection to the ISP was my bottleneck, and transmitting extra data to
help control the dataflow across the 'net simply aggravated the problem,
by tackling the wrong bottleneck.

> > Hmm ... that's actually a rather easy quantity to measure: try nslookup
> > a few times, and see how many of them work without resorting to TCP.
> > (You can just kill TCP at the firewall for a couple of minutes as you
> > test, if you want to be sure.)  If you've got a reasonably close DNS
> > server, none of them will fail.  The 20% statistic is probably only in
> > the congested areas, for long-distance traffic.  With all the Jabber
> > servers on the 'net, I'm sure you can find one that'll be able to receive
> > most of your datagrams (and if not, just stay with your standard TCP
> > connections - I'm not proposing that we eliminate them).  Arguing that
> > UDP shouldn't be allowed simply because some people may not be able to
> > use it productively isn't very wise, is it?
> OK, let me try a different direction.  No, I don't want to force
> people to use TCP.  There's just no benefit to server implementors,
> administrators, or users, so why would anyone write that code?
If there's really no benefit, nobody will write the code.  However,
the Jabber protocol loses nothing by allowing somebody to write
that code and feel confident that he can connect to anybody else who
decides that UDP is worth supporting.  What you're doing is deciding
that because you can't see any advantage to UDP (even though you can't
give a categorical refutation in order to claim that UDP is useless for
the Internet), Jabber shouldn't allow it.  That's the mistake PASCAL's
creators made, and look where it got them.  (C, on the other hand,
has been an enourmously successful language due to its simplicity,
achieved by not imposing arbitrary restrictions.)

> > Dave, who wonders how he always rubs people the wrong way. . .
> Because you seem to not be willing to allow for the possibility that
> other people have thought things through already.
I'm not willing to allow somebody to tell me that a protocol that's in
very widespread use on the Internet (because it's so good) is so bad that
our IM system shouldn't even allow it.  Only individual users know what's
best for them, so they should have the flexibility to use whatever is best
for them - even Microsoft can't think of every conceivable possibility.

> -- 
> Joe Hildebrand
> Chief Architect
> Jabber, Inc.
> http://www.jabber.com/
> _______________________________________________
> Standards-JIG mailing list
> Standards-JIG at jabber.org
> http://mailman.jabber.org/listinfo/standards-jig

More information about the Standards mailing list