Protocolo TCP vs Protocolo UDP

35 Comentários

Certamente que já ouviram falar em serviços/aplicações que usam o protocolo TCP ou UDP.  Os protocolos TCP e UDP pertencem à camada 4 do modelo OSI (camada de transporte) e em traços gerais, em conjunto com o porto/porta e IP da máquina, definem como uma determinada informação é transmitida na rede.

Numa máquina existem (teoricamente) 65.536 portas TCP que podem ser usadas 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 IP identifica a máquina e o porto identifica a aplicação/serviço. Além das portas TCP temos também 65.536 portas UDP(teoricamente).

13163727

Mas afinal qual a diferença entre usar o protocolo TCP ou o protocolo UDP?

Protocolo TCP

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

Exemplo

Considerem por exemplo que querem transmitir um filme ou o ficheiro com um jogo que ocupa 800 MB. Esse ficheiro terá de ser partidos 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 reordenados do outro lado (uma vez que podem ir por 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???? …bem, o receptor simplesmente não iria conseguir abrir esse ficheiro recebendo provavelmente a mensagem “ficheiro corrompido”.

Então e o 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 UDP, uma máquina emissor envia uma determinada informação e a máquina receptor 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 não existe.

Exemplo

Vamos a um exemplo comum. Imaginem que vão usar streaming de vídeo e áudio através da Internet e usam por exemplo 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 receptor 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.

Nota final: Tentou-se explicar de forma simples e abreviada as principais características do UDP e TCP. Contamos com os vossos comentários de forma a analisarem o mesmo e a darem dicas para novos artigos.

Artigos relacionados:

Partilhar:
Tags:

Comentários

35

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de ajbadboy
    ajbadboy

    Muito bom!!! Parabéns

  2. Avatar de Bruno Jacob
    Bruno Jacob

    Sim, sim. Para quem entende pouco da área está um excelente explicação!!!
    Parabéns

  3. Avatar de jean
    jean

    bacana… beatiful man!

  4. Avatar de Zecalentejano
    Zecalentejano

    Excelente! Se calhar, aborrecido para “sabões”. Mas quem não percebe quase nada, como eu, foi simples e claro.

    Good Job!!!

  5. Avatar de Everton Vale
    Everton Vale

    Caro Amigo, Perfeito ! Simples e objetivo.

    Abraço a todos.

  6. Avatar de J P
    J P

    Parabéns.
    Está aí um Overview dos dois protocolos muito simples e bastante exacto.

    O ideal para que quem não entende muito sobre redes fique mais culto.

    🙂

  7. Avatar de Arpinacio
    Arpinacio

    Poder-se-ia também explicar de forma simples como o FTP se apoia em TCP, que determinadas portas são usadas exclusivamente para determinadas aplicações como standart (ex. 80), de resto, sem dúvida dos melhores artigos que passou por aqui nas últimas semanas…

    1. Avatar de Pedro Pinto

      Sim, e no caso do FTP são usadas 2 portas, 20 e 21 🙂

      1. Avatar de Vítor Teixeira
        Vítor Teixeira

        Muito bem… Vejo pelo seguimento das noticias ultimamente que alguém anda a tirar um curso de redes das cisco :P…

  8. Avatar de Carlos Figueiredo
    Carlos Figueiredo

    Bom artigo sim senhor.

  9. Avatar de Pedro Pinto

    Obrigado a todos !!!

    Pedro Pinto

    1. Avatar de Senhor Andrade
      Senhor Andrade

      Super Pinto!! Muito bom, adorei!

  10. Avatar de TiagoKito
    TiagoKito

    Muito bom Pedro

    simples e bem explicado com os exemplos utilizados!

    Cumprimentos

  11. Avatar de Mokoto
    Mokoto

    Fantastico simples e eficaz como se quer.
    Parabens pedro

  12. Avatar de Bruno Antunes
    Bruno Antunes

    Viva Pedro, bom artigo 🙂

    Já agora uma sugestão, uma vez que já explicaste varios aspectos do mundo de redes, seria, talvez, uma mais valia mencionares o modelo OSI.
    É provavel um assunto para varios topicos, mas já dava para juntar varias peças do que nos tens vindo a mostrar 😉

    1. Avatar de MV
      MV

      Caro amigo, caso nao saiba o modelo OSI está morto, apenas se dá o téorico nas escolas, actualmente não existe nenhum router, core router, switch ou firewall a trabalhar com OSI.

      O protoclo IP veio para ficar e a muito que é o standard defacto.

      Apenas 4 camadas definem o protoclo IP, em vez das 7 do OSI onde existem várias incongruências no dia de hoje.

      Por exemplo se eu lhe perguntar onde se enquadra o protocolo telnet ou HTTP na camada OSI irá dar para discussão durante cerca de 1 mês… 😛

      Abraço

      1. Avatar de Lucas
        Lucas

        Muito bem explicado, Sr. MV porém nos não usamos somente o IP com o tem dito, o IP é mais um protocolo usado na camada “internet” na Pilha de pacotes TCP/IP. As redes mundo a fora, ou pelo menos 97% delas, usam a pilha de protocolos TCP/IP.

        Em teoria, o HTTP não existe na camada OSI e sim na camada de aplicação da pilha TCP/IP, logo me contradizendo (que seria o motivo de uma discurção de 1 mês) o http estária compreendito nas camadas de aplicação, apresentação e sessão.

        att, Lucas Kutz

  13. Avatar de Júlio César
    Júlio César

    Faça o próximo post sobre o protocolo HTTP =)

  14. Avatar de Wilian
    Wilian

    Torrent utiliza UDP

  15. Avatar de Ana Narciso

    Ai Pedrocas, daqui a 2 dias tenho teste de Redes… mas já passei pela camada de Aplicação e Transporte, por isso tudo o que disseste faz muito sentido!

    5ª feira é a camada de Ligação de Dados. Algoritmos, yeah.

    Óptimo artigo!

  16. Avatar de Elmo Mendes
    Elmo Mendes

    Muito bom! Parabéns! Vale destacar que alguns serviços utilizam os dois protocolos, como DNS: UDP – Para consultas, e TCP – Para Tranferencia de zonas.

  17. Avatar de Xeco
    Xeco

    Embora não tenha lido todos os comentarios; Vou deixar a minha opinião:

    MUITO BOM O ARTIGO;)

    Basicamente o UDP e bom quando:
    – A transferencia de dados em tempo real; (Televisão, skype, etc);
    – Suporta Broadcast e Multicast;

    O TCP ajuda quando:
    – Os dados sao importantes, (Ex: Transferencias bancarias, os jogos citados no artigo, etc);
    Pois:
    – Faz um optimo controlo de fluxo;
    – Acrescenta a desejada fiabilidade ao IP;

    Bom estudos

  18. Avatar de LINO TAMELE
    LINO TAMELE

    Adorei a explicacao…..

    thanks

  19. Avatar de GRASS
    GRASS

    Muito bom o topico, continuação de bom trabalho.

  20. Avatar de lucas
    lucas

    mais facil que isso para compreeender, só fechando os olhos e descubrir que os olhos estão fechados.
    ótimo trabalho thy !!!!

  21. Avatar de Gabriel
    Gabriel

    Claro e objetivo. Muito obrigado ^^

  22. Avatar de filiper
    filiper

    Muito Obrigado! ótima postagem!

  23. Avatar de Pedro
    Pedro

    Quem diria que iria usar o pplware para estudar 🙂

    1. Avatar de Pedro Pinto

      😀 Estuda bem e boa sorte.

  24. Avatar de ROGÉRIO GOMES
    ROGÉRIO GOMES

    Muito bom. Fiquei muito esclarecido. Muito obrigado! 😀

  25. Avatar de Miguel
    Miguel

    Impecável. Parabéns!

  26. Avatar de Humberto
    Humberto

    Excelente. Estava aqui a dar isto numa aula e não entendi nada porque o professor estava a usar o protocolo UDP e perderam-se monstes de pacotes que o homem é uma seca a falar e parece que está a embalar bebés. Vim aqui, li e em segundos fiquei elucidado.
    Obrigado

  27. Avatar de Alexandre Souza
    Alexandre Souza

    Eu quero desenvolver uma aplicação na internet.qual protocolo de transporte devo usar?e porque?

  28. Avatar de Miguel
    Miguel

    No caso de um “Rastreador veicular” qual seria o mais aconselhável, TCP ou UDP?