Resumo

  • Em RFC 9524, o Replication-SID aciona uma lista de ramos local a um nó SR. Raiz, trânsito, folha e Bud têm estados corretos de formatos diferentes.
  • Segmentos corretos isoladamente podem formar um grafo incorreto. Um ciclo multiplica pacotes até o MPLS TTL ou o IPv6 Hop Limit terminar.
  • A afirmação “árvore ativa” requer três recibos na mesma versão: grafo dirigido verificado contra ciclos, leitura do estado instalado e observação de entrega nas folhas pretendidas.

Quando todas as caixas verdes escondem um ciclo

Considere a raiz A replicando para B e C. B ainda conserva um ramo da geração anterior apontando para A. A encontra seu Replication-SID, B também, e ambos resolvem os próximos saltos. Os comandos foram aceitos, portanto cada dispositivo pode responder com sucesso. Vistos em conjunto, porém, os ramos formam um ciclo.

RFC 9524 descreve a consequência sem eufemismo. O provisionamento incorreto de Replication segments pode produzir uma cadeia em loop, especialmente quando os nós SR são configurados sem plano de controle. As cópias criam uma tempestade até o MPLS TTL, no SR-MPLS, ou o IPv6 Hop Limit, no SRv6, chegar a zero. O limite de vida interrompe o pacote; não certifica a topologia.

Esse caso revela uma falha de autoridade. O recibo de um equipamento prova que ele aceitou e executou seu estado. Não pode, sozinho, falar pelos estados dos demais equipamentos nem garantir que a composição seja completa, acíclica e vinculada ao serviço pretendido.

O identificador é um endereço para estado local

O Replication segment é uma construção lógica local no nó de replicação. Ele liga esse nó a um conjunto de nós a jusante. Sua identidade é a tupla <Replication-ID, Node-ID>, enquanto o Replication-SID é o identificador do plano de dados: label no SR-MPLS ou SID no SRv6.

Quando ativo, o SID seleciona o Replication state local. Esse estado é conceitualmente uma lista de ramos. Cada ramo contém o nó a jusante, o Replication-SID a jusante e a forma de alcançá-lo. Pode ser interface e próximo salto, caminho com restrições, lista de SIDs ou SR Policy. O estado pode ser configurado localmente ou programado por um plano de controle.

Logo, o número do SID não representa a árvore comprimida. Seu significado depende do nó proprietário, papel, geração, ramos e intervalo de validade. Um inventário que guarda apenas o SID preserva o índice, mas perde o conteúdo que ele selecionava naquele momento.

Lista vazia não significa sempre falha

A lista de ramos pode estar vazia. Numa folha não há necessidade de replicar adiante, embora seu Replication-SID ainda possa identificar o serviço multiponto. RFC 9524 mantém o nome Replication segment por generalização. O nó Bud, por sua vez, é simultaneamente replicador e folha: cria cópias para baixo e entrega uma cópia localmente.

Portanto, o mesmo valor — zero ramos — pode ser correto numa folha prevista e fatal numa raiz ou trânsito. Verificar somente se o estado existe não resolve a ambiguidade. Exigir pelo menos um ramo em todos os casos também erra. O controle precisa comparar papel esperado, ramos esperados, estado lido e ação observada.

Essa comparação expira. Se uma folha vira Bud ou o conjunto de destinos muda, a interpretação anterior deixa de valer, ainda que o número do SID continue igual.

Como os dois planos de dados usam a lista

No SR-MPLS, o nó retira o Replication-SID ativo e cria uma cópia por ramo do estado local. Em cada cópia, empilha o Replication-SID a jusante e os labels necessários ao caminho. A entrega local em folhas e Buds continua dependente de configuração local.

No SRv6, End.Replicate consulta o estado pela parte funcional do SID. Se não houver estado, descarta. O nó verifica e reduz o Hop Limit, processa informação SRH permitida e produz uma cópia para cada ramo. Cada cópia recebe o Replication-SID a jusante como destino e, quando necessário, uma lista de segmentos.

Essas operações comprovam uma afirmação estreita: um nó encontrou uma versão de estado e a executou. Não demonstram que o próximo nó possuía estado correspondente, que todas as folhas eram alcançáveis, que nenhum ramo retornava a um ancestral ou que o pacote estava associado ao contexto VPN correto.

Costurar segmentos cria outro objeto

Replication segments podem ser costurados na raiz, em nós intermediários e nas folhas para formar uma árvore ponto a multiponto. RFC 9524 deixa o procedimento de costura para outras especificações. Ainda assim, determina que uma cadeia provisionada localmente não deve formar loop e que a especificação de plano de controle deve prevenir loops ou detectá-los e mitigá-los em estado estável.

RFC 9960 formalizou depois a SR P2MP Policy: raiz, conjunto de folhas e candidate paths. Um candidate path pode instanciar um P2MP tree instance, e um controlador programa os Replication segments que o compõem. RFC 10018 conectou essas árvores aos procedimentos de MVPN e EVPN.

São cinco níveis relacionados. Replication-SID é o identificador local; Replication state é o plano local de ramos; tree instance é a composição entre nós; intenção de serviço define raiz, folhas e contexto; entrega observada informa quais cópias chegaram. O sucesso num nível não herda a autoridade dos seguintes.

TTL é fusível, não auditor de grafo

Dizer que o loop é tolerável porque o TTL termina confunde contenção com correção. Se uma passagem cria várias cópias, a quantidade total depende do fator de ramificação, vida inicial e posição do ciclo. Uma tempestade limitada ainda pode afetar toda a infraestrutura durante sua existência.

O SRv6 também permite um IPv6 Hop Limit Threshold. O nó descarta abaixo do limiar e registra de forma limitada. O mecanismo ajuda a reduzir, entre outros riscos, uma tempestade de mensagens ICMPv6 quando nós comuns reduzem o Hop Limit a zero. Ao mesmo tempo, o valor deve deixar o pacote alcançar a folha legítima mais distante.

O limiar responde a uma pergunta de execução: ainda há vida suficiente? A análise de ciclos responde a uma pergunta estrutural: alguma sequência de ramos retorna a um estado anterior? Nem o limiar comprova completude, nem detecta um ramo indevido que não feche ciclo.

Uma resposta de ping não revela a árvore

RFC 9524 permite ping ao Replication-SID de uma folha ou Bud. Ao atravessar um nó de replicação intermediário, o Echo Request pode ser copiado a outras folhas, que o descartam por checksum incompatível com seus endereços. O traceroute convencional da árvore também não está disponível, pois o caminho replicado não gera os ICMPv6 Time Exceeded habituais.

Uma resposta confirma alcance até um respondente sob aquele estado. Não enumera ramos, não prova ausência de loop e não confirma entrega a todas as folhas. Evidência OAM precisa guardar alvo, tempo, geração e limites da observação.

Três recibos para uma única promoção

O recibo de grafo contém versão de serviço e policy, raiz, folhas esperadas, restrições, grafo dirigido calculado e resultado da detecção de ciclos nessa versão exata. Cada aresta resolve para nó proprietário, Replication-SID a jusante e objeto de alcance.

O recibo de instalação vem de todos os nós afetados: geração, papel, SID local, lista de ramos, indicador de entrega local e horário efetivo. Numa atualização gradual, a ordem também é evidência. Duas versões finais seguras podem criar temporariamente um loop ou buraco negro quando misturadas.

O recibo de resultado relaciona pacotes de entrada, cópias criadas, contadores por ramo, descartes por TTL ou Hop Limit e observações de cada folha. Uma folha recebendo não representa o conjunto. Se cópias por entrada crescem sem aumento dos destinos previstos, há um fato novo a investigar.

Os três sustentam uma frase precisa: esta versão calculou este grafo; estes nós instalaram estados compatíveis; neste intervalo, estas folhas apresentaram estes resultados. A frase é limitada o bastante para ser testada e revogada.

Fontes

Fontes