Multiplexing
Multiplexing
Multiplexing is a technique used to combine and send the multiple data streams over a single
medium. The process of combining the data streams is known as multiplexing and hardware used
for multiplexing is known as a multiplexer.
Multiplexing is achieved by using a device called Multiplexer (MUX) that combines n input lines
to generate a single output line. Multiplexing follows many-to-one, i.e., n input lines and one
output line.
Why Multiplexing?
• The transmission medium is used to send the signal from sender to receiver. The medium
can only have one signal at a time.
• If there are multiple signals to share one medium, then the medium must be divided in
such a way that each signal is given some portion of the available bandwidth. For example:
If there are 10 signals and bandwidth of medium is100 units, then the 10 unit is shared by
each signal.
• When multiple signals share the common medium, there is a possibility of collision.
Multiplexing concept is used to avoid such collision.
• Transmission services are very expensive.
History of Multiplexing
• Multiplexing technique is widely used in telecommunications in which several telephone
calls are carried through a single wire.
• Multiplexing originated in telegraphy in the early 1870s and is now widely used in
communication.
• George Owen Squier developed the telephone carrier multiplexing in 1910.
Concept of Multiplexing
• The 'n' input lines are transmitted through a multiplexer and multiplexer combines the
signals to form a composite signal.
• The composite signal is passed through a Demultiplexer and demultiplexer separates a
signal to component signals and transfers them to their respective destinations.
Advantages of Multiplexing:
• More than one signal can be sent over a single medium.
• The bandwidth of a medium can be utilized effectively.
Multiplexing Techniques
Multiplexing techniques can be classified as:
Advantages Of FDM:
• FDM is used for analog signals.
• FDM process is very simple and easy modulation.
• A Large number of signals can be sent through an FDM simultaneously.
• It does not require any synchronization between sender and receiver.
Disadvantages Of FDM:
• FDM technique is used only when low-speed channels are required.
• It suffers the problem of crosstalk.
• A Large number of modulators are required.
• It requires a high bandwidth channel.
Applications Of FDM:
• FDM is commonly used in TV networks.
• It is used in FM and AM broadcasting. Each FM radio station has different frequencies,
and they are multiplexed to form a composite signal. The multiplexed signal is
transmitted in the air.
• Wavelength Division Multiplexing is same as FDM except that the optical signals are
transmitted through the fibre optic cable.
• WDM is used on fibre optics to increase the capacity of a single fibre.
• It is used to utilize the high data rate capability of fibre optic cable.
• It is an analog multiplexing technique.
• Optical signals from different source are combined to form a wider band of light with
the help of multiplexer.
• At the receiving end, demultiplexer separates the signals to transmit them to their
respective destinations.
• Multiplexing and Demultiplexing can be achieved by using a prism.
• Prism can perform a role of multiplexer by combining the various optical signals to form
a composite signal, and the composite signal is transmitted through a fibre optical
cable.
• Prism also performs a reverse operation, i.e., demultiplexing the signal.
Time Division Multiplexing
• It is a digital technique.
• In Frequency Division Multiplexing Technique, all signals operate at the same time with
different frequency, but in case of Time Division Multiplexing technique, all signals
operate at the same frequency with different time.
• In Time Division Multiplexing technique, the total time available in the channel is
distributed among different users. Therefore, each user is allocated with different time
interval known as a Time slot at which data is to be transmitted by the sender.
• A user takes control of the channel for a fixed amount of time.
• In Time Division Multiplexing technique, data is not transmitted simultaneously rather
the data is transmitted one-by-one.
• In TDM, the signal is transmitted in the form of frames. Frames contain a cycle of time
slots in which each frame contains one or more slots dedicated to each user.
• It can be used to multiplex both digital and analog signals but mainly used to multiplex
digital signals.
There are two types of TDM:
• Synchronous TDM
• Asynchronous TDM
Synchronous TDM
• A Synchronous TDM is a technique in which time slot is preassigned to every device.
• In Synchronous TDM, each device is given some time slot irrespective of the fact that
the device contains the data or not.
• If the device does not have any data, then the slot will remain empty.
• In Synchronous TDM, signals are sent in the form of frames. Time slots are organized in
the form of frames. If a device does not have data for a particular time slot, then the
empty slot will be transmitted.
• The most popular Synchronous TDM are T-1 multiplexing, ISDN multiplexing, and
SONET multiplexing.
• If there are n devices, then there are n slots.
In the above figure, the Synchronous TDM technique is implemented. Each device is allocated
with some time slot. The time slots are transmitted irrespective of whether the sender has data
to send or not.
Disadvantages Of Synchronous TDM:
• The capacity of the channel is not fully utilized as the empty slots are also transmitted
which is having no data. In the above figure, the first frame is completely filled, but in
the last two frames, some slots are empty. Therefore, we can say that the capacity of
the channel is not utilized efficiently.
• The speed of the transmission medium should be greater than the total speed of the
input lines. An alternative approach to the Synchronous TDM is Asynchronous Time
Division Multiplexing.
Asynchronous TDM
• An asynchronous TDM is also known as Statistical TDM.
• An asynchronous TDM is a technique in which time slots are not fixed as in the case of
Synchronous TDM. Time slots are allocated to only those devices which have the data
to send. Therefore, we can say that Asynchronous Time Division multiplexor transmits
only the data from active workstations.
• An asynchronous TDM technique dynamically allocates the time slots to the devices.
• In Asynchronous TDM, total speed of the input lines can be greater than the capacity
of the channel.
• Asynchronous Time Division multiplexor accepts the incoming data streams and creates
a frame that contains only data with no empty slots.
• In Asynchronous TDM, each slot contains an address part that identifies the source of
the data.
• The difference between Asynchronous TDM and Synchronous TDM is that many slots
in Synchronous TDM are unutilized, but in Asynchronous TDM, slots are fully utilized.
This leads to the smaller transmission time and efficient utilization of the capacity of
the channel.
• In Synchronous TDM, if there are n sending devices, then there are n time slots. In
Asynchronous TDM, if there are n sending devices, then there are m time slots where
m is less than n (m<n).
• The number of slots in a frame depends on the statistical analysis of the number of
input lines.
Concept Of Asynchronous TDM
In the above diagram, there are 4 devices, but only two devices are sending the data, i.e., A
and C. Therefore, the data of A and C are only transmitted through the transmission line.
Frame of above diagram can be represented as:
The above figure shows that the data part contains the address to determine the source of the
data.
Next Top
Switching
• When a user accesses the internet or another computer network outside their immediate
location, messages are sent through the network of transmission media. This technique
of transferring the information from one computer network to another network is known
as switching.
• Switching in a computer network is achieved by using switches. A switch is a small
hardware device which is used to join multiple computers together with one local area
network (LAN).
• Network switches operate at layer 2 (Data link layer) in the OSI model.
• Switching is transparent to the user and does not require any configuration in the home
network.
• Switches are used to forward the packets based on MAC addresses.
• A Switch is used to transfer the data only to the device that has been addressed. It verifies
the destination address to route the packet appropriately.
• It is operated in full duplex mode.
• Packet collision is minimum as it directly communicates between source and destination.
• It does not broadcast the message as it works with limited bandwidth.
• Bandwidth: It is defined as the maximum transfer rate of a cable. It is a very critical and
expensive resource. Therefore, switching techniques are used for the effective utilization
of the bandwidth of a network.
• Collision: Collision is the effect that occurs when more than one device transmits the
message over the same physical media, and they collide with each other. To overcome
this problem, switching technology is implemented so that packets do not collide with
each other.
Advantages of Switching:
• Switch increases the bandwidth of the network.
• It reduces the workload on individual PCs as it sends the information to only that device
which has been addressed.
• It increases the overall performance of the network by reducing the traffic on the
network.
• There will be less frame collision as switch creates the collision domain for each
connection.
Disadvantages of Switching:
• A Switch is more expensive than network bridges.
• A Switch cannot determine the network connectivity issues easily.
• Proper designing and configuration of the switch are required to handle multicast
packets.
Switching techniques
In large networks, there can be multiple paths from sender to receiver. The switching technique
will decide the best route for data transmission.
Switching technique is used to connect the systems for making one-to-one communication.
987
HTML Tutorial
• Circuit establishment
• Data transfer
• Circuit Disconnect
• Crossbar Switch
• Multistage Switch
Crossbar Switch
The Crossbar switch is a switch that has n input lines and n output lines. The crossbar switch has
n2 intersection points known as crosspoints.
Multistage Switch
• Multistage Switch is made by splitting the crossbar switch into the smaller units and then
interconnecting them.
• It reduces the number of crosspoints.
• If one path fails, then there will be an availability of another path.
Advantages Of Circuit Switching:
• Once the dedicated path is established, the only delay occurs in the speed of data
transmission.
• It takes a long time to establish a connection approx 10 seconds during which no data can
be transmitted.
• It is more expensive than other switching techniques as a dedicated path is required for
each connection.
• It is inefficient to use because once the path is established and no data is transferred,
then the capacity of the path is wasted.
• In this case, the connection is dedicated therefore no other data can be transferred even
if the channel is free.
Message Switching
• Message Switching is a switching technique in which a message is transferred as a
complete unit and routed through intermediate nodes at which it is stored and
forwarded.
• In Message Switching technique, there is no establishment of a dedicated path between
the sender and receiver.
• The destination address is appended to the message. Message Switching provides a
dynamic routing as the message is routed through the intermediate nodes based on the
information available in the message.
• Message switches are programmed in such a way so that they can provide the most
efficient routes.
• Each and every node stores the entire message and then forward it to the next node. This
type of network is known as store and forward network.
• Message switching treats each message as an independent entity.
• Data channels are shared among the communicating devices that improve the efficiency
of using available bandwidth.
• Traffic congestion can be reduced because the message is temporarily stored in the
nodes.
• Message priority can be used to manage the network.
• The size of the message which is sent over the network can be varied. Therefore, it
supports the data of unlimited size.
Disadvantages Of Message Switching
• The message switches must be equipped with sufficient storage to enable them to store
the messages until the message is forwarded.
• The Long delay can occur due to the storing and forwarding facility provided by the
message switching technique.
Packet Switching
• The packet switching is a switching technique in which the message is sent in one go, but
it is divided into smaller pieces, and they are sent individually.
• The message splits into smaller pieces known as packets and packets are given a unique
number to identify their order at the receiving end.
• Every packet contains some information in its headers such as source address, destination
address and sequence number.
• Packets will travel across the network, taking the shortest path as possible.
• All the packets are reassembled at the receiving end in correct order.
• If any packet is missing or corrupted, then the message will be sent to resend the
message.
• If the correct order of the packets is reached, then the acknowledgment message will be
sent.
• In the above diagram, A and B are the sender and receiver respectively. 1 and 2 are the
nodes.
• Call request and call accept packets are used to establish a connection between the
sender and receiver.
• When a route is established, data will be transferred.
• After transmission of data, an acknowledgment signal is sent by the receiver that the
message has been received.
• If the user wants to terminate the connection, a clear signal is sent for the termination.
• Packet Switching technique cannot be implemented in those applications that require low
delay and high-quality services.
• The protocols used in a packet switching technique are very complex and requires high
implementation cost.
• If the network is overloaded or corrupted, then it requires retransmission of lost packets.
It can also lead to the loss of critical information if errors are nor recovered.
Data Link Layer
Following services are provided by the Data Link Layer:
Error Detection
When data is transmitted from one device to another device, the system does not guarantee
whether the data received by the device is identical to the data transmitted by another device.
An Error is a situation when the message received at the receiver end is not identical to the
message transmitted.
Types Of Errors
• Single-Bit Error
• Burst Error
Single-Bit Error:
The only one bit of a given data unit is changed from 1 to 0 or from 0 to 1.
In the above figure, the message which is sent is corrupted as single-bit, i.e., 0 bit is changed to
1.Single-Bit Error does not appear more likely in Serial Data Transmission. For example, Sender
sends the data at 10 Mbps, this means that the bit lasts only for 1s and for a single-bit error to
occurred, a noise must be more than 1s.
Single-Bit Error mainly occurs in Parallel Data Transmission. For example, if eight wires are used
to send the eight bits of a byte, if one of the wire is noisy, then single-bit is corrupted per byte.
Burst Error:
The two or more bits are changed from 0 to 1 or from 1 to 0 is known as Burst Error.
The Burst Error is determined from the first corrupted bit to the last corrupted bit.
The duration of noise in Burst Error is more than the duration of noise in Single-Bit.
Burst Errors are most likely to occurr in Serial Data Transmission.
The number of affected bits depends on the duration of the noise and data rate.
Checksum
A Checksum is an error detection technique based on the concept of redundancy.
Checksum Generator
A Checksum is generated at the sending side. Checksum generator subdivides the data into equal
segments of n bits each, and all these segments are added together by using one's complement
arithmetic. The sum is complemented and appended to the original data, known as checksum
field. The extended data is transmitted across the network.
Suppose L is the total sum of the data segments, then the checksum would be ?L
1. The Sender follows the given steps:
2. The block unit is divided into k sections, and each of n bits.
3. All the k sections are added together by using one's complement to get the sum.
4. The sum is complemented and it becomes the checksum field.
5. The original data and checksum field are sent across the network.
Checksum Checker
A Checksum is verified at the receiving side. The receiver subdivides the incoming data into equal
segments of n bits each, and all these segments are added together, and then this sum is
complemented. If the complement of the sum is zero, then the data is accepted otherwise data
is rejected.
• In CRC technique, a string of n 0s is appended to the data unit, and this n number is less
than the number of bits in a predetermined number, known as division which is n+1 bits.
• Secondly, the newly extended data is divided by a divisor using a process is known as
binary division. The remainder generated from this division is known as CRC remainder.
• Thirdly, the CRC remainder replaces the appended 0s at the end of the original data. This
newly generated unit is sent to the receiver.
• The receiver receives the data followed by the CRC remainder. The receiver will treat this
whole unit as a single unit, and it is divided by the same divisor that was used to find the
CRC remainder.
If the resultant of this division is zero which means that it has no error, and the data is accepted.
If the resultant of this division is not zero which means that the data consists of an error.
Therefore, the data is discarded.
CRC Generator
• A CRC generator uses a modulo-2 division. Firstly, three zeroes are appended at the end
of the data as the length of the divisor is 4 and we know that the length of the string 0s
to be appended is always one less than the length of the divisor.
• Now, the string becomes 11100000, and the resultant string is divided by the divisor 1001.
• The remainder generated from the binary division is known as CRC remainder. The
generated value of the CRC remainder is 111.
• CRC remainder replaces the appended string of 0s at the end of the data unit, and the
final string would be 11100111 which is sent across the network.
CRC Checker
• The functionality of the CRC checker is similar to the CRC generator.
• When the string 11100111 is received at the receiving end, then CRC checker performs
the modulo-2 division.
• A string is divided by the same divisor, i.e., 1001.
• In this case, CRC checker generates the remainder of zero. Therefore, the data is accepted.
Error Correction
Error Correction codes are used to detect and correct the errors when data is transmitted from
the sender to the receiver.
• Backward error correction: Once the error is discovered, the receiver requests the sender
to retransmit the entire data unit.
• Forward error correction: In this case, the receiver uses the error-correcting code which
automatically corrects the errors.
A single additional bit can detect the error, but cannot correct it.
For correcting the errors, one has to know the exact position of the error. For example, If we
want to calculate a single-bit error, the error correction code will determine which one of seven
bits is in error. To achieve this, we have to add some additional redundant bits. x
Suppose r is the number of redundant bits and d is the total number of the data bits. The
number of redundant bits r can be calculated by using the formula:
2r>=d+r+1
The value of r is calculated by using the above formula. For example, if the value of d is 4, then
the possible smallest value that satisfies the above relation would be 3.
To determine the position of the bit which is in error, a technique developed by R.W Hamming is
Hamming code which can be applied to any length of the data unit and uses the relationship
between data units and redundant units.
Hamming Code
Parity bits: The bit which is appended to the original data of binary bits so that the total number
of 1s is even or odd.
Even parity: To check for even parity, if the total number of 1s is even, then the value of the
parity bit is 0. If the total number of 1s occurrences is odd, then the value of the parity bit is 1.
Odd Parity: To check for odd parity, if the total number of 1s is even, then the value of parity bit
is 1. If the total number of 1s is odd, then the value of parity bit is 0.
We observe from the above figure that the bit positions that includes 1 in the first position are 1,
3, 5, 7. Now, we perform the even-parity check at these bit positions. The total number of 1 at
these bit positions corresponding to r1 is even, therefore, the value of the r1 bit is 0.
Determining r2 bit
The r2 bit is calculated by performing a parity check on the bit positions whose binary
representation includes 1 in the second position.
We observe from the above figure that the bit positions that includes 1 in the second position
are 2, 3, 6, 7. Now, we perform the even-parity check at these bit positions. The total number of
1 at these bit positions corresponding to r2 is odd, therefore, the value of the r2 bit is 1.
Determining r4 bit
The r4 bit is calculated by performing a parity check on the bit positions whose binary
representation includes 1 in the third position.
We observe from the above figure that the bit positions that includes 1 in the third position are
4, 5, 6, 7. Now, we perform the even-parity check at these bit positions. The total number of 1 at
these bit positions corresponding to r4 is even, therefore, the value of the r4 bit is 0.
Data transferred is given below:
Suppose the 4th bit is changed from 0 to 1 at the receiving end, then parity bits are recalculated.
R1 bit
The bit positions of the r1 bit are 1,3,5,7
We observe from the above figure that the binary representation of r1 is 1100. Now, we perform
the even-parity check, the total number of 1s appearing in the r1 bit is an even number.
Therefore, the value of r1 is 0.
R2 bit
The bit positions of r2 bit are 2,3,6,7.
We observe from the above figure that the binary representation of r2 is 1001. Now, we perform
the even-parity check, the total number of 1s appearing in the r2 bit is an even number.
Therefore, the value of r2 is 0.
R4 bit
The bit positions of r4 bit are 4,5,6,7.
We observe from the above figure that the binary representation of r4 is 1011. Now, we perform
the even-parity check, the total number of 1s appearing in the r4 bit is an odd number. Therefore,
the value of r4 is 1.
• The binary representation of redundant bits, i.e., r4r2r1 is 100, and its corresponding
decimal value is 4. Therefore, the error occurs in a 4th bit position. The bit value must be
changed from 1 to 0 to correct the error.
• Line discipline
• Flow Control
• Error Control
Line Discipline
• Line Discipline is a functionality of the Data link layer that provides the coordination
among the link systems. It determines which device can send, and when it can send the
data.
Line Discipline can be achieved in two ways:
• ENQ/ACK
• Poll/select
END/ACK
65.5M
1.3K
END/ACK stands for Enquiry/Acknowledgement is used when there is no wrong receiver available
on the link and having a dedicated path between the two devices so that the device capable of
receiving the transmission is the intended one.
END/ACK coordinates which device will start the transmission and whether the recipient is ready
or not.
Working of END/ACK
The transmitter transmits the frame called an Enquiry (ENQ) asking whether the receiver is
available to receive the data or not.
The receiver responses either with the positive acknowledgement(ACK) or with the negative
acknowledgement(NACK) where positive acknowledgement means that the receiver is ready to
receive the transmission and negative acknowledgement means that the receiver is unable to
accept the transmission.
Following are the responses of the receiver:
• If the response to the ENQ is positive, the sender will transmit its data, and once all of its
data has been transmitted, the device finishes its transmission with an EOT (END-of-
Transmission) frame.
• If the response to the ENQ is negative, then the sender disconnects and restarts the
transmission at another time.
• If the response is neither negative nor positive, the sender assumes that the ENQ frame
was lost during the transmission and makes three attempts to establish a link before
giving up.
Poll/Select
The Poll/Select method of line discipline works with those topologies where one device is
designated as a primary station, and other devices are secondary stations.
Working of Poll/Select
• In this, the primary device and multiple secondary devices consist of a single transmission
line, and all the exchanges are made through the primary device even though the
destination is a secondary device.
• The primary device has control over the communication link, and the secondary device
follows the instructions of the primary device.
• The primary device determines which device is allowed to use the communication
channel. Therefore, we can say that it is an initiator of the session.
• If the primary device wants to receive the data from the secondary device, it asks the
secondary device that they anything to send, this process is known as polling.
• If the primary device wants to send some data to the secondary device, then it tells the
target secondary to get ready to receive the data, this process is known as selecting.
Select
• The select mode is used when the primary device has something to send.
• When the primary device wants to send some data, then it alerts the secondary device
for the upcoming transmission by transmitting a Select (SEL) frame, one field of the frame
includes the address of the intended secondary device.
• When the secondary device receives the SEL frame, it sends an acknowledgement that
indicates the secondary ready status.
• If the secondary device is ready to accept the data, then the primary device sends two or
more data frames to the intended secondary device. Once the data has been transmitted,
the secondary sends an acknowledgement specifies that the data has been received.
Poll
• The Poll mode is used when the primary device wants to receive some data from the
secondary device.
• When a primary device wants to receive the data, then it asks each device whether it has
anything to send.
• Firstly, the primary asks (poll) the first secondary device, if it responds with the NACK
(Negative Acknowledgement) means that it has nothing to send. Now, it approaches the
second secondary device, it responds with the ACK means that it has the data to send.
The secondary device can send more than one frame one after another or sometimes it
may be required to send ACK before sending each one, depending on the type of the
protocol being used.
Flow Control
• It is a set of procedures that tells the sender how much data it can transmit before the
data overwhelms the receiver.
• The receiving device has limited speed and limited memory to store the data. Therefore,
the receiving device must be able to inform the sending device to stop the transmission
temporarily before the limits are reached.
• It requires a buffer, a block of memory for storing the information until they are
processed.
Two methods have been developed to control the flow of data:
• Stop-and-wait
• Sliding window
Stop-and-wait
• In the Stop-and-wait method, the sender waits for an acknowledgement after every frame
it sends.
• When acknowledgement is received, then only next frame is sent. The process of
alternately sending and waiting of a frame continues until the sender transmits the EOT
(End of transmission) frame.
Advantage of Stop-and-wait
The Stop-and-wait method is simple as each frame is checked and acknowledged before the next
frame is sent.
Disadvantage of Stop-and-wait
Stop-and-wait technique is inefficient to use as each frame must travel across all the way to the
receiver, and an acknowledgement travels all the way before the next frame is sent. Each frame
sent and received uses the entire time needed to traverse the link.
Sliding Window
• The Sliding Window is a method of flow control in which a sender can transmit the several
frames before getting an acknowledgement.
• In Sliding Window Control, multiple frames can be sent one after the another due to
which capacity of the communication channel can be utilized efficiently.
• A single ACK acknowledge multiple frames.
• Sliding Window refers to imaginary boxes at both the sender and receiver end.
• The window can hold the frames at either end, and it provides the upper limit on the
number of frames that can be transmitted before the acknowledgement.
• Frames can be acknowledged even when the window is not completely filled.
• The window has a specific size in which they are numbered as modulo-n means that they
are numbered from 0 to n-1. For example, if n = 8, the frames are numbered from
0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,0,1........
• The size of the window is represented as n-1. Therefore, maximum n-1 frames can be sent
before acknowledgement.
• When the receiver sends the ACK, it includes the number of the next frame that it wants
to receive. For example, to acknowledge the string of frames ending with frame number
4, the receiver will send the ACK containing the number 5. When the sender sees the ACK
with the number 5, it got to know that the frames from 0 through 4 have been received.
Sender Window
• At the beginning of a transmission, the sender window contains n-1 frames, and when
they are sent out, the left boundary moves inward shrinking the size of the window. For
example, if the size of the window is w if three frames are sent out, then the number of
frames left out in the sender window is w-3.
• Once the ACK has arrived, then the sender window expands to the number which will be
equal to the number of frames acknowledged by ACK.
• For example, the size of the window is 7, and if frames 0 through 4 have been sent out
and no acknowledgement has arrived, then the sender window contains only two frames,
i.e., 5 and 6. Now, if ACK has arrived with a number 4 which means that 0 through 3 frames
have arrived undamaged and the sender window is expanded to include the next four
frames. Therefore, the sender window contains six frames (5,6,7,0,1,2).
Receiver Window
• At the beginning of transmission, the receiver window does not contain n frames, but it
contains n-1 spaces for frames.
• When the new frame arrives, the size of the window shrinks.
• The receiver window does not represent the number of frames received, but it represents
the number of frames that can be received before an ACK is sent. For example, the size
of the window is w, if three frames are received then the number of spaces available in
the window is (w-3).
• Once the acknowledgement is sent, the receiver window expands by the number equal
to the number of frames acknowledged.
• Suppose the size of the window is 7 means that the receiver window contains seven
spaces for seven frames. If the one frame is received, then the receiver window shrinks
and moving the boundary from 0 to 1. In this way, window shrinks one by one, so window
now contains the six spaces. If frames from 0 through 4 have sent, then the window
contains two spaces before an acknowledgement is sent.
Error Control
Error Control is a technique of error detection and retransmission.
Categories of Error Control:
Stop-and-wait ARQ
Stop-and-wait ARQ is a technique used to retransmit the data in case of damaged or lost frames.
This technique works on the principle that the sender will not transmit the next frame until it
receives the acknowledgement of the last transmitted frame.
Four features are required for the retransmission:
• The sending device keeps a copy of the last transmitted frame until the acknowledgement
is received. Keeping the copy allows the sender to retransmit the data if the frame is not
received correctly.
• Both the data frames and the ACK frames are numbered alternately 0 and 1 so that they
can be identified individually. Suppose data 1 frame acknowledges the data 0 frame
means that the data 0 frame has been arrived correctly and expects to receive data 1
frame.
• If an error occurs in the last transmitted frame, then the receiver sends the NAK frame
which is not numbered. On receiving the NAK frame, sender retransmits the data.
• It works with the timer. If the acknowledgement is not received within the allotted time,
then the sender assumes that the frame is lost during the transmission, so it will
retransmit the frame.
Two possibilities of the retransmission:
• Damaged Frame: When the receiver receives a damaged frame, i.e., the frame contains
an error, then it returns the NAK frame. For example, when the data 0 frame is sent, and
then the receiver sends the ACK 1 frame means that the data 0 has arrived correctly, and
transmits the data 1 frame. The sender transmits the next frame: data 1. It reaches
undamaged, and the receiver returns ACK 0. The sender transmits the next frame: data 0.
The receiver reports an error and returns the NAK frame. The sender retransmits the data
0 frame.
• Lost Frame: Sender is equipped with the timer and starts when the frame is transmitted.
Sometimes the frame has not arrived at the receiving end so that it can be acknowledged
neither positively nor negatively. The sender waits for acknowledgement until the timer
goes off. If the timer goes off, it retransmits the last transmitted frame.
Sliding Window ARQ
SlidingWindow ARQ is a technique used for continuous transmission error control.
Three Features used for retransmission:
• In this case, the sender keeps the copies of all the transmitted frames until they have been
acknowledged. Suppose the frames from 0 through 4 have been transmitted, and the last
acknowledgement was for frame 2, the sender has to keep the copies of frames 3 and 4
until they receive correctly.
• The receiver can send either NAK or ACK depending on the conditions. The NAK frame
tells the sender that the data have been received damaged. Since the sliding window is a
continuous transmission mechanism, both ACK and NAK must be numbered for the
identification of a frame. The ACK frame consists of a number that represents the next
frame which the receiver expects to receive. The NAK frame consists of a number that
represents the damaged frame.
• The sliding window ARQ is equipped with the timer to handle the lost acknowledgements.
Suppose then n-1 frames have been sent before receiving any acknowledgement. The
sender waits for the acknowledgement, so it starts the timer and waits before sending
any more. If the allotted time runs out, the sender retransmits one or all the frames
depending upon the protocol used.
Two protocols used in sliding window ARQ:
• Go-Back-n ARQ: In Go-Back-N ARQ protocol, if one frame is lost or damaged, then it
retransmits all the frames after which it does not receive the positive ACK.
Three possibilities can occur for retransmission:
• Damaged Frame: When the frame is damaged, then the receiver sends a NAK frame.
In the above figure, three frames have been transmitted before an error discovered in the third
frame. In this case, ACK 2 has been returned telling that the frames 0,1 have been received
successfully without any error. The receiver discovers the error in data 2 frame, so it returns the
NAK 2 frame. The frame 3 is also discarded as it is transmitted after the damaged frame.
Therefore, the sender retransmits the frames 2,3.
• Lost Data Frame: In Sliding window protocols, data frames are sent sequentially. If any of
the frames is lost, then the next frame arrive at the receiver is out of sequence. The
receiver checks the sequence number of each of the frame, discovers the frame that has
been skipped, and returns the NAK for the missing frame. The sending device retransmits
the frame indicated by NAK as well as the frames transmitted after the lost frame.
• Lost Acknowledgement: The sender can send as many frames as the windows allow
before waiting for any acknowledgement. Once the limit of the window is reached, the
sender has no more frames to send; it must wait for the acknowledgement. If the
acknowledgement is lost, then the sender could wait forever. To avoid such situation, the
sender is equipped with the timer that starts counting whenever the window capacity is
reached. If the acknowledgement has not been received within the time limit, then the
sender retransmits the frame since the last ACK.
Selective-Reject ARQ
For example, the router with a header field value of 0111 arrives at a router, and then router
indexes this header value into the forwarding table that determines the output link interface is
2. The router forwards the packet to the interface 2. The routing algorithm determines the values
that are inserted in the forwarding table. The routing algorithm can be centralized or
decentralized.
Services Provided by the Network Layer
• Guaranteed delivery: This layer provides the service which guarantees that the packet
will arrive at its destination.
• Guaranteed delivery with bounded delay: This service guarantees that the packet will be
delivered within a specified host-to-host delay bound.
• In-Order packets: This service ensures that the packet arrives at the destination in the
order in which they are sent.
• Guaranteed max jitter: This service ensures that the amount of time taken between two
successive transmissions at the sender is equal to the time between their receipt at the
destination.
• Security services: The network layer provides security by using a session key between the
source and destination host. The network layer in the source host encrypts the payloads
of datagrams being sent to the destination host. The network layer in the destination host
would then decrypt the payload. In such a way, the network layer maintains the data
integrity and source authentication services.
Next Topic
Network Addressing
• Network Addressing is one of the major responsibilities of the network layer.
• Network addresses are always logical, i.e., software-based addresses.
• A host is also known as end system that has one link to the network. The boundary
between the host and link is known as an interface. Therefore, the host can have only one
interface.
• A router is different from the host in that it has two or more links that connect to it. When
a router forwards the datagram, then it forwards the packet to one of the links. The
boundary between the router and link is known as an interface, and the router can have
multiple interfaces, one for each of its links. Each interface is capable of sending and
receiving the IP packets, so IP requires each interface to have an address.
• Each IP address is 32 bits long, and they are represented in the form of "dot-decimal
notation" where each byte is written in the decimal form, and they are separated by the
period. An IP address would look like 193.32.216.9 where 193 represents the decimal
notation of first 8 bits of an address, 32 represents the decimal notation of second 8 bits
of an address.
• Let's understand through a simple example.
• In the above figure, a router has three interfaces labeled as 1, 2 & 3 and each router
interface contains its own IP address.
• Each host contains its own interface and IP address.
• All the interfaces attached to the LAN 1 is having an IP address in the form of 223.1.1.xxx,
and the interfaces attached to the LAN 2 and LAN 3 have an IP address in the form of
223.1.2.xxx and 223.1.3.xxx respectively.
• Each IP address consists of two parts. The first part (first three bytes in IP address)
specifies the network and second part (last byte of an IP address) specifies the host in the
network.
Classful Addressing
An IP address is 32-bit long. An IP address is divided into sub-classes:
• Class A
• Class B
• Class C
• Class D
• Class E
An ip address is divided into two parts:
Class A
In Class A, an IP address is assigned to those networks that contain a large number of hosts.
Class B
In Class B, an IP address is assigned to those networks that range from small-sized to large-sized
networks.
Class C
In Class C, an IP address is assigned to only small-sized networks.
Class D
In Class D, an IP address is reserved for multicast addresses. It does not possess subnetting. The
higher order bits of the first octet is always set to 1110, and the remaining bits determines the
host ID in any network.
Class E
In Class E, an IP address is used for the future use or for the research and development purposes.
It does not possess any subnetting. The higher order bits of the first octet is always set to 1111,
and the remaining bits determines the host ID in any network.