Сетевые взаимодействия¶
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; - перечень разрешенных портов и протоколов должен фиксироваться в проектной документации внедрения.