Here is an overview of how the Ethernet MAC protocol works, using a "listen before talk" approach. When
a network node has a message ready to send, it first senses the cable to see if any node is currently sending.
If so, it generates a random backoff time, waiting this amount of time before trying again. If the node does
not "hear" any other node sending, it will go ahead and send.
There is a small chance that another node actually had been sending but due to signal propagation delay the
transmission had not yet reached the first node. In that case a collision will occur, destroying both messages.
Both nodes will sense the collision, and again wait random amounts of time before trying again.
This layer also does the setting up of frames of bits (i.e. sets of consecutive bits sent along the wire), which
not only include the message itself but also information such as (say, in the Ethernet case) the Ethernet ID
number of the destination machine.6
Messages may be broken up into pieces before being sent. This may be handled at the transport level (see
below), but may also be done at the data link level.
3.1.3 Network Layer
This is the routing layer. Questions addressed in this layer include: If in our example above saturn wants
to send a message to holstein, how is that accomplished? Obviously its first step is to send the message to
mars; how does saturn know this? How can alternate routes be found if traffic congestion occurs?
3.1.4 Transport Layer
Suppose saturn's message to holstein consists of a large file transfer, say 100 megabytes. This transfer will
take a long time (by network standards), and we certainly don't want it to monopolize the network during
4In a small Ethernet, we would not even have two nodes on one cable; we would just have each station connected to a different
port in the hub.
5And the address of an Ethernet or other LAN card is known as the MAC address of the card.
6This phrasing implies that the frame will be sent only to another machine on the same Ethernet. This is true, but it may be that
the frame's ultimate destination is on another LAN, and the current Ethernet destination ID is for a machine which plays the role of
a intermediary router to other LANs. See the description of the Network layer below.
6
that time. We also must deal with the fact that the buffer space at holstein won't be large enough to deal
with a 100-megabyte message. Also, one 100-megabyte message would have a sizable probability of having
at least one bit in error, and if so, we would have to retransmit the entire message!
So, the file transfer must be done in pieces. But we don't want to burden the user at saturn with the task of
breaking up the 100 megabytes into pieces, nor do we want to burden the user at holstein with the reassembly
of the messages.7 Instead, the network software (again, typically in the OS) should provide these services,
which it does at the transport layer, as for example is the case with TCP.
Overview of Computer Networks
Start from the beginning
