Как работает маршрутизация? Что такое таблица маршрутизации и 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 |
Процесс принятия решения о маршрутизации
- Маршрутизатор получает пакет и извлекает IP-адрес назначения
- Сравнивает адрес с каждой записью в таблице (побитовое AND с маской)
- Выбирает наиболее конкретный маршрут — longest prefix match (маршрут с самой длинной маской)
- Если ни один конкретный маршрут не подходит — используется default route (
0.0.0.0/0) - Если 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).