Cisco NBAR¶
Cisco NBAR (Network-Based Application Recognition) — это технология классификации и управления сетевым трафиком, разработанная компанией Cisco Systems, которая позволяет идентифицировать приложения и протоколы на основе анализа содержимого пакетов, а не только по номерам портов. NBAR входит в состав операционной системы Cisco IOS и используется для обеспечения качества обслуживания (QoS), политик безопасности и оптимизации пропускной способности сети.
¶История
Технология NBAR была впервые представлена компанией Cisco Systems в начале 2000-х годов как часть программного обеспечения Cisco IOS. Она стала ответом на растущую потребность в более точной идентификации трафика в условиях, когда приложения начали использовать динамические порты или маскироваться под другие протоколы (например, HTTP-туннелирование). Первоначально NBAR поддерживал ограниченный набор протоколов (около 30), но с выходом версий IOS 12.2(15)T и выше количество распознаваемых приложений значительно расширилось.
В 2005 году была представлена версия NBAR2 (также известная как NBAR Next Generation), которая интегрировалась с технологией Flexible NetFlow и обеспечивала более глубокий анализ трафика, включая распознавание приложений на уровне Layer 7 (прикладного уровня модели OSI). С развитием облачных сервисов и шифрования (TLS/SSL) Cisco внедрила в NBAR механизмы статистического анализа и машинного обучения для идентификации зашифрованного трафика.
¶Принцип работы
NBAR работает на сетевых устройствах Cisco (маршрутизаторах и коммутаторах) и выполняет классификацию трафика в реальном времени. Основные этапы работы:
- Захват пакетов: устройство перехватывает проходящие через него IP-пакеты.
- Анализ заголовков: NBAR проверяет поля заголовков IP, TCP/UDP (порты источника и назначения), а также опции IP (например, ToS).
- Глубокий анализ содержимого: для протоколов, не использующих фиксированные порты, NBAR анализирует полезную нагрузку пакета (payload) на наличие сигнатур — уникальных последовательностей байтов, характерных для конкретных приложений (например, HTTP-заголовки, протоколы P2P, VoIP).
- Сопоставление с базой сигнатур: устройство сравнивает найденные сигнатуры с встроенной базой данных протоколов (Protocol Discovery). Если совпадение найдено, трафик классифицируется по имени приложения (например, «BitTorrent», «Skype», «YouTube»).
- Применение политик: после классификации к трафику могут применяться политики QoS (ограничение полосы пропускания, приоритезация), фильтрации (ACL) или маршрутизации.
¶Классификация и виды
NBAR поддерживает несколько уровней классификации трафика:
- По протоколам: более 1000 предустановленных протоколов и приложений, включая HTTP, HTTPS, FTP, SMTP, DNS, BitTorrent, Skype, Netflix, Zoom и другие.
- По категориям: трафик группируется в категории (например, «видео», «голос», «P2P», «облачные сервисы»).
- По подписям: пользователь может создавать собственные сигнатуры для распознавания специфических приложений с помощью механизма Custom NBAR (настройка через регулярные выражения или шаблоны).
- По статистическим характеристикам: в NBAR2 используется анализ размера пакетов, межпакетных интервалов и направленности потоков для идентификации зашифрованного трафика.
¶Версии NBAR
- NBAR (Classic): базовая версия, поддерживающая до 30 протоколов, работает только на IPv4, использует статические сигнатуры.
- NBAR2: расширенная версия, поддерживающая IPv6, более 1000 протоколов, интеграцию с Flexible NetFlow и Application Visibility and Control (AVC). Включает механизмы машинного обучения для распознавания трафика, зашифрованного с помощью TLS 1.3.
- NBAR for SD-WAN: версия, адаптированная для программно-определяемых сетей (SD-WAN) Cisco, позволяющая классифицировать трафик в распределённой инфраструктуре.
¶Устройство и характеристики
¶Компоненты NBAR
- База данных протоколов (Protocol Pack): файл, содержащий сигнатуры приложений. Обновляется через Cisco.com или автоматически через облачный сервис Cisco.
- Механизм классификации: модуль ядра IOS, выполняющий анализ пакетов.
- Интерфейс управления: настройка через CLI (команды
class-map,policy-map,service-policy). - Интеграция с NetFlow: NBAR может передавать данные о классифицированном трафике в NetFlow-коллекторы для анализа.
¶Характеристики
- Производительность: классификация выполняется аппаратно (на коммутаторах ASIC) или программно (на маршрутизаторах). Влияние на производительность составляет от 5% до 20% в зависимости от модели устройства и объёма трафика.
- Масштабируемость: поддерживает до 256 классов трафика на одном интерфейсе.
- Поддержка шифрования: NBAR2 способен идентифицировать до 80% зашифрованного трафика (по данным Cisco) за счёт статистического анализа.
- Совместимость: работает на устройствах Cisco серий ISR, ASR, Catalyst 9000, а также в виртуальных маршрутизаторах (CSR 1000v).
¶Применение
NBAR используется в корпоративных и провайдерских сетях для решения следующих задач:
- Обеспечение качества обслуживания (QoS): приоритезация голосового и видеотрафика (VoIP, Webex, Zoom) над фоновым (P2P, обновления ПО).
- Оптимизация пропускной способности: ограничение трафика BitTorrent или потокового видео в часы пик.
- Безопасность: блокировка нежелательных приложений (например, торрент-клиентов) или протоколов, используемых для утечки данных (DNS-туннелирование).
- Мониторинг и отчётность: сбор статистики по использованию приложений для планирования ёмкости сети (через Flexible NetFlow или Cisco Prime Infrastructure).
- SD-WAN: в решениях Cisco SD-WAN NBAR используется для динамического выбора пути (path selection) на основе типа приложения.
¶Примеры
¶Пример 1: Приоритезация VoIP-трафика
На маршрутизаторе Cisco ISR 4451 настраивается политика, которая выделяет 50% полосы пропускания для голосового трафика (Skype for Business) и ограничивает P2P-трафик до 10%:
`` class-map match-any VOICE match protocol ms-lync class-map match-any P2P match protocol bittorrent ! policy-map QOS_POLICY class VOICE priority percent 50 class P2P bandwidth remaining percent 10 police cir 1000000 ! interface GigabitEthernet0/0/0 service-policy output QOS_POLICY ``
¶Пример 2: Блокировка нежелательных приложений
Настройка фильтрации трафика BitTorrent и Skype (версия до 2016 года) на граничном маршрутизаторе:
`` class-map match-any BLOCKED match protocol bittorrent match protocol skype ! policy-map BLOCK_POLICY class BLOCKED drop ! interface GigabitEthernet0/0/1 service-policy input BLOCK_POLICY ``
¶Интересные факты
- NBAR способен распознавать более 1000 приложений, включая игры (World of Warcraft, Counter-Strike) и облачные сервисы (Microsoft 365, Salesforce).
- В версии NBAR2 используется технология Application Fingerprinting, которая анализирует первые 1000 байт каждого потока для идентификации приложения.
- Для обновления базы протоколов Cisco выпускает ежеквартальные пакеты (Protocol Pack), которые можно загрузить с официального сайта без дополнительной лицензии (на устройствах с поддержкой AVC).
- NBAR может работать в паре с механизмом Performance Routing (PfR), позволяя динамически выбирать наилучший канал связи для каждого типа приложения.
¶Критика
Несмотря на широкое распространение, NBAR имеет ряд ограничений:
- Производительность: на старых моделях маршрутизаторов (например, серии 2800/3800) включение NBAR может снижать пропускную способность на 30–50% из-за программной обработки.
- Зашифрованный трафик: с ростом использования TLS 1.3 и QUIC эффективность классификации снижается, хотя Cisco заявляет о точности до 80% для NBAR2.
- Сложность настройки: создание пользовательских сигнатур требует знаний регулярных выражений и структуры протоколов, что затрудняет эксплуатацию в небольших компаниях.
- Зависимость от обновлений: для распознавания новых приложений необходимо регулярно обновлять базу Protocol Pack, что может быть проблематично в изолированных сетях.
¶Источники
- Cisco Systems. «Cisco IOS Network-Based Application Recognition (NBAR) Configuration Guide». Cisco Press, 2020.
- Cisco Systems. «NBAR2 Protocol Pack Release Notes». Cisco.com, 2023.
- Doyle, J. «Routing TCP/IP, Volume 2: CCIE Professional Development». Cisco Press, 2002.
- Официальная документация Cisco: «Application Visibility and Control (AVC) Deployment Guide».
