WebRTC協議


webrtc協議介紹

MDN webrtc協議

ICE

交互式連接建立Interactive Connectivity Establishment (ICE) 是一個允許你的瀏覽器和對端瀏覽器建立連接的協議框架。在實際的網絡當中,有很多原因能導致簡單的從A端到B端直連不能如願完成。這需要繞過阻止建立連接的防火牆,給你的設備分配一個唯一可見的地址(通常情況下我們的大部分設備沒有一個固定的公網地址),如果路由器不允許主機直連,還得通過一台服務器轉發數據。ICE通過使用以下幾種技術完成上述工作。

STUN

NAT的會話穿越功能Session Traversal Utilities for NAT (STUN) (縮略語的最后一個字母是NAT的首字母)是一個允許位於NAT后的客戶端找出自己的公網地址,判斷出路由器阻止直連的限制方法的協議。

客戶端通過給公網的STUN服務器發送請求獲得自己的公網地址信息,以及是否能夠被(穿過路由器)訪問。

NAT

網絡地址轉換協議Network Address Translation (NAT) 用來給你的(私網)設備映射一個公網的IP地址的協議。一般情況下,路由器的WAN口有一個公網IP,所有連接這個路由器LAN口的設備會分配一個私有網段的IP地址(例如192.168.1.3)。私網設備的IP被映射成路由器的公網IP和唯一的端口,通過這種方式不需要為每一個私網設備分配不同的公網IP,但是依然能被外網設備發現。

一些路由器嚴格地限定了部分私網設備的對外連接。這種情況下,即使STUN服務器識別了該私網設備的公網IP和端口的映射,依然無法和這個私網設備建立連接。這種情況下就需要轉向TURN協議。

TURN

一些路由器使用一種“對稱型NAT”的NAT模型。這意味着路由器只接受和對端先前建立的連接(就是下一次請求建立新的連接映射)。

NAT的中繼穿越方式Traversal Using Relays around NAT (TURN) 通過TURN服務器中繼所有數據的方式來繞過“對稱型NAT”。你需要在TURN服務器上創建一個連接,然后告訴所有對端設備發包到服務器上,TURN服務器再把包轉發給你。很顯然這種方式是開銷很大的,所以只有在沒得選擇的情況下采用。

SDP

會話描述協議Session Description Protocol (SDP) 是一個描述多媒體連接內容的協議,例如分辨率,格式,編碼,加密算法等。所以在數據傳輸時兩端都能夠理解彼此的數據。本質上,這些描述內容的元數據並不是媒體流本身。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM