Маршрутизаторы поддерживают три механизма пересылки пакетов:
- Программная коммутация — это устаревший механизм пересылки пакетов, который по-прежнему доступен на маршрутизаторах Cisco. Когда пакет прибывает на интерфейс, он пересылается на уровень управления, где ЦП сопоставляет адрес назначения с записью в таблице маршрутизации, а затем определяет выходной интерфейс и пересылает пакет. Важно понимать, что маршрутизатор совершает это с каждым пакетом, даже если целый поток пакетов предназначен для одного адреса назначения. Механизм программной коммутации работает очень медленно и редко реализуется в современных сетях.
- Быстрая коммутация — это распространённый механизм пересылки пакетов, который использует кэш быстрой коммутации для хранения информации о следующих переходах. Когда пакет прибывает на интерфейс, он пересылается на уровень управления, где ЦП ищет совпадение в кэше быстрой коммутации. Если совпадение не найдено, пакет проходит программную коммутацию и пересылается на выходной интерфейс. Информация о трафике для пакетов также хранится в кэше быстрой коммутации. Если на интерфейс прибывает другой пакет, адресованный тому же назначению, то из кэш-памяти повторно используется информация о следующем переходе без вмешательства ЦП.
- Cisco Express Forwarding (CEF) — это новейший и наиболее предпочтительный для Cisco IOS способ пересылки пакетов. Как и быстрая коммутация, CEF создаёт 24-портовую базу данных переадресации (FIB) и таблицу смежности (adjacency table). Однако записи таблицы инициированы не пакетами, как при быстрой коммутации, а изменениями — например изменениями в сетевой топологии. Таким образом, по завершении сходимости сети в базе данных FIB и таблице смежности содержится вся информация, необходимая маршрутизатору при пересылке пакета. FIB содержит предварительно вычисленные обратные просмотры, информацию о следующих переходах для маршрутизаторов, в том числе информацию об интерфейсе и 2-м уровне. Коммутация CEF — это самый быстрый механизм пересылки, наиболее предпочтительный для использования на маршрутизаторах Cisco.
Рис. 1-3 иллюстрируют различия между тремя механизмами пересылки пакетов. Допустим, что поток трафика, состоящий из пяти пакетов, отправлен в одно место назначения. Как показано на рис. 1, при программной коммутации каждый пакет должен быть по отдельности обработан центральным процессором. Сравните данный механизм с механизмом быстрой коммутации, проиллюстрированным на рис. 2. При быстрой коммутации только первый пакет потока проходит программную коммутацию, после чего он добавляется в кэш быстрой коммутации. Следующие четыре пакета быстро обрабатываются, исходя из информации в кэш-памяти. На рис. 3 процесс CEF формирует базу данных FIB и таблицу смежности после завершения сходимости сети. Все пять пакетов быстро обрабатываются на уровне данных.
Три механизма пересылки пакетов можно описать, проведя следующую аналогию:
- Программная коммутация делает все расчёты каждый раз, даже в случае решения идентичных проблем.
- Быстрая коммутация делает расчёты один раз, запоминая ответ для последующих идентичных случаев.
- Механизм CEF решает каждую из возможных проблем заранее, внося её в электронную таблицу.