Network Transfer Protocols

Transport protocols are those protocols located at the fourth layer of the ISO/OSI stack and are responsible for enabling communication between any two processes, one on the sending machine and one on the receiving machine. Transport protocols, in fact, create the logical abstraction of an end-to-end connection, or the communication support between two processes located at the two ends of the logical channel. Two transport protocols are mainly used on the Internet: the TCP protocol and the UDP protocol. Of the two, TCP is undoubtedly the most widely used.

Demultiplexing and ports

The multiplexing/demultiplexing service is one of the most important services for transport protocols and is provided by both the TCP and UDP protocols. All transport protocols implement demultiplexing, which consists of forwarding network packets to the recipient process.

To this end, the process must be identified, which occurs through the so-called port number. The port number is a 16-bit identifier that uniquely identifies a process within the machine on which it runs. To identify that process on the Internet, the IP address of the machine on which it runs must be added to the port number. In general, a process is Uniquely identified by the pair (IP, port), which is also referred to as a socket.

Known Ports and Services

The port number is a 16-bit identifier, meaning there are 216 possible port numbers. Among these port numbers, those ranging from 0 to 1023 are the most important, as they constitute the so-called well-known ports.

The most popular services on the Internet have "default" port numbers, so that the sending process (typically a client), having obtained the recipient's IP address, can send packets to the port associated with the desired service.

Below are some network services associated with well-known ports:

  • IMAP incoming mail - port 143/tcp
  • POP3 incoming mail - port 110/tcp
  • Outgoing Mail (SMTP) - port 25/tcp
  • Domain Name Resolution (DNS) - port 53/udp
  • Web (HTTP) - port 80/tcp
  • Secure Web (HTTPS) - port 443/tcp
  • Secure Terminal (SSH) - port 22/tcp
  • Non-Secure Terminal (TELNET) - port 23/tcp