What is a port?
A port is a virtual point where network connections start and end. Ports are software-based and managed by a computer’s operating system. Each port is associated with a specific process or service. Ports allow computers to easily differentiate between different kinds of traffic: emails go to a different port than webpages, for instance, even though both reach a computer over the same Internet connection.
What is a port number?
Ports are standardized across all network-connected devices, with each port assigned a number. Most ports are reserved for certain protocols — for example, all Hypertext Transfer Protocol (HTTP) messages go to port 80. While IP addresses enable messages to go to and from specific devices, port numbers allow targeting of specific services or applications within those devices.
How do ports make network connections more efficient?
Vastly different types of data flow to and from a computer over the same network connection. The use of ports helps computers understand what to do with the data they receive.
Suppose Bob transfers an MP3 audio recording to Alice using the File Transfer Protocol (FTP). If Alice’s computer passed the MP3 file data to Alice’s email application, the email application would not know how to interpret it. But because Bob’s file transfer uses the port designated for FTP (port 21), Alice’s computer is able to receive and store the file.
Meanwhile, Alice’s computer can simultaneously load HTTP webpages using port 80, even though both the webpage files and the MP3 sound file flow to Alice’s computer over the same WiFi connection.
Network ports are provided by the TCP or UDP protocols at the Transport layer. They are used by protocols in the upper layers of the OSI model. Port numbers are used to determine what protocol incoming traffic should be directed to. Ports allow a single host with a single IP address to run network services. Each port number identifies a distinct service, and each host can have 65535 ports per IP address. Port use is regulated by the Internet Corporation for Assigning Names and Numbers (ICANN). By ICANN there are three categories for ports:
- From 0 to 1023 – well known ports assigned to common protocols and services
- From 1024 to 49151 – registered ports assigned by ICANN to a specific service
- From 49152 to 65 535 – dynamic (private, high) ports range from 49,152 to 65,535. Can be used by any service on an ad hoc basis. Ports are assigned when a session is established, and released when the session ends.
Well known ones are:
|Port||Service name||Transport protocol|
|20, 21||File Transfer Protocol (FTP)||TCP|
|22||Secure Shell (SSH)||TCP and UDP|
|25||Simple Mail Transfer Protocol (SMTP)||TCP|
|53||Domain Name System (DNS)||TCP and UDP|
|67, 68||Dynamic Host Configuration Protocol (DHCP)||UDP|
|69||Trivial File Transfer Protocol (TFTP)||UDP|
|80||HyperText Transfer Protocol (HTTP)||TCP|
|110||Post Office Protocol (POP3)||TCP|
|119||Network News Transport Protocol (NNTP)||TCP|
|123||Network Time Protocol (NTP)||UDP|
|135-139||NetBIOS||TCP and UDP|
|143||Internet Message Access Protocol (IMAP4)||TCP and UDP|
|161, 162||Simple Network Management Protocol (SNMP)||TCP and UDP|
|389||Lightweight Directory Access Protocol||TCP and UDP|
|443||HTTP with Secure Sockets Layer (SSL)||TCP and UDP|
|989, 990||FTP over SSL/TLS (implicit mode)||TCP|
|3389||Remote Desktop Protocol||TCP and UDP|
Below you can see a cheat sheet with all common ports:
If you find it interesting, you can read:
Ref: cloudflare , wiki