iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0
Software Development

新手也能打造網路電話系統-WebRTC入門與活用系列 第 6

Day 06 - 觀念篇 - Session Traversal Utilities for NAT、Traversal Using Relays around NAT

Session Traversal Utilities for NAT

Session Traversal Utilities for NAT(簡稱STUN)NAT之會談穿透設施是一種用於穿透NAT之端點連線協議,其概念為端點裝置主動向ICE伺服器發送網路相關資訊,使ICE伺服器得以穿越端點裝置的NAT,並產生可連線的候選人資訊,再將候選人資訊以任意方式傳遞給另一方端點裝置,使彼此可直接互通,如下圖所示。

( 1 ) UserA向ICE Server取得候選人資訊。
( 2 ) UserA向Socket Server傳遞候選人資訊。
( 3 ) Socket Server將UserA的候選人資訊傳遞給UserB。
( 4 ) UserB向ICE Server取得候選人資訊,接著仿照 ( 2 )、( 3 ) 之動作傳遞給UserA。
( 5 ) UserA與UserB取得彼此的候選人資訊後,使用STUN協議進行通訊。

Traversal Using Relays around NAT

Traversal Using Relays around NAT(簡稱TURN)使用中繼穿透NAT是一種與STUN協議相似之協議,差別在於STUN協議會使端點直接互通,而TURN協議則是作為中繼站以轉傳端點之資料。當STUN協議無法成功連接雙方的端點時,會以TURN協議作為連線的替代方案,而ICE伺服器則成為雙方橋樑,以中繼彼此傳遞的資料,使端點之間能進行溝通,如下圖所示。

若最終採用TURN協議進行WebRTC通話的話,並不能算是對等連線,因為我們還是需要一個伺服器來中繼媒體數據,因此WebRTC雖然主要採用對等連線,但實際上還是會依據每個終端裝置的情況而有所不同。


上一篇
Day 05 - 觀念篇 - Interactive Connectivity Establishment
下一篇
Day 07 - 觀念篇 - WebRTC API
系列文
新手也能打造網路電話系統-WebRTC入門與活用30

尚未有邦友留言

立即登入留言