Skip to content

Сетевые взаимодействия

Agora проектируется для работы в корпоративной сети с разделением ролей компонентов и сетевых сегментов. В типовой инсталляции сетевые взаимодействия строятся так, чтобы:

  • административный трафик был отделен от медиатрафика;
  • внешние источники взаимодействовали только с Ingress сервер;
  • внутренние мастер-узлы не были напрямую доступны из пользовательских сетей;
  • доставка контента конечным пользователям выполнялась через edge сервера.

Основные сетевые сегменты

В корпоративной инсталляции обычно выделяются следующие сегменты:

  • административный сегмент для доступа к контроллеру;
  • внутренний медиасегмент для origin, vod transcoder, стримеров и ретрансляторов;
  • DMZ для Ingress сервер, если система принимает внешние live-источники;
  • пользовательский сегмент или сегмент филиалов, где располагаются edge сервера и клиентские устройства;
  • сегмент хранения для storage система.

Такое разделение снижает риск прямого доступа к внутренним медиасерверам и упрощает применение корпоративных политик безопасности.

Основные сетевые взаимодействия

Контроллер и стримеры / ретрансляторы

Контроллер взаимодействует со стримерами и ретрансляторами по HTTP или HTTPS.

Обычно используются:

  • порт 80 для незащищенного HTTP;
  • порт 443 для HTTPS.

Этот трафик используется для управления, получения статусов, применения конфигурации и мониторинга состояния узлов.

Между стримерами

Между стримерами возможны следующие виды взаимодействия:

  • HTTP / HTTPS для служебного и publish-взаимодействия;
  • multicast для сценариев Standby Push.

Для Standby Push backup-стример должен получать multicast с primary-стримера. Такой режим предполагает локальную сеть с гарантированно низкой задержкой.

Между ретрансляторами и стримерами

Ретрансляторы получают видео со стримеров по:

  • HTTP;
  • HTTPS.

В зависимости от сценария отказоустойчивости ретранслятор может подключаться к одному или нескольким стримерам.

Между Ingress сервер и внешними источниками

Ingress сервер принимает внешние источники по тем протоколам, которые поддерживаются конкретным сценарием приема. Обычно используются:

  • HTTP;
  • HTTPS;
  • RTMP на порту 1935;
  • SRT на согласованных портах;
  • WebRTC с заранее зафиксированным набором портов, если это требуется политиками сети.

Для SRT и WebRTC конкретные диапазоны портов определяются при внедрении и должны быть отдельно согласованы с сетевой службой заказчика.

Между Ingress сервер и внутренними стримерами

Если роли Ingress сервер и внутренних стримеров разнесены, между ними используется:

  • HTTP;
  • HTTPS.

Этот трафик должен быть разрешен только между доверенными внутренними узлами, поскольку через него поток попадает из DMZ во внутренний медиасегмент.

Типовые требования к межсетевому экранированию

При настройке сетевых политик обычно требуется:

  • разрешить административный доступ к контроллеру только из администраторского сегмента;
  • разрешить прием внешнего видеотрафика только на Ingress сервер;
  • запретить прямой доступ внешних источников к origin и другим внутренним медиасерверам;
  • разрешить внутренние соединения между стримерами, ретрансляторами и edge сервера только по согласованным протоколам;
  • ограничить доступ к storage система только доверенными компонентами платформы.

Практические замечания

При проектировании сетевых взаимодействий важно учитывать:

  • для Twincast нужны два независимых тракта приема;
  • для Standby Push требуется локальная сеть с низкой задержкой и доставка multicast между стримерами;
  • для приема внешних источников в изолированном контуре предпочтительно выносить Ingress сервер в DMZ;
  • перечень разрешенных портов и протоколов должен фиксироваться в проектной документации внедрения.