Resumo

  • RFC 9899 permite alterar membros de um defined set sem redefinir a ACL que o referencia; uma regra estável não congela seu universo efetivo.
  • A prova histórica precisa ligar autorização, resolução completa, intended/operational por equipamento, attachment, contadores e resultado independente.

A alteração ocupava uma linha, mas alcançava muitos equipamentos. Um prefixo entrou em um conjunto compartilhado por várias ACLs. O pai não mudou, os nomes permaneceram iguais e a revisão superficial classificou a operação como de baixo risco. O pequeno diff escondia um grande grafo de referências.

RFC 8519 descreve a base: ACL é uma lista ordenada de ACEs. Cada ACE reúne critérios de correspondência e ações como aceitar, descartar, rejeitar, contar ou policiar. O filtro só atua depois que a ACL é aplicada a um attachment point; o modelo comum inclui interfaces e admite extensões.

RFC 9899 acrescenta defined sets de prefixos IPv4/IPv6, portas, protocolos e tipos ICMP, além de aliases que combinam parâmetros. Também amplia matches para payload, MPLS, VLAN, I-SID, fragmentos e flags TCP e inclui rate-limit.

O centro do desenho é a reutilização. Listas nomeadas separam a criação da regra da gestão dos membros. É possível adicionar ou remover valores sem redefinir a ACL pai. Conjuntos e ACLs podem existir no domínio administrativo e ser associados a vários dispositivos.

Isso muda o que deve ser versionado. O registro histórico precisa conter o pai, a ordem das ACEs, todos os membros e aliases transitivos, revisões dos módulos, capabilities, associação e ponto de aplicação de cada equipamento. O nome do conjunto é um ponteiro; não é a fotografia do seu conteúdo.

O tempo de propagação também faz parte da política. Se o conjunto muda às 10h05, o controlador confirma às 10h07, um equipamento aplica às 10h08 e outro às 10h13, um pacote das 10h10 encontra políticas diferentes. A automação pode estar funcionando exatamente como projetada e ainda assim não oferecer uma única resposta global.

RFC 8342 distingue <running>, <intended> e <operational>. Intended é a configuração transformada que o sistema tenta aplicar; a comparação com operational ajuda a verificar quanto está em uso. Configuração inativa, remanescente, atraso e aplicação malsucedida são possibilidades explícitas.

O estado desejado do controlador é uma testemunha, não o juiz final. Templates, defaults, features e augmentations podem mudar a forma resolvida. Para incidente e rollback, a leitura operacional precisa ser específica por alvo e por tempo.

O sucesso do protocolo de gestão também é limitado. RFC 6241 define NETCONF <ok> para RPC processada sem erro ou aviso e sem dados de retorno. RFC 8040 usa 201 ou 204 para recurso RESTCONF criado ou modificado. São recibos administrativos, não prova de que um pacote posterior encontrou a ACE ou de que o serviço cumpriu um objetivo.

RFC 8341 protege o plano de gestão por NACM. RFC 9899 marca defined sets sensíveis com nacm:default-deny-write, pois uma edição não autorizada pode liberar tráfego indevido ou bloquear tráfego legítimo. A permissão para escrever e a execução do filtro são eventos separados.

Os contadores de RFC 8519 aproximam a análise do runtime. matched-packets e matched-octets podem aparecer por ACE e interface. Um incremento diz que o dispositivo atribuiu tráfego à entrada. Sem escopo, reset epoch, relógio, attachment e conjunto resolvido, ele não reconstrói o passado. Também não identifica cliente nem comprova resultado ponta a ponta.

Zero merece cautela: pode ser ausência de match, recurso não suportado, reset, janela perdida, alvo errado, ACL não anexada ou versão antiga. Evidência negativa precisa declarar onde o sistema conseguia observar.

No payload matching, RFC 9899 modela offset, comprimento, padrão binário e operador. O texto diferencia dados não criptografados, onde o padrão pode ser determinístico, de tráfego criptografado, onde a eficiência depende de um padrão visível invariável. Expressividade do schema não cria visibilidade no pacote.

RFC 7950 disciplina a representação YANG de configuração, estado, RPC e notificações. Uma instância válida prova conformidade ao modelo; não prova instalação física, match ou efeito no aplicativo.

Uma cadeia defensável começa pelo ator autenticado, sessão, decisão NACM, request, datastore e response. Depois congela ACL, ACEs, membros, revisões, capabilities, dispositivos, attachments e snapshots intended/operational. Contadores com histórico de reset, logs e observação packet/flow cobrem o plano de dados. O serviço registra o próprio resultado.

O rollback precisa restaurar o mesmo pacote resolvido. Repor o pai e deixar o set alterado não volta a política. Repor o objeto central sem verificar os dispositivos não fecha a operação. O last-known-good inclui grafo, membros, módulos, alvos e probes.

A primazia do código em execução de Heng Lu distribui autoridade: gestor prova transação; dispositivo prova operational e counters; sensor prova tráfego; aplicativo prova resultado. As camadas de realidade impedem que o pai estável apague o filho mutável. Soberania de dados separa controle técnico de poder geral. A especificação inicial mínima mantém o modelo comum fino e as decisões de rollout e reversão locais.

A liderança deve perguntar: qual política totalmente resolvida cada equipamento executava naquele instante, o que ele observou e que registro independente confirma o próximo efeito?

Sources