Gymterview
junior

Как работает маршрутизация? Что такое таблица маршрутизации и default gateway?

Маршрутизация (Routing) — процесс определения пути, по которому IP-пакет должен быть отправлен от источника к назначению через сеть, выполняемый маршрутизаторами на сетевом уровне (L3).

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

Default gateway (шлюз по умолчанию) — маршрутизатор, которому хост отправляет пакеты, если адрес назначения не принадлежит ни одной из известных сетей.

Аналогия из жизни: маршрутизация — это система дорожных указателей. Таблица маршрутизации — это карта с пометками «в Москву — направо, в Питер — налево». Default gateway — это указатель «все остальные направления — прямо на автомагистраль».

Таблица маршрутизации

Каждый маршрутизатор (и каждый компьютер) имеет таблицу маршрутизации:

Сеть назначения Маска Шлюз (Gateway) Интерфейс Метрика
192.168.1.0 /24 * (напрямую / directly connected) eth0 0
10.0.0.0 /8 192.168.1.1 eth0 10
0.0.0.0 /0 192.168.1.1 eth0 100

Процесс принятия решения о маршрутизации

  1. Маршрутизатор получает пакет и извлекает IP-адрес назначения
  2. Сравнивает адрес с каждой записью в таблице (побитовое AND с маской)
  3. Выбирает наиболее конкретный маршрут — longest prefix match (маршрут с самой длинной маской)
  4. Если ни один конкретный маршрут не подходит — используется default route (0.0.0.0/0)
  5. Если default route нет — пакет отбрасывается (ICMP Destination Unreachable)

Пример longest prefix match:

Пакет для 10.1.2.100:

  • 10.0.0.0/8 — совпадает (8 бит)
  • 10.1.0.0/16 — совпадает (16 бит)
  • 10.1.2.0/24 — совпадает (24 бита) ← выбирается этот маршрут (самый длинный префикс)

Default Gateway

  • Маршрут по умолчанию: 0.0.0.0/0 via 192.168.1.1 — «всё, что не знаю куда отправить, отправляю на 192.168.1.1»
  • Обычно это IP-адрес домашнего/офисного маршрутизатора (роутера)
  • Без default gateway хост может общаться только с устройствами в своей локальной сети

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

Свойство Статическая Динамическая
Настройка Вручную администратором Автоматически через протоколы
Адаптивность Не реагирует на изменения топологии Автоматически перестраивает маршруты
Масштабируемость Для малых сетей Для средних и больших сетей
Примеры ip route add ... OSPF, BGP, RIP, EIGRP

Основные протоколы динамической маршрутизации:

  • OSPF (Open Shortest Path First) — для внутренней маршрутизации (IGP), использует алгоритм Дейкстры для поиска кратчайшего пути
  • BGP (Border Gateway Protocol) — для маршрутизации между автономными системами (Интернет-провайдерами). Основа маршрутизации в Интернете, работает по принципу «path vector»

Утилиты

  • route print (Windows) / ip route show (Linux) — просмотр таблицы маршрутизации
  • traceroute example.com (Linux) / tracert example.com (Windows) — отображение пути пакета через маршрутизаторы (каждый hop)
  • ip route get 8.8.8.8 (Linux) — показать, какой маршрут будет использован для конкретного IP

Вывод

Маршрутизация — это фундаментальный механизм, обеспечивающий доставку пакетов через сети. Таблица маршрутизации и правило longest prefix match определяют, куда будет отправлен каждый пакет. Default gateway — точка выхода из локальной сети в более широкую сеть (Интернет).

На собеседовании: объясните принцип longest prefix match и роль default gateway. Полезно упомянуть traceroute как инструмент диагностики. Для DevOps-контекста — маршрутизация в Docker/Kubernetes: как pod-ы в разных нодах общаются друг с другом (overlay network, CNI-плагины, routes).