十七、網(wǎng)絡傳輸基本知識-ICE

注:以下圖片來自慕課網(wǎng),侵權(quán)可刪

ICE (Interactive Connectivity Establishment)

將NAT TURN打包在一起,做一個最優(yōu)選擇
首先嘗試p2p,如有兩臺服務通過,也會選擇一個最優(yōu)服務
不通則選擇TURN,如有多個節(jié)點,上海TURN不通,則選擇北京的TURN
總之,將所有可能性羅列好,在其中找到一條最優(yōu)路徑,將數(shù)據(jù)發(fā)送


ICE就是讓兩個終端去得到所有能夠連接到對方終端的通路,并找出最優(yōu)的可通通路

  1. 第一種通路,本機IP,如果兩個終端在一個服務下,直接通過本機IP連通
  2. 第二種通路,穿越NAT,雙方終端訪問STUN服務,都拿到外網(wǎng)IP,嘗試P2P穿越,成功既可以連接
  3. 第三條通路,P2P不成功,通過中繼服務器Relay server
ICE 具體工作
  1. 收集 Candidate
  2. 對 Candidate Pair 排序 (對候選者對 進行排序,認為優(yōu)先級高的 先做測試)
  3. 連通性檢查(嘗試連通)
ICE Candidate

每個 candidate(候選者)是一個地址
例如:a = candidate: ...UDP/TCP ...192.169.1.2 1816 type host
每個候選者包括:協(xié)議、IP、端口、類型

Candidate 類型
  • 主機候選者(網(wǎng)卡自己的IP地址和端口)
  • 反射候選者(通過NAT之后的IP地址和端口)
  • 中繼候選者(通過TURN服務開通的IP地址和端口)
形成 Candidate Pair
  1. 一方收集到所有候選者后,通過信令傳給對方
  2. 同樣,另一方收到候選者后,也做收集工作
  3. 當雙方拿到全部列表后,將候選者形成配對兒
連通性檢查
  1. 對候選對進行優(yōu)先級排序
  2. 對每個候選對進行發(fā)送檢查
  3. 對每個候選對進行接收檢查(和發(fā)送同時進行)

SDP

SDP(Session Description Protocol)它只是一種信息格式的描述標準,本身不屬于傳輸協(xié)議,但是可以被其他傳輸協(xié)議用來交換必要的信息(媒體信息,網(wǎng)絡信息)。


SDP的例子,其中Candidate只有主機候選者和反射候選者

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容