Métrica máxima do OSPF: desencorajar o trânsito pela filial sem a remover
Uma filial pode continuar alcançável enquanto anuncia um custo de trânsito pouco atrativo. Percorra o caminho, leia o router-LSA e teste o caso do último caminho.
Dois escritórios ligam-se através de uma filial que deve transportar o seu próprio tráfego e muito pouco mais. A filial precisa de rotas para ambos os sites, e nenhum dos sites deve preferi-la como o caminho entre eles. Remover a filial da topologia resolveria o problema do trânsito e quebraria o requisito, porque a filial continua a precisar de alcançar os dois sites e os dois sites continuam a precisar de alcançar a filial.
O que quer é uma preferência, expressa no protocolo de encaminhamento, que deixe a filial plenamente alcançável e a torne uma má escolha para tudo o que a atravessa. Percorra o problema pela ordem em que os routers o veem.
Comece pelo caminho que quer evitar
Desenhe a topologia como o protocolo a vê, não como o diagrama a vê. Que interfaces formam adjacências, quais estão na mesma área e quais dessas adjacências transportariam tráfego entre os dois escritórios se a filial fosse preferida? São três perguntas separadas, e um diagrama não responde de forma fiável a nenhuma delas.
Depois encontre o caminho alternativo. Se a única rota entre os escritórios atravessa a filial, nenhuma métrica consegue retirar de lá o tráfego, porque o tráfego não tem para onde ir. A redundância não é um detalhe deste desenho; é a condição prévia. Um segundo caminho que só existe no papel não conta.
show ip ospf neighbor
show ip ospf interface brief
show ip route 10.40.0.0
Estas três vistas respondem a perguntas diferentes: quem é adjacente, que interfaces participam e a que custo, e que caminho o equipamento seleciona neste momento. Uma implementação com túnel acrescenta uma quarta: uma linha num diagrama não prova que a adjacência se formou através dela, e uma adjacência formada não prova que o encaminhamento segue o mesmo caminho. É nos desenhos com túnel que essa lacuna aparece mais vezes.
O que a métrica máxima anuncia
O RFC 6987 descreve um router que anuncia as suas ligações não stub com a métrica de ligação máxima, definida como 0xffff. O router continua a descrever-se a si e às suas ligações; apenas lhes atribui preço no topo do intervalo, pelo que qualquer outro router calcula um caminho através dele como caro.
Isto é uma alteração ao router-LSA, não uma remoção da topologia. A distinção importa: limpar o router-LSA retira a própria informação de topologia, o que também pode retirar as relações necessárias para alcançar o router e os prefixos por trás dele. Manter o anúncio e subir o seu preço preserva essas relações. É toda a diferença entre esta técnica e a remoção.
O mecanismo do RFC 6987 também não tem nada a ver com tipos de área nem com a eleição do router designado. Uma área stub bloqueia uma categoria de anúncios de estado de ligação numa fronteira de área, e um router stub atribui preço às suas próprias ligações. Palavras parecidas, maquinaria sem relação.
Porque a acessibilidade sobrevive e o trânsito não
Os outros routers continuam a ter uma rota para os prefixos ligados da filial, porque a filial continua a anunciá-los e as ligações continuam a existir. O que muda é o custo total de qualquer caminho que atravesse a filial a caminho de outro sítio. Os prefixos não se movem; só muda o preço de atravessar o router.
Para o tráfego cuja origem ou destino é a própria filial, a ligação cara continua no único caminho sensato, por isso é usada. Para o tráfego entre os dois escritórios, o caminho alternativo ganha agora em custo, e a filial sai da decisão de encaminhamento sem desaparecer da topologia. Duas direções, duas respostas diferentes, e ambas são o mecanismo a funcionar.
É esse o comportamento a verificar em vez de presumir. Veja o router-LSA que a filial gera, depois o caminho que outro router seleciona para um destino atrás da filial e para um destino no outro escritório. As duas respostas devem diferir, e se não diferirem, a alteração de métrica não chega à decisão que pensa.
O problema do último caminho
O mesmo RFC é explícito ao dizer que a técnica não proíbe o uso. Quando o caminho alternativo falha, os routers voltam ao caminho caro através da filial, porque continua a ser um caminho válido e o protocolo prefere uma rota cara a nenhuma rota.
Se esse recuo é aceitável é uma questão de política que deve responder antes da implementação. Uma filial num uplink pequeno que de repente transporta tráfego entre escritórios pode ser pior do que uma falha, e pode ser exatamente o que quer durante uma janela de manutenção. Ambas as respostas são legítimas; o silêncio não.
Se o requisito é uma proibição estrita em vez de uma preferência, o desenho da métrica por si só não a produzirá. Precisa de aplicação do encaminhamento que corresponda à intenção, mais um comportamento definido para o caso em que o tráfego chega de qualquer maneira. Anunciar um caminho como utilizável e depois descartar o tráfego cria um buraco negro mais difícil de diagnosticar do que um ciclo de encaminhamento.
Para OSPFv3 o RFC discute o bit R como uma forma diferente de excluir a participação no trânsito. Não presuma que herda o mesmo comportamento de último caminho que a técnica de métrica máxima, e não copie configurações entre as duas famílias de endereços como se fossem a mesma funcionalidade.
Prove-o em condições normais e de falha
Teste duas vezes: uma com os dois caminhos disponíveis e outra com o caminho preferido removido. O primeiro teste mostra a preferência a funcionar, e o segundo mostra o que a rede faz quando a preferência não pode ser respeitada. Saltar o segundo teste deixa a metade importante por examinar.
show ip ospf database router 10.0.0.3
show ip route 172.20.8.0
traceroute 172.20.8.1
A vista da base de dados mostra a métrica anunciada, a procura de rota mostra o próximo salto selecionado, e o traço mostra por onde os pacotes realmente foram. Quando estes três coincidem, tem um desenho verificado e não uma configuração que parece correta.
Depois restaure o caminho preferido e confirme que a filial volta a transportar apenas o seu próprio tráfego. O passo de restauro pertence ao teste e não à limpeza, porque um desenho que só funciona até à próxima alteração não é um desenho. Registe os dois resultados, incluindo o recuo, porque o segundo é a resposta de que alguém vai precisar às três da manhã.