Есть ли смысл размещать TURN и медиа-сервер в одной сети?

Предположим, у нас есть медиа-сервер S. У нас есть клиент C, который находится за симметричным NAT. Прямая потоковая передача мультимедиа WebRTC невозможна из-за симметричного NAT. Итак, мы хотим развернуть сервер TURN T, который будет ретранслировать все носители между S и C.

Теперь кажется, что разработчики иногда развертывают T рядом с S для простоты. Но помогает ли потоковая передача мультимедиа между C и S? «Рядом» означает «в той же сети», поэтому S и T находятся за одним NAT, если таковой имеется. Поскольку они находятся за одним и тем же NAT, это, похоже, не улучшает возможности подключения: шансы передавать поток WebRTC между S и C такие же, как между T и C.

Это правильное рассуждение или я что-то упускаю? В моем текущем понимании серверы TURN действуют как прокси с лучшей связью по отношению к C. Поэтому их следует разместить в другой сети, чтобы добиться какого-либо эффекта.


person Kirill Taran    schedule 19.05.2020    source источник


Ответы (1)


C -> T может делать несколько вещей, которые C -> S не могут

  • Транспорт DTLS и TLS, ICE разрешает только UDP и TCP. Некоторые шлюзы разрешают TLS только на 443
  • Один порт, вы можете передавать весь трафик на один хорошо известный порт. Шлюз может разрешать только :443
  • S может не поддерживать ICE-TCP. Однако некоторые SFU его поддерживают!
person Sean DuBois    schedule 19.05.2020
comment
Спасибо, именно такую ​​информацию я искал. Что бы вы сказали в случае Януса? Он поддерживает откат к TCP, и я могу установить с ним произвольный порт, поэтому остается только пункт о DTLS / TLS? - person Kirill Taran; 19.05.2020
comment
Можете ли вы иметь несколько подключений к одному порту? С помощью TURN вы можете запускать несколько ассоциаций через один порт, я не знаком с libnice (что использует Янус), если это произойдет! Если вы установите диапазон портов равным 1, сможете ли вы подключить несколько браузеров? - person Sean DuBois; 20.05.2020