Vários programas TCP/IP (Transmission Control Protocol/Internet Protocol - Protocolo de Controle de Transmissão), podem ser executados simultaneamente na Internet (ex: é possível abrir vários navegadores simultaneamente ou navegar em páginas HTML baixando, ao mesmo tempo, um arquivo por FTP - Protocolo de transferência de arquivos). Cada um destes programas trabalha com um protocolo, contudo o computador deve poder distinguir as diferentes fontes de dados. Assim, para facilitar este processo, cada uma destas aplicações recebe um endereço único na máquina, codificada em 16 bits: uma porta. A combinação endereço IP + Porta se torna, então, um endereço único, chamado socket.
O endereço IP serve para identificar, de maneira única, um computador na rede, enquanto que o número da porta indica a aplicação à qual se destinam os dados. Desta maneira, quando o computador recebe informações destinadas a uma porta, os dados são enviados para o aplicativo correspondente. Se for um pedido destinado ao aplicativo, este chama-se aplicativo servidor. Se for uma resposta, fala-se então de aplicativo cliente.
Em uma conexão, o processo que consiste em permitir a circulação das informações oriundas de diversos aplicativos chama-se circuito multiplex:
Estas operações são realizadas graças à porta, ou seja, um número associado a um tipo de aplicativo que, junto com um endereço IP, permite determinar um aplicativo específico que funciona em um determinado computador.
Um circuito demultiplex ou demux é um dispositivo que realiza a operação inversa do circuito multiplex, isto é, que distribui informações de uma única entrada para uma das diversas saídas, ao contrário do multiplex.
Existem milhares de portas (elas são codificadas em 16 bits, com 65.536 possibilidades) e, é por isso, que foi criada uma atribuição padrão pelo IANA (Internet Assigned Numbers Authority - Autoridade para Atribuição de Números para Internet), para ajudar na configuração das redes. Vejamos as atribuições padrão:
As portas de 0 a 1.023 são as mais reconhecidas ou reservadas. Geralmente, são reservadas para os processos do sistema (daemons) ou para os programas executados por usuários com privilégios. Um administrador de rede pode, quanto a ele, vincular serviços às portas de sua escolha. As portas de 1.024 a 49.151 são chamadas de portas registradas. As portas de 49.152 a 65.535 são as portas dinâmicas e/ou privadas.
Porta | Serviço ou Aplicativo |
---|---|
21 | FTP |
23 | Telnet |
25 | SMTP |
53 | Domain Name (Nome do domínio do Sistema) |
63 | Whois |
70 | Gopher |
79 | Finger |
80 | HTTP |
110 | POP3 |
119 | NNTP |
Um servidor é o computador com o qual entramos em contato e que propõe serviços com o FTP (File Transfer Protocol - Protocolo para transferências de arquivos). O Telnet, protocolo que permite executar comandos de teclado de um computador, possui um número de portas fixo às quais o administrador de rede associa serviços. Assim, as portas de um servidor estão compreendidas geralmente entre 0 e 1.023 (intervalo de valores associados a serviços conhecidos). Quanto ao cliente, a porta é escolhida aleatoriamente entre as disponíveis no sistema operacional. Assim, as portas do cliente nunca serão compreendidas entre 0 e 1.023, já que este intervalo de valores representa as portas reservadas.
Leia este artigo sobre o número de portas atribuído pelo IANA (em inglês).