Ethernet technology (was: Recommended PCI gigabit...)
Ben Scott
dragonhawk at gmail.com
Sat Jun 16 15:17:11 EDT 2007
It's time for another one of my patented long messages on technology! :-)
On 6/15/07, Jon 'maddog' Hall <maddog at li.org> wrote:
> If I remember correctly, after a packet comes across, the controller is
> supposed to wait some period of time before grabbing the wire again.
> This allows some other controller time to grab the wire.
There's something called "interframe gap" on Ethernet. I've always
heard it given as a way to compensate for the asynchronous design of
Ethernet. Since there's no global clock, there needs to be some dwell
time between frames so you can be sure the end-of-frame has propagated
through the whole bus, all the receivers have seen it, and made
themselves ready for the next sense/transmit/receive cycle.
I don't think it was explicitly intended to ensure balanced access
to the network. Google results seem to back this up. *All* nodes had
to wait for the network to be quiet. Once the gap was passed, the
regular CSMA/CD contention mechanism went into play.
That said, if somebody was shorting the gap, they'd certainly be
able to monopolize the network, since they'd be asserting carrier
before anyone else.
> AFAIK it was accepted and anticipated that an ETHERNET controller was
> never going to effectively move wire speed at any given time onto or off
> of the disk.
From what I've ready, that was a design assumption back in the early
days of Ethernet. One of the reasons "they" figured the lack of a
strong mechanism to regulate contention wasn't a problem was that
nothing out there would be able to saturate a 10 megabit/sec bus. Of
course, that changed.
On 6/15/07, Ric Werme <ewerme at comcast.net> wrote:
> A lot of what Maddog wrote pertains more to coax or hub based Ethernet
> (CSMA/CD, Carrier Sense, Multiple Access with Collision Deterction) which is
> "true Ethernet." Twisted pair media used with switches and routers I
> believe is all Single Access and has no collisions.
"It depends."
Twisted Pair Ethernet repeaters work just like coax repeaters. For
both systems, the cables plug into the repeater, and the signal that
comes in on one repeater port is sent back out all the others. It's
one big Collision Domain. The only difference is that with TP, there
are only two devices per segment -- each end of the cable. With coax,
you can have many transceivers (computers) on a single segment, with
either a repeater or a terminator at each end.
<ASIDE>
For those who have forgotten or never knew: Carrier Sense: Before
transmitting, check to see if someone else is. If so, wait. If not,
transmit. Collision Detect: If, while transmitting, someone else
transmits, notice this. On Ethernet, when a collision is detected, a
"jam signal" is transmitted.
There's a nice graphical explanation here:
http://www.erg.abdn.ac.uk/users/gorry/course/lan-pages/csma-cd.html
</ASIDE>
Anyway, back to TP and repeaters and switches.
Back in the day, switches were called "learning bridges". If you
had a big Ethernet network, it was one big Collision Domain. But a
lot of traffic tends to be localized, e.g., between the department
server and department workstations. So the Math Department would be
colliding with the Physics Department, even though they weren't
talking to each other.
So you put a Learning Bridge between the two departments. The
bridge had an two Ethernet transceivers, some buffer memory, and a
processor. It would "learn" which Ethernet addresses were on each
sides of the network, and would not forward packets between Collision
Domains unless they needed to be (i.e., destined for that side,
unknown addresses (new nodes), and broadcasts).
Indeed, this meant the terms "Collision Domain" and "Broadcast
Domain" became important for Ethernet. Before then, a single Ethernet
was always the same Collision Domain and Broadcast Domain. But thanks
to the learning bridge, the Collision Domain could be smaller than the
whole Broadcast Domain.
You could use a bridge with coax or TP. The modern 100BASE-T
"switch" is nothing more than a multi-port learning bridge. Somewhere
along the line, they decided the term "switch" was sexier, but it's
the same thing.
Gigabit I'm not sure about. I just went to check my facts on this,
and I'm seeing claims of gig Ethernet repeaters being defined by the
standard. I cannot find conclusive information right now. But in my
practical experience, I've only ever seen gigabit switches, and
gigabit has always been full-duplex.
On 6/15/07, Drew Van Zandt <drew.vanzandt at gmail.com> wrote:
> There are still collisions (of a sort) even on full-duplex switched
> networks. Two 10 Mbit devices can't talk full speed to the same 10
> Mbit conversation partner, obviously.
As you DTVZ implies, that's not a real Ethernet collision. That's a
buffer overrun on the switch. The switch will start dropping frames.
If Ethernet flow control is working, I guess it would also signal the
transmitting nodes to back off. (My knowledge of Ethernet flow
control is pretty much non-existent.)
You *can* have a collision on switched Ethernet, if Full Duplex
(FDX) is not in use. If both ends of a TP cable assert carrier at
once, that's a collision, same as on a coax network. It's a lot less
common, since the collision domain is limited to just the two ends of
the cable, but it can happen. In practical terms, if the computer
goes to transmit at the exact same moment the switch goes to send a
packet to the computer, you get a collision.
With Full Duplex, both ends can talk at once, the traffic "passes in
the night", and no collisions occur.
-- Ben
More information about the gnhlug-discuss
mailing list