Программная маршрутизация и ускоренная коммутация в CISCO IOS

Маршрутизаторы CISCO поддерживают несколько вариантов маршрутизации, делящихся на 2 группы.

1. Классические варианты маршрутизации, характерные для маршрутизаторов на базе универсальной ОС. Это называется программная маршрутизация, иногда указывается имя сетевого протокола.

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

Процесс-обработчик, получив управление, по таблице маршрутизации и ARP – таблице определяет МАС адрес назначения. По нему и выходному интерфейсу формируется выходной кадр в очередь X-ring или (если она занята) в локальную или системную.

 

2. Эта группа включает режимы IP-маршрутизации, ускоряющей её за счет предварительного создания дополнительных структур данных, ускоряющих поиск записи в таблице маршрутизации и APR-таблице. Бывает 2 видов:

1) Быстрая коммутация, fast switching. Основан на кэшировании информации, найденной процессом IP-input при маршрутизации пакета с определенным адресом назначения.
При маршрутизации очередного пакета сначала просматривается КЭШ, и при попадании из него берется необходимый МАС-адрес.
Для быстрого просмотра КЭШа выполняется детерминированное отображение IP-адреса на элемент таблицы КЭШа. Т.е. для получения номера элемента КЭШа над старшими и младшими байтами IP-адреса проводится побитовая операция «исключающее или». При попадании в КЭШ все операции выполняются в режиме обработки прерываний.
Метод эффективен, когда состояние КЭЩа является стабильным, то есть на периферийных коммутаторах.

2) Экспресс-продвижение, Cisco Express Forward, CEF. Записи, аналогичные записям в КЭШ при быстрой коммутации создаются для каждой записи таблицы маршрутизации заранее, при инициализации режима CIF. Связи IP-адрес назначения - МАС-адрес следующей точки называются записями таблицы связи, Adjacency Table. Таблица связи перестраивается только при аварии на линии или на другом маршрутизаторе. Для быстрого поиска нужной записи в таблице связи используются М-деревья, это иерархическая структура индексов, в котором каждому возможному значению IP-адреса соответствует путь до нужной ячейки в таблице связи. У каждого узла М-дерева 256 потомков, соответствующих значению байта IP-адреса того же уровня.
Путь по такому дереву до конечного элемента всегда имеет фиксированную длину в 4 ветви.