Resumo

  • A RFC 3063 só liberava o mapeamento após o retorno do fio, transformando a prevenção de loop em pré-condição para criar o caminho, não em inferência extraída da rota.
  • Cor, contagem de saltos e TTL mantinham o estado do fio em tamanho fixo; a garantia continuava restrita ao procedimento e não provava implantação ou entrega de pacotes.

O rótulo ficava para o fim

O aspecto mais importante da RFC 3063 não é simplesmente detectar um loop. É ligar essa detecção a uma ação concreta: no modo de prevenção, o roteador não anuncia o mapeamento de rótulo enquanto o fio de controle não tiver sido rebobinado.

MPLS não exige que cada roteador releia o caminho inteiro para encaminhar cada pacote. Um roteador de comutação por rótulos associa um rótulo a uma classe de equivalência de encaminhamento (FEC). Se o próximo salto muda enquanto a rota de camada 3 ainda forma um loop, distribuir o rótulo cedo demais pode instalar um LSP que herda esse loop. A RFC 3063 transforma a criação do caminho em uma catraca: primeiro a rota candidata precisa atender às regras do fio; só então o mapeamento é liberado.

Publicada em fevereiro de 2001, a RFC é Experimental e declara que não define um padrão da Internet. O fio é uma sequência de mensagens de controle de caminho com três atributos: cor, contagem de saltos e tempo de vida (TTL). A cor combina o endereço IP do nó iniciador com um identificador de evento local, concebido para ser único entre nós e entre eventos. Quando a mesma cor retorna, o nó reconhece que o fio encontrou um caminho circular. A contagem de saltos mantém uma medida crescente ao longo do percurso; um valor especial “desconhecido” trata certos casos em que o algoritmo já identificou o loop.

O TTL limita até onde a mensagem de controle pode viajar, mas não é, por si só, a prova de que a rota está livre de loops.

Os roteadores podem estender o fio em direção à saída, mesclar trabalho compatível, pará-lo quando a cor retorna por um caminho já visto, retirá-lo quando um próximo salto desaparece ou rebobiná-lo enviando confirmações de volta pelo trajeto percorrido. No modo de prevenção, o mapeamento só sai depois do rebobinamento. No modo de detecção, um nó pode responder com o mapeamento assim que recebe um fio colorido, mas essa resposta não rebobina o fio. Portanto, o mesmo mecanismo admite momentos diferentes para liberar o label; chamar ambos de “prevenção de loop” apaga uma diferença operacional.

O tamanho do estado também tem limite. Um vetor de caminho cresce com o comprimento do LSP; o objeto do fio permanece de tamanho fixo. Enquanto o fio está em trânsito, os roteadores guardam temporariamente cor e contagem de saltos nos enlaces pertinentes. Depois do retorno, podem descartar a cor ativa e conservar apenas a contagem. A RFC 3063 argumenta que isso limita o tamanho das mensagens independentemente da dimensão da rede e envolve apenas os nós a jusante da nova rota quando um próximo salto muda. É uma comparação de projeto feita pelos autores, não uma medição publicada em produção.

O documento permite manter o caminho antigo enquanto a rota nova encontra um loop de camada 3, mas chama isso explicitamente de decisão de implementação. Também descreve adaptação aos dois modos de alocação ordenada, coexistência com diferentes capacidades de VC merge e divisão de carga por fios distintos. A descrição dessas possibilidades não comprova que algum equipamento as tenha implementado ou que operadores as tenham usado.

Um recibo do plano de controle não é uma captura de pacotes

A arquitetura MPLS da RFC 3031 separa a distribuição de rótulos de sua aplicação no plano de encaminhamento. O rebobinamento do fio informa que um estado do plano de controle satisfez o algoritmo. Não mostra que todas as tabelas de encaminhamento receberam o label correto, que os pacotes percorreram a rota ou que outra ordem de eventos não produziu um loop transitório. Para responder a isso, são necessários dados do plano de dados: estado da FIB, contadores, sondas e um período de observação definido.

A especificação LDP posterior, RFC 5036, descreve detecção configurável por meio dos TLVs Path Vector e Hop Count. O vetor registra os identificadores dos LSRs atravessados; a repetição de um identificador ou o alcance de um limite configurado leva ao tratamento de loop. Essa é uma técnica LDP diferente dos fios experimentais da RFC 3063. Sua presença numa especificação posterior não mede a adoção do mecanismo de fios nem prova que a normalização o tenha rejeitado por motivo técnico. Já a RFC 5715 trata da convergência sem loops após mudanças de topologia, um tema próximo, mas distinto de impedir a criação de um LSP circular.

A conclusão histórica não precisa ser uma história de sucesso ou fracasso. A RFC 3063 colocou um recibo do plano de controle antes da liberação do rótulo e evitou transportar um vetor que aumentasse com o caminho. O LSP era livre de loops segundo o modelo do documento; implementação real, retenção do caminho antigo e entrega de pacotes precisam de evidências próprias.