
Go backward to Performance of Sliding Window Protocols
Go up to Top
LANs, Ethernet and Contention Protocols
- Having now solved (or at least beaten to death) the problem
of reliably getting packets exchanged between a pair of
connected hosts, we want to look at ways to interconnect
more than two hosts. This essentially brings us to the
network layer.
Warning: I added the "essentially" to the last sentence
because most people add an extra layer called the "Medium
access control" or MAC layer to address the issues
associated with local area networks that I plan to discuss
first as part of the network layer.
- The approaches used to building networks of machines that span
relatively small geographic areas (a mile or three) are quite
different from those used in much larger networks (spanning
hundreds or thousands of miles). Accordingly, networks are
categorized as:
- Local Area Networks
- or LANs which span small geographic
areas,
- Wide Area Networks
- or WANs which span huge areas, and
sometimes
- Metropolitan Area Networks
- for things that fall in the middle.
- Another feature that can be used to categorize networks is the
approach taken to making it possible for a large number of
distinct machines to exchange messages.
- Directly extending the approach we have assumed in our
discussion of the data link layer (i.e. connecting
all pairs of machines that want to communicate to
each other with a wire or fiber) is not feasible.
Even for small networks, the number of wires required,
n(n-1), gets too large too fast.
- One alternate approach is to just use enough wires to
ensure that there is a path through wires and other
computers between every pair of computers that need
to communicate. The computers along such path can then
help pass the messages along by acting as switches.
- The other alternative is to transmit each message in
such a way that all other machines can receive it.
- Broadcasting in the sense of radio is the obvious
way to do this.
- You can also "broadcast" through a wire with
many computers connected to it as is done in
cable TV systems.
- In a broadcast system, all computers will receive
all messages, but each message will contain an
address that will tell one machine to pay attention
to it and all others to ignore it.
- The broadcast approach is most commonly used in LANs.
It will be the first approach we consider.
- The big problem with using the broadcast approach is finding
a way that the machines in the network can take turns
broadcasting.
- We could conceivably assign a distinct frequency to each
station (effectively using FDM), but:
- This would preclude the use of many simple transmission
techniques (like NRZ and Manchester encoding) that can
be implemented cheaply in hardware.
- Dividing up the spectrum would limit the bandwidth
availble to any station. It would be nice if instead
when one station had a big message to send it could
use all the bandwidth for a short period (i.e. TDM
may waste less bandwidth).
- Taking turns is tricky, however, when you don't have any way
to "talk" about who goes next without using the network
itself.
- Ethernet is a protocol based on broadcasting that takes a
conceptually very simple approach to figuring out how to take
turns.
- When a machine on an Ethernet wants to send a message,
it first listens to see if any other machine is already
sending a message.
- If another machine is sending, it waits a random
amount of time and tries again.
- If no other machine is sending, it starts sending
its message.
- While sending a message, a machine continues to listen.
If it hears another machine's message while still
sending its own, it stops sending, waits a random amount
of time and then tries again.
- The basic approach used by Ethernet is called contention.
- While this approach it conectually simply, to appreciate
Ethernet fully one has to appreciate some of the fine points
of the exact ways in which Ethernet stations behave. To
appreciate these it is useful to discuss some of the choices
one has to make when designing a contention protocol. These
included:
- Slotted vs Unslotted transmission,
- degree of persistence (or maybe it should be called insistence).
- the use of carrier sensing
- the use of collision detection, and
- the collision resolution procedure.
Computer Science 336
Department of Computer Science
Williams College