routed

Сервис маршрутизации RIP и обнаружения маршрутизаторов

Синтаксис:

routed [-Adghmqstv] [-F сеть [/маска[,метрика]]] [-P параметры] [-T файл_трассировки]

Опции:

-A
Не игнорировать аутентификацию RIPv2, если она не важна. Эта опция необходима для обеспечения соответствия стандарту RFC 1723. Однако она бессмысленна и препятствует использованию RIP в качестве протокола обнаружения, который игнорирует все пакеты RIPv2, для которых аутентификация является обязательной, если фактически для данного хоста аутентификация не важна.
-d
Не выполнять утилиту в фоновом режиме (только для интерактивного режима).
-F сеть[/маска][,метрика]
Минимизировать маршруты при передаче через интерфейсы с адресами, соответствующими параметрам сеть/маска, и создать маршрут по умолчанию к этому компьютеру с использованием метрики. Эта опция предназначена для уменьшения трафика RIP по медленным каналам связи "точка-точка", например PPP, за счет замены большого количества крупных UDP-пакетов данных RIP одним небольшим пакетом, содержащим "ложный" маршрут по умолчанию. Если метрика отсутствует, используется значение 14, которое должно ограничить распространение "ложного" маршрута по умолчанию. Это функция является потенциально опасной, так как при ее неосторожном использовании могут возникать маршрутные петли. Также обратите внимание, что соответствовать указанным номеру и маске сети могут несколько интерфейсов. См. также описание опции -g.
-g
Эта опция, используемая в межсетевых маршрутизаторах для прокладывания маршрута к адресу назначения по умолчанию, обычно применяется в следующих шлюзах: Эта опция эквивалентна -F 0/0,1 и продолжает существовать по историческим причинам. При использовании значения метрики 1 более вероятен беспорядок в результате формирования маршрутной петли, но не решение исходной проблемы. Рекомендуется использовать опцию -P pm_rdisc в командной строке или добавить pm_rdisc в файл /etc/gateways. Поскольку в этих случаях значение метрики больше, вероятность распространения потенциально опасного маршрута очевидно ниже.
-h
Не объявлять маршруты к хосту или маршруты "точка-точка" при наличии маршрута сети, имеющего такое же направление. Эта опция предназначена для ограниченной агрегации и подходит для шлюзов к сетям Ethernet, к которым подключены другие шлюзы с каналами "точка-точка".
-m
Объявить маршрут к хосту или маршрут "точка-точка" к первичному интерфейсу. Эту опцию удобно использовать на многосетевых компьютерах, например серверах NFS, но ее следует применять только в тех случаях, когда интенсивность использования сервера компенсирует затраты на маршруты к хосту. Поскольку используется несколько интерфейсов, эту опцию целесообразно использовать, только если компьютер предоставляет информацию маршрутизации. Если эта опция указана совместно с опцией -q, объявляется маршрут к хосту.
-P параметры
Эта опция эквивалентна добавлению строки параметров параметры в /etc/gateways.
-q
Не предоставлять данные маршрутизации (эта опция противоположна -s). Если существует только один интерфейс, эта опция используется по умолчанию.
-s
Настроить утилиту routed для предоставления данных маршрутизации. По умолчанию при наличии нескольких сетевых интерфейсов и переадресации между интерфейсами с использованием стека TCP/IP (переадресация_IP=1; см. sysctl).
-T файл_трассировки
Повысить уровень отладки минимум на 1 и дописать в файл трассировки отладочную информацию. Из соображений безопасности выполнение routed в стандартном режиме при сохранении данных трассировки в файле не рекомендуется.
-t
Повысить уровень отладки для сохранения в файле трассировки, выбранном с помощью опции -T, или в стандартном потоке вывода более подробной информации. Уровень отладки можно повысить или понизить с помощью сигналов SIGUSR1 или SIGUSR2 или команды rtquery.
-v
Просмотреть и вывести в журнал версию сервиса.
журнал
Имя файла, в котором требуется регистрировать действия утилиты routed. Этот журнал содержит информацию об изменениях в таблицах маршрутизации; если опция -t для отслеживания всех пакетов не указана, в нем также сохраняется история последних отправленных и полученных сообщений, связанных с измененным маршрутом.


Note: Любые другие аргументы интерпретируются как имя файла, в котором требуется фиксировать действия утилиты routed. Вместо дописывания имени файла трассировки в команду предпочтительно использовать опцию -T.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, mips, ppc, x86

Описание:

Сервис routed вызывается при загрузке для управления таблицами сетевой маршрутизации. Для ведения таблицы маршрутизации ядра этот сервис использует протокол маршрутной информации (Routing Information Protocol, RIP), RIPv1 (RFC 1058), RIPv2 (RFC 1723) и интернет-протокол обнаружения маршрутизаторов (Internet Router Discovery Protocol) (RFC 1256). Протокол RIPv1 основан на прототипной реализации из BSD версии 4.3.

Этот сервис прослушивает на сокете UDP службу route на предмет обнаружения пакетов протокола маршрутной информации. Он также отправляет и получает групповые сообщения обнаружения маршрутизаторов ICMP. Если хост является маршрутизатором, то routed периодически передает копии таблиц маршрутизации хостам и сетям, подключенные напрямую. Он также объявляет или запрашивает маршруты по умолчанию с использованием групповых сообщений обнаружения маршрутизаторов ICMP.

При запуске (или последующем включении сетевого интерфейса) утилита routed использует функцию семейства адресов AF_ROUTE для поиска подключенных напрямую интерфейсов, настроенных в системе и отмеченных как "активные". Она добавляет необходимые для интерфейсов маршруты в таблицу маршрутизации ядра. Вскоре после запуска и при условии наличия по крайней мере одного интерфейса, для которого протокол RIP не был деактивирован утилита routed удаляет все уже существующие нестатические маршруты в таблице ядра. Статические маршруты в таблице ядра сохраняются и включаются в ответы RIP, если содержат действительную метрику RIP.

При наличии нескольких интерфейсов (не считая интерфейса обратной связи), предполагается, что хост должен переадресовывать пакеты в подключенных сетях. После передачи команды request RIP, объявлений и запросов обнаружения маршрутизаторов в новый интерфейс сервис входит в цикл и прослушивает запрос и ответ RIP, а также пакеты обнаружения маршрутизаторов от других хостов.

При получении пакета request утилита routed формирует ответ на основе данных, содержащихся во внутренних таблицах. Созданный пакет response содержит список известных маршрутов, каждый из которых помечен метрикой "счетчика переходов" (значение счетчика от 16 и выше считается "бесконечным"). Объявленные метрики соответствуют метрике, связанной с интерфейсом (см. описание утилиты ifconfig), поэтому настройка метрики на интерфейсе позволяет эффективно управлять трафиком.

В ответы не включаются маршруты, в которых первый переход в запрашивающей сети должен быть реализован в части расщепленного_горизонта. В ответ на запросы программ запросов, например rtquery, таблица выводится полностью.

Таблица маршрутизации, которой управляет сервис, содержит достаточное пространство для нескольких шлюзов, чтобы ускорить восстановление после отказа маршрутизатора для каждого адреса назначения. Полученные пакеты RIP response используются для обновления таблиц маршрутизации, если они созданы одним из нескольких известных шлюзов или объявляют более подходящую метрику, чем хотя бы один из существующих шлюзов.

При обновлении утилита routed записывает изменения в собственные таблицы и обновляет таблицу маршрутизации ядра в случае изменения кратчайшего маршрута до адреса назначения. Изменение в таблице маршрутизации ядра отражается на следующей партии отправленных пакетов response. Если следующий ответ не запланирован в течение определенного времени, отправляется ответ с обновлением флэш-памяти только для измененных маршрутов.

Помимо обработки входящих пакетов, утилита routed также периодически проверяет записи в таблице маршрутизации. Если запись не обновлялась в течение 3 минут, для нее устанавливается бесконечная метрика, и такая запись отмечается как подлежащая удалению. Удаление выполняется после объявления маршрута с бесконечной метрикой, чтобы эта запись стала недействительной во всей локальной сети. Это форма блокировки сбойного маршрута. Через некоторое время маршруты в таблице ядра, добавленные или измененные в результате передачи сообщений ICMP о перенаправлении, удаляются с целью минимизации "черных дыр". В случае таймаута TCP-соединения ядро сообщает об этом утилите routed, которая удаляет все перенаправленные маршруты через задействованный шлюз, увеличивает возраст всех маршрутов RIP через шлюз для обеспечения альтернативного выбора, а также возраст всех соответствующих маршрутов протокола обнаружения маршрутизаторов по умолчанию.

Хосты, выступающие в качестве межсетевых маршрутизаторов, безвозмездно предоставляют свои таблицы маршрутизации всем напрямую подключенным хостам и сетям каждые 30 секунд. Эти ответы RIP отправляются на широковещательный адрес в сетях, поддерживающих широковещательную передачу, на адрес назначения в каналах "точка-точка" и на собственный адрес маршрутизатора в других сетях. Если активирован RIPv2, то интерфейсами, поддерживающими многоадресную передачу, отправляются многоадресные пакеты.

Если ответ удаленным интерфейсом не получен, а также при возникновении ошибок в процессе отправки ответов или ошибок ввода-вывода (см. netstat), кабель или другой элемент интерфейса считается отключенным или поврежденным и маршруты соответствующим образом корректируются.

Интернет-протокол обнаружения маршрутизаторов используется аналогичным образом. Когда сервис предоставляет маршруты RIP, он также прослушивает запросы обнаружения маршрутизаторов и отправляет объявления. В режиме подавления вывода, когда осуществляется прослушивание других маршрутизаторов RIP, он отправляет запросы и прослушивает объявления. При получении подходящего объявления и при условии работы в одной сети прослушивание широковещательных или многоадресных ответов RIP прекращается. Сервис отслеживает объявления от нескольких маршрутизаторов, чтобы обеспечить быстрое восстановление в случае отказа выбранного маршрутизатора. Если все найденные маршрутизаторы оказываются неработоспособными, сервис возобновляет прослушивание ответов RIP. В целях обеспечения использования всех интерфейсов он продолжает прослушивание, а если задействованы несколько сетей, то используется протокол обнаружения маршрутизаторов.

В соответствии со стандартом обнаружения маршрутизаторов срок существования объявлений по умолчанию составляет 30 минут. Это означает, что в случае сбоя подходящий маршрут для клиента может отсутствовать в течение 30 минут. Этот срок по умолчанию можно сократить до 45 секунд, для чего необходимо ввести следующее:

-P rdisc_interval=45

в командной строке или следующее:

rdisc_interval=45

в файле /etc/gateways.

При использовании протокола обнаружения маршрутизаторов (который выбирается по умолчанию, если в системе имеется один сетевой интерфейс и получено объявление обнаружения маршрутизаторов) в таблице ядра содержится только один маршрут по умолчанию и переменное количество перенаправленных маршрутов к хостам. Хостом с несколькими сетевыми интерфейсами этот маршрут по умолчанию используется только на одном из интерфейсов. Таким образом, для многосетевых хостов, на которых сервис запущен с помощью опции -q, может потребоваться указать параметр no_rdisc, описанный далее.

Для получения информации о поддержке "устаревших" систем, в которых недоступны протокол RIPv2 и обнаружение маршрутизаторов, см. описание функции pm_rdisc.

Объявления и запросы обнаружения маршрутизаторов по умолчанию не передаются по каналам "точка-точка" (например, PPP). Сервис routed использует сетевую маску, связанную с каналами "точка-точка" (например, PPP с флагом IFF_POINTOPOINT), для получения сетевой маски, используемой в удаленной системе в случае использования RIPv1.

Сервис routed поддерживает понятие удаленного пассивного или активного шлюза. При запуске routed считывает /etc/gateways в следующих целях:

Для получения дополнительной информации см. файл /etc/gateways.

Файлы:

/etc/gateways
Список удаленных шлюзов, которые невозможно обнаружить исключительно на основе информации, получаемой от сокета маршрутизации.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино», NetBSD

Тематические ссылки:

ICMP, UDP

/etc/gateways, rtquery




Предыдущий раздел: Сервисы