You are on page 1of 5

Universidade Paulista UNIP

Disciplina: Redes de Dados e Comunicao

Professor Paulo Henrique Rodrigues

Entendendo as portas TCP e UDP

Ao conectar na Internet, seu micro recebe um nico endereo IP vlido. Apesar disso, mantemos vrios programas ou
servios abertos simultaneamente. Em um desktop normal ter um programa de e-mail, um cliente de FTP ou SSH, o
navegador, um cliente de ICQ ou MSN, dois ou trs downloads via bittorrent e vrios outros programas que enviam e
recebem informaes, enquanto um nico servidor pode manter ativos servidores web, FTP, SSH, DNS, LDAP e muitos
outros servios, atendendo a centenas de clientes simultaneamente.

Se temos apenas um endereo IP, como todos estes servios podem funcionar ao mesmo tempo sem entrar em conflito?

Imagine que as duas partes do endereo IP (a parte referente rede e a parte referente ao host) correspondem ao CEP
da rua e ao nmero do prdio. Um carteiro s precisa destas duas informaes para entregar uma carta. Mas, dentro do
prdio moram vrias pessoas. O CEP e nmero do prdio s vo fazer a carta chegar at a portaria. Da em diante
preciso saber o nmero do apartamento. aqui que entram as famosas portas TCP.

Existem 65.536 portas TCP, numeradas de 0 a 65535. Cada porta pode ser usada por um programa ou servio diferente,
de forma que em teoria poderamos ter at 65536 servios diferentes ativos simultaneamente em um mesmo servidor,
com um nico endereo IP vlido. O endereo IP contm o CEP da rua e o nmero do prdio, enquanto a porta TCP
determina a que sala dentro do prdio a carta se destina.

As portas TCP mais usadas (tambm chamadas de "well known ports") so as portas de 0 a 1023, que so reservadas
para servios mais conhecidos e utilizados, como servidores web, FTP, servidores de e-mail, compartilhamento de
arquivos, etc. A porta 80, por exemplo, reservada para uso de servidores web, enquanto a porta 21 a porta padro
para servidores FTP. A porta "0" reservada, por isso no entra realmente na lista.

Alm do endereo IP, qualquer pacote que circula na Internet precisa conter tambm a porta TCP a que se destina. isso
que faz com que um pacote chegue at o servidor web e no ao servidor FTP instalado na mesma mquina.

Alm das 65.536 portas TCP, temos o mesmo nmero de portas UDP, seu protocolo irmo. Embora seja um protocolo
menos usado que o TCP, o UDP continua presente nas redes atuais pois oferece uma forma alternativa de envio de
dados, onde em vez da confiabilidade privilegiada a velocidade e a simplicidade. Vale lembrar que tanto o TCP quanto o
UDP trabalham na camada 4 do modelo OSI. Ambos trabalham em conjunto com o IP, que cuida do endereamento.

No TCP, os dados so transmitidos atravs de conexes. Tudo comea com o cliente enviando o pacote "SYN", que
solicita a abertura da conexo. Caso a porta esteja fechada, o servidor responde com um pacote "RST" e a conversa pra
por a. Caso, por outro lado, exista algum servidor disponvel na porta solicitada (um servidor http, por exemplo), ento
ele responde com outro pacote "SYN", seguido de um um pacote "ACK", avisando que a porta est disponvel e
prosseguindo com a abertura da conexo.

O cliente responde ento com outro pacote "ACK", o que abre oficialmente a conexo. Comea ento a transferncia dos
dados, que so organizados em pacotes. O protocolo TCP/IP permite o uso de pacotes com at 64 kbytes, mas
normalmente so usados pacotes com at 1500 bytes, que o tamanho mximo de um frame Ethernet. Pacotes maiores
podem ser transmitidos normalmente atravs da rede, mas precisam ser fragmentados, ou seja, divididos em pedaos
menores, com at 1500 bytes.

Para cada pacote recebido, a estao envia um pacote de confirmao e, caso algum pacote se perca, ela solicita a
retransmisso. Cada pacote inclui 4 bytes adicionais com um cdigo de CRC, que permite verificar a integridade do
pacote. atravs dele que o cliente sabe quais pacotes chegaram danificados.

Depois que todos os dados so transmitidos, o servidor envia um pacote "FYN" que avisa que no tem mais nada a
transmitir. O cliente responde com outro pacote "FYN" e a conexo oficialmente encerrada.

Graas a tudo isso, a confiabilidade muito boa. Quando a conexo est ruim, normal ocorrerem mais perdas de
pacotes e retransmisses, mas as corrupes so geralmente causadas pelo prprio programa que est baixando o
arquivo e no pelo protocolo. O problema que toda esta formalidade torna as transferncias um pouco mais lentas.
Imagine que, para transmitir uma mensagem de texto com 300 bytes, via TCP, seria necessrio transmitir um total de 9
pacotes!
Veja um exemplo de como a transmisso funcionaria:

Estao: SYN (solicita a abertura da conexo)


Servidor: SYN (confirma o recebimento e avisa que a porta est disponvel)
Servidor: ACK (inicia a conexo)
Estao: ACK (confirma)
Estao: DATA ( enviado o pacote com a mensagem de texto)
Servidor: OK (a confirmao, depois de verificar a integridade do pacote)
Estao: FYN (solicita o fechamento da conexo)
Servidor: FYN (confirma)
Estao: FYN (confirma que recebeu a confirmao)

No UDP, as coisas so mais simples. Nele no existe abertura de conexo, os pacotes so transmitidos diretamente. A
estao solicita alguma informao e o servidor envia a resposta. Assim como no TCP, so usados pacotes de at 1500
bytes (o protocolo permite o uso de pacotes com at 64 kbytes, mas, assim como no caso do TCP eles so raramente
usados devido ao limite de tamanho dos frames Ethernet), contendo os bits adicionais de verificao. A estao pode
verificar a integridade dos pacotes, mas no tem como perceber se algum pacote se perdeu, ou solicitar a retransmisso
de um pacote corrompido. Se um pacote se perde, fica por isso mesmo.

Um exemplo tpico de uso do UDP o streaming de vdeo e audio via web, uma situao onde o que vale a velocidade e
no a confiabilidade. Voc no gostaria nada se o navegador parasse a exibio do vdeo para solicitar uma
retransmisso cada vez que um pacote se perdesse ou chegasse corrompido. prefervel que ele pule o quadro e
continue exibindo o restante do vdeo.

Outra aplicao comum so os servidores DNS. Sempre que voc acessa um site, a solicitao do endereo IP referente
ao domnio do site e a resposta do servidor so enviadas via UDP, para ganhar tempo.

Na prtica, bem raro encontrar algum programa que utilize unicamente pacotes UDP para qualquer coisa alm do envio
de mensagens curtas. Mesmo no caso do streaming de vdeo, quase sempre usada uma porta TCP para estabelecer a
conexo e enviar informaes de controle, deixando o UDP apenas para o envio dos dados.

As portas mais usadas so:

21 TCP: FTP - O FTP um dos protocolos de transferncia de arquivos mais antigos e ainda assim um dos mais usados.
O ponto fraco do FTP a questo da segurana: todas as informaes, incluindo as senhas trafegam em texto puro e
podem ser capturadas por qualquer um que tenha acesso transmisso.

O FTP possui dois modos de operao: passivo e ativo. No modo ativo, o cliente contata o servidor usando uma porta
vaga aleatria, como, por exemplo, a porta 1026, endereando o pacote porta 21 do servidor. O servidor
imediatamente contata o cliente de volta, usando a porta seguinte (do cliente) para enviar os dados. Se o cliente usou a
porta 1026 para abrir a conexo, ento o servidor enviar os dados na porta 1027. O problema que o modo ativo no
funciona quando o cliente acessa atravs de uma conexo compartilhada. Ao tentar responder, o servidor cairia na porta
1027 do gateway da rede, sem conseguir chegar ao cliente.

No modo passivo, o cliente tambm abre a conexo contatando a porta 21 do servidor; entretanto, ao invs de iniciar a
conexo imediatamente, o servidor responde avisando que o cliente pode contat-lo em uma segunda porta, escolhida
aleatoriamente (a 2026, por exemplo). O cliente inicia, ento, uma nova conexo na porta especificada e o servidor
responde enviando os dados (a porta fica reservada ao cliente durante o tempo que durar a transferncia). Em teoria,
isto seria um limite ao nmero de clientes que poderiam se conectar simultaneamente, mas, na prtica, seriam
necessrias mais de 64.000 conexes simultneas ao mesmo servidor FTP para esgotar as portas disponveis.

Praticamente todos os clientes de FTP atuais utilizam o modo passivo por padro, mas isso pode ser modificado dentro
da configurao. Alguns poucos servidores de FTP no podem ser acessados em modo passivo, pois para isso
necessrio que o administrador faa uma configurao de firewall mais cuidadosa, mantendo abertas um conjunto de
portas altas.
Em resumo, no modo ativo o servidor precisa ter aberta apenas a porta 21, mas em compensao o cliente precisa
acessar a web diretamente e ter um conjunto de portas altas abertas no firewall. No modo passivo, os papis se
invertem: o cliente no precisa ter portas abertas, mas o servidor sim.

22 TCP: SSH - O SSH o canivete suo da administrao remota em servidores Linux. Inicialmente o SSH permitia
executar apenas comandos de texto remotamente; depois passou a permitir executar tambm aplicativos grficos e, em
seguida, ganhou tambm um mdulo para transferncia de arquivos, o SFTP. A vantagem do SSH sobre o Telnet e o FTP
que tudo feito atravs de um canal encriptado, com uma excelente segurana.

O SSH pode ser usado tambm para encapsular outros protocolos, criando um tnel seguro para a passagem dos dados.
Criando tneis, possvel acessar servidores de FTP, proxy, e-mail, rsync, etc. de forma segura. Graas a isso, o SSH
usado como meio de transporte por diversos programas, como o NX Server. Veremos detalhes sobre o uso do SSH no
captulo 6.

O sistema de encriptao utilizado pelo SSH, assim como os tneis encriptados, trabalham no nvel 6 do modelo OSI,
acima da camada de sesso, do protocolo TCP/IP, e de toda a parte fsica da rede. Ao contrrio do FTP, o SSH no
precisa de portas adicionais: tudo feito atravs da porta 22, que a nica que precisa ficar aberta no firewall do
servidor. O cliente no precisa ter porta alguma aberta e pode acessar atravs de uma conexo compartilhada via NAT.

23 TCP: Telnet - O Telnet provavelmente o protocolo de acesso remoto mais antigo. A primeira demonstrao foi feita
em 1969, com o acesso de um servidor Unix remoto (ainda na fase inicial de implantao da Arpanet), muito antes de
ser inventado o padro Ethernet e antes mesmo da primeira verso do TCP/IP.

O Telnet foi muito usado durante as dcadas de 1980 e 1990, mas depois caiu em desuso, sendo rapidamente
substitudo pelo SSH. Alm de no possuir nenhum dos recursos mais sofisticados suportados pelo SSH, o Telnet um
protocolo completamente aberto (no sentido pejorativo), que transmite login, senha e todos os comandos em texto puro.
Isso torna ridiculamente simples capturar a transmisso (usando, por exemplo, o Wireshark, que veremos no captulo 5)
e assim "invadir" o servidor, usando a senha roubada.

Uma curiosidade, que o sistema usado pelo Telnet para a transmisso de comandos usado como base para diversos
outros protocolos, como o SMTP e o HTTP. De fato, voc pode usar um cliente Telnet para mandar um e-mail (se souber
usar os comandos corretos), ou mesmo acessar um servidor web, desde que consiga simular uma conexo HTTP vlida,
como faria um navegador.

25 TCP: SMTP - O SMTP o protocolo padro para o envio de e-mails. Ele usado tanto para o envio da mensagem
original, do seu micro at o servidor SMTP do provedor, quanto para transferir a mensagem para outros servidores, at
que ela chegue ao servidor destino. Tradicionalmente, o Sendmail o servidor de e-mails mais usado, mas, devido aos
problemas de segurana, ele vem perdendo espao para o Qmail e o Postfix.
53 UDP: DNS - Os servidores DNS so contatados pelos clientes atravs da porta 53, UDP. Eles so responsveis por
converter nomes de domnios como "guiadohardware.net" nos endereos IP dos servidores.

Existem no mundo 13 servidores DNS principais, chamados "root servers". Cada um deles armazena uma cpia completa
de toda a base de endereos. Estes servidores esto instalados em pases diferentes e ligados a links independentes. A
maior parte deles roda o Bind, mas pelo menos um deles roda um servidor diferente, de forma que, mesmo que uma
brecha grave de segurana seja descoberta e seja usada em um cyberataque, pelo menos um dos servidores continue no
ar, mantendo a Internet operacional.

Para acessar qualquer endereo, preciso primeiro consultar um servidor DNS e obter o endereo IP real do servidor. Em
geral, uma consulta a um dos root servers demora alguns segundos, por isso os provedores de acesso e os responsveis
por grandes redes sempre configuram servidores DNS locais, que criam um cache das consultas anteriores, de forma a
agilizar o acesso. Voc mesmo pode configurar um servidor DNS para a sua rede usando o Bind.

67 e 68 TCP: Bootps e Bootpc - Estes dois protocolos podem ser usados em sistemas de boot remoto, onde os clientes
no possuem HD nem CD-ROM e acessam todos os arquivos de que precisam a partir do servidor. Entretanto, os
servidores DHCP atuais incorporam as funes que eram antigamente desempenhadas pelos servidores Bootps, e Bootpc,
o que acabou tornando-os obsoletos. Nas verses atuais do LTSP, por exemplo, os clientes do boot atravs da rede
utilizando uma combinao de servidores DHCP, TFTP, NFS e XDMCP.
69 UDP: TFTP - O TFTP uma verso simplificada do FTP, que utiliza portas UDP para a transferncia dos dados e no
inclui suporte correo de erros. Ele pode ser usado para transferncia de arquivos em geral, mas mais
freqentemente usado em sistemas de boot remoto, como no caso do LTSP. A principal vantagem nesses casos que o
protocolo muito mais simples, de forma que o cliente TFTP pode ser includo diretamente no BIOS da placa de rede,
permitindo que o sistema operacional seja carregado diretamente atravs da rede, sem precisar de um HD ou outra
unidade de armazenamento.
80 TCP: HTTP - O HTTP o principal protocolo da Internet, usado para acesso s paginas web. Embora a porta 80 seja
a porta padro dos servidores web, possvel configurar um servidor web para usar qualquer outra porta TCP. Neste
caso, voc precisa especificar a porta ao acessar o site, como em:http://200.234.34.12:8080.
110 TCP: POP3 - Servidores de e-mail, como o Postfix, armazenam os e-mails recebidos em uma pasta local. Se voc
tiver acesso ao servidor via SSH, pode ler estes e-mails localmente, usando Mutt (no Linux). Entretanto, para transferir
os e-mails para sua mquina, necessrio um servidor adicional. a que entra o protocolo POP3, representado no Linux
pelo courier-pop e outros servidores.
Programas como o Thunderbird e o Outlook contatam o servidor POP3 atravs da porta 110 e baixam as mensagens
utilizando um conjunto de comandos de texto, derivados do Telnet. Originalmente, o POP3 um protocolo to inseguro
quanto o Telnet, mas os servidores atuais suportam encriptao via SSL (o mesmo sistema de encriptao usado para
acessar pginas seguras, via HTTPs), o que garante um bom nvel de segurana.

123 UDP: NTP - O NTP (Network Time Protocol) o protocolo usado para sincronizar o relgio em relao a outras
mquinas da rede ou da Internet. Manter os relgios das mquinas sincronizados uma necessidade em grandes redes,
com grande uso de arquivos compartilhados, j que fica difcil acompanhar os horrios de atualizao dos arquivos se
cada mquina utiliza um horrio diferente.

O protocolo NTP leva em conta o ping entre as mquinas e outros fatores para fazer as atualizaes de forma
extremamente precisa, de forma que diferenas de sincronismo entre as mquinas so sempre da ordem de poucos
milsimos de segundo.

Existem diversos servidores NTP pblicos, disponveis via web. Para facilitar as coisas, existe o servidor "pool.ntp.org",
que serve como um load balancer, encaminhando as requisies para um servidor geograficamente prximo de voc. Ao
invs de ficar caando servidores pblicos no Google, voc pode sincronizar diretamente a partir dele. No Windows XP,
por exemplo, a opo de usar o NTP est disponvel no "Painel de Controle > Data e hora > Horrio da Internet":

137 UDP, 138 UDP e 139 TCP: NetBIOS - Estas trs portas so usadas pelo protocolo de compartilhamento de
arquivos e impressoras em redes Microsoft. Cada uma das portas tem uma funo especfica: a porta 137 UDP usada
para a navegao, incluindo a visualizao dos compartilhamentos disponveis, a porta 138 UDP para a resoluo dos
nomes da rede e a porta 139 TCP usada para a transferncia de dados. necessrio que as trs estejam abertas no
firewall para que a visualizao dos compartilhamentos e acesso aos arquivos funcione corretamente.

A partir do Windows 2000, passou a ser usado o protocolo CIFS (veja a seguir), mas o NetBIOS continua disponvel para
manter compatibilidade com as verses anteriores do sistema.

143 TCP: IMAP - O IMAP mais um protocolo para recebimento de e-mails, assim como o POP3. A diferena entre os
dois que, ao receber os e-mails via POP3, eles so apagados do servidor assim que baixados, liberando o espao usado
na caixa postal. No IMAP, os e-mails continuam no servidor at serem deletados manualmente.

Embora oferecer contas de e-mail com acesso via IMAP seja muito mais oneroso do que via POP3 (j que o nmero de
requisies maior, e os usurios podem conservar mensagens antigas por muito tempo), ele vem "roubando a cena"
com a popularizao dos webmails, que so justamente clientes IMAP, que rodam no prprio servidor (atravs do Apache
ou outro servidor web), e so acessados no cliente usando o navegador.

177 TCP: XDMCP - O XDMCP um protocolo de acesso remoto, suportado nativamente pelo X (o ambiente grfico
usado no Linux e em outros sistemas Unix). Ele permite rodar aplicativos remotamente e a base para o LTSP e outros
sistemas de acesso remoto, onde usado um servidor central e terminais leves. O XDMCP pode ser tambm usado no
dia-a-dia, para simplesmente rodar programas instalados em outra mquina da rede.

A vantagem do XDMCP que ele um protocolo bastante simples e rpido, que oferece um bom desempenho via rede
local e consome poucos recursos, tanto no servidor, quanto no cliente. Ele tambm um recurso nativo do X, de forma
que voc no precisa instalar nenhum software adicional, basta ativar o recurso na configurao do KDM ou GDM (os
gerenciadores de login usados nas distribuies Linux atuais).
A desvantagem que o XDMCP um protocolo "da velha guarda", que no inclui suporte a encriptao, e utiliza um
conjunto de portas altas para enviar dados aos clientes. Alm da porta 177, onde o servidor recebe conexes,
necessrio que estejam abertas as portas de 6010 6099 (no servidor) e as portas de 5000 a 5200 nos clientes, o que
complica um pouco as coisas ao manter um firewall ativo.

389 TCP: LDAP - O LDAP muito usado atualmente para criar servidores de autenticao e definir permisses de
acesso para os diferentes usurios da rede. Existem vrios padres de LDAP, um dos mais usados o OpenLDAP,
suportado pela maioria das distribuies Linux atualmente em uso.
443 TCP: HTTPS - O HTTPS permite transmitir dados de forma segura, encriptados usando o SSL. Ele usado por
bancos e todo tipo de site de comrcio eletrnico ou que armazene informaes confidenciais.
445 TCP: CIFS - O protocolo CIFS uma verso atualizada do antigo protocolo NetBIOS, usado para a navegao e
acesso a compartilhamentos em redes Windows. O protocolo CIFS utilizado por padro pelos clientes rodando o
Windows 2000, XP e Vista, alm de ser usado pelas verses recentes do Samba. Ao contrrio do NetBIOS, que utiliza um
conjunto de 3 portas, o CIFS utiliza apenas a porta 445 TCP.
Naturalmente, esta uma lista rpida, contendo apenas as portas mais usadas. Voc pode ver uma lista longa e
completa, com todos os servios conhecidos e as portas utilizadas por cada um no link abaixo:

http://www.iana.org/assignments/port-numbers

Fonte: http://www.hardware.com.br/livros/redes/portas-tcp-udp.html

You might also like