Skip to content

🌐 Маршрутизация (Routing)

1. Что такое маршрутизация?

Маршрутизация — это процесс выбора физического или логического пути, по которому данные (пакеты) перемещаются от источника к получателю в сети. Этот процесс выполняется с помощью маршрутизаторов (роутеров) и специальных таблиц маршрутов.

💡 Пример: когда вы отправляете запрос к example.com, ваш запрос проходит через несколько промежуточных узлов, прежде чем достигнет целевого сервера. Каждый из этих узлов использует маршрутизацию для определения следующего "хопа" (шага).


2. Основные понятия

Термин Описание
Маршрутизатор (Router) Устройство, принимающее решения о направлении трафика.
Таблица маршрутов (Routing Table) Содержит информацию о доступных сетях и способах их достижения.
Хоп (Hop) Один шаг в маршруте между двумя узлами.
Шлюз (Gateway) IP-адрес устройства, через которое можно достичь другой сети.
Метрика маршрута (Metric) Число, определяющее приоритет маршрута (чем меньше метрика, тем выше приоритет).

3. Как работает маршрутизация?

🔄 Пошаговый процесс:

  1. Исходный хост формирует пакет с данными.
  2. Проверяет, находится ли получатель в той же подсети:
  3. Если да — отправляет напрямую через MAC-адрес (ARP).
  4. Если нет — отправляет через шлюз по умолчанию (default gateway).
  5. Маршрутизатор получает пакет и проверяет свою таблицу маршрутов, чтобы определить следующий хоп.
  6. Пакет передаётся дальше до тех пор, пока не достигнет цели.

4. Виды маршрутизации

Тип Описание
Статическая маршрутизация Администратор вручную настраивает маршруты. Подходит для небольших сетей.
Динамическая маршрутизация Используются протоколы маршрутизации для автоматического обмена информацией между маршрутизаторами. Подходит для больших и сложных сетей.

5. Протоколы динамической маршрутизации

Протокол Описание
RIP (Routing Information Protocol) Простой протокол, основанный на количестве хопов. Устарел, но ещё встречается.
OSPF (Open Shortest Path First) Иерархический протокол, использующий алгоритм Дейкстры. Широко используется в корпоративных сетях.
EIGRP (Enhanced Interior Gateway Routing Protocol) Разработан Cisco. Гибридный протокол, сочетающий черты Distance Vector и Link State.
BGP (Border Gateway Protocol) Используется для маршрутизации между автономными системами (например, между провайдерами). Основной протокол интернета.

6. Таблица маршрутов

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

Пример вывода команды ip route show (Linux):

default via 192.168.0.1 dev eth0
192.168.0.0/24 dev eth0 scope link
10.0.0.0/8 via 192.168.0.254 dev eth0

🔍 Объяснение записей:

  • default via 192.168.0.1 dev eth0 — маршрут по умолчанию через шлюз 192.168.0.1.
  • 192.168.0.0/24 ... — локальная сеть.
  • 10.0.0.0/8 via 192.168.0.254 ... — статический маршрут к внутренней подсети через другой маршрутизатор.

7. Маршрутизация в интернете

В глобальной сети (Internet) маршрутизация осуществляется с помощью протокола BGP (Border Gateway Protocol). Он позволяет:

  • Обмениваться информацией о доступных сетях между автономными системами (AS).
  • Выбирать оптимальный маршрут на основе политик и атрибутов BGP (AS_PATH, NEXT_HOP и др.).

⚠️ Важно: BGP не гарантирует самого быстрого маршрута, а выбирает наиболее подходящий на основе настроенных политик.


8. Полезные команды для работы с маршрутизацией

🖥 Windows

:: Показать таблицу маршрутов
route print

:: Добавить статический маршрут
route add 192.168.2.0 mask 255.255.255.0 192.168.1.1

:: Удалить маршрут
route delete 192.168.2.0

🐧 Linux

# Показать таблицу маршрутов
ip route show

# Добавить маршрут
sudo ip route add 192.168.2.0/24 via 192.168.1.1

# Удалить маршрут
sudo ip route del 192.168.2.0/24 via 192.168.1.1

# Сохранить изменения (в зависимости от дистрибутива)
sudo netplan apply    # Ubuntu
sudo systemctl restart network  # CentOS

9. Маршрутизация в частных сетях

🏢 Локальные сети

  • Для связи между VLAN'ами используются маршрутизаторы или многослойные коммутаторы (L3 switches).
  • Настройка статических маршрутов или использование протоколов (OSPF, RIP) позволяет организовать внутреннюю маршрутизацию.

📶 NAT (Network Address Translation)

NAT позволяет использовать один внешний IP-адрес для нескольких устройств в частной сети. Часто используется в домашних роутерах.

Пример:

[192.168.0.2] → [роутер с NAT] → [публичный IP]

10. Best Practices

Рекомендация Описание
Резервирование маршрутов Наличие резервных путей повышает отказоустойчивость сети.
Использование динамических протоколов Автоматическое обновление таблиц маршрутов снижает нагрузку на администратора.
Контроль изменений Любые изменения в таблице маршрутов должны быть задокументированы.
Мониторинг и диагностика Используйте инструменты мониторинга (например, PRTG, Zabbix) и команды (traceroute, ping).
Сегментация сети Разделение на подсети упрощает управление и повышает безопасность.

11. FAQ

❓ Что делать, если маршрутизация не работает?

  • Проверьте таблицу маршрутов (ip route, route print).
  • Убедитесь, что шлюз доступен.
  • Проверьте соединение с соседними маршрутизаторами.
  • Убедитесь, что не блокируется трафик брандмауэром.

❓ Можно ли использовать несколько маршрутов к одной сети?

  • Да, такие маршруты называются ECMP (Equal-Cost Multi-Path) и позволяют распределять нагрузку по нескольким путям.

❓ Что такое маршрут по умолчанию?

  • Это маршрут, используемый, когда ни одно другое правило не подходит. Обозначается как 0.0.0.0/0.

12. Полезные ссылки