# Porta (redes de computadores)

Em redes de computadores, uma porta ou porto (tradução literal) é um software de aplicação específica ou processo específico servindo de ponto final de comunicações em um sistema operacional hospedeiro de um computador. Uma porta tem associação com o endereço de IP do hospedeiro, assim como o tipo de protocolo usado para comunicação. O propósito das portas é para singularmente identificar aplicações e processos de um único computador e assim possibilitá-los a compartilhar uma única conexão física com uma rede de comutação de pacotes, como a internet.
Os protocolos que usam principalmente portas são os protocolos da camada de transporte, tais como o Protocolo de controle de transmissão (TCP) e User Datagram Protocol (UDP) do conjunto de protocolos da internet. A porta é identificada por um protocolo, com um número de 16 bits, vulgarmente conhecido como port number(número de porta). O port number é adicionado a um endereço de IP do computador, completando o endereço de destino para uma sessão de comunicação. Isto é, os pacotes de dados são encaminhados através da rede para um endereço de IP de destino especifico, e em seguida, ao atingir o computador de destino, são encaminhados para o processo especifico ligado ao número de porta de destino.
Note que é a combinação de endereço de IP e um número de porta, devem ser únicos, então, IP’s e protocolos podem usar o mesmo número de porta para se comunicar. Isto é, em um dado host ou interface, o UDP e TCP precisam ter o mesmo numero de porta, ou em um host com duas interfaces ambos podem estar associados a uma porta com o mesmo número.
Dos milhares de portas numeradas, cerca de 250 das portas conhecidas são reservadas por convenção para identificar os tipos de serviços específicos em um host. No modelo cliente-servidor de arquitetura de aplicação, as portas são usadas para fornecer um serviço de multiplexação em cada número da porta do lado do servidor que os clientes da rede conectam para início do serviço, após o qual a comunicação pode ser restabelecida em outros números específicos de conexão de porta.

## Utilidade das portas

Numerosos programas TCP/IP podem ser executados simultaneamente na Internet (pode, por exemplo, abrir vários navegadores simultaneamente ou navegar em páginas HTML descarregando ao mesmo tempo um ficheiro por FTP). 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 é então um endereço único no mundo, chamado socket).
O endereço IP serve então para identificar de maneira única um computador na rede enquanto o número de porta indica a aplicação à qual os dados se destinam. Desta maneira, quando o computador recebe informações destinadas a uma porta, os dados são enviados para a aplicação correspondente. Se se tratar de um pedido destinado à aplicação, esta chama-se aplicação servidor. Se se tratar de uma resposta, fala-se então de aplicação cliente.

## Função multiplexagem

O processo que consiste em permitir a circulação, numa ligação, de informações que provêm de diversas aplicações chama-se multiplexagem. Da mesma maneira, o fato de conseguir pôr em paralelo (e por conseguinte repartir nas diversas aplicações) o fluxo de dados chama-se desmultiplexagem.
Estas operações são realizadas graças à porta, quer dizer, um número associado a um tipo de aplicação que, combinado com um endereço IP, permite determinar de maneira única uma aplicação que funciona numa dada máquina.
Atribuições por defeito.
Existem milhares de portas (estas são codificadas em 16 bits, há por conseguinte, 65536 possibilidades), é por isso que uma atribuição standard foi criada pelo IANA, para ajudar à configuração das redes.
* As portas 0 a 1023 são as “portas reconhecidas” ou reservadas (“Well Known Ports”). Geralmente, estão reservadas para os processos sistema (daemon) ou aos programas executados por utilizadores privilegiados. Um administrador rede pode, no entanto, vincular serviços às portas da sua escolha.
* As portas 1024 a 49151 chama-se “portas registradas” (“Registered Ports”).
* As portas 49152 a 65535 são as “portas dinâmicas e/ou privadas” (“Dynamic and/or Private Ports”).

## Detalhes técnicos

Camada de protocolos de transporte, como o Transmission Control Protocol (TCP) e User Datagram Protocol (UDP), especifica um número de porta de origem e destino em seus cabeçalhos de pacotes. Um número de porta é um número inteiro de 16 bits sem sinal, portanto, que varia de 1 a 65535 (número de porta 0 é reservado e não pode ser usado).
O processo associa sua entrada ou saída através da conexão de internet, um tipo de descritor de arquivo, com um protocolo de transporte, um número de porta e um endereço IP. Este processo é conhecido como ligação, e permite o envio e recebimento de dados através da rede de internet. Software do sistema operacional de rede tem a tarefa de transmitir dados de saída de todos as portas de aplicação para a rede, e lidar com o encaminhamento de pacotes de rede que chegam por um processo de correspondência o endereço IP do pacote e número de porta.
Somente um processo pode ligar-se a um endereço IP específico e combinação de porta usando o mesmo protocolo de transporte. Falhas de aplicativos comuns, conflitos de porta chamadas, às vezes, ocorrem quando vários programas tentar ligar para os mesmos números de porta no mesmo endereço IP usando o mesmo protocolo. A esse acontecimento denominamos de “congestionamento de rede”.
Aplicações e execuções de serviços comuns costumam ser especificamente reservados, números bem conhecidos de porta para receber solicitações de serviço das máquinas.
Este processo é conhecido como "listening" (escutar) e envolve a recepção de um pedido na porta conhecida e estabelecendo uma conexão cliente-servidor, usando o mesmo número de porta local;
outros clientes podem continuar a conectar-se à porta de "listening". Isso funciona porque uma conexão TCP é identificada por “the tuple” {endereço local, porta local, endereço remoto, porta remota}. As portas conhecidas são definidas por convenção, e são supervisionadas pela Internet Assigned Numbers Authority (IANA).
Os principais serviços de rede, como a World Wide Web, mais conhecida como "WWW", normalmente usam números de portas pequenas com valor menor que 1024. Em muitos sistemas operacionais medidas especiais são necessários para aplicações conectarem-se a essas portas, porque estas são muitas vezes consideradas críticas para a operações com redes de IP. Por outro lado, o cliente final de uma ligação geralmente utiliza um número de porta alto para aplicações de curta duração, assim chamado de “porta efêmera”.
Os números de porta são codificados no cabeçalho do pacote de protocolo de transporte, e pode ser prontamente interpretado, não só pelo envio e recebimento de computadores, mas também por outros componentes da infra-estrutura da rede. Em particular, o firewall é normalmente configurado para diferenciar pacotes com base na sua origem ou destino do número de porta. Encaminhamento de porta é um exemplo de aplicação deste.
A prática de tentar conectar-se a um intervalo de portas em seqüência em um único computador é comumente conhecido como “varredura de portas”. Isso geralmente é associada com a en:Security cracking cracking attempts(em inglês) maliciosos ou com os administradores de rede à procura de possíveis vulnerabilidades para ajudar a prevenir ataques.
Tentativas de conexão de portas são frequentemente monitoradas e registradas por computadores

## Exemplos

Um exemplo para a utilização de portas é o sistema de correio de Internet (e-mail). Um servidor é utilizado para enviar e receber e-mails, geralmente são necessáriose dois serviços. O primeiro serviço é utilizado para transportar o e-mail para outros servidores. Isto é realizado com o Simple Mail Transfer Protocol (SMTP). O aplicativo de serviço SMTP normalmente executa na porta TCP 25 para receber as solicitações. O segundo serviço é normalmente o protocolo POP3 (Post Office Protocol) ou o Internet Message Access Protocol (IMAP), que é usado por aplicativos de cliente de e-mail em computadores pessoais do utilizador para buscar mensagens de e-mail do servidor. O serviço POP executa na porta TCP número 110. Ambos os serviços podem ser executados no mesmo computador host, o número da porta distingue o serviço que foi solicitado por um computador remoto, seja computador de um usuário ou outro servidor de e-mail.
Enquanto que o número da porta de escuta de um servidor é bem conhecida (IANA), número da porta do cliente é muitas vezes escolhido a partir do intervalo dinâmico de portas.

## Números de Portas Comuns

Os números de porta são divididos em três faixas: As portas bem conhecidas, os pontos registrados, e as portas dinâmicas ou privadas. As portas bem conhecidas são as de 0 a 1023. Os exemplos incluem:
* 20 e 21: File Transfer Protocol (FTP)
* 22: Secure Shell (SSH)
* 23: Telnet remote login service
* 25: Simple Mail Transfer Protocol (SMTP)
* 53: Domain Name System (DNS) service
* 80: Hypertext Transfer Protocol (HTTP) used in the World Wide Web
* 110: Post Office Protocol (POP3)
* 119: Network News Transfer Protocol (NNTP)
* 143: Internet Message Access Protocol (IMAP)
* 161: Simple Network Management Protocol (SNMP)
* 443: HTTP Secure (HTTPS)

## História

ARPANET:Promovido ao topo do serviço de processamento de informação na DARPA, Robert Taylor pretendia realizar as ideias de Licklider de sistemas de rede interconectado. Com Larry Roberts do MIT, ele começou o projeto para a construção da rede em questão. A primeira conexão ARPNET foi estabelecida entre a Universidade da Califórnia em Los Angeles e o Instituto de Pesquisa de Stanford as 22h30 do dia 29 de outubro de 1969.
Em 5 de dezembro de 1969, uma rede de 4 nós foi conectada pela adição da Universidade de Utah e a Universidade da Califórnia em Santa Barbara. Baseado em ideias desenvolvidas no ALOHAnet, o ARPANET evoluiu rapidamente. Em 1981, o numero de hospedeiros cresceu para 213, com um novo hospedeiro sendo adicionado aproximadamente de 20 em 20 dias.
ARPANET tornou-se o núcleo técnico do que poderia se tornar a Internet, e uma ferramenta primária no desenvolvimento de tecnologias utilizadas na época. O desenvolvimento da ARPANET foi centrado em torno de processos RFC (Request for Comments),ainda usado atualmente para ofertar e distribuir Protocolos de Internet e sistemas.
Em 1965, Donald Davies do National Physical Laboratory (UK) propôs uma rede nacional de dados baseado em troca de pacotes. A proposta não foi aceita nacionalmente, mas em 1970 ele desenhou e construiu a rede de troca de pacotes Mark I para conhecer as necessidades do laboratório multidisciplinar e provar a tecnologia sob condições operacionais. Em 1976, 12 computadores e 75 dispositivos terminais foram juntados e mais foram adicionados ate a rede ser substituída em 1986.
Os 256 valores de AEN foram divididos nos seguintes intervalos:
* De 0 a 63: em toda a rede funções padrão
* 64 a 127: host funções específicas
* De 128 a 239: reservado para uso futuro
* 240 a 255: qualquer função experimental
O serviço Telnet recebeu a designação oficial primeiro o valor 1. Em detalhe, o primeiro conjunto de atribuições foi:
* 1 Telnet
* 3 File transfer
* 5 Remote job entry
* 7 Echo
* 9 Discard
* Portal das tecnologias de informação
* ↑ «port - WordReference.com Dictionary of English». www.wordreference.com (em inglês). Consultado em 18 de agosto de 2023
* ↑ Chitsumba, Carlitos. «Portas utilizadas para redes». Consultado em 3 de dezembro de 2023