Протоколы маршрутизации (например, RIP, OSPF, NLSP) следует отличать от собственно сетевых протоколов (например, IP, IPX). И те и другие выполняют функции сетевого уровня модели OSI — участвуют в доставке пакетов адресату через разнородную составную сеть. Но в то время как первые собирают и передают по сети чисто служебную информацию, вторые предназначены для передачи пользовательских данных, как это делают протоколы канального уровня. Протоколы маршрутизации используют сетевые протоколы как транспортное средство. При обмене маршрутной информацией пакеты протокола маршрутизации помещаются в поле данных пакетов сетевого уровня или даже транспортного уровня, поэтому с точки зрения вложенности пакетов протоколы маршрутизации формально следовало бы отнести к более высокому уровню, чем сетевой.
Каждый маршрутизатор может поддерживать несколько сетевых протоколов и протоколов маршрутизации.
Протоколы маршрутизации определяют топологию сети и сохраняют информацию о ней в таблице маршрутизации. Если маршрутизатор не применяет протокол маршрутизации, он хранит статические маршруты или использует отдельный протокол на каждом интерфейсе. Обычно маршрутизаторы работают с одним протоколом маршрутизации.
Информация о маршрутизации содержит метрику, то есть меру времени или расстояния, и несколько отметок о времени. Информация о пересылке включает в себя данные о выходном интерфейсе и адрес следующей системы по пути. Обычно маршрутизаторы хранят данные о нескольких возможных следующих транзитных маршрутизаторах в одной строке таблицы.
Протоколы маршрутизации выполняют две важнейшие функции.
Во-первых, с их помощью определяется оптимальный путь передачи пакета по сети. Обычно избирается путь, обеспечивающий минимальное время доставки при максимальной надежности.
|
Протокол маршрутизации предполагает постоянный сбор информации о состоянии маршрутов и обновление таблиц маршрутизации при изменении топологии сети, вследствие отказов или перегрузок. Таким образом, таблицы маршрутизации всегда содержат точную информацию о топологии сети.
Во-вторых, функцией протоколов маршрутизации является передача пакетов по сети. Получая очередной пакет, маршрутизатор считывает адрес назначения из заголовка пакета и определяет, в каком направлении (через какой узел) следует осуществить дальнейшую передачу пакета. Для принятия такого решения используется информация из таблицы маршрутизации.
Протоколы, используемые при создании таблицы маршрутизации, можно разделить на три категории:
- протоколы длины вектора расстояния;
- протоколы состояния канала;
- протоколы политики маршрутизации.
Протоколы длины вектора — простейший и наиболее распространенный тип протоколов маршрутизации. Большинство используемых сегодня протоколов этого типа ведет свое начало от протокола Routing Information Protocol компании Xerox (иногда они даже так и называются). Протоколы данного класса включают RIP (стека ТСР/IP), RIP (стека IPX/SPX), протокол управления таблицей маршрутизации AppleTalk RTMP и Cisco IGRP (Interior Gateway Routing Protocol).
Периодически каждый маршрутизатор копирует адреса получателей и метрику из своей таблицы маршрутизации и помещает эту информацию в рассылаемые соседям сообщения об обновлении. Соседние маршрутизаторы сверяют полученные данные со своими собственными таблицами маршрутизации и вносят необходимые изменения.
|
Этот алгоритм прост и, как кажется на первый взгляд, надежен. К сожалению, он работает наилучшим образом в небольших сетях при (желательно полном) отсутствии избыточности. Крупные сети не могут обойтись без периодического обмена сообщениями для описания сети, однако большинство из них избыточны. По этой причине в сложных сетях возникают проблемы при выходе линий связи из строя, так как несуществующие маршруты могут оставаться в таблице маршрутизации в течение длительного периода времени. Трафик, направленный по такому маршруту, не достигнет своего адресата.
Вторую категорию протоколов обслуживания среды составляют протоколы состояния канала. Протоколы состояния канала сложнее, чем протоколы длины вектора. Взамен они предлагают детерминистское решение типичных для их предшественников проблем. Вместо рассылки соседям содержимого своих таблиц маршрутизации каждый маршрутизатор осуществляет широковещательную рассылку списка маршрутизаторов, с которыми он имеет непосредственную связь, и напрямую подключенных к нему локальных сетей. Эта информация о состоянии канала рассылается в специальных объявлениях. За исключением широковещания периодических сообщений о своем присутствии в сети, маршрутизатор рассылает объявления о состоянии каналов только в случае изменения информации о них или по истечении заданного периода времени.
Недостатком таких протоколов состояния каналов, как OSPF, IS-IS и NLSP, является их сложность и высокие требования к памяти. Они трудны в реализации и нуждаются в значительном объеме памяти для хранения объявлений о состоянии каналов.
|
К третьей категории протоколов по обслуживанию среды относятся протоколы правил маршрутизации. Если протоколы маршрутизации на базе алгоритмов длины вектора и состояния канала решают задачу наиболее эффективной доставки сообщения получателю, то задача маршрутизации — наиболее эффективная доставка сообщения получателю по разрешенным путям. Такие протоколы, как BGP (Border Gateway Protocol) или IDRP (Interdomain Routing Protocol), позволяют операторам Internet получать информацию о маршрутизации от соседних операторов на основе контрактов или других нетехнических критериев. Алгоритмы, используемые для политики маршрутизации, опираются на алгоритмы длины вектора, но информация о метрике и пути базируется на списке операторов магистрали.
Одно из следствий применения протоколов такого рода заключается в том, что пути сообщения и ответа на него через Internet, вообще говоря, различны. В корпоративных же сетях intranet, не использующих политику маршрутизации, эти пути, как правило, совпадают.
Динамическая маршрутизация. Протоколы RIP, OSPF.