[comp.sys.apollo] Ethernet Nonsense

frank@CAEN.ENGIN.UMICH.EDU (Randy Frank) (04/10/90)

I've sat quietly on the sidelines listening to various Ethernet nonsense until
I can't take anymore  :-)

1) the reason why you typically see 1 to 2 megabits per second process-to-
process typically has NOTHING to do with Ethernet loading.  It has almost
everything to do with:
  a) poor ethernet controllers that can't sustain more than a couple of
     megabit/second of sustained transmission
  b) poor implementation of TCP.  Prior to the work of Van Jaconsen virtually
     no ones TCP got more than a couple of megabits/second process to process.
  c) layering effects of the protocol implemetations, process context switch
     times between different protocol layer implementations, and (often
     significantly) buffer copying times within a host.
  d) lots of other implementation issues within a host that have the effect
     of slowing down actual process-to-process bandwidth
  e) gateways (routers) in the transmission path that often severely limit
     the effective transmission.  Gateways often become severly overloaded
     well before the subnets to which they are attached.

2) Ethernets under load
  a) Ethernets under load often to reach 8 to 9 megabits/second of useful
     carrying capacity.  
  b) When load increases while collision do increase it is controlled.
     Remember, just because two hosts want to transmit DOES NOT mean that
     a collision occurs.  Ethernets run under carrier sense W/ collision
     detection: translation: listen before you transmit, and only transmit
     if you hear a clear channel; backoff if you hear a collision while
     transmitting.  There is a very small window (50 usec) under which a
     collision can occur.  Two hosts have to try to initiate a transmission
     within 50 usec of each other in order for a collision to occur; in all
     other cases they will notice an active carrier and wait.
  c) in the event that a collision does occur, it will be noticed within the
     same 50 usec window, and both hosts backoff immediately.  On a heavily
     loaded ethernet the most likely scenario is that a third host will grab
     the wire immediately. (no one said that Ethernets exhibited guaranteed
     fairness).

3)  the effect of point 1 above is that it is VERY difficult for a single host
    to in fact use up anywhere close to the bandwidth of the network.

Randy Frank