Протоколы внутридоменной маршрутизации
К протоколам внутридоменной маршрутизации относятся:
- RIP;
- IS-IS level 1-2;
- OSPF;
- IGRP;
- EIGRP.
Протокол RIP.
Протокол маршрутной информации (Routing Information Protocol — RIP) использует счетчик количества транзитных узлов для определения направления и расстояния для любого из каналов сети (рис. 10.26). Если существуют несколько маршрутов к получателю, протокол RIP выберет тот из них, который имеет наименьшее значение счетчика транзитных узлов. Поскольку счетчик является единственной метрикой, используемой протоколом RIP, выбранный маршрут далеко не всегда оказывается кратчайшим. Протокол RIP версии 1 позволяет использовать только классовую (classfull) маршрутизацию. Это означает, что все сетевые устройства должны иметь одинаковую маску сети, поскольку RIP версии 1 не включает в маршрутные обновления информацию о ней. Протокол RIP версии 2 использует так называемую префиксную маршрутизацию (prefix routing) и пересылает маску сети вместе с анонсами таблиц маршрутизации: именно за счет этой функции обеспечивается поддержка бесклассовой маршрутизации. Благодаря протоколам бесклассовой маршрутизации можно использовать подсети с разной длины масками внутри одной и той же сети. Использование масок подсети разной длины внутри одной сети называется технологией масок переменной длины (VariableLength Subnet Mask —VLSM).
Протокол IGRP.
Протокол маршрутизации внутреннего шлюза (Interior Gateway Routing Protocol — IGRP), разработанный корпорацией Cisco, использует дистанционновекторный алгоритм и предназначен для решения проблем, возникающих при маршрутизации в больших сетях, где невозможно использовать такие протоколы, как RIP. Протокол IGRP способен выбирать самый быстрый путь на основе задержки, пропускной способности, загрузки и надежности канала. Стандартно протокол IGRP использует в качестве битовых
метрик только пропускную способность и задержку. Этот протокол имеет значительно большее максимальное значение счетчика узлов, чем протокол RIP, что дает возможность использовать его в более крупных сетях. Протокол IGRP позволяет использовать только классовую маршрутизацию.
Протокол EIGRP.
Так же, как и IGRP, протокол EIGRP (Enhanced Interior Gateway Routing Protocol расширенный протокол маршрутизации внутреннего шлюза) был разработан корпорацией Cisco и является ее фирменным продуктом. Этот протокол усовершенствованная версия протокола IGRP, использует 32битовые метрики. В частности, протокол EIGRP очень эффективен благодаря более быстрой конвергенции и низкому потреблению пропускной способности. Он является усовершенствованным вариантом протокола, работающего на основе дистанционновекторного алгоритма. Протокол EIGRP также использует некоторые функции алгоритмов с учетом состояния канала. Вот почему использование термина гибридный тоже вполне законно при описании протокола IGRP.
Протокол OSPF.
Открытый протокол поиска кратчайшего пути (Open Shortest Path First OSPF) использует алгоритм маршрутизации по состоянию каналов. Проблемная группа проектирования Internet (IETF) разработала OSPF в 1988 году. Самая последняя версия этого протокола, OSPF версии 2, описана в спецификации RFC 2328. OSPF является протоколом IGPтипа, что означает, что он распространяет маршрутную ин формацию между маршрутизаторами, находящимися в единой автономной системе. Протокол OSPF был разработан для использования в больших сетях, в которых не возможно использование протокола RIP.
Протокол IS-IS.
Протокол обмена маршрутной информацией между промежуточными системами (Intermediate SystemtoIntermediate System IS-IS) использует алгоритм маршрутизации по состоянию канала для стека протоколов модели OSI. Он распространяет маршрутную информацию для протокола сетевого обслуживания (Connectionless Network Protocol — CLNP), для соответствующих ISOслужб сетевого обслуживания без установления соединения (Connection less Network Service — CLNS). Интегрированный протокол IS-IS является вариантом реализации протокола IS-IS для маршрутизации нескольких сетевых протоколов. Интегрированный протокол IS-IS объединяет CLNPмаршруты с информацией об IPсетях и масках подсетей.
Аппаратная маршрутизация
Первые маршрутизаторы представляли собой специализированное ПО, обрабатывающее приходящие IP-пакеты специфичным образом. Это ПО работало на компьютерах, у которых было несколько сетевых интерфейсов, входящих в состав различных сетей (между которыми осуществляется маршрутизация). В дальнейшем появились маршрутизаторы в форме специализированных устройств. Компьютеры с маршрутизирующим ПО называют программные маршрутизаторы, оборудование - аппаратные маршрутизаторы.
В современных аппаратных маршрутизаторах для построения таблиц маршрутизации используется специализированное ПО ("прошивка"). Для обработки же IP-пакетов используется коммутационная матрица (или другая технология аппаратной коммутации), расширенная фильтрами адресов в заголовке IP-пакета.
Аппаратная маршрутизация
Выделяют два типа аппаратной маршрутизации: со статическими шаблонами потоков и с динамически адаптируемыми таблицами.
Статические шаблоны потоков подразумевают разделение всех входящих в маршрутизатор IP-пакетов на виртуальные потоки; каждый поток характеризуется набором признаков для пакета такие как: IP-адресами отправителя/получателя, TCP/UDP-порт отправителя/получателя (в случае поддержки маршрутизации на основании информации 4 уровня), порт, через который пришёл пакет.
Оптимизация маршрутизации при этом строится на идее, что все пакеты с одинаковыми признаками должны обрабатываться одинаково (по одинаковым правилам), при этом правила проверяются только для первого пакета в потоке (при появлении пакета с набором признаков, не укладывающимся в существующие потоки, создаётся новый поток), по результатам анализа этого пакета формируется статический шаблон, который и используется для определения правил коммутации приходящих пакетов (внутри потока).
Обычно время хранения не использующегося шаблона ограничено (для освобождения ресурсов маршрутизатора). Ключевым недостатком подобной схемы является инерционность по отношению к изменению таблицы маршрутизации (в случае существующего потока изменение правил маршрутизации пакетов не будет "замечено" до момента удаления шаблона).
Динамически адаптируемые таблицы используют правила маршрутизации "напрямую", используя маску и номер сети из таблицы маршрутизации для проверки пакета и определения порта, на который нужно передать пакет. При этом изменения в таблице маршрутизации (в результате работы, например, протоколов маршрутизации/резервирования) сразу же влияют на обработку всех новопришедших пакетов. Динамически адаптируемые таблицы также позволяют легко реализовывать быструю (аппаратную) проверку списков доступа.
Программная маршрутизация
Программная маршрутизация выполняется либо специализированным ПО маршрутизаторов (в случае, когда аппаратные методы не могут быть использованы, например, в случае организации туннелей), либо программным обеспечением на компьютере. В общем случае, любой компьютер осуществляет маршрутизацию своих собственных исходящих пакетов (как минимум, для разделения пакетов, отправляемых на шлюз по умолчанию и пакетов, предназначенных узлам в локальном сегменте сети). Для маршрутизации чужих IP-пакетов, а также построения таблиц маршрутизации используется различное ПО:
- Сервис RRAS (англ. routing and remote access service) в Windows Server
- Демоны routed, gated, quagga в Unix-подобных операционных системах (Linux, FreeBSD и т.д.)