What is a network protocol? Most textbook writers state something like this: A network protocol is a set of guidelines or standards for the operation of network devices, the methods of operation, and the formats for transmitted data. But what criteria are essential to determine what is or is not included in a protocol? The layered model of communications can guide us.
For example, why does RTP (real-time protocol) include a method of transferring a sequence number? Why does the error check in the IP header not include a validation of the data field in the packet? The answers to these questions depend on the layer with which the protocol is associated.
First, let’s review the idea of the layers as they are used today. The original model published in the early 1980s was the OSI model and it had seven layers. However, today, most discussions refer to the TCP/IP Protocol Suite model that has, listed from the top down, five layers: application, transport, network, data link, and physical. Let’s investigate a few protocols and the layer to which each is associated.
The TCP protocol is associated with layer four, the transport layer. According to the model, this layer is responsible for reliable transfer of data between the end-to-end processes. This is the reason that TCP tags the packets with a sequence number, has a retransmission method, and does flow control to prevent overflows of the receiving application. By contrast, the IP protocol, which is associated with the network layer (layer three) does not sequence packets, provide for retransmissions, or control the rate of flow. These functions are not part of the responsibilities spelled out for that layer in the model.
The data link layer (layer two) lists the functions that need to be facilitated to have reliable access to and delivery over a single physical link. This can be contrasted to the transport layer, where the same functions target reliability from end process to end process. At the data link layer, we see protocols such as 802.11n wireless, which deal with access to the air and retransmissions between the antennae.
So, let’s now return to the question of why RTP has sequence numbers. This protocol is nearly always used with Ethernet, IP, and UDP below it. Suppose that RTP is being used to transfer voice or audio over a network. The receiver needs to know when packets have been dropped. It may choose to simulate the voice or repeat the use of the last packet of voice in that case. However, none of the protocols below RTP makes provision for sequencing the packets. Consequently, this capability must be incorporated into the features of RTP. Likewise, IP is associated with the network layer and integrity of the data is not a listed responsibility. As a result, IP does not need to do an error check on that data.
Achieving AV goals such as reducing delay, maintaining reliability, and controlling accessibility depends upon which protocol provides these tasks. Additionally, these functions rely on the layer of the TCP/IP model to which they are associated.