1. #1

    Registo
    Sep 2006
    Posts
    40.425

    Padrão Redes: Quais as diferenças entre o Protocolo TCP e UDP

    Em 2009 escrevemos aqui um artigo sobre as diferenças de usar o protocolo TCP e UDP. Agora recordamos este tema uma vez que teve um sucesso muito interessante na altura.



    Certamente que já ouviu falar no protocolo TCP e UDP mas sabe quais as diferenças entre um e outro? Hoje vamos a explicar.









    Certamente que já ouviram falar em serviços/aplicações que usam como protocolo de transporte TCP ( Transmission Control Protocol) ou o UDP (User Datagram Protocol ).



    Numa referência ao modelo OSI, estes protocolos pertencem à camada 4 (camada de transporte). Já no modelo TCP/IP, estes protocolos encontra-se igualmente na camada de transporte mas que corresponde à camada 3.





    Numa máquina existem (teoricamente) 65.536 portos lógicos TCP que podem ser usados pelas mais diversas aplicações/serviços, o que (teoricamente) poderíamos ter 65.536 aplicações/serviços distintos a correr em simultâneo na nossa máquina. Relembrando o que foi referido em artigos anteriores: o endereço IP identifica a máquina e o porto lógico identifica a aplicação/serviço. Além dos portas TCP temos também 65.536 portas UDP (teoricamente).


    Protocolo TCP VS Protocolo UDP



    TCP



    O TCP é o protocolo mais usado isto porque fornece garantia na entrega de todos os pacotes entre um PC emissor e um PC recetor. No estabelecimento de ligação entre emissor e recetor existe um “pré-acordo” denominado de Three Way Handshake (SYN, SYN-ACK, ACK).



    • A sessão entre um cliente e um servidor é sempre iniciada pelo cliente, que envia um pedido de ligação pacote com aflag SYN ativada;



    • O cliente envia também umnúmero sequencial aleatório;
    • O servidor responde com um pacoteSYN,ACKcom o seupróprio número sequencial aleatórioe umnúmero de confirmação(igual ao número sequencial do cliente +1);
    • Para finalizar ocliente responde com um pacote ACKcom onúmero de confirmação(igual ao número de sequência do servidor +1).






    Para saber mais sobre o Three Way Handshake aceda aqui.


    Exemplo




    Considerem por exemplo que querem transmitir um filme ou um ficheiro com um jogo que ocupa 800 MB. Esse ficheiro terá de ser partido em partes mais pequenas (fragmentação), para que seja viável a sua transferência para outro PC. Recorrendo ao protocolo TCP existe a garantia que todos os pacotes serão entregues e ordenados do outro lado (uma vez que podem seguir caminhos diferentes). Além disso, por cada pacote ou conjunto de pacotes (previamente definido), a máquina de destino confirma que recebeu essa informação ao emissor e, no caso de falha de algum pacote, a máquina de destino procede ao emissor o pedido de retransmissão do(s) pacote(s) em falta.



    Já pensaram se na transmissão do ficheiro do filme ou jogo de (800 MB) faltassem por exemplo apenas 2 k???? … o recetor simplesmente não iria conseguir abrir esse ficheiro recebendo provavelmente a mensagem “ficheiro corrompido”.

    UDP



    O UDP é um protocolo mais simples e por si só não fornece garantia na entrega dos pacotes. No entanto, esse processo de garantia de dados pode ser simplesmente realizado pela aplicação em si (que usa o protocolo UDP) e não pelo protocolo.


    Basicamente, usando o protocolo UDP, uma máquina emissor envia uma determinada informação e a máquina recetor recebe essa informação, não existindo qualquer confirmação dos pacotes recebidos. Se um pacote se perder não existe normalmente solicitação de reenvio, simplesmente deixa de existir para o destinatário.
    Exemplo


    Vamos a um exemplo comum. Imaginem que vão usar streaming de vídeo e áudio através da Internet e usam o Skype como aplicação. Se estabelecerem uma ligação com um amigo vosso, vão notar que existem muitos pacotes na transmissão que se perdem… ouvem aquele barulho normal aquando das transmissões…”bluuup” ou a perda/bloqueio de imagem por alguns ms (milisegundos), o que é perfeitamente aceitável.


    Não teria muita lógica que a meio dessa transmissão a vossa aplicação parasse o streaming e fosse solicitar ao recetor pacotes perdidos, simplesmente começávamos uma conversa e a meio iríamos receber informações provavelmente daquilo que falamos no início.


    Não é muito normal encontrar aplicações que usem exclusivamente o protocolo UDP, usando o exemplo do streaming existe sempre o recurso ao TCP para trocar informações de controlo, libertando o UDP apenas para o envio da informação.



    Quais as unidades nesta camada?



    Erradamente é normal chamar-se “pacotes” a tudo. O pacote é a unidade (PDU – Protocol Data unit) da camada 3 do modelo OSI, que corresponde à camada de rede. No caso do modelo TCP/IP, corresponde à camada 2.



    Quando falamos na camada de transporte, usámos segmento para designar a unidade quando usámos o protocolo TCP ou datagrama quando fazemos uso do protocolo UDP.







  2. #2
    Avatar de cat32D
    Registo
    Mar 2017
    Posts
    131
    Muito bom.

    cumprimentos

Tópicos Similares

  1. Saiba quais são as principais características do protocolo WPA3
    Por kokas no fórum Informática e Tecnologia
    Respostas: 0
    Último Post: 05-02-2018, 14:57
  2. Skybox V8 ou Amiko 8150 HD - Quais as diferenças?
    Por Guppik no fórum Dúvidas / Comentários
    Respostas: 0
    Último Post: 02-11-2015, 16:03
  3. Quais as diferenças entre cada uma das versões do Windows 10
    Por Furabilhas no fórum Manuais,Tutoriais & Dicas
    Respostas: 0
    Último Post: 05-07-2015, 09:37
  4. Respostas: 4
    Último Post: 09-11-2010, 22:24
  5. Respostas: 0
    Último Post: 07-05-2009, 13:46

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •  

Conectar

Conectar