04.01 Transporte IP Redes de Serviços e Comunicações Multimédia RSCM/ISEL-DEETC-SRC/2004 1
Introdução Internet é utilizada para a transmissão fiável de dados sem requisitos de atraso O TCP predomina nestas aplicações Para aplicações de tempo real o TCP não serve Se o receptor tiver de esperar por uma retransmissão a falha no áudio/vídeo não é aceitável Mecanismos de controlo de congestão do TCP interferem no ritmo natural de reprodução (variação do Jitter) Não fornece informação em relação ao timing Não define mecanismos de QoS RSCM/ISEL-DEETC-SRC/2004 2
RTP Transporta as amostras de voz/vídeo Especificado no RFC 1889 Define o RTP e o RTCP Funciona em cima de UDP Mecanismos de marcação de conteúdos Detecta a perda de pacotes Identifica a fonte Permite a ordenação das amostras Transporta timestamps que correspondem à altura em que foi feita a amostragem Sincronização das amostras RSCM/ISEL-DEETC-SRC/2004 3
RTCP Uso opcional Transporta informação sobre a qualidade da sessão RTP Atraso Pacotes RTP perdidos Jitter Cada fluxo de voz contém uma sessão RTP e uma RTCP Um porto UDP por cada sessão RTP usa um porto Par RTCP usa um porto Impar RSCM/ISEL-DEETC-SRC/2004 4
Formato do Payload O RTP transporta as amostras de voz adicionando-lhes um cabeçalho Contém um identificador do tipo de conteúdo que transporta RFC 1890, já existem um draft para o actualizar Actualmente com a sinalização é possível saber antecipadamente qual o codec utilizado, inutilizando assim o campo Payload Type Os tipos 96 ao 127 são definidos como dinâmicos, permitindo assim o uso de qualquer codec Redundant payload type serve para que um pacote de voz contenha amostras anteriores As amostras redundantes (RED) podem ser codificadas com outro codec, idealmente com requisitos de largura de banda inferiores RSCM/ISEL-DEETC-SRC/2004 5
Cabeçalho RTP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ V=2 P X CC M PT sequence number +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ timestamp +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ synchronization source (SSRC) identifier +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ contributing source (CSRC) identifiers... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ version (V) padding (P) extension (X) CSRC count (CC) marker (M) payload type (PT) RSCM/ISEL-DEETC-SRC/2004 6
Cabeçalho RTP Version Versão de protocolo, actualmente é 2 Padding Indica se o pacote contem bytes adicionais para alinhar o conteúdo a múltiplos de 32bit Extension Indica se o cabeçalho adicional está presente CSRC Count Indica o número de fontes que contribuem para a sessão Marker Não está definido o uso deste campo, depende do conteúdo pode ser usado por exemplo para indicar períodos de silêncio Payload Type Indica o formato das amostras, se for usada redundância este campo contem o PT de ambas as amostras (RFC 2198) Sequence Number Número aleatório escolhido no inicio da sessão a partir do qual é incrementado a cada pacote enviado Timestamp Indica o instante a que a primeira amostra do payload foi gerada, a frequência do relógio depende do codec usado (normalmente 8Khz) Synchronization Source Identifica a entidade responsável pelo número de sequência e pelo timestamp, normalmente o emissor (número aleatório) Contributing Source Contem o SSRC de uma fonte da sessão. Usado quando a origem é um misturador RSCM/ISEL-DEETC-SRC/2004 7
Cabeçalho RTP - Estendido 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ defined by profile length +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ header extension... Desenhado para suportar requisitos adicionais de todas as fontes Idicada através do Bit X do cabeçalho A extensão surge entre os campos CSRC e o Payload RSCM/ISEL-DEETC-SRC/2004 8
Misturadores (Mixers) Aplicações que permitem que múltiplos fluxos multimédia de diferentes fontes sejam combinados num único fluxo Podem converter os dados multimédia Existe um SSRC para o mixer e múltiplos CSRC correspondentes aos participantes o mixer preenche o campo timestamp RSCM/ISEL-DEETC-SRC/2004 9
Conversores Permite a conversão dos dados multimédia entre entidades diferentes Não manipula os valores do SSRC RSCM/ISEL-DEETC-SRC/2004 10
RTCP Real Time Control Protocol Permite a troca periódica de informação de controlo entre os participantes numa sessão Em média o RTCP deve ocupar 5% da largura de banda disponível Utilizado para obter informações sobre a qualidade de uma sessão Utilizando multicast permite que uma terceira entidade monitorize a qualidade das diversas sessões e detectar problemas RSCM/ISEL-DEETC-SRC/2004 11
Tipos de pacotes RTCP Sender Report (SR) Usado por quem participa numa sessão Receiver Report (RR) Usado por quem recebe mas não envia dados Source Description (SDES) Contém informação sobre um participante - contêm o CNAME que identifica o originador BYE Indica o fim da participação numa sessão Application Specific Functions (APP) Transporta informações específicas a uma aplicação em particular Os pacotes SDES são transportados em conjunto com os SR/RR Todos os pacotes RTCP contêm um RR ou SR RSCM/ISEL-DEETC-SRC/2004 12
RTCP Sender Report RSCM/ISEL-DEETC-SRC/2004 13
RTCP Sender Report V Versão de protocolo, actualmente é 2 P Padding Indica se o pacote contem bytes adicionais para alinhar o conteúdo a múltiplos de 32bit RC Report Count Número de relatórios na mensagem PT Payload Type Tipo da mensagem NTP Timestamp Tempo após 00:00, 1 Jan 1900 (GMT) RTP Timestamp Tempo relativo do pacote RTP Fraction lost Percentagem de pacotes perdidos valor/256 RSCM/ISEL-DEETC-SRC/2004 14
RTCP Receiver Report 1 Byte 1 Byte 1 Byte 1 Byte V P RC PT=RR=201 Tamanho SSRC do emissor SSRC_1 (SSRC da primeira fonte) Cabeçalho Informação do Emissor fraction lost Número total de pacotes perdidos Maior número de sequência (SN) recebido do RTP Jitter entre pacotes 1º Relatório Último SR (LSR) Diferença de tempo entre o último SR e este (DLSR) SSRC_2 (SSRC da segunda fonte) 2º Relatório Extensões especificas do perfil RSCM/ISEL-DEETC-SRC/2004 15
RCTP Source Description Packet (SDES) RSCM/ISEL-DEETC-SRC/2004 16
RTCP BYE RSCM/ISEL-DEETC-SRC/2004 17
Cálculo do RTT RTT Round Trip Time Tempo de ida e volta RTT=T-LSR-DSLR Útil para medir a qualidade da voz Permite obter o atraso médio RSCM/ISEL-DEETC-SRC/2004 18