Под ретрансляцией понимается анализ заголовков поступившей дейтаграммы, выбор маршрута и перемещение дейтаграммы к выходному интерфейсу.
Process switching
Это наиболее медленный, но универсальный режим. В этом режиме поступившая в маршрутизатор дейтаграмма помещается в очередь и ожидает запуска процесса, который будет ее обрабатывать. Process switching выполняется в следующих случаях:
- необходим поиск маршрута в таблице маршрутов (необходимой информации нет в маршрутном кэше или маршрутный кэш не задействован - fast switching не включен);
- необходима проверка по списку доступа (фильтрация, маршрутизация по особым условиям);
- необходимы шифрование или сжатие дейтаграммы;
- в других случаях, когда требуются "нетривиальные" действия по обработке дейтаграммы.
CEF - Cisco Express Forwarding (Topology-based)
CEF - наиболее передовой из режимов обработки дейтаграмм. CEF в реальном времени строит маршрутный кэш, который является полным отображением таблицы маршрутов. При изменениях в таблице маршрутов соответствующие изменения тут же вносятся в кэш.
Кэш состоит из двух частей: базы данных FIB (Forward Information Base) и таблицы CAM (Content-addressable memory - ассоциативная память). FIB содержит соответствия между IP-адресами получателей и IP-адресами следующих маршрутизаторов. CAM - это таблица канальных адресов следующих маршрутизаторов (в частности, MAC-адресов Ethernet). Элемент FIB является ссылкой на строку в CAM.
Благодаря вынесению MAC-адресов в отдельную таблицу, база данных FIB не теряет актуальность при изменениях MAC-адресов следующих маршрутизаторов, что повышает производительность обработки дейтаграмм. Кроме того, такая организация кэша делает возможным распределение нагрузки между двумя и более каналами, ведущими к одной сети назначения.
Поскольку база данных FIB строится непосредственно при создании (модификации) таблицы маршрутов и включает в себя все известные маршруты, CEF не требует ретранслировать дейтаграмму в режиме process switching при отсутствии маршрутной информации в кэше. Если маршрутной информации в кэше нет, то дейтаграмма не может быть доставлена и уничтожается.
В маршрутизаторах серий 7ххх, начиная с IOS весии 12.0, CEF включен по умолчанию.
At times, however, a packet cannot be switched in hardware, according to the FIB. Packets then are marked as “CEF punt” and immediately are sent to the Layer 3 engine for further processing. Some of the conditions that can cause this are as follows:
■ An entry cannot be located in the FIB.
■ The FIB table is full.
■ The IP Time-To-Live (TTL) has expired.
■ The maximum transmission unit (MTU) is exceeded, and the packet must be fragmented.
■ An Internet Control Message Protocol (ICMP) redirect is involved.
■ The encapsulation type is not supported.
■ Packets are tunneled, requiring a compression or encryption operation.
■ An access list with the log option is triggered.
■ A Network Address Translation (NAT) operation must be performed (except on the
Catalyst 6500 Supervisor 720, which can handle NAT in hardware).