Dois engenheiros podem sair da mesma janela de manutenção convencidos de que o novo caminho está em serviço, e ambos estarem errados por motivos diferentes. Um construiu o LSP e assumiu que o serviço o seguiria. O outro deixou o serviço em paz e assumiu que nada tinha mudado. Um pseudowire só usa o transporte para o qual o endereço do seu par resolve naquele momento, então a pergunta real é o que essa resolução produz agora, e os dois desenhos respondem de forma diferente.

Um rótulo nomeia um serviço, o outro move um pacote

O rótulo do pseudowire, sinalizado por LDP direcionado como descrito na RFC 4447, informa à borda do provedor receptora qual circuito de conexão deve receber a trama. Não diz nada sobre como a trama chegou ali. O rótulo por baixo pertence ao transporte, e essa pilha é construída pelo que anunciou alcançabilidade para o loopback do par, seja LDP, RSVP-TE ou um caminho roteado por segmentos. Como protocolos diferentes sinalizam as duas camadas, uma pode estar saudável enquanto a outra está obsoleta. Essa separação é toda a fonte da confusão.

Vale dizer sem rodeios: o pseudowire não escolhe o LSP. Ele entrega uma trama ao transporte, e o transporte decide a partir do endereço de destino que recebeu.

É também por isso que um ping limpo pelo novo LSP prova tão pouco. O LSP pode estar ativo, rotulado e transportando outros serviços enquanto o seu pseudowire ainda resolve por outro próximo salto. Até você ler a vinculação, esses dois fatos não têm relação.

Opção A: fixar o pseudowire a um transporte escolhido

Fixar significa tornar determinística a resolução de transporte do serviço. Conforme a plataforma, isso assume a forma de uma política de seleção de túnel, um ponto final de transporte explícito no serviço, ou uma política de rota que reescreve o próximo salto para o endereço do par. As três fazem o mesmo por baixo: forçam a resolução de um destino para um LSP específico. É isso que torna o resultado auditável depois.

O custo é o alcance. Uma política que casa com um endereço de par afeta todo serviço apontado para esse par, não apenas o pseudowire que você tinha em mente.

A reserva merece uma decisão antes da janela de mudança, não durante. Se o LSP fixado cair, ou você deixa o serviço seguir por outro caminho aprovado ou deixa ele parar. Uma política que volta em silêncio para um caminho que viola um requisito de latência ou de disjunção converteu uma interrupção limpa em algo muito mais difícil de explicar a qualquer pessoa.

Opção B: deixar o IGP escolher e observar o que acontece

Deixar o serviço em paz é um desenho legítimo, e muitas vezes o melhor. O pseudowire segue a mesma resolução que qualquer outro tráfego para o loopback do par, então herda a convergência do IGP, a supressão de prefixos e a redundância que o núcleo já oferece. Menos políticas significam menos lugares onde uma correspondência obsoleta pode se esconder. A troca é que você não controla mais qual caminho o serviço toma, apenas que exista algum caminho.

O multipath de custo igual aguça essa troca mais do que parece à primeira vista. O hashing é por fluxo, então duas conversas dentro de um pseudowire podem sair com rótulos externos diferentes.

Leia o encaminhamento instalado antes de confiar em qualquer um dos dois

Comece pelo endereço do par em vez do serviço. No Junos, show route 203.0.113.1 detail imprime o próximo salto selecionado e a operação de rótulo, e show route table mpls.0 mapeia o rótulo de entrada para essa operação. No IOS XR, show mpls l2transport vc 100 detail dá o estado do pseudowire junto com a pilha imposta.

Confirme o LSP que o transporte realmente usa, não o que o seu documento de desenho nomeia. traceroute mpls ipv4 203.0.113.1/32 no IOS XR percorre o caminho comutado por rótulos e lista os rótulos e as interfaces de saída ao longo dele, o que é o mais próximo de olhar o caminho você mesmo. Depois repita o exercício a partir da borda de provedor remota, porque a direção de retorno resolve de forma independente e a assimetria é comum após uma implantação parcial de políticas. Um caminho correto em um sentido e errado no outro é pior do que um uniformemente errado, porque metade dos seus testes vai passar.

Guarde a evidência com o registro do serviço: endereço do par, próximo salto, rótulo externo e a data em que você verificou. As políticas de rota envelhecem mal, e ninguém lembra qual estava em vigor dois trimestres atrás.

Escolha por modo de falha, não por preferência

Fixar serve a serviços com um requisito que o IGP não consegue expressar, e a equipes que conseguem manter a política em cada mudança. Deixar isso para o IGP serve a serviços que precisam sobreviver a qualquer falha única sem uma pessoa no laço.

A pergunta decisiva é quanto um caminho errado custa a você. Se um serviço no LSP errado só rende um pouco pior, deixe o IGP decidir e gaste o esforço em monitoração. Se um caminho errado quebra um contrato, uma constatação de auditoria ou um requisito de disjunção, fixe-o e escreva a reserva. Depois teste a reserva, porque uma reserva não testada é uma suposição e não um plano. De qualquer forma, releia a vinculação instalada após qualquer mudança no núcleo, e trate um pseudowire que subiu como prova de nada além de que a sinalização funciona.

Artigos relacionados