Por que os computadores têm 65.535 portas TCP?

Por que os computadores têm 65.535 portas TCP?
  • Por que os computadores têm 65.535 portas TCP?
  • De onde vem esse número?
  • O que isso representa?

Responder1

  1. "Por que os computadores têm portas TCP 65535?"

Os computadores fazemnãotem portos. O conceito de "portas" a que você se refere está estritamente relacionado aoTCPeUDPprotocolos doPilha de rede TCP/IP. Do ponto de vista estritamente técnico, tanto o TCP quanto o UDP estão estruturados de forma a transportar diversos tipos de informações (porta origem, porta destino, número de sequência, dados, etc.). Como tanto a "porta origem" quanto a "porta destino" são estruturadas (dentro do pacote TCP e UDP) com um "campo" de 16 bits, aqui estão os limites: as portas origem e as portas destino podem assumir todos os valores que podem ser representados com 16 bits (também conhecido como: de 0 a 65535);

  1. "De onde vem esse número?"

Veja acima: portas de origem e portas de destino podem assumir valores que variam de 0 a 65535 porque ambas são representadas com um valor de 16 bits, dentro dos respectivos pacotes

  1. "O que isso realmente representa?"

Em suma, tanto a "porta de origem" como a "porta de destino" desempenham um papel muito importante, pois permitem que um único "host" (um único "cliente" ou um único "servidor") "ofereça" diferentesServiçospara clientes da rede, apesar de ter um único endereço IP. Em outras palavras, sem "portas", seria muito mais difícil ter um único "servidor" oferecendo um servidor web (na porta TCP 80 para HTTP simples; na porta TCP 443 para HTTPS), um servidor de correio (na porta TCP 25 para SMTP de entrada; na porta TCP 110 para acesso POP3; na porta TCP 143 para acesso IMAP), um servidor DB (na porta TCP/3306 para MySQL)) etc.

Os leitores "puristas" podem discordar de mim sobre a simplificação acima e...certo: na verdade, os endereços IP e as PORTAS desempenham um papel muito importante que, para ser totalmente compreendido, requer uma compreensão adequada do "encapsulamento"conceito (com certeza, o conceito mais importante entre os apresentados nesta mesma resposta). Infelizmente, isso geralmente requergrande quantidademuitas vezes para ser devidamente "dominado" e... é por isso, minha simplificação excessiva acima :-)

Responder2

TCP, UDP e talvez outros serviços IP usam portas para comunicação discreta entre processos cliente e servidor entre hosts usando uma rede IP.

Informações mais detalhadas podem ser encontradasneste artigo wiki.

De uma perspectiva de cima para baixo, as portas representam conversas distintas entre dois hosts. Por exemplo, várias solicitações de DNS são feitas simultaneamente por um host ao seu servidor designado, cada uma usando uma porta de origem diferente para a porta de destino 53. À medida que o servidor busca as respostas e atende às solicitações, ele enviará respostas específicas de volta para a mesma porta. , onde será recebido pelo processo distinto que espera uma resposta.

De uma perspectiva ascendente, as portas são uma forma de reservar uma linha de comunicação IP de processos separados pelo sistema operacional de um host. Embora possa haver vários processos fazendo solicitações para a mesma porta de hosts remotos, cada processo usará uma porta de origem diferente para suas solicitações. Isso garante que as respostas serão recebidas pelo processo apropriado.

Para protocolos portados, há 32 bits reservados nos cabeçalhos dos pacotes: 16 bits para a porta de origem e 16 bits para a porta de destino. Para TCP e UDP, estes são os primeiros 32 bits imediatamente após o cabeçalho IP; eles começam no 192º bit. Um número de 16 bits tem valores entre 0 e 65535.

Responder3

65.536 é um número muito comum na computação, porque é 2 elevado a 16 (2 ^ 16). 2 ^ 8 é 256 e 65.536 é o quadrado de 256.

Em outras palavras, um número binário de 16 bits pode representar 65.536 números inteiros diferentes. Então é provavelmente daí que vem o seu intervalo de 65.535.

Mas espere, você pensa, devo estar com um dígito a menos porque 65.535 é 65.536 menos 1! Bem, não se você começar a contar do zero! Por exemplo, uma imagem de 8 bits codifica 256 valores, mas normalmente estes começam em 0 e vão até 255. É por isso que você costuma ver números como 255 ou 65.535 na computação.

Eu acho que as portas TCP foram originalmente armazenadas como um número de 16 bits, daí o seu limite superior. Não tenho certeza se esse ainda é o caso. Espero que isso ajude!

informação relacionada