Pergunta

Por que o final do cliente de uma conexão usa o número alto de portas (portas efêmeras), enquanto os aplicativos ouvem em números de porta normalmente pequenos?

Thx em Advans, Karthik Balaguru

Foi útil?

Solução

Os números de portas abaixo de 1024 são chamados de "registrados", enquanto os acima (limite de 65.535) são chamados de "não registrados". Todos esses dois termos significam que as portas abaixo de 1024 têm serviços padrão associados a eles. Isto é: 53 para DNS, 80 para HTTP, 25 para SMTP, etc. Observe que estão associados - não há nada para impedir que você defina seu aplicativo para usar a porta 53, 25, etc., mas não é recomendado porque outros serviços tentarão se conectar e ou operar nessas portas para que isso possa causar problemas.

A região portuária não registrada é usada dinamicamente pelos aplicativos do cliente. IE: Você está lendo esta resposta enquanto se conecta à porta 80 do (s) servidor (s) do Stackoverflow.com, mas seu navegador está usando uma porta não registrada para iniciar essa solicitação.

Outras dicas

Os servidores ouvem em um número de porta fixa para que os clientes saibam onde se conectar. Os clientes não precisam usar um número de porta fixa, pois ninguém está iniciando uma conexão com eles e, de fato, não podem usar um número de porta fixa se houver mais de um cliente em execução na mesma máquina (por exemplo, um navegador da Web) conectando -se ao mesmo servidor. Iana designou Portas no intervalo 0..49151 como números de porta fixos para serviços específicos e portas na faixa 49152..65535 como portas dinâmicas (efêmeras) que não são atribuídas a nenhum serviço e podem ser usadas quando um número de porta fixo não for necessário .

O intervalo de portas 0..49151 é dividido ainda mais no bem conhecido Faixa 0..1023, que apenas um processo privilegiado pode se ligar a (pelo menos no Unix/Linux), e o registrado Faixa 1024..49151. As portas no intervalo 1024..49151 podem ser usadas por processos de servidor que podem ser executados como um usuário sem civil, e também é possível que os clientes usem portas nesse intervalo se não estiverem sendo usadas por um servidor (por exemplo, portas dinâmicas no Linux e Solaris começa em 32768 por padrão, em vez de 49152).

Porque as portas do servidor são geralmente portos bem conhecidos. Em uma caixa Unix, você verá a tarefa deles em /etc/services Arquivo. As portas do cliente, por outro lado, geralmente são escolhidas pela pilha TCP/IP da faixa alta específica. Portanto, os servidores sabem quais portas ouvirem, os clientes sabem a que porta se conectar e ninguém se importa com qual porta a conexão é feita a partir de.

Os números mais baixos da porta (<1024) são reservados a processos privilegiados. Além disso, muitas dessas portas são atribuídas a serviços específicos pelo Autoridade de números atribuídos à Internet. Os clientes estabelecem conexões com servidores que estão ouvindo essas portas conhecidas, mas usam números de porta atribuídos dinamicamente nos intervalos mais altos de acordo com as portas disponíveis para eles.

Normalmente, os números mais baixos de porta são reservados para aplicações comuns. Mais curto = mais fácil de lembrar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top