Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Feb 2000 01:13:51 -0800 (PST)
From:      "Rodney W. Grimes" <freebsd@gndrsh.dnsmgr.net>
To:        wollman@khavrinen.lcs.mit.edu (Garrett Wollman)
Cc:        cwasser@v-wave.com (Chris Wasser), freebsd-current@FreeBSD.ORG
Subject:   Re: dc0 wierdness with Compex Freedomline
Message-ID:  <200002250913.BAA69782@gndrsh.dnsmgr.net>
In-Reply-To: <200002241907.OAA27437@khavrinen.lcs.mit.edu> from Garrett Wollman at "Feb 24, 2000 02:07:40 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
> <<On Thu, 24 Feb 2000 10:21:31 -0700, Chris Wasser <cwasser@v-wave.com> said:
> 
> 
> > The theoretical maximum for 100BaseT-FDX (which is 200Mbps) is 25MB/s
> > (megabytes per second), 100BaseT-TX is 12MB/s [FYI: Mbps->MB/s you divide
> > by 8] I realize my punctuation may be off, but there you are.
> 
> Assuming you mean ``100BASE-T (half duplex)'' here... This is not

Just to put a final nit pick on this...
100BASE-T is not defined by the standards.  100baseTX, 100baseFX, and
100baseT4 are.
> quite right.  In a CSMA/CD medium access protocol, like that used by
> Ethernet, the actual capacity of the link is always(*) somewhat less than
> 100%; the exact value depends on the precise parameters of the
> transmissions at both ends.(**)
> 
> -GAWollman
> 
> (*)In non-trivial conditions; i.e., when actual work is being done.
> 
> (**)I've heard numbers between 70% and 95%.

And the major set of parameters that effect the higher side of this
number are MTU(Maximum Transmission Unit) and IFG (Interframe Gap)
and the protocol overhead of what ever proto you are using.

For those really interested in the nuts and bolts of the calculations
for this I refer you to ``Switched, Fast and Gigabit Ethernet Third Edition''
Robert Bryer & Sean Riley, ISBN 1-57870-073-6 chapter 7, ''Bandwidth: How
Much Is Enough?''.  Also chapter 2 in the same book for some of the data
used below and for a more indepth explination of what all these things
are, for that matter, 802.* :-)

Some interesting numbers:  (In a format that might help some people
understand where the magic numbers 1500, 1518 and 1538 come from in
ethernet documentation (though few folks but ethernet framer geeks
would ever deal with the 1538 number :-)).

  Layer 2 maximal data rate:  (ie, raw ethenet packets, no protocol)
    data / ( IFG + ( Preamble + SFD ) + DA + SA + type + data + CRC ) =
    1500 / ( 12  + ( 7        + 1   ) + 6  + 6  + 2    + 1500 + 4   )  = 97.53%
    1500 / ( 12  + ( 8              ) + 1518                        )  = 97.53%
    1500 / ( 1538                                                   )  = 97.53%

So infact the Layer 2 maximal data rate of 100BaseTX is 97.5929Mb/s or
12.1912MB/s.  I'll leave the Layer 3 to 7 calculation up to the reader,
as I am a hardware geek and I showed you how to do the calculations
at the hardwire layer, you software geeks can go figure out the
overhead for the software layers :-).

Please note that ``maximal'' is a key word in the above discussion, so
please don't tell me that not all frames are 1500 bytes of data, because
if they are not 1500 bytes of data you didn't solve the problem for the
maximal.

The first hardware that I know of that was ever capable of doing the
95.53% at the link layer was the i82586 by Intel on 10base, and you
had to lock the sucker up in continues ring search mode with a good
shared memory access mechanism to make it hit that.  You needed very
large chunks of shared memory (MB's) to sustain a very long burst of traffic
at wire speed.  You can not use ethernet in a shared mode and achive
these numbers (point to point or effectivly point to point via switching
only).

Anyone quoteing ethernet or any other MAC layer data rates without atleast
as much detail as above is practicing abuse of statistics and not presenting
hard factual data which should be treated as such.


-- 
Rod Grimes - KD7CAX @ CN85sl - (RWG25)               rgrimes@gndrsh.dnsmgr.net


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200002250913.BAA69782>