понедельник, 19 сентября 2011 г.

Режимы ретрансляции дейтаграмм

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

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).