Qual é o número de porta mais alto que um pode usar?
Qual é o número de porta mais alto que um pode usar?
Respostas:
O número da porta é um número inteiro de 16 bits não assinado, portanto, 65535.
O maior número da porta é um curto não assinado 2 ^ 16-1: 65535
Uma porta registrada é aquela atribuída pela Internet Corporation para nomes e números atribuídos (ICANN) para um determinado uso. Cada porta registrada está no intervalo de 1024 a 49151.
Desde 21 de março de 2001, a agência de registro é ICANN; antes dessa época era a IANA.
Portas com números inferiores aos das portas registradas são chamadas de portas conhecidas; As portas com números maiores que os das portas registradas são chamadas de portas dinâmicas e / ou privadas.
Pelo que entendi, você só deve usar até 49151, desde 49152 até 65535 são reservados para portas efêmeras
$ cat /proc/sys/net/ipv4/ip_local_port_range
resulta em saída 32768 61000
. Quanto a se alguém deve ou não usar uma porta no intervalo efetivo de portas de um sistema, suspeito que a maioria, se não todos os sistemas operacionais de rede modernos, pulem uma porta que já esteja em uso.
Apenas um acompanhamento para a resposta do esmagamento . O intervalo de portas efêmeras (pelo menos no Linux, e eu suspeito que outros Unices também) não é fixo. Isso pode ser controlado escrevendo para
/proc/sys/net/ipv4/ip_local_port_range
A única restrição (no que diz respeito à IANA) é que as portas abaixo de 1024 são designadas como portas conhecidas. Portas acima que são gratuitas para uso. Muitas vezes, você verá que portas abaixo de 1024 são restritas ao acesso de superusuário, acredito por esse motivo.
De acordo com a RFC 793, a porta é um int sem sinal de 16 bits.
Isso significa que o intervalo é de 0 a 65535.
No entanto, dentro desse intervalo, as portas 0 - 1023 são geralmente reservadas para fins específicos. Digo geralmente porque, além da porta 0, geralmente não há imposição da reserva 0-1023. Implementações de TCP / UDP geralmente não impõem reservas além de 0. Você pode, se quiser, executar a porta TLS de um servidor Web na porta 80, 25 ou 65535 em vez da 443 padrão. Da mesma forma, mesmo que seja o padrão que os servidores SMTP escutam na porta 25, você pode executá-lo nas 80, 443 ou outras.
A maioria das implementações reserva 0 para uma finalidade específica - atribuição de porta aleatória. Portanto, na maioria das implementações , dizer "escutar na porta 0" significa realmente "Não me importo com a porta que uso, apenas me dê uma porta aleatória não atribuída para escutar".
Portanto, qualquer limitação no uso de uma porta no intervalo 0-65535, incluindo 0, intervalo efêmero de reserva, etc., é específica da implementação (por exemplo, OS / driver) ; no entanto, todas, incluindo 0, são portas válidas no RFC 793.
Depende de qual intervalo você está falando, mas o intervalo dinâmico sobe para 65535 ou 2 ^ 16-1 (16 bits).
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
Os números válidos para portas são: 0 a 2 ^ 16-1 = 0 a 65535
Isso ocorre porque um número de porta tem 16 bits de comprimento.
No entanto, as portas são divididas em:
Portas conhecidas : 0 a 1023 (usadas para serviços do sistema, por exemplo, HTTP, FTP, SSH, DHCP ...)
Portas registradas / de usuário : 1024 a 49151 (você pode usá-la no servidor, mas seja cuidado com alguns aplicativos famosos: como o servidor MSSQL (Microsoft SQL Server Database Management System) ou o Apache Derby Network Server já estão usando esse intervalo, ou seja, não é recomendável atribuir a porta do MSSQL ao seu servidor, caso contrário, se o MSSQL estiver em execução, o servidor mais provavelmente não será executado devido a conflitos de portas)
Portas dinâmicas / privadas : 49152 a 65535. (não usadas para os servidores, e sim para os clientes, por exemplo, no serviço NATing)
Na programação, você pode usar qualquer número de 0 a 65535 para o servidor, no entanto, você deve manter os intervalos mencionados acima; caso contrário, alguns serviços do sistema ou alguns aplicativos não serão executados devido a conflitos de porta.
Verifique a lista da maioria das portas aqui: https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers