PS1, SRT e RIST

Protocolos peer de transmissão confiável: os pacotes perdidos são retransmitidos a pedido do receptor, por isso os três têm um buffer de recepção e uma reserva de banda para a retransmissão. A escolha do protocolo e o cálculo da banda e da latência são descritos em Protocolos Peer de transmissão confiável e Planejamento da largura de banda, da latência e das portas, e a criptografia, em Criptografia de fluxos.

Cada protocolo determina à sua maneira o lado que estabelece a conexão: com PS1 é sempre o receptor que se conecta; com SRT o lado é escolhido por uma configuração; com RIST decorre dos endereços. Isso decide onde é preciso uma porta aberta e onde basta uma conexão de saída.

PS1

Um protocolo de desenvolvimento próprio (PS1 (Perfect Stream)). A conexão é sempre estabelecida pelo receptor, por isso a entrada se conecta ao emissor enquanto a saída escuta uma porta. Não há modo de escolha do lado.

Entrada

Campo

Finalidade

Valores

Address (source host)

O host emissor ao qual o receptor se conecta. Campo obrigatório.

um endereço ou um nome de host

Port

A porta do emissor. Campo obrigatório.

1–65535

«Usuário», «Senha»

As credenciais que o receptor apresenta ao emissor; este as confronta com sua própria lista de logins (Usuários / Logins). Um login vazio significa autorização pelo endereço IP do receptor. O valor deve ter menos de 32 bytes: um mais longo o próprio receptor rejeita, sem enviar a solicitação, e a entrada permanece em erro. Em vez da digitação manual está disponível a entrada automática do Meshwork — veja abaixo.

vazio por padrão

Passphrase

A frase-senha de criptografia; deve coincidir com a do emissor. O protocolo não reconhece uma divergência: a conexão será estabelecida, mas o fluxo não será analisado como MPEG-TS — no texto do erro o nó lembra se deste lado há uma frase definida.

10–64 bytes ou vazio

Start timeout (s)

Quanto esperar pela resposta do emissor à solicitação de autorização. Sem resposta, o receptor se reconecta.

5–3600, padrão 10

Play timeout (s)

Quanto tempo uma conexão em funcionamento pode ficar em silêncio antes que o receptor a considere rompida. É o tempo de reação a uma falha da fonte.

5–3600, padrão 10

Latency (ms)

A latência de recepção solicitada: a janela de eliminação do jitter e de retransmissão. O valor é um pedido: o emissor o limita com seu próprio buffer e mostra a grandeza acordada nas estatísticas da entrada. A referência são quatro tempos de ida e volta; fluxos de baixa taxa de bits precisam de mais, para que caibam pacotes suficientes na janela.

250–10000, padrão 3000

RTT (initial estimate) (ms)

A estimativa inicial do tempo de ida e volta, apenas para os primeiros segundos após conectar: depois o receptor o mede por si mesmo e ajusta as retransmissões. Zero aqui não significa «automático» — ele está simplesmente abaixo do limite admitido.

40–10000, padrão 300

Entrada automática do Meshwork. Em uma entrada PS1 o login e a senha podem ser omitidos: o botão «Usar a entrada automática do meshwork» muda a entrada para a autorização de domínio, na qual as credenciais são formadas automaticamente e renovadas a cada reconexão, e não é preciso criar uma conta no emissor (Peers e segredos). É necessário um domínio do nó. A troca inversa — «Mudar para a entrada manual…» — limpa a entrada automática e pede confirmação.

Saída

Campo

Finalidade

Valores

Listening port

A porta que o emissor escuta. Campo obrigatório; pode ficar em zero — o nó escolherá uma porta livre ao salvar, enquanto o botão ao lado a escolhe de imediato.

1–65534

Bind interface

A interface na qual a porta é escutada; escolhida na lista de interfaces do nó. Um valor vazio significa qualquer interface. Uma interface ausente no nó não é considerada erro: nesse caso a saída escuta todas as interfaces, como com o campo vazio.

qualquer uma por padrão

Passphrase

A frase-senha de criptografia; deve coincidir com a dos receptores.

10–64 bytes ou vazio

Latency (ms)

O buffer do emissor: o limite de latência que ele está disposto a conceder aos receptores e o tamanho do seu próprio buffer de retransmissão. Cada receptor recebe no máximo esse valor menos um segundo, por isso a reserva para todo o enlace é definida aqui.

a partir de 3000, padrão 6000

Trace

Registro de conexões e recusas no log do fluxo.

desativado por padrão

SRT

Um protocolo aberto baseado em UDP (SRT). O lado que estabelece a conexão é escolhido pela configuração «Listen mode» — e essa mesma configuração muda o sentido de vários campos, por isso ela é definida primeiro.

«Listen mode» está desativado por padrão em uma entrada: a entrada se conecta por si mesma ao emissor (caller). Em uma saída, ao contrário, está ativado: a saída escuta uma porta e distribui o fluxo a quem se conecta (listener). A maioria dos campos a janela mostra em ambos os modos, mesmo quando não têm efeito no modo atual; apenas dois ficam ocultos — «Enable billing» na saída e a proposta de entrada automática do Meshwork na entrada.

Entrada

Campo

Finalidade

Valores

Listen mode

Desativado — a entrada se conecta ao endereço e à porta indicados. Ativado — a entrada escuta uma porta e aguarda uma conexão.

desativado por padrão

Address

Com «Listen mode» desativado — o host de origem ao qual a entrada se conecta; aqui também é admitido um nome de host. Com o modo ativado — o único endereço do qual uma conexão é aceita, e ele é indicado em forma numérica: um nome de host ou um erro de digitação não serão reconhecidos e equivalem à ausência de restrição, tal como um campo vazio.

um endereço ou um nome de host

Port

A porta: a remota ao conectar-se a uma fonte, a local em modo de escuta. Campo obrigatório. Em modo de escuta a porta pode ficar em zero — o nó escolherá uma livre.

1–65535

Bind interface

A interface: em modo de escuta a porta é escutada nela; ao conectar-se a uma fonte, dela parte a conexão de saída. Escolhida na lista de interfaces do nó.

qualquer uma por padrão

«Usuário», «Senha»

Ao conectar-se a uma fonte, a partir deles é formado um identificador de fluxo (stream ID) apresentado ao emissor. Em modo de escuta é usado apenas o login — é o identificador que quem se conecta é obrigado a apresentar: a comparação é exata, sobre a cadeia inteira (SRT: autorização por login e senha em software de terceiros).

vazio por padrão

Passphrase

A frase-senha da criptografia da conexão. Ambos os lados devem definir a mesma frase ou ambos deixar o campo vazio. Ao conectar-se a uma fonte, a divergência é conhecida pela recusa do parceiro: a entrada passa ao estado de espera pelo administrador e provoca um alerta. Em modo de escuta a conexão simplesmente não se estabelece e a entrada continua aguardando.

10–79 bytes ou vazio

AES key length

O comprimento da chave de criptografia. Só atua quando há uma frase-senha definida.

AES-128 (padrão), AES-192, AES-256

Latency (ms)

A janela durante a qual o receptor retém os pacotes, dando ao protocolo tempo para a retransmissão. Quanto maior a janela, mais profunda a restauração e maior a latência de ponta a ponta; a referência prática são três a quatro tempos de ida e volta.

a partir de 120, padrão 1000

Loss max TTL

O limite superior de tolerância ao desordenamento de pacotes: dentro desses limites o receptor escolhe por si mesmo quanto esperar por um pacote atrasado antes de considerar uma lacuna como perda e pedir uma retransmissão. O valor é aumentado em caminhos onde os pacotes realmente se desordenam — isso evita retransmissões desnecessárias. Zero desativa o mecanismo: qualquer lacuna é imediatamente contada como perda.

a partir de 0, padrão 0

Overhead (%)

A reserva de banda acima da taxa de bits do fluxo que o protocolo pode gastar em retransmissões. Atua enquanto «Max bandwidth» for zero.

5–100, padrão 25

Max bandwidth (B/s)

Um limite rígido da velocidade de envio em bytes por segundo. A reserva em porcentagem atua apenas com zero: então o limite é deduzido da taxa de bits medida e dessa reserva. O valor −1 remove a restrição, um valor positivo define o limite diretamente — e em ambos os casos a reserva em porcentagem deixa de atuar.

a partir de −1, padrão 0

Connect timeout (ms)

O silêncio admissível do parceiro, após o qual a conexão é considerada rompida. Para o lado que estabelece a conexão é também o tempo limite da própria conexão.

a partir de 0, padrão 3000

Disable TSBPD

Desativa a entrega dos pacotes segundo suas marcas de tempo: os pacotes são entregues assim que chegam. A latência é mínima, mas do lado SRT já não há nivelamento nem ordenação — e a configuração Latency deixa de governar a entrega. É empregado em nós de recepção densos, onde a sincronização é assumida pelo buffer de jitter do nó (Sincronização).

desativado por padrão

Uma entrada em modo de escuta aceita uma conexão: enquanto o receptor estiver ocupado com uma fonte, uma segunda não se conectará. Para aceitar várias fontes, adicionam-se várias entradas (Redundância de fontes e distribuição).

A entrada automática do Meshwork está disponível aqui também, ao conectar-se a uma fonte: ela substitui o login e a senha pelo identificador de fluxo do domínio (Peers e segredos). No modo de espera de conexões essa possibilidade não existe, mas uma conexão de um nó do mesmo domínio também é aceita ali — pelo identificador de domínio, além da verificação habitual.

Saída

Os campos de criptografia e as configurações do enlace são os mesmos da entrada. As diferenças:

Campo

Finalidade

Valores

Listen mode

Ativado — a saída escuta uma porta e vários receptores se conectam a ela, cada um com sua própria autorização. Desativado — a saída se conecta por si mesma ao endereço indicado e entrega o fluxo a um único receptor.

ativado por padrão

Address

O endereço do receptor. Obrigatório quando «Listen mode» está desativado; no modo de espera de conexões não é utilizado.

um endereço ou um nome de host

Port

A porta local em modo de escuta (pode ficar em zero — o nó escolherá uma livre) ou a porta do receptor ao conectar. Campo obrigatório.

1–65534

Bind interface

A interface: em modo de escuta a porta é escutada nela; ao conectar-se a um receptor, dela parte a conexão de saída.

qualquer uma por padrão

Meshwork peer auth

Autorização de domínio em vez de um identificador de fluxo — ao conectar-se a um receptor do mesmo domínio (Peers e segredos). Ao contrário da entrada, aqui isto é um interruptor comum e em modo de escuta ele também é exibido, embora não tenha efeito.

desativado por padrão

SRT stream id

O identificador de fluxo que a saída apresenta a um receptor ao conectar-se a ele. Em modo de escuta não é utilizado — ali quem se conecta é que apresenta o identificador.

vazio por padrão

Enable billing

Somente ao conectar-se a um receptor: antes da conexão, a saída pede permissão ao servidor de faturamento. Uma recusa ou a indisponibilidade do servidor param a saída até a intervenção de um administrador — o fluxo não sai sem autorização. Em modo de escuta o campo não é exibido: ali cada conexão é autorizada separadamente.

desativado por padrão

Packets per datagram

Quantos pacotes TS são colocados em uma mensagem SRT. Sete pacotes preenchem os 1316 bytes padrão; um valor menor reduz ligeiramente a latência ao custo de uma sobrecarga bem maior. A alteração reabre a saída.

1–7, padrão 7

Trace

Registro de conexões, recusas e desconexões dos receptores no log do fluxo.

desativado por padrão

RIST

Um protocolo aberto baseado em RTP/RTCP com retransmissão por NACK (RIST). O RIST não tem apenas um peer: tanto a entrada quanto a saída trabalham com uma lista de peers, o que dá redundância por vários caminhos e distribuição a vários destinatários ao mesmo tempo.

O perfil Main coloca os dados e o canal de serviço em uma única porta, e somente nele a criptografia funciona. O perfil Simple ocupa duas portas consecutivas, por isso a porta base deve ser par, e a frase-senha não tem efeito neste perfil.

A lista de peers

Os peers são definidos na tabela «Peers RIST»: uma linha é um peer, e as colunas são Address, Port, Interface e Weight. O rótulo da coluna traz uma indicação sobre seu uso habitual, e ele difere entre a entrada e a saída: na entrada, Address (multicast) e Interface (unicast); na saída, Address e Interface (multicast). O botão «Adicionar peer» acrescenta uma linha e «Excluir peer» a remove; uma tabela vazia é acompanhada do texto «Ainda não há peers.» Um zero nas colunas Port e Weight é exibido como célula vazia.

Coluna

Finalidade

Valores

Address

O endereço do peer. Na entrada é o endereço do qual o fluxo é recebido: um grupo multicast torna a entrada membro do grupo, e uma célula vazia significa recepção unicast — e então o socket é vinculado ao endereço da coluna Interface. Na saída é o endereço do destinatário, e ele é obrigatório. Não se podem misturar grupos multicast e endereços unicast em uma mesma lista.

um endereço

Port

A porta do peer. Obrigatória em cada linha. No perfil Simple a porta deve ser par — a porta vizinha é ocupada pelo canal de serviço.

1–65535

Interface

A interface. Na entrada ela é necessária na recepção unicast — é precisamente ao seu endereço que o receptor é vinculado; na recepção multicast ela é apenas verificada. Na saída ela define a interface de envio para um grupo multicast, ao passo que para unicast não tem efeito: a interface é escolhida pela tabela de roteamento.

um nome de interface ou seu endereço

Weight

A política de caminhos na transmissão. Zero significa duplicação: ao peer é enviado cada pacote — isso é a redundância do enlace. Um valor positivo ativa a distribuição de carga entre os peers com pesos positivos, proporcionalmente a eles. Na recepção o valor não tem efeito.

a partir de 0, padrão 0

Uma entrada RIST entra no catálogo do domínio apenas pelos peers com endereço multicast; a recepção unicast não é anunciada ali (Catálogo comum de recursos).

O salvamento é bloqueado enquanto a tabela não estiver preenchida: «Adicione ao menos um peer.», «Cada peer deve ter uma porta de 1 a 65535.», «Cada peer deve ter um endereço.» — na saída; «Cada peer deve ter um endereço (multicast) ou uma interface (unicast).» — na entrada. Outras três mensagens repetem as verificações do nó, para não serem encontradas como um salvamento recusado: «No perfil Simple a porta de cada peer deve ser par.», «Um peer unicast em uma entrada precisa de uma interface de vínculo.» e «Todos os peers devem ser ou multicast ou unicast — não se pode misturar.»

As duas últimas mensagens aparecem somente quando em todas as linhas há endereços e não nomes de host: o navegador não consegue resolver um nome e o tipo do endereço é desconhecido antes disso. Em uma tabela preenchida com nomes, ambas as restrições serão verificadas apenas pelo nó — como um salvamento recusado.

As listas desta tabela não podem ser descompassadas: cada edição reconstrói por inteiro as quatro listas. Uma configuração que chegou ao nó à margem da interface e já está descompassada é exibida por completo — as células que faltam ficam vazias — e o salvamento permanece bloqueado até que a linha seja completada; depois disso as listas são alinhadas.

Entrada

Campo

Finalidade

Valores

RIST profile

O formato de transmissão. Main — uma única porta, com criptografia disponível. Simple — duas portas consecutivas, sem criptografia.

Simple, Main (padrão)

Allowed peer IP

O único endereço do qual uma conexão é aceita; os demais são rejeitados com um registro no log. Um campo vazio permite a conexão de qualquer endereço. É um único endereço, não uma lista, uma máscara ou um intervalo.

vazio por padrão

Passphrase

A frase-senha de criptografia; deve coincidir em ambos os lados. O comprimento não é limitado, mas apenas os primeiros 127 bytes são levados em conta. Atua somente no perfil Main.

vazio por padrão

Session timeout (ms)

Quanto tempo um peer pode ficar em silêncio antes que a sessão seja rompida. Um valor menor acelera a detecção de um caminho falho; um pequeno demais provoca rompimentos em um enlace instável.

a partir de 100, padrão 2000

Recovery RTT min (ms), Recovery RTT max (ms)

Os limites nos quais se encaixa o tempo de ida e volta medido ao calcular o intervalo das solicitações de retransmissão. Eles não definem o tamanho do buffer de recuperação — este é fixo.

a partir de 10; padrão 50 e 500

Trace

Registro dos eventos dos peers no log do fluxo. Alterar a configuração reinicia a entrada.

desativado por padrão

Saída

A mesma tabela de peers, o mesmo perfil, a mesma frase-senha e as mesmas configurações de recuperação. As diferenças:

Campo

Finalidade

Valores

Auth type

None — a conexão é aceita de qualquer peer. Embedded — o peer é autorizado por endereço IP conforme a lista de logins do nó (Usuários / Logins); um endereço desconhecido é rejeitado.

None (padrão), Embedded

Packets per datagram

Quantos pacotes TS são colocados em um datagrama. Sete pacotes preenchem os 1316 bytes padrão. A alteração reabre a saída.

1–7, padrão 7