Нужен ли мне TURN-сервер?

В каких случаях мне следует использовать серверы TURN?

Прямо сейчас у меня есть приложение WebRTC, которое отлично работает. Приложение будет выпущено.

Нужно ли мне настраивать собственный сервер TURN или, может быть, это только для основных приложений?


person Lauren    schedule 07.07.2019    source источник


Ответы (4)


Уже есть хорошие и ясные записи и обсуждения по этим темам. Возможно, вы захотите пройти через них -

person Pallab Gain    schedule 08.07.2019

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

  1. наивный прямой p2p с собственным ip
  2. если это не удается, используйте STUN-сервер, чтобы определить, какой ip (например, маршрутизатор) мы позади
  3. если это не удается, истинный p2p невозможен, используйте вместо этого сервер TURN для ретрансляции трафика.

В типичном приложении webRTC около 20% подключений требует TURN-сервера. Это может сработать для вас, но попробуйте получить доступ к своей службе webRTC через соединение с мобильным телефоном (для чего обычно требуется TURN), и вы увидите, что не все соединения равны, когда дело доходит до p2p.

https://www.frozenmountain.com/developers/blog/webrtc-nat-traversal-methods-a-case-for-embedded-turn

На этом рисунке показано, какие типы подключений для NAT каждой стороны приводят к необходимости TURN, а не STUN.

person Kyle Baker    schedule 01.12.2020

WebRTC с сервером STUN, но без сервера TURN не работал с VPN.

Например, если 2 одноранговых узла были в другой сети (WAN), и кто-то использовал VPN, мне пришлось использовать сервер TURN.

person baptx    schedule 01.08.2019

Если вы хотите убедиться, что ваше приложение работает почти всегда, вам следует использовать TURN-сервер. Если вас устраивает, что он работает только в некоторых случаях, не используйте сервер TURN.

person Jeyhey    schedule 12.07.2019