4. CEF
Сложность классической маршрутизации
Задачи маршрутизации:
Найти выходной интерфейс
Для сред с множественным доступом - определить адрес Next-Hop и его канальный адрес
Классическая маршрутизация IP - рекурсивный процесс
Недетерминированное время поиска
Высокая загрузка ЦП
Каждый пакет маршрутизируется независимо, "по-честному"
Route Caching
Идея: кэшировать в быстрой памяти результат маршрутизации
Выходной интерфейс
Канальный адрес next-hop
Если маршрут закэширован, обработка трафика ускорится
Первый пакет потока все равно придется маршрутизировать "по-честному"
Механизм упразднен в IOS начиная с версии 12.4(20)T/ 12.2(25)S
Router#show ip cache 192.168.4.0 255.255.255.0
!!!!!
Prefix/Length Age Interface MAC Header
192.168.4.0/24 0:00:21 GigabitEthernet0/0 0000000C02367B54645D0800
Topology-based Switching
Идея: не ждать для просчета маршрута первый пакет потока
Интерфейс и next-hop просчитываются при добавлении маршрута в RIB
MAC-заголовок для next-hop просчитывается при первом использовании
Основной механизм маршрутизации в IOS, включен по умолчанию
Router#show ip cef 192.168.4.1
192.168.4.0/24
nexthop 192.168.1.1 GigabitEthernet0/0
Router#show adjacency 192.168.1.1 encapsulation
Protocol Interface Address
IP GigabitEthernet0/0 192.168.1.1(10)
Encap length 14
00000C02300045645D0090
Provider: ARPA
Distributed CEF
Линейные карты пересылают транзитные IP-пакеты без участия RE
@АНИМАЦИЯ CEF ВСТАВИТЬ@
Виды Adjacency
Cache: нормальная запись, для которой сформирован L2-Header
Receive: виртуальная запись для собственных маршрутов
Null: виртуальная запись, требуется для присоединенного интерфейса Null0
Punt: виртуальная запись, требуется process switching
Glean: запись для соседства, у которого не сформирован L2-Header
Discard\Drop: виртуальные записи для маршрутов для сбрасываемых пакетов
Router#sh ip cef
Prefix Next Hop Interface
0.0.0.0/32 receive
172.17.0.16/32 receive Loopback0
172.17.43.0/30 attached Vlan1000
172.17.43.0/32 receive Vlan1000
172.17.43.1/32 attached Vlan1000
172.17.43.2/32 receive Vlan1000
172.17.43.3/32 receive Vlan1000
172.25.16.0/28 attached Vlan999
172.25.16.0/32 receive Vlan999
172.25.16.1/32 receive Vlan999
172.25.16.15/32 receive Vlan999
224.0.0.0/4 multicast
224.0.0.0/24 receive
240.0.0.0/4 drop
255.255.255.255/32 receive
Buckets
CEF может иметь несколько вариантов next-hop для одного префикса
Максимальное количество зависит от платформы и версии протокола
Трафик будет балансироваться между next-hop по некоторому алгоритму
Некоторые варианты next hop могут быть одинаковыми, обеспечивая неравномерное распределение загрузки через разных соседей (например, при EIGRP UCLB или MPLS TE)
Router#sh ip cef 172.25.43.2 internal
0.0.0.0/0, epoch 2, RIB[I], refcount 7, per-destination sharing
sources: RIB, D/N, DRH
feature space:
LFD: 0.0.0.0/0 0 local labels
contains path extension list
label switch chain 0x04E96580
IPRM: 0x00038000
Broker: linked
subblocks:
DefNet source: 0.0.0.0/0
ifnums:
GigabitEthernet1/1/1(1043): 172.24.15.3
path_list contains at least one resolved destination(s). HW notified
path 03FD43D8, path list 03FC7C70, share 1/1, type attached nexthop, for IPv4
MPLS short path extensions: MOI flags = 0x0 label implicit-null
nexthop 172.24.15.3 GigabitEthernet1/1/1, adjacency IP adj out of GigabitEthernet1/1/1, addr 84.52.75.5 045656C0
output chain: IP adj out of GigabitEthernet1/1/1, addr 172.24.15.3 045656C0
CEF и особые случаи
PBR во многих случаях может использовать ускорение CEF
CEF легко справляется с простыми туннелями
IPIP, GRE, DMVPN
CEF может не справиться со "сложными" интерфейсами
X.25, VTI
Last updated