4. CEF
Сложность классической маршрутизации
Задачи маршрутизации:
Найти выходной интерфейс
Для сред с множественным доступом - определить адрес Next-Hop и его канальный адрес
Классическая маршрутизация IP - рекурсивный процесс
Недетерминированное время поиска
Высокая загрузка ЦП
Каждый пакет маршрутизируется независимо, "по-честному"
Route Caching
Идея: кэшировать в быстрой памяти результат маршрутизации
Выходной интерфейс
Канальный адрес next-hop
Если маршрут закэширован, обработка трафика ускорится
Первый пакет потока все равно придется маршрутизировать "по-честному"
Механизм упразднен в IOS начиная с версии 12.4(20)T/ 12.2(25)S
Topology-based Switching
Идея: не ждать для просчета маршрута первый пакет потока
Интерфейс и next-hop просчитываются при добавлении маршрута в RIB
MAC-заголовок для next-hop просчитывается при первом использовании
Основной механизм маршрутизации в IOS, включен по умолчанию
Distributed CEF
Линейные карты пересылают транзитные IP-пакеты без участия RE
@АНИМАЦИЯ CEF ВСТАВИТЬ@
Виды Adjacency
Cache: нормальная запись, для которой сформирован L2-Header
Receive: виртуальная запись для собственных маршрутов
Null: виртуальная запись, требуется для присоединенного интерфейса Null0
Punt: виртуальная запись, требуется process switching
Glean: запись для соседства, у которого не сформирован L2-Header
Discard\Drop: виртуальные записи для маршрутов для сбрасываемых пакетов
Buckets
CEF может иметь несколько вариантов next-hop для одного префикса
Максимальное количество зависит от платформы и версии протокола
Трафик будет балансироваться между next-hop по некоторому алгоритму
Некоторые варианты next hop могут быть одинаковыми, обеспечивая неравномерное распределение загрузки через разных соседей (например, при EIGRP UCLB или MPLS TE)
CEF и особые случаи
PBR во многих случаях может использовать ускорение CEF
CEF легко справляется с простыми туннелями
IPIP, GRE, DMVPN
CEF может не справиться со "сложными" интерфейсами
X.25, VTI
Last updated