Introduction to Transport-Layer Protocols
Transport-Layer Protocols
Introduction
A Transport-Layer Protocol defines the set of rules that govern how data is transferred between two application processes running on different hosts. It specifies how data is encapsulated, transmitted, received, acknowledged, and delivered between the sender and receiver.
In the previous section, we discussed various transport-layer services such as:
- Process-to-process communication
- Port addressing
- Multiplexing and demultiplexing
- Flow control
- Error control
- Congestion control
- Connection-oriented service
- Connectionless service
By combining these services in different ways, we can design different transport-layer protocols.
For example:
| Protocol | Connection | Flow Control | Error Control | Congestion Control |
|---|---|---|---|---|
| Simple Protocol | No | No | No | No |
| Stop-and-Wait Protocol | No | Yes | No | No |
| Stop-and-Wait ARQ | No | Yes | Yes | No |
| Go-Back-N | Yes | Yes | Yes | No |
| Selective Repeat | Yes | Yes | Yes | No |
| TCP | Yes | Yes | Yes | Yes |
| UDP | No | No | No | No |
We will learn these protocols from the simplest to the most complex, so that each new protocol builds upon the features of the previous one.
Note: For simplicity, these protocols are first explained as simplex (unidirectional) protocols, where data flows only from the sender to the receiver. Later, they can be extended to full-duplex (bidirectional) communication, where both sides can send and receive data simultaneously.
Comments
Post a Comment