WebRTC 核心功能之一是 RTCPeerConnection,其中相關的 SDP(Session Description Protocol)協定的 Offer/Answer 機制。讓我們深入探討這些關鍵概念。
RTCPeerConnection 是 WebRTC 技術中的一個關鍵部分,它允許兩個瀏覽器建立對等連接。這種對等連接是點對點的,不需要通過中間伺服器,但他在剛開始連接時需要一個 Signaing Server 作為資料交換的據點而在交換並連線後即不需要再透過 Server 交換資料。
WebRTC 使用 UDP 和 RTP 來實現媒體傳輸,同時使用 SDP 來協商通信的參數
前面的文章題到 WebRCT 選擇使用 UDP 進行與 RTP 一起使用,打造低延遲的媒體傳輸。而點對點的連接該如何交換資訊之到彼此的 IP 位置、媒體內容就需要使用 SDP 協定傳輸相關的資訊。
SDP(Session Description Protocol)是一種描述媒體會話的協定,用於描述音訊和視訊的屬性,如編解碼器、媒體類型、媒體流的 IP 地址和端口等信息。在 WebRTC 中,被用於協商兩個對等端之間的媒體會話參數。
WebRTC 中用於建立對等連接的協商過程。
在這個過程中,一方(通常是發起通話的一方)將一個 SDP Offer 發送給對方,對方收到 Offer 後,回復一個 SDP Answer。這兩者包含了各自的媒體參數描述,以及關於媒體連接方式的信息。
確保了通話雙方的媒體設置是相容的,並且交換彼此的資訊也接收彼此的資訊以達到連線。
雖然通常是但由加入者發起通話也是可行的,只要兩者皆發送 SDP 給對方完成交換訊息的協商過程就可以達到連線。
圖片來源:自製
總結來說, RTCPeerConnection 和 SDP 協定的 Offer/Answer 過程是 WebRTC 技術的核心~希望能用這篇讓大家快速了解WebRTC怎麼交換資訊達到連線,下篇介紹 NAT 是什麼?網路是如何打洞連線?
參考資料
Day16 RTCPeerConnection: Offer / Answer - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)
WebRTC 102: #4 Understanding SDP Internals (dyte.io)