Transport Layer Protocols ========================= This section introduces the core transport layer protocols responsible for end-to-end communication, data delivery reliability, and congestion control in IP networks. .. toctree:: :maxdepth: 1 :hidden: :includehidden: QUIC TCP UDP .. list-table:: :widths: 20 60 20 :header-rows: 1 * - Protocol - Description - Use Case * - QUIC (Quick UDP Internet Connections) - UDP-based protocol offering fast, secure, multiplexed transport. *Integrated TLS, faster connection setup, and head-of-line blocking elimination.* - HTTP/3, real-time apps, mobile network optimization * - TCP (Transmission Control Protocol) - Connection-oriented, reliable, ordered data delivery. *Handles retransmission, flow and congestion control.* - Web traffic (HTTP/HTTPS), file transfer, email * - UDP (User Datagram Protocol) - Lightweight, connectionless protocol with no delivery guarantees. *Best for real-time and low-latency communication.* - DNS, VoIP, video streaming, gaming .. tab-set:: .. tab-item:: QUIC (Quick UDP Internet Connections) **RFC:** RFC 9000 **Main Features:** - Runs over UDP but provides reliable, secure transport - Eliminates head-of-line blocking with multiplexed streams - Uses TLS 1.3 for integrated encryption - Faster handshake than TCP + TLS - Ideal for mobile and high-latency environments **Use Cases:** - HTTP/3 protocol stack - Real-time applications (e.g., chat, streaming) - Mobile browsers and CDN acceleration **Alternative Protocols:** - TCP + TLS – Traditional but slower - SCTP – Also supports multiplexing, less widely adopted .. panels:: :container: container pb-4 :column: col-lg-12 p-2 **Let us learn more about QUIC:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`QUIC Version&RFC Details ` * :ref:`QUIC Basic Setup on Ubuntu using IPv4 ` * :ref:`QUIC Basic Setup on Ubuntu using IPv6 ` * :ref:`QUIC Protocol Packet Details ` * :ref:`QUIC Usecases ` * :ref:`QUIC Basic Features ` * :ref:`QUIC Feature : Bulit On UDP ` * :ref:`QUIC Feature : Integrated TLS1.3 ` * :ref:`QUIC Feature : 0 RTT Connection Resumption ` * :ref:`QUIC Feature : Multiplexing Without Head Of Line Blocking ` * :ref:`QUIC Feature : Connection Migration ` * :ref:`QUIC Feature : Forward Error Correction ` * :ref:`QUIC Feature : Encrypted Headers And Payload ` * :ref:`QUIC Feature : Low Latency Handshake ` * :ref:`QUIC Feature : Stream Prioritization ` * :ref:`QUIC Feature : Bulit In Congestion ` * :ref:`Reference links ` .. button-link:: ./QUIC.html :color: primary :shadow: :expand: Jump to "QUIC" .. tab-set:: .. tab-item:: TCP (Transmission Control Protocol) **RFC:** RFC 9293 **Main Features:** - Reliable, ordered data delivery - Flow control, congestion avoidance, retransmission - Uses three-way handshake for connection setup - Segment sequencing and error detection - Default for most internet applications **Use Cases:** - HTTP/HTTPS traffic - File Transfer Protocols (FTP, SFTP) - Email protocols (SMTP, IMAP, POP3) **Alternative Protocols:** - QUIC – Faster startup, built-in security - UDP – When speed/latency is more important than reliability .. panels:: :container: container pb-4 :column: col-lg-12 p-2 **Let us learn more about TCP:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`TCP Version&RFC Details ` * :ref:`TCP Basic Setup on Ubuntu using IPv4 ` * :ref:`TCP Basic Setup on Ubuntu using IPv6 ` * :ref:`TCP Protocol Packet Details ` * :ref:`TCP Usecases ` * :ref:`TCP Basic Features ` * :ref:`TCP Feature : Connection Oriented ` * :ref:`TCP Feature : Reliable Data Transfer ` * :ref:`TCP Feature : Error Detection ` * :ref:`TCP Feature : Flow Control ` * :ref:`TCP Feature : Port Addressing ` * :ref:`TCP Feature : Graceful Connection Termination ` * :ref:`TCP Feature : Congestion Control ` * :ref:`TCP Feature : Stream Oriented ` * :ref:`TCP Feature : Ordered Delivery ` * :ref:`TCP Header ` * :ref:`TCP Header Options ` * :ref:`TCP Core Protocols ` * :ref:`TCP Common Level Options ` * :ref:`TCP Socket Level Options ` * :ref:`TCP Linux Settings ` * :ref:`Reference links ` .. button-link:: ./TCP.html :color: primary :shadow: :expand: Jump to "TCP" .. tab-set:: .. tab-item:: UDP (User Datagram Protocol) **RFC:** RFC 768 **Main Features:** - Connectionless and lightweight - No guarantees for delivery, ordering, or integrity - Minimal overhead and fast transmission - Suitable for real-time communication **Use Cases:** - Voice over IP (VoIP) and video conferencing - DNS lookups and DHCP - Gaming and multimedia streaming **Alternative Protocols:** - TCP – Reliable delivery but slower - QUIC – Secure, reliable and built over UDP .. panels:: :container: container pb-4 :column: col-lg-12 p-2 **Let us learn more about UDP:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`UDP Version&RFC Details ` * :ref:`UDP Basic Setup on Ubuntu using IPv4 ` * :ref:`UDP Basic Setup on Ubuntu using IPv6 ` * :ref:`UDP Protocol Packet Details ` * :ref:`UDP Usecases ` * :ref:`UDP Basic Features ` * :ref:`UDP Feature : Connectionless Protocol ` * :ref:`UDP Feature : Low Latency ` * :ref:`UDP Feature : No Acknowledgment ` * :ref:`UDP Feature : No Flow Control ` * :ref:`UDP Feature : No Congestion Control ` * :ref:`UDP Feature : Checksum For Error Detection ` * :ref:`UDP Feature : Supports Multicast And Broadcast ` * :ref:`UDP Feature : Lightweight Header ` * :ref:`UDP Feature : Port Numbers ` * :ref:`UDP Feature : Stateless Commuincation ` * :ref:`UDP Header ` * :ref:`UDP Core Protocols ` * :ref:`UDP Socket Level Options ` * :ref:`UDP Linux Settings ` * :ref:`Reference links ` .. button-link:: ./UDP.html :color: primary :shadow: :expand: Jump to "UDP"