Problema de loop de roteamento - Routing loop problem
Um loop de roteamento é um problema comum com vários tipos de redes , principalmente redes de computadores . Eles são formados quando ocorre um erro na operação do algoritmo de roteamento e, como resultado, em um grupo de nós, o caminho para um determinado destino forma um loop.
Na versão mais simples, um loop de roteamento de tamanho dois, o nó A pensa que o caminho para algum destino (chame-o de C) é através de seu nó vizinho, nó B. Ao mesmo tempo, o nó B pensa que o caminho para C começa nó A.
Portanto, sempre que o tráfego para C chega a A ou B, ele fará um loop infinito entre A e B, a menos que exista algum mecanismo para evitar esse comportamento.
Como um loop de roteamento pode se formar
Por exemplo, nesta ilustração, o nó A está transmitindo dados para o nó C através do nó B. Se o link entre os nós B e C cair e B ainda não informou o nó A sobre a quebra, o nó A transmite os dados para o nó B assumindo que o link ABC está operacional e de menor custo. O nó B sabe do link quebrado e tenta alcançar o nó C através do nó A, enviando assim os dados originais de volta ao nó A. Além disso, o nó A recebe os dados que originou de volta do nó B e consulta sua tabela de roteamento. A tabela de roteamento do nó A dirá que ele pode chegar ao nó C através do nó B (porque ainda não foi informado da quebra), enviando seus dados de volta ao nó B criando um loop infinito. Esse problema de loop de roteamento também é chamado de loop de dois nós .
Como um loop de roteamento pode persistir
Considere agora o que acontece se o link de A para C e o link de B para C desaparecerem ao mesmo tempo (isso pode acontecer se o nó C travar). A acredita que C ainda é alcançável por meio de B e B acredita que C é alcançável por meio de A. Em um protocolo de alcançabilidade simples, como o EGP , o loop de roteamento persistirá para sempre.
Em um protocolo de vetor de distância ingênuo, como o protocolo de informações de roteamento , o loop persistirá até que a métrica de C alcance o infinito (o número máximo de roteadores que um pacote pode percorrer no RIP é 15. O valor 16 é considerado infinito e o pacote é descartado).
Prevenção e mitigações
Em um protocolo de roteamento link-state , como OSPF ou IS-IS , um loop de roteamento desaparece assim que a nova topologia de rede é inundada para todos os roteadores na área de roteamento. Presumindo uma rede suficientemente confiável, isso acontece em alguns segundos.
Os protocolos de roteamento de vetor de distância mais recentes , como BGP , EIGRP , DSDV e Babel, têm prevenção de loop embutida: eles usam algoritmos que garantem que os loops de roteamento nunca possam acontecer, nem mesmo transitoriamente. Protocolos de roteamento mais antigos, como RIP e IGRP , não implementam as formas mais novas de prevenção de loop e apenas implementam mitigações, como split horizon , route poisoning e holddown timers.