Когда устройство имеет несколько путей для достижения пункта назначения, оно всегда выбирает один путь, предпочитая его другим. Этот процесс выбора называется Routing. Маршрутизация выполняется с помощью специальных сетевых устройств, называемых маршрутизаторами, или их можно выполнять с помощью программных процессов. Маршрутизаторы на основе программного обеспечения имеют ограниченную функциональность и ограниченную область действия.
Маршрутизатор всегда настроен с определенным маршрутом по умолчанию. Маршрут по умолчанию сообщает маршрутизатору, куда пересылать пакет, если маршрут не найден для конкретного адресата. Если существует несколько путей для достижения одного и того же адресата, маршрутизатор может принять решение на основе следующей информации:
- Счетчик прыжков
- Пропускная способность
- Метрика
- Длина префикса
- Задержка
Маршруты могут быть статически настроены или динамически обучаемы. Один маршрут может быть настроен так, чтобы быть предпочтительным по сравнению с другими.
Одноадресная маршуртизация
Большая часть трафика в Интернете и интрасети, называемая одноадресными или одноадресным трафиком, отправляется с указанным пунктом назначения. Маршрутизация одноадресных данных через Интернет называется одноадресной маршрутизацией. Это простейшая форма маршрутизации, потому что назначение уже известно. Следовательно, маршрутизатор должен просто искать таблицу маршрутизации и пересылать пакет в следующий прыжок.
Широковещательная маршрутизация
По умолчанию широковещательные пакеты не маршрутизируются и не перенаправляются маршрутизаторами в любой сети. Маршрутизаторы создают широковещательные домены. Но его можно настроить для пересылки широковещательных сообщений в некоторых особых случаях. Широковещательное сообщение предназначено для всех сетевых устройств.
Маршрутизация вещания может быть выполнена двумя способами (алгоритмом):
- Маршрутизатор создает пакет данных и затем отправляет его каждому узлу по одному. В этом случае маршрутизатор создает несколько копий одного пакета данных с разными адресами назначения. Все пакеты отправляются как одноадресные, но поскольку они отправляются всем, он имитирует, как если бы роутер вещал.Этот метод потребляет много полосы пропускания, а маршрутизатор должен назначать адрес каждого узла.
- Во-вторых, когда маршрутизатор получает пакет, который должен транслироваться, он просто наводняет эти пакеты из всех интерфейсов. Все маршрутизаторы настроены одинаково.Этот метод прост в процессоре маршрутизатора, но может вызвать проблему дублирования пакетов, полученных от одноранговых маршрутизаторов.
Обратная переадресация — это метод, в котором маршрутизатор заранее знает о своем предшественнике, откуда он должен получать трансляцию. Этот метод используется для обнаружения и удаления дубликатов.
Многоадресная маршрутизация
Многоадресная маршрутизация является особым случаем маршрутизации вещания с разницей в значимости и проблемами. В широковещательной маршрутизации пакеты отправляются на все узлы, даже если они этого не хотят. Но в многоадресной маршрутизации данные отправляются только узлам, которые хотят получать пакеты.
Маршрутизатор должен знать, что есть узлы, которые хотят получать многоадресные пакеты (или поток), а затем только пересылать. Маршрутизация многоадресной рассылки перекрывает протокол дерева, чтобы избежать циклирования.
Многоадресная маршрутизация также использует метод переадресации обратного пути, чтобы обнаруживать и отбрасывать дубликаты и циклы.
Anycast маршрутизация
Пересылка пакетов Anycast — это механизм, в котором несколько хостов могут иметь одинаковый логический адрес. Когда пакет, предназначенный для этого логического адреса, принимается, он отправляется хосту, ближайшему к топологии маршрутизации.
Маршрутизация Anycast выполняется с помощью DNS-сервера. Всякий раз, когда принимается пакет Anycast, он запрашивает DNS для отправки. DNS предоставляет IP-адрес, который является ближайшим к нему IP-адресом.
Одноадресные протоколы маршрутизации
Существует два типа протоколов маршрутизации для маршрутизации одноадресных пакетов:
- Протокол маршрутизации с дистанционным вектором
Distance Vector — это простой протокол маршрутизации, который принимает решение о маршрутизации количества переходов между источником и получателем. Лучшим маршрутом считается маршрут с меньшим количеством перелетов. Каждый маршрутизатор рекламирует свои лучшие маршруты для других маршрутизаторов. В конечном счете, все маршрутизаторы создают свою топологию сети на основе рекламы своих одноранговых маршрутизаторов. Например, протокол маршрутизации информации (RIP). - Протокол маршрутизации состояния канала
Протокол состояния канала — это несколько сложный протокол, чем «Вектор расстояния». Он учитывает состояния ссылок всех маршрутизаторов в сети. Этот метод помогает маршрутам строить общий график всей сети. Затем все маршрутизаторы рассчитывают наилучший путь для маршрутизации. Например, Open Shortest Path First (OSPF) и промежуточная система для промежуточной системы (ISIS).
Протоколы многоадресной маршрутизации
Протоколы одноадресной маршрутизации используют графики, в то время как протоколы маршрутизации многоадресной рассылки используют деревья, т.е. Связывают дерево, чтобы избежать циклов. Оптимальное дерево называется кратчайшим связующим деревом.
- DVMRP — Протокол маршрутизации многоадресной передачи расстояния
- MOSPF — Открытый многоадресный маршрут
- CBT — базовое дерево
- PIM — независимая от протокола многоадресная рассылка
Протокол Независимой Многоадресной рассылки (PIM) используется сейчас. Он имеет два вида:
- Режим PIM Dense
В этом режиме используются деревья на основе источника. Он используется в плотной среде, такой как LAN. - PIM разреженный режим
В этом режиме используются общие деревья. Он используется в редких средах, таких как WAN.
Алгоритмы маршрутизации
Flooding
Flooding — это самый простой способ пересылки пакетов. Когда пакет принимается, маршрутизаторы отправляют его на все интерфейсы, кроме тех, на которых он был получен. Это создает слишком большую нагрузку на сеть и множество дублирующих пакетов, блуждающих по сети.
Time to Live (TTL) можно использовать, чтобы избежать бесконечного цикла пакетов. Существует еще один подход к наводнению, который называется выборочным наводнением для снижения накладных расходов в сети. В этом методе маршрутизатор не реализуется на всех интерфейсах, а выборочно.
Shortest Path
Решение о маршрутизации в сетях, в основном, берется на основе стоимости между источником и пунктом назначения. Здесь играет важную роль. Самый короткий путь — это метод, который использует различные алгоритмы для определения пути с минимальным количеством прыжков.
Общими алгоритмами кратчайшего пути являются:
- Алгоритм Дейкстры
- Алгоритм Беллмана Форда
- Алгоритм Флойда Варшалла