No que diz respeito aos protocolos TCP e UDP, as portas são todas iguais. Qualquer um deles pode ser usado para que um serviço / daemon ouça, qualquer um deles pode ser encaminhado por porta em um gateway NAT (também conhecido como NAPT, PAT), e qualquer um deles pode ser usado por um cliente para iniciar uma conexão.
Historicamente, muitos protocolos conhecidos, como o HTTP (80), receberam portas padrão abaixo de 1024, portanto muitos SOs, incluindo a maioria dos Unixes e SOs semelhantes a Unix, não permitem que você abra um ouvinte em essas portas, a menos que você tenha credenciais de administrador / raiz. Isto está sob a suposição de que sua caixa Unix é na verdade um sistema multiusuário, e J. Usuário aleatório não deve ser capaz de executar um servidor HTTP na caixa e fazer parecer que o servidor HTTP desse usuário é o servidor HTTP OFICIAL para essa caixa, executando-o na porta 80. Mesmo com SSH (22), Telnet (23), SMTP (25), FTP (21), etc.
Entre 1024 e 49152 estão as portas agrupadas que foram designadas como a porta padrão para muitos protocolos não muito conhecidos, especialmente corporativos / proprietários. É considerado uma boa prática para um sistema operacional tentar não usar essas portas.
Quando um processo de cliente ou servidor solicita a escuta em uma porta, ou pede para iniciar uma conexão TCP de saída ou fluxo UDP, e não especifica uma porta específica, o código de rede TCP e UDP no kernel (a "rede stack ") atribui a eles uma porta não utilizada no momento arbitrariamente. A fim de não atrapalhar os serviços que podem mais tarde usar portas "registradas" proprietárias, a pilha de rede geralmente tentará evitar o uso de portas conhecidas ou registradas para isso e, em vez disso, restringirá-se ao efêmero / portas dinâmicas entre 49152 e 65535.