Классификация трафика — это автоматизированный процесс, который классифицирует трафик компьютерной сети в соответствии с различными параметрами (например, на основе номера порта или протокола ) на несколько классов трафика . [1] Каждый полученный класс трафика может обрабатываться по-разному, чтобы различать услуги, подразумеваемые для генератора или потребителя данных.
Пакеты классифицируются для различной обработки сетевым планировщиком . После классификации потока трафика с использованием определенного протокола к нему и другим потокам может быть применена предопределенная политика, чтобы гарантировать определенное качество (как в случае с VoIP или службой потоковой передачи мультимедиа [2] ) или обеспечить доставку с наилучшими усилиями. Это может быть применено в точке входа (точка, в которой трафик поступает в сеть, обычно это периферийное устройство ) с гранулярностью, которая позволяет механизмам управления трафиком разделять трафик на отдельные потоки и ставить их в очередь, контролировать и формировать по-разному. [3]
Классификация осуществляется различными способами.
Сопоставление битовых шаблонов данных с шаблонами известных протоколов — это простая и широко используемая техника. Примером для сопоставления фазы установления связи протокола BitTorrent может служить проверка того, начинается ли пакет с символа 19, за которым следует 19-байтовая строка «протокол BitTorrent». [4]
Всестороннее сравнение различных классификаторов сетевого трафика, которые зависят от Deep Packet Inspection (PACE, OpenDPI, 4 различных конфигурации L7-filter, NDPI, Libprotoident и Cisco NBAR), показано в Независимом сравнении популярных инструментов DPI для классификации трафика. [5]
В настоящее время трафик стал более сложным и более безопасным, поэтому нам нужен метод классификации зашифрованного трафика иным способом, чем классический режим (на основе анализа IP-трафика зондами в базовой сети). Форма достижения этого — использование дескрипторов трафика из трассировок соединений в радиоинтерфейсе для выполнения классификации. [7]
Эта же проблема с классификацией трафика присутствует и в мультимедийном трафике. В целом доказано, что использование методов, основанных на нейронных сетях, векторных опорных машинах, статистике и ближайших соседях, является отличным способом для такой классификации трафика, но в некоторых конкретных случаях некоторые методы лучше других, например: нейронные сети работают лучше, когда учитывается весь набор наблюдений. [8]
И сетевой планировщик Linux , и Netfilter содержат логику для идентификации, маркировки или классификации сетевых пакетов.
Операторы часто различают два основных типа сетевого трафика: чувствительный ко времени и наилучший по усилиям. [9]
Трафик, чувствительный ко времени, — это трафик, который оператор ожидает доставить вовремя. Сюда входит VoIP , онлайн- игры , видеоконференции и просмотр веб-страниц . Схемы управления трафиком обычно разрабатываются таким образом, чтобы гарантировать качество обслуживания этих выбранных видов использования или, по крайней мере, приоритизировать его по сравнению с другими классами трафика. Этого можно добиться за счет отсутствия шейпинга для этого класса трафика или приоритизации чувствительного трафика по сравнению с другими классами.
Трафик best-effort — это все остальные виды трафика. Это трафик, который провайдер считает нечувствительным к показателям качества обслуживания (джиттер, потеря пакетов, задержка). Типичным примером могут служить одноранговые и почтовые приложения. Схемы управления трафиком обычно настраиваются так, чтобы трафик best-effort получал то, что осталось после чувствительного ко времени трафика.
Приложения для обмена файлами по одноранговой сети часто разрабатываются для использования любой и всей доступной полосы пропускания, что влияет на QoS -чувствительные приложения (например, онлайн-игры ), которые используют сравнительно небольшие объемы полосы пропускания. Программы P2P также могут страдать от неэффективности стратегии загрузки, а именно загрузки файлов с любого доступного однорангового узла, независимо от стоимости соединения. Приложения используют ICMP и обычный HTTP- трафик для обнаружения серверов и загрузки каталогов доступных файлов.
В 2002 году Sandvine Incorporated путем анализа трафика определила, что трафик P2P составляет до 60% трафика в большинстве сетей. [10] Это показывает, в отличие от предыдущих исследований и прогнозов, что P2P стал мейнстримом.
Протоколы P2P могут и часто разрабатываются таким образом, чтобы полученные пакеты было сложнее идентифицировать (чтобы избежать обнаружения классификаторами трафика), и с достаточной надежностью, чтобы они не зависели от определенных свойств QoS в сети (доставка пакетов по порядку, джиттер и т. д. - обычно это достигается за счет увеличения буферизации и надежной транспортировки, в результате чего пользователь сталкивается с увеличением времени загрузки). Зашифрованный протокол BitTorrent , например, полагается на обфускацию и рандомизированные размеры пакетов, чтобы избежать идентификации. [11] Трафик обмена файлами можно соответствующим образом классифицировать как трафик Best-Effort. В часы пик, когда конфиденциальный трафик находится на пике, скорость загрузки будет снижаться. Однако, поскольку загрузки P2P часто являются фоновыми действиями, это мало влияет на опыт абонента, пока скорость загрузки увеличивается до своего полного потенциала, когда все остальные абоненты вешают свои VoIP-телефоны. Исключением являются службы P2P VoIP в реальном времени и потокового видео P2P, которым требуется постоянное качество обслуживания (QoS) и которые используют чрезмерные [ требуется ссылка ] на служебные данные и трафик четности, чтобы обеспечить это в максимально возможной степени.
Некоторые приложения P2P [12] можно настроить так, чтобы они действовали как самоограничивающиеся источники , выступая в качестве формирователя трафика, настроенного в соответствии со спецификациями трафика пользователя (в отличие от спецификаций сетевого оператора).
Некоторые поставщики выступают за управление клиентами, а не конкретными протоколами, особенно для интернет-провайдеров. Управляя по каждому клиенту (то есть по каждому клиенту), если клиент выбирает использовать свою справедливую долю полосы пропускания для работы приложений P2P, они могут это сделать, но если их приложение является злоупотребляющим, они только забивают свою собственную полосу пропускания и не могут повлиять на полосу пропускания, используемую другими клиентами.