С 10 марта 100% мобильного и 50% стационарного трафика Twitter в России официально замедлены. Все это стало возможным благодаря технологии DPI. Мы решили разобраться, как это работает и как устроен механизм замедления.
Почему это важно? Можно предположить, что Twitter — это репетиция перед замедлением/блокировкой Facebook, а потом YouTube.
Поэтому сегодня разберемся, что такое DPI, как работает и какие у него возможности.
Будет ли у нас как в Китае? И как от этого защититься?
Начнем издалека, в ноябре 2019 года вступил в силу закон, по которому операторы связи должны были начать установку специальных «технических средств противодействия угрозам» (ТСПУ).
Позднее выяснилось, что за аббревиатурой ТСПУ скрывалась известная любому сисадмину технология DPI — Deep Packet Inspection или «Глубокий анализ пакетов». Не путать с плотностью пикселей на дюйм — это тоже DPI, но Dots Per Inch.
![](https://habrastorage.org/getpro/habr/post_images/13b/ffa/02b/13bffa02b8c4d35b07faeef850125a8b.jpg)
И вот она дошла до тестирования в масштабах страны. На примере твиттера.
Я сразу скажу, что осуждаю подобное давление на соцсети, потому что это угроза свободе слова, которая у нас только в интернете и сохраняется. Но перейдем к технологиям.
Как работает DPI?
Сисадмины знают, что передача данных в сети разделена на уровни: от физического, где передаются биты, до уровня приложений, где упаковывается сообщение в мессенджере. На каждом уровне пакет данных пополняется своими метаданными, относящимися к нему. Получается своеобразная матрешка. Например, какое приложение отправляет информацию, на какой IP-адрес и так далее.
Так вот DPI умеет просматривать данные разного уровня и сами пакеты. И оно может понять не только откуда и куда идет трафик, но и что это за трафик конкретно: текстовое сообщение, картинки или видео, голосовой трафик Skype или может даже торрент. А дальше сделать с ним, то что хочется:
- Приоритизировать
- Ограничить по скорости
- Перенаправить
- Заблокировать
- Ну или, конечно, передать получателю.
Кстати насколько именно замедляется Twitter сейчас — непонятно. Лично я проблем пока не наблюдаю. Но почему так мы еще поговорим.
![](https://habrastorage.org/getpro/habr/post_images/ec7/d3a/0f5/ec7d3a0f554317891f32577b7bd18f9a.jpg)
Это сильно упрощает задачи по блокировке сайтов и сервисов. Почему?
Раньше блокировки делались по IP-адресам. А это означало, что сервис ограничивался полностью. А кроме этого страдали сайты, которые записаны на тот же IP-адрес.
Теперь можно внимательно рассматривать пакеты и заблокировать, к примеру только загрузку картинок.
Но как вся эта вундер-технология работает?
Есть две вещи, которые анализирует DPI: сами пакеты информации, причем как метаданные и заголовки, так и внутреннее содержимое. И второе — это так сказать поведение пакетов данных.
![](https://habrastorage.org/getpro/habr/post_images/ee2/ef9/608/ee2ef9608d6050922493d838810e8f19.jpg)
Давайте посмотрим на пример. Вот так выглядит заголовок пакета при получении данных браузером и с ним все ясно. Сверху написан протокол HTTP, то есть скорее всего веб-страничка. Мы видим адрес запроса. И даже, какие именно данные отправляются.
![](https://habrastorage.org/getpro/habr/post_images/139/381/585/139381585df1755968a6f108a52455e3.jpg)
В данном случае, это небольшая картинка. И ее размер в байтах тоже написан. Даже не нужно залезать внутрь самих данных, чтобы понять, что перед нами.
![](https://habrastorage.org/getpro/habr/post_images/03a/1bc/a43/03a1bca430e98735bbbdc0300bbee0d7.jpg)
![](https://habrastorage.org/getpro/habr/post_images/55c/25f/348/55c25f348570f953e8c3a6c38cd592f8.jpg)
С зашифрованным трафиком сложнее. Тут инфы намного меньше. Система увидит, какой порт используется (это дает намек на тип приложения), IP-адреса, тип шифрования. А все остальное зашифровано, даже URL-адрес.
Есть и вторая часть алгоритмов DPI. DPI применяет так называемый эвристический анализ: из пакета извлекаются небольшие кусочки данных, так сказать образцы. А дальше система смотрит на что эти данные похожи. Сравнивая их с огромной базой известных образцов. Такие образцы данных называются сигнатурами трафика.
![](https://habrastorage.org/getpro/habr/post_images/70c/12b/96a/70c12b96ae5e46c697c1680cb2ca00f4.jpg)
Это очень похоже на то как работает Shazam, который сравнивает небольшой кусочек песни, записанный вами на диктофон, с огромной базой сигнатур песен которые хранятся на сервере. То есть по большому счету DPI — это Shazam для трафика.
![](https://habrastorage.org/getpro/habr/post_images/f1b/486/105/f1b486105b7b5f9201cfcda9cfac6c3b.jpg)
Кстати, точно по такому же принципу работают антивирусы, они сравнивают сигнатуры новых вирусов с огромной базой известных вирусов.
Кроме этого DPI смотрит на частоту и размер пакетов, потому что разные приложения тоже имеют свои особенности. Например, торренты очень своеобразно отправляют пакеты.
И главное, что поскольку все происходит в реальном времени, такой подход позволяет не сильно замедлять интернет.
Как можно использовать DPI?
Классифицировав пакет, технология DPI позволяет много чего с ним сделать и в целом технология может быть полезна. С помощью DPI можно повышать качество и скорость соединения, приоритизируя один тип трафика над другим. Например, если в вашей локалке все качают торренты, то люди не смогут нормально созвониться по ZOOM по работе. Тогда DPI позволит трафику ZOOM поставить приоритет повыше.
Но если вы Роскомнадзор, у вас вероятно другие приоритеты.
Но вопрос в том, кто будет определять, какой трафик приоритетный а какой нет, остается открытым. Например, при помощи DPI вполне можно продвигать одни сервисы и замедлять другие: отдавая приоритеты отечественным аналогам. К примеру, можно замедлить YouTube и при этом ускорить Rutube. В общем, вариантов для фантазии масса.
Архитектура или почему все снова пошло не по плану?
Но если существует такой мощный инструмент, почему же с Twitter по-прежнему все весьма неплохо?
Важным является вопрос архитектуры и внедрения: то есть, где именно устанавливать DPI-оборудование. Чтобы весь трафик страны проходил проверку, необходимо, чтобы операторы ставили DPI на всех своих пограничных шлюзах. Логично.
Вы обратили внимание, что анонсировано: Замедление для 100% мобильного трафика, а для стационарного только 50%? Распространять опасный по мнению РКН контент через компы не так опасно, что ли? Нет.
Просто внедрили технологию далеко не все. С тусовкой мобильных операторов удалось договориться. А маленьких местных провайдеров интернета — огромное количество. Но это полбеды.
Во-вторых, как и в случае с Telegram, заблокировать Twitter не так уж и просто. Дело в том, что Twitter для обеспечения высокой скорости работы сервиса по всему миру пользуется услугами CDN-провайдера. Он называется Akamai.
CDN — Content Delivery Network — сеть доставки контента.
![](https://habrastorage.org/getpro/habr/post_images/384/33f/09c/38433f09ce37e7110e2fd7107e789db9.jpg)
CDN-провайдер предоставляет Твиттеру распределенную по всему миру инфраструктуру. Как правило, это необходимо, чтобы пользователь при обращении к какому-либо сайту получал информацию не с его основного сервера, который может находиться на другом конце света, а с ближайшего к нему узла.
Такая распределенная система доставки контента заметно усложняет возможность блокировки или ограничения доступа к ресурсу. Потому что если приложение не получит данные по одному адресу, оно пойдет в другой. А там у оператора может быть не включен DPI.
![](https://habrastorage.org/getpro/habr/post_images/c8b/491/1d0/c8b4911d0c2ba7fc9cf95c1e51f2d474.jpg)
Чтобы наверняка ограничить доступ к интернет-сервису, использующему CDN, требуется ограничить доступ практически ко всей сети CDN-провайдера, у которого могут быть десятки тысяч серверов по всему миру. Иными словами, чтобы заблокировать Twitter, надо заблокировать CDN-провайдера, а от этого снова ляжет половина интернета.
И я даже не буду останавливаться на курьезной ситуации, когда ограничивают полосу пропускания не только для домена twitter.com, но и для всех доменов, в названии которых есть сочетание «t.co» — это короткий домен, принадлежащий твиттеру. Таким образом, ограничениям подвергались и другие сайты, к примеру: reddit.com, microsoft.com и даже сайт Russia Today — rt.com. Предположительно по этой же причине прилегли сервера ростелекома.
Впрочем, со временем это вроде починили. Интересно другое.
Ограничения DPI. Что делать?
![](https://habrastorage.org/getpro/habr/post_images/acd/afe/74a/acdafe74a88dbece788ec278708eb668.jpg)
Но самое любопытное: поскольку это своего рода гадание, нет единого стандарта DPI. У каждого поставщика оборудования свои алгоритмы и технологии.
Качество и эффективность работы DPI очень сильно зависит, от качества базы сигнатур, которую должен на постоянной основе обновлять поставщик. Иными словами, если Twitter что-то поменяет в составе пакетов трафика, то не факт, что старые DPI смогут классифицировать трафик по старым сигнатурам.
![](https://habrastorage.org/getpro/habr/post_images/bd8/82e/12b/bd882e12b9a2e483437aa8f33b707bb6.jpg)
Ну и наконец, DPI достаточно легко обойти при помощи VPN, так как VPN шифрует весь трафик и подменяет ваш IP-адрес, то и DPI для него не страшен.
![](https://habrastorage.org/getpro/habr/post_images/0b6/fc4/610/0b6fc4610c213052929f0744eac06c72.jpg)
Но ожидается и более простое решение. Протоколы шифрования тоже не стоят на месте. И с приходом TLS 1.3 и DNSSEC еще больше данных приложения и пользователя будут скрыты от DPI. И понять, что в системе за пакет будет еще сложнее. Такие дела.
13werwolf13
Вопрос:
Ответ:
с подачи роскомпозора это позор и пустая трата денег и ресурсов (почти всех видов ресурсов имеющих отношение к обработке данных)