Серверы STUN / TURN
Работает в вашем браузере«Только relay» запускает тест исключительно через TURN, игнорируя кандидаты STUN и host.
Необязательно. Без разрешения на доступ к медиа Chrome собирает кандидатов только с одного сетевого интерфейса; разрешение открывает все интерфейсы. Ничего не записывается — поток сразу же останавливается.
ICE-кандидаты
Кандидатов пока нет. Добавьте сервер и нажмите «Собрать кандидатов».
| Время | Тип | Foundation | Протокол | Адрес | Порт | Приоритет | URL | Relay-протокол |
|---|
Об этом инструменте
Это та самая проверка Trickle ICE, к которой обращаются разработчики, когда WebRTC-соединение не устанавливается. Введите URI STUN- или TURN-сервера (плюс имя пользователя и учётные данные для TURN), и инструмент создаёт локальный RTCPeerConnection, использующий только этот сервер, собирает ICE-кандидатов и сообщает, что нашёл. Кандидат типа server-reflexive (srflx) означает, что STUN работает; кандидат типа relay означает, что работает TURN.
Неверные учётные данные TURN проявляются как 401 в событии onicecandidateerror — это самый полезный диагностический признак — так что вы отличите проблему с авторизацией от недоступного хоста. Установите транспортную политику в «Только relay», чтобы запустить тест исключительно через TURN, или предоставьте необязательное разрешение на доступ к микрофону/камере, чтобы браузер открыл кандидатов со всех сетевых интерфейсов, а не только с одного. Нажмите на любой адрес, чтобы скопировать его.
URI серверов и учётные данные TURN передаются только в локальный RTCPeerConnection вашего браузера — ничего не отправляется в OpenReplay. Единственное неизбежное сетевое действие — это binding-запрос STUN/TURN к серверу, который вы тестируете, и в этом весь смысл инструмента. Учтите, что тест STUN по своей природе раскрывает ваш публичный IP этому STUN-серверу.
Часто задаваемые вопросы
Что такое STUN-сервер?
STUN-сервер сообщает устройству его собственный публичный IP-адрес и порт, какими их видит интернет, чтобы два пира за NAT смогли найти путь друг к другу. WebRTC использует его для сбора кандидатов типа server-reflexive (srflx). Он только обнаруживает адреса — он не ретранслирует медиа.
Что такое TURN-сервер?
TURN-сервер ретранслирует медиа между пирами, когда прямое соединение невозможно (симметричный NAT или ограничивающие брандмауэры). В отличие от STUN, трафик проходит через него, поэтому ему нужны учётные данные. В WebRTC работающий TURN-сервер выдаёт кандидата типа relay.
В чём разница между STUN и TURN?
STUN лишь обнаруживает ваш публичный адрес, чтобы пиры могли соединиться напрямую; он лёгкий и бесплатный. TURN ретранслирует сам трафик, когда прямой путь не работает, что расходует трафик и требует аутентификации. Большинство WebRTC-конфигураций сначала пробуют STUN и переключаются на TURN при неудаче.
Как проверить, работает ли TURN-сервер?
Введите URI turn: вместе с именем пользователя и учётными данными, установите транспорт в «relay» и соберите кандидатов. Если появляется кандидат типа "relay", TURN-сервер работает. Если вместо этого вы получаете ошибку 401 — учётные данные неверны; полное отсутствие кандидатов означает, что сервер недоступен.
Как понять, работает ли STUN-сервер?
Введите URI stun: и соберите кандидатов. Если появляется кандидат типа "srflx" (server-reflexive) с вашим публичным IP, STUN-сервер доступен и работает. Если появляются только кандидаты "host", STUN-сервер не ответил.
Что такое Trickle ICE?
Trickle ICE — это приём WebRTC, при котором ICE-кандидаты отправляются другому пиру по мере обнаружения, не дожидаясь завершения сбора. Этот инструмент выполняет тот же процесс сбора кандидатов, так что вы можете наблюдать за появлением каждого кандидата и убедиться, что сервер отвечает.