Назначение протоколов маршрутизации
ЛЕКЦИЯ 10
Классификация протоколов маршрутизации
Протоколы маршрутизации предназначены для автоматического построения таблиц маршрутизации, на основе которых происходит продвижение пакетов сетевого уровня. Протоколы маршрутизации, в отличие от сетевых протоколов, таких как IP и IPX, не являются обязательными, так как таблица маршрутизации может быть построена администратором сети вручную. Однако в крупных сетях со сложной топологией и большим количеством альтернативных маршрутов протоколы маршрутизации выполняют очень важную и полезную работу, автоматизируя построение таблиц маршрутизации, динамически адаптируя текущий набор рабочих маршрутов к состоянию сети и повышая тем самым ее производительность и надежность.
Продвижение пакетов в составных сетях осуществляется на основе таблиц маршрутизации. Содержание такой таблицы зависит от технологии составной сети, так, вид таблиц сетей IP отличается от вида таблиц сетей IPX или X.25. Общим в таблицах маршрутизации является то, что в них содержится информация, достаточная для принятия решения о продвижении любого поступающего в маршрутизатор пакета. Как правило, каждая запись такой таблицы связывает адрес сети назначения с адресом или номером выходного интерфейса, на который нужно передать пакет с этим адресом. Каждый маршрутизатор сети имеет собственную таблицу маршрутизации, определяющую один шаг многошагового процесса перемещения пакета по сети.
Нетрудно заметить, что задача продвижения пакета от сети источника до сети назначения в каждом маршрутизаторе естественно распадается на две задачи:
- обработка пакета с помощью имеющейся таблицы маршрутизации;
- построение таблицы маршрутизации.
Назначение протоколов маршрутизации состоит в автоматическом решении второй задачи. Для этого маршрутизаторы сети обмениваются специальной служебной информацией о топологии составной сети, на основе которой каждый маршрутизатор выбирает маршруты к узлам назначения. Создаваемые таблицы маршрутизации обеспечивают рациональность маршрутов следования пакетов через сеть, при этом критерии выбора маршрутов могут быть различными. Напомним, что обычно выбирается «кратчайший» маршрут, где под расстоянием, проходимым пакетом, понимается либо количество промежуточных маршрутизаторов (хопов), либо комплексный показатель, учитывающий также номинальную пропускную способность каналов между маршрутизаторами, надежность каналов или вносимые ими задержки. Протокол маршрутизации должен создавать в маршрутизаторах согласованные друг с другом таблицы маршрутизации, то есть такие, которые обеспечат доставку пакета от исходной сети в сеть назначения за конечное число шагов. Можно представить и несогласованную пару таблиц, когда таблица маршрутизатора 1 показывает, что пакет для сети Д нужно передать маршрутизатору 2, а таблица маршрутизатора 2 отправляет этот пакет маршрутизатору 1. Современные протоколы маршрутизации обеспечивают согласованность таблиц, но это их свойство не абсолютно – при изменениях в сети, например, при отказе каналов связи или самих маршрутизаторов, существуют периоды нестабильной работы сети, вызванной временной несогласованностью таблиц разных маршрутизаторов. Протоколу маршрутизации обычно нужно некоторое время, чтобы после нескольких итераций обмена служебной информацией все маршрутизаторы сети внесли изменения в свои таблицы и в результате таблицы снова стали согласованными.
Маршрутизация без таблиц
Прежде чем перейти к классификации протоколов маршрутизации, необходимо отметить, что существуют такие способы продвижения пакетов в составных сетях, которые вообще не требуют наличия таблиц маршрутизации в маршрутизаторах, а значит, и протоколов маршрутизации.
Наиболее простым способом передачи пакетов по сети является так называемая лавинная маршрутизация, когда каждый маршрутизатор передает пакет всем своим непосредственным соседям, кроме того, от которого его получил. Понятно, что это не самый рациональный способ, так как пропускная способность сети используется крайне расточительно, но он работоспособен (именно так мосты и коммутаторы локальных сетей поступают с кадрами, имеющими неизвестные адреса).
Другой вариант маршрутизации без таблицы – это маршрутизация, управляемая событиями(Event Dependent Routing), когда пакет к определенной сети назначения посылается по маршруту, который уже приводил ранее к успеху (для данного адреса назначения). Это достаточно эффективный метод маршрутизации, но он требует наличия обратной связи, чтобы маршрутизатор-отправитель мог фиксировать факт успеха доставки пакета. Подобный метод маршрутизации использовался на этапе становления Интернета, когда перед отправкой пакета данных предварительно всем или нескольким соседям посылались эхо-запросы по протоколу ICMP, а затем на основании времени прихода эхо-ответов выбирался сосед, у которого это время минимально. Данный способ хорошо зарекомендовал себя в сетях, работающих по протоколам с предварительным установлением соединения. Запрос на установление соединения может посылаться нескольким соседям, а подтверждение установления соединения посылается тому соседу, который первым пришлет ответ.
Маршрутизация, управляемая событиями, может сочетаться с таблицей маршрутизации. В такой таблице для каждой сети назначения указывается несколько возможных соседей, которым целесообразно направлять запрос на установление соединения (или тестирующий эхо‑запрос). Подобный подход применяется в телефонных сетях, в которых указывается несколько возможных «направлений» передачи запроса на установление соединения, и эти запросы передаются сначала по первому из указанных направлений, пока не будет исчерпана его коммутационная емкость, затем по следующему и т. д.
Еще одним видом маршрутизации, не требующим наличия таблиц маршрутизации, является маршрутизация от источника (Source Routing). В этом случае отправитель помещает в пакет информацию о том, какие промежуточные маршрутизаторы должны участвовать в передаче пакета к сети назначения. На основе этой информации каждый маршрутизатор считывает адрес следующего маршрутизатора и, если он действительно является адресом его непосредственного соседа, передает ему пакет для дальнейшей обработки. Вопрос о том, как отправитель узнает точный маршрут следования пакета через сеть, остается открытым. Маршрут может прокладывать либо администратор вручную, либо узел-отправитель автоматически, но в этом случае ему нужно поддерживать тот или иной протокол маршрутизации, который сообщит узлу о топологии и состоянии сети.