iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
Modern Web

後疫情時代的 WebRTC 微學習系列 第 4

Day04 如何通訊-網路協商

WebRTC 通訊

WebRTC 最常見的應用場景就是一對一的視訊通話,當我們準備和另一端的人進行點對點的連線,會遇到哪些問題呢?

  1. 必須要先知道要如何與對方連線
  2. 必須了解彼此支援哪些媒體格式

https://ithelp.ithome.com.tw/upload/images/20210918/20130062TrYitlRd1F.png

網路協商

今天先來了解網路協商的部分,前面說到通訊雙方必須知道對方要如何連線,這樣才能連通彼此,理想的網路狀況如上圖,瀏覽器都是透過外網ip做連線,這樣就可以直接進行點對點的通訊。

https://ithelp.ithome.com.tw/upload/images/20210918/20130062h1mVU1ZmOI.png

但事情不是這麼簡單的,真實的狀況是大部分的電腦,都是處在區域網路中並且有防火牆,如上圖,所以我們需要做以下兩個處理

  1. 取得外網 IP 地址映射
  2. 通過 Signaling server 交換網路資訊。

透過 STUN server 可以取得外網ip 與 port,然後通過 Signaling server 告訴對方你可以怎麼連我,就可以連上線了,但是 STUN 並不是每次都能成功,NAT 有多種不同類型,如果無法打洞成功較需要 TURN server 來幫忙轉傳了,這邊先挖個坑,後面我們更詳細的來了解如何有效的進行 NAT 穿透,以及 NAT 分別有哪些類型。

總結

  1. 了解 WebRTC 如何進行通訊
  2. 通過 Signaling server 交換網路資訊進行連通

上一篇
Day03 WebRTC 架構
下一篇
Day05 媒體協商與SDP
系列文
後疫情時代的 WebRTC 微學習30

尚未有邦友留言

立即登入留言