Categorias
Novo blog
Protocolo de transporte em tempo real (RTP)
November 03 , 2021O que é RTP?
O protocolo de transporte em tempo real (RTP) é um padrão de rede projetado para transmitir dados de áudio ou vídeo otimizado para entrega consistente de dados ao vivo. É usado em telefonia pela Internet, Voz sobre IP e videoconferência. Pode ser usado para chamadas um-a-um (unicast) ou em conferências um-para-muitos (multicast).
O RTP normalmente é executado no protocolo UDP (User Datagram Protocol). O RTP é usado em conjunto com o protocolo de controle RTP (RTCP). Enquanto o RTP carrega os fluxos de mídia (por exemplo, áudio e vídeo), o RTCP é usado para monitorar as estatísticas de transmissão e a qualidade do serviço (QoS) e auxilia na sincronização de vários fluxos. O RTP é uma das bases técnicas da Voz sobre IP e, neste contexto, é frequentemente usado em conjunto com um protocolo de sinalização, como o Protocolo de Iniciação de Sessão (SIP), que estabelece conexões através da rede.
As sessões RTP são normalmente iniciadas entre pares de comunicação usando um protocolo de sinalização, como H.323, o Protocolo de Iniciação de Sessão (SIP), RTSP ou Jingle (XMPP). Esses protocolos podem usar o Protocolo de Descrição de Sessão para especificar os parâmetros das sessões. Uma sessão RTP é estabelecida para cada fluxo de multimídia. Os fluxos de áudio e vídeo podem usar sessões RTP separadas, permitindo que um receptor receba seletivamente os componentes de um fluxo específico. O RTP é usado por aplicativos de multimídia em tempo real, como voz sobre IP, áudio sobre IP, WebRTC e televisão de protocolo da Internet.
Figura: (a): A posição do RTP na pilha do protocolo. (b): Aninhamento de pacotes.
Campos de cabeçalho fixos RTP
Os pacotes RTP são criados na camada de aplicação e entregues à camada de transporte para entrega. Cada unidade de dados de mídia RTP criada por um aplicativo começa com o cabeçalho do pacote RTP.
Figura: Cabeçalho do pacote RTP.
Versão (V): 2 bits.
Este campo identifica a versão do RTP.
Preenchimento (P): 1 bit.
Se o bit de preenchimento for definido, o pacote conterá um ou mais octetos de preenchimento adicionais no final que não fazem parte da carga útil.
Extensão (X): 1 bit
Indica a presença de um cabeçalho de extensão entre o cabeçalho e os dados de carga útil.
Contagem CSRC (CC): 4 bits
A contagem CSRC contém o número de identificadores CSRC que seguem o cabeçalho fixo.
Marcador (M): 1 bit
A interpretação do marcador é definida por um perfil.
Tipo de carga útil (PT): 7 bits
Este campo identifica o formato da carga útil RTP e determina sua interpretação pela aplicação.
Número de sequência: 16 bits
O número de sequência aumenta em um para cada pacote de dados RTP enviado e pode ser usado pelo receptor para detectar a perda de pacotes e restaurar a sequência de pacotes.
Timestamp: 32 bits
O carimbo de data / hora reflete o instante de amostragem do primeiro octeto em o pacote de dados RTP.
SSRC: 32 bits
O campo SSRC identifica a fonte de sincronização.
Lista CSRC: 0 a 15 itens, 32 bits cada
A lista CSRC identifica as fontes contribuintes para a carga útil contido neste pacote.
Tag :