Intro to Networking - Transport Protocols & Network Ports

What is the Transport Layer?

The Transport Layer dictates which Network Transport Protocols will serve the Application used to send data across the network. The two most commonly used Transport Protocols are:

  1. Transmission Control Protocol (abbreviated as TCP), for connection-oriented, reliable, orderly and error-checked communication, common to email and web browsing, versus,
  2. User Datagram Protocol (abbreviated as UDP), for connectionless packet delivery without overhead, common in gaming, video & VoIP applications.

TCP uses a handshake to establish and acknowledge data connections between Hosts, where:

  • A Sender requests synchronization,
  • Whereupon, the Receiver acknowledges,
  • Then follows up with its own synchronization request,
  • At which point, the original Sender acknowledges, and the connection is established for packets to flow.
sync-ack-tcp-handshake.png
The TCP Handshake

While the handshake ensures reliability and orderly delivery of data, TCP faces greater latency than UDP. For this reason, TCP supports Applications where data integrity outweighs latency, such as email and web browsing, while UDP supports real-time applications such as VoIP, video conferencing, and online gaming.

What are Network Ports?

The Transport Layer also defines the Network Port used by a particular application. Understanding the Transport-Layer Protocols and Ports of user Applications in the Network is essential to building robust, working Firewalls, or even Routing Policies.

For example: While HTTP & HTTPS are both web Applications built on TCP, HTTP uses Port 80, while HTTPS uses 443, ports which should remain open from end-to-end in order to establish connections between hosts.

sync-ack-tcp-handshake-2.png server-host.png
SYNC-ACK Handshake between Client & Servers. Source/Destination Addresses & Ports (Sockets)

Ports also help explain the Client-Server connection modelBecause a host may establish connections with multiple hosts or servers using the same transport protocol, hosts assign different source port numbers in order to track separate connections, while the destination port remains the same since the connecting IP receives separate connections from unique IP hosts. Shortly thereafter, hosts can establish the TCP handshake to begin passing web traffic.

As a final note, Socket is the name given to the combination of IP address & port assignment, just as the destination address "52.10.164.58:443" points to a UBNT.com-hosted HTTPS web server.