Requisitos de rede para ST 2022-7

Importante

Versão beta 2.1. O que está descrito aqui existe apenas na versão beta 2.1: ela é instalada a partir do repositório beta e somente com uma licença; a versão estável 2.0.2 e a versão de demonstração não têm isso. A versão beta é fornecida sem garantias, e o suporte é prestado na medida do possível (Programa de testes beta).

SMPTE ST 2022-7 é uma redundância sem interrupção: o mesmo fluxo RTP chega ao receptor por dois caminhos, e o receptor os junta em um só pelos números de sequência dos pacotes RTP. Um pacote perdido em um caminho é obtido do outro; não há comutação, e a perda não aparece na saída do receptor. A proteção é exatamente tão confiável quanto os caminhos são independentes: tudo o que os dois caminhos têm em comum continua sendo um ponto único de falha.

No Perfect Streamer, o segundo caminho é configurado nas entradas e saídas do tipo RTP (RTP):

  • a entrada recebe o segundo caminho — path2-address e path2-port, a interface path2-bind-if, a fonte SSM path2-ssm-address e a janela de espera path-skew-ms;

  • a saída envia os mesmos pacotes pelo segundo caminho — path2-address e path2-port, a interface path2-mcast-if.

Os dois caminhos devem levar um mesmo fluxo: o mesmo SSRC e a mesma numeração de pacotes. Se os caminhos diferirem, eles não são combinados — só o primeiro caminho é usado, e o nó gera um alerta de código 76 (input-paths-differ, Lista de alertas). As entradas e saídas Pro-MPEG tratam o segundo caminho da mesma forma que RTP; o FEC do segundo caminho vai para as suas próprias portas FEC, e a multiplexação Pro-MPEG não se combina com o segundo caminho (Pro-MPEG).

Dois caminhos independentes

O requisito principal são duas redes separadas, por convenção «vermelha» e «azul», cada uma com seus próprios switches, enlaces e alimentação. Um switch, um enlace de backbone ou uma fonte de alimentação comuns aos dois caminhos são um ponto único de falha, e quando falham os dois caminhos se perdem ao mesmo tempo.

No nó são recomendáveis duas placas de rede, uma para cada rede. O segundo caminho é atribuído a uma entrada pelo campo path2-bind-if e a uma saída pelo campo path2-mcast-if (o nome da interface ou o seu endereço IPv4; um valor vazio é a interface padrão do sistema). Se o segundo caminho da saída não pôde ser aberto, por exemplo porque path2-mcast-if indica um endereço que este servidor não tem, a saída continua enviando pelo primeiro caminho, e o erro do segundo caminho aparece nas estatísticas da saída.

Multicast

Se os caminhos são grupos multicast, cada uma das duas redes deve encaminhar multicast por si mesma:

  • o IGMP snooping está ativado nos switches;

  • em cada uma das duas redes funciona um IGMP querier. Sem ele, o snooping para de encaminhar o grupo após alguns minutos, e o caminho desaparece sem motivo aparente;

  • para a recepção com indicação da fonte (SSM, path2-ssm-address para o segundo caminho) a rede deve suportar IGMPv3;

  • se os caminhos passam por roteadores, o PIM está configurado nas duas redes, e o TTL dos pacotes é suficiente para atravessar todos os trechos.

Largura de banda

Cada caminho leva o fluxo inteiro, por isso o tráfego dobra: reserve para cada rede o bitrate completo do fluxo. Se FEC for adicionado ao fluxo, a parte dele também passa por cada caminho (Planejamento da largura de banda, da latência e das portas).

Diferença de atraso entre os caminhos

Os atrasos dos dois caminhos diferem, e a diferença deve caber na janela do receptor path-skew-ms: de 10 a 1000 ms, 450 ms por padrão — a classe C do padrão ST 2022-7 (fluxos abaixo de 270 Mbit/s). É o tempo máximo que o receptor espera por um pacote ausente do caminho atrasado. A espera é contada a partir do momento em que a lacuna é detectada, ou seja, quando o caminho adiantado já entregou os pacotes seguintes. A perda de vários pacotes no caminho adiantado é recuperada enquanto o caminho atrasado não estiver atrás mais do que path-skew-ms mais a duração desses pacotes.

Em redes reais, os caminhos costumam diferir em unidades ou dezenas de milissegundos. Se os atrasos dos caminhos forem conhecidos e próximos, path-skew-ms pode ser reduzido: o receptor passará a acrescentar menos atraso. O atraso próprio do fluxo no nó deve cobrir essa janela.

O que não é necessário

  • Quadros jumbo. Sete pacotes TS em um pacote RTP cabem na MTU comum de 1500 bytes.

  • PTP e sincronização de relógios. Os caminhos são alinhados pelos números de sequência dos pacotes RTP, e não pelo tempo — ao contrário do SMPTE ST 2110.

  • Funções especiais de ST 2022-7 nos switches. Basta o encaminhamento unicast ou multicast comum.

Recomendações

  • Em uma rede compartilhada com outro tráfego, dê aos fluxos prioridade de QoS (DSCP); caso contrário, um pico de tráfego alheio atrasará ou perderá pacotes nos dois caminhos ao mesmo tempo.

  • Não passe os dois caminhos por um mesmo enlace agregado (LAG) ou um mesmo enlace de backbone: é o mesmo ponto único de falha que um switch compartilhado.

  • Para uma saída em um grupo de reserva, os dois caminhos são enviados pelo nó escolhido como emissor do grupo. Defina path2-mcast-if em cada membro do grupo: os nós também acompanham o emissor pelo segundo caminho.