From ...
Path: supernews.google.com!sn-xit-02!sn-xit-03!supernews.com!cyclone-sjo1.usenetserver.com!news-out.usenetserver.com!sunqbc.risq.qc.ca!newsfeed.mathworks.com!EU.net!Norway.EU.net!127.0.0.1!nobody
From: Erik Naggum
Newsgroups: comp.lang.lisp
Subject: Re: corba or sockets?
Date: 30 Oct 2000 22:41:40 +0000
Organization: Naggum Software; vox: +47 800 35477; gsm: +47 93 256 360; fax: +47 93 270 868; http://naggum.no; http://naggum.net
Lines: 49
Message-ID: <3181934500577293@naggum.net>
References: <3181895804626114@naggum.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Trace: oslo-nntp.eunet.no 972946148 23965 195.0.192.66 (30 Oct 2000 22:49:08 GMT)
X-Complaints-To: newsmaster@eunet.no
NNTP-Posting-Date: 30 Oct 2000 22:49:08 GMT
mail-copies-to: never
User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.7
Xref: supernews.google.com comp.lang.lisp:2944
* Paolo Amoroso
| Could you please mention a few examples of well designed protocols
| that are worth studying? Thanks in advance.
TCP and IPv4 are _very_ good protocols. (I don't know enough about
IPv6 to rate it.) The telecommunications protocols used on the
gigabit trunks and on the long-haul high-speed interconnects are
amazing feats of science. Of the really, _really_ large protocol
suites, I find ITU's Signalling System #7, the Digital Subscriber
Signalling System, and the Integrated Digital Services Network
protocols as well-designed as they are complex. The Telecom people
have probably done some of the best work there is in protocol
design. Just take a look at how they started out with very low
speeds, like 300 bps, but over time managed to squeeze 56kbps
through the feeble phone lines that were not upgraded, then got DSL
to work across that same old copper wire. Impresses me, anyway.
FTP and SMTP are well-designed and fairly small protocols, too.
(Small does not mean quick-and-dirty: If you spend less than 3
months implementing a server or client for either of them, however,
you're doing it wrong, as almost every implementation that is not
regarded as a huge monstrosity are.)
As an example of a very good way of separating abstractions and
representation, ASN.1 and its encoding rules are worth a study, such
as what is done with SNMP.
Finally, if you don't know X.25, you don't know packet exchange, but
it's _real_ old, now, and probably doesn't bring anything directly
applicable to people who think in streams implemented on top of
record-based protocols, except what _not_ to do with streams and
when it really does make sense to use records.
_Very_ few of the recent application-level Internet protocols are
worth the paper they aren't published on. The sheer lack of design
behind the protocol that is _actually_ at work in the MIME cruft is
astonishing, but trying to track that braindamaged piece of shit
from its inception to its current specification level through the
numerous RFCs will tell you what a few over-sized egos who had no
clue what they were doing can do to a conceptually _very_ simple
thing: Wrap various objects in a textual representation.
On the other hand, the Network Time Protocol was done by people who
really cared and also who managed to keep the dolts out of the way.
#:Erik
--
Does anyone remember where I parked Air Force One?
-- George W. Bush