Chapter 23 Process-to-Process Delivery

Chapter 23 of Data Communications and Networking by Behrouz A. Forouzan focuses on Process-to-Process Delivery via three key protocols: UDP, TCP, and SCTP. Here's a detailed breakdown:

23.1 Process-to-Process Delivery

In networking, communication typically occurs between processes (programs) running on different hosts. The transport layer ensures process-to-process delivery, which is different from node-to-node or host-to-host delivery provided by lower layers. The transport layer enables multiple processes to communicate simultaneously through port numbers.

  • Client/Server Paradigm: The most common model for process-to-process delivery, where a client requests services from a server.

  • Addressing: Involves IP addresses for host identification and port numbers to identify processes on a host.

23.2 User Datagram Protocol (UDP)

UDP is a simple, connectionless, and unreliable transport protocol, primarily used for applications that require fast, efficient communication with minimal overhead, like DNS lookups and VoIP.

Key Characteristics of UDP:

  • Connectionless: Does not establish a connection before sending data.

  • Unreliable: No guarantees for delivery, duplication, or order.

  • Lightweight: Little overhead, making it suitable for real-time applications.

  • Checksum: Provides basic error detection but no recovery mechanisms.

UDP is useful for applications that handle their own error correction or where loss of some packets is acceptable, such as video streaming or gaming.

23.3 Transmission Control Protocol (TCP)

TCP is a more complex protocol designed for reliable and connection-oriented communication. It is used by applications where accurate and ordered data delivery is crucial, such as file transfers or emails.

Key Characteristics of TCP:

  • Connection-Oriented: Establishes a connection before data transfer using a three-way handshake.

  • Reliable: Guarantees delivery, and retransmits lost segments.

  • Flow Control: Uses a sliding window mechanism to prevent overwhelming the receiver.

  • Congestion Control: Adapts to network congestion by controlling data transmission rates.

  • Stream-Oriented: Treats data as a continuous stream of bytes rather than discrete messages.

TCP ensures that data reaches its destination in the correct order and without duplication.

23.4 Stream Control Transmission Protocol (SCTP)

SCTP is a relatively new transport protocol designed to support real-time, multihomed, and multistream applications, making it particularly useful for telephony and multimedia applications over IP.

Key Characteristics of SCTP:

  • Message-Oriented: Unlike TCP, it preserves message boundaries.

  • Reliable: Like TCP, it offers reliability with error and flow control.

  • Multistreaming: Allows multiple streams within a single connection (called an association), ensuring that loss in one stream does not block others.

  • Multihoming: Supports multiple IP addresses for fault tolerance.

SCTP combines the best features of both UDP and TCP while adding features for multimedia and multistream applications.

Summary:

  • UDP: Simple, fast, but unreliable. Suitable for real-time or low-latency applications.

  • TCP: Reliable and connection-oriented, ensuring data integrity and order.

  • SCTP: Combines reliability with multistreaming and multihoming, suitable for multimedia.

This chapter provides an in-depth look at how different protocols handle process-to-process communication, depending on the application requirements for speed, reliability, and complexity【23:0†source】.

Last updated