Subject: Re: SS20 network performance, take 2
To: None <port-sparc@netbsd.org>
From: David Laight <david@l8s.co.uk>
List: port-sparc
Date: 05/27/2002 12:47:17
On Sun, May 26, 2002 at 06:02:07PM -0400, der Mouse wrote:
> >> Switches have to receive at least the first 48 bits of the data (the
> >> Ethernet destination address) before they can tell what port(s) to
> >> forward the packet out, meaning a delay of at least 48 bit times,
> >> probably more because of channel seizure and suchlike goop.
> > Also beware that some of the early 10M switches (probably in the
> > hands of 'normal' people now) would actually discard the packet if
> > the target port was busy, rather than reverting to 'store and forard'
> > or generating a collision.
> 
> It's too late to generate a collision; the channel seizure is supposed
> to be long enough to ensure that either you get a collision or the coax
> is yours for the duration.

Not true, you would be generating a collision after 6 bytes, late
collisions are those that are detected beyond byte 64.  All you are
actually doing is reducing the maximum size of a valid network by
about 10%. 'Channel Seizure' (as you called it) happens during the
transmission of the preamble and first 64 bytes (which is why the
minimum packet size is 64 (in crc)).
Now I doubt that there has ever been a maximum sized 10M network
(IIRC 3 2km coax segments linked by 1.5km repeated sets).
100M networks might can exceed the size limit - which is why
there are the restrictions on type 1 (hub) and type 2 (store
and forward switch) switches.

> 
> Sure, you can collision jam anyway, but it'll produce a late collision
> error on the sending host, not a normal collision.  And if the packet
> is short and the sending host is far away, your jam may not get there
> until the whole packet has been sent.  (I suspect.  I haven't worked
> the arithmetic; it may be that the minimum packet size is enough larger
> than the channel seizure time that this isn't true, and you'll just get
> late collisions and collision fragments.)

Do the sums!  The collision 'jam' packet is 64 bytes of junk. You
were allowed to have txed it just before you saw the preable for the
packet you don't like (you might have been sending a valid packet).
In which case the start of it would have got to the sending station
before it had sent the initial 64 bytes if its own packet - so that
would be a normal collision and resent later.  All you are doing
it making your switch be 48 (actally 56+) bits long.

Indeed once you start transmitting the packet onto the target LAN
segment, it could collide with a packet there - which would have to
acted on - either by resending a stored copy of the packet, or
generating a collision back on the source LAN.

> 
> > The other type of device that will link two lan segments is a
> > 'repeater' set.  This links two coax segments keeping them in the
> > same collision domain [...]  NB these are AUI-AUI or coax-coax boxes,
> > and not the AUI 'fan-out' boxes which allow (typically) 8 computers
> > to be connected to one tap - which are much more like UTP hubs.
> 
> I have trouble seing the difference: in each case they're just signal
> repeaters.  The only question is whether the signal is in the form of
> Ethernet carrier or AUI transceiver-interface levels.
> 
> Actually, because of that, I would say that a UTP hub is much more like
> a multi-port form of one of these "repeater set"s, because it works
> with modulated carrier rather than the AUI signals that the multiport
> transceiver boxes you compare UTP hubs to do.

No - A UTP hub has a much easier job to do.  All it does is to
regenerate the data stream on a local clock (maybe even that isn't
necessary) and transmit the bit patterns out onto all the other
ports.  If it is receiving data on more than one port, it can
transmit the garbled mess generated by merging the data streams
onto all its ports.

On UTP 'collision detect' is 'receiving data while transmitting',
on coax it is 'average voltage on cable exceeds (ie is more -ve than)
-7v'.  The former is trivial to detect, the latter a complete pain
in the but - mains hum, radio stations etc all make it very hard.

This is particulatly true since the repeater set has to detect
a collision when two other stations are transmitting (receive mode
collision detect) and requires very high tolerance components
in the transceiver.  Normally a tranceiver only has to generate
a valid 'collision' signal when it is transmitting.  Also
collisions outside the 64 byte window can (more or less) be
ignored - they lead to CRC errors.

	David

-- 
David Laight: david@l8s.co.uk