Ports. Everybody needs a port. Sometimes. Today we are going to talk about ports. As used by TCP and UDP. Except, I am not going to mention TCP and UDP from now. In fact I’m not to talk about the technical details of ports – or what a port is, either. Today I look into port ranges and a bit into standards.

Port ranges

You probably know that there are 65535 TCP Ports and another 65535 UDP ports, and that this range is further divided into three separate ranges. These ranges are the well-known ports, the registered ports, and the dynamic or private ports.

The well-known ports

The well known ports are those in the 0 – 1023 range. Examples includes:

And so on. They are used by system processes that provide widely used types of network services. Port 80 and 443 is widely regarded as defacto for web servers. That’s great to know so we don’t have to go portknocking to communicate with well known services.

The registered ports

The registered ports are those in the 1024 – 49151 range. There’s a list of well-known and registered ranges maintained by IANA for certain protocols or applications. On most systems, registered ports can be used by ordinary users. This means, you and me and probably your cat.

The dynamic or private ports

The last range spans from 49152 – 65535. It is used for dynamic or private ports that cannot be registered with IANA – such as private or customized services, or for temporary purposes and for ephemeral ports. In short, any port or usage that isn’t specifically mentioned for the other ranges.


There’s a bunchload of various standards in the world of IT that dictates how to use various things. There’s also a bunch of people violating these standards, too. I tend to bump into these people, either when I have my developer hat on or just any other hat I got.

When it comes to ports there are certain standards – like the intended ranges to use. But, there’s nothing holding you back running your web server on port 8080 – which is common, or on any other port for that matter. I know there are professionals out there going completely bonkers when they encounter services running on “wrong” ports. Like webservers on ports 6000, or database on 3330.

My stance on this is I simply don’t care. Whatever floats the boat. What’s more important is what is listening on that port and that those who is going to use that service, knows where to find it. Unless you are running industrial specific services.