Como os valores da métrica da rota são calculados no Linux?

0

Eu queria saber como a métrica de uma rota é calculada pelo Linux. Por exemplo, a tabela de roteamento do host no meu Ubuntu 16.04 tem duas rotas e cada uma recebe uma métrica de 100.

Existem fórmulas dinâmicas para calcular a métrica com base na velocidade da interface, características, etc. ou uma tabela fixa é usada?

Alguém também pode me indicar o código-fonte do Linux que é responsável pelo cálculo da métrica?

    
por ManiAm 18.07.2018 / 00:52

1 resposta

0

Não consigo apontar para o código-fonte, mas a tabela de rotas é interpretada da seguinte forma:

Rotas mais específicas - ou seja, aquelas com uma máscara de rede mais específica (Genmask) - têm prioridade sobre aquelas com uma máscara de rede maior.

Se você tiver duas entradas para a mesma rota com a mesma máscara de rede, o número mais baixo será visto como uma distância menor e o tráfego será enviado.

Dentro da tabela de roteamento padrão, não há fórmulas dinâmicas para calcular a métrica com base na velocidade da interface, é apenas uma tabela, mas você pode modificar essa métrica. (No ubuntu, o / etc / interfaces permitirá que você especifique uma métrica de opção com uma dada métrica, da mesma forma que o OpenVPN permitirá que você especifique métricas de rota para determinadas rotas). Uma métrica de 100 parece ser o padrão.

Observe que você pode ter várias tabelas de roteamento configuradas de maneira diferente e roteamento de origem. Lógica semelhante se aplica, e eu não acredito que investigar isso está dentro do escopo da questão.

    
por 18.07.2018 / 02:04