Resumo

  • RFC 3498 armazenava o último comando escrito no grupo de proteção SONET, mas avisava que outra solicitação local ou remota podia já ter assumido o controle.
  • K1/K2, canal atual, caminho de luz, contadores e serviço eram evidências independentes; notificações vinham desativadas por padrão e nem sequer eram obrigatórias em toda implementação.

Um sistema podia sofrer comutação, incrementar o contador e alterar os bits de estado sem produzir um único trap. apsNotificationEnable começava com o conjunto vazio. Além disso, o grupo de eventos era opcional no modelo de conformidade. O silêncio não era uma observação do cabo; era também uma escolha de configuração.

RFC 3498 definiu uma MIB SMIv2 para Automatic Protection Switching linear em SONET, cobrindo 1+1 e 1:n. A MIB dava ao operador tabelas separadas para configuração, mapeamento, comandos, estado de grupo, estado de canal e notificações. Essa separação importava porque nenhuma tabela continha sozinha o resultado operacional.

Para formar um grupo, criavam-se primeiro canais com nome, número, InterfaceIndex e, em 1:n, prioridade. A sequência precisava começar em zero ou um conforme a arquitetura, ser consecutiva e respeitar o limite de catorze canais de trabalho. Só então a linha de grupo podia tornar-se active. Um erro devolvia inconsistentValue.

Active provava coerência de configuração. Não provava que a linha de proteção estava disponível, que o par remoto usava o mesmo modo, que um defeito seria detectado ou que o cliente sobreviveria à troca. A tabela de comandos passava a existir porque a configuração estava ativa, não porque alguma comutação já tivesse ocorrido.

Os comandos podiam limpar, bloquear a proteção, forçar ou solicitar manualmente troca em ambos os sentidos e exercitar o protocolo. Para 1:n havia ainda bloqueio de canal de trabalho. Uma solicitação de prioridade igual ou superior já ativa podia impedir a nova operação. O agente devolvia inconsistentValue, expondo que havia outro dono momentâneo do estado.

Ao ler apsCommandSwitch, o operador recebia o último comando escrito. O RFC advertia que ele poderia não estar mais em vigor: uma requisição local ou remota de maior prioridade podia tê-lo preemptado. A investigação do presente exigia os K1/K2 recebidos e transmitidos, não a repetição da intenção antiga.

K1 carregava pedido e canal. K2 carregava canal, arquitetura e modo. Os dois sentidos mostravam o diálogo entre extremos. Divergência de modo, divergência de canal, falha de byte APS, falha remota da linha de proteção e tráfego extra tinham estados e contadores próprios. O campo de canal comutado dizia qual canal estava efetivamente em proteção naquele instante.

No canal, lockedOut, degradação, falha, switched e wait-to-restore eram bits diferentes. Os limiares de erro configurados ajudavam a declarar degradação ou falha. WTR atrasava a volta após uma troca automática para evitar oscilação. Uma duração configurada era intenção; o bit atual mostrava se a espera estava em curso.

Os registros históricos dependiam de contexto. Número de trocas, instante da última e segundos acumulados em proteção não eram equivalentes. A duração só era válida em modo reversivo. Ao desativá-lo, um valor podia cair para zero e o relógio de descontinuidade deveria marcar a mudança. Reinicialização da gestão também quebrava continuidade. Zero sem época podia esconder uso anterior.

As notificações eram geradas quando contadores incrementavam, desde que habilitadas e implementadas. Por isso, o caminho de observação precisava comparar traps com polling de estado e contador. Um monitor baseado apenas em eventos transformaria o padrão vazio em falsa tranquilidade.

O risco de escrita justificava SNMPv3. Comandos, bloqueios, modo, direção, reversão, tráfego extra, limiares BER, WTR, interface, prioridade e notificações podiam prejudicar a proteção se alterados de forma maliciosa. Autenticação e privacidade protegiam a mensagem; controle de acesso limitava o principal; a prioridade APS ainda decidia se a ordem venceria.

A escada de recibos começa no SET autenticado e autorizado, passa por valor aceito, arbitragem, memória do comando, K1/K2, resposta remota, canal atual, movimento óptico, telemetria contínua e tráfego restaurado, e termina com capacidade para a próxima falha. A ausência de trap e a leitura do último comando ocupam degraus diferentes.

O padrão cumpriu uma função mínima e importante: tornou esses degraus interoperáveis sem fingir que eram um só. A verdade simbólica — “este foi o último comando” — podia sobreviver à mudança da verdade operacional. O monitor responsável precisava guardar ambas.

Sources