<?xml version="1.0" encoding="utf-8"?>
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:bib="http://bibtexml.sf.net/" xmlns:q="http://cnx.rice.edu/qml/1.0" id="m10284" module-id="" cnxml-version="0.6">

  <title>Ethernet</title>

  <metadata xmlns:md="http://cnx.rice.edu/mdml/0.4">
  <!-- WARNING! The 'metadata' section is read only. Do not edit below.
       Changes to the metadata section in the source will not be saved. -->
  <md:content-id>m10284</md:content-id>
  <md:title>Ethernet</md:title>
  <md:version>2.13</md:version>
  <md:created>2001/08/09</md:created>
  <md:revised>2009/06/11 09:29:54.992 GMT-5</md:revised>
  <md:authorlist>
    <md:author id="dhj">
        <md:firstname>Don</md:firstname>
        <md:surname>Johnson</md:surname>
        <md:fullname>Don Johnson</md:fullname>
        <md:email>dhj@rice.edu</md:email>
    </md:author>
  </md:authorlist>
  <md:maintainerlist>
    <md:maintainer id="dhj">
        <md:firstname>Don</md:firstname>
        <md:surname>Johnson</md:surname>
        <md:fullname>Don Johnson</md:fullname>
        <md:email>dhj@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="jac3">
        <md:firstname>John</md:firstname>
        <md:othername>Austin</md:othername>
        <md:surname>Cottrell</md:surname>
        <md:fullname>John Cottrell</md:fullname>
        <md:email>jac3@rice.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  <md:license href="http://creativecommons.org/licenses/by/1.0"/>
  <md:licensorlist>
    <md:licensor id="dhj">
        <md:firstname>Don</md:firstname>
        <md:surname>Johnson</md:surname>
        <md:fullname>Don Johnson</md:fullname>
        <md:email>dhj@rice.edu</md:email>
    </md:licensor>
  </md:licensorlist>
  <md:keywordlist>
    <md:keyword>broadcast</md:keyword>
    <md:keyword>capacity</md:keyword>
    <md:keyword>collision</md:keyword>
    <md:keyword>communication networks</md:keyword>
    <md:keyword>ethernet</md:keyword>
    <md:keyword>information communication</md:keyword>
    <md:keyword>network</md:keyword>
    <md:keyword>network architecture</md:keyword>
    <md:keyword>packet</md:keyword>
    <md:keyword>packet size</md:keyword>
    <md:keyword>protocol</md:keyword>
    <md:keyword>random access</md:keyword>
    <md:keyword>transceiver</md:keyword>
  </md:keywordlist>
  <md:subjectlist>
    <md:subject>Science and Technology</md:subject>
  </md:subjectlist>
  <md:abstract>The ethernet is a network supporting the transfer of packets of information between computers.</md:abstract>
  <md:language>en</md:language>
  <!-- WARNING! The 'metadata' section is read only. Do not edit above.
       Changes to the metadata section in the source will not be saved. -->
</metadata>

<content>
    <figure id="ethernet">
      <media id="id8160780" alt="">
        <image src="sys24.png" mime-type="image/png"/>
        <image src="sys24.eps" mime-type="application/postscript"/>
      </media>
      <caption>
	The Ethernet architecture consists of a single coaxial cable
	terminated at either end by a resistor having a value equal to
	the cable's characteristic impedance.  Computers attach to the
	Ethernet through an interface known as a
	<emphasis>transceiver</emphasis> because it sends as well as
	receives bit streams represented as analog voltages.
      </caption>
    </figure>
    
    <para id="par1">
      Ethernet uses as its communication medium a single length of
      coaxial cable (<link target-id="ethernet" strength="3"/>).  This
      cable serves as the "ether", through which all digital data
      travel. Electrically, computers interface to the coaxial cable
      (<link target-id="ethernet" strength="3"/>) through a device known
      as a <term>transceiver</term>. This device is capable of
      monitoring the voltage appearing between the core conductor and
      the shield as well as applying a voltage to it. Conceptually it
      consists of two op-amps, one applying a voltage corresponding to
      a bit stream (transmitting data) and another serving as an
      amplifier of Ethernet voltage signals (receiving data). The
      signal set for Ethernet resembles that shown in <link document="m0543" target-id="1002" strength="2">BPSK Signal
      Sets</link>, with one signal the negative of the
      other. Computers are attached in parallel, resulting in the
      circuit model for Ethernet shown in <link target-id="transceiver" strength="3"/>.
    </para>
    
    <exercise id="exer1">
      <problem id="id9544714">
	<para id="prob1">
	  From the viewpoint of a transceiver's sending op-amp, what
	  is the load it sees and what is the transfer function
	  between this output voltage and some other transceiver's
	  receiving circuit?  Why should the output resistor
	  <m:math>
	    <m:ci>
	      <m:msub>
		<m:mi>R</m:mi>
		<m:mi>out</m:mi>
	      </m:msub>
	    </m:ci>
	  </m:math>
	  
	  be large?
	</para>
      </problem>
      
      <solution id="id8759707">
	<para id="sol1">
	  The transmitting op-amp sees a load or  
	  <m:math>
	    <m:apply>
	      <m:ci><m:mo>∥</m:mo></m:ci>
	      <m:apply>
		<m:plus/>
		<m:ci>
		  <m:msub>
		    <m:mi>R</m:mi>
		    <m:mi>out</m:mi>
		  </m:msub>
		</m:ci>
		<m:ci>
		  <m:msub>
		    <m:mi>Z</m:mi>
		    <m:mn>0</m:mn>
		  </m:msub>
		</m:ci>
	      </m:apply>
	      <m:apply>
		<m:divide/>
		<m:ci>
		  <m:msub>
		    <m:mi>R</m:mi>
		    <m:mi>out</m:mi>
		  </m:msub>
		</m:ci>
		<m:ci>N</m:ci>
	      </m:apply>
	    </m:apply>
	  </m:math>, where <m:math><m:ci>N</m:ci></m:math> is the
	  number of transceivers other than this one attached to the
	  coaxial cable. The transfer function to some other
	  transceiver's receiver circuit is

	  <m:math>
	    <m:ci>
	      <m:msub>
		<m:mi>R</m:mi>
		<m:mi>out</m:mi>
	      </m:msub>
	    </m:ci>
	  </m:math>

	  divided by this load.
	</para>
      </solution>
    </exercise>

    
    <figure id="transceiver">
      <media id="id6979236" alt="">
        <image src="opamp14.png" mime-type="image/png"/>
        <image src="opamp14.eps" mime-type="application/postscript"/>
      </media>
      <caption>
	The top circuit expresses a simplified circuit model for a
      transceiver. The output resistance
	<m:math>
	  <m:ci>
	    <m:msub>
	      <m:mi>R</m:mi>
	      <m:mi>out</m:mi>
	    </m:msub>
	  </m:ci>
	</m:math>
	
	must be much larger than 
	<m:math>
	  <m:ci>
	    <m:msub>
	      <m:mi>Z</m:mi>
	      <m:mn>0</m:mn>
	    </m:msub>
	  </m:ci>
	</m:math>

	so that the sum of the various transmitter voltages add to
	create the Ethernet conductor-to-shield voltage that serves as
	the received signal
	<m:math>
	  <m:apply>
	    <m:ci type="fn">r</m:ci>
	    <m:ci>t</m:ci>
	  </m:apply>
	</m:math>

	for all transceivers. In this case, the equivalent circuit
	shown in the bottom circuit applies.
      </caption>
    </figure>

    
    <para id="par2">
      No one computer has more authority than any other to control
      when and how messages are sent. Without scheduling authority,
      you might well wonder how one computer sends to another without
      the (large) interference that the other computers would produce
      if they transmitted at the same time. The innovation of Ethernet
      is that computers schedule themselves by a
      <term>random-access</term> method. This method relies on the
      fact that <emphasis>all</emphasis> packets transmitted over the
      coaxial cable can be received by <emphasis>all</emphasis>
      transceivers, regardless of which computer might actually be the
      intended recipient. In communications terminology, Ethernet
      directly supports broadcast. Each computer goes through the
      following steps to send a packet.
    </para>
    
    <list id="lisprotocol" list-type="enumerated">
      <item>
	The computer senses the voltage across the cable to determine
	if some other computer is transmitting.
      </item>
      <item>
	If another computer is transmitting, wait until the
	transmissions finish and go back to the first step. If the
	cable has no transmissions, begin transmitting the packet.
      </item>
      <item>
	If the receiver portion of the transceiver determines that no
	other computer is also sending a packet, continue transmitting
	the packet until completion.
      </item>
      <item>
	On the other hand, if the receiver senses interference from
	another computer's transmissions, immediately cease
	transmission, waiting a random amount of time to attempt the
	transmission again (go to step 1) until only one computer
	transmits and the others defer. The condition wherein two (or
	more) computers' transmissions interfere with others is known
	as a <term>collision</term>.
      </item>
    </list>
    
    <para id="para3">
      The reason two computers waiting to transmit may not sense the
      other's transmission immediately arises because of the finite
      propagation speed of voltage signals through the coaxial
      cable. The longest time any computer must wait to determine if
      its transmissions do not encounter interference is

      <m:math>
	<m:apply>
	  <m:divide/>
	  <m:apply>
	    <m:times/>
	    <m:cn>2</m:cn>
	    <m:ci>L</m:ci>
	  </m:apply>
	  <m:ci>c</m:ci>
	</m:apply>
      </m:math>, where <m:math><m:ci>L</m:ci></m:math> is the coaxial
      cable's length. The maximum-length-specification for Ethernet is
      1 km.  Assuming a propagation speed of 2/3 the speed of light,
      this time interval is more than 10 μs. As analyzed in
      <link document="m10352" target-id="item6.25" strength="2">Problem
      22</link>, the number of these time intervals required to
      resolve the collision is, on the average, less than two!
    </para>


    <exercise id="exer2">
      <problem id="id6997849">
	<para id="prob2">
	  Why does the factor of two enter into this equation?
	  (Consider the worst-case situation of two transmitting
	  computers located at the Ethernet's ends.)
	</para>
      </problem>
    
      <solution id="id8282706">
	<para id="sol2">
	  The worst-case situation occurs when one computer begins to
	  transmit just before the other's packet
	  arrives. Transmitters must sense a collision before packet
	  transmission ends. The time taken for one computer's packet
	  to travel the Ethernet's length <emphasis>and</emphasis> for
	  the other computer's transmission to arrive equals the
	  round-trip, not one-way, propagation time.
	</para>
      </solution>
    </exercise>
    

    <para id="para4">
      Thus, despite not having separate communication paths among the
      computers to coordinate their transmissions, the Ethernet random
      access protocol allows computers to communicate without only a
      slight degradation in efficiency, as measured by the time taken
      to resolve collisions relative to the time the Ethernet is used
      to transmit information.
    </para>
    
    <para id="para5"> 
      A subtle consideration in Ethernet is the minimum packet size  

      <m:math>
	<m:ci>
	  <m:msub>
	    <m:mi>P</m:mi>
	    <m:mi>min</m:mi>
	  </m:msub>
	</m:ci>
      </m:math>.
      The time required to transmit such packets equals  
      
      <m:math>
	<m:apply>
	  <m:divide/>
	  <m:ci>
	    <m:msub>
	      <m:mi>P</m:mi>
	      <m:mi>min</m:mi>
	    </m:msub>
	  </m:ci>
	  <m:ci>C</m:ci>
	</m:apply>
      </m:math> , where <m:math><m:ci>C</m:ci></m:math> is the
      Ethernet's capacity in bps. Ethernet now comes in two different
      types, each with individual specifications, the most
      distinguishing of which is capacity: 10 Mbps and 100 Mbps. If
      the minimum transmission time is such that the beginning of the
      packet has not propagated the full length of the Ethernet before
      the end-of-transmission, it is possible that two computers will
      begin transmission at the same time and, by the time their
      transmissions cease, the other's packet will not have propagated
      to the other. In this case, computers in-between the two will
      sense a collision, which renders both computer's transmissions
      senseless to them, without the two transmitting computers
      knowing a collision has occurred at all! For Ethernet to
      succeed, we must have the minimum packet transmission time
      exceed <emphasis>twice</emphasis> the voltage propagation time:

      <m:math>
	<m:apply>
	  <m:gt/>
	  <m:apply>
	    <m:divide/>
	    <m:ci>
	      <m:msub>
		<m:mi>P</m:mi>
		<m:mi>min</m:mi>
	      </m:msub>
	    </m:ci>
	    <m:ci>C</m:ci>
	  </m:apply>
	  <m:apply>
	    <m:divide/>
	    <m:apply>
	      <m:times/>
	      <m:cn>2</m:cn>
	      <m:ci>L</m:ci>
	    </m:apply>
	    <m:ci>c</m:ci>
	  </m:apply>
	</m:apply>
      </m:math>
      or

      <equation id="eq2">
	<m:math display="block">
	  <m:apply>
	    <m:gt/>
	    <m:ci>
	      <m:msub>
		<m:mi>P</m:mi>
		<m:mi>min</m:mi>
	      </m:msub>
	    </m:ci>
	    <m:apply>
	    <m:divide/>
	      <m:apply>
		<m:times/>
		<m:cn>2</m:cn>
		<m:ci>L</m:ci>
		<m:ci>C</m:ci>
	      </m:apply>
	      <m:ci>c</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>
      </equation>

      Thus, for the 10 Mbps Ethernet having a 1 km maximum length
      specification, the minimum packet size is 200 bits.
    </para>

    <exercise id="exer3">
      <problem id="id7037611">
	<para id="prob3">
	  The 100 Mbps Ethernet was designed more recently than the 10
	  Mbps alternative.  To maintain the same minimum packet size
	  as the earlier, slower version, what should its length
	  specification be? Why should the minimum packet size remain
	  the same?
	</para>
      </problem>
      <solution id="id7487687">
	<para id="sol3">
	  The cable must be a factor of ten shorter: It cannot exceed
	  100 m. Different minimum packet sizes means different
	  packet formats, making connecting old and new systems
	  together more complex than need be.
	</para>
      </solution>
    </exercise>

  </content>
</document>
