O Transmission Control Protocol (TCP) foi projetado para lidar com a multiplexação usando números de porta para identificar diferentes aplicativos ou processos em um único computador. Cada aplicativo ou processo recebe um número de porta exclusivo, que permite à camada TCP distinguir entre fluxos de dados recebidos e entregá-los ao aplicativo apropriado. Veja como o TCP lida com a multiplexação:
Números de porta TCP: - Cada número de porta TCP é um número inteiro não assinado de 16 bits, variando de 0 a 65535.
- Portas conhecidas (0 a 1023) são reservadas para serviços e aplicativos padrão, como HTTP (porta 80), FTP (porta 21) e SMTP (porta 25).
- Portas efêmeras (acima de 1023) são atribuídas dinamicamente a conexões temporárias, como aquelas usadas por navegadores da web.
Multiplexação de dados de entrada: - Quando os dados chegam a um terminal TCP (combinação de endereço IP e número de porta), a camada TCP examina o número da porta de destino.
- Se o número da porta corresponder a uma porta conhecida, direciona os dados para o serviço ou aplicativo correspondente.
- Se o número da porta for efêmero, ele procura o processo ou aplicativo associado a essa porta em suas estruturas de dados internas e encaminha os dados de acordo.
Multiplexação de dados de saída: - Quando um aplicativo envia dados para um endereço IP e número de porta de destino específicos, a camada TCP verifica se existe uma conexão com esse terminal.
- Se existir uma conexão, ele adiciona os dados ao buffer de envio da conexão.
- Se não houver conexão existente, ele estabelece uma nova conexão TCP enviando um pacote SYN para o endereço e porta de destino.
- Uma vez estabelecida a conexão, os dados são enviados através da conexão estabelecida.
Ao usar números de porta como identificadores, o TCP multiplexa vários fluxos de dados em uma única conexão de rede, garantindo que os dados de diferentes aplicativos ou processos sejam corretamente roteados e entregues aos destinatários pretendidos.