From: Roberto Waltman on
Rene Tschaggelar <none(a)none.net> wrote:
>therion wrote:
>> Hi, I would need to implement an CSMA/CD L1 protocol code for RS485 in my
>> new AVR project for home automation.
>
>This collision protocol only makes sense with multiple
>masters, not in a master-slave setup. And if you have
>multiple masters, then better implement a token protocol.
>IMO, this collision protocol was one of the biggest
>mistakes in history of IT.
>
>Rene

May be, but it also may have been an unavoidable mistake - I can not
think of a better approach for Hawaii's original ALOHA radio network
on which Ethernet/CSMA/CD where partially based. (Especially when you
consider the technology available at the time.)
Each station in the Aloha network could not listen to the others, both
because of the terrain of the island and because the antennas were
directed to the "common medium", the satellite, so they had to
broadcast blindly and wait for the satellite to echo it back to all
the stations + acknowledge, as an indication that there was not
collision.
Of course the satellite or a dedicated ground station could have
worked as masters distributing tokens, allocating time slots, etc. but
that would have required them to adjust to changing network
configurations and use some of the available bandwidth. (9.6
Kbits/sec!!)
Again, think of the hardware available on the early 70's...

Excerpts from the paper "Ethernet: Distributed Packet Switching for
Local Computer Networks"
Robert M. Metcalfe and David R. Boggs
Xerox Palo Alto Research Center
CACM July 1976 (almost 30 years!)

".....
3. Design Principles
Our object is to design a communication system which can grow smoothly
to accommodate several buildings full of personal computers and the
facilities needed for their support.

Like the computing stations to be connected, the communication system
must be inexpensive. We choose to distribute control of the
communications facility among the communicating computers to eliminate
the reliability problems of an active central controller, to avoid
creating a bottleneck in a system rich in parallelism, and to reduce
the fixed costs which make small systems uneconomical.
Ethernet design started with the basic idea of packet collision and
retransmission developed in the Aloha Network [1]. We expected that,
like the Aloha Network, Ethernets would carry bursty traffic so that
conventional synchronous time-division multiplexing (STDM) would be
inefficient [1, 2, 21, 26]. We saw promise in the Aloha approach to
distributed control of radio channel multiplexing and hoped that it
could be applied effectively with media suited to local computer
communication. With several innovations of our own, the promise is
realized.

Ethernet is named for the historical luminiferous ether through which
electromagnetic radiations were once alleged to propagate. Like an
Aloha radio transmitter, an Ethernet transmitter broadcasts
completely-addressed transmitter- synchronous bit sequences called
packets onto the Ether and hopes that they are heard by the intended
receivers. The Ether is a logically passive medium for the propagation
of digit signals Is and can be constructed using any number of media
including coaxial cables, twisted pairs, and optical fibers.

3.1 Topology
We cannot afford the redundant connections and dynamic routing of
store-and-forward packet switching to assure reliable communication,
so we choose to achieve reliability through simplicity. We choose to
make the shared communication facility passive so that the failure of
an active element will tend to affect the communications of only a
single station. The layout and changing needs of office and laboratory
buildings leads us to pick a network topology with the potential for
convenient incremental extension and reconfiguration with minimal
service disruption.
....."

A few highlights:

"to accommodate several buildings full of personal computers..."

Several buildings, not a city, not the Internet, not the world.

"We expected that, like the Aloha Network, Ethernets would carry
bursty traffic so that conventional synchronous time-division
multiplexing (STDM) would be inefficient [1, 2, 21, 26]. "

Not teleconferencing, video-streaming, etc.

"we choose to achieve reliability through simplicity"

And that was indeed achieved.

(x-posted to alt.folklore.computers - I'm sure somebody will have
something interesting to comment over there, before drifting off-topic
for the next 3000 follow-ups... ;-) )



Roberto Waltman.

[ Please reply to the group,
return address is invalid ]
From: Steve O'Hara-Smith on
On Fri, 23 Sep 2005 09:00:04 -0400
Roberto Waltman <usenet(a)rwaltman.net> wrote:

> The Ether is a logically passive medium for the propagation
> of digit signals Is and can be constructed using any number of media
> including coaxial cables, twisted pairs, and optical fibers.


Indeed I once saw an ethernet installation where the medium was
the open air via a number of stubby ariels. It was a warehouse robot
control system with a number of robots and a control computer communicating
by ethernet with no wires.

--
C:>WIN | Directable Mirror Arrays
The computer obeys and wins. | A better way to focus the sun
You lose and Bill collects. | licences available see
| http://www.sohara.org/
From: Tim Shoppa on
> And if you have
>multiple masters, then better implement a token
> protocol. IMO, this collision protocol was one of
> the biggest mistakes in history of IT.

The token ring advocates always pointed out how certain circumstances
could lead to collision detection not working nicely. They were also
extremely unconfortable with the lack of guaranteed bandwidth for each
master etc.

But the token ring vs collision detection wars for general-purpose
networking were fought and token ring lost. In real life the concerns
that the token ring advocates had about collisions just don't happen,
even on highly saturated ethernets.

Now, you can make up some really stupid collision detection/back-off
algorithms that just don't work. CSMA/CD can be stupidly implemented
such that it doesn't work well. Usually these implementations were
done by committees who thought too hard about a simple problem and
worked hard to come up with an insane list of requirements. I think
the original poster was looking to avoid such mistakes by asking for
example code that does things the right (not wrong) way.

Curiously I've seen CSMA/CD done the "wrong way" most often when the
committee designing it has a lot of token ring advocates on it. They
add all sorts of arbitrary and unnecessary requirements about
guaranteed bandwidth etc. and make the result useless.

Token ring still lives on in many special-purpose protocols, not
necessarily because collision detection won't work but just because it
wasn't used.

Tim.

 | 
Pages: 1
Prev: Basic circuit
Next: Development Tools for NEC 78K