Краткий обзор DPI — Deep Packet Inspection

Побудило меня на написание этого топика недавнее принятие в США закона о сетевом нейтралитете. Тема DPI на хабре раскрыта была достаточно слабо, поэтому я бы хотел немного рассказать об устройствах, которые применяют ведущие сервис-провайдеры и крупные корпоративные пользователи для интеллектуального управления трафиком в своих сетях.

Система DPI, как видно из названия, выполняет глубокий анализ всех проходящих через неё пакетов. Термин глубокий подразумевает анализ пакета на верхних уровнях модели OSI. Помимо изучения пакетов по неким стандартным паттернам, по которым можно однозначно определить принадлежность пакета определённому приложению, скажем, по формату заголовков, номерам портов и т.п., система DPI осуществляет и так называемый поведенческий анализ трафика, который позволяет распознать приложения, не использующие для обмена данными заранее известные заголовки и структуры данных. Яркий пример тому – Bittorrent. Для их идентификации осуществляется анализ последовательности пакетов, обладающими одинаковыми признаками (Source_IP:port – Destination_IP:port -) по поведенческим моделям, соответствующим таким приложениям. Естественно, сколько производителей такого железа – столько и интерпретаций поведенческих моделей соответствующих протооклов. Раз речь зашла о производителях, стоит отметить, что наиболее крупными игроками на рынке DPI являются Cisco SCE, Arbor eSeries (бывшая Ellacoya), Procera PacketLogic, Allot NetEnforcer, Sandvine PTS. Софтварные решения, крутящиеся на серверах я не указываю, ибо названные выше устройства рассчитаны на пропускную способность в десятки гигабит в секунду.

Система DPI, как правило, устанавливается на границе сети оператора в разрыв существующих аплинков. Тем самым, весь трафик, который покидает или входит в сеть оператора, проходит через DPI, что даёт возможность его мониторинга и контроля. Для решения специфических задач можно устанавливать эту систему не на границе сети, а спускать её ниже, ближе к конечным пользователям. Это может быть полезно тем операторам, которые по ряду причин помимо утилизации внешних каналов также хотят решать задачу контроля внутренних. Естественно, здесь речь идёт о достаточно крупных сервис-провайдерах с большой распределённой сетью масштабов страны и с дорогими канальными ёмкостями.

На рынке DPI есть модели на самый разный кошелёк. Производительность представленных на рынке устройств плавает в пределах от нескольких Мбит/с до 80 Гбит/с (полудуплекс) в рамках одной отдельно взятой коробки (которые можно объединять в кластеры). Соответственно, и стоимость плавает весьма серьёзно — от пары тысяч долларов до сотен и сотен тысяч условных единиц. В 2011 году ожидается появление первых систем DPI с 40G и 100G Ethernet-интерфейсами и соответствующей производительностью (свыше 200 Гбит/с в полудуплексе), готовых к подключению к суперпроизводительным устройствам. Пока что рынок 100G интерфейсов на сетевом оборудовании достаточно скуден, во многом в силу того, что спрос на такие скорости пока ещё низок, а стоимость весьма высока.

Теперь возникает логичный вопрос – ну и что теперь со всем этим делать? У Оператора появляется достаточно мощный инструмент, при умелом использовании которого можно решать различные задачи по эксплуатации сети и её развитию.

С точки зрения эксплуатации, оператор может контролировать утилизацию подключенных через DPI каналов на уровне приложений. Раньше он решать задачи обеспечения QoS (Quality of Service) исключительно средствами построения очередей на основании маркировки трафика служебными битами в заголовках IP, 802.1q и MPLS, выделяя наиболее приоритетный трафик (разного рода VPN’ы, IPTV, SIP и т.д.), и гарантируя ему определённую пропускную способность в любой момент времени. Трафик типа Best Effort, к которому относится весь интернет трафик домашних абонентов (HSI — High Speed Internet), оставался без контроля, что давало возможность тому же Bittorrent забрать себе всю свободную полосу, что, в свою очередь, вело к деградации любых других веб-приложений. С использованием DPI у оператора появляется возможность распределить канал между различными приложениями. К примеру, в ночные часы разрешить трафику Bittorrent забирать себе больше полосы, чем днём, в часы-пик, когда в сети ходит большое количество другого веб-трафика. Другая популярная мера у многих мобильных операторов – блокировка Skype-трафика, а также любых видов SIP-телефонии. Вместо полной блокировки оператор может разрешать работу данных протоколов, но на очень низкой скорости с соответствующей деградацией качества предоставления сервиса у конкретного приложения.

Важным моментом является то, что правила, на основании которых выполняется шейпинг/блокировка, могут быть заданы посредством двух основных базисов – per-service или per-subscriber. В первом случае простейшим образом оговаривается, что определённому приложению позволяется утилизировать определённую полосу. Во втором привязка приложения к полосе осуществляется для каждого подписчика или группы подписчиков независимо от других, что производится через интеграцию DPI с существующими OSS/BSS системами оператора. Т.е. можно настроить систему таким образом, что подписчик Вася, который месяц назад накачал торрентов на 100 гигабайт, в текущем месяце будет ограничен по скорости скачивания этих же торрентов на уровне 70% от купленного им тарифа. А у подписчика Пети, который купил дополнительную услугу под названием «Skype без проблем», трафик приложения Skype не будет блокироваться ни при каких условиях, но любой другой – легко.

Звучит это всё, конечно, не очень оптимистично, но для многих операторов по экономическим причинам значительно дешевле поставить систему DPI для контроля утилизации каналов, чем расширять аплинки. Причём, сделать это без особых потерь абонентской базы, т.к. давно известно, что большая часть трафика генерируется примерно 5% наиболее активных абонентов. И в этом случае оператору экономически целесообразней снизить абонентскую базу, но платить меньше денег за аплинки, т.к. уйдут самые активные качальщики, из-за которых оператор вынужден каждый месяц платить немаленькую сумму за аплинки. Это ночной кошмар любого маркетолога, но в некоторых случаях потерять клиентов – выгодно. Деликатность ситуации заключается в том, что рано или поздно наступит такой момент, когда все операторы так или иначе будут что-либо шейпить при помощи DPI. Т.е. если сегодня один оператор начнёт рубить торренты, самые активные качальщики разом уйдут к другому. После этого у того сильно скакнёт загрузка его каналов и клиенты начнут жаловаться на то, что плохо работает веб-браузинг. Оператор подумает, подсчитает, и в итоге купит DPI. И так до тех пор, пока все игроки на рынке не обзаведутся подобной системой. Разумеется, установка DPI не снимает с оператора задачу по периодическому расширению аплинков и увеличению скорости доступа для подписчиков. Просто теперь эти расширения не будут бесконтрольными. Т.е. оператор всегда будет знать трафик какого типа и в каком количестве пойдёт через его каналы, это будет прогнозируемо.

Таким образом, мы плавно перешли к задаче развития сети и её услуг. Глядя на то, как подписчики пользуются купленной ими полосой, какие приложения используют, оператор может изучать потребности каждой категории подписчиков и предлагать им более гибкие и совершенные тарифные планы. К примеру, основываясь на том, что подписчики тарифа Silver активно пользуются услугами сторонней SIP-телефонии, можно предложить им дополнительный пакет, позволяющий использовать аналогичный сервис, предоставляемый оператором, но со скидкой. Остальные подписчики при желании воспользоваться более дешёвой телефонией будут мотивированы переходить на более дорогой тариф, приобретая дополнительные бонусы в виде повышения скорости. Можно придумать много кейсов, это лишь один из них. Своё видение персонализированных сервисов представила компания Allot в своей презентации, выдержки из которой упоминаются в материале, опубликованном на хабре пару недель назад. Подход очень интересный, и выгодный как для пользователя, так и для оператора.

Моё личное мнение как пользователя услуги широкополосного доступа в интернет – что-либо резать и блокировать, конечно же, плохо и неправильно. Но, глядя глазами инженера на то, какими темпами растут объёмы трафика, использование DPI становится спасением для многих операторов, т.к. торренты сегодня способны забить практически любой аплинк. И тут надо выбирать – купить аплинк пошире, который через минуту забьётся торрентами, либо же поставить DPI, посмотреть что же происходит в сети, и сделать последующие апгрейды более предсказуемыми.

И, наконец, хотелось бы сказать пару слов о сетевом нейтралитете в США. Если коротко, то операторам в отсутствие перегрузок на аплинках нынче запрещено блокировать трафик законных/легальных приложений. Т.е. начать выборочную блокировку любого трафика теперь разрешается только в случае возникновения перегрузок. Но, в то же время, на данный момент ещё нет чётких формулировок на тему того, какие именно приложения являются законными, а какие – нет. По логике, незаконным может быть только контент, а не приложения. К примеру, детская порнография явно относится к незаконному контенту, но протоколы HTTP и Bittorrent, посредством которых можно осуществлять его передачу – вполне себе легальны. Так что тут имеется ещё достаточно большой простор для споров, а тема, на мой взгляд, весьма интересна. Пока что у нас сетевым нейтралитетом не пахнет, посему у операторов на руках — все карты для управления трафиком при помощи DPI.


1 комментарий

avatar
Спасибо большое за материал. Всё остаётся очень много вопросов по теме. Не каждый оператор будет способен приобрести оборудование на такие суммы.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.