Hepimizin bildiği üzere son dönemde yeni nesil görüntülü ve sesli konferans ürünleri piyasaya çıktı. Bunun sonucunda WebRTC (Web Gerçek Zamanlı İletişim) teknolojisi dikkat çekmeye başladı.
Peki, masaüstü ve mobil platformlarda açık kaynaklı iletişim teknolojisi olarak kullanılan WebRTC nedir?
WebRTC Özellikleri Nedir?
Web Real-Time Communication kelimelerinin kısaltması olan WebRTC, web uygulamalarını kullanarak gerçek zamanlı iletişim sağlıyor. Bu teknoloji; sesli arama, dosya paylaşımı ve video konferans vb. iletişim çeşitlerinde kullanılıyor.
Bahsettiğimiz teknoloji, eklentisiz şekilde API’ler üzerine kuruldu. Google tarafından geliştirilen WebRTC; IoT cihazları, internet tarayıcıları ve mobil uygulamalar üzerinden gerçek zamanlı olarak bilgileri arada sunucuya gerek kalmadan uçtan uca gönderebiliyor. Belirttiğimiz teknoloji şu an için Internet Explorer haricinde tüm internet tarayıcıları tarafından desteklenmektedir. Yazılıma ihtiyaç duymadan popüler tarayıcılar üzerinde direkt çalışıyor. BSD lisansına sahip olan bu teknoloji şu tarayıcılar tarafından destekleniyor;
- Opera
- Chrome
- Mozailla
Yukarıda sıralanan tarayıcıların Android versiyonlarıysa “native kütüphane” şeklinde destekleniyor. Diğer tarayıcılardaysa bahsettiğimiz teknoloji, webrtc4all uzantısı yüklendiğinde kullanılabiliyor.
Aynı zamanda Snapchat, WhatsApp, Skype ve Slack gibi uygulamalarla da entegreli çalışıyor. Ücretsiz olarak sunulan teknoloji ile hem Javascript hem de HTML5 API’lerinden yararlanılarak multimedya uygulamaları geliştiriliyor.
WebRTC Avantajları Nelerdir?
Açık kaynaklı iletişim teknolojisi olan WebRTC’nin avantajları şöyle sıralanabilir:
1. Açık Kaynak Kodu
WebRTC, tarayıcılar ve uygulamalar arasında veri akışını tasarlayan açık kaynak kodu tabanlı proje olarak geliştirildi. Eşler arası teknoloji kullanılarak destekleniyor.
2. Destekleyici SIP Çözümleri
İletişim standardı kapsamında oluşturulan proje olan WebRTC ile multimedya içeriklerinin aktarımı için profesyonel ağlar oluşturuluyor. WebRTC API’nın kullanıldığı SIP çözümleri ile kullanıcılar birçok avantaja sahip olur.
3. Güven
WebRTC, şu an deneysel teknolojidir. Günümüzde hem iyileştirme hem de geliştirme aşamasındaki bu teknoloji, güvenli yapıya sahip. Tarayıcı güvenliğiyle harici saldırılardan koruyan bir sistemden oluşuyor.
4. Windows Tarayıcıları Tarafından Desteklenme
Geliştiriciler sözünü ettiğimiz açık kaynaklı iletişim teknolojisini halihazırdaki online işlere uygulayarak ortaya yepyeni projeler çıkarabilir. Günümüzde Firefox, Google Chrome, Yandex, Opera beta gibi Windows tarayıcıları bu teknolojiyi destekliyor. WebRTC, 2013 yılında Android tabanlı cihazlar için Chrome’e destek vermeye başladı.
WebRTC Bileşenleri Nelerdir?
WebRTC, 3 ana bileşenden oluşuyor. Bu bileşenler şöyle ifade edilebilir:
1. RTCDataChannel API
RTCDataChannel API ile eşler arasında çift taraflı veri aktarım kanalları kurulur.
2. MediaStream API
MediaStream API bileşeni, Javascript’ten yararlanarak kullanıcılara ait ekran, kamera ve mikrofona erişim sağlıyor.
3. RTCPeerConnection API
RTCPeerConnection API isimli bileşen; Codec işlemi, medya iletimi, NAT traversal, eşler arası güvenli bağlantı fonksiyonları ve karşılıklı SDP anlaşması gerçekleştiriyor.
WebRTC’nin Yararlandığı Çoklu Nokta İletişim Türleri
WebRTC’nin yararlandığı çoklu nokta iletişim türleri şunlardır:
1. MCU
MCU (Multipoint Conferencing Unit)- Çok Noktalı Konferans Birimi, medya akışlarıyla ilgili düzenleme yapar. MCU ile yeni bir düzen oluşturulur. Tüm kullanıcılara gelen medya akışları tek akış olarak gönderilir.
2. Mesh
Mesh ağı tarafından tüm eş akışları direkt ağ üzerindeki diğer eşlere ayrı şekilde gönderilir. Dağınık yapıya sahip olduğu için Mesh, merkezdeki medya sunucularına ihtiyaç duymaz.
3. SFU
SFU (Selective Forwarding Unit)-Seçici İletme Birimi, tüm kullanıcılardan gelen medya akışlarını alır. Akabinde kimlere kullanılacaksa ona karar verip iletimi gerçekleştirir. SFU’da tüm kullanıcılar, kendileri tarafından üretilen medya akışlarını SFU sunucusuna iletiyor.
WebRTC, Hangi Protokollerden Yararlanır?
WebRTC bazı protokollerden yararlanıyor. Bu protokoller şöyle sıralanabilir:
1. STUN Sunucusu
STUN sunucusu, NAT ve eşlerin genel (public) IP adreslerini yerel port bilgisiyle ilişkilendiriyor. Böylelikle ilişkilendirilen Internet tarafıyla port bilgisi arasındaki ilişki sağlanır.
2. Session Description Protocol (SDP)
Session Description Protocol (SDP), bir bağlantı kurulmadan evvel eşler arasında yer alan medya yeteneklerini birbirine iletir. Bu medya yetenekleri; port, IP, ses kodekleri gibi bilgilerden oluşuyor. SDP, medya yeteneklerini karşılıklı ortak noktada buluşturur.
3. TURN Sunucusu
TURN, STUN kullanımı mümkün değilse medya akışlarının TURN sunucusundan iletilmesi için kullanılıyor.
4. Interactive Connectivity Establishment (ICE)
Interactive Connectivity Establishment (ICE), NAT traversal mekanizmasında kullanılan framework olarak biliniyor. ICE; iletilen IP adresleri (TURN), yerel IP adresleri ve dönüş IP adresleri STUN’u destekliyor. Bu desteklenen tüm adresler sonrasında SDP ile uzak eşlere gönderiliyor.
WebRTC Nasıl Çalışır?
WebRTC teknolojisi, web tarayıcısı üzerinden çalıştırılıyor. Web tarayıcısı içerisinde yerleşik şekilde bulunan bu teknoloji, ek yazılım ve eklentiye ihtiyaç olmadan kullanılabiliyor. Bu teknoloji, kullanıcılara mikrofon ve kamerayla gerçek zamanlı iletişim kurma imkanı sağlıyor.
WebRTC bağlantısı;
Cihazınız > STUN sunucusu > Eşler arası iletişim kanalı > Alıcının cihazı
WebRTC uygulamasıyla görüntülü ya da sesli arama başlatıldığında aramanın gerçekleştirileceği tüm cihazlardan bağlantı sağlanır. Bağlantı kurulmadan önce mutlaka WebRTC uygulaması, NAT cihazları ve güvenlik duvarları arasında gezinir. NAT cihazları ve güvenlik duvarları, bilgisayarlarda hem herkese açık IP adresi hem de özel IP adresi tasarlayarak çalışıyor.
YORUMLAR