Professional Documents
Culture Documents
TCP: O TCP um protocolo de transporte e executa importantes funes para garantir que os
dados sejam entregues de uma maneira confivel, ou seja, sem que os dados sejam
corrompidos ou alterados.
Vamos imaginar uma situao prtica, onde voc deseja enviar um arquivo com cerca de 10 MB de um
computador de origem para um computador de destino. Uma das primeiras coisas que tem que ser
feitas encontrar uma rota, um caminho entre a origem e o destino. Este o papel do protocolo IP,
mais especificamente da funo de roteamento. Uma vez encontrado o caminho, o prximo passo
dividir o arquivo de 10 MB em pacotes de tamanhos menores, os quais possam ser enviados pelos
equipamentos da rede. Alm da diviso em pacotes menores, o TCP/IP tem que garantir que os pacotes
sejam entregues sem erros e sem alteraes. Pode tambm acontecer de os pacotes chegarem fora de
ordem. O TCP/IP tem que ser capaz de identificar a ordem correta e entregar os pacotes para o
programa de destino, na ordem correta. Por exemplo, pode acontecer de o pacote nmero 10 chegar
antes do pacote nmero 9. Neste caso o TCP tem que aguardar a chegada do pacote nmero 9 e
entreg-los na ordem correta. Pode tambm acontecer de serem perdidos pacotes durante o transporte.
Neste caso, o TCP tem que informar origem de que determinado pacote no foi recebido no tempo
esperado e solicitar que este seja retransmitido. Todas estas funes garantir a integridade, a
seqncia correta e solicitar retransmisso so exercidas pelo protocolo TCP Transmission Control
Protocol. Alm do TCP existe tambm o UDP, o qual no faz todas estas verificaes e utilizado por
determinados servios. A seguir apresento uma descrio dos protocolos TCP e UDP e um estudo
comparativo.
Garante a entrega de datagramas IP: Esta talvez seja a principal funo do TCP, ou seja,
garantir que os pacotes sejam entregues sem alteraes, sem terem sido corrompidos e na
ordem correta. O TCP tem uma srie de mecanismos para garantir esta entrega.
caminhos diferentes e chegar fora de ordem. O TCP tem mecanismos para garantir que, no
destino, os pacotes sejam ordenados corretamente, antes de serem entregues ao programa de
destino.
Funcionamento do TCP
O TCP baseia-se na comunicao ponto a ponto entre dois hosts de rede. O TCP recebe os dados de
programas e processa esses dados como um fluxo de bytes. Os bytes so agrupados em segmentos que
o TCP numera e seqncia para entrega. Estes segmentos so mais conhecidos como Pacotes.
Antes que dois hosts TCP possam trocar dados, devem primeiro estabelecer uma sesso entre si. Uma
sesso TCP inicializada atravs de um processo conhecido como um tree-way handshake (algo como
Um Aperto de Mo Triplo). Esse processo sincroniza os nmeros de seqncia e oferece informaes de
controle necessrias para estabelecer uma conexo virtual entre os dois hosts.
De uma maneira simplificada, o processo de tree-way handshake, pode ser descrito atravs dos
seguintes passos:
Nmeros de porta
Os nmeros de porta so divididos em trs intervalos: as conhecidas portas, portas registrado e o
dinmico e/ou portas particular. Portas conhecidas so aqueles de 0 a 1023.The portas registrados so
aqueles de 1024 a 49151. O dinmico e/ou portas particulares so aqueles de 49152 a 65535.
Portas conhecidas so atribudas por Internet Assigned Numbers Authority (IANA) e s devem ser
usadas por processos do sistema ou por programas executados por usurios privilegiada. Um exemplo
desse tipo de porta 80/TCP e UDP/80. Essas portas so privilegiada e reservado para uso pelo
protocolo HTTP.
Portas registradas so listadas pela IANA e na maioria dos sistemas podem ser usadas por processos de
usurio comum ou programas executados por usurios comuns. Um exemplo desse tipo de porta
1723/TCP e UDP/1723. Embora essas portas podem ser usadas por outros processos que eles
geralmente so aceitos como a porta de controle de conexo para ponto para ponto Tunnelling PPTP
(protocolo).
Dinmico ou portas particular pode ser usadas por qualquer processo ou usurio. Eles so irrestritos.
IANA mantm uma lista das portas no site da Web em:
http://www.iana.org/assignments/port-numbers
Em resumo: O uso do conceito de portas, permite que vrios programas estejam em funcionamento,
ao mesmo tempo, no mesmo computador, trocando informaes com um ou mais servios/servidores.
O lado do servidor de cada programa que usa portas TCP escuta as mensagens que chegam no seu
nmero de porta conhecido. Todos os nmeros de porta de servidor TCP menores que 1.024 (e alguns
nmeros mais altos) so reservados e registrados pela Internet Assigned Numbers Authority (IANA,
autoridade de nmeros atribudos da Internet). Por exemplo, o servio HTTP (servidor Web), instalado
em um servidor, fica sempre escutando os pacotes que chegam ao servidor. Os pacotes destinados a
porta 80, sero encaminhados pelo sistema operacional para processamento do servidor Web.
A tabela a seguir uma lista parcial de algumas portas de servidor TCP conhecidas usadas por
programas baseados em TCP padro.
Nmero de porta TCP Descrio
Servidor FTP (File Transfer Protocol, protocolo de
20
transferncia de arquivo) (canal de dados)
21
Servidor FTP (canal de controle)
23
Servidor Telnet
Transferncias de zona DNS (Domain Name System,
53
sistema de nomes de domnios)
Servidor da Web (HTTP, Hypertext Transfer Protocol,
80
protocolo de transferncia de hipertexto)
139
Servio de sesso de NetBIOS
Portas UDP
O conceito de porta UDP idntico ao conceito de portas TCP, embora tecnicamente, existam diferenas
na maneira como as portas so utilizadas em cada protocolo. A idia a mesma, por exemplo, se um
usurio estiver utilizando vrios programas baseados em UDP, ao mesmo tempo, no seu computador,
atravs do uso de portas, que o sistema operacional sabe a qual programa se destina cada pacote UDP
que chega.
O lado do servidor de cada programa que usa UDP escuta as mensagens que chegam no seu nmero de
porta conhecido. Todos os nmeros de porta de servidor UDP menores que 1.024 (e alguns nmeros
mais altos) so reservados e registrados pela Internet Assigned Numbers Authority (IANA, autoridade
de nmeros atribudos da Internet).
Cada porta de servidor UDP identificada por um nmero de porta reservado ou conhecido. A tabela a
seguir mostra uma lista parcial de algumas portas de servidor UDP conhecidas usadas por programas
baseados em UDP padro.
Nmero de porta UDP Descrio
Consultas de nomes DNS (Domain Name System, sistema de
53
nomes de domnios)
69
Trivial File Transfer Protocol (TFTP)
137
Servio de nomes de NetBIOS
138
Servio de datagrama de NetBIOS
161
Simple Network Management Protocol (SNMP)
Routing Information Protocol (RIP, protocolo de informaes
520
de roteamento)
Para obter uma lista atualizada e completa de todas as portas TCP conhecidas e registradas atualmente,
consulte o seguinte endereo:
http://www.iana.org/assignments/port-numbers
O UDP contrasta diretamente com os servios e recursos oferecidos por TCP. A tabela a seguir compara
as diferenas em como a comunicao TCP/IP tratada dependendo do uso de UDP ou TCP para o
transporte de dados.
UDP
TCP
4 5
63784
20
OCTETOS
4020
00000000
000
UDP
01F5
139.82.17.20
206.12.56.23
DVB9834H4K432BVIVV
FVNEOFVHNOEF9345F
342589J3948302FJJFV
4000
OCTETOS
Fragmento 1
4 5
8
1500
00000000
63784
UDP
Fragmento 2
0
100
0756
4 5
63784
8
1500
00000000
UDP
100
1480
0FD0
Fragmento 3
4 5
63784
8
1060
00000000
UDP
000
2960
4AFF
139.82.17.20
139.82.17.20
139.82.17.20
206.12.56.23
206.12.56.23
206.12.56.23