1
This section covers the transport layer's service model, port/socket addressing, connection establishment and release, flow control, multiplexing, and congestion control algorithms.
2
Transport Service & Protocols Protocol Service Type TCP (Transmission Control Protocol) Connection-oriented, reliable, ordered byte-stream delivery with flow/congestion control — used where reliability matters (web, email, file transfer) UDP (User Datagram Protocol) Connectionless, unreliable, low-overhead datagram delivery — used where speed matters more than reliability (streaming, DNS queries, VoIP) Ports & Sockets A port number identifies a specific application/process on a host (e.g. port 80 for HTTP, port 443 for HTTPS); well-known ports (0–1023) are reserved for standard services.
3
A socket is the combination of an IP address and a port number, uniquely identifying one endpoint of a network connection.
4
Connection Establishment & Release TCP uses a three-way handshake (SYN, SYN-ACK, ACK) to establish a connection, synchronizing sequence numbers between both endpoints.
5
Connection release commonly uses a four-way handshake (FIN/ACK exchanges from each side), since TCP connections are full-duplex and each direction is closed independently.
6
Flow Control, Multiplexing & Congestion Control Flow control (e.g.
7
TCP's sliding window) prevents a fast sender from overwhelming the receiver's buffer.
8
Multiplexing/de-multiplexing: the transport layer combines data from multiple application processes onto the network layer (multiplexing) and delivers incoming data to the correct process based on port number (de-multiplexing).
9
Congestion control algorithms (e.g.
10
TCP's slow start, congestion avoidance, fast retransmit/fast recovery) regulate how much data is injected into the network to avoid overwhelming intermediate routers/links, distinct from flow control (which protects the receiver, not the network).