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

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

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

Пошаговый процесс маршрутизации

Когда пакет приходит на интерфейс роутера, происходит следующее:

  1. Роутер извлекает из заголовка IP-адрес получателя.
  2. Просматривает свою таблицу маршрутизации в поисках подходящей записи.
  3. Если найдено несколько совпадений — выбирает наиболее конкретное (с самой длинной маской).
  4. Если маршрут найден — отправляет пакет в указанный интерфейс.
  5. Если маршрут не найден — отбрасывает пакет и отправляет отправителю ICMP-сообщение об ошибке.
  6. Уменьшает TTL на 1. Если TTL стал 0 — пакет отбрасывается.

Весь процесс занимает микросекунды. Роутер не задумывается, не анализирует — он механически, по таблице, принимает решение.

Longest prefix match: правило выбора маршрута

Часто таблица содержит несколько записей, подходящих для одного IP. Роутер выбирает ту, у которой самая длинная маска (longest prefix match):

Пакет для: 192.168.1.42

Записи в таблице:
  192.168.0.0/16     → интерфейс A
  192.168.1.0/24     → интерфейс B
  0.0.0.0/0          → интерфейс C (default)

Выбран: 192.168.1.0/24 → интерфейс B  (24 бита > 16 бит > 0 бит)

Это похоже на адресную систему: если на конверте написано «Москва, ул. Тверская, д. 7, кв. 42», то сортировочный центр смотрит сначала на город, потом на улицу, потом на дом. Самый конкретный ориентир — самый полезный.

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

Администратор вручную прописывает маршруты. Примерно так:

ip route 192.168.2.0 255.255.255.0 10.0.0.2

Это означает: «пакеты для сети 192.168.2.0/24 отправляй через роутер с адресом 10.0.0.2».

Плюсы: предсказуемо, никаких неожиданных изменений. Минусы: любое изменение топологии сети требует ручного обновления таблиц на всех затронутых роутерах. Для сети из 5 роутеров — терпимо. Для сети из 500 — кошмар.

Динамическая маршрутизация: роутеры договариваются сами

Динамические протоколы маршрутизации позволяют роутерам автоматически обмениваться информацией. Выделяют две большие категории:

IGP (Interior Gateway Protocols) — работают внутри одной организации, внутри одной «автономной системы»:

  • RIP (Routing Information Protocol). Самый простой: роутер рассказывает соседям обо всех известных ему сетях. Каждый «прыжок» (hop) увеличивает метрику. Максимум 15 hop'ов — если больше, сеть считается недостижимой. Сегодня почти не используется, но полезен для понимания базового принципа.
  • OSPF (Open Shortest Path First). Более умный протокол: роутеры строят полную карту сети и вычисляют кратчайший путь по алгоритму Дейкстры. Учитывает не просто число hop'ов, а пропускную способность каналов. Используется внутри большинства средних и крупных организаций.

EGP (Exterior Gateway Protocols) — работают между организациями, между разными «автономными системами»:

  • BGP (Border Gateway Protocol). Единственный протокол, который работает в масштабах всего интернета. BGP не ищет кратчайший путь — он ищет путь, удовлетворяющий политикам (бизнес-правилам). Провайдер может сказать: «трафик от такого-то соседа не принимаю» или «через меня трафик в ту сеть не ходит». BGP — это дипломатия, а не математика.

Автономные системы (AS)

Весь интернет разбит на автономные системы (Autonomous Systems, AS) — крупные блоки сетей под единым административным управлением. У каждого AS есть уникальный номер (ASN), например, AS15169 принадлежит Google, AS32934 — Facebook.

Внутри AS маршрутизация работает по IGP (OSPF или аналог). Между AS — по BGP. Представь: внутри страны доставку почты организует национальная почтовая служба (IGP), а между странами работают международные соглашения (BGP).

Метрики: как роутер выбирает лучший путь

К одной и той же сети может быть несколько путей. Роутер выбирает лучший по метрике — числовой оценке «стоимости» маршрута:

  • В RIP метрика — количество hop'ов.
  • В OSPF метрика — обратно пропорциональна пропускной способности (быстрый канал «стоит» дешевле медленного).
  • В BGP метрика — длина AS-пути (через сколько автономных систем надо пройти).

Если метрики равны, трафик может балансироваться между несколькими маршрутами.

Сходимость: почему интернет не ломается при авариях

Когда где-то обрывается кабель или падает роутер, соседние роутеры обнаруживают это (перестают получать keepalive-сообщения) и запускают пересчёт маршрутов. Процесс, в течение которого все роутеры приходят к новому согласованному состоянию, называется сходимость (convergence).

В небольшой сети на OSPF сходимость занимает секунды. В глобальном интернете на BGP — минуты. Именно поэтому при крупных авариях мы наблюдаем не мгновенное отключение сайта, а замедление и нестабильность в течение нескольких минут: роутеры по всему миру перестраивают маршруты.

Что происходит внутри роутера: резюме

Пакет пришёл на порт 1
  │
  ├─ Извлечь IP получателя (например, 93.184.216.34)
  ├─ Найти в таблице маршрутизации самую конкретную запись
  ├─ Уменьшить TTL на 1
  ├─ Если TTL = 0 → отбросить
  ├─ Если маршрут не найден → отбросить + ICMP-ошибка
  └─ Отправить пакет в найденный порт

Проверь себя

  1. Что выберет роутер: маршрут /16 или /24 для одного и того же IP?
  2. BGP ищет кратчайший путь или путь, соответствующий политикам?
  3. Что произойдёт, если в таблице маршрутизации вообще нет подходящей записи?
<details> <summary>Ответы</summary>
  1. /24 — правило longest prefix match. Чем длиннее маска, тем маршрут конкретнее и тем он приоритетнее.
  2. BGP работает на основе политик, а не математического кратчайшего пути. Провайдер может запретить трафик через определённые сети по бизнес-причинам.
  3. Пакет будет отброшен, а отправителю уйдёт ICMP-сообщение «Destination Unreachable».
</details>

Что унести с урока

  • Роутер выбирает маршрут по правилу longest prefix match — самый конкретный выигрывает.
  • Статические маршруты прописывает администратор. Динамические — роутеры находят сами.
  • IGP (OSPF) работает внутри организации, EGP (BGP) — между организациями и в масштабах интернета.
  • BGP — протокол политик, а не математики. Он управляет трафиком между автономными системами.
  • Сходимость — процесс восстановления согласованной картины маршрутов после аварии.

Теперь мы знаем, как пакеты находят путь. Но остаётся загадка: как домашняя сеть с одним публичным IP-адресом обслуживает десяток устройств одновременно? Ответ — NAT. В следующем уроке разберём этот гениальный «костыль», который продлил жизнь IPv4 на десятилетия.

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике