Aplicações e redes multimédia Aplicações multimédia Streaming de áudio e vídeo RTSP, RTP Telefonia pela Internet RTCP, RTP, SIP Disciplinas de serviço e policiamento de tráfego Serviços integrados RSVP Serviços diferenciados Aplicações multimédia Streaming de áudio e vídeo armazenado Paradigma cliente servidor: cliente vai apresentando parte do ficheiro enquanto recebe outras partes Interactividade: pause, rewind, fast forward, indexação Atraso: inferior a 10 s Streaming de áudio e vídeo em tempo real Difusão de conteúdo áudio-visual pela Internet Interactividade limitada: pause, rewind Aplicações interactivas em tempo real Telefonia, vídeo-conferência Exigente em termos dos atrasos tolerados: inferiores a 150 ms 1
Desafios e abordagens Aplicações multimedia Sensíveis a atrasos Sensíveis a variações de largura de banda Tolerantes a perdas Mecanismos na periferia da rede (camada de aplicação) Usar UDP em vez de TCP Armazenamento e controlo da apresentação da informação Marcação temporal das mensagens Controlo da compressão da informação Mecanismos no interior da rede Reserva de largura de banda Disciplinas de serviço nos encaminhadores Descrição e policiamento do tráfego gerado pelas aplicações Streaming de áudio e vídeo armazenados Ficheiro de áudio/vídeo está armazenado num servidor Cliente solicita o envio do ficheiro Ficheiro começa a ser apresentado pouco tempo depois de ter sido pedido Media player Remoção do jitter Descompressão da informação Correcção de erros Interface de utilizador, interactividade 2
(2) ficheiro Multimedia com servidor Web browser media player (1) HTTP do ficheiro servidor web Browser como intermediário Ficheiro recuperado na totalidade antes de ser entregue ao media player (2) meta ficheiro browser media player (1) HTTP do meta ficheiro (3) HTTP do ficheiro servidor web Protocolo HTTP entre media player e servidor HTTP não permite interactividade Ficheiro transferido sobre TCP Multimedia com servidor de streaming (2) meta ficheiro browser media player (1) HTTP do meta ficheiro (3) ficheiro servidor web servidor áudio/vídeo Media player interage directamente com o servidor de áudio/vídeo Protocolo que não HTTP entre media player e servidor Ficheiro pode ser transferido com UDP ou TCP Cliente mantém um buffer onde armazena alguns segundos de informação 3
Real-Time Streaming Protocol (RTSP) Protocolo para controlo da apresentação de conteúdos multimédia browser HTTP GET Meta ficheiro SETUP servidor Web rewind, fast forward, pause, resume, repositioning Porto bem-conhecido: 544 Conteúdos multimédia são transferidos usando outra aplicação que não RTSP media player cliente PLAY media stream PAUSE TEARDOWN media server servidor Telefonia pela Internet: exemplo Serviço fornecido pela Internet Atrasos Jitter Perdas Telefonia pela Internet Altercação entre talkspurts e períodos de silêncio Codificação a 64 kbps durante talkspurts Atraso de pacotização de 20 ms; blocos com 160 bytes de dados Bloco de dados mais cabeçalho da aplicação enviados em segmentos UDP Remoção do jitter Recuperação de perdas 4
Remoção do jitter Atraso de apresentação fixo q Bloco deve ser apresentado q unidades de tempo após ter sido gerado Blocos contêm selo temporal com o instante de tempo em que foram gerados Bloco gerado no instante t Se o bloco chega antes do instante t + q, ele é apresentado em t + q Se o bloco chega depois de t + q, ele é descartado Compromisso Se q for grande a interactividade é prejudicada Se q for pequeno as perdas são grandes Atraso de apresentação Blocos Geração de blocos Descarte Recepção de blocos Recta de apresentação q Recta de apresentação q' tempo t t + q t + q' 5
Atraso de apresentação adaptável Estimação do atraso médio e do desvio do atraso d i = (1 u) d i-1 + u ( r i t i ) v i = (1 u) v i-1 + u r i t i d i Atraso de apresentação do primeiro pacote de um talkspurt q i = d i + K v i-1 K = 4 Atraso de apresentação é constante ao longo de um talkspurt Para determinar os primeiros blocos dos talkspurts, os blocos contêm números de sequência Recuperação de perdas 1 Bloco n + 1 é o resultado da operação XOR sobre os n bloco passados Recupera a perda de um dos n blocos Largura de banda necessária é acrescida de um factor 1 / n Atraso de apresentação tem que levar em conta a recepção de n + 1 blocos 6
Recuperação de perdas 2 Conteúdo codificado a baixa qualidade é transmitido com conteúdo codificado a alta qualidade Blocos de baixa qualidade estão desfasados dos blocos de alta qualidade Entrelaçamento 7
Real-Time Protocol (RTP) Sub-camada da aplicação Sub-camada extremo-aextremo Expande os serviços da camada de transporte UDP Formatação dos pacotes Não providencia tratamento preferencial na rede aos pacotes RTP aplicação RTP UDP IP transporte físico Anatomia de um pacote RTP 8 16 32 32 bits tipo dados número sequência selo temporal id. sinc. fonte diversos dados UDP Tipo de dados Codificação usada: PCM lei µ; GSM; LPC; MPEG audio. Número de sequência Incrementado por cada pacote enviado Selo temporal Instante em que o primeiro byte dos dados foi gerado Identificador de sincronismo de fonte Número aleatório por fluxo, escolhido pela fonte 8
Selo temporal vs. número de sequência Selo temporal Relaciona os pacotes com os instantes em que foram gerados Número de sequência Relaciona os pacotes entre si Aplicação de vídeo Dois pacotes pertencentes à mesma imagem têm selos temporais iguais mas números de sequência distintos Aplicação de áudio Distinção entre um período de silêncio e a perda de pacotes resolvida pela comparação entre os selos temporais e os respectivos números de sequência Real-Time Control Protocol (RTCP) Opera em sintonia com o RTP Porto bem-conhecido distinto do RTP Relatórios RTCP Por fonte recebida: estatísticas de perdas, atraso e jitter Por fonte enviada: selo temporal, tempo real de geração (sincronismo entre fontes distintas do mesmo expedidor) Por fonte enviada: informação sobre o expedidor Periodicidade no envio de pacotes RTCP é proporcional ao número de participantes na sessão RTP Tráfego RTCP não deve exceder 5% do tráfego RTP 9
Session Initiation Protocol (SIP) Protocolo fora-de-banda estabelecimento e terminação de chamadas acordos de codificação determinação do endereço IP do chamado gestão de chamada Porto-bem conhecido: 5060 Camada de transporte: TCP ou UDP Mensagens em ASCII parecidas com HTTP INVITE ACK REGISTER Mensagens SIP INVITE sip:miguel@cs.mit.edu SIP/2.0 Via: SIP/2.0/UDP 18.61.1.7 From: sip:joao@ist.utl.pt To: sip:miguel@cs.mit.edu Call-ID: b3e3d@lion.cs 200 OK From: sip:miguel@cs.mit.edu To: sip:joao@ist.utl.pt Call-ID: b3e3d@lion.cs ACK sip:miguel@cs.mit.edu 10
Estabelecimento de chamada SIP SIP location server cs.uva.nl 2 3 SIP proxy ist.utl.pt 7 4 SIP registrar mit.edu 1 8 5 6 9 10 dados Content Distribution Network (CDN) Empresa carrega um servidor CDN com os seus contéudos CDN replica contéudos pelos seus vários servidores Pedido HTTP de um cliente é direccionado pelo DNS idóneo da CDN para o servidor mais próximo CDN mantém um mapa da Internet que associa endereços IP a servidores que dele estam próximos HTTP www.foo.com/index.html DNS www.cdn.com HTTP www.cdn.com/www.foo.com/video.mpg Servidor origem www.enterprise.com Servidor DNS idóneo CDN dns.cdn.com Servidor de CDN www.cdn.com 11
Componentes para QoS em redes IP Classificação e marcação do tráfego Tráfego dividido em classes Classe pode identificar um tipo de serviço e/ou um fluxo Disciplinas de serviço Fornecer a QoS pretendida pelas várias classes Isolamento e protecção entre classes de tráfego Utilização eficiente dos recursos da rede Controlo de admissão Rede recusa novos fluxos quando a qualidade de serviço por eles solicitada não pode ser garantida sem prejudicar os outros fluxos Modulação e policiamento do tráfego Características dos fluxos fornecidas à rede Rede assegura-se que as características anunciadas são respeitadas Disciplinas de serviço básicas First-In-First-Out (FIFO) Pacotes são servidos por ordem de chegada Filas com prioridades Pacotes agrupados em classes Pacotes da classe prioritária são servidos primeiro Pacotes da mesma classe são servidos por ordem de chegada Round-robin Pacotes agrupados em classes Em cada ciclo a linha transmite no máximo um pacote de cada classe Pacotes da mesma classe são servidos por ordem de chegada 12
Weighted round-robin n classes Classe i tem peso w i e os seus pacotes têm comprimento l i Em cada ciclo, a linha transmite no máximo w i / (l i ) pacotes de classe i Em cada ciclo, a fracção da largura de banda atribuída à classe i é pelo menos igual a w i / (w 1 +...+w n ) Problemas Ciclos têm que ser longos; atribuição pesada da largura de banda não é válida para intervalos de tempo pequenos Tipicamente não sabemos o comprimento dos pacotes Weighted fair queueing Fair queueing (FQ) Aproximação de uma disciplina de serviço Processor Sharing (PS), na qual, em cada ciclo, é servido um bit de cada classe Fracção da largura de banda atribuída a cada classe é pelo menos 1 / n Atraso relativamente a PS é majorado por L max / R Weighted Fair Queueing (WFQ) Aproximação de uma disciplina de serviço Generalized Processor Sharing (GPS), na qual, em cada ciclo, são servidos w i / (w 1 +...+w n ) bits da classe i Fracção da largura de banda atribuída à classe i é pelo menos igual a w i / (w 1 +...+w n ) Atraso relativamente a GPS é majorado por L max / R 13
Balde furado Tamanho do balde b testemunhos, r Taxa de chegada de testemunhos r Número de pacotes enviados num intervalo de tempo t é rt + b A taxa de envio de pacotes é majorada por r pacotes balde, b 1 testemunho, x bytes Garantias de atraso Balde furado em conjunto com WFQ garantem atrasos majorados r i R w i / (w 1 +...+w n ) d i = b i R w i / (w 1 +...+w n ) 14
Serviços integrados Especificação de fluxos (Tspec) e seus requisitos (Rspec) Reserva de recursos por fluxo ReSource ReserVation Protocol (RSVP) Protocolo de sinalização Orientado à recepção Estado soft Independente do protocolo de encaminhamento Classes de tráfego QoS garantido; majorantes dos atrasos em cada encaminhador Carga controlada; comportamento equivalente ao de uma rede pouco carregada Serviços diferenciados Encaminhadores na entrada da rede Marcação do campo Differentiated Service (DS) Modulação e medição do tráfego gerado Encaminhadores no núcleo da rede Per-Hop Behavior (PHB) para cada classe Classes de serviço Expedição rápida Expedição assegurada: dividida em sub-classes, ouro, prata, e bronze 15