FE — Forwarding Engine
Как уже было описано выше, он реализует такие функции, как:
- Запросы к CAM/TCAM 
- Трансформация Soft Table в Hard Table 
- Принятие решения о передаче пакета (ACL, полисинг) 
- Коммутация/Маршрутизация 
- Маркировка приоритетов 
- Зеркалирование 
- Обнаружение протокольных пакетов 
- Обработка сигналов/пакетов от CPU. 
Далее ВНИМАНИЕ! Это один из наиболее важных моментов всей статьи!
Во-первых, FE делится на Ingress FE и Egress FE. Первый обрабатывает соответственно пакеты на входном тракте, второй — на выходном. С одной стороны это разделение терминологическое — пакет пришёл на Ingress FE и далее должен быть отправлен на Egress FE, возможно, другой платы. С другой, разделение — зачастую вполне физическое: внутри одного FE чипа живут эти две сущности: Ingress и Egress. Это и логично — ведь плата может быть как точкой входа, так и точкой выхода. Во-вторых, именно входной FE определяет всю дальнейшую судьбу пакета в пределах узла:
- Вид будущих заголовков 
- Приоритет внутри узла и при передаче вовне 
- Выходной FE и интерфейс 
* с небольшой оговоркой, что выходной тракт всё-таки может ещё произвести репликацию пакета или зарезать его из-за переполненного буфера. В-третьих, FE должен идентифицировать протокольные пакеты в транзитном трафике и передавать их на CPU. Соответственно и получать пакеты (или инструкции) от CPU — тоже его работа.
Рядом с FE находятся CAM, TCAM и RAM, куда FE обращается в поиске выходного интерфейса и проверки ACL. Они хранят Hard Tables.
Кроме того Ingress FE производит репликацию BUM трафика — он рассылает по одной копии пакета на каждый Egress FE. А Egress FE уже делает столько копий, во сколько интерфейсов нужно отправить
Last updated
