2016-04-07 3 views
2

Я прошел через RFC 5766, который подробно объясняет протокол TURN. Тем не менее, у меня есть некоторые фундаментальные вопросы, которые я не могу понять после загрузки и установки COTURN сервера TURN с открытым исходным кодом.Вопросы на сервере TURN в WebRTC

Что такое клиент для сервера TURN? Это первый браузер, который инициирует вызов WebRTC? Серверы TURN создают распределение для клиента, предназначенное для определенного однорангового узла. Теперь в WebRTC мы говорим об одноранговой связи. В RFC говорится о связях между клиентом и сервером. Все запросы/ответы между клиентом и сервером управляются TURN, тогда как между одноранговым узлом и сервером TURN - это только сообщения данных UDP, переданные в/из клиента.

Мой второй вопрос более специфичен для COTURN. Что такое поле «значение» в таблице «turn_secret» и где/когда оно используется? Соответствует ли свойство credentials iceservers hmackey в таблице turnusers_lt с использованием HMAC over (учетные данные, область и имя пользователя)? Где во всем этом фигурирует таблица «значение» таблицы «turn_secret»?

+2

Вы понимаете, что серверы TURN облегчают общение в качестве посредника при невозможности обмена данными между сверстниками? Таким образом, он становится одноранговой связью или, другими словами, связью между клиентом и сервером. – deceze

+0

@deceze Я понимаю эту часть, конечно. Итак, клиент, упомянутый в RFC, является первым браузером, который инициирует «вызов» webrtc? Кроме того, я не понимаю полный процесс аутентификации _lt (long-term)/hand-shakes ... и когда/где поле «значение» в «turn_secret» используется в этом процессе. – Sam

ответ

2

TL; др: ПОВОРОТ секрет, используется, чтобы ограничить утечку учетных данных свою очередь, является частью аутентификации TURN с помощью REST API (doc)


от coturn docs:

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

Если нам необходимо передать ценную информацию по сети общего пользования, эта информация должна иметь ограниченный срок службы. Тогда парень, который получает эту информацию без разрешения, сможет выполнить лишь ограниченный урон.

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

вы можете посмотреть на этот answer Пример использования тайника TURN.

+0

Спасибо. Полезная информация и ответ принимаются. Позже я прочитал эту тему, но лучшее, что я нашел за пределами документа COTURN, было предложено RFC Уберти (Google) и др. API TURN REST не стандартизирован. Это верно? Итак, может ли секрет TURN использоваться сегодня? Если да, то как, если браузеры не поддерживают его? – Sam

+1

ОК ... получите. Это сервер приложений, а не браузер, который извлекает/использует секрет ... Не прочитал ответ, на который был указан ответ, прежде чем комментировать. – Sam

+0

Только один последний вопрос, если у вас есть время ... То, что я спросил в своем сообщении, в любом случае ... «Что такое клиент для сервера TURN? Это первый браузер, который инициирует вызов WebRTC?» и почему серверу нужна поддержка ICE? См. Https://www.doubango.org/webrtc2sip/: «Например, если ваш сервер не поддерживает ICE ...» Вы, кажется, хорошо разбираетесь в этой области.Несколько строк от вас сэкономит мне тонну моего времени! Спасибо – Sam