img

Что такое WebRTC?

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

Web real-time communication (WebRTC) стандарт, который появился совсем недавно и нацелен на осуществление общения в реальном времени с помощью веб-браузера с использованием одно ранговой сети.

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

В настоящее время много веб-сервисов используют RTC (связь в режиме реального времени), но при этом требуется установка приложений или специальных плагинов. К примеру – Skype, Facebook (так же работает через Skype) и Google Hangouts (использует плагин Google Talk). Установка и обновление плагинов может быть достаточно трудоёмким и нудным процессом, после которого могут появляться новые ошибки. С этой точки зрения технология WebRTC действительно привносит множество новшеств, таких как:

  • Нет необходимости в лицензировании
  • Интеграция являет собой процесс с использованием стандартных Web API
  • Отсутствие проприетарных плагинов
  • Нет необходимости в скачивании и установке чего-либо, достаточно просто зайти на веб-страницу.

Целями данной технологии являются, главным образом – минимум трудозатрат при связи, поддержка большинства браузеров, поддержка популярных в данный момент сервисов для голосовой или видеосвязи – Skype, WhatsApp и т.д. Главное – уменьшение капитальных затрат и повышение эффективности связи при использовании данной разработки.

Задержки в сети

Основные моменты

До первой коммуникации браузеры «не знают» о существовании друг друга
JavaScript управляет процессом установки соединения через сервер
Потоки медиа-данных используют кратчайшие пути с целью уменьшения задержки. На схеме ниже изображен процесс соединения абонентов:

Задержки в сети

Для веб-приложения WebRTC необходима следующая информация:

  • Получение доступа к потоковой передачи голоса иили видео данных
  • Получение сетевой информации – сетевой адрес, порт и обмен данной информацией с другими пирами
  • Синхронизация сигнальной информации для открытия и закрытия сессий, выявления ошибок
  • Обмен информацией о совместимости таких параметров как: тип браузера, разрешение и тип кодека
  • Соединение входящего и исходящего потока медиа-данных

Что касается сигнализации при использовании данной технологии, первоначальной идеей было использовать SDP (Session Description Protocol), однако данный подход выявил несколько неразрешимых проблем. IETF принял решение стандартизировать протокол JSEP (Javascript Session Establishment Protocol), что дословно переводится как протокол открытия сессии с помощью Javascript. JSEP предоставляет интерфейс для приложения, позволяющий оперировать локальными и удаленными описаниями сессий. Подход с использованием данного протокола делегирует ответственность по управлению состоянием сигнализации исключительно приложению.


Что же с точки зрения безопасности?

Есть несколько путей, которыми может быть скомпрометировано приложение или плагин RTC:

  1. Незашифрованные медиа-данные могут быть перехвачены между абонентами или между абонентом и сервером
  2. Приложение может записывать звонки и распространять их без ведома пользователя
  3. Вирусы могут установлены вместе с приложением или плагином при установке из неблагонадежного источника

В технологии WebRTC было добавлено несколько функций, которые позволяют избежать вышеописанного:

  1. Реализации WebRTC используют безопасные протоколы, такие как DTLS и SRTP
  2. Шифрование обязательно для всех компонентов WebRTC, включая сигнальные механизмы.
  3. WebRTC не является плагином или отдельной программой – всего компоненты запускаются в браузере, причем не являясь отдельным процессом. Компоненты WebRTC обновляются при обновлении браузера.

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


Преграды для быстрого развития

Необходимость наличия сервера для осуществления четырех задач:

  1. Поиск пользователей
  2. Сигнализация
  3. Механизмы прохождения сигнальной и медиа информации через NAT
  4. Механизмы обеспечения прохождения информации через межсетевой экран

Отсутствие нативных приложений и SDK – WebRTC технология для связи абонентов через браузер, однако нет SDK, позволяющего разработать нативное приложение для IOS и Android

Невозможность конференций – благодаря своей пиринговой натуре (peer-to-peer), WebRTC является чрезвычайно легко масштабируемой технологией, но при этом отсутствует необходимый инструментарий для организации аудио и видеоконференций.


Выводы

Стандартизация различных API для WebRTC может снизить цены на связь и позволит использовать WebRTC во многих индустриях – телекоммуникационной, игровой, новостной и так далее. Кроме того, можно с уверенностью сказать, что WebRTC окажет сильное влияние на Интернет в общем – разработки веб-приложений с открытым кодом, на рост совместимости между браузерами и т.д

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Привет, дорогой читатель! В повседневной работе зачастую не хватает автоматизации. Поэтому, мы решили создать калькулятор инстал
img
Мы подумали, а почему бы не консолидировать все знания по Cisco VoIP продуктам и их настройке в единый документ? Добавить в них
img
Привет! Для удобства, мы структурировали все материалы по графическому интерфейсу FreePBX в нашей базе знаний в единый файл. Сам
img
Вам, как сетевому инженеру, крайне важно разбираться в том, каким образом вызовы VoIP влияют на пропускную способность канала в
img
В этой статье расскажем как отправлять различные СМС сообщения пользователям, позвонившим в контакт-центр Октелл и запросившим т
img
Всем современным кампаниям, производящим товары и оказывающим услуги, необходимо иметь специалистов, работающих с потенциальными
21 ноября
20:00
Бесплатный вебинар
Введение в Docker