O protocolo de datagramas do usuário (UDP) é um dos principais protocolos de transferência de dados de uma rede

Mas ainda há muitas dúvidas sobre o protocolo, principalmente pela comparação entre o protocolo de controle de transmissão (TCP) e o UDP.

Pensando nisso escrevemos este texto para explicar as diferenças, como funciona e quais as principais aplicações de cada um:

Recursos do protocolo de datagrama do usuário

  • O protocolo de datagrama do usuário possui atributos que o tornam vantajoso para uso com aplicativos que podem tolerar a perda de dados. Por exemplo: Ele permite que os pacotes sejam descartados e recebidos em uma ordem diferente daquela em que foram transmitidos, tornando-o adequado para aplicativos em tempo real onde a latência pode ser uma preocupação.
  • Ele pode ser usado para protocolos baseados em transações, como DNS ou Network Time Protocol ( NTP ).
  • Ele pode ser usado onde um grande número de clientes está conectado e onde a correção de erros em tempo real não é necessária, como jogos, conferência de voz ou vídeo e mídia de streaming.

Vamos entender mais a seguir:

O que é o protocolo UDP e como funciona?

Diagrama de funcionamento do protocolo UDP

O protocolo de datagramas do usuário (UDP) opera sobre o protocolo da Internet (IP) para transmitir datagramas em uma rede. O UDP não exige que a origem e o destino estabeleçam um handshake triplo antes que a transmissão ocorra. Além disso, não há necessidade de uma conexão de ponta a ponta.

Em contraste, o UDP é considerado um protocolo sem conexão porque não exige que um circuito virtual seja estabelecido antes que qualquer transferência de dados ocorra. O protocolo de comunicação apenas envia os pacotes, o que significa que ele tem muito menos sobrecarga de largura de banda e latência. Com ele, os pacotes podem seguir caminhos diferentes entre o emissor e o receptor e, como resultado, alguns pacotes podem ser perdidos ou recebidos fora de ordem.

O UDP fornece dois serviços não fornecidos pela camada IP. Ele fornece números de porta para ajudar a distinguir diferentes solicitações de usuários e, opcionalmente, um recurso de soma de verificação para verificar se os dados chegaram intactos.

Antes de prosseguir, aproveite e faça o download do Guia Hacker. Aprenda a automatizar tarefas, criar atalhos, melhorar sua segurança online e a descobrir como evitar spam no seu email.

banner para download de ebook sobre hacker imagem como botão escrito "baixar"

O que é o protocolo TCP e como funciona?

A sigla TCP (Transmission Control Protocol) é o protocolo da rede de computadores responsável por toda a entrega de dados. O protocolo TCP é conhecido por ser um padrão de comunicação que permite que dispositivos e aplicativos troquem mensagens entre si através do uso de rede.

Esse protocolo é totalmente orientado por conexões, de modo que uma conexão só é finalizada no momento que uma das extremidades finaliza a troca de pacotes. Assim, se o pacote de dados não é entregue para o destinatário, o processo de envio vai se repetindo constantemente até obter sucesso.

Para ficar mais claro seu funcionamento, imagine um pacote de dados que precisa ser enviado para outro dispositivo. Usando o TCP, o protocolo garante a entrega desses dados ao outro dispositivo de forma bem sucedida.

Diagrama de funcionamento do protocolo TCP

O TCP é executado integrando os seguintes processos:

  • Gestão de todo o controle de fluxo;
  • Conhecimento de todos os pacotes que fazem parte do processo e que chegam em sua fase final;
  • Divisão os dados em pacotes;
  • Envio de pacotes.

O TCP não é uma comunicação unilateral. Em uma comunicação entre servidor e navegador, por exemplo, o navegador envia pacotes de solicitação e o servidor responde enviando pacotes de dados que são agrupados da maneira certa para formar uma página da web totalmente funcional.

O que é a camada de transporte?

A camada de transporte é responsável pelo caminho que o pacote vai percorrer até chegar em seu destino final, que pode ser uma máquina, servidor ou aplicação.

Imagine um motor de busca, como o Google. Ao pesquisar algo, automaticamente uma camada de transporte encaminha essa requisição, bate no servidor e retorna para a pessoa usuária o resultado que foi obtido da busca.

O TCP e o UDP são os principais protocolos quando falamos sobre camadas de transporte. Porém há diferenças na performance desses protocolos, sendo que a camada de transporte do protocolo UDP pode acabar não funcionando tão bem em determinados casos de uso. Por isso, veja as principais diferenças entre esses protocolos no tópico a seguir.

TCP vs UDP: quais as principais diferenças entre esses protocolos?

O TCP é um protocolo totalmente orientado à conexão. Já o UDP não precisa estabelecer nenhum tipo de conexão para o seu funcionamento. Além disso, outra grande diferença entre esses dois protocolos é em relação à sua velocidade e confiabilidade, já que o TCP é mais confiável, porém possui uma velocidade bastante reduzida, ao contrário do UDP, que apresenta uma velocidade muito boa, mas com confiabilidade baixa.

Veja a tabela a seguir para entender melhor as principais diferenças entre TCP e UDP:

CaracterísticaTCPUDP
VelocidadeApresenta lentidão no envio dos pacotesApresenta uma velocidade maior comparado com o protocolo TCP
Precisa estabelecer uma conexão para funcionar?SimNão
Suporta broadcasting?SimNão
Realiza envios através de uma sequência estabelecida?SimNão
Retorna feedback sobre todos os processos de envio para a pessoa usuária?SimNão
Permite a retransmissão se um pacote for perdido?SimNão
Garante a entrega de todos os pacotes que foram enviados?SimNão
ConclusãoÉ um protocolo mais robusto, com diversas aplicaçõesÉ um protocolo mais simples e rápido

Agora que já entendemos melhor quais são as principais especificações do UDP e do TCP é possível entender que o UDP pode ser utilizado para casos em que os dados não são tão essenciais ou críticos para o funcionamento de uma aplicação ou para a continuidade do negócio.

Entretanto, quando falamos em questão de confiabilidade e segurança, o protocolo TCP pode atender melhor as situações nas quais os dados são críticos e extremamente necessários.

Vamos entender melhor as características desses protocolos a seguir.

Confiabilidade

Ao realizar o encaminhamento dos dados e ter a garantia de que o pacote vai chegar completo e da melhor forma possível, é importante prezar pela dúvida e se perguntar se o pacote realmente chegou.

O protocolo TCP oferece feedback sobre todos os processos para a pessoa usuária e esse é um grande diferencial de confiabilidade. Se dentro dos pacotes de dados enviados houver dados sensíveis ou que obrigatoriamente devem chegar ao receptor, é importante ter o feedback do protocolo.

Mas esse não é o único motivo pelo qual o protocolo TCP é mais confiável que o UDP.

Por que o TCP é mais confiável que o UDP?

O TCP é um dos protocolos mais confiáveis por ter a capacidade de garantir a entrega dos dados que encontram dentro do pacote. Os pacotes são verificados quanto a erros para garantir que a solicitação seja atendida corretamente.

Os pacotes TCP são rastreados para garantir que nenhum dado seja perdido entre eles, nem que os pacotes se corrompam. É por isso que, quando você baixa arquivos usando TCP, eles são recebidos perfeitamente, mesmo que haja problemas de rede entre os dois.

O TCP também utiliza o mecanismo de Three-Way Handshake (aperto de mão de três vias ou simplesmente tripla autenticação). Com a utilização desse mecanismo, o protocolo TCP realiza a conexão e sincronização com a máquina destinatária antes mesmo de iniciar as requisições e os processos de envio. Só depois é que faz o envio dos pacotes e, por fim, recebe a confirmação de que o pacote foi entregue com sucesso.

Você pode imaginar o Three-Way Handshake como uma conversa entre o servidor cliente e o servidor destinatário por meio da rede que garante o estabelecimento da conexão entre eles. Conforme o diagrama a seguir:

Como funciona o three way handshake

Por que o UDP é menos confiável?

O UDP não tem a capacidade de garantir que todos os pacotes que foram enviados chegam até o receptor. Quando falamos de dados, sempre podem haver falhas durante o processo de transporte. Se não existe nenhuma forma de saber se os dados foram corrompidos no meio do processo e até mesmo se eles foram descartados, o processo é menos confiável.

Controle de fluxo e ordenação de pacotes

Ao enviar arquivos, seja para um pendrive ou para a nuvem, é comum buscarmos seguir uma ordem de envio para que os arquivos também sejam exibidos nessa ordem posteriormente. Com o uso dos protocolos isso não deve ser diferente. Sempre que colocamos algo na ordem, gostaríamos que fosse encaminhado da forma que foi organizado, certo? 

Pois bem, o TCP apresenta esse mecanismo de ordenação de pacotes, já o UDP não. Veja a comparação e os impactos disto a seguir.

Por que o TCP é melhor no controle de fluxo e ordenação de pacotes?

O protocolo TCP possui um mecanismo com a capacidade de realizar o controle de fluxo diante dos pacotes encaminhados, realizando o envio de poucos pacotes por vez. Isso previne que o seu receptor seja sobrecarregado

Quando o destinatário recebe um pacote, envia uma confirmação ao remetente. Se o remetente não obtiver a confirmação, ele assumirá que o pacote não foi recebido e, por isso, o reenviará.

Se o outro lado estiver totalmente offline, eventualmente o sistema desistirá de tentar e mostrará uma mensagem de erro informando que não foi possível configurar o canal de comunicação com o host remoto.

Com a capacidade de armazenar seus dados em um buffer, o protocolo TCP também consegue manter todo esse controle fazendo com que sempre que o receptor estiver com uma carga alta a receber, não consiga mais mexer com dados. Dessa forma, os mesmos serão descartados.

Por que o UDP não é tão bom no controle de fluxo e ordenação de pacotes?

O protocolo UDP não exige uma conexão estabelecida para o envio de dados, consequentemente não predomina uma ordem para realizar o envio desses pacotes. Ou seja, se você tem uma ordem de pacotes, como: 1, 2, 3, 4; pode acontecer que não sejam encaminhados nessa ordem.

Velocidade de dados

O uso do TCP e do UDP apresentam duas grandes particularidades: confiabilidade e velocidade. Sobre a primeira já falamos anteriormente e chegamos à conclusão que o protocolo TCP é melhor no quesito confiabilidade. Porém quando se trata de velocidade, o UDP é melhor. Veja o porquê a seguir.

Por que o UDP é mais rápido que o TCP?

Exemplificação de como funciona UDP

Quando falamos em velocidade de dados o protocolo que mais se destaca é o UDP, já que não existe um processo de verificação do processo, seja ele de erro ou de confirmação para saber se o pacote chegou ou não ao seu destino.

Como o UDP não requer um “aperto de mão”, nem verifica se os dados chegam corretamente, ele é capaz de transferir dados muito mais rápido do que o TCP.

Em casos nos quais é necessário realizar uma conexão rápida, o UDP costuma entrar como primeira opção, já que se houver algum tipo de erro em uma requisição o UDP não trava a fila. Consequentemente, passa o processo para o próximo pacote que se encontra na programação e retorna ao pacote que deu erro só depois que os demais já foram entregues.

Por que o protocolo TCP não é tão rápido?

Exemplificação de como funciona TCP

Ao realizar o envio de um pacote via TCP, o protocolo verifica se houve confirmação de comunicação, se o pacote realmente foi enviado, se não ocorreu erros em seu processo e se foi entregue ao receptor. Consequentemente, trata-se de um processo mais demorado.

Por isso, quando uma pessoa usuária está em busca de velocidade o UDP se torna o protocolo mais adequado. Além do mais, para a utilização do protocolo UDP não é necessário estabelecer uma conexão para o serviço. Já quando falamos do TCP, essa conexão é necessária.

Entenda a estrutura de cabeçalho UDP!

UDP envolve datagramas com um cabeçalho UDP, que contém quatro campos totalizando oito bytes.

Os campos em um cabeçalho UDP são:

  • Porta de origem  – a porta do dispositivo que envia os dados. Este campo pode ser definido como zero se o computador de destino não precisar responder ao remetente.
  • Porta de destino  – a porta do dispositivo que recebe os dados. Os números da porta UDP podem estar entre 0 e 65.535.
  • Comprimento  – especifica o número de bytes compreendendo o cabeçalho UDP e os dados de carga útil UDP. O limite para o campo de comprimento UDP é determinado pelo protocolo IP subjacente usado para transmitir os dados.
  • Checksum  – O checksum permite que o dispositivo receptor verifique a integridade do cabeçalho do pacote e da carga útil. É opcional no IPv4, mas tornou-se obrigatório no IPv6.
Cabeçalhos UDP

Quais as principais usabilidades do UDP?

O UDP é mais usado em comunicações sensíveis ao tempo, em que descartar pacotes é melhor do que esperar. O tráfego de voz e vídeo é enviado usando este protocolo porque ambos são sensíveis ao tempo e projetados para lidar com algum nível de perda.

Por exemplo, VOIP (voz sobre IP), que é usado por muitos serviços telefônicos baseados na Internet, opera sobre UDP. Isso ocorre porque uma conversa telefônica estática é preferível a uma que seja nítida, mas muito atrasada.

Conforme discutido anteriormente, o UDP funciona de maneira semelhante ao TCP no sentido de que transmite pacotes de dados. No entanto, ele não faz nenhum tipo de verificação de erros. Para torná-lo leve e fácil, esse protocolo deixa de lado o fator de confiabilidade.

Colocar pacotes em sequência, enviar confirmações e solicitar reenvios leva muito tempo e torna as coisas mais lentas. O UDP torna as coisas mais rápidas, removendo todas as etapas de overhead .

Levando em consideração o uso do protocolo UDP, sabe-se que ele não precisa estabelecer uma conexão para começar o envio de seus pacotes. Sendo assim, o UDP é um protocolo mais rápido e que pode ser usado para jogos onlines, lives e streaming por não ocorrer o risco de travamento, como poderia acontecer com o protocolo TCP.

Isso também o torna o protocolo ideal para jogos online. Da mesma forma, como os servidores DNS precisam ser rápidos e eficientes, eles também operam por meio do UDP.

UDP é mais usado para jogos online

Se você perder alguns datagramas (pacotes de dados) UDP, poderá sentir que, em vez de andar, seu personagem de repente se teletransportou pelo mapa. Ou se você está jogando um jogo de tiro em primeira pessoa, você dispara duas balas ao mesmo tempo, em vez de uma de cada vez.

Os pacotes perdidos no meio já são inúteis agora. Não adianta solicitá-los novamente. Você vai ignorar essa pequena falha e continuar jogando como antes. Isso é melhor do que o TCP alternativo, onde o jogo travaria.

Nos jogos online, o que importa é o que está acontecendo em tempo real. Você não se preocupa com os pacotes perdidos de qualquer maneira. Se você usar TCP em vez de UDP, não haverá pequenos problemas, mas seu jogo ficará lento, o que é um grande aborrecimento.

Entenda a estrutura de cabeçalho TCP!

No momento em que é estabelecida a conexão com o servidor utilizando o protocolo TCP, é necessário o que chamamos de aperto de mão de três vias, já explicado anteriormente. Se a conexão é estabelecida, temos o protocolo TCP funcionando de forma dividida de acordo com seus segmentos onde cada step fica responsável por um detalhe dentro do processo de envio de pacote.

Para que o pacote seja enviado, é necessário que o protocolo TCP envolva todos os seus pacotes com os dados em um cabeçalho contendo dez campos que são obrigatórios para a sua passagem.

Os 10 campos responsáveis por esse cabeçalho do protocolo TCP são:

  1. Porta do dispositivo de envio (conhecido como Porta de origem);
  2. Porta do dispositivo de receptor (conhecida como Porta de destino);
  3. Número de sequência (sempre que inicia uma conexão TCP é necessário definir um número de sequência inicial);
  4. Número de reconhecimento (costuma iniciar do zero fazendo com que a cada byte recebido aumente esse número);
  5. Deslocamento de dados (utilizado para especificar o tamanho do cabeçalho do protocolo TCP);
  6. Dados reservados (sempre zerados);
  7. Sinalizadores de controle (usam sinalizadores para gerenciar o fluxo de dados dentro do protocolo TCP);
  8. Soma de verificação do protocolo TCP (o remetente pode gerar uma soma de verificação e o receptor pode utilizá-la para validar erros e se todos os pacotes foram recebidos);
  9. Ponteiro urgente (controle URG que é definido quando há um deslocamento de número de uma sequência ele alerta sobre o último byte de dado);
  10. Dados opcionais (que podem ser definidos dentro do protocolo TCP para inserir tamanhos máximos de segmento).

Quais as principais usabilidades do TCP?

Hoje, o protocolo TCP vem sendo utilizado com grande frequência em áreas específicas contribuindo para o envio de dados com segurança e garantindo a chegada deles. Veja alguns exemplos:

HTTP: conhecido também como HyperText Transfer Protocol, usa o protocolo TCP para acessar páginas web com a capacidade de controlar erros no segmento dos dados.

Transferência de arquivos: o protocolo TCP também é utilizado para realizar a transferência de arquivos que não podem ser perdidos nem enviados de forma incorreta.

Comunicação via texto: a comunicação por texto está cada vez mais presente em nosso cotidiano, como no Whatsapp. Dessa forma, o protocolo TCP é utilizado para realizar essa comunicação entre o remetente e o destinatário, já que ele é bastante seguro e garante o envio de todos os pacotes em ordem.

O TCP é um protocolo mais usado do que o UDP

Quando você abre uma página da web em seu navegador, o dispositivo envia pacotes TCP para o endereço do servidor. É uma solicitação ao servidor para enviar os dados e informações para o site. O servidor web responde enviando um curso de pacotes TCP. Esses pacotes são agrupados pelo navegador para exibir uma página da web em sua tela .

Quando você clica em um link fornecido nessa página, ou vai para um site diferente, o navegador novamente envia pacotes TCP para o servidor e o servidor responde enviando de volta mais pacotes de dados TCP.

Quais as vantagens e desvantagens do UDP e do TCP?

O UDP tem vários benefícios para diferentes tipos de aplicativos, incluindo:

  • Aplicativos sensíveis a atrasos: UDP é adequado para aplicativos sensíveis ao tempo que não podem pagar atrasos de retransmissão para pacotes perdidos. Os exemplos incluem Voice over IP (VoIP), jogos online e streaming de mídia.
  • Casos de uso que dependem de velocidade: a velocidade do UDP o torna útil para protocolos de resposta a consultas, como DNS, nos quais os pacotes de dados são pequenos e transacionais.
  • Broadcasts: a falta de comunicação ponta a ponta do UDP o torna adequado para broadcasts, em que os pacotes de dados transmitidos são endereçados como recebíveis por todos os dispositivos na Internet. As transmissões UDP podem ser recebidas por um grande número de clientes sem sobrecarga do lado do servidor.

O UDP é o melhor protocolo em termos de velocidade. Para aplicativos que exigem uma conexão consistente, como streaming de vídeo, a velocidade é essencial, e é por isso que o UDP ainda existe, apesar de suas desvantagens.

A confiabilidade e as proteções oferecidas pelo TCP, por outro lado, o tornam excelente para aplicativos que dependem da capacidade de receber todos os dados enviados por uma rede. Esses aplicativos incluem o carregamento de páginas da web e o envio de e-mail.

Vamos entender melhor as vantagens e desvantagens entre UDP e TCP a seguir.

Vantagens e desvantagens do UDP

Vantagens do UDP

  • Usa tamanho de pacote pequeno com cabeçalho pequeno (8 bytes). Esse menor número de bytes na sobrecarga faz com que o protocolo UDP precise de menos tempo no processamento do pacote e de menos memória.
  • Não requer conexão para ser estabelecida e mantida a comunicação.
  • A ausência de campo de confirmação no UDP o torna mais rápido, pois não é necessário esperar pelo ACK ou manter os dados na memória até que sejam ACKed.
  • Usa checksum com todos os pacotes para detecção de erros.
  • Pode ser usado em eventos onde um único pacote de dados precisa ser trocado entre os hosts.

Desvantagens do UDP

Por mais que o UDP apresente suas vantagens para diversos tipos de aplicações. Uma grande quantidade de empresas e pessoas usuárias optam pela utilização do protocolo TCP por diversos quesitos. Algumas das maiores desvantagens que o UDP destaca são:

  • Ordem de protocolo: se você enviar uma quantidade de dados levando em conta uma sequência específica, o UDP pode decepcionar. Pode ocorrer que um pacote que está na frente trave e o último acabe sendo enviado antes, alterando uma ordem 1, 2, 3 para 1, 3, 2, por exemplo.
  • Confiabilidade: esse protocolo não oferece nenhum tipo de feedback dizendo que o pacote chegou completo ao seu destino. Por mais que esse tipo de falha seja baixa, ainda assim pode acontecer.
  • Controle de erros: o protocolo UDP também não informa se ocorreram erros, nem verifica se o pacote chegou íntegro ao destinatário.
  • Controle de congestionamento: por mais que isso também possa chegar a acontecer no protocolo TCP, no protocolo UDP a chance de ocorrer o congestionamento é bem maior. Entretanto, nada pode ser feito para solucionar esse problema. 

Vantagens e desvantagens do TCP

Vantagens do TCP

  • Modelo padrão da indústria que pode ser implantado com eficácia em problemas práticos de rede.
  • É interoperável, ou seja, permite comunicações multiplataforma entre redes heterogêneas.
  • É um conjunto de protocolos abertos. Não é propriedade de nenhum instituto em particular e, portanto, pode ser usado por qualquer pessoa ou organização.
  • Arquitetura escalável cliente-servidor que permite que redes sejam adicionadas sem interromper os serviços atuais.
  • Atribui um endereço IP a cada computador na rede, fazendo com que cada dispositivo seja identificável na rede. Atribui a cada site um nome de domínio. Fornece serviços de resolução de nomes e endereços.

Desvantagens do TCP

Ainda que o TCP apresente suas vantagens e possa contribuir de forma significativa nas empresas ou na vida de pessoas usuárias que faça a sua utilização, ainda assim, como sabemos nenhum ferramenta ou serviço é perfeito, logo o TCP também apresenta algumas desvantagens, sendo algumas delas:

  • Configuração: por mais que o TCP seja um um protocolo simples para ser entendido, seu controle, configuração e gerenciamento pode ser um grande impedimento já que é necessária uma boa base de conhecimento para a pessoa profissional que vai realizar essa configuração e ficar responsável por todo o serviço.
  • Congestionamento: quando temos uma grande quantidade de pacotes a serem enviados, pode ocorrer o congestionamento de dados, ou seja uma fila pode acabar sendo gerada e fazendo com que a velocidade de transição dos dados sofra uma queda.
  • Redes: por sua vez o TCP não foi projetado para redes pequenas, como redes locais. Ele tem uma capacidade e um melhor funcionamento para redes de áreas, ambas conhecidas também como WAN. Dessa forma, para que uma pessoa usuária possa fazer bom uso do serviço, é necessário que ele realize a troca para o serviço WAN.
  • Lentidão: o TCP é responsável por todo o envio de pacotes, porém no início pode ser que ocorra uma lentidão em seu processo, levando então a pessoa usuária a desistir desse protocolo, fazendo com que só após um certo período de tempo essa velocidade do protocolo aumente, destacando então que sua principal desvantagem é no início do processo.
  • Serviços: geralmente quando falamos em protocolo, entender todo o processo de serviço, o que está sendo feito e enviado é necessário, porém o TCP não apresenta de forma explícita os seus serviços, interface e protocolos que estão sendo processados.
  • Camada de transporte: podem ocorrer falhas nessa camada fazendo com que nem todos os pacotes sejam entregues. 

UDP ou TCP? Qual usar, afinal?

Tanto o TCP quanto o UDP encaminham os pacotes de dados de seu dispositivo usando portas para roteadores diferentes até que cheguem ao destino final. Eles também são usados ​​para enviar os pacotes ao endereço IP do destinatário.

TCP e UDP funcionam sobre o IP (Internet Protocol). É por isso que você pode ouvir termos como TCP-IP ou UDP-IP. No entanto, como TCP-IP e UDP-IP são usados ​​com frequência, eles são chamados apenas de TCP e UDP.

Embora TCP e UDP sejam os protocolos mais comumente usados, eles não são os únicos usados ​​para transferir pacotes de dados . Outro protocolo que pode ser usado é o ICMP (Internet Control Message Protocol). No entanto, como a maioria das conexões depende de TCP ou UDP, vamos nos concentrar nesses dois.

Então, basicamente, vai depender da sua necessidade!

Vulnerabilidades: como o UDP é usado em ataques DDoS? 

Ataques DDoS

Os riscos do UDP, como a perda de pacotes, não são um problema sério na maioria dos casos de uso. No entanto, ele pode ser explorado para fins maliciosos. Como o UDP não exige um handshake, os invasores podem “inundar” um servidor direcionado com tráfego UDP sem primeiro obter a permissão desse servidor para iniciar a comunicação.

Um ataque de inundação UDP típico envia um grande número de datagramas UDP para portas aleatórias em seu computador de destino. Isso força o destino a responder com um número igualmente grande de pacotes ICMP, o que indica que essas portas estavam inacessíveis. 

Os recursos de computação necessários para responder a cada datagrama fraudulento podem exaurir o alvo, resultando em uma negação de serviço para o tráfego legítimo. 

As organizações podem se defender contra ataques de inundação UDP com uma variedade de métodos. Uma é limitar a taxa de resposta dos pacotes ICMP, embora essa abordagem também possa filtrar pacotes legítimos. Outro método é receber e responder ao tráfego UDP por meio de uma rede intermediária de muitos data centers distribuídos, evitando que um único servidor de origem seja sobrecarregado com solicitações fraudulentas.

O que é um Socket?

Os soquetes são comumente usados ​​para interação com cliente e servidor. A configuração típica do sistema coloca o servidor em uma máquina e os clientes em outras máquinas. Os clientes se conectam ao servidor, trocam informações e depois se desconectam.

Um soquete possui um fluxo típico de eventos. Em um modelo cliente-servidor orientado para conexão, o soquete no processo do servidor espera por solicitações de um cliente. Para fazer isso, o servidor primeiro estabelece (vincula) um endereço que os clientes podem usar para localizar o servidor. 

Quando o endereço é estabelecido, o servidor espera que os clientes solicitem um serviço. A troca de dados cliente-servidor ocorre quando um cliente se conecta ao servidor por meio de um soquete. O servidor executa a solicitação do cliente e envia a resposta de volta ao cliente.

Dois tipos de soquetes de Internet

O que é isso? Existem dois tipos de tomadas de Internet? 

A verdade é que há mais, mas vamos falar apenas sobre dois tipos aqui. 

Quais são os dois tipos? Um é “Stream Sockets”; o outro é “Datagram Sockets”, que podem ser doravante referidos como ” SOCK_STREAM ” e ” SOCK_DGRAM “, respectivamente. Os soquetes de datagrama são algumas vezes chamados de “soquetes sem conexão”. (Embora eles possam ser conectados se você realmente quiser). 

Os soquetes de fluxo são fluxos de comunicação conectados de duas vias confiáveis. Se você produzir dois itens no soquete na ordem “1, 2”, eles chegarão na ordem “1, 2” na extremidade oposta. Eles também estarão livres de erros. 

Não há regra dizendo “TCP é melhor que UDP” ou vice-versa. Depende do seu caso de uso.

A confiabilidade e as proteções oferecidas pelo TCP o tornam excelente para aplicativos que dependem da capacidade de receber todos os dados enviados por uma rede. Esses aplicativos incluem o carregamento de páginas da web e o envio de e-mail.

O UDP, por outro lado, é o melhor protocolo em termos de velocidade. Para aplicativos que exigem uma conexão consistente, como streaming de vídeo, a velocidade é essencial, e é por isso que o UDP ainda existe, apesar de suas desvantagens.

Conclusão

Agora que já entendemos melhor sobre os protocolos TCP e UDP é possível afirmar que quando falamos de envio de dados, não existe o qual é o melhor protocolo a utilizar e sim o que melhor pode atender suas necessidades diante da situação em específico tornando então a aplicação melhor de ser utilizada.

Levando em conta que existe uma grande quantidade de pessoas usuárias que não se sente confortável em utilizar o protocolo UDP, ainda assim ele pode trazer grandes benefícios principalmente quando o assunto é jogos e vídeos, obtendo então um melhor desenvolvimento sem o layout ficar travando.

Já quando falamos em uma comunicação que requer mais segurança e confiabilidade para que o pacote chegue e tenha a liberdade de analisar todo o processo que o pacote percorre, o protocolo TCP pode atender fortemente esse cenário.

Esperamos que você tenha gostado de saber mais sobre o protocolo TCP e UDP, se sim continue com a gente e leia também sobre o que é DNS e qual foi o melhor no ano de 2021.

0 Shares:
Deixe um comentário
Você também pode gostar