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

Pause

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

Применение

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

  • При статической конфигурации адреса (при отсутствии DHCP или Router Advertisements), позволяет задать маршрут по умолчанию, как частный случай поиска длиннейшего совпадения префикса: длина префикса равна нулю, потому такой маршрут совпадает всегда, но обрабатывается последним.
  • В небольших сетях это жизнеспособный способ задать альтернативные маршруты для управления трафиком, если имеется несколько маршрутизаторов. Такой подход представляет собой простую, но ограниченную форму инженерии трафика.
  • Статическая маршрутизация используется в средах с большим числом маршрутов и редкими изменениями, сокращая задержки на синхронизацию с другими устройствами.
  • На сильно ограниченных по ресурсам устройствах, где невозможна работа динамических протоколов из-за недостатка вычислительной мощности, статические маршруты используются вместо них.
  • Статические и непосредственные маршруты, а также маршруты, полученные с помощью динамических протоколов конфигурации, могут быть перераспределены с помощью динамических протоколов маршрутизации. Например, у маршрутизатора может быть статический или непосредственный маршрут для локального сегмента, который затем распространяется по динамическим протоколам для подключения других сетей[5].
  • Использование метрики для снижения приоритета статического маршрута позволяет создать запасной маршрут на случай, например, если DHCP‑сервер перестал быть доступен. Это также предотвращает возникновение ситуаций блокировки доступа к устройству.
  • В тупиковых сетях (Stub-сетях) или филиалах с единственной точкой выхода для экономии вычислительных ресурсов и пропускной способности канала за счёт отсутствия служебного трафика динамических протоколов[6].
  • В облачных инфраструктурах (например, AWS, Azure, GCP) для создания изолированных VPC с непересекающимися CIDR-диапазонами и настройки маршрутизации через VPN-шлюзы[7].
  • В архитектурах SD-WAN для обеспечения базовой IP-связности на транспортном уровне (Underlay) и интеграции с локальными сегментами сети[8].

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

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

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

Недостатки

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

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

Особенности для IPv6

Особенности реализации статических маршрутов для протокола IPv6 обусловлены архитектурой адресации, в частности использованием локальных адресов канала (Link-Local Address, LLA). При настройке полностью заданных (fully specified) маршрутов указывается как исходящий интерфейс, так и адрес следующего перехода (глобальный индивидуальный адрес — GUA, либо LLA). Если в качестве следующего перехода используется LLA, указание исходящего интерфейса является обязательным, поскольку такие адреса уникальны и достижимы только в пределах одного физического канала. При настройке рекурсивных маршрутов в качестве следующего перехода задаётся только GUA без исходящего интерфейса, из-за чего маршрутизатор выполняет дополнительный (рекурсивный) поиск в таблице маршрутизации для его определения. Также существуют напрямую подключённые (directly attached) маршруты, где указывается только исходящий интерфейс; этот метод применяется для соединений «точка-точка» (point-to-point) и не подходит для широковещательных сетей, таких как Ethernet[13].

Пример

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

Windows

Алгоритм действий администратора при настройке статического маршрута в ОС Windows:

  1. Определить шлюз и интерфейс.
  2. Выполнить команду route add с указанием целевой подсети, маски подсети и IP-адреса шлюза.
  3. При необходимости добавить флаг /p для создания постоянного маршрута, который сохранится после перезагрузки системы.
  4. Проверить корректность добавления маршрута с помощью команды route print[14].

Пример команды для добавления временного маршрута:

route add 10.10.20.0 mask 255.255.255.0 192.168.100.1

Пример команды для добавления постоянного маршрута:

route /p add 10.10.20.0 mask 255.255.255.0 192.168.100.1

[14]

Linux

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

ip route add <сеть/маска> via <шлюз> [dev <интерфейс>]

[17] Пример:

ip route add 10.10.20.0/24 via 192.168.100.1

[17]

Для постоянной конфигурации в современных системах управления сетью применяются следующие подходы: В Netplan статический маршрут задаётся в блоке routes конфигурационного YAML-файла[18]:

network:
  version: 2
  ethernets:
    eth0:
      routes:
        - to: 10.10.20.0/24
          via: 192.168.100.1

В NetworkManager для добавления маршрута используется утилита nmcli:

nmcli connection modify <connection_name> +ipv4.routes "10.10.20.0/24 192.168.100.1"

В systemd-networkd маршрут указывается в секции [Route] конфигурационного файла .network[19]:

[Route]
Gateway=192.168.100.1
Destination=10.10.20.0/24

Cisco

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

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

Для настройки статической маршрутизации IPv6 с использованием link-local адреса следующего перехода необходимо указывать выходной интерфейс[21]:

(config)# ipv6 route 2001:db8:1::/64 GigabitEthernet0/0 FE80::2

Пример настройки статического маршрута в контексте VRF:

(config)# ip route vrf vrf1 10.0.2.0 255.255.255.0 10.0.1.1

Пример использования параметра track для интеграции с IP SLA[22]:

(config)# ip route 0.0.0.0 0.0.0.0 192.168.12.2 track 1

Плавающие статические маршруты и административное расстояние

Плавающий статический маршрут (англ. Floating Static Route) — это резервный статический маршрут, который активируется только при недоступности основного пути благодаря более высокому значению административного расстояния, выполняя роль запасного канала для обеспечения отказоустойчивости сети при сбоях[23].[24].

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

(config)# ip route 10.10.20.0 255.255.255.0 exampleRoute 1 254

Значение 254 не имеет особого программного статуса «исключительно резервного», а является лишь примером высокого административного расстояния, при этом маршрут со значением 255 считается ненадёжным и не устанавливается в таблицу маршрутизации.

Примечания

  1. ↑ TCP/IP Tutorial and Technical Overview (IBM RedBooks Series) (англ.). IBM RedBooks. Дата обращения: 26 августа 2026.
  2. ↑ Administrative Distance for Static Route. Cisco Community. Дата обращения: 26 августа 2026.
  3. ↑ ESPCommunity. enterprise-support.nvidia.com. Дата обращения: 26 августа 2026.
  4. ↑ Static Routing. docs.nvidia.com. Дата обращения: 26 августа 2026.
  5. ↑ Route Filtering and Redistribution. docs.nvidia.com. Дата обращения: 26 августа 2026.
  6. ↑ Comparing Static and Dynamic Routing Protocols: Which Should You Use? ITU Online. Дата обращения: 26 августа 2026.
  7. ↑ Multi-Cloud Networking: AWS, Azure, GCP (2026). Tech Insider. Дата обращения: 26 августа 2026.
  8. ↑ Secure SD-WAN 7.0 Deployment Guide for MSSPs (PDF). Fortinet. Дата обращения: 26 августа 2026.
  9. ↑ 1 2 Сравнительный анализ статической и динамической маршрутизации. libeldoc.bsuir.by. БГУИР (2019). Дата обращения: 26 августа 2026.
  10. ↑ Cisco Networking Articles (англ.). dummies. Дата обращения: 26 августа 2026. Архивировано 5 ноября 2013 года.
  11. ↑ Reliable Static Routing with IP SLA. NetworkLessons.com. Дата обращения: 26 августа 2026.
  12. ↑ BFD vs IP SLA. Cisco Community. Дата обращения: 26 августа 2026.
  13. ↑ IPv6 Static Routing. Network Academy. Дата обращения: 26 августа 2026.
  14. ↑ 1 2 Add Static Route Windows. OneUptime Blog. Дата обращения: 26 августа 2026.
  15. ↑ Chapter 5. Network setup (англ.). www.debian.org. Дата обращения: 26 августа 2026.
  16. ↑ 8.2. Configuring the Network (англ.). www.debian.org. Дата обращения: 26 августа 2026.
  17. ↑ 1 2 Статическая маршрутизация. Gentoo Wiki. Дата обращения: 26 августа 2026.
  18. ↑ How to Add Static Route with Netplan on Ubuntu 20.04 (англ.). LinuxConfig. Дата обращения: 26 августа 2026.
  19. ↑ Network Configuration with networkd (англ.). Flatcar Container Linux Documentation. Дата обращения: 26 августа 2026.
  20. ↑ Cisco IOS IP Command Reference, Volume 2 of 4: Routing Protocols, Release 12.3 T - IP Routing Protocol Commands: ip policy route-map through is-type. Cisco (2 февраля 2013). Дата обращения: 18 декабря 2024. Архивировано 2 февраля 2013 года.
  21. ↑ How to Configure IPv6 Static Route. NetworkLessons. Дата обращения: 26 августа 2026.
  22. ↑ Reliable Static Routing with IP SLA. NetworkLessons. Дата обращения: 26 августа 2026.
  23. ↑ Административное расстояние. Studfile. Дата обращения: 26 августа 2026.
  24. ↑ Floating Static Route. Training Camp. Дата обращения: 26 августа 2026.

Категории

Pause