MODULE 3
Framing, flow and error control
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.
The data link layer 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 o finserting 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 since the postal system is a
many-to-many carrier facility.
Framing in the data link layer separates a message from one source to a destination, or from
other messages to other destinations, 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 message. When a message is divided into
smaller frames, a single-bit error affects only that small frame.
Fixed-Size Framing
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 wide-area network, which uses frames of fixed size called cells.
Variable-Size Framing
In variable-size framing, we need a way to define the end of the frame and the beginning of the
next. Historically, two approaches were used for this purpose:
• a character-oriented approach
• a bit-oriented approach
Character-Oriented Protocols
In a character-oriented protocol, data to be carried are 8-bit characters from a coding system such
as ASCII. The header, which normally carries the source and destination addresses and other
control information, and the trailer, which carries error detection or error correction 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 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 ofa 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.We send other
types of information such as graphs, audio, and video. Any pattern 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), which 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 a delimiting flag.
Byte stuffing by the escape character allows the presence of the flag in the data section of the
frame, but it creates another problem. If the text contains one or more escape characters followed
by a flag the receiver removes the escape character, but keeps the flag, 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. Figure
11.2 shows the situation.
Byte stuffing is the process of adding 1 extra byte whenever there is a flag or escape
character in 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.
Bit-Oriented Protocols
In a bit-oriented protocol, the data section ofa 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 we 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.
If the flag pattern appears in the data, we need to inform the receiver that this is not the end of
the frame. We do this by stuffing 1 single bit (instead of I 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 o fadding one extra 0 whenever five consecutive 18 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.
This means that if the flag like pattern 01111110 appears in the data, it will change to 011111010
(stuffed) and is not mistaken as a flag by the receiver. The real flag 01111110 is not stuffed by
the sender and is recognized by the receiver.