Как WebRTC находит путь между двумя устройствами
Чтобы начать видеозвонок, браузерам сначала нужно обменяться настройками соединения: какие кодеки они поддерживают и по каким адресам их можно найти. Для этого обычно используется сигнальный сервер. Он помогает участникам встретиться, но после установления прямого канала не обязан передавать сам видеопоток.
Дальше WebRTC проверяет возможные сетевые маршруты. Брандмауэр и NAT — механизм, который позволяет нескольким устройствам пользоваться одним внешним IP-адресом, — часто ограничивают входящие подключения. Служба STUN помогает устройству узнать, какой адрес и порт видны из интернета, а затем браузеры пробуют установить связь напрямую.
Когда прямой маршрут не получается
Некоторые сети не пропускают такие подключения: например, строгий брандмауэр может блокировать нужный трафик или настройки NAT — мешать устройствам обнаружить друг друга. Тогда WebRTC может направить поток через TURN-сервер. Это промежуточный ретранслятор: он принимает данные от одного участника и пересылает их другому.
Поэтому WebRTC не гарантирует, что центральный сервер никогда не увидит поток. Он позволяет обойтись без постоянной пересылки медиа через сервер, если сеть допускает прямое соединение. Сигнальный сервер при этом может быть нужен в любом случае, а TURN становится запасным путём.
Что это меняет для звонка
При прямом соединении видео проходит более короткий путь, чем при отправке сначала на сервер и затем собеседнику. Это может уменьшить задержку и нагрузку на инфраструктуру сервиса. Но качество связи всё равно зависит от маршрута между участниками и состояния их сетей; если прямой путь закрыт, поток пойдёт через ретранслятор и может получить дополнительный сетевой участок.






