Статическая маршрутизация

Статическая маршрутизация (англ. static routing) — способ организации маршрутизации в вычислительных сетях, при котором маршруты задаются статически в виде фиксированных записей, не изменяющихся во время работы системы без ручного вмешательства. Статические маршруты могут использоваться как вместе с динамическими протоколами маршрутизации, так и самостоятельно, и обычно хранятся в той же таблице маршрутизации, что и записи, полученные с помощью протоколов[1]. Для задания маршрута требуется как минимум указать пункт назначения и шлюз, однако дополнительно могут использоваться параметры, например метрика (иногда называемая «административным расстоянием»). В некоторых реализациях сетевой адрес и маска подсети хранятся раздельно, однако для принятия решений о маршрутизации учитывается эта пара значений для поиска наиболее длинного совпадения префикса. Статические маршруты, вместе с непосредственными («connected») маршрутами и маршрутами, полученными по конфигурационным протоколам (таким как DHCP или Router Advertisements), составляют общее множество маршрутов, которое затем может быть перераспределено с помощью динамических протоколов маршрутизации[2]. Статические маршруты вносятся в систему вручную и сохраняются до явного удаления или изменения, в то время как динамические протоколы создают и удаляют маршруты автоматически в процессе работы. Таким образом, термин «статическая» указывает на неизменяемость таких маршрутов со стороны системы. Наиболее яркий пример статического маршрута — это маршрут по умолчанию, часто используемый на устройствах с предустановленным IP-адресом для обеспечения доступа к остальной сети или интернету[3]. В отличие от так называемого непосредственного маршрута, который формируется автоматически при назначении адреса на основе применяемой маски подсети, статический маршрут всегда настраивается вручную, что может привести к ошибке настройки, если на момент добавления маршрута, кроме непосредственного, нет маршрута к указанному шлюзу. При этом непосредственный маршрут гарантированно будет работать, поскольку не требует указания шлюза. В большинстве реализаций шлюз для статического маршрута может быть задан не только IP-адресом, но и сетевым интерфейсом.

Применение

Статическая маршрутизация может использоваться в следующих случаях:

  • При статической конфигурации адреса (при отсутствии DHCP или Router Advertisements), позволяет задать маршрут по умолчанию, как частный случай поиска длиннейшего совпадения префикса: длина префикса равна нулю, потому такой маршрут совпадает всегда, но обрабатывается последним.
  • В небольших сетях это жизнеспособный способ задать альтернативные маршруты для управления трафиком, если имеется несколько маршрутизаторов. Такой подход представляет собой простую, но ограниченную форму инженерии трафика.
  • Статическая маршрутизация используется в средах с большим числом маршрутов и редкими изменениями, сокращая задержки на синхронизацию с другими устройствами.
  • На сильно ограниченных по ресурсам устройствах, где невозможна работа динамических протоколов из-за недостатка вычислительной мощности, статические маршруты используются вместо них.
  • Статические и непосредственные маршруты, а также маршруты, полученные с помощью динамических протоколов конфигурации, могут быть перераспределены с помощью динамических протоколов маршрутизации. Например, у маршрутизатора может быть статический или непосредственный маршрут для локального сегмента, который затем распространяется по динамическим протоколам для подключения других сетей[4].
  • Использование метрики для снижения приоритета статического маршрута позволяет создать запасной маршрут на случай, например, если DHCP‑сервер перестал быть доступен. Это также предотвращает возникновение ситуаций блокировки доступа к устройству.

Преимущества

Статическая маршрутизация имеет следующие достоинства:

  • Благодаря локальной настройке на устройстве может служить базой для работы других протоколов[5].
  • Не требует сетевой доступности для функционирования, что даёт высокую устойчивость при отказах сети.
  • По сравнению с динамическими протоколами, статические маршруты реализованы шире — например, даже простейшие потребительские коммутаторы могут поддерживать статическую маршрутизацию.
  • Статические маршруты не передаются по сети, что снижает потенциальные риски безопасности; в то время как динамические протоколы требуют защиты от атак, направленных на перехват управления трафиком[6].

Недостатки

У статической маршрутизации существуют и возможные недостатки:[7]

  • Человеческий фактор: Необходимость ручной настройки маршрутов может стать причиной ошибок из-за отсутствия автоматизированных средств управления конфигурацией.
  • Административные издержки: Аналогично, все маршруты должны быть прописаны на устройствах вручную. Это может быть решено с использованием систем управления конфигурацией либо с помощью механизмов генерации конфигурации средствами шаблонов или программ управления IP‑адресами.
  • Отказоустойчивость: Факт, что статические маршруты не удаляются при сбоях сети, может быть положительным (маршруты продолжают функционировать), однако большинство реализаций продолжает использовать статический маршрут, пока интерфейс, на котором находится шлюз, находится в состоянии up. При аппаратных сбоях часть интерфейсов может сохранять активное состояние, но не передавать данные (например, при зависании оборудования). Динамические протоколы маршрутизации обычно поддерживают таймауты и могут интегрироваться с дополнительными протоколами (например, Bidirectional Forwarding Detection), чтобы минимизировать время наличия ошибочного маршрута.
  • Обозримость: Статические маршруты сами по себе не распространяются между устройствами сети; поэтому при построении сети только на статических маршрутах сложно получить общую картину о маршрутизации, если специально не производится мониторинг. Динамические протоколы маршрутизации обычно распространяют топологическую информацию или могут быть интегрированы с инструментами отладки, такими как Looking Glass сервер.

Пример

Для маршрутизации IP-трафика, предназначенного для подсети «10.10.20.0/24», через следующий маршрутизатор с IPv4-адресом «192.168.100.1» используются следующие команды или действия:

Linux

Современные дистрибутивы Linux предоставляют пользователям разнообразные инструменты настройки сети[8], среди которых по умолчанию, как правило, присутствуют systemd-networkd или ifupdown[9]. Выбранное ПО настраивает постоянную конфигурацию, которая применяется при загрузке. Также возможно внести маршрут в ручном режиме с помощью команды ip из пакета iproute2. Следующая команда устанавливает статический маршрут с помощью ip:[10]

root@router:~# ip route add 10.10.20.0/24 via 192.168.100.1

Cisco

Маршрутизаторы Cisco под управлением операционной системы Cisco IOS настраиваются через командную строку:[11]

> enable
# configure terminal
(config)# ip route 10.10.20.0 255.255.255.0 192.168.100.1

Настройка административного расстояния

Административное расстояние может быть вручную изменено, чтобы данный статический маршрут использовался как запасной и активировался только при недоступности динамического маршрута[12].

(config)# ip route 10.10.20.0 255.255.255.0 exampleRoute 1 254

Установка административного расстояния в 254 приведёт к использованию маршрута исключительно как резервного.

Примечания

Категории