O TCP (Transmission Control Protocol) e o UDP (User Datagram Protocol) são as duas formas mais comuns de transporte de dados na Web moderna. Talvez você não saiba, mas usa os dois praticamente todos os dias.
Continue lendo para saber como!
Por que o servidor não pode enviar todos os meus dados de uma só vez?
Quando você visita um site ou assiste a uma transmissão ao vivo, pode parecer que está recebendo todos os seus dados simultaneamente. Na realidade, isso não poderia estar mais longe da verdade. A Internet não funciona assim, e há um bom motivo para isso.
Para evitar a sobrecarga de nossas redes, nossos dados são divididos em pedaços. Imagine que você tenha uma conexão de 500 Mbps e esteja baixando um videogame de 100 GB. Sem a divisão em pedaços, o roteador não conseguiria processar os dados e a rede ficaria lenta, ou seja, ela cairia efetivamente!
Diferentes protocolos, como TCP e UDP, são usados para definir como esses blocos são transmitidos.
- TCP: os blocos são enviados e verificados em sucessão. Pense nisso quase como uma correspondência postal. Seu computador recebe uma carta, a lê e solicita a próxima.
- UDP: Todos os blocos são enviados em um disparo rápido – como uma torre de dados calibre .50!
Protocolo de Controle de Transmissão
O TCP está no centro de todas as suas solicitações HTTP/HTTPS. O TCP se preocupa com todos os detalhes da nossa conexão. Com o TCP, iniciamos um handshake e, em seguida, nossa resposta vem em ordem. Toda vez que nosso cliente recebe uma resposta, ele envia uma ACK (confirmação) para o servidor. Dessa forma, o servidor sempre sabe o estado das informações que entregou.
Vamos supor que você esteja baixando um arquivo por TCP e ele seja dividido em 4 partes ou segmentos. O servidor envia nosso primeiro pedaço e nosso cliente HTTP informa que tudo correu bem. Em seguida, repetimos esse processo com os pedaços 2, 3 e 4. Sugerimos que você saiba mais sobre como fazer solicitações HTTP.
Funcionalidade principal
Veja a seguir o passo a passo de como o TCP funciona.
- O cliente (seu smartphone) inicia um handshake e solicita seu histórico de e-mail ao servidor.
- O histórico é muito grande para ser enviado de uma só vez, portanto, ele divide o histórico em partes (no TCP, essas partes são chamadas de segmentos).
- O servidor envia o primeiro bloco.
- Seu telefone envia um ACK (confirmação) de que o primeiro bloco foi recebido.
- O servidor envia o segundo bloco.
- Seu telefone envia outro ACK.
Esse processo se repete em um loop até que todos os dados tenham sido transferidos.
Aplicativos
Onde quer que os dados precisem ser precisos, o TCP está lá executando as coisas sob o capô. Você usa o TCP em todos os aplicativos a seguir.
- Navegação na Web: O HTTP/HTTPS (HyperText Transfer Protocol)/(HyperText Transfer Protocol Secure) usa o TCP para enviar páginas ao navegador.
- Correio eletrônico: O SMTP (Simple Mail Transfer Protocol), o IMAP (Internet Message Access Protocol) e o POP3 (Post Office Protocol versão 3) usam o TCP para garantir que suas mensagens cheguem em ordem, e não de forma aleatória e desordenada.
- Downloads de arquivos grandes: O FTP (File Transfer Protocol) e o SFTP (Secure File Transfer Protocol) garantem que os downloads grandes ocorram de forma ordenada, sem corromper seus dados.
Prós e contras
Prós
- Confiável: O TCP garante que todos os dados sejam entregues.
- Livre de erros: Se um trecho for enviado ou processado incorretamente, o TCP se certificará de retransmitir os dados.
Contras
- Lento: Devido às suas rígidas regras de precisão, o TCP costuma ser lento.
- Congestionamento da rede: No tráfego intenso, o TCP fica atolado enquanto espera que tudo se alinhe perfeitamente.
Protocolo de datagrama do usuário
O UDP é uma espécie de primo descontraído do TCP. O TCP trata de handshakes e da manutenção de uma conexão até que os dados cheguem perfeitamente. Nossos blocos UDP são tecnicamente chamados de datagramas. Com o UDP, enviamos uma única solicitação e o servidor envia todos os blocos em rápida sucessão sem verificar sua precisão.
Ao processar respostas, não há sistema ACK ou handshake. Seu computador envia uma única solicitação e recebe seus dados. O servidor ouve essa solicitação e responde disparando todos esses blocos sem nenhuma ordem específica.
Funcionalidade principal
O processo em UDP é muito mais rápido e solto.
- Sua máquina solicita os dados
- O servidor envia cada bloco em um disparo rápido, sem verificação ou ACKs.
Seus dados chegam o mais rápido possível e geralmente fora de ordem. O servidor não se importa com a falta de pedaços ou com a integridade dos dados.
Aplicativos
- Transmissão ao vivo: Quando você assiste a uma transmissão ao vivo do YouTube, o aplicativo em seu telefone ou TV envia as solicitações e abre a transmissão. Em seguida, os dados começam a voar!
- Jogos on-line: Nos jogos on-line modernos, lidamos com KB (kilobytes) e, às vezes, até MB (megabytes) em apenas alguns segundos. O UDP faz com que o jogo seja renderizado na sua tela com o mínimo de latência.
- Pesquisas de DNS (Sistema de Nomes de Domínio): Quando você chegou ao blog da Bright Data, um servidor DNS usou UDP para disparar o endereço IP diretamente no seu navegador.
Prós e contras
Prós
- Extremamente rápido: O UDP não se importa com a precisão, é como uma metralhadora que dispara todos os seus dados o mais rápido possível.
- Enxuto: não há recursos desperdiçados em handshakes e ACKs, apenas todos os dados chegando o mais rápido possível.
Contras
- Não confiável: Os dados podem chegar desordenados ou, às vezes, nem chegarem.
- Não se preocupe: os servidores UDP não se importam com o fato de sua transmissão ao vivo não estar funcionando. Eles simplesmente continuam enviando mais dados.
Equívocos comuns
Equívoco nº 1: o TCP é sempre mais lento do que o UDP
Sim, o TCP adiciona um atraso por meio de handshakes e ACKs. No entanto, protocolos modernos como o TCP Fast Open (TFO) e o TCP Multipath (MPTCP) estão reduzindo a latência do TCP e melhorando o desempenho. Embora o UDP seja quase sempre mais rápido, o TCP com ajuste fino pode, às vezes, superar até mesmo o UDP.
Equívoco nº 2: o UDP é apenas para streaming e jogos
Os aplicativos em tempo real são o principal nicho do UDP, mas isso não se limita apenas a transmissões ao vivo e jogos on-line. O comércio de baixa latência, as tecnologias de sensores e até mesmo o DNS podem utilizar o UDP.
Equívoco nº 3: Você só pode usar um
Na verdade, as tecnologias modernas utilizam TCP e UDP. Quando você assiste à TV por meio do Hulu ou do YouTube, sua configuração real, como conexão inicial, metadados e buffering, geralmente é enviada usando TCP. Durante o streaming desse conteúdo, o UDP é frequentemente usado para taxa de bits adaptável e atraso reduzido durante o streaming.
Quando usar cada um deles
Caso de uso | Protocolo recomendado | Confiabilidade | Velocidade | Garantias do pedido? | Requer aperto de mão? | Tolera a perda de pacotes | Por que ele se encaixa |
---|---|---|---|---|---|---|---|
Navegação na Web (HTTP/HTTPS) | TCP | ✔️ | Mais lento | ✔️ | ✔️ | ❌ | Garante que a página inteira seja carregada na ordem correta |
Correio eletrônico (SMTP, IMAP, POP3) | TCP | ✔️ | Mais lento | ✔️ | ✔️ | ❌ | As mensagens devem ser entregues de forma completa e precisa |
Downloads de arquivos (FTP/SFTP) | TCP | ✔️ | Mais lento | ✔️ | ✔️ | ❌ | Evita a corrupção de dados em grandes transferências |
Chamadas de vídeo / VoIP | UDP | ❌ | ✔️ Rápido | ❌ | ❌ | ✔️ | Prioriza a comunicação em tempo real em detrimento da precisão |
Jogos on-line | UDP | ❌ | ✔️ Rápido | ❌ | ❌ | ✔️ | O tempo de resposta rápido é mais importante do que perder um quadro |
Transmissão ao vivo | UDP | ❌ | ✔️ Rápido | ❌ | ❌ | ✔️ | O buffering é evitado com a eliminação de pacotes perdidos |
Consultas de DNS | UDP | ❌ | ✔️ Rápido | ❌ | ❌ | ✔️ | As solicitações leves não precisam de tratamento completo da conexão |
Conclusão: Escolha a ferramenta certa para o trabalho certo
Tanto o TCP quanto o UDP desempenham um papel fundamental na forma como os dados são transferidos pela Internet. O TCP garante confiabilidade e precisão, o que o torna ideal para navegação na Web, e-mails e transferências de arquivos. Por outro lado, o UDP prioriza a velocidade, o que o torna a opção ideal para streaming ao vivo, jogos on-line e comunicações em tempo real.
Quando se trata de proxies, o protocolo certo pode fazer toda a diferença. Se você precisar de conexões estáveis e confiáveis para raspagem da Web, coleta de dados ou navegação segura, os proxies HTTP/HTTPS que usam TCP são a melhor opção. Mas se a velocidade e a baixa latência forem sua prioridade, como para streaming ou jogos, os proxies SOCKS5 com suporte a UDP podem proporcionar o desempenho de que você precisa.
Dê uma olhada na seleção de serviços de proxy abaixo:
- Proxies residenciais: Acesse a Web por meio de um dispositivo de consumidor real em uma conexão de Internet doméstica.
- Proxies de data center: Encaminhe suas solicitações para alguns dos melhores hardwares e largura de banda disponíveis nos modernos datacenters.
- Proxies móveis: Semelhante ao residencial, mas sua solicitação é feita por meio de um dispositivo móvel em uma rede de dados de celular.
- Proxies de ISP: Execute seu tráfego por meio de um provedor de serviços de Internet específico.
- Web Unlocker: Conecte-se automaticamente ao melhor proxy disponível para seu site de destino. Sem CAPTCHAs, sem incômodo.
Inscreva-se para uma avaliação gratuita e comece hoje mesmo!
Não é necessário cartão de crédito