split horizon

termo

redes

Uma regra de roteamento distance-vector: nunca anuncie uma rota de volta pela interface em que ela foi aprendida.

Documentado na RFC 1058, a especificação do RIP de 1988, o split horizon quebra o loop de roteamento mais simples: sem ele, dois vizinhos podem anunciar uma rota morta um para o outro, contando a métrica rumo ao infinito enquanto o tráfego fica em pingue-pongue. A variante mais estrita, split horizon com poison reverse, anuncia a rota de volta, mas com métrica infinita (16 no RIP), o que mata o loop mais rápido ao custo de atualizações maiores. A ideia sobreviveu ao RIP: o iBGP aplica sua própria regra de split horizon, recusando-se a reanunciar a um par iBGP uma rota aprendida de outro, e é exatamente por isso que o iBGP exige full mesh ou route reflectors. Não confundir com split brain, uma falha de alta disponibilidade sem relação, que por acaso compartilha o adjetivo.

A regra sobrevive dentro dos protocolos link-state sempre que eles passam resumos em vez de mapas. Entre áreas do OSPF só viajam resumos e rotas externas, e a documentação do FRRouting conclui que o roteamento entre áreas é distance-vector, não link-state. A RFC 2328 aplica então a regra antiga: o area border router não origina o resumo de uma rota de volta para uma área quando os próximos hops dela estão nessa mesma área, o que a RFC chama de equivalente lógico do split horizon. O OSPF também força o roteamento entre áreas a ser uma estrela, com a área 0 no centro.

O IS-IS enfrenta um loop parecido entre seus níveis: um prefixo vazado do Level 2 para uma área Level 1 poderia ser pego por outro roteador e anunciado de volta ao backbone. A resposta da RFC 1195 foi permitir anúncios só para cima; a RFC 5305 registra o remédio posterior para o vazamento, o up/down bit, ligado em 1 quando um prefixo desce, para que ele só possa continuar descendo na hierarquia.

← Todos os verbetes do glossário