Классификация трафика и Deep Packet Inspection

классифик_обложка

Сетевой трафик неоднороден, он состоит из множества приложений, протоколов и сервисов. Многие из этих приложений уникальны по требованиям к характеристикам сети, таким как скорость, задержки, джиттер. Удовлетворение этих требований – обязательное условие для того, чтобы приложение работало быстро и стабильно, а пользователи были удовлетворены качеством. Если в локальных сетях (LAN) с их высокой пропускной способностью проблем не бывает, то ограниченная ширина канала доступа в Интернет (WAN) требует тонкой настройки.

Классификация и маркировка

Предоставление услуг доступа к сети Интернет ориентировано на пользователя, самое важное – это его восприятие качества работы: Интернет не должен «тормозить», приложения должны быстро реагировать на команды, файлы должны быстро скачиваться, голос при звонках не должен заикаться, иначе человек начнет искать другого оператора связи. Управление трафиком канала доступа в Интернет, настройки ограничений и приоритетов должны обеспечивать требования пользователя. Также информация о протоколах и приложениях дает администратору возможность реализовать политики безопасности для защиты пользователей сети.

Классификация трафика – первый шаг, который помогает идентифицировать различные приложения и протоколы, передаваемые по сети. Вторым шагом является управление этим трафиком, его оптимизация и приоритизация. После классификации все пакеты становятся отмеченными по принадлежности к определенному протоколу или приложению, что позволяет сетевым устройствам применять политики обслуживания (QoS), опираясь на эти метки и флаги.

Основные понятия: классификация – идентификация приложений или протоколов; маркировка – процесс разметки пакетов для применения политик обслуживания на оборудовании.

19 класс cisco

Существуют два основных метода классификации трафика:

  • Классификация на основе блоков данных (Payload-Based Classification). Основывается на полях с блоками данных, таких как порты (Layer 4) OSI (отправитель и получатель или оба). Данный метод является наиболее распространенным, но не работает с зашифрованным и туннелированным трафиком.
  • Классификация на основе статистического метода. Основывается на анализе поведения трафика (время между пакетами, время сеанса и т. п.).

Универсальный подход к классификации трафика основывается на информации в заголовке IP-пакета – как правило, это IP-адрес (Layer 3), MAC-адрес (Layer 2), используемый протокол. Этот подход имеет ограниченные возможности, поскольку информация берется только из IP-заголовка, так же, как ограничены методы Layer 4 – ведь далеко не все приложения используют стандартные порты.

Более совершенную классификацию позволяет осуществить глубокий анализ пакетов (DPI). Это метод наиболее точный и надежный, его рассмотрим подробнее.

Deep Packet Inspection

Системы глубокого анализа трафика позволяют классифицировать те приложения и протоколы, которые невозможно определить на Layer 3 и Layer 4, например URL внутри пакета, содержимое сообщений мессенджеров, голосовой трафик Skype, p2p-пакеты BitTorrent.

Основным механизмом идентификации приложений в DPI является анализ сигнатур (Signature Analysis). Каждое приложение имеет свои уникальные характеристики, которые занесены в базу данных сигнатур. Сопоставление образца из базы с анализируемым трафиком позволяет точно определить приложение или протокол. Но так как периодически появляются новые приложения, то базу данных сигнатур также необходимо обновлять для обеспечения высокой точности идентификации.

19 сигнатуры

Существуют несколько методов сигнатурного анализа:

  • Анализ образца (Pattern analysis).
  • Числовой анализ (Numerical analysis).
  • Поведенческий анализ (Behavioral analysis).
  • Эвристический анализ (Heuristic analysis).
  • Анализ протокола/состояния (Protocol/state analysis).

Анализ образца

Некоторые приложения содержат определенные образцы (байты/символы/строки) в блоке данных пакета, которые можно использовать для идентификации и классификации. Причем образцы могут находиться в любом месте блока данных, это никак не влияет на процесс идентификации. Но так как не каждый пакет содержит в себе образец приложения, этот метод работает не всегда.

Числовой анализ

Числовой анализ изучает количественные характеристики пакетов, такие как размер блока данных, время отклика пакета, интервал между пакетами. Например, старая версия Skype (до версии 2.0) хорошо поддавалась такому анализу, потому что запрос от клиента имел размер 18 байт, а ответ, который он получал, – 11 байт. Поскольку анализ может быть распространен по пакетам сети магазинов, решение классификации могло бы занять больше времени. Одновременный анализ нескольких пакетов требует довольно много времени, что делает этот способ не самым эффективным.

Поведенческий и эвристический анализ

Данный метод основывается на поведении трафика запущенного приложения. Пока приложение запущено, оно генерирует динамичный трафик, который также может быть идентифицирован и подвергнут маркировке. Например, BitTorrent генерирует трафик с определенной последовательностью пакетов, обладающих одинаковыми признаками (входящий и исходящий порт, размер пакета, число открываемых сессий в единицу времени), по поведенческой (эвристической) модели его можно классифицировать.

Поведенческий и эвристический анализ обычно применяют совместно, такие методы используют многие антивирусные программы для идентификации вирусов и червей.

Анализ протокола/состояния

Протоколы некоторых приложений – это последовательность определенных действий. Анализ таких последовательностей позволяет достаточно точно идентифицировать приложение. Например, на запрос GET от FTP клиента обязательно следует соответствующий ответ сервера.

Все больше приложений в Интернете начинают использовать механизмы шифрования трафика, что создает большие проблемы для любого из методов классификации. Система DPI не может заглянуть внутрь зашифрованного пакета для анализа содержимого, поэтому основными методами идентификации такого трафика являются поведенческий и эвристический анализ, но даже они могут определить далеко не все приложения. Новейший механизм, использующий оба эти метода одновременно, называется кластерным, и только он позволяет идентифицировать зашифрованный трафик.

Так как ни один из описанных методов по отдельности не обеспечивает 100%-ную классификацию трафика, лучшей практикой является использование их всех одновременно.

Классификация трафика с дальнейшим применением политик качества обслуживания составляет одну из самых важных задач любого оператора связи. Использование современных систем DPI позволяет выполнять эту задачу с максимальной эффективностью и производительностью.

Поделиться в социальных сетях