TCP vs UDP – Qual é o melhor para streaming?

A transmissão em fluxo contínuo é uma forma inovadora de contactar com o seu público, especialmente porque o vídeo é um dos meios mais eficazes e preferidos pelos consumidores em linha.

O streaming pode parecer difícil, com muitos aspectos técnicos associados a considerar. Raramente é tão simples como configurar um fluxo e esperar pelo melhor, pelo que é importante compreender os diferentes formatos e protocolos de vídeo. Deste modo, poderá transmitir com uma qualidade clara e atingir diferentes grupos demográficos-alvo da forma mais eficaz possível.

Para garantir o fluxo perfeito para o seu público, é importante considerar o UDP e o TCP. É frequente haver uma discussão sobre qual destes protocolos é o melhor a utilizar, por isso vamos aprofundar um pouco mais o debate.

Índice:

  • O que é um protocolo?
  • O que é o TCP?
  • O que é o UDP?
  • Como é que o TCP funciona?
  • Exemplos reais de TCP em ação
  • Como é que o UDP funciona?
  • Exemplo real do protocolo UDP em ação
  • TCP vs UDP – Qual é o melhor para streaming?
  • Conclusão

O que é um protocolo?

Formatos de transmissão em fluxo contínuo
Os protocolos de transmissão em fluxo contínuo constituem um dos elementos fundamentais da radiodifusão profissional.

Um protocolo é um conjunto de regras e normas definidas que regem a transmissão de dados através da Internet. Os protocolos permitem que os ficheiros sejam digeridos em componentes mais pequenos e posteriormente reembalados no utilizador final para um consumo adequado. Por exemplo, está atualmente a ler este artigo graças ao protocolo HTTPS que troca informações entre o seu dispositivo e a Internet.

No entanto, para este artigo, estamos a analisar o UDP e o TCP, dois protocolos que têm sido utilizados de forma indistinta ao longo dos anos. Antes de compararmos os dois, vamos começar por analisar o UDP. Então, o que é o protocolo UDP?

O que é o TCP?

O Protocolo de Controlo de Transmissão (TCP) é uma norma para o intercâmbio de dados entre diferentes dispositivos numa rede informática. Foi anunciado pela sua capacidade de estabelecer ligações que permitem a transmissão bidirecional de dados, o que significa que grande parte da potencial perda de dados associada ao UDP pode ser ultrapassada. Esta é uma das principais razões pelas quais o TCP é considerado o protocolo mais fiável. Juntamente com o UDP e o SCTP, o TCP é um componente integral do conjunto IP.

O TCP permite a transmissão fiável de pacotes, incorporando mecanismos para resolver muitos dos problemas associados ao UDP. Ele pode ajudar a resolver muitos dos problemas associados ao UDP, como pacotes duplicados, perdidos, corrompidos e fora de ordem. O fluxo TCP pode garantir que o utilizador final recebe um fluxo e pode reproduzi-lo de forma a contribuir para a sua experiência de utilizador.

Se está a pensar qual é a diferença entre HTTP e TCP, vai gostar de saber quais são as distinções subtis, mas pronunciadas. Enquanto o TCP comunica com um dispositivo de destino e configura a entrega adequada dos dados correctos, o HTTP é utilizado para procurar e encontrar os documentos pretendidos na Internet, por exemplo, páginas Web.

O TCP faz parte da família IP que liga os sistemas informáticos em rede. O HTTP é um membro desta família, em que estabelece a ligação de dados e o TCP estabelece a ligação de sessão.

O que é o UDP?

O Protocolo de Datagrama do Utilizador (UDP) é um protocolo de comunicação central que não tem atrasos e é muito eficiente em termos de largura de banda. Apesar de ter a reputação de não ser fiável, o UDP pode ser parte integrante da sua estratégia de transmissão porque é muito eficiente em termos de latência. Isto significa que os utilizadores finais de todas as formas e tamanhos podem consumir os seus conteúdos sem terem de se preocupar com atrasos e outros problemas de reprodução.

Então, para que é que o protocolo UDP é utilizado? O protocolo acelera as comunicações ao não estabelecer uma ligação correcta antes de os dados serem transferidos. Neste sentido, os dados podem ser transferidos muito rapidamente, algo que pode ser uma bênção ou uma maldição, consoante a situação.

Um dos problemas com este tipo de comunicação é a facilidade com que os dados se perdem em trânsito, o que pode deixar os utilizadores vulneráveis a ataques DDoS.

O UDP funciona de forma muito semelhante ao TCP, que é amplamente considerado o mais fiável dos dois, porque inclui verificações de autenticidade e de erros. Apesar de ambos funcionarem com base no Protocolo Internet (IP), é importante reconhecer as principais diferenças entre os dois. Dito isto, seria uma boa altura para apresentar o TCP antes de explorarmos mais a comparação.

Como é que o TCP funciona?

O TCP permite um fluxo de informação em ambas as direcções, pelo que os sistemas que comunicam entre si enviam e recebem dados em simultâneo. Isto pode ser conceptualizado da mesma forma que uma conversa telefónica.

O TCP envia pacotes ou segmentos de dados que são capazes de controlar e transferir informações. O TCP é responsável por estabelecer e terminar ligações de extremo a extremo. Para que o TCP cumpra a sua função, cada ligação deve ser identificada através de um cliente e de um servidor. Não importa que lado assume que papel, desde que o software TCP tenha um par ordenado constituído por um endereço IP e uma porta.

No TCP, os dispositivos envolvidos na transação de dados começam por estabelecer uma ligação através de um processo automatizado conhecido como “aperto de mão”. Uma vez iniciado este processo, o computador transfere os pacotes de dados em conformidade. Para estabelecer este aperto de mão através de uma ligação TCP válida, ambos os pontos terminais devem ter um endereço IP único e uma porta desejada atribuída para a transferência de dados.

Nesta disposição, o endereço IP é o identificador e a porta permite que o sistema operativo atribua ligações a aplicações cliente e servidor.

Exemplos reais de TCP em ação

Eis alguns casos clássicos de utilização do TCP:

Mensagens de texto

Com a comunicação por texto, não pode haver demasiadas discrepâncias ou todo o significado de uma mensagem pode ser completamente perdido. É por isso que o TCP é utilizado na comunicação de texto, onde a transmissão fiável e o controlo de erros são cruciais.

As aplicações baseadas em texto incluem coisas como o iMessage, o WhatsApp e o Instagram.

Transferências de ficheiros

Quando os ficheiros são transferidos, devem ser recebidos na ordem correcta e sem perda de dados. O TCP pode conseguir isto através de duas vias conhecidas como ligação de controlo e de dados.

HTTP

O protocolo TCP é utilizado para aceder a páginas Web na Internet. Neste caso, pode fornecer erros, controlo de fluxo, retransmissão de segmentos de dados e fornecimento de dados na ordem correcta.

SMTP

O SMTP é um protocolo utilizado para enviar mensagens de correio eletrónico de um sistema para outro. Utiliza o TCP para iniciar uma ligação a um servidor SMTP que aceita o pedido de ligação e lhe permite enviar mensagens de correio eletrónico.

O Outlook, o Gmail e o Yahoo são exemplos de fornecedores de correio eletrónico que utilizam TCP.

Como é que o UDP funciona?

O fluxo UDP é particularmente útil para transmissões sensíveis ao tempo.
O fluxo UDP é particularmente útil para transmissões sensíveis ao tempo.

O UDP é um método normalizado de transmissão de dados que cumpre os seus objectivos de uma forma muito mais simples do que outros protocolos. Aproveita os pacotes de dados e envia-os diretamente para os computadores alvo sem estabelecer uma ligação. Os pacotes de dados UDP são muitas vezes designados por datagramas, que são frequentemente enviados sem ter em conta a ordem de chegada desses pacotes ou se chegam como pretendido.

Por estas razões, o UDP é muitas vezes referido, de forma jocosa, como o protocolo de datagrama não fiável, mas esta referência não pretende, de forma alguma, desvalorizar as suas aplicações generalizadas.

O UDP é mais rápido do que o TCP, embora o TCP seja geralmente considerado mais fiável. Enquanto o TCP estabelece uma ligação com o dispositivo com o qual está a comunicar, as comunicações UDP não passam pelo mesmo processo. Em vez disso, os dados podem ser enviados de uma fonte para outra sem estabelecer uma ligação formal.

O UDP funciona utilizando o IP. Depende dos dispositivos entre os sistemas de envio e de receção que navegam corretamente os dados através dos locais pretendidos até à fonte. O que normalmente acontece é que uma aplicação aguarda os dados enviados através de pacotes UDP e, se não receber uma resposta dentro de um determinado período de tempo, reenvia-os ou deixa de tentar.

Este modelo de transmissão simples não oferece a fiabilidade ou a integridade dos dados associada aos handshakes TCP. Sabe-se até que os pacotes desaparecem sem aviso prévio, o que é algo de que se deve ter conhecimento.

Apesar de o UDP não ser o modelo de transmissão de dados mais fiável, tem uma sobrecarga muito baixa, pode assegurar fluxos para utilizadores com pouca largura de banda, velocidades de Internet ou dispositivos inferiores e é popular para plataformas de transmissão http em que não é absolutamente necessário que o vídeo carregue perfeitamente à primeira.

Pode ser difícil entender o UDP e o TCP, especialmente quando se tenta concetualizar o jargão técnico em termos de aplicações da vida real. Dito isso, vamos dar uma olhada em alguns exemplos reais de como o UDP pode ser usado para proteger fluxos cativantes.

Exemplo real do protocolo UDP em ação

É muito bom adotar o jargão técnico que envolve estes protocolos, mas isso nem sempre o ajudará a compreender como funcionam na prática. Eis alguns exemplos práticos de UDP em ação:

Videoconferência

As videoconferências em linha tornaram-se uma pedra angular da interação com os clientes, onde é possível falar sem esforço com qualquer pessoa, a qualquer momento, independentemente da localização geográfica. Acredite ou não, as aplicações de videoconferência como o Skype, Zoom e Gmeet são todas alimentadas por UDP.

Trata-se de uma abordagem vantajosa devido à necessidade de transmissão em tempo real sem interrupções. O UDP garante que não há atrasos no streaming, pelo que pode falar com as pessoas sem ter de se preocupar com uma ligação pouco fiável.

Voz sobre IP (VoIP)

Muitas aplicações permitem-lhe configurar clips de voz, chamadas e outra interatividade áudio. Estes utilizam o protocolo IP e, mais especificamente, o UDP para converter as vozes em dados digitais transferidos através de uma rede para um dispositivo correspondente.

Alguns exemplos de aplicações VoIP incluem o WhatsApp, o Viber, o Google Hangouts e qualquer outra aplicação que permita efetuar uma chamada ou enviar uma mensagem de voz através da Internet.

Sistemas de nomes de domínio (DNS)

O UDP é utilizado para mapear nomes de domínio para os seus endereços IP correspondentes, permitindo ao utilizador final aceder a um servidor adequado quando introduz um domínio no seu navegador Web.

Nestes casos, o UDP é uma óptima opção porque é mais rápido do que o TCP e a velocidade é um enorme fator de classificação e de experiência do utilizador. Os DNS são pequenos pedidos que o UDP pode facilmente acomodar, o que significa que pode tirar partido de um processamento rápido sem atrasos.

O UDP pode ser alcançado na camada de aplicação, pelo que, apesar de ser geralmente considerado pouco fiável, pode ainda funcionar eficazmente com o DNS.

Transmissão em direto

O UDP é uma óptima opção para a transmissão em direto porque pode transmitir sem problemas de atraso. É normalmente utilizado para transmissão em direto em conjunto com outros protocolos como o RTP ou o RTCP, onde pode configurar facilmente a difusão múltipla para uma visualização segura e ininterrupta.

TCP vs UDP – Qual é o melhor para streaming?

Em resumo, o UDP é o seu serviço simples, rápido e prático, enquanto o TCP é mais sofisticado e permite-lhe coordenar actividades com exatidão e precisão.

Apesar de ambos os protocolos manterem utilizações práticas em múltiplos contextos, o TCP emergiu como o mais dominante dos dois devido à sua capacidade de ordenar corretamente os dados e produzir resultados sem erros. Esta é uma das maiores vantagens do TCP em relação ao UDP, porque pode digerir e remontar os pacotes nas sequências correctas. No entanto, a saída resultante pode exigir uma sobrecarga e uma latência global significativamente maiores, razão pela qual, noutros casos, a utilização do UDP pode compensar. O TCP é o método preferido quando a precisão é extremamente importante, embora seja muito mais lento.

É aqui que o UDP pode ser incrivelmente útil quando é necessário um fluxo rápido e a precisão é menos importante. O UDP é considerado um protocolo sem ligação porque não necessita de um circuito virtual para a transferência de dados. O UDP simplesmente envia pacotes com uma sobrecarga de largura de banda e latência muito menores. Embora alguns pacotes possam ser perdidos ou recebidos fora de ordem, o UDP é útil para a transmissão em direto e outras aplicações em tempo real.

Comparação entre os protocolos TCP e UDP
Comparação entre os protocolos TCP e UDP.

Em suma, o UDP é a melhor opção porque permite que os dados sejam transmitidos quase imediatamente. Neste sentido, o UDP é a melhor opção, apesar de alguns pacotes de dados poderem ser enviados fora de ordem. Isto pode dar origem a uma ocasional oscilação no visionamento, a um estranho congelamento de fotogramas aqui e ali ou a uma falha ocasional, o que, na maioria dos casos, não é o fim do mundo. Se o UDP apenas dificultar ligeiramente a visualização, provavelmente não terá um grande impacto na experiência do utilizador. O TCP, por outro lado, é melhor para enviar ficheiros importantes ou mensagens que não sejam em tempo real.

No entanto, do ponto de vista da fiabilidade, o TCP é muitas vezes considerado o melhor protocolo de transmissão de vídeo, em que os dispositivos relevantes podem comunicar entre si regularmente, verificar a existência de erros e recuperá-los. Se os seus esforços de transmissão não forem sensíveis ao tempo, o TCP pode ser vantajoso para permitir a largura de banda total de uma rede e garantir uma maior fiabilidade. É por isso que a Netflix utiliza TCP.

Se estiver a transmitir em direto, o UDP é considerado o protocolo preferido.

Conclusão

O UDP e o TCP são protocolos vitais que continuam a ter um impacto profundo nos ecossistemas de streaming. Embora o TCP seja conhecido pela sua fiabilidade, o UDP é fundamental para as aplicações em tempo real.

Será interessante ver como se desenrola o panorama do streaming e quais os protocolos que serão mais úteis no futuro.

Se está pronto para descobrir como a nossa plataforma optimizada de transmissão em direto pode mudar o seu negócio, consulte a avaliação gratuita de 14 dias do Dacast (não é necessário cartão de crédito) e veja por si próprio. Basta clicar no botão abaixo e a inscrição será efectuada em minutos.

Começar gratuitamente

Obrigado pela leitura. Se tiver alguma pergunta ou experiência para partilhar, informe-nos na caixa de conversação abaixo. E para obter dicas regulares sobre transmissão em direto, junte-se ao nosso grupo do LinkedIn.

Austen Lenihan

Austen is a highly relatable content writer who goes above and beyond to satisfy the user experience.