The simplest protocol is a data link layer protocol used for noiseless channels. The simplest protocol is also known as the Elementary Data Link Protocol. As the simplest protocol is used in noiseless channels, it has no error control and no flow control. In the simplest protocol, we assume that the receiver is always ready to handle any frames coming from the sender immediately. The simplest protocol is a unidirectional protocol in which the data frames travel in only one direction from the sender to the receiver. The processing time of the simplest protocol is very short. Hence it can be neglected.
Simplest Protocol
The simplest protocol is a data link layer protocol used for noiseless channels. The simplest protocol is the Elementary Data Link Protocol. As the simplest protocol is used in noiseless channels, it has no error control and no flow control. In the simplest protocol, we assume that the receiver is always ready to handle any frames coming from the sender immediately. The simplest protocol is a unidirectional protocol in which the data frames are traveling in only one direction from the sender to the receiver.
Since the simplest protocol is unidirectional, there is no acknowledgment (ACK). Also, as there is no data loss in the transmission, there is no need for data re-transmission.
The following assumptions have been made for developing the simplest protocol:
- The transmission channel is completely noiseless (a channel in which no frames are lost, corrupted, or duplicated).
- The transmission channel is assumed to be ideal in which there is no data loss, no data duplication, and no data corruption.
- There is no error and flow control mechanism.
- The buffer space for storing the frames at the sender’s end and the receiver’s end is infinite.
Important Points related to the simplest protocol:
- The processing time of the simplest protocol is very short. Hence it can be neglected.
- The sender and the receiver are always ready to send and receive data.
- The sender sends a sequence of data frames without thinking about the receiver.
- There is no data loss hence no ACK or NACK.
- The DLL at the receiving end immediately removes the frame header and transfers the data to the subsequent layer.
As there is no ACK or NACK, the sender must wait for a certain time before sending the message. So, we use another type of protocol called the Sliding Window Protocol. Let us briefly discuss the sliding window protocols.
The sliding window protocol is a data link layer protocol that is useful in the sequential and reliable delivery of data frames. Using the sliding window protocol, the sender can send multiple frames at a time. The sliding window protocol uses a mechanism of sequence numbers. The sender associates a sequence number to the data frames so that the receiver can use this sequence number to arrange the frames in order if any frame was re-transmitted. The sequence number also helps the receiver identify the loss of damaged packets.
Note: When the receiver receives the frame, it sends back an ACK (acknowledgment) to the sender. The ACK lets the sender know that the receiver receives a particular frame correctly. There are two types of sliding window protocols, namely Go-Back-N ARQ, and Selective Repeat ARQ.
Design of the Simplest Protocol
The design of the simplest protocol is very simple as there is no error and a flow control mechanism. The sender end (present at the data link layer) gets the data from the network layer and converts the data into the form of frames so that it can be easily transmitted.
Refer to the diagram below to visualize the data transfer and design of the simplest protocol.
Now on the receiver’s end, the data frame is taken from the physical layer and then the data link layer extracts the actual data (by removing the header from the data frame) from the data frame.
The algorithm of the simplest protocol can be visualized as:
Process at the sender’s end:
while(true) // Repeat the procedure forever
{
WaitForEvent(); // Wait until there is data to be sent
if(Event(RequestToSend)) // if there is data to be sent
{
GetData(); // get the data
MakeFrame(); // create the frame
SendFrame(); // finally Send the frame
}
}
Process at the receiver’s end:
while(true) // Repeat the procedure forever
{
WaitForEvent(); // Wait until there is data to be received
if(Event(ArrivalNotification)) // if there is data to be received
{
ReceiveFrame(); // get the data
ExtractData(); // create the data frome the frame
DeliverData(); // send the data to the other layer
}
}
Flow Chart for Simplest Protocol
Let us now look at the flow chart of the data transfer from the sender to the receiver. Suppose that the sender is A and the receiver is B.
The basic flow of the data frame is depicted in the diagram below.
The idea is very simple, and the sender sends the sequence of data frames without thinking about the receiver. Whenever a sending request comes from the network layer, the sender sends the data frames. Similarly, whenever the receiving request comes from the physical layer, the receiver receives the data frames.
Important points related to the data transfer:
- The sender cannot send the data frame until the network layer has a data packet to be transmitted.
- The receiver is always ready to receive data frames, and it is constantly running, but no action takes place until notified by the physical layer.
- Similarly, the sender is always ready to send data frames, and it is constantly running, but no action takes place until notified by the network layer.
Conclusion
- The simplest protocol is a data link layer protocol used for noiseless channels. It is also known as the Elementary Data Link Protocol.
- As the simplest protocol is used in noiseless channels, it has no error control and no flow control.
- In the simplest protocol, we assume that the receiver is always ready to handle any frames coming from the sender immediately.
- The simplest protocol is a unidirectional protocol in which the data frames travel in only one direction from the sender to the receiver.
- There is no acknowledgment (ACK). Also, as there is no data loss in the transmission, there is no need for data re-transmission.
- The processing time of the simplest protocol is very short, hence it can be neglected as the sender, and the receiver are always ready to send and receive data.
- In the simplest protocol, the sender is always ready to send data frames, and it is constantly running, but no action takes place until notified by the network layer.
- Similarly, the receiver is always ready to receive data frames, constantly running, but no action takes place until notified by the physical layer.