Entendo o raciocínio original por trás de ter 65.535 portas por endereço IP: este é o número mais alto que pode ser representado por um número de 16 bits ou 2 bytes, e não era concebível que os computadores pudessem poupar mais do que isso para algo tão trivial como portas, ou algo assim. As portas podem de fato precisar de mais de 1 bit cada, pois cada porta pode ser aberta, bloqueada, "furtiva" ou outras, mas, por algum motivo, as pessoas sempre dizem que as portas operam com um número de 16 bits. Se eu tiver alguma parte errada, diga-me.
No entanto, em um mundo em que a maioria dos computadores possui 32 bits e possui memória / espaço mais que suficiente para poupar mais algumas portas, por que ainda temos tantas portas? Estamos mudando para HTML5, HTTP2.0, IPv6 e outras versões definitivamente diferentes. Por que não o mesmo com portas? Muitos deles permitem muito mais que 16 bits; de fato, o IPv6 permite 16 bytes ! Entendo que muitos deles estão a anos ou até décadas de distância, mas por que toda a conversa sobre essas atualizações e nem mesmo um pio sobre mais portos (dos quais eu, amador, já ouvi falar)?
As únicas duas razões que vejo para manter 65.535 portas são permitir que as grandes empresas mantenham seus antigos sistemas legados, o que dificilmente é um bom motivo, e o surgimento de sistemas embarcados, muitos deles minúsculos, com quantidades minúsculas de espaço, memória etc. , entrando na Internet em breve, muitos como parte da Internet das Coisas. Com esses sistemas embarcados, talvez pudéssemos permitir que eles tivessem menos portas e, quando um grande computador de mesa tenta se conectar a um, pode-se dizer que é gentil, pois o sistema embarcado para bebês só pode usar ~ 65.000 portas.
Por outro lado, posso pensar em algumas boas razões para ter mais portas, a maioria relacionada a NAT e outros sistemas em que mais de um endereço IP privado precisa se comunicar com o resto da Internet usando o mesmo endereço IP público, como o surgimento de VMs no mesmo computador, todas usando o mesmo endereço IP. Tecnicamente, cada endereço IP da VM possui 65.535 portas, mas na realidade todas elas usam as portas do host. Em casos como esse, esses sistemas podem ficar sem portas rapidamente. Outro caso específico é o NAT de classe de operadora, onde um endereço IP público é traduzido em vários endereços IP privados e pelo menos um desses endereços privados é traduzido em outro conjunto de endereços ainda mais privados. Novamente, cada endereço IP privado tecnicamente tem seu próprio conjunto de 65.535 portas, mas isso é uma ilusão, como quando os dados chegam à Internet pública, eles estão usando as portas do IP público. Não sei se precisamos necessariamente de NAT, por si só, mas precisaremos de algo parecido para conservar endereços, mesmo com as quantias maciças que o IPv6 nos fornecerá. Quando temos casos como esses, podemos nos dar ao luxo de não ter mais de 65.535 portas?
Então, por que ainda temos apenas 65.535 portas e há planos para permitir mais?
PS: Sei que existem tecnicamente 65.536 portas por endereço IP, mas a porta 0 geralmente não é usada para nada.
fonte
Respostas:
A porta faz parte do protocolo da camada 4 em uso - TCP ou UDP , na maior parte; não está relacionado ao endereçamento de memória dos computadores reais; portanto, não se confunda com o endereçamento de memória de 32 ou 64 bits dos sistemas operacionais modernos.
Os cabeçalhos desses protocolos da camada 4 possuem estruturas definidas especificamente , para as quais exatamente 16 bits são usados para as portas de origem e destino. Sem alterações que quebrem a compatibilidade dos protocolos da camada 4 dos quais toda a Internet depende, o número de portas não pode ser alterado. Até o SCTP mais recente tem restrição de 16 bits nas portas.
Lembre-se de que esses protocolos identificam o tráfego com base não apenas na porta de recebimento, mas também no IP de recebimento e na porta e no IP de envio; você está limitado a 65535 ouvindo portas TCP (mas não possui muitas) e limitado a 65535 conexões a um serviço específico em um sistema remoto específico (mais baixo na prática, consulte portas efêmeras ), por isso é incomum para atingir o limite desses protocolos, a menos que você tenha um sistema criando muitas conexões com um sistema remoto específico.
fonte