Part Iii Data-Link Layer
Part Iii Data-Link Layer
9.1 INTRODUCTION
The Internet is a combination of networks glued together by connecting devices (routers
or switches). If a packet is to travel from a host to another host, it needs to pass through
these networks. Figure 9.1 shows the same scenario we discussed in Chapter 3, but we
are now interested in communication at the data-link layer. Communication at the data-
link layer is made up of five separate logical connections between the data-link layers
in the path.
CHAPTER 9 INTRODUCTION TO DATA-LINK LAYER 239
The data-link layer at Alice’s computer communicates with the data-link layer at
router
R2. The data-link layer at router R2 communicates with the data-link layer at router R4,
and so on. Finally, the data-link layer at router R7 communicates with the data-link layer
at Bob’s computer. Only one data-link layer is involved at the source or the destination,
but two data-link layers are involved at each router. The reason is that Alice’s and Bob’s
computers are each connected to a single network, but each router takes input from one
network and sends output to another network. Note that although switches are also
involved in the data-link-layer communication, for simplicity we have not shown them
in the figure.
The first node is the source host; the last node is the destination host. The other four
nodes are four routers. The first, the third, and the fifth links represent the three LANs;
the second and the fourth links represent the two WANs.
9.1.2 Services
The data-link layer is located between the physical and the network layers. The datalink
layer provides services to the network layer; it receives services from the physical layer.
Let us discuss services provided by the data-link layer.
PART III DATA-LINK LAYER
The duty scope of the data-link layer is node-to-node. When a packet is travelling
in the Internet, the data-link layer of a node (host or router) is responsible for delivering
a datagram to the next node in the path. For this purpose, the data-link layer of the
sending node needs to encapsulate the datagram received from the network in a frame,
and the data-link layer of the receiving node needs to decapsulate the datagram from the
frame. In other words, the data-link layer of the source host needs only to encapsulate,
the data-link layer of the destination host needs to decapsulate, but each intermediate
node needs to both encapsulate and decapsulate. One may ask why we need
encapsulation and decapsulation at each intermediate node. The reason is that each link
may be using a different protocol with a different frame format. Even if one link and the
next are using the same protocol, encapsulation and decapsulation are needed because
the link-layer addresses are normally different. An analogy may help in this case.
Assume a person needs to travel from her home to her friend’s home in another city.
The traveller can use three transportation tools. She can take a taxi to go to the train
station in her own city, then travel on the train from her own city to the city where her
friend lives, and finally reach her friend’s home using another taxi. Here we have a
source node, a destination node, and two intermediate nodes. The traveller needs to get
into the taxi at the source node, get out of the taxi and get into the train at the first
intermediate node (train station in the city where she lives), get out of the train and get
into another taxi at the second intermediate node (train station in the city where her
friend lives), and finally get out of the taxi when she arrives at her destination. A kind
of encapsulation occurs at the source node, encapsulation and decapsulation occur at the
intermediate nodes, and decapsulation occurs at the destination node. Our traveller is
the same, but she uses three transporting tools to reach the destination.
Figure 9.3 shows the encapsulation and decapsulation at the data-link layer. For
simplicity, we have assumed that we have only one router between the source and
destination. The datagram received by the data-link layer of the source host is
encapsulated in a frame. The frame is logically transported from the source host to the
router. The frame is decapsulated at the data-link layer of the router and encapsulated at
another frame. The new frame is logically transported from the router to the destination
host. Note that, although we have shown only two data-link layers at the router, the
router actually has three data-link layers because it is connected to three physical links.
CHAPTER 9 INTRODUCTION TO DATA-LINK LAYER 241
With the contents of the above figure in mind, we can list the services provided by
a data-link layer as shown below.
Framing
Definitely, the first service provided by the data-link layer is framing. The data-link
layer at each node needs to encapsulate the datagram (packet received from the network
layer) in a frame before sending it to the next node. The node also needs to decapsulate
the datagram from the frame received on the logical channel. Although we have shown
only a header for a frame, we will see in future chapters that a frame may have both a
header and a trailer. Different data-link layers have different formats for framing.
Flow Control
Whenever we have a producer and a consumer, we need to think about flow control. If
the producer produces items that cannot be consumed, accumulation of items occurs.
The sending data-link layer at the end of a link is a producer of frames; the receiving
data-link layer at the other end of a link is a consumer. If the rate of produced frames is
higher than the rate of consumed frames, frames at the receiving end need to be buffered
while waiting to be consumed (processed). Definitely, we cannot have an unlimited
buffer size at the receiving side. We have two choices. The first choice is to let the
receiving data-link layer drop the frames if its buffer is full. The second choice is to let
the receiving data-link layer send a feedback to the sending data-link layer to ask it to
stop or slow down. Different data-link-layer protocols use different strategies for flow
control. Since flow control also occurs at the transport layer, with a higher degree of
importance, we discuss this issue in Chapter 23 when we talk about the transport layer.
PART III DATA-LINK LAYER
Error Control
At the sending node, a frame in a data-link layer needs to be changed to bits, transformed
to electromagnetic signals, and transmitted through the transmission media. At the
receiving node, electromagnetic signals are received, transformed to bits, and put
together to create a frame. Since electromagnetic signals are susceptible to error, a frame
is susceptible to error. The error needs first to be detected. After detection, it needs to
be either corrected at the receiver node or discarded and retransmitted by the sending
node. Since error detection and correction is an issue in every layer (node-tonode or
host-to-host), we have dedicated all of Chapter 10 to this issue.
Congestion Control
Although a link may be congested with frames, which may result in frame loss, most
data-link-layer protocols do not directly use a congestion control to alleviate congestion,
although some wide-area networks do. In general, congestion control is considered an
issue in the network layer or the transport layer because of its end-to-end nature. We
will discuss congestion control in the network layer and the transport layer in later
chapters.
We discuss the DLC and MAC sublayers later, each in a separate chapter. In
addition, we discuss the issue of error detection and correction, a duty of the data-link
and other layers, also in a separate chapter.
To another
PART III DATA-LINK LAYER
In the internet in Figure 9.5, we have three links and two routers. We also have
shown only two hosts: Alice (source) and Bob (destination). For each host, we have
shown two addresses, the IP addresses (N) and the link-layer addresses (L). Note that a
router has as many pairs of addresses as the number of links the router is connected to.
We have shown three frames, one in each link. Each frame carries the same datagram
with the same source and destination addresses (N1 and N8), but the link-layer addresses
of the frame change from link to link. In link 1, the link-layer addresses are L1 and L2.
In link 2, they are L4 and L5. In link 3, they are L7 and L8. Note that the IP addresses
and the link-layer addresses are not in the same order. For IP addresses, the source
address comes before the destination address; for link-layer addresses, the destination
address comes before the source. The datagrams and frames are designed in this way,
and we follow the design. We may raise several questions:
❑ If the IP address of a router does not appear in any datagram sent from a source to a
destination, why do we need to assign IP addresses to routers? The answer is that
in some protocols a router may act as a sender or receiver of a datagram. For
example, in routing protocols we will discuss in Chapters 20 and 21, a router is a
sender or a receiver of a message. The communications in these protocols are
between routers.
❑ Why do we need more than one IP address in a router, one for each interface? The
answer is that an interface is a connection of a router to a link. We will see that an
IP address defines a point in the Internet at which a device is connected. A router
CHAPTER 9 INTRODUCTION TO DATA-LINK LAYER 245
Multicast Address
Some link-layer protocols define multicast addresses. Multicasting means one-to-many
communication. However, the jurisdiction is local (inside the link).
Example 9.2
As we will see in Chapter 13, the multicast link-layer addresses in the most common LAN,
Ethernet, are 48 bits (six bytes) that are presented as 12 hexadecimal digits separated by colons.
The second digit, however, needs to be an even number in hexadecimal. The following shows a
multicast address:
A2:34:45:11:92:F1
PART III DATA-LINK LAYER
Broadcast Address
Some link-layer protocols define a broadcast address. Broadcasting means one-to-all
communication. A frame with a destination broadcast address is sent to all entities in
the link.
Example 9.3
As we will see in Chapter 13, the broadcast link-layer addresses in the most common LAN,
Ethernet, are 48 bits, all 1s, that are presented as 12 hexadecimal digits separated by colons. The
following shows a broadcast address:
FF:FF:FF:FF:FF:FF
ICMP IGMP IP
address
Network
layer IP
ARP
Link-layer
address
Anytime a host or a router needs to find the link-layer address of another host or
router in its network, it sends an ARP request packet. The packet includes the link-layer
and IP addresses of the sender and the IP address of the receiver. Because the sender
does not know the link-layer address of the receiver, the query is broadcast over the link
using the link-layer broadcast address, which we discuss for each protocol later (see
Figure 9.7).
CHAPTER 9 INTRODUCTION TO DATA-LINK LAYER 247
Every host or router on the network receives and processes the ARP request packet,
but only the intended recipient recognizes its IP address and sends back an ARP
response packet. The response packet contains the recipient’s IP and link-layer
addresses. The packet is unicast directly to the node that sent the request packet.
In Figure 9.7a, the system on the left (A) has a packet that needs to be delivered to
another system (B) with IP address N2. System A needs to pass the packet to its data-
link layer for the actual delivery, but it does not know the physical address of the
recipient. It uses the services of ARP by asking the ARP protocol to send a broadcast
ARP request packet to ask for the physical address of a system with an IP address of
N2.
This packet is received by every system on the physical network, but only system
B will answer it, as shown in Figure 9.7b. System B sends an ARP reply packet that
includes its physical address. Now system A can send all the packets it has for this
destination using the physical address it received.
Caching
A question that is often asked is this: If system A can broadcast a frame to find the
linklayer address of system B, why can’t system A send the datagram for system B using
a broadcast frame? In other words, instead of sending one broadcast frame (ARP
request), one unicast frame (ARP response), and another unicast frame (for sending the
PART III DATA-LINK LAYER
datagram), system A can encapsulate the datagram and send it to the network. System
B receives it and keep it; other systems discard it.
To answer the question, we need to think about the efficiency. It is probable that
system A has more than one datagram to send to system B in a short period of time. For
example, if system B is supposed to receive a long e-mail or a long file, the data do not
fit in one datagram.
Let us assume that there are 20 systems connected to the network (link): system A,
system B, and 18 other systems. We also assume that system A has 10 datagrams to
send to system B in one second.
a. Without using ARP, system A needs to send 10 broadcast frames. Each of the
18 other systems need to receive the frames, decapsulate the frames, remove the
datagram and pass it to their network-layer to find out the datagrams do not
belong to them.This means processing and discarding 180 broadcast frames.
b. Using ARP, system A needs to send only one broadcast frame. Each of the 18
other systems need to receive the frames, decapsulate the frames, remove the
ARP message and pass the message to their ARP protocol to find that the frame
must be discarded. This means processing and discarding only 18 (instead of
180) broadcast frames. After system B responds with its own data-link address,
system A can store the link-layer address in its cache memory. The rest of the
nine frames are only unicast. Since processing broadcast frames is expensive
(time consuming), the first method is preferable.
Packet Format
Figure 9.8 shows the format of an ARP packet. The names of the fields are
selfexplanatory. The hardware type field defines the type of the link-layer protocol;
Ethernet is given the type 1. The protocol type field defines the network-layer protocol:
IPv4 protocol is (0800)16. The source hardware and source protocol addresses are
variable-length fields defining the link-layer and network-layer addresses of the sender.
The destination hardware address and destination protocol address fields define the
receiver link-layer and network-layer addresses. An ARP packet is encapsulated directly
into a data-link frame. The frame needs to have a field to show that the payload belongs
to the ARP and not to the network-layer datagram.
Example 9.4
A host with IP address N1 and MAC address L1 has a packet to send to another host with IP
address N2 and physical address L2 (which is unknown to the first host). The two hosts are on
the same network. Figure 9.9 shows the ARP request and response messages.
0 8 16 31
CHAPTER 9 INTRODUCTION TO DATA-LINK LAYER 249
to Bob, who is three nodes away in the Internet. How Alice finds the network-layer
address of Bob is what we discover in Chapter 26 when we discuss DNS. For the
moment, assume that Alice knows the network-layer (IP) address of Bob. In other
words, Alice’s host is given the data to be sent, the IP address of Bob, and the
PART III DATA-LINK LAYER
11.1.1 Framing
Data transmission in the physical layer means moving bits in the form of a signal from
the source to the destination. The physical layer provides bit synchronization to ensure
that the sender and receiver use the same bit durations and timing. We discussed the
physical layer in Part II of the book.
The data-link layer, on the other hand, needs to pack bits into frames, so that each
frame is distinguishable from another. Our postal system practices a type of framing.
The simple act of inserting a letter into an envelope separates one piece of information
from another; the envelope serves as the delimiter. In addition, each envelope defines
the sender and receiver addresses, which is necessary since the postal system is a
manyto-many carrier facility.
Framing in the data-link layer separates a message from one source to a destination
by adding a sender address and a destination address. The destination address defines
where the packet is to go; the sender address helps the recipient acknowledge the receipt.
Although the whole message could be packed in one frame, that is not normally
done. One reason is that a frame can be very large, making flow and error control very
inefficient. When a message is carried in one very large frame, even a single-bit error
would require the retransmission of the whole frame. When a message is divided into
smaller frames, a single-bit error affects only that small frame.
Frame Size
Frames can be of fixed or variable size. In fixed-size framing, there is no need for
defining the boundaries of the frames; the size itself can be used as a delimiter. An
example of this type of framing is the ATM WAN, which uses frames of fixed size
called cells. We discuss ATM in Chapter 14.
Our main discussion in this chapter concerns variable-size framing, prevalent in
local-area networks. In variable-size framing, we need a way to define the end of one
frame and the beginning of the next. Historically, two approaches were used for this
purpose: a character-oriented approach and a bit-oriented approach.
Character-Oriented Framing
In character-oriented (or byte-oriented) framing, data to be carried are 8-bit characters
from a coding system such as ASCII (see Appendix A). The header, which normally
carries the source and destination addresses and other control information, and the
trailer, which carries error detection redundant bits, are also multiples of 8 bits. To
separate one frame from the next, an 8-bit (1-byte) flag is added at the beginning and
CHAPTER 11 DATA LINK CONTROL (DLC) 295
the end of a frame. The flag, composed of protocol-dependent special characters, signals
the start or end of a frame. Figure 11.1 shows the format of a frame in a character-
oriented protocol.
Figure 11.1 A frame in a character-oriented protocol
Character-oriented framing was popular when only text was exchanged by the data-
link layers. The flag could be selected to be any character not used for text
communication. Now, however, we send other types of information such as graphs,
audio, and video; any character used for the flag could also be part of the information.
If this happens, the receiver, when it encounters this pattern in the middle of the data,
thinks it has reached the end of the frame. To fix this problem, a byte-stuffing strategy
was added to character-oriented framing. In byte stuffing (or character stuffing), a
special byte is added to the data section of the frame when there is a character with the
same pattern as the flag. The data section is stuffed with an extra byte. This byte is
usually called the escape character (ESC) and has a predefined bit pattern. Whenever
the receiver encounters the ESC character, it removes it from the data section and treats
the next character as data, not as a delimiting flag. Figure 11.2 shows the situation.
Byte stuffing by the escape character allows the presence of the flag in the data
section of the frame, but it creates another problem. What happens if the text contains
one or more escape characters followed by a byte with the same pattern as the flag? The
receiver removes the escape character, but keeps the next byte, which is incorrectly
interpreted as the end of the frame. To solve this problem, the escape characters that are
part of the text must also be marked by another escape character. In other words, if the
escape character is part of the text, an extra one is added to show that the second one is
part of the text.
Character-oriented protocols present another problem in data communications. The
universal coding systems in use today, such as Unicode, have 16-bit and 32-bit
characters that conflict with 8-bit characters. We can say that, in general, the tendency
is moving toward the bit-oriented protocols that we discuss next.
Bit-Oriented Framing
In bit-oriented framing, the data section of a frame is a sequence of bits to be interpreted
by the upper layer as text, graphic, audio, video, and so on. However, in addition to
headers (and possible trailers), we still need a delimiter to separate one frame from the
other. Most protocols use a special 8-bit pattern flag, 01111110, as the delimiter to
define the beginning and the end of the frame, as shown in Figure 11.3.
Figure 11.3 A frame in a bit-oriented protocol
This flag can create the same type of problem we saw in the character-oriented
protocols. That is, if the flag pattern appears in the data, we need to somehow inform
the receiver that this is not the end of the frame. We do this by stuffing 1 single bit
(instead of 1 byte) to prevent the pattern from looking like a flag. The strategy is called
bit stuffing. In bit stuffing, if a 0 and five consecutive 1 bits are encountered, an extra
0 is added. This extra stuffed bit is eventually removed from the data by the receiver.
Note that the extra bit is added after one 0 followed by five 1s regardless of the value of
the next bit. This guarantees that the flag field sequence does not inadvertently appear
in the frame.
Bit stuffing is the process of adding one extra 0 whenever five consecutive 1s follow a 0
in the data, so that the receiver does not mistake the pattern 0111110 for a flag.
Figure 11.4 shows bit stuffing at the sender and bit removal at the receiver. Note
that even if we have a 0 after five 1s, we still stuff a 0. The 0 will be removed by the
receiver.
CHAPTER 11 DATA LINK CONTROL (DLC) 297
This means that if the flaglike pattern 01111110 appears in the data, it will change
to 011111010 (stuffed) and is not mistaken for a flag by the receiver. The real flag
01111110 is not stuffed by the sender and is recognized by the receiver.
Figure 11.4 Bit stuffing and unstuffing
Stuffed
Frame sent
Flag Header 000111110110011111001000 Trailer Flag
Two extra
Frame received bits
Flag Header 000111110110011111001000 Trailer Flag
Unstuffed
0001111111001111101000
Data to upper layer
Flow control
The figure shows that the data-link layer at the sending node tries to push frames
toward the data-link layer at the receiving node. If the receiving node cannot process
and deliver the packet to its network at the same rate that the frames arrive, it becomes
overwhelmed with frames. Flow control in this case can be feedback from the receiving
node to the sending node to stop or slow down pushing frames.
Buffers
Although flow control can be implemented in several ways, one of the solutions is
normally to use two buffers; one at the sending data-link layer and the other at the
receiving data-link layer. A buffer is a set of memory locations that can hold packets at
the sender and receiver. The flow control communication can occur by sending signals
from the consumer to the producer. When the buffer of the receiving data-link layer is
full, it informs the sending data-link layer to stop pushing frames.
Example 11.1
The above discussion requires that the consumers communicate with the producers on two
occasions: when the buffer is full and when there are vacancies. If the two parties use a buffer
with only one slot, the communication can be easier. Assume that each data-link layer uses one
single memory slot to hold a frame. When this single slot in the receiving data-link layer is empty,
it sends a note to the network layer to send the next frame.
Error Control
Since the underlying technology at the physical layer is not fully reliable, we need to
implement error control at the data-link layer to prevent the receiving node from
delivering corrupted packets to its network layer. Error control at the data-link layer is
normally very simple and implemented using one of the following two methods. In both
methods, a CRC is added to the frame header by the sender and checked by the receiver.
❑ In the first method, if the frame is corrupted, it is silently discarded; if it is not
corrupted, the packet is delivered to the network layer. This method is used mostly
in wired LANs such as Ethernet.
❑ In the second method, if the frame is corrupted, it is silently discarded; if it is not
corrupted, an acknowledgment is sent (for the purpose of both flow and error
control) to the sender.
Combination of Flow and Error Control
Flow and error control can be combined. In a simple situation, the acknowledgment that
is sent for flow control can also be used for error control to tell the sender the packet has
CHAPTER 11 DATA LINK CONTROL (DLC) 299
arrived uncorrupted. The lack of acknowledgment means that there is a problem in the
sent frame. We show this situation when we discuss some simple protocols in the next
section. A frame that carries an acknowledgment is normally called an ACK to
distinguish it from the data frame.
same state, state II. If event 3 occurs, the machine performs no action, but move to state
I.
Figure 11.6 Connectionless and connection-oriented service represented as FSMs
Event 1
Note: Action 1.
The colored Action 2.
arrow shows the
starting state.
State I State II Event 2
Action 3.
Event 3
Frame
Network Network
Data-link Data-link
Logical link
Sending node Receiving node
The data-link layer at the sender gets a packet from its network layer, makes a frame
out of it, and sends the frame. The data-link layer at the receiver receives a frame from
the link, extracts the packet from the frame, and delivers the packet to its network layer.
The data-link layers of the sender and receiver provide transmission services for their
network layers.
FSMs
The sender site should not send a frame until its network layer has a message to send.
The receiver site cannot deliver a message to its network layer until a frame arrives.
Each FSM has only one state, the ready state. The sending machine remains in the ready
state until a request comes from the process in the network layer. When this event
occurs, the sending machine encapsulates the message in a frame and sends it to the
receiving machine. The receiving machine remains in the ready state until a frame
arrives from the sending machine. When this event occurs, the receiving machine
decapsulates the message out of the frame and delivers it to the process at the network
CHAPTER 11 DATA LINK CONTROL (DLC) 301
layer. Figure 11.8 shows the FSMs for the simple protocol. We’ll see more in Chapter
23, which uses this protocol.
Figure 11.8 FSMs for the simple protocol
Ready Ready
Start Start
Example 11.2
Figure 11.9 shows an example of communication using this protocol. It is very simple. The sender
sends frames one after another without even thinking about the receiver.
Figure 11.9 Flow diagram for Example 11.2
Packet Frame
Packet
Packet Frame
Packet
sender discards the copy and sends the next frame if it is ready. Figure 11.10 shows the
outline for the Stop-and-Wait protocol. Note that only one frame and one
acknowledgment can be in the channels at any time.
Figure 11.10 Stop-and-Wait protocol
Data-link Data-link
Logical link (duplex)
Timer
FSMs
Figure 11.11 shows the FSMs for our primitive Stop-and-Wait protocol.
Figure 11.11 FSM for the Stop-and-Wait protocol
Sending node
Packet came from network layer.
Make a frame, save a copy, and send the frame. Time-out.
Start the timer. Resend the saved frame.
Restart the timer.
Ready Blocking
Corrupted ACK arrived.
Start Error-free ACK arrived. Discard the ACK.
Stop the timer.
Discard the saved frame.
Receiving node
Corrupted frame arrived. Error-free frame arrived.
Discard the frame. Extract and deliver the packet to network layer.
Start Ready Send ACK.
11.2.3 Piggybacking
Protocols have been designed in the past to allow data to flow in both directions.
However, to make the communication more efficient, the data in one direction is
piggybacked with the acknowledgment in the other direction. In other words, when node
A is sending data to node B, Node A also acknowledges the data received from node B.
Because piggybacking makes communication at the datalink layer more complicated, it
is not a common practice.
PART III DATA-LINK LAYER
12.1.1 ALOHA
ALOHA, the earliest random access method, was developed at the University of Hawaii
in early 1970. It was designed for a radio (wireless) LAN, but it can be used on any
shared medium.
It is obvious that there are potential collisions in this arrangement. The medium is
shared between the stations. When a station sends data, another station may attempt to
do so at the same time. The data from the two stations collide and become garbled.
Pure ALOHA
The original ALOHA protocol is called pure ALOHA. This is a simple but elegant
protocol. The idea is that each station sends a frame whenever it has a frame to send
(multiple access). However, since there is only one channel to share, there is the
CHAPTER 12 MEDIA ACCESS CONTROL (MAC) 327
possibility of collision between frames from different stations. Figure 12.2 shows an
example of frame collisions in pure ALOHA.
There are four stations (unrealistic assumption) that contend with one another for
access to the shared channel. The figure shows that each station sends two frames; there
are a total of eight frames on the shared medium. Some of these frames collide because
multiple frames are in contention for the shared channel. Figure 12.2 shows that only
two frames survive: one frame from station 1 and one frame from station 3. We need to
mention that even if one bit of a frame coexists on the channel with one bit from another
frame, there is a collision and both will be destroyed. It is obvious that we need to resend
the frames that have been destroyed during transmission.
The pure ALOHA protocol relies on acknowledgments from the receiver. When a
station sends a frame, it expects the receiver to send an acknowledgment. If the
acknowledgment does not arrive after a time-out period, the station assumes that the
frame (or the acknowledgment) has been destroyed and resends the frame.
A collision involves two or more stations. If all these stations try to resend their
frames after the time-out, the frames will collide again. Pure ALOHA dictates that when
the time-out period passes, each station waits a random amount of time before resending
its frame. The randomness will help avoid more collisions. We call this time the backoff
time TB.
Pure ALOHA has a second method to prevent congesting the channel with
retransmitted frames. After a maximum number of retransmission attempts Kmax, a
station must give up and try later. Figure 12.3 shows the procedure for pure ALOHA
based on the above strategy.
The time-out period is equal to the maximum possible round-trip propagation delay,
which is twice the amount of time required to send a frame between the two most widely
separated stations (2 × Tp). The backoff time TB is a random value that normally depends
on K (the number of attempted unsuccessful transmissions). The formula for TB depends
on the implementation. One common formula is the binary exponential backoff. In this
method, for each retransmission, a multiplier R = 0 to 2K − 1 is randomly chosen and
PART III DATA-LINK LAYER
multiplied by Tp (maximum propagation time) or Tfr (the average time required to send
out a frame) to find TB. Note that in this procedure, the range of the random numbers
increases after each collision. The value of Kmax is usually chosen as 15.
Figure 12.3 Procedure for pure ALOHA protocol
Station has
Legend a frame to send
K : Number of attempts
K=0
Tp : Maximum propagation time
Tfr: Average transmission time
TB : (Backoff time): R × Tp or R × Tfr
R : (Random number): 0 to 2 K – 1 Send the
Wait TB
frame
Choose Wait
R (2 × Tp)
[false] ACK
K > Kmax
K=K+1 received?
[false]
[true] [true]
Abort Success
Example 12.1
The stations on a wireless ALOHA network are a maximum of 600 km apart. If we assume that
signals propagate at 3 × 108 m/s, we find Tp = (600 × 103) / (3 × 108) = 2 ms. For K = 2, the
range of R is {0, 1, 2, 3}. This means that TB can be 0, 2, 4, or 6 ms, based on the outcome of the
random variable R.
Vulnerable time
Let us find the vulnerable time, the length of time in which there is a possibility of
collision. We assume that the stations send fixed-length frames with each frame taking
Tfr seconds to send. Figure 12.4 shows the vulnerable time for station B.
Figure 12.4 Vulnerable time for pure ALOHA protocol
A
B
C
Time
t – Tfr t t + Tfr
Vulnerable time = 2 × Tfr
Station B starts to send a frame at time t. Now imagine station A has started to send
its frame after t − Tfr. This leads to a collision between the frames from station B and
station A. On the other hand, suppose that station C starts to send a frame before time t
+ Tfr. Here, there is also a collision between frames from station B and station C.
Looking at Figure 12.4, we see that the vulnerable time during which a collision
may occur in pure ALOHA is 2 times the frame transmission time.
T
Pure ALOHA vulnerable time 5 2 3 fr
Example 12.2
A pure ALOHA network transmits 200-bit frames on a shared channel of 200 kbps. What is the
requirement to make this frame collision-free?
Solution
Average frame transmission time Tfr is 200 bits/200 kbps or 1 ms. The vulnerable time is 2 × 1
ms = 2 ms. This means no station should send later than 1 ms before this station starts transmission
and no station should start sending during the period (1 ms) that this station is sending.
Throughput
Let us call G the average number of frames generated by the system during one frame
transmission time. Then it can be proven that the average number of successfully
−2G
transmitted frames for pure ALOHA is S = G × e . The maximum throughput Smax
is 0.184, for G = 1/2. (We can find it by setting the derivative of S with respect to G to
0; see Exercises.) In other words, if one-half a frame is generated during one frame
transmission time (one frame during two frame transmission times), then 18.4 percent
of these frames reach their destination successfully. We expect G = 1/2 to produce the
maximum throughput because the vulnerable time is 2 times the frame transmission
time. Therefore, if a station generates only one frame in this vulnerable time (and no
other stations generate a frame during this time), the frame will reach its destination
successfully.
Example 12.3
A pure ALOHA network transmits 200-bit frames on a shared channel of 200 kbps. What is the
throughput if the system (all stations together) produces
a. 1000 frames per second?
b. 500 frames per second?
c. 250 frames per second?
Solution
The frame transmission time is 200/200 kbps or 1 ms.
a. If the system creates 1000 frames per second, or 1 frame per millisecond, then G = 1. In
this case S = G × e−2G = 0.135 (13.5 percent). This means that the throughput is 1000 ×
0.135 = 135 frames. Only 135 frames out of 1000 will probably survive.
b. If the system creates 500 frames per second, or 1/2 frames per millisecond, then G = 1/2.
In this case S = G × e−2G = 0.184 (18.4 percent). This means that the throughput is 500
× 0.184 = 92 and that only 92 frames out of 500 will probably survive. Note that this is
the maximum throughput case, percentagewise.
c. If the system creates 250 frames per second, or 1/4 frames per millisecond, then G = 1/4.
In this case S = G × e−2G = 0.152 (15.2 percent). This means that the throughput is 250
× 0.152 = 38. Only 38 frames out of 250 will probably survive.
Slotted ALOHA
Pure ALOHA has a vulnerable time of 2 × Tfr. This is so because there is no rule that
defines when the station can send. A station may send soon after another station has
started or just before another station has finished. Slotted ALOHA was invented to
improve the efficiency of pure ALOHA.
In slotted ALOHA we divide the time into slots of Tfr seconds and force the station
to send only at the beginning of the time slot. Figure 12.5 shows an example of frame
collisions in slotted ALOHA.
Figure 12.5 Frames in a slotted ALOHA network
CHAPTER 12 MEDIA ACCESS CONTROL (MAC) 331
Because a station is allowed to send only at the beginning of the synchronized time
slot, if a station misses this moment, it must wait until the beginning of the next time
slot. This means that the station which started at the beginning of this slot has already
finished sending its frame. Of course, there is still the possibility of collision if two
stations try to send at the beginning of the same time slot. However, the vulnerable time
is now reduced to one-half, equal to Tfr. Figure 12.6 shows the situation.
Figure 12.6 Vulnerable time for slotted ALOHA protocol
B collides with C
Time
t – Tfr t t + Tfr
Vulnerable time = Tfr
T
Slotted ALOHA vulnerable time 5 fr
Throughput
It can be proven that the average number of successful transmissions for slotted ALOHA
−G
is S = G × e . The maximum throughput Smax is 0.368, when G = 1. In other words,
if one frame is generated during one frame transmission time, then 36.8 percent of these
frames reach their destination successfully. We expect G = 1 to produce maximum
throughput because the vulnerable time is equal to the frame transmission time.
Therefore, if a station generates only one frame in this vulnerable time (and no other
station generates a frame during this time), the frame will reach its destination
successfully.
G
The throughput for slotted ALOHA is S 5 G 3 e2 . The
maximum throughput Smax 5 0.368 when G 5 1.
Example 12.4
A slotted ALOHA network transmits 200-bit frames using a shared channel with a 200-kbps
bandwidth. Find the throughput if the system (all stations together) produces
a. 1000 frames per second.
b. 500 frames per second.
c. 250 frames per second.
PART III DATA-LINK LAYER
Solution
This situation is similar to the previous exercise except that the network is using slotted ALOHA
instead of pure ALOHA. The frame transmission time is 200/200 kbps or 1 ms.
a. In this case G is 1. So S = G × e−G = 0.368 (36.8 percent). This means that the throughput
is 1000 × 0.0368 = 368 frames. Only 368 out of 1000 frames will probably survive. Note
that this is the maximum throughput case, percentagewise.
b. Here G is 1/2. In this case S = G × e−G = 0.303 (30.3 percent). This means that the
throughput is 500 × 0.0303 = 151. Only 151 frames out of 500 will probably survive.
c. Now G is 1/4. In this case S = G × e−G = 0.195 (19.5 percent). This means that the
throughput is 250 × 0.195 = 49. Only 49 frames out of 250 will probably survive.
12.1.2 CSMA
To minimize the chance of collision and, therefore, increase the performance, the CSMA
method was developed. The chance of collision can be reduced if a station senses the
medium before trying to use it. Carrier sense multiple access (CSMA) requires that
each station first listen to the medium (or check the state of the medium) before sending.
In other words, CSMA is based on the principle “sense before transmit” or “listen before
talk.”
CSMA can reduce the possibility of collision, but it cannot eliminate it. The reason
for this is shown in Figure 12.7, a space and time model of a CSMA network. Stations
are connected to a shared channel (usually a dedicated medium).
The possibility of collision still exists because of propagation delay; when a station
sends a frame, it still takes time (although very short) for the first bit to reach every
station and for every station to sense it. In other words, a station may sense the medium
and find it idle, only because the first bit sent by another station has not yet been
received.
Figure 12.7 Space/time model of a collision in CSMA
CHAPTER 12 MEDIA ACCESS CONTROL (MAC) 333
At time t1, station B senses the medium and finds it idle, so it sends a frame. At
time t2 (t2 > t1), station C senses the medium and finds it idle because, at this time, the
first bits from station B have not reached station C. Station C also sends a frame. The
two signals collide and both frames are destroyed.
Vulnerable Time
The vulnerable time for CSMA is the propagation time Tp. This is the time needed for
a signal to propagate from one end of the medium to the other. When a station sends a
frame and any other station tries to send a frame during this time, a collision will result.
But if the first bit of the frame reaches the end of the medium, every station will already
have heard the bit and will refrain from sending. Figure 12.8 shows the worst case. The
leftmost station, A, sends a frame at time t1, which reaches the rightmost station, D, at
time t1 + Tp. The gray area shows the vulnerable area in time and space.
Persistence Methods
What should a station do if the channel is busy? What should a station do if the channel
is idle? Three methods have been devised to answer these questions: the 1-persistent
method, the nonpersistent method, and the p-persistent method. Figure 12.9 shows
the behavior of three persistence methods when a station finds a channel busy.
PART III DATA-LINK LAYER
Transmit Transmit
Continuously sense Sense Sense
Wait Wait
Time Time
Busy Busy
a. 1-Persistent b. Nonpersistent
Time
Busy Busy
c. p-Persistent
2. With probability q = 1 − p, the station waits for the beginning of the next time slot
and checks the line again.
a. If the line is idle, it goes to step 1.
b. If the line is busy, it acts as though a collision has occurred and uses the backoff
procedure.
12.1.3 CSMA/CD
The CSMA method does not specify the procedure following a collision. Carrier sense
multiple access with collision detection (CSMA/CD) augments the algorithm to
handle the collision.
In this method, a station monitors the medium after it sends a frame to see if the
transmission was successful. If so, the station is finished. If, however, there is a collision,
the frame is sent again.
PART III DATA-LINK LAYER
To better understand CSMA/CD, let us look at the first bits transmitted by the two
stations involved in the collision. Although each station continues to send bits in the
frame until it detects the collision, we show what happens as the first bits collide. In
Figure 12.11, stations A and C are involved in the collision.
At time t1, station A has executed its persistence procedure and starts sending the
bits of its frame. At time t2, station C has not yet sensed the first bit sent by A. Station
C executes its persistence procedure and starts sending the bits in its frame, which
propagate both to the left and to the right. The collision occurs sometime after time t2.
Station C detects a collision at time t3 when it receives the first bit of A’s frame. Station
C immediately (or after a short time, but we assume immediately) aborts transmission.
Station A detects collision at time t4 when it receives the first bit of C’s frame; it also
immediately aborts transmission. Looking at the figure, we see that A transmits for the
duration t4 − t1; C transmits for the duration t3 − t2.
Now that we know the time durations for the two transmissions, we can show a
more complete graph in Figure 12.12.
CHAPTER 12 MEDIA ACCESS CONTROL (MAC) 337
Example 12.5
A network using CSMA/CD has a bandwidth of 10 Mbps. If the maximum propagation time
(including the delays in the devices and ignoring the time needed to send a jamming signal, as we
see later) is 25.6 μ s, what is the minimum size of the frame?
Solution
The minimum frame transmission time is Tfr = 2 × Tp = 51.2 μ s. This means, in the worst case,
a station needs to transmit for a period of 51.2 μ s to detect the collision. The minimum size of the
frame is 10 Mbps × 51.2 μ s = 512 bits or 64 bytes. This is actually the minimum size of the frame
for Standard Ethernet, as we will see later in the chapter.
Procedure
Now let us look at the flow diagram for CSMA/CD in Figure 12.13. It is similar to the
one for the ALOHA protocol, but there are differences.
PART III DATA-LINK LAYER
The first difference is the addition of the persistence process. We need to sense the
channel before we start sending the frame by using one of the persistence processes we
discussed previously (nonpersistent, 1-persistent, or p-persistent). The corresponding
box can be replaced by one of the persistence processes shown in Figure 12.10.
The second difference is the frame transmission. In ALOHA, we first transmit the
entire frame and then wait for an acknowledgment. In CSMA/CD, transmission and
collision detection are continuous processes. We do not send the entire frame and then
look for a collision. The station transmits and receives continuously and simultaneously
(using two different ports or a bidirectional port). We use a loop to show that
transmission is a continuous process. We constantly monitor in order to detect one of
two conditions: either transmission is finished or a collision is detected. Either event
stops transmission. When we come out of the loop, if a collision has not been detected,
it means that transmission is complete; the entire frame is transmitted. Otherwise, a
collision has occurred.
The third difference is the sending of a short jamming signal to make sure that all
other stations become aware of the collision.
Energy Level
We can say that the level of energy in a channel can have three values: zero, normal,
and abnormal. At the zero level, the channel is idle. At the normal level, a station has
successfully captured the channel and is sending its frame. At the abnormal level, there
is a collision and the level of the energy is twice the normal level. A station that has a
frame to send or is sending a frame needs to monitor the energy level to determine if the
channel is idle, busy, or in collision mode. Figure 12.14 shows the situation.
CHAPTER 12 MEDIA ACCESS CONTROL (MAC) 339
Energy Collision
Throughput
The throughput of CSMA/CD is greater than that of pure or slotted ALOHA. The
maximum throughput occurs at a different value of G and is based on the persistence
method and the value of p in the p-persistent approach. For the 1-persistent method, the
maximum throughput is around 50 percent when G = 1. For the nonpersistent method,
the maximum throughput can go up to 90 percent when G is between 3 and 8.
Traditional Ethernet
One of the LAN protocols that used CSMA/CD is the traditional Ethernet with the data
rate of 10 Mbps. We discuss the Ethernet LANs in Chapter 13, but it is good to know
that the traditional Ethernet was a broadcast LAN that used the 1-persistence method to
control access to the common media. Later versions of Ethernet try to move from
CSMA/CD access methods for the reason that we discuss in Chapter 13.
12.1.4 CSMA/CA
Carrier sense multiple access with collision avoidance (CSMA/CA) was invented for
wireless networks. Collisions are avoided through the use of CSMA/CA’s three
strategies: the interframe space, the contention window, and acknowledgments, as
shown in Figure 12.15. We discuss RTS and CTS frames later.
PART III DATA-LINK LAYER
❑ Interframe Space (IFS). First, collisions are avoided by deferring transmission even
if the channel is found idle. When an idle channel is found, the station does not send
immediately. It waits for a period of time called the interframe space or IFS. Even
though the channel may appear idle when it is sensed, a distant station may have
already started transmitting. The distant station’s signal has not yet reached this
station. The IFS time allows the front of the transmitted signal by the distant station
to reach this station. After waiting an IFS time, if the channel is still idle, the station
can send, but it still needs to wait a time equal to the contention window (described
next). The IFS variable can also be used to prioritize stations or frame types. For
example, a station that is assigned a shorter IFS has a higher priority.
CHAPTER 12 MEDIA ACCESS CONTROL (MAC) 341
❑ Contention Window. The contention window is an amount of time divided into slots.
A station that is ready to send chooses a random number of slots as its wait time.
The number of slots in the window changes according to the binary exponential
backoff strategy. This means that it is set to one slot the first time and then doubles
each time the station cannot detect an idle channel after the IFS time. This is very
similar to the p-persistent method except that a random outcome defines the number
of slots taken by the waiting station. One interesting point about the contention
window is that the station needs to sense the channel after each time slot. However,
if the station finds the channel busy, it does not restart the process; it just stops the
timer and restarts it when the channel is sensed as idle. This gives priority to the
station with the longest waiting time. See Figure 12.16.
Figure 12.16 Contention window
Size:
Found binary exponential
idle
Continuously sense
IFS
❑ Acknowledgment. With all these precautions, there still may be a collision resulting
in destroyed data. In addition, the data may be corrupted during the transmission.
The positive acknowledgment and the time-out timer can help guarantee that the
receiver has received the frame.
Frame Exchange Time Line
Figure 12.17 shows the exchange of data and control frames in time.
1. Before sending a frame, the source station senses the medium by checking the
energy level at the carrier frequency.
a. The channel uses a persistence strategy with backoff until the channel is idle.
b. After the station is found to be idle, the station waits for a period of time called
the DCF interframe space (DIFS); then the station sends a control frame called
the request to send (RTS).
2. After receiving the RTS and waiting a period of time called the short interframe
space (SIFS), the destination station sends a control frame, called the clear to send
(CTS), to the source station. This control frame indicates that the destination station
is ready to receive data.
PART III DATA-LINK LAYER
3. The source station sends data after waiting an amount of time equal to SIFS.
4. The destination station, after waiting an amount of time equal to SIFS, sends an
acknowledgment to show that the frame has been received. Acknowledgment is
needed in this protocol because the station does not have any means to check for
the successful arrival of its data at the destination. On the other hand, the lack of
collision in CSMA/CD is a kind of indication to the source that data have arrived.
Network Allocation Vector
How do other stations defer sending their data if one station acquires access? In other
words, how is the collision avoidance aspect of this protocol accomplished? The key is
a feature called NAV.
When a station sends an RTS frame, it includes the duration of time that it needs to
occupy the channel. The stations that are affected by this transmission create a timer
called a network allocation vector (NAV) that shows how much time must pass before
these stations are allowed to check the channel for idleness. Each time a station accesses
the system and sends an RTS frame, other stations start their NAV. In other words, each
station, before sensing the physical medium to see if it is idle, first checks its NAV to
see if it has expired. Figure 12.17 shows the idea of NAV.
Collision During Handshaking
What happens if there is a collision during the time when RTS or CTS control frames
are in transition, often called the handshaking period? Two or more stations may try to
send RTS frames at the same time. These control frames may collide. However, because
there is no mechanism for collision detection, the sender assumes there has been a
collision if it has not received a CTS frame from the receiver. The backoff strategy is
employed, and the sender tries again.
PART III DATA-LINK LAYER
LLC
Data-link layer
Ethernet Token Ring Token Bus
MAC MAC MAC
part of the framing duties are collected into one sublayer called the logical link control
(LLC). Framing is handled in both the LLC sublayer and the MAC sublayer.
The LLC provides a single link-layer control protocol for all IEEE LANs. This
means LLC protocol can provide interconnectivity between different LANs because it
makes the MAC sublayer transparent.
Media Access Control (MAC)
Earlier we discussed multiple access methods including random access, controlled
access, and channelization. IEEE Project 802 has created a sublayer called media access
control that defines the specific access method for each LAN. For example, it defines
CSMA/CD as the media access method for Ethernet LANs and defines the token-
passing method for Token Ring and Token Bus LANs. As we mentioned in the previous
section, part of the framing function is also handled by the MAC layer.
Ethernet
evolution
13.2.1 Characteristics
Let us first discuss some characteristics of the Standard Ethernet.
Connectionless and Unreliable Service
Ethernet provides a connectionless service, which means each frame sent is independent
of the previous or next frame. Ethernet has no connection establishment or connection
termination phases. The sender sends a frame whenever it has it; the receiver may or
may not be ready for it. The sender may overwhelm the receiver with frames, which
may result in dropping frames. If a frame drops, the sender will not know about it. Since
IP, which is using the service of Ethernet, is also connectionless, it will not know about
it either. If the transport layer is also a connectionless protocol, such as UDP, the frame
is lost and salvation may only come from the application layer. However, if the transport
layer is TCP, the sender TCP does not receive acknowledgment for its segment and
sends it again.
Ethernet is also unreliable like IP and UDP. If a frame is corrupted during
transmission and the receiver finds out about the corruption, which has a high level of
probability of happening because of the CRC-32, the receiver drops the frame silently.
It is the duty of high-level protocols to find out about it.
Frame Format
The Ethernet frame contains seven fields, as shown in Figure 13.3.
❑ Preamble. This field contains 7 bytes (56 bits) of alternating 0s and 1s that alert the
receiving system to the coming frame and enable it to synchronize its clock if it’s
out of synchronization. The pattern provides only an alert and a timing pulse. The
56-bit pattern allows the stations to miss some bits at the beginning of the frame.
The preamble is actually added at the physical layer and is not (formally) part of
the frame.
❑ Start frame delimiter (SFD). This field (1 byte: 10101011) signals the beginning of
the frame. The SFD warns the station or stations that this is the last chance for
synchronization. The last 2 bits are (11)2 and alert the receiver that the next field is
the destination address. This field is actually a flag that defines the beginning of the
frame. We need to remember that an Ethernet frame is a variable-length frame. It
needs a flag to define the beginning of the frame. The SFD field is also added at the
physical layer.
❑ Destination address (DA). This field is six bytes (48 bits) and contains the linklayer
address of the destination station or stations to receive the packet. We will discuss
addressing shortly. When the receiver sees its own link-layer address, or a multicast
address for a group that the receiver is a member of, or a broadcast address, it
decapsulates the data from the frame and passes the data to the upperlayer protocol
defined by the value of the type field.
❑ Source address (SA). This field is also six bytes and contains the link-layer address
of the sender of the packet. We will discuss addressing shortly.
❑ Type. This field defines the upper-layer protocol whose packet is encapsulated in the
frame. This protocol can be IP, ARP, OSPF, and so on. In other words, it serves the
same purpose as the protocol field in a datagram and the port number in a segment
or user datagram. It is used for multiplexing and demultiplexing.
❑ Data. This field carries data encapsulated from the upper-layer protocols. It is a
minimum of 46 and a maximum of 1500 bytes. We discuss the reason for these
minimum and maximum values shortly. If the data coming from the upper layer is
more than 1500 bytes, it should be fragmented and encapsulated in more than one
frame. If it is less than 46 bytes, it needs to be padded with extra 0s. A padded data
frame is delivered to the upper-layer protocol as it is (without removing the
PART III DATA-LINK LAYER
padding), which means that it is the responsibility of the upper layer to remove or,
in the case of the sender, to add the padding. The upper-layer protocol needs to
know the length of its data. For example, a datagram has a field that defines the
length of the data.
❑ CRC. The last field contains error detection information, in this case a CRC-32. The
CRC is calculated over the addresses, types, and data field. If the receiver calculates
the CRC and finds that it is not zero (corruption in transmission), it discards the
frame.
Frame Length
Ethernet has imposed restrictions on both the minimum and maximum lengths of a
frame. The minimum length restriction is required for the correct operation of
CSMA/CD, as we will see shortly. An Ethernet frame needs to have a minimum length
of 512 bits or 64 bytes. Part of this length is the header and the trailer. If we count 18
bytes of header and trailer (6 bytes of source address, 6 bytes of destination address, 2
bytes of length or type, and 4 bytes of CRC), then the minimum length of data from the
upper layer is 64 − 18 = 46 bytes. If the upper-layer packet is less than 46 bytes, padding
is added to make up the difference.
The standard defines the maximum length of a frame (without preamble and SFD
field) as 1518 bytes. If we subtract the 18 bytes of header and trailer, the maximum
length of the payload is 1500 bytes. The maximum length restriction has two historical
reasons. First, memory was very expensive when Ethernet was designed; a maximum
length restriction helped to reduce the size of the buffer. Second, the maximum length
restriction prevents one station from monopolizing the shared medium, blocking other
stations that have data to send.
Minimum frame length: 64 bytes Minimum data length: 46 bytes
Maximum frame length: 1518 bytes Maximum data length: 1500 bytes
13.2.2 Addressing
Each station on an Ethernet network (such as a PC, workstation, or printer) has its own
network interface card (NIC). The NIC fits inside the station and provides the station
with a link-layer address. The Ethernet address is 6 bytes (48 bits), normally written in
hexadecimal notation, with a colon between the bytes. For example, the following
shows an Ethernet MAC address:
4A:30:10:21:10:1A
Example 13.1
Show how the address 47:20:1B:2E:08:EE is sent out online.
Solution
The address is sent left to right, byte by byte; for each byte, it is sent right to left, bit by bit, as
shown below:
Hexadecimal 47 20 1B 2E 08 EE
Binary 01000111 00100000 00011011 00101110 00001000 11101110
Unicast: 0 Multicast: 1
multicast address: the recipients are all the stations on the LAN. A broadcast destination
address is forty-eight 1s.
Example 13.2
Define the type of the following destination addresses:
a. 4A:30:10:21:10:1A
b. 47:20:1B:2E:08:EE
c. FF:FF:FF:FF:FF:FF
Solution
To find the type of the address, we need to look at the second hexadecimal digit from the left. If
it is even, the address is unicast. If it is odd, the address is multicast. If all digits are Fs, the address
is broadcast. Therefore, we have the following:
a. This is a unicast address because A in binary is 1010 (even).
PART III DATA-LINK LAYER
❑ In a broadcast transmission, all stations (except the sender) will receive the frame and
all stations (except the sender) keep and handle it.
CHAPTER 13 WIRED LANs: ETHERNET 369
❑ Assume station A in Figure 13.5 has a frame to send to station D. Station A first
should check whether any other station is sending (carrier sense). Station A
measures the level of energy on the medium (for a short period of time, normally
less than 100 μ s). If there is no signal energy on the medium, it means that no station
is sending (or the signal has not reached station A). Station A interprets this
situation as idle medium. It starts sending its frame. On the other hand, if the signal
energy level is not zero, it means that the medium is being used by another station.
Station A continuously monitors the medium until it becomes idle for 100 μ s. It
then starts sending the frame. However, station A needs to keep a copy of the frame
in its buffer until it is sure that there is no collision. When station A is sure of this
is the subject we discuss next.
❑ The medium sensing does not stop after station A has started sending the frame.
Station A needs to send and receive continuously. Two cases may occur:
a. Station A has sent 512 bits and no collision is sensed (the energy level did not go
above the regular energy level), the station then is sure that the frame will go through
and stops sensing the medium. Where does the number 512 bits come from? If we
consider the transmission rate of the Ethernet as 10 Mbps, this means that it takes the
station 512/(10 Mbps) = 51.2 μ s to send out 512 bits. With the speed of propagation
in a cable (2 × 108 meters), the first bit could have gone 10,240 meters (one way) or
only 5120 meters (round trip), have collided with a bit from the last station on the
cable, and have gone back. In other words, if a collision were to occur, it should occur
by the time the sender has sent out 512 bits (worst case) and the first bit has made a
round trip of 5120 meters. We should know that if the collision happens in the middle
of the cable, not at the end, station A hears the collision earlier and aborts the
transmission. We also need to mention another issue. The above assumption is that
the length of the cable is 5120 meters. The designer of the standard Ethernet actually
put a restriction of 2500 meters because we need to consider the delays encountered
throughout the journey. It means that they considered the worst case. The whole idea
is that if station A does not sense the collision before sending 512 bits, there must
have been no collision, because during this time, the first bit has reached the end of
the line and all other stations know that a station is sending and refrain from sending.
In other words, the problem occurs when another station (for example, the last
station) starts sending before the first bit of station A has reached it. The other station
mistakenly thinks that the line is free because the first bit has not yet reached it. The
reader should notice that the restriction of 512 bits actually helps the sending station:
The sending station is certain that no collision will occur if it is not heard during the
first 512 bits, so it can discard the copy of the frame in its buffer.
PART III DATA-LINK LAYER
b. Station A has sensed a collision before sending 512 bits. This means that one of the
previous bits has collided with a bit sent by another station. In this case both stations
should refrain from sending and keep the frame in their buffer for resending when
the line becomes available. However, to inform other stations that there is a collision
in the network, the station sends a 48-bit jam signal. The jam signal is to create
enough signal (even if the collision happens after a few bits) to alert other stations
about the collision. After sending the jam signal, the stations need to increment the
value of K (number of attempts). If after increment K = 15, the experience has shown
that the network is too busy, the station needs to abort its effort and try again. If K <
15, the station can wait a backoff time (TB in Figure 12.13) and restart the process.
As Figure 12.13 shows, the station creates a random number between 0 and 2 K − 1,
which means each time the collision occurs, the range of the random number
increases exponentially. After the first collision (K = 1) the random number is in the
range (0, 1). After the second collision (K = 2) it is in the range (0, 1, 2, 3). After the
third collision (K = 3) it is in the range (0, 1, 2, 3, 4, 5, 6, 7). So after each collision,
the probability increases that the backoff time becomes longer. This is due to the fact
that if the collision happens even after the third or fourth attempt, it means that the
network is really busy; a longer backoff time is needed.
13.2.4 Efficiency of Standard Ethernet
The efficiency of the Ethernet is defined as the ratio of the time used by a station to send
data to the time the medium is occupied by this station. The practical efficiency of
standard Ethernet has been measured to be
Efficiency 5 1 / (1 1 6.4 3 a)
in which the parameter “a” is the number of frames that can fit on the medium. It can be
calculated as a = (propagation delay)/(transmission delay) because the transmission
delay is the time it takes a frame of average size to be sent out and the propagation delay
is the time it takes to reach the end of the medium. Note that as the value of parameter
a decreases, the efficiency increases. This means that if the length of the media is shorter
or the frame size longer, the efficiency increases. In the ideal case, a = 0 and the
efficiency is 1. We ask to calculate this efficiency in problems at the end of the chapter.
Example 13.3
In the Standard Ethernet with the transmission rate of 10 Mbps, we assume that the length of the
medium is 2500 m and the size of the frame is 512 bits. The propagation speed of a signal in a
cable is normally 2 × 108 m/s.
13.2.5 Implementation
The Standard Ethernet defined several implementations, but only four of them became
popular during the 1980s. Table 13.1 shows a summary of Standard Ethernet
implementations.
Table 13.1 Summary of Standard Ethernet implementations
Implementation Medium Medium Length Encoding
10Base5 Thick coax 500 m Manchester
10Base2 Thin coax 185 m Manchester
10Base-T 2 UTP 100 m Manchester
10Base-F 2 Fiber 2000 m Manchester
In the nomenclature 10BaseX, the number defines the data rate (10 Mbps), the term
Base means baseband (digital) signal, and X approximately defines either the maximum
size of the cable in 100 meters (for example 5 for 500 or 2 for 185 meters) or the type
of cable, T for unshielded twisted pair cable (UTP) and F for fiber-optic. The standard
Ethernet uses a baseband signal, which means that the bits are changed to a digital signal
and directly sent on the line.
Encoding and Decoding
All standard implementations use digital signaling (baseband) at 10 Mbps. At the sender,
data are converted to a digital signal using the Manchester scheme; at the receiver, the
received signal is interpreted as Manchester and decoded into data. As we saw in
Chapter 4, Manchester encoding is self-synchronous, providing a transition at each bit
interval. Figure 13.6 shows the encoding scheme for Standard Ethernet.
Manchester Manchester
encoder decoder
Station
Media
Note that the collision here occurs in the thin coaxial cable. This implementation is
more cost effective than 10Base5 because thin coaxial cable is less expensive than thick
coaxial and the tee connections are much cheaper than taps. Installation is simpler
because the thin coaxial cable is very flexible. However, the length of each segment
CHAPTER 13 WIRED LANs: ETHERNET 373
cannot exceed 185 m (close to 200 m) due to the high level of attenuation in thin coaxial
cable.
10Base-T: Twisted-Pair Ethernet
The third implementation is called 10Base-T or twisted-pair Ethernet. 10Base-T uses a
physical star topology. The stations are connected to a hub via two pairs of twisted cable,
as shown in Figure 13.9.
Note that two pairs of twisted cable create two paths (one for sending and one for
receiving) between the station and the hub. Any collision here happens in the hub.
Compared to 10Base5 or 10Base2, we can see that the hub actually replaces the coaxial
cable as far as a collision is concerned. The maximum length of the twisted cable here
is defined as 100 m, to minimize the effect of attenuation in the twisted cable.
10Base-F: Fiber Ethernet
Although there are several types of optical fiber 10-Mbps Ethernet, the most common
is called 10Base-F. 10Base-F uses a star topology to connect stations to a hub. The
stations are connected to the hub using two fiber-optic cables, as shown in Figure 13.10.
PART III DATA-LINK LAYER
15.1 INTRODUCTION
Wireless communication is one of the fastest-growing technologies. The demand for
connecting devices without the use of cables is increasing everywhere. Wireless LANs can
be found on college campuses, in office buildings, and in many public areas. Before we
discuss a specific protocol related to wireless LANs, let us talk about them in general.
to a wireless infrastructure network, or to another wireless LAN. The first situation is the one that we discuss
in this section: connection of a wireless LAN to a wired infrastructure network. Figure 15.2 shows the two
environments.
Ad hoc network
Host Host
In this case, the wireless LAN is referred to as an infrastructure network, and the connection to the wired
infrastructure, such as the Internet, is done via a device called an access point (AP). Note that the role of the
access point is completely different from the role of a link-layer switch in the wired environment. An access
point is gluing two different environments together: one wired and one wireless. Communication between the
AP and the wireless host occurs in a wireless environment; communication between the AP and the
infrastructure occurs in a wired environment.
Moving between Environments
The discussion above confirms what we learned in Chapters 2 and 9: a wired LAN or a wireless LAN operates
only in the lower two layers of the TCP/IP protocol suite. This means that if we have a wired LAN in a
building that is connected via a router or a modem to the Internet, all we need in order to move from the wired
environment to a wireless environment is to change the network interface cards designed for wired
environments to the ones designed for wireless environments and replace the link-layer switch with an access
point. In this change, the link-layer addresses will change (because of changing NICs), but the network-layer
addresses (IP addresses) will remain the same; we are moving from wired links to wireless links.
438
15.1.2 Characteristics
There are several characteristics of wireless LANs that either do not apply to wired LANs
or the existence of which is negligible and can be ignored. We discuss some of these
characteristics here to pave the way for discussing wireless LAN protocols.
Attenuation
The strength of electromagnetic signals decreases rapidly because the signal disperses in all
directions; only a small portion of it reaches the receiver. The situation becomes worse with
mobile senders that operate on batteries and normally have small power supplies.
Interference
Another issue is that a receiver may receive signals not only from the intended sender, but
also from other senders if they are using the same frequency band.
Multipath Propagation
A receiver may receive more than one signal from the same sender because electromagnetic
waves can be reflected back from obstacles such as walls, the ground, or objects. The result
is that the receiver receives some signals at different phases (because they travel different
paths). This makes the signal less recognizable.
Error
With the above characteristics of a wireless network, we can expect that errors and error
detection are more serious issues in a wireless network than in a wired network. If we think
about the error level as the measurement of signal-to-noise ratio (SNR), we can better
understand why error detection and error correction and retransmission are more important
in a wireless network. We discussed SNR in more detail in Chapter 3, but it is enough to
say that it measures the ratio of good stuff to bad stuff (signal to noise). If SNR is high, it
means that the signal is stronger than the noise (unwanted signal), so we may be able to
convert the signal to actual data. On the other hand, when SNR is low, it means that the
signal is corrupted by the noise and the data cannot be recovered.
duplex mode. Wireless hosts do not have enough power to do so (the power is supplied by batteries).
They can only send or receive at one time.
2. Because of the hidden station problem, in which a station may not be aware of another station’s
transmission due to some obstacles or range problems, collision may occur but not be detected. Figure
15.3 shows an example of the hidden station problem. Station B has a transmission range shown by the
left oval (sphere in space); every station in this range can hear any signal transmitted by station B. Station
C has a transmission range shown by the right oval (sphere in space); every station located in this range
can hear any signal transmitted by C. Station C is
outside the transmission range of B; likewise, station B is outside the transmission range of C. Station A,
however, is in the area covered by both B and C; it can hear any signal transmitted by B or C. The figure
also shows that the hidden station problem may also occur due to an obstacle.
Assume that station B is sending data to station A. In the middle of this transmission, station C also
has data to send to station A. However, station C is out of B’s range and transmissions from B cannot
reach C. Therefore C thinks the medium is free. Station C sends its data to A, which results in a collision
at A because this station is receiving data from both B and C. In this case, we say that stations B and C
are hidden from each other with respect to A. Hidden stations can reduce the capacity of the network
because of the possibility of collision.
3. The distance between stations can be great. Signal fading could prevent a station at one end from hearing
a collision at the other end.
To overcome the above three problems, Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA)
was invented for wireless LANs, which we discussed in Chapter 12.
15.2 IEEE 802.11 PROJECT
IEEE has defined the specifications for a wireless LAN, called IEEE 802.11, which covers the physical and
data-link layers. It is sometimes called wireless Ethernet. In