Ethernet was developed
in the late 1970's by the Xerox Corporation at their Palo Alto
Research Centre in California. It has been estimated that over
70% of the worlds networks use the Ethernet protocol, so with
this in mind it would seem only sensible to discuss how it works.
If you would like to buy books on this subject, have a look at
the Network Cabling Help online book store.
OK, lets begin the lesson. Ethernet uses a protocol called CSMA/CD,
this stands for Carrier Sense, Multiple Access with Collision
Detection. To understand what this means lets separate the three
parts.
Carrier Sense - When
a device connected to an Ethernet network wants to send data it first
checks to make sure it has a carrier on which to send its data (usually
a piece of copper cable connected to a hub or another machine).
Multiple Access - This
means that all machines on the network are free to use the network whenever
they like so long as no one else is transmitting.
Collision Detection -
A means of ensuring that when two machines start to transmit data
simultaneously, that the resultant corrupted data is discarded, and re-transmissions
are generated at differing time intervals.
Here are some animated GIF's
to help explain basic Ethernet operation, below each one is a description
of what is happening.
If you want to start an animation from the
beginning hit your browsers refresh button.
The Basic Ethernet Bus
This is a coax based Ethernet
network where all machines are daisy chained using RG58 coaxial cable
(sometime referred to as Thin Ethernet or Thin-net).
Machine 2 wants to send
a message to machine 4, but first it 'listens' to make sure no one else
is using the network.
If it is all clear it starts
to transmit its data on to the network (represented by the yellow flashing
screens). Each packet of data contains the destination address, the senders
address, and of course the data to be transmitted.
The signal moves down the
cable and is received by every machine on the network but because it is
only addressed to number 4, the other machines ignore it.
Machine 4 then sends a message
back to number 2 acknowledging receipt of the data (represented by the
purple flashing screens).
But what happens when two
machines try to transmit at the same time? . . . . . a collision occurs,
and each machine has to 'back off' for a random period of time before
re-trying.
For the sake of simplicity
I have omitted the acknowledgement transmissions from the rest of the
animation's on this page.
Collisions
This animation starts with
machine 2 and machine 5 both trying to transmit simultaneously.
The resulting collision
destroys both signals and each machine knows this has happened because
they do not 'hear' their own transmission within a given period of time
(this time period is the propagation delay and is equivalent to the time
it takes for a signal to travel to the furthest part of the network and
back again).
Both machines then wait
for a random period of time before re-trying. On small networks this all
happens so quickly that it is virtually unnoticeable, however, as more
and more machines are added to a network the number of collisions rises
dramatically and eventually results in slow network response. Time to
buy a switch!!!
The exact number of machines
that a single Ethernet segment can handle depends upon the applications
being used, but it is generally considered that between 40 and 70 users
are the limit before network speed is compromised.
Using
a Hub
An Ethernet hub changes
the topology from a 'bus' to a 'star wired bus', here's how it works.
Again, machine 1 is transmitting
data to machine 4, but this time the signal travels in and out of the
hub to each of the other machines.
As you can see, it is still
possible for collisions to occur but hubs have the advantage of centralised
wiring, and they can automatically bypass any ports that are disconnected
or have a cabling fault. This makes the network much more fault tolerant
than a coax based system where disconnecting a single connection will
bring the whole network down.
Using
a Switch
To overcome the problem
of collisions and other effects on network speed, a switch is used.
With a switch, machines
can transmit simultaneously, in this case 1 & 5 first, and then 2
& 4. As you can see, the switch reads the destination addresses and
'switches' the signals directly to the recipients without broadcasting
to all of the machines on the network.
This 'point to point' switching
alleviates the problems associated with collisions and considerably improves
network speed.
In the real world however,
one or more of these machines will be servers, and as most network traffic
is between the clients and a server a serious bottle neck can occur. The
answer to this problem is to make server connections faster than the clients.
The normal solution is to have the
client machines on
100Mbs ports and the servers on 1000Mbs ports (Gigabit Ethernet).
This ten to one ratio is usually adequate because not all of the
clients will need to access the servers at the same time.
Token Ring
Unlike Ethernet,
Token Ring uses a ring topology whereby the data is sent from
one machine to the next and so on around the ring until it ends
up back where it started. It also uses a token passing protocol
which means that a machine can only use the network when it has
control of the Token, this ensures that there are no collisions
because only one machine can use the network at any given time.
The
Basics
Here is an animated GIF that shows
the basic operation of a Token Ring, and below is an explanation
of what is going on.
Although 16Mbps is
the standard ring speed these days (and Fast Token Ring is being developed)
we will consider a 4Mbps Token Ring in this tutorial to explain the
basic concepts.
Hit 'Refresh' on your
browser to start the animation from the beginning
At the start, a free Token
is circulating on the ring, this is a data frame which to all intents
and purposes is an empty vessel for transporting data. To use the network,
a machine first has to capture the free Token and replace the data with
its own message.
In the example above, machine
1 wants to send some data to machine 4, so it first has to capture the
free Token. It then writes its data and the recipient's address onto the
Token (represented by the yellow flashing screen).
The packet of data is then
sent to machine 2 who reads the address, realizes it is not its own, so
passes it on to machine 3. Machine 3 does the same and passes the Token
on to machine 4.
This time it is the correct
address and so number 4 reads the message (represented by the yellow flashing
screen). It cannot, however, release a free Token on to the ring, it must
first send the message back to number 1 with an acknowledgement to say
that it has received the data (represented by the purple flashing screen).
The receipt is then sent
to machine 5 who checks the address, realizes that it is not its own and
so forwards it on to the next machine in the ring, number 6.
Machine 6 does the same
and forwards the data to number 1, who sent the original message.
Machine 1 recognizes the
address, reads the acknowledgement from number 4 (represented by the purple
flashing screen) and then releases the free Token back on to the ring
ready for the next machine to use.
That's the basics of Token
Ring and it shows how data is sent, received and acknowledged, but Token
Ring also has a built in management and recovery system which makes it
very fault tolerant. Below is a brief outline of Token Ring's self maintenance
system.
Token
Ring Self Maintenance
When a Token Ring network starts up, the
machines all take part in a negotiation to decide who will control the
ring, or become the 'Active Monitor' to give it its proper title. This
is won by the machine with the highest MAC address who is participating
in the contention procedure, and all other machines become 'Standby Monitors'.
The job of the Active Monitor
is to make sure that none of the machines are causing problems on the
network, and to re-establish the ring after a break or an error has occurred.
The Active Monitor performs Ring Polling every seven seconds and ring
purges when there appears to be a problem. The ring polling allows all
machines on the network to find out who is participating in the ring and
to learn the address of their Nearest Active Upstream Neighbour (NAUN).
Ring purges reset the ring after an interruption or loss of data is reported.
Each machine knows the address
of its Nearest Active Upstream Neighbour. This is an important function
in a Token Ring as it updates the information required to re-establish
itself when machines enter or leave the ring.
When a machine enters the
ring it performs a lobe test to verify that its own connection is working
properly, if it passes, it sends a voltage to the hub which operates a
relay to insert it into the ring.
If a problem occurs anywhere
on the ring, the machine that is immediately after the fault will cease
to receive signals. If this situation continues for a short period of
time it initiates a recovery procedure which assumes that its NAUN is
at fault, the outcome of this procedure either removes its neighbour from
the ring or it removes itself.
Token
Ring Operation using a Hub
A Token
Ring hub simply changes the topology from a physical ring to a star
wired ring. The Token still circulates around the network and is
still controlled in the same manner, however, using a hub or a switch
greatly improves reliability because the hub can automatically bypass
any ports that are disconnected or have a cabling fault.
Further advancements
have been made in recent years with regard to Token Ring technology,
such as early Token release and Token Ring switching but as this
site is primarily concerned with cabling issues we will not go into
any more detail here.
|