WebRTC Hakkında

 

  WebRTC Nedir ? 


 WebRTC,  Gerçek zamanlı iletişim(Real-Time Comminication) ' in kısaltmasıdır. Bu proje 2011 yılında Google, Firefox ve Opera' nın el ele vererek geliştirdiği Javascript API tabanlı bir uygulamadır. Geliştiriciler üç API gücünü uygulamalarına katarak gerçek zamanlı iletişimi sağlamışlardır.  Bu uygulama herhangi bir ek yazılım kurmaya gerek kalmadan direk olarak web tarayıcılarından çalışır. Chrome, Mozilla, Opera tarayıcılarında gömülü olarak gelmektedir.

   WebRTC Kullanım Alanları
  
  WebRTC temel kullanım durumları şınlardır;
  • Gerçek zamanlı ses veya video iletişimi
  • Web konferansı
  • Doğrudan veri aktarımı

  Client, WebRTC sayesinde hiçbir ek yazılım kurmadan gerçek zamanlı ses, görüntü, video iletişimi kurabilir. Bu iletişimi apprtc.appspot.com üzerinden kurabiliriz. Burada yapmamız gereken bu adrese gitmek ve karşımıza gelen sayfada JOIN diyerek oturumu başlatmak, oturumu başlattığımızda alt kısımda bize bir link verecektir bu linki karşı tarafa ulaştırmak. Karşımızdaki Client bu linki uygun bir tarayıcıya girerek oturumunuza katılabilir.
 WebRTC ile web konferansı ve doğrudan veri aktarımı sağlanabiliyor.

  WebRTC Mimarisinde İletişim Nasıl Sağlanır ?


  WebRTC, iki client arasındaki iletişimi  P2P(Peer to Peer) topoloji kullanarak sağlar. P2P topoloji ise client' den client' e doğrudan bağlantı sağlar, yani bağlantı sırasında arada herhangi bir server bulunmaz direk olarak iki client arasında çalışır. Daha önceden belirttiğim gibi uygun tarayıcıyı seçtiğimizde herhangi bir ek yazılım gerektirmez. Google Chrome bazı Android sistemlerde WebRTC' yi devredışı bırakabiliyor, bunu chrome://flags  penceresinden WebRTC seçeneğini bularak etkinleştir butonu ile aktif hale getirebiliriz. Bu mimari Client' ler arasında iletişimi ilk olarak sinyalizasyon ile başlatır. Bu sinyalizasyon Sinyaling Server üzerinden karşı tarafa sinyalizasyon göndererek ilk bağlantıyı oluşturur. Daha sonra client' ler arasında gerçek zamanlı iletişim başlar.
Bunu aşağıdaki resme bakarak daha iyi anlayacaksınız.
    Biraz daha detaya girecek olursak WebRTC gerçek zamanlı iletişimi sağlamak için diğer iletişim medyalarından farklı bir altyapı kullanıyor. Diğer iletişim medyaları SIP üzerinden iletişimi sağlarken bu mimari API üzerinden iletişimi sağlıyor. WebRTC geliştiricileri bu mimaride iletişimi sağlamak için üç API gücünü kullanmışlardır. Bunlar;
  • GetUserMedia
  • RTCPeerConnection
  • RTCDataChannel

 GetUserMedia, WebRTC için tarayıcının mikrofon, kamera gibi donanım cihazlarına erişimini sağlar. Daha önceden ses, video çekimi için Silverlight, Flash gibi üçüncü parti yazılımların kurulması gerekirdi. Günümüzde HTML5 donanım erişimini açmış bulunmaktadır ve bu erişim API tarafından sağlanmaktadır. API ne kadar WebRTC tarafından kullanılıyor gibi görünsede aslında HTML5 tarafından kullanılmaktadır.
 RTCPeerCoonection, gerçek zamanlı iletişim için iki Client arasındaki veri akışını işlemek için görevlidir. Bu protokol iletişimi başlatır ve güvenli bir biçimde veri akışını sağlar.
  RTCDataChannel, bu iletişimdeki veri akışı için bir kanal sunar ve iletişim bu kanal üzerinden sağlanır. Websocket' e benzetilir ancak farklı olarak P2P olarak kanal sunar.

  WebRTC' nin Güvenlik açısından İncelenmesi


WebRTC kolay kullanımı ve ek yazılım istemeden direk olarak ileşim sağlamasının yanında güvenliğe de çok önem vermiştir. WebRTC kullanıcıları kötü niyetli kişilerden korumak ve güvenliği sağlamak amaçlı yürürlüğe girmiştir ve bu konuda kullanıcılara mükemmel güvence sunuyor. 
  WebRTC iletişimi ve veri aktarımını şifreli bir şekilde sağlıyor. Bu şifrelemeyi application layer da sağlıyor. Veri aktarımını HTTPS protokolü üzerinden sağlıyor ve şifrelemeyi SSL sertifikası ile yapıyor. Bu şifreleme sayesinde dışarıdan gelen saldırılar ile  iletişimin içeriğini dinlemesi imkansız kılınmıştır. WebRTC medya şifreleme işlemini bu şekilde SSL ile yapar. Veri aktarım güvenliği ise DTLS kullanılarak sağlanır.  WebRTC DTLS desteği tüm tarayıcılar içerisine inşa edilmiştir, bu protokol e-posta, voip gibi platformlarda veriyi şifrelemek için de kullanılan standart bir protokoldür. DTLS protokolü TLS asimetrik şifreleme ile tam bir güvenlik sağla, bu protokol HTTPS protokolü ile çalışır. Omline oyunlar gibi voip uygulamalar UDP ile şifresiz iletilir. Aşağıdaki resme bakarak daha iyi anlayacaksınız.


  Bu resimde anlatılmak istenen, API ilk olarak Signaling Server üzerinden bir sinyalizasyon gönderiyordu ve ilk bağlantıyı oluşturuyordu, bu bağlantıyı HTTPS protokolü üzerinden yapıyor. Bağlantı başladıktan sonra SRTP(Güvenli Gerçek Zamanlı Aktarım) protokolü ile DTLS ile şifreli aktarıma başlıyor.

  WebRTC kullanım kolaylığı ve güvenlik açısından tercih edilebilecek bir mimaridir. Bu mimarı Google Chrome, Firefox, Opera  tarayıcılarında ve Android, İOS sistemlerde gömülü olarak gelmektedir.

Kaynaklar : 





Yorumlar

Bu blogdaki popüler yayınlar

Active Directory GPO(Group Policy Objects) Nedir ? Ne İşe Yarar ? Nasıl Uygulanır ?

Cisco Packet Tracer ile Cisco Cihazlarda Vlan Yapılandırması

Windows Server 2012 Dns Server Kurulum ve Konfigürasyonu