База данных пересылки ( FIB ), также известная как таблица пересылки или таблица MAC , чаще всего используется в сетевых мостах , маршрутизации и подобных функциях для поиска правильного контроллера выходного сетевого интерфейса , на который входной интерфейс должен переслать пакет. Это динамическая таблица, которая сопоставляет MAC-адреса с портами. Это основной механизм, который отделяет сетевые коммутаторы от концентраторов Ethernet . Содержимое адресуемой памяти (CAM) обычно используется для эффективной реализации FIB, поэтому ее иногда называют таблицей CAM .
На уровне канала передачи данных FIB в первую очередь используется для облегчения мостового соединения Ethernet на основе MAC-адресов . Другие технологии уровня канала передачи данных, использующие FIB, включают Frame Relay , Asynchronous Transfer Mode (ATM) и Multiprotocol Label Switching (MPLS).
Роль коммутатора Ethernet заключается в пересылке кадров Ethernet с одного порта на другой. Наличие FIB — один из атрибутов, который отличает коммутатор от концентратора. Без функционального FIB все кадры, полученные сетевым коммутатором, будут эхом возвращаться на все другие порты, как и в случае с концентратором Ethernet . При мостовой передаче пакетов между портами коммутатор должен выдавать кадр только на тот порт, где находится сетевое устройство назначения ( одноадресная передача ), если только кадр не предназначен для всех узлов коммутатора ( широковещательная передача ), нескольких узлов ( многоадресная передача ) или если коммутатор не знает, где находится устройство назначения ( одноадресная рассылка ).
Коммутаторы изучают порт, на котором они впервые увидели определенный адрес источника, и связывают этот порт с этим адресом. Когда мост впоследствии получает кадр с адресом назначения в своем FIB, он отправляет кадр из порта, сохраненного в записи FIB.
FIB — это конструкция памяти, используемая коммутатором Ethernet для сопоставления MAC-адреса станции с портом коммутатора, к которому подключена станция. Это позволяет коммутаторам облегчать связь между подключенными станциями на высокой скорости.
Хотя точная механика таблицы пересылки зависит от реализации, общая модель для Frame Relay заключается в том, что коммутаторы имеют статически определенные таблицы пересылки, по одной на интерфейс. Когда на одном интерфейсе принимается кадр с заданным идентификатором соединения канала передачи данных (DLCI), таблица, связанная с этим интерфейсом, дает исходящий интерфейс и новый DLCI для вставки в поле адреса кадра.
Коммутаторы ATM имеют таблицы пересылки на уровне канала, во многом похожие на те, что используются в Frame Relay. Однако вместо DLCI интерфейсы имеют таблицы пересылки, которые определяют исходящий интерфейс с помощью идентификатора виртуального пути (VPI) и идентификатора виртуального канала (VCI). Эти таблицы могут быть настроены статически или могут быть распределены с помощью протокола Private Network-to-Network Interface (PNNI). Когда используется PNNI, коммутаторы ATM на границах сети сопоставляют один из стандартных сквозных идентификаторов ATM, например адрес NSAP , со следующим переходом VPI/VCI.
MPLS имеет много общего на уровне пересылки с ATM. Маршрутизаторы пограничных меток на краях облака MPLS сопоставляют сквозной идентификатор, такой как IP-адрес, и метку локальной ссылки. На каждом хопе MPLS есть таблица пересылки, которая сообщает маршрутизатору с коммутацией меток, какой исходящий интерфейс должен получить пакет MPLS и какую метку использовать при отправке пакета из этого интерфейса.
Адреса сетевого уровня , такие как IP-адреса , используются на различных типах носителей и могут обрабатываться одинаково во всех случаях.
FIB оптимизированы для быстрого поиска адресов назначения и могут улучшить производительность пересылки по сравнению с использованием базы маршрутной информации (RIB) напрямую. RIB оптимизирован для эффективного обновления протоколами маршрутизации и другими методами плоскости управления и содержит полный набор маршрутов, изученных маршрутизатором. Более ранние реализации кэшировали только подмножество маршрутов, наиболее часто используемых при фактической пересылке, и это работало достаточно хорошо для предприятий, где есть значимый наиболее часто используемый подмножество. Однако маршрутизаторы, используемые для доступа ко всему Интернету, испытывали серьезное снижение производительности при обновлении маршрутов, кэшированных в небольшом FIB, и различные реализации перешли на наличие FIB в соответствии один к одному с RIB. [1]
FIB также могут играть роль в наилучшей текущей практике Интернета (BCP) фильтрации входящего трафика . Хотя простейшей формой фильтрации входящего трафика является использование списков контроля доступа для отбрасывания пакетов с неправильными исходными адресами, использование списков доступа становится затруднительным на маршрутизаторах с большим количеством смежных сетей, а традиционные списки доступа не используются в высокопроизводительных путях пересылки маршрутизаторов. [ необходима цитата ]
Хотя документ IETF BCP 38 по фильтрации входящего трафика [2] не определяет метод реализации фильтрации исходного адреса, некоторые поставщики маршрутизаторов реализовали механизм, который использует обратный поиск пересылки пути в таблицах маршрутизатора для выполнения этой проверки. Это часто реализуется как поиск в FIB исходного адреса пакета. Если интерфейс не имеет маршрута к исходному адресу, пакет считается частью атаки на отказ в обслуживании, использующей поддельный исходный адрес , и маршрутизатор отбрасывает пакет.
Когда маршрутизатор является многосетевым , фильтрация входящего трафика становится более сложной. Существуют вполне разумные рабочие сценарии, в которых пакет может поступить на один интерфейс, но этот конкретный интерфейс может не иметь маршрута к исходному адресу. Для маршрутизаторов, расположенных вблизи границы Интернета, фильтры пакетов могут обеспечить более простое и эффективное решение, чем методы, использующие поиск информации о маршрутизации, хотя этот подход может быть сложным при управлении маршрутизаторами, которые часто перенастраиваются. Фильтрация входящего трафика для многосетевых маршрутизаторов примет пакет, если есть обратный маршрут к его исходному адресу с любого интерфейса на маршрутизаторе. Для этого типа фильтрации маршрутизатор также может поддерживать таблицу смежности , также организованную для быстрого поиска, которая отслеживает адреса интерфейсов маршрутизатора, которые находятся на всех напрямую подключенных маршрутизаторах. [3]
Дифференцированные услуги предоставляют дополнительный метод выбора исходящих интерфейсов на основе поля, которое указывает приоритет пересылки пакета, а также предпочтение пакета, который будет отброшен при наличии перегрузки. Маршрутизаторы, которые поддерживают дифференцированные услуги, не только должны искать выходной интерфейс для адреса назначения, но и должны отправлять пакет на интерфейс, который наилучшим образом соответствует требованиям дифференцированных услуг. Другими словами, помимо сопоставления адреса назначения, FIB должен сопоставлять кодовые точки дифференцированных услуг (DSCP). [4] [ неудавшаяся проверка ]
Конкретные реализации маршрутизатора могут при совпадении адреса назначения или другого критерия FIB указывать другое действие, которое необходимо выполнить перед пересылкой (например, учет или шифрование), или применять список контроля доступа , который может привести к отбрасыванию пакета.
Таблицы CAM могут быть использованы для создания атаки типа «человек посередине» . Агент угрозы , который контролирует устройство, подключенное к коммутатору Ethernet, может использовать MAC-флуд для атаки на таблицу CAM коммутатора. Если таблица заполняется, остальной трафик рассматривается как широковещательный, неизвестный одноадресный и многоадресный трафик и пересылается на все порты, делая его доступным для злоумышленника.