Resumo

  • A RFC 3478 preservava entradas MPLS e associações label-FEC como estado obsoleto enquanto o LDP reconstruía o significado de controle.
  • Reconnect, liveness, recovery e holding timers, mais a proibição de reutilizar cedo um rótulo, tornavam a continuidade um empréstimo limitado, não prova de recuperação.

“Reinício gracioso” parece prometer uma volta intacta. A RFC 3478 descreveu um acordo mais restrito: o componente LDP do plano de controle podia reiniciar e reaprender, enquanto o plano de encaminhamento seguia usando regras instaladas antes da falha. Os pacotes continuavam mesmo quando a explicação de controle ainda não estava completa.

A suposição era mínima. Um LSR capaz de preservar estado MPLS não precisava guardar todo o estado relacionado ao LDP. Podia restar apenas a relação de rótulo de entrada para rótulo de saída e próximo salto, ou, no ingresso, de FEC para rótulo de saída e próximo salto. Isso evitava perturbar imediatamente um LSP, mas não provava que o controle lembrava o motivo de cada rótulo.

Depois do reinício, as entradas preservadas eram marcadas stale. Um novo Label Mapping podia confirmá-las por meio do rótulo de saída e de um próximo salto aprendido do vizinho. Implicit NULL, penultimate hop e egress exigiam condições sobre pop e FEC. A marca só desaparecia quando o protocolo reconstruído produzia a associação necessária.

No procedimento alternativo, uma FEC podia ter duas associações locais durante a recuperação: uma retida da execução anterior e outra criada depois. Ambas usavam o mesmo rótulo de saída e próximo salto; a antiga era apagada no fim. Continuidade não significava uma única verdade do plano de controle em cada instante.

O acordo era governado por tempo. O FT Session TLV na Initialization carregava FT Reconnect Timeout e Recovery Time. O primeiro indicava quanto o emissor queria que o vizinho mantivesse o estado antigo após perder comunicação. O segundo indicava por quanto tempo o LSR reiniciado manteria o encaminhamento que de fato havia preservado.

Zero tinha semântica forte. FT Reconnect Timeout zero dizia que o emissor não manteria seu próprio encaminhamento, embora ainda pudesse ajudar um vizinho. Recovery Time zero dizia que o estado antigo não estava disponível. O peer deveria remover as associações stale, e não esperar indefinidamente.

A política local encurtava a promessa. Antes da reconexão, o estado durava o menor valor entre FT Reconnect Timeout e Neighbor Liveness Timer. Depois de reconectar com Recovery Time não zero, a retenção era o menor entre esse tempo e Maximum Recovery Time. No equipamento reiniciado, MPLS Forwarding State Holding timer eliminava tudo que continuasse stale ao expirar.

Os relógios representavam autoridades diferentes. O vizinho pedia tempo, o operador local limitava a confiança e a máquina reiniciada limitava o que conseguia sustentar. A janela real era a interseção, não o maior número anunciado.

A RFC recomendava completar os mappings na primeira metade de Recovery Time. Porém, restabelecer TCP/LDP não provava que toda a LIB havia chegado. Em 2003 não existia ali um marcador explícito de conclusão. A RFC 5919 acrescentou depois End-of-LIB Notification. Esse contexto evidencia a lacuna, mas não pode ser projetado como campo original.

A quarentena de rótulos protegia o significado. Se um downstream liberasse uma cifra e lhe desse função nova enquanto o upstream ainda encaminhava segundo a antiga, os pacotes poderiam chegar ao destino errado. Um rótulo liberado não deveria ser reutilizado para um vizinho com graceful restart antes de FT Reconnect Timeout mais Recovery Time.

A segurança mostrou que o tempo podia ser atacado. Um invasor poderia forçar Recovery Time a zero e provocar a liberação de rótulos. No sentido oposto, reutilizar cedo um rótulo de espaço de plataforma poderia encontrar um vizinho que ainda transmitia segundo a associação antiga. Autenticação ajudava, mas era necessário provar o que cada lado acreditava em cada momento.

Tráfego sem interrupção é um recibo estreito. Mostra que algumas entradas sobreviveram e funcionaram para os pacotes observados. Não mostra que todas as FECs foram atualizadas, que a nova sessão reconstruiu a LIB, que a propriedade dos rótulos atribuídos por BGP ou RSVP-TE foi mantida, nem que o estado seria seguro após o último timer.

A disciplina de Heng Lu começa pelas sessões antiga e nova, eventos TCP, FT TLV e todos os timers. Separa forwarding, LIB e origem de protocolo. Para cada entrada, registra stale, Mapping e endereço que a atualizaram, mudança de rótulo, exclusão e quarentena antes de reutilização.

Só então entram os dados de tráfego. Um gráfico sem perda não é um log de reconstrução. Uma sessão verde não é End-of-LIB. Recovery Time não zero é uma alegação de retenção, não uma medição. Uma entrada ainda capaz de encaminhar permanece stale até receber a prova de controle.

A RFC 3478 é história da Internet porque construiu continuidade sobre dúvida disciplinada. O plano de dados podia viver temporariamente mais que sua narrativa de controle, sem transformar o passado em verdade permanente. Os rótulos encaminhavam em tempo emprestado; o protocolo definia quem concedia, encurtava e encerrava o empréstimo.

Fontes