Принцип работы и преимущества Flussonic Agent
Flussonic Agent (далее Агент) — это небольшой модуль к программному обеспечению Flussonic Watcher, который устанавливается производителем на прошивку камеры для обеспечения ее видимости из-за NAT.
Камера с Агентом подключается к Flussonic Watcher к 80 (HTTP) или 443 (HTTPS) порту в обход NAT, организуя прямую связь с серверами (стримерами).
Caution
Обратите внимание, что соединение Агента с управляющим сервером Watcher и стримерами будет зашифровано по протоколу TLS только в случае, если вы настроите HTTPS на всех необходимых серверах. Варианты настройки HTTPS см. здесь.
Если HTTPS не настроен, данные передаются по HTTP в незашифрованном виде.
Агент позволит вам запустить сервис видеонаблюдения без настройки каждой камеры.
Агент является лучшей альтернативой белым IP, пробросу портов или OpenVPN.
Как работает Агент
Итак, вы установили и настроили управляющий сервер Flussonic Watcher и стримеры, настроили HTTPS и у вас есть камеры с Агентами, готовые к подключению. Вы подключаете камеру к питанию и к локальной сети. Что происходит дальше?
-
При первом запуске камеры выполняется процедура активации Агента: Агент обращается к серверу активации, обслуживаемому компанией Эрливидео, и запрашивает данные для подключения к Watcher. Сервер активации сообщает Агенту адрес управляющего сервера и секретный ключ для подключения к нему, а управляющему серверу сообщает тот же секретный ключ и идентификатор Агента, подключения которого требуется ожидать. Секретный ключ необходим для защиты от подключений сторонних неавторизованных клиентов и представляет собой аналог одноразового пароля.
Все данные на этом этапе передаются по протоколу HTTPS с шифрованием TLS.
При последующих запусках Агент уже знает адрес управляющего сервера, поэтому этот шаг пропускается. Однако возможны ситуации, когда URL-адрес управляющего сервера перестает быть доступным, например, в случае сбоя или штатного перехода на новое доменное имя. В этом случае Агент не сможет подключиться к управляющему серверу и снова обратится к серверу активации, чтобы запросить новый адрес управляющего сервера. Это очень полезная функция под названием «Повторная активация» или «Реактивация», обеспечивающая бесперебойную работу камер.
-
Используя полученный секретный ключ, активированный Агент подключается к предварительно настроенному управляющему серверу с Flussonic Watcher по полученному адресу и сообщает о готовности к передаче видео.
Поскольку управляющий сервер не предназначен для приема видео, он авторизует Агент (проверяя логин и пароль) и сообщает ему адрес одного из запущенных стримеров и секретный ключ для подключения к нему, а стримеру сообщает о возможности подключения Агента. Также управляющий сервер позволяет Агенту быстро переключиться на другой стример в случае падения одного из них.
Это соединение между управляющим сервером и Агентом существует до тех пор, пока Агент не будет деактивирован. По нему Агент передает информацию о своем состоянии, которую вы видите в веб-интерфейсе Watcher, а управляющий сервер передает Агенту команды, например, на подключение к стримеру, деактивацию и перезапуск.
Если на управляющем сервере настроен HTTPS, то все передаваемые данные шифруются по протоколу TLS (инструкцию по настройке HTTPS см. здесь).
-
Агент устанавливает соединение со стримером для контроля туннеля. По этому соединению Агент ожидает команду на открытие соединения для передачи данных, так же, как это устроено в SSH-туннеле. Когда стример решает взять видео с камеры, он по этому соединению посылает команду Агенту с просьбой установить TCP туннель.
Для установки этого соединения стример должен иметь публичный IP-адрес, доступный из Интернета, как указано в инструкции по настройке кластерного режима.
Если на стримере настроен HTTPS, то все передаваемые данные шифруются по протоколу TLS (инструкцию по настройке HTTPS см. здесь).
-
Получив команду со стримера, Агент открывает туннель для передачи данных. Через этот туннель стример отправляет запросы на получение данных, а Агент передает все данные с камеры, включая RTSP-потоки и скриншоты (thumbnails).
Для установки этого соединения стример должен иметь публичный IP-адрес, доступный из Интернета, как указано в инструкции по настройке кластерного режима.
Если на стримере настроен HTTPS, то все передаваемые данные шифруются по протоколу TLS (инструкцию по настройке HTTPS см. здесь).
Caution
После установки и настройки управляющего сервера мы настоятельно не рекомендуем менять его адрес.
О работе Watcher в режиме кластера можно прочитать в этой статье
Сравнение Агента с другими решениями
Существуют следующие альтернативы Flussonic Agent:
- Серый IP в локальной сети
- Это удобный способ для подключения к IP-камерам, если у вас есть эта сеть. Обычно, это означает, что вы строите корпоративную сеть или, что вы строите что-то вроде локальной сети города для таких проектов типа «Безопасного город» или «Безопасный регион». Это не применимо для OTT-провайдеров или когда вам нужно работать с маршрутизаторами, находящимися за NAT.
- Белый IP для камер
- Это наихудшее из возможных решений, т.к. вы рискуете со своими камерами стать частью, например, Mirai ботнета
- Проброс портов
- Если вы предоставляете сервис видеонаблюдения для домашнего использования или малого бизнеса, то необходимо инструктировать людей, как настроить маршрутизатор, что не самая простая задача. Это либо огромный объем работы для инженеров-установщиков, либо для сотрудников саппорта, которым придется помогать с настройками камер пользователей. Не всегда получится объяснить как узнать IP камеры в DHCP.
- OpenVPN
- Некоторые производители предлагают установку openvpn на камеры для запуска облачного сервиса. Это не лучшее решение, т.к. вам придется дважды платить за оборудование: openvpn — это очень ресурсоемкий для CPU компонент, что повлечет за собой установку отдельного проксирующего сервера максимум на 300-400 камер, и установку к нему второго сервер для потокового видео, а это удвоение затрат на инфраструктуру. Также openvpn не предоставит легкого способа балансировки пользователей между серверами (Streamers), как это возможно при использовании агента.
Flussonic Agent — лучше, чем любое из приведенных выше решений, поскольку он не требует настройки и позволяют подключать камеру непосредственно к Flussonic Media Server.
О том, как установить и использовать Агент, читайте в документации Flussonic Watcher.