Меня зовут Павел, я начальник отдела Информационных технологий интернет-провайдера. Все дальнейшее повествования я буду вести от своего лица, так как принимал в этом непосредственное, единоличное участие.
Познакомился с продукцией VAS Experts я достаточно давно, но для меня эта компания была "всего лишь" производителем СОРМ. Мое мнение о них кардинально изменилось с мероприятия, проводимого компанией НАГ под названием "Академия НАГ-2014" в ноябре 2014 г. Во второй день мероприятия проводилась игра, в которой 2 команды должны были представлять различные технические решения. Мне и моей команде достался "СКАТ". В процессе игры мы должны были представить судьям данное ПО, показать его достоинство и посчитать, сколько оно сможет сэкономить денег. В процессе игры я задумался: а почему бы моей компании не протестировать данное ПО в своей сети.
На тот момент (ноябрь 2014г.) в нашей сети было несколько проблем:
Целью тестирования данного ПО было решить эти проблемы. Соответственно, задачи, которые должно выполнять данное ПО:
Вскоре после окончания Академии НАГ я написал письмо в VAS Experts с просьбой установить для тестирования "СКАТ" в нашу сеть. Первоначально тестирование я планировал произвести на виртуальном сервере, выделил для этого ресурсы, установил ОС Centos 6.5 x64, сделал запрос в ТП на установку ПО. Оказалось, это невозможно. Данное ПО привязано к определенным сетевым платам, и полноценно виртуализировать их невозможно. Пришлось выделять полноценный сервер, им оказался SuperMicro X8DTU c двумя 6-тиядерными CPU Intel XEON E5645, 16GB RAM. С сетевой платой 82576 Gigabit ET Quad Port Adapter. Этого было достаточно для пропуска 2 Gpbs full-duplex. Один из процессоров был удален из сервера по совету ТП, так как все равно не будет нагружен. ОС на сервер я установил ту же, обновил полностью, что сыграло со мной злую шутку, о которой я напишу позже.
Процесс установки ПО на сервер очень затянулся, так как на тот момент вся переписка была по почте, и на каждое сообщение уходило 2-3 дня (после приобретения лицензии на ПО ситуация нормализовалась, мне дали доступ в нормальный HelpDesk, после чего мое общение с ТП значительно ускорилось). Схему подключения я выбрал "в разрыв", пропускал и входящий и исходящий трафик через сервер. Сотрудник ТП предупредил меня о том, что на этой сетевой карте не будет работать bypass. Я смирился с этим, для тестирования мне было достаточно и такого урезанного функционала. Практически сразу после первого письма мне был дан доступ в wiki, где было достаточно подробно описано обо всем, что мне нужно было знать для установки "СКАТ" в сеть.
О настройках, которые я сделал, я напишу позднее, а пока опишу ту злую шутку, о которой я упоминал ранее. В первый же вечер после перевода трафика первого BRAS на "СКАТ", всплыла проблема: скорость у абонентов упала до 0.5 мбит/с, куча дропов, звонки в ТП. Я думаю, такая ситуация знакома каждому провайдеру. Пришлось экстренно возвращать старую схему, без СКАТ. ТП VAS Experts пыталась разобраться в этой проблеме, и выяснилось следующее: вся нагрузка легла на одно ядро, не работал NUMA. Различные настройки, которые мы пытались делать, не привели к успеху. Систему пришлось переустанавливать, и начинать все заново. Произошло это, скорее всего, из-за обновления ядра системы, которое привело к конфликту с ПО. После установки я не стал обновлять систему, и до сих пор (ноябрь 2015, почти год) система ни разу не обновлялась, ядро там 2.6.32-431.el6.x86_64.
После проведения всех тестов, я решил, что ПО достаточно хорошо справляется с теми задачами, которые я поставил, и компания приобрела лицензию на ПО СКАТ-6 Complete. Наши пользователи не ощутили дискомфорта от снижения скорости загрузки через торрент, но очень хорошо отзывались о приоритезации трафика (перестал заикаться skype во время закачек, стало комфортнее работать в Web ресурсах). Так же я решил купить 6-ти портовый сетевой адаптер Silicom PE2G6BPi35-SD для того, чтобы в случае возникновения внештатных ситуаций включать bypass. C момента окончательной установки в сеть, я практически не имел проблем с ПО и не обращался в ТП, не производил обновлений ПО и т.п., за исключением одного раза, когда потребовалось изменение настроек NUMA из-за возросшей нагрузки. ТП была на высоте и оперативно произвела настройки.
Отдельно скажу о кэширующем сервере. На момент установки "СКАТ" в сеть он был бесплатен для пользователей DPI. Поскольку наша компания планировала купить лицензию на кеширующий сервер CacheMARA XL-4000, у нас был в наличии очень мощный сервер (24*2 ТБ HDD, 2*240 GB SSD, 192 GB RAM, 2 10-ти ядерных процессора). Мы решили попробовать также и кеширующий сервер от VAS Experts. ТП была немало удивлена, устанавливая Кэшсервер, их требования к аппаратной части сервера были намного скромнее. Однако кэш-сервер так и не ввели в боевой режим из-за многочисленных проблем, которые приводили к дискомфорту наших пользователей.
Вот только немногие из них:
Ну и конечно самой главной проблемой была низкая эффективность кэширования по сравнению с CacheMARA. Мне был не понятен принцип работы КЭШа, документации практически не было. Мы сочли Кэшсервер сырым и выключили его. Насколько мне известно, сейчас ситуация с кэшсервером значительно улучшилась.
Вернемся к DPI. Из чисто академического интереса, учитывая рекомендации коллег, я решил обновить ПО до последней версии. Залез в wiki, почитал о том, что ядро нельзя обновлять (это я уже знал ценой своей ошибки), проверил версию, которая у меня была установлена:
[root@dpi log]# yum info fastdpi
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirror.neolabs.kz
* extras: mirror.neolabs.kz
* updates: mirror.neolabs.kz
* vasexperts: vasexperts.ru
Installed Packages
Name : fastdpi
Arch : x86_64
Version : 1.2
Release : 2
Size : 5.9 M
Repo : installed
From repo : vasexperts
Summary : CKAT provides DPI platform and VAS for Broadband Internet providers
URL : http://fastdpi.ru
License : http://vasexperts.ru/vas/docs/lic.dpi.scat.v.1.01.pdf
Description : CKAT provides DPI platform and VAS for Broadband Internet providers
: Please, visit http://www.fastdpi.ru for information
Ввел команду
[root@dpi log]# yum update fastdpi
Подождал несколько секунд, затем:
[root@dpi log]# service fastdpi restart
И все. Все отлично работает, как в прочем, и ранее работало. Конечно, в новой версии очень много все исправили, добавили, но, по сути, мне это все было надо, поскольку и так все хорошо работало.
Приступим к настройкам, которые я сделал.
[root@dpi dpi]# cat ./fastdpi.conf
# FastDPI configuration parameters
#
# Interface pairs for ethernet bridge
#
# For example this setup
# in_dev=dna0:dna2:dna4
# out_dev=dna1:dna3:dna5
# creates following bridges:
# dna0 <--> dna1
# dna2 <--> dna3
# dna4 <--> dna5
#
in_dev=dna0:dna2:dna4
out_dev=dna1:dna3:dna5
# Enable automatic update of black list from the Cloud
federal_black_list=false
#Scale factor is about 1 for every 1 Gigabit of bandwidth
scale_factor=3
timeout_check_dev=0
#FDPI Control
ctrl_port=29000
ctrl_dev=lo
#Turn on UDP detection
only_tcp=0
#Set CPU affinity
services_bind_cores=0
ajb_bind_core=0
rx_bind_core=1
engine_bind_cores=2:3:4:5
#Turn on UDR
udr=1
#dbg_log_mask=0x80
Как видно, их совсем немного, но этого вполне достаточно. Блокировка по федеральному списку мне не нужна, поэтому она выключена.
[root@dpi dpi]# cat protocols.txt
skype cs0
dns cs0
mpeg cs0
http cs1
https cs1
default cs2
bittorrent cs3
Наивысший приоритет я отдал Skype, DNS, и mpeg потокам, далее http и https, потом весь остальной трафик и, наконец, торрент. Приоритезация работает достаточно эффективно. К примеру, при одновременной закачке файла через торрент и попытке измерить скорость на сайте speedtest.net скорость на сайте показывалась практически максимально возможная, а скоростью закачки в торренте падала до минимума, назначенного в настройках шейпера. Такая настройка очень помогает бороться с теми, кто по знанию или незнанию ставит на закачку фильм в торренте, и пытается делать еще что-то в браузере. В случае обычного шейпера, без DPI, работать бы в браузере или разговаривать по Skype было бы некомфортно (правда это не снимает проблемы со слабыми CPE, на которых закачка файлов через торрент из-за высокого pps забирает все ресурсы, там DPI на высокоскоростных тарифах не поможет).
Пример настройки шейпера для одного из наших тарифных планов.
[root@dpi dpi]# cat Dom1.cfg
htb_inbound_root=rate 9mbit
htb_inbound_class0=rate 2mbit ceil 8mbit
htb_inbound_class1=rate 2mbit ceil 9mbit
htb_inbound_class2=rate 3mbit ceil 9mbit
htb_inbound_class3=rate 1mbit ceil 6mbit
htb_inbound_class4=rate 8bit ceil 8mbit
htb_inbound_class5=rate 8bit ceil 8mbit
htb_inbound_class6=rate 8bit ceil 8mbit
htb_inbound_class7=rate 8bit ceil 8mbit
htb_root=rate 9mbit
htb_class0=rate 2mbit ceil 8mbit
htb_class1=rate 2mbit ceil 9mbit
htb_class2=rate 3mbit ceil 9mbit
htb_class3=rate 1mbit ceil 6mbit
htb_class4=rate 8bit ceil 8mbit
htb_class5=rate 8bit ceil 8mbit
htb_class6=rate 8bit ceil 8mbit
htb_class7=rate 8bit ceil 8mbit
Условия тарифа – 8мбит/с.
Максимальная полоса, отданная клиенту, – 9 мбит/с (с небольшим запасом).
Для серфинга и Skype настройки таковы: минимально 2 мбит/с, максимально – 9 мбит/с.
Торрент – минимально 1 мбит/с, максимально 6 мбит/с.
Остальной трафик – минимально 3 мбит/с, максимально 9 мбит/с.
Как это работает:
Скриншот сайта speedtest.net, на компьютере кроме браузера ничего не работает.
Скриншот программы utorrent, на компьютере только торрент. Скорость закачки получилась около 5,6-5,8 мбит/с.
Одновременная закачка через utorrent и проверка скорости на сайте speedtest.net.
Результат – около 2,5мбит/с торрент и 6,1мбит/с Speedtest.net. Очень и очень неплохо, я считаю. Гарантировать 100% определения торрет-трафика не сможет ни один DPI в мире.
На интеграцию с биллингом у меня ушло максимум 2 часа. Настроил на сервере с DPI авторизацию SSH по ключу, инструкция как это сделать есть в wiki СКАТ, далее на сервер биллинга установил ключ авторизации, и потом совсем все просто. В скрипте обработчика события запуска сессии добавил строку (скрипт написан на php5):
system("nohup ssh -2 -i /root/.ssh/dpi/id_dsa root@10.0.0.1 /root/connect_user.sh $ARGV_IP $TarTable" /root/jobs &");
где:
/root/.ssh/dpi/id_dsa
– путь к ключу авторизации,10.0.0.1
– ИП адрес сервера DPI,$ARGV_IP
, переменная, в которой содержится ИП адрес клиента, передается в скрипт из ядра биллинга,$TarTable
– идентификатор тарифного плана, передается в скрипт из ядра биллинга.Содержимое скрипта /root/connect_user.sh, хранящегося на сервере DPI:
[root@dpi ~]# cat ./connect_user.sh
#!/bin/bash
#Usage: ./connect_user.sh UserIP TarTable
cd /root
UserIP=$1
test "$UserIP" || exit 0;
TarTable=$2
test "$TarTable" || exit 0;
echo "${UserIP} ${TarTable}"
if [ ${TarTable} -eq 34 ]
then
fdpi_ctrl load --policing /etc/dpi/Dom1.cfg --ip ${UserIP}
echo "fdpi_ctrl load --policing /etc/dpi/Dom1.cfg --ip " ${UserIP} " /root/connect_user.txt
fi
Для простоты я оставил в скрипте только 1 тариф, на самом деле их гораздо больше. Число 34 в скрипте – это идентификатор тарифа в биллинге. В файл /root/connect_user.txt пишутся команды реинициализации шейпера на случай, если испортится внутренняя база DPI, и собьются настройки шейпера. У меня за 8 месяцев не пришлось пользоваться этим файлом ни разу, но на всякий случай я его оставил.
Такая схема управления шейпером у меня в сети работала давно, поэтому заняла очень мало времени. Но в первый раз мне пришлось повозиться с авторизацией по ключу значительно больше времени.
Ну, вот в принципе и все, настройки на этом завершены.
Для построения графиков/сбора статистики можно включить режим генерирования netflow и собирать/обрабатывать netflow одним из коллекторов, к примеру, nfsen. Инструкция по настройке также есть в Wiki. После установки СКАТ, я также установил себе и nfsen, настроил, статистика собиралась, графики рисовались. Но как оказалась, Нашей компании эта статистика не нужна, поэтому я убрал nfsen для экономии ресурсов.
После установки и конфигурирования ПО, я больше не заходил на сервер, и даже забыл ИП для входа по SSH. Пришлось подглядеть в скрипте-обработчике событий биллинга.
Впечатления от работы ПО только положительные, не омрачают их даже те мелкие неприятности, возникшие в начале. Рекомендую всем, по крайней мере, протестировать данное ПО, а принимать решение об интеграции или не принимать – решать Вам. Успехов в работе!
Материал:
Меня зовут Павел, я начальник отдела Информационных технологий интернет-провайдера. Все дальнейшее повествования я буду вести от своего лица, так как принимал в этом непосредственное, единоличное участие.
Полный текст
Конечно про сам СКАТ актуально, и действительно очень полезная софтинка. И полная ей противоположность ей это кэш который к ней прикручивается, эфективность его около "0" если не отрицательная, в сети появилась железка которая не только экономит канал, но и сама его неплохо нагружает. Графики на сайте разработчика очень мягко говоря не соответствуют действительности. Это при отключенном YOTUBE, OK, VK по рекомендации разрабо-в. Действительно при включении данных направлений поступает масса жалоб от пользователей. И что самое печальное эта надстройка стоит далеко не 3 копейки. По самому СКАТу хотелось бы возможность работы не только с одним блэклистом, но дальше обещалок от разработчиков дело опять же не движется. А так действительно, на мой взгляд комплекс обладает колоссальным потенциалом, НО....
Кэш - мне не нужен. А скат6енти- очень помогает прикрыть попу от мизулинских законов. Это просто минимизация затрат на исполнение законов. И вообще - техсаппорт нормальный, если им дать ssh. Правда есть тёмные моменты, типа загрузок списков из облака, вроде не отплатишь саппорт - не работает. Но мы оплатили, и на этот сервер с байпас-картами я уже пару месяцев не заходил, а он - работает, сам, один, без ансамбля..
Эффективность КЭШ на WEB сайтах сейчас около 4-5% (было почти 20% до "отключения" youtube и vk)
На торрентах во внешних линиях остается 12-14%, остальное удается переключить на внутренние ресурсы.
Эффективность кэширования зависит от размера оператора, рекомендуется абон. база от 10 тыс.
Оператор сам регулирует нагрузку на линию: в ЧНН КЭШ можно переключить исключительно на отдачу,
а наполнение КЭШа осуществлять когда линия простаивает.
В отличии от аналогов КЭШ также умеет работать на зеркале трафика.
Рассчитан КЭШ на крупных операторов, может работать на сети в несколько сотен гигабит/c.
Сейчас ставим его в IX и где он обслуживает сразу нескольких операторов.
Цена на КЭШ сейчас очень низкая: примерно равна оплате 2 недель работы кэшмары.
В ближайших планах поддержка динамических ссылок, что приведет к
существенному увеличению эффективности. Но по мере роста эффективности и цена
вероятно подтянется ближе к конкурентам.
КЭШ хорошо помогает для сглаживания пиков при выходе обновлений программ
График отдачи из кэша по типам трафика
Красиво написано, прям купить захотелось, но вот мои 5 копеек:
- ТП действительная классная: и подскажет и софт по запросу обновит; вот только ответ по почте иногда можно ждать 2-3 дня, а по телефону мне как-то сказали "я конечно передам, но вы лучше пишите";
- документация просто ужасна, навигация обескураживает, найти необходимую информацию либо не возможно (по некоторым вещам ее совсем нет), либо быстрее написать в ТП (и подождать, да-да);
- ну и самое главное: ребята конечно позиционируются как оптимизатор трафика (КЭШ, приоретизация, торренты и т.п.), но многие в первую очередь хотят блокировку по спискам.
И если с РКН вопросов нет, то Минюст добавляется в списки с серьезной задержкой (если добавляется вообще?), регулярно набиваю "ручной" список из свежих пунктов Минюста (а его парсить то еще удовольствие).
Примерная стоимость ската?
http://shop.nag.ru/catalog/14605.SKAT
"Гарантировать 100% определения торрет-трафика не сможет ни один DPI в мире"
и это прекрасно!
А если в торрент-клиенте включить шифрование, насколько это эффективно против DPI?