Internet Transport-Layer Protocols
Internet Transport-Layer Protocols
Introduction
After understanding the general principles of the transport layer, we now study the transport-layer protocols used in the Internet. Although the Internet supports several transport-layer protocols, this chapter mainly focuses on the two most widely used protocols:
- User Datagram Protocol (UDP)
- Transmission Control Protocol (TCP)
These protocols are located between the Application Layer and the Network Layer in the TCP/IP protocol suite. They act as an intermediary between application programs and the network, providing process-to-process communication between applications running on different hosts.
- UDP (User Datagram Protocol) is an unreliable, connectionless transport-layer protocol. It is simple, fast, and has low overhead, making it suitable for applications where speed is more important than reliability, and error control can be handled by the application itself.
- TCP (Transmission Control Protocol) is a reliable, connection-oriented transport-layer protocol. It provides reliable, ordered, and error-free delivery of data, making it suitable for applications where data integrity is essential.
Apart from UDP and TCP, the Internet also supports other transport-layer protocols such as SCTP (Stream Control Transmission Protocol), which are discussed separately.
One of the primary responsibilities of the transport layer is to provide process-to-process communication. This is achieved using port numbers, which uniquely identify the application or process running on a host.
Port Numbers
A port number is a 16-bit logical address used by the transport layer to identify a specific application or service on a computer.
- The IP address identifies the destination host.
- The port number identifies the destination application (process) on that host.
For example, when you access a website, the IP address identifies the web server, while port 80 (HTTP) or port 443 (HTTPS) identifies the web service running on that server.
Types of Port Numbers
| Port Range | Name | Purpose |
|---|---|---|
| 0 – 1023 | Well-Known Ports | Reserved for standard Internet services |
| 1024 – 49151 | Registered Ports | Used by registered applications |
| 49152 – 65535 | Dynamic (Private/Ephemeral) Ports | Temporarily assigned to client applications |
Well-Known Port Numbers
The following table lists some commonly used well-known ports used by UDP and TCP.
| Port Number | Protocol | UDP | TCP | Description |
|---|---|---|---|---|
| 7 | Echo | ✓ | Echoes back the received datagram | |
| 9 | Discard | ✓ | Discards received datagrams | |
| 11 | Users | ✓ | ✓ | Returns information about active users |
| 13 | Daytime | ✓ | ✓ | Returns the current date and time |
| 17 | Quote | ✓ | ✓ | Returns the "Quote of the Day" |
| 19 | Chargen | ✓ | ✓ | Generates a stream of characters for testing |
| 20, 21 | FTP | ✓ | File Transfer Protocol (File Transfer) | |
| 23 | TELNET | ✓ | Remote terminal login | |
| 25 | SMTP | ✓ | Simple Mail Transfer Protocol (Email Sending) | |
| 53 | DNS | ✓ | ✓ | Domain Name System (Name Resolution) |
| 67 | DHCP | ✓ | ✓ | Dynamic Host Configuration Protocol (IP Address Assignment) |
| 69 | TFTP | ✓ | Trivial File Transfer Protocol | |
| 80 | HTTP | ✓ | Hypertext Transfer Protocol (Web Browsing) | |
| 111 | RPC | ✓ | ✓ | Remote Procedure Call |
| 123 | NTP | ✓ | ✓ | Network Time Protocol (Time Synchronization) |
| 161, 162 | SNMP | ✓ | Simple Network Management Protocol |
Commonly Used Port Numbers
| Port | Service | Transport Protocol | Purpose |
|---|---|---|---|
| 20, 21 | FTP | TCP | File transfer |
| 22 | SSH | TCP | Secure remote login |
| 23 | TELNET | TCP | Remote login |
| 25 | SMTP | TCP | Sending e-mail |
| 53 | DNS | UDP/TCP | Domain name resolution |
| 67, 68 | DHCP | UDP | Automatic IP address assignment |
| 69 | TFTP | UDP | Simple file transfer |
| 80 | HTTP | TCP | Web browsing |
| 110 | POP3 | TCP | Receiving e-mail |
| 123 | NTP | UDP | Time synchronization |
| 143 | IMAP | TCP | Accessing e-mail |
| 161, 162 | SNMP | UDP | Network management |
| 443 | HTTPS | TCP | Secure web browsing |
Importance of Port Numbers
Port numbers help the transport layer to:
- Identify the correct application or process on a host.
- Enable multiple applications to use the network simultaneously.
- Support multiplexing and demultiplexing of data.
- Establish process-to-process communication between client and server applications.
Key Points to Remember
- UDP is an unreliable, connectionless transport protocol that offers low overhead and high speed.
- TCP is a reliable, connection-oriented transport protocol that guarantees ordered and error-free delivery.
- Both protocols use port numbers to identify application processes.
- A port number is a 16-bit identifier used by the transport layer for process-to-process communication.
- Well-known ports (0–1023) are reserved for standard Internet services such as HTTP (80), FTP (20/21), DNS (53), SMTP (25), and DHCP (67).
Comments
Post a Comment