¬аш вопрос св€зан с хэштэгами #“елефони€, #“еори€? —просите в Telegram!

“елефон舓еори€

„то такое WebRTC?

«воним через web - браузер

ћерион Ќетворкс

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 окажет сильное вли€ние на »нтернет в общем Ц разработки веб-приложений с открытым кодом, на рост совместимости между браузерами и т.д


ѕолезна ли ¬ам эта стать€?

–аз в неделю мы отправл€ем дайджест с самыми интересными стать€ми.

P.S. ≈сли укажите свою дату рождени€, то мы об€зательно ¬ас поздравим и подарим небольшой подарок :)

Ќажима€ на кнопку "ѕодписатьс€", вы даете согласие на обработку своих персональных данных