Мне было интересно, как метрика маршрута рассчитывается Linux. Например, таблица маршрутизации хоста в моем Ubuntu 16.04 имеет два маршрута, и каждому назначается метрика 100.

Существуют ли какие-либо динамические формулы для расчета показателя на основе скорости интерфейса, характеристик и т.д., Или используется фиксированная таблица?

Также кто-нибудь может отослать меня к исходному коду Linux, который отвечает за вычисление метрики?

1 ответ1

0

Я не могу указать вам исходный код, но таблица маршрутов интерпретируется следующим образом:

Более специфические маршруты - то есть те, которые имеют более конкретную маску сети (Genmask) - получают приоритет над теми, которые имеют более высокую маску сети.

Если у вас есть 2 записи для одного и того же маршрута с одной и той же маской сети, то меньшее число будет считаться более коротким расстоянием, и трафик будет отправлен на него.

В стандартной таблице маршрутизации нет динамических формул для расчета показателя на основе скорости интерфейса, это просто таблица, но вы можете изменить этот показатель. (В Ubuntu /etc /interfaces позволит вам указывать метрику опций с данной метрикой, аналогично OpenVPN позволяет вам указывать метрики маршрутов для данных маршрутов). Показатель 100, кажется, по умолчанию.

Обратите внимание, что вы можете настроить несколько таблиц маршрутизации и выполнять маршрутизацию от источника. Аналогичная логика применима, и я не верю, что углубление в это находится в рамках вопроса.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .