Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Redes de Computadores 
Protocolos de transmissão de multimídia com e sem tempo real:
QUIC, RTP e RTSP
Prof.: Diego Silva Caldeira Rocha
Introdução
• As redes multimídia representam a integração de tecnologias de 
comunicação que permitem a transmissão e o processamento de 
conteúdos multimídia, como áudio, vídeo, imagens e texto, por meio 
de redes de computadores.
Introdução
Multimídia em Tempo Real - Essa categoria envolve aplicações onde o 
tempo é crítico: os dados precisam ser entregues e processados quase 
instantaneamente para manter a qualidade e a usabilidade. Exemplos 
incluem:
• Chamadas de vídeo e áudio (VoIP): Como no Zoom ou WhatsApp.
• Transmissões ao vivo: Eventos esportivos ou shows em plataformas como 
YouTube Live ou Twitch.
• Jogos online multiplayer: Onde ações em tempo real, como em Fortnite ou 
League of Legends.
Introdução
Multimídia Sem Tempo Real - o tempo não é um fator crítico; os dados 
podem ser entregues com atrasos toleráveis, priorizando a integridade 
e a qualidade final em vez da velocidade Isso permite buffering
(armazenamento temporário) e retransmissões para corrigir erros. 
Exemplos incluem:
• Streaming de vídeo sob demanda: Como Netflix ou YouTube (vídeos 
gravados), onde o usuário pode pausar e o sistema pré-carrega o 
conteúdo.
• Download de arquivos multimídia: Músicas no Spotify ou imagens em 
sites, onde a transmissão pode ser interrompida e retomada.
Real-Time Protocol (RTP) - Protocolo de 
tempo real
• O RTP comumente roda sobre UDP.
Real-Time Protocol (RTP)
• Exemplo RTP:
• considere o envio de voz codificada em PCM de 64 kbps sobre RTP.
• aplicação coleta os dados codificados em pedaços, ex., a cada 20 
mseg = 160 bytes num pedaço.
• o pedaço de áudio junto com o cabeçalho RTP formam um pacote 
RTP, que é encapsulado num segmento UDP
Cabeçalho RTP
• Os quatro principais campos de cabeçalho do pacote RTP são:
• Tipos de carga útil de códigos suportados pelo RTP(7 bits): Ex: 0 PCM 
- 64 kbps, 26 - Motion JPEG, 31 - H.261 e 33 - vídeo MPEG2.
• número de sequência (16 bits): incrementa para cada pacote RTP 
enviado e pode ser usado para detectar perda de pacote e restaurar 
sequência de pacote.
Cabeçalho RTP
• Os quatro principais campos de cabeçalho do pacote RTP são:
• Marca de tempo (32 bits): instante de amostragem do primeiro byte 
neste pacote de dados RTP.
• Identificador de sincronização da fonte (32 bits): identifica origem da 
corrente de RTP . Cada corrente na sessão RTP deverá ter SSRC 
distinto.
Protocolo de Controle de Tempo Real
(Real-Time Control Protocol - RTCP)
• trabalha em conjunto com o RTP.
• cada participante numa sessão RTP periodicamente transmite
• pacotes de controle RTCP para todos os demais participantes.
• cada pacote RTCP contém relatos do transmissor e/ou receptor
• relatam estatísticas úteis para as aplicações : no. Pacotes enviados, 
no. pacotes perdidos, intervalo entre chegadas (jitter), etc.
• a realimentação de informação pode ser usada para controlar o 
desempenho o transmissor pode modificar as suas transmissões com 
base na realimentação
Real-Time Control Protocol - RTCP
Real-Time Control Protocol - RTCP
Pacotes RTCP:
• Pacotes de relato do receptor:
• fração dos pacotes perdidos, último número de sequência, jitter médio entre 
chegadas
• Pacotes de relato do transmissor:
• SSRC do fluxo RTP, tempo atual, número de pacotes enviados e número de 
bytes enviados.
• Pacotes de descrição da origem:
• endereço de e-mail do transmissor, nome do transmissor, o SSRC do fluxo RTP 
associado.
• os pacotes provêm um mapeamento entre o SSRC e o nome do usuário/host.
Real-Time Control Protocol - RTCP
• Sincronização de Fluxos:
• o RTCP pode ser usado para sincronizar diferentes fluxos de mídia dentro de 
uma sessão RTP.
• considere uma aplicação de videoconferência para a qual cada transmissor 
gera um fluxo RTP para vídeo e outro para áudio.
• as marcas de tempo nestes pacotes RTP estão vinculados aos relógios de 
amostragem de vídeo e de áudio não estão vinculadas ao relógio de tempo 
real.
• cada relatório RTCP do transmissor contém, para o pacote gerado mais 
recentemente no fluxo RTP associado, a marca de tempo do pacote RTP e o 
tempo de relógio físico em que o pacote foi criado.
• os receptores pode usar esta associação para sincronizar a reprodução de 
áudio e de vídeo.
RTSP – RealTime Streaming Protocol
• RFC 2326
• protocolo cliente-servidor da camada de aplicação.
• usuário pode controlar a reprodução: retorno, avanço rápido, pausa, 
retomada, reposicionamento, etc.
RTSP – RealTime Streaming Protocol
• O que ele não faz:
• não define como o áudio/vídeo é encapsulado para ser transmitido pela rede
• não restringe como a mídia tipo fluxo contínuo é transportada; pode ser 
transportada sobre UDP ou TCP
• não especifica como o media player utiliza buffers para áudio/vídeo 
RTSP – RealTime Streaming Protocol
• O FTP usa um canal de controle “fora de banda”:
• um arquivo é transferido sobre uma conexão TCP.
• a informação de controle (mudanças de diretório, remoção de arquivo, 
renomeação de arquivo, etc.) é enviada numa conexão TCP à parte
• os canais “fora de banda” e “dentro da banda” utilizam diferentes números de 
portas 
• Mensagens RTSP também são enviadas fora de banda:
• as mensagens de controle RTSP usam números de porta diferentes do fluxo 
contínuo da mídia, e são, portanto, enviadas fora de banda (Porta 554)
• o fluxo de mídia é considerado “dentro da banda”. 
RTSP – Estudo de caso
• Exemplo RTSP:
• Cenário:
• meta arquivo enviado para o browser web
• browser inicia o media player
• media player estabelece uma conexão de controle RTSP e uma conexão de 
dados para o servidor de mídia contínua
RTSP – Estudo de caso
Exemplo de Meta-arquivo:
Twister 
 
 
 
 
 
 
 
 
 
RTSP – Estudo de caso
RTSP – Exemplo de troca de mensagem
C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 
Transport: rtp/udp; compression; port = 3056; mode = PLAY 
S: RTSP/1.0 200 1 OK 
Session 4231 
C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 
Session: 4231 
Range: npt = 0
S: RTSP/1.0 200 2 OK 
Session 4231
RTSP – Exemplo de troca de mensagem
C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 
Session: 4231 
Range: npt = 37 
S: RTSP/1.0 200 3 OK 
Session 4231 
C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 
Session: 4231 
S: 200 4 OK
QUIC: Quick UDP Internet Connections –
Conexões Rápidas de Internet UDP
• O protocolo QUIC (Quick UDP Internet Connections) foi inicialmente
proposto pela Google com o objetivo de melhorar a experiência do
usuário na navegação web, reduzindo latências e corrigindo
limitações dos protocolos tradicionais, como TCP + TLS.
• Ao utilizar o UDP como camada base, o QUIC permite a integração
direta de mecanismos essenciais — criptografia, multiplexação de
fluxos e controle de congestionamento — dentro de um único
protocolo de transporte.
• Em junho de 2022 é apresentada a especificação oficial do protocolo
no RFC 9114 ficando completa a separação do protocolo de
transporte QUIC e a camada HTTP.
QUIC: Arquitetura
• Diferentemente do TCP, que é implementado no kernel do sistema
operacional, o QUIC é implementado no espaço do usuário,
facilitando atualizações e permitindo rápida evolução do protocolo.
QUIC: Quick UDP Internet Connections
• Redução de RTT (Round Trip Time) no estabelecimento da 
conexãoTCP + TLS tradicional exige 2 RTTs para estabelecer uma 
conexão segura.
• QUIC integra TLS 1.3 ao próprio protocolo, exigindo apenas 1 RTT 
para a primeira conexão.• Em cenários em que cliente e servidor já trocaram chaves 
anteriormente, é possível conexão 0-RTT, permitindo envio imediato 
de dados.
QUIC: Estabelecimento de conexão
QUIC: Estabelecimento de conexão
QUIC: Estabelecimento de conexão
Benefício multimídia:
• Início instantâneo de streaming
• Reconexões rápidas após perda de sinal
• Ideal para mobile e redes instáveis
QUIC e o Problema do HOL (Head-Of-Line 
Blocking)
• O HOL ocorre no TCP porque todos os pacotes precisam chegar em 
ordem, bloqueando fluxos independentes caso um pacote seja 
perdido.
• QUIC, com sua multiplexação de fluxos sobre UDP, permite que: A 
perda de um pacote em um fluxo não bloqueie os demais.
• Diferentes streams sejam entregues independentemente. Isso corrige 
a limitação observada no HTTP/2, que mesmo com múltiplas streams, 
ainda dependia do TCP.
QUIC: fluxos: paralelismo, sem bloqueio de
cabeça de fila (HOL)
QUIC: sem bloqueio de cabeça de fila (HOL)
Somente o fluxo afetado atrasa.
Isso significa:
• Vídeo continua fluindo mesmo que um pacote de outro objeto seja 
perdido
• Navegação mais fluida
• Maior resiliência em redes instáveis (Wi-Fi, 4G/5G) 
QUIC: multiplexação por Fluxos: Adequado 
para objetos multimídia
• QUIC possui múltiplos fluxos independentes dentro de uma mesma 
conexão.
• Cada fluxo entrega dados de forma confiável, ordenada e 
independente
• Impacto para multimídia
Em uma página ou aplicativo multimídia existem vários objetos:
Vídeo, Trilhas de áudio, Legendas e Sinalização/controle.
QUIC: multiplexação por Fluxos: Adequado 
para objetos multimídia
• Em aplicações multimídia, atrasos por pacotes bloqueados são 
extremamente prejudiciais.
QUIC: Controle de congestionamento 
otimizado
• QUIC usa TCP NewReno como base, porém roda no espaço do usuário 
e é atualizável sem mexer no kernel do SO.
• Impacto para multimídia: 
• Adaptabilidade mais rápida às variações da rede
• Melhor uso de 4G/5G, onde congestionamento muda rapidamente
• Streaming mais estável mesmo com flutuações de sinal
• Vídeo adaptativo (ABR) funciona melhor porque QUIC reage rápido
Real-Time Protocol (RTP) - Protocolo de 
Tempo Real
• O RTP especifica uma estrutura de pacote que transportam dados de 
áudio e de vídeo
• RFC 3550
• pacote RTP provê
• identificação do tipo da carga
• numeração da sequência de pacotes
• marca de tempo
Referências
Kurose, J. F., & Ross, K. W. (2021). Redes de Computadores e a Internet: Uma Abordagem
Top-Down. Pearson.
Langley, Adam et al. QUIC Transport Protocol: Design and Internet-Scale Deployment. In:
ACM SPECIAL INTEREST GROUP ON DATA COMMUNICATION - SIGCOMM'17, 2017, Los Angeles, CA,
USA. Anais... Los Angeles, CA, USA: ACM, 2017. p. 21-25.

Mais conteúdos dessa disciplina