亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

ICE介紹 (RFC 5245)

系統 1898 0

[轉]ICE介紹 (RFC 5245)

http://blog.csdn.net/dxpqxb/article/details/22040017

?

1關于ICE的10個事實

1 ICE使用STUN和TURN

2 ICE是一種P2P的NAT穿越方式

3 ICE只需要網絡提供STUN或TURN服務器

4 ICE允許在很復雜的網路環境下傳輸媒體流

5 ICE只在確定媒體流可到達情況下才讓電話進行振鈴

6 ICE動態發現終端間媒體流的最短路徑

7 ICE可以附帶消除DoS攻擊

8 ICE可以幾乎和任意類型的NAT和防火墻設備一起工作

9 ICE不需要終端去發現NAT類型以及它們的存在

10 ICE只有在最壞的情況下才只用中繼(兩邊都在對稱NAT之后)

2 ICE的步驟

ICE 是一種探索、學習和更新式的解決方案。在ICE 算法的開始,通信的2 個代理并不知道自己的拓撲部署——在NAT 后還是不在NAT 后。
2.1 初始請求的發送
為了探索本地拓撲,代理 A 執行如下操作,收集 3 類候選地址(Candidates):

(1)A 從本地接口上獲得主機候選地址(Host Candidates)192.168.1.22: 8484;

(2)發送STUN 綁定請求到STUN 服務器獲得服務器反射候選地址(Server Reflexive Candidates)202.199.112.102: 61866;

(3)發送TURN 分配請求到TURN 服務器獲得中繼候選地址(Relay Candidates)202.199.112.105: 5006,同時也獲得了服務器反射候選地址202.199.112.102: 62072。

這些候選地址是隨后可能用于接收媒體流的地址。

計算候選的優先級。設置主機候選的類型優先參數為最高值126,服務器反射候選的類型優先參數為100,中繼候選的類型優先參數為最低值0。本地參 數設為65 535,分組ID為1。經計算,主機候選的優先級為2 130 706 431,服務器反射候選的優先級為1 694 498 815,中繼候選的優先級為16 777 215。按候選優先級高低排序。分配主機候選的基礎(Foundation)屬性為1,服務器反射候選的基礎屬性為2,中繼候選的基礎屬性為3。

按中繼候選、服務器反射候選、主機候選次序選擇默認候選(該候選包含了默認用于接收媒體流的地址和端口),由于A 獲得了中繼候選,因此優先選擇連通概率較大的中繼候選202.199.112.105:5006 作為默認候選。

將默認候選的 IP 地址和端口編輯進SDP 的c 行和m 行,并添加收集到的3 個候選地址到a 屬性,形成發送請求Offer,通過信令信道傳給B,請求消息內容如下所示,修改的參數和添加的屬性值用粗體顯示。

v=0
o=UserA 2890844526 2890842807 IN IP4 192.168.1.22
s=
c=IN IP4 202.199.112.105
t=0 0
a=ice-pwd:asd88fgpdd777uzjYhagZg
a=ice-ufrag:8hhY
m=audio 5006 RTP/AVP 0
b=RS:0
b=RR:0
a=rtpmap:0 PCMU/8000
a=candidate:1 1 UDP 2130706431 192.168.1.22 8484 typ host
a=candidate:2 1 UDP 1694498815 202.199.112.102 61866 typ
srflx raddr 192.168.1.22 rport 8484
a=candidate:3 1 UDP 16777215 202.199.112.105 5006 typ relay
raddr 202.199.112.102 rport 62072

2.2 應答的發送

當 B 收到請求,就知道了A 所處的拓撲環境(反射候選和主機候選地址不同,說明A 處于NAT 后)。B 執行和A 相同的操作,收集候選,計算候選優先級,設置基礎(Foundation)屬性,選擇默認候選,進行SDP 編碼,并發送應答消息Answer 給A。這樣A 也知道B 所處的拓撲環境了,反射候選和主機候選地址不同,說明B 也處于NAT 后。應答消息內容如下所示:
v=0
o=UserB 2808849004 2808849004 IN IP4 172.16.10.102
s=
c=IN IP4 202.199.112.105
t=0 0
a=ice-pwd:YH75Fviy6338Vbrhrlp8Yh
a=ice-ufrag:9uB6
m=audio 49152 RTP/AVP 0
b=RS:0
b=RR:0
a=rtpmap:0 PCMU/8000
a=candidate:1 1 UDP 2130706431 172.16.10.102 8484 typ host
a=candidate:2 1 UDP 1694498815 202.199.112.87 63756 typ srflx
raddr 172.16.10.102 rport 8484
a=candidate:3 1 UDP 16777215 202.199.112.105 49152 typ relay
raddr 202.199.112.87 rport 63768

決定代理角色。由于A 和B 都是Full 型代理,且A 是請求的發起端,因此A 充當控制代理(Controlling Agent),B 為被控制代理(Controlled Agent)。A和B 開始對候選進行配對。A, B 各有3 個候選,A, B 各選1 個候選組成對,共有9 個對。由于不能從服務器反射選和中繼候選發送請求,因此剪掉冗余對,A, B 每一方只剩下3 個對,即從主機候選分別到對端的主機候選、服務器反射候選、中繼候選。

計算候選對的優先權并對候選對排序。對于控制代理A而言,按優先級排序候選對,形成檢查列表所示。

對于被控制代理B,同樣也計算候選對的優先級,并按優先級排序,形成自己的檢查列表。

檢查列表的次序決定了將來連通性檢查的次序。設置檢查列表中最高優先級對的狀態為等待態,其余對為凍結態。

2.3 連通性檢查

B 開始它的連通性檢查。B 依次從檢查列表移出最高優先級對,對的狀態由等待態遷移為進行態(這同時會觸發次高優先級對轉換為最高優先級對,狀態由凍結態變為等待態),開始連通性檢 查。對第1 個對從本地候選172.16.10.102: 8484到遠程候選192.168.1.22: 8484 發送STUN綁定請求([RFC5389]),由于遠程候選處于NAT 后是私有的,不能被路由,檢查失敗。對第2 個對執行連通性檢查,當數據包抵達NAT A 時,NAT 會發現傳輸地址202.199.112.102: 61866 已經映射202.199.112.108: 3478 了。而此時STUN請求的源地址并非202.199.112.108: 3478,所以數據包必然會被NAT A 丟棄。

對第 3 個對執行連通性檢查。由于遠程候選等于中繼候選,為了有效利用帶寬,應從本地候選172.16.10.102: 8484 向遠程候選202.199.112.105: 5006 發送信道綁定請求[5]。請求中指出了信道號0x4001 及通信對端A 的地址,請求到達TURN 服務器,綁定成功。該綁定的成功,激勵其學習對端反射候選202.199.112.102: 62072,經該反射候選到達對端A,然后產生了一個成功的響應,A 的檢查終于成功。B 產生了一個新的對(202.199.112.105: 49152,202.199.112.105: 5006),該對被增加到有效列表,媒體流分組的ICE 處理遷移到完成態。至此B 可以利用信道0x4001發送媒體流分組到A 了。

當 A 收到應答后,也按照候選對的優先級次序開始自己的連通性檢查。和B 類似,也失敗了。當A 一收到B 檢查成功的消息,馬上開始觸發檢查,在信道綁定請求中指定信道號0x4002 以及對端B 的地址。由于A 是控制代理,在檢查里可包含USE-CANDIDATE 屬性執行強制提名算法,結果檢查也成功了。代理A 產生了一個新的對(202.199.112.105:5006, 202.199.112.105:49152),該對被增加到有效列表,并設置提名標志(nominated flag)為TRUE,媒體流分組的ICE 處理遷移到完成態。A 可以通過信道0x4002 發送媒體流到B。

至此,通過該算法最終找到了媒體流傳輸的有效候選對,對應的最優路徑也就隨之確定了。由于有效候選是公網地址,因此通過該路徑媒體流可順利穿越NAT。

參考文獻

[1] 魏立峰等。 一種媒體流穿越 NAT 的算法設計與實現,? 《計算機工程》, 2009 年12 月

[2]RFC5245: Interactive Connectivity Establishment (ICE):? A Protocol for Network Address Translator (NAT) Traversal for????? Offer/Answer Protocols, 2010 April

ICE介紹 (RFC 5245)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人永久免费视频网站在线观看 | 欧美一区二区三区视频在线观看 | 亚洲国产模特在线播放 | 免费国产97久久青草 | 色老头老太xxxxbbbb | 免费看黄色片视频 | 久久频这里精品99香蕉久 | 日韩中文欧美 | 日本伊人色综合网 | 久久波多野结衣 | 国产亚洲精品美女 | 四虎影视国产精品 | 一区二区精品视频 | 亚洲精品国产v片在线观看 亚洲精品国产啊女成拍色拍 | 欧美成人免费观看国产 | 台湾亚洲精品一区二区tv | 免费看欧美一级特黄α大片 | 国产精品视频色拍拍 | 日本aa视频| 在线精品国产一区二区 | 一级一级18女人毛片 | 女人十八毛片一级毛片免费看 | 国产或人精品日本亚洲77美色 | 久热精品男人的天堂在线视频 | 久久在线视频 | 国产成人精品久久亚洲高清不卡 | 五月天婷婷免费视频观看 | 国产黄色91 | 国产欧美一区二区精品性色 | 久久精品国产乱子伦多人 | 一区二区国产在线观看 | 亚洲精品视频免费 | 色资源在线观看 | 97成人资源 | 亚洲线精品久久一区二区三区 | 精品72久久久久久久中文字幕 | 国产成人精品日本亚洲麻豆 | 99国产超薄丝袜足j在线观看 | 国产精品久久久久影视不卡 | 伊人精品在线视频 | 99久久精品久久久久久婷婷 |