WEB RTC (Web Real-time Communication)

HIMADIRA
5 min readApr 7, 2021

--

Hallo semua sobat dira, hari ini kami akan membahas apa itu Web RTC dan digunakan untuk apa saja si Web RTC itu ? dan untuk pengimpelementasiannya siapa apa saja yang sudah menerapkan Web RTC ini ?

Apa itu Web RTC ?

Web RTC atau web Realtime Communication merupakan sebuah teknologi yang memungkinkan terjadinya komunikasi antar browser secara realtime dengan melalui berbagai media.

siapa saja yang sudah menerapkan Web RTC ini ?

kita bisa lihat dari pengertian Web RTC, Web RTC ini menerapkan komunikasi antar browser secara peer to peer, maka bisa kita ketahui bahwa aplikasi yang sudah menerapkan Web RTC ini adalah :

  1. Google Meet
  2. Microsoft Teams
  3. Discord

dan masih banyak lainnya.

Dengan kemampuan WebRTC, kalian bisa menambahkan kemampuan komunikasi real-time kedalam aplikasi kalian secara gratis karena, Web RTC termasuk ke dalam teknologi open source. Selain itu , untuk Android dan iOS, tersedia library yang menyediakan fungsionalitas yang sama. Proyek WebRTC ini didukung oleh Apple, Google,Microsoft dan Mozilla.

WebRTC berkomunikasi secara peer-to peer, untuk melakukan komunikasi tersebut WebRTC membutuhkan Server signaling untuk bertukar data antara web browser sebelum komunikasi peer-to-peer dibangun. Mekanisme tersebut dinamakan offer/answer, offer/answer digunakan untuk membangun komunikasi, memperbaru dan memutuskan sesi WebRTC.

Data yang dikirimkan saat mekanisme offer/answer berlangsung adalah Data Session Description Protocol (SDP). Setelah mekanisme offer/answer, mekanisme berikutnya ialah bertukar ICE candidate yang menggunakan protokol Trickle Interactive Connectivity Establishment (ICE).

Session Description Protocol (SDP) menyediakan kemampuan umum untuk indikasi dan negosiasi protokol transport dan atribut.

Keuntungan :

Mudah dan aman karena tidak membutuhkan plugin tambahan atau download aplikasi apapun dan sudah tersedia proses enkripsi untuk media audio-video dan proses signalling. Enkripsi ini bertujuan untuk mengkoordinasikan komunikasi dan mengirim pesan kontrol, sehingga WEB RTC memiliki keamanan yang lebih baik dibanding teknologi lainnya.

Fitur-fitur :

Terdapat beberapa fitur yang ada pada web RTC yaitu:

  1. Upload
  2. Download
  3. Chatting
  4. Video Conference
  5. Record
  1. Web RTC Arsitektur

WebRTC memperluas semantik klien-server dengan cara memperkenalkan paradigma komunikasi peer-to-peer antar browser. Pemodelan web RTC diantaranya adalah trapezoid model .

Trapezoid Model

Di dalam model trapezoid WebRTC, kedua browser menjalankan aplikasi web, yang diunduh dari server web yang berbeda. Pesan pensinyalan digunakan untuk mengatur dan mengakhiri komunikasi. Mereka dikirimkan oleh protokol HTTP atau WebSocket melalui server web yang dapat memodifikasi, menerjemahkan, atau mengelolanya sesuai kebutuhan. Perlu dicatat bahwa pensinyalan antara browser dan server tidak terstandarisasi di WebRTC, karena dianggap sebagai bagian dari aplikasi.

Di dalam kasus lain, kedua browser berjalan di web aplikasi yang sama dan mendownload di web yang sama, dalam hal ini model trapezoid menjadi triangle

Triangle Model

2. RTC pada browser

RTC pada borwser atau biasa disebut web RTC dapat berinteraksi dengan web browser dengan menggunakan API, yang mengizinkan untuk melakukan pemanfaatan dan pengontrolan fungsi realtime pada browser. Oleh karena itu, API WebRTC harus menyediakan sekumpulan fungsi yang luas, seperti koneksi management (dengan cara peer-to-peer), negosiasi kapabilitas encoding / decoding, seleksi dan kontrol, kontrol media, firewall,traversal elemen NAT, dan lainnya.

3. Web RTC API

API W3C WebRTC 1.0 merupakan sebuah API yang memungkinkan aplikasi JavaScript memanfaatkan kemampuan realtime pada browser. Fungsi browser real-time yang diterapkan di inti browser dengan menyediakan fungsionalitas yang dibutuhkan untuk membangun saluran audio, video, dan data yang diperlukan. Semua aliran media dan data dienkripsi menggunakan DTLS.1

API atau application programming interface adalah penerjemah komunikasi antara klien dengan server untuk menyederhanakan implementasi dan perbaikan software.

Bisa diartikan juga sebagai sekumpulan perintah, fungsi, serta protokol yang dapat digunakan oleh programmer saat membangun perangkat lunak untuk sistem operasi tertentu. API memungkinkan programmer untuk menggunakan fungsi standar untuk berinteraksi dengan sistem operasi.

DTLS singkatan dari (Datagram Transport Layer Security), yang dirancang untuk mencegah penyadapan, perusakan, atau pemalsuan pesan ke transport datagram yang dipegang oleh User Datagram Protocol (UDP). Protokol DTLS didasarkan pada protokol Transport Layer Security (TLS) yang diorientasikan dan dimaksudkan untuk menyediakan yang serupa

4. Network Address Translator (NAT)

NAT atau Network Address Translator adalah suatu perangkat penerjemah alamat IP pribadi dari dalam firewall ke alamat ip publik.

Jaringan Komputer biasanya tidak memiliki alamat ip publik, karena jaringan komputer berada di belakang firewall dan NAT. Sehingga dibutuhkan penerjemah dari alamat IP pribadi ke alamat ip publik dengan bantuan Perangkat NAT.

NAT Travesal merupakan teknik untuk membuat atau memelihara komunikasi antar jaringan yang berbeda yang berada dibalik NAT.

5. Signalling

Seperti yang sudah kita ketahui bahwa teknologi RTC menggunakan jaringan peer-to-peer yang dilakukan untuk melakukan pertukaran audio,video dan data secara realtime.

Pensinyalan melibatkan penemuan jaringan dan NAT Traversal, pembuatan dan pengelolaan sesi, keamanan komunikasi, koordinasi dan metadata kemampuan media, serta penanganan masalah. Pensinyalan tidak ditentukan oleh standar WebRTC, dan tidak diimplementasikan oleh API untuk memungkinkan fleksibilitas dalam teknologi dan protokol yang digunakan.

6. STUN dan TURN

Session Traversal Utilities for NAT atau disingkat STUN merupakan server yang membantu terjalinnya komunikasi atara perangkat yang berada di balik NAT (Network Address Translation) contohnya melakukan Video Call atau video conference.

Sedangkan TURN digunakan ketika transmisi data secara langsung/peer-to-peer gagal dilakukan, transmisi data secara Relay umum nya dijadikan sebagai alternatif. Traversal Using Relay NAT (TURN) Server bekerja dengan meneruskan data / Relay ke komputer tujuan mirip seperti Proxy.

7. Data Channel

Data channel dirancang untuk menyediakan layanan transport yang memungkinkan web browser untuk bertukar data dengan cara peer-to-peer dua arah.

Dalam pengimplementasiannya Web RTC ini bisa kita buat menggunakan bahasa pemrograman nodeJS dan javascript, yang di dalamnya kita menggunakan API peerJS, dan juga socket io.

Referensi :

Loreto, S & Romano, Simon Pietro. (2014). RealTime Communication with Web RTC. O’Rielly Media, inc.

Jayak, K. (2020). STUN & TURN SERVER. https://www.kadekjayak.web.id/stun-turn-server/

Cara kerja JavaScript: WebRTC dan mekanisme jaringan peer to peer. (2020). https://ichi.pro/id/cara-kerja-javascript-webrtc-dan-mekanisme-jaringan-peer-to-peer-149311698620587

Komunikasi waktu nyata untuk web. (2020). https://webrtc.org/?hl=id

Signaling and video calling. (2020). https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling

Antarmuka pemrograman aplikasi. (n.d.). https://id.wikipedia.org/wiki/Antarmuka_pemrograman_aplikasi

--

--

No responses yet