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

ICE介紹 (RFC 5245)

系統(tǒng) 2159 0

[轉(zhuǎn)]ICE介紹 (RFC 5245)

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

?

1關(guān)于ICE的10個(gè)事實(shí)

1 ICE使用STUN和TURN

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

3 ICE只需要網(wǎng)絡(luò)提供STUN或TURN服務(wù)器

4 ICE允許在很復(fù)雜的網(wǎng)路環(huán)境下傳輸媒體流

5 ICE只在確定媒體流可到達(dá)情況下才讓電話進(jìn)行振鈴

6 ICE動(dòng)態(tài)發(fā)現(xiàn)終端間媒體流的最短路徑

7 ICE可以附帶消除DoS攻擊

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

9 ICE不需要終端去發(fā)現(xiàn)NAT類型以及它們的存在

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

2 ICE的步驟

ICE 是一種探索、學(xué)習(xí)和更新式的解決方案。在ICE 算法的開始,通信的2 個(gè)代理并不知道自己的拓?fù)洳渴稹贜AT 后還是不在NAT 后。
2.1 初始請求的發(fā)送
為了探索本地拓?fù)洌?A 執(zhí)行如下操作,收集 3 類候選地址(Candidates):

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

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

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

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

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

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

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

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 應(yīng)答的發(fā)送

當(dāng) B 收到請求,就知道了A 所處的拓?fù)洵h(huán)境(反射候選和主機(jī)候選地址不同,說明A 處于NAT 后)。B 執(zhí)行和A 相同的操作,收集候選,計(jì)算候選優(yōu)先級,設(shè)置基礎(chǔ)(Foundation)屬性,選擇默認(rèn)候選,進(jìn)行SDP 編碼,并發(fā)送應(yīng)答消息Answer 給A。這樣A 也知道B 所處的拓?fù)洵h(huán)境了,反射候選和主機(jī)候選地址不同,說明B 也處于NAT 后。應(yīng)答消息內(nèi)容如下所示:
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 是請求的發(fā)起端,因此A 充當(dāng)控制代理(Controlling Agent),B 為被控制代理(Controlled Agent)。A和B 開始對候選進(jìn)行配對。A, B 各有3 個(gè)候選,A, B 各選1 個(gè)候選組成對,共有9 個(gè)對。由于不能從服務(wù)器反射選和中繼候選發(fā)送請求,因此剪掉冗余對,A, B 每一方只剩下3 個(gè)對,即從主機(jī)候選分別到對端的主機(jī)候選、服務(wù)器反射候選、中繼候選。

計(jì)算候選對的優(yōu)先權(quán)并對候選對排序。對于控制代理A而言,按優(yōu)先級排序候選對,形成檢查列表所示。

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

檢查列表的次序決定了將來連通性檢查的次序。設(shè)置檢查列表中最高優(yōu)先級對的狀態(tài)為等待態(tài),其余對為凍結(jié)態(tài)。

2.3 連通性檢查

B 開始它的連通性檢查。B 依次從檢查列表移出最高優(yōu)先級對,對的狀態(tài)由等待態(tài)遷移為進(jìn)行態(tài)(這同時(shí)會(huì)觸發(fā)次高優(yōu)先級對轉(zhuǎn)換為最高優(yōu)先級對,狀態(tài)由凍結(jié)態(tài)變?yōu)榈却龖B(tài)),開始連通性檢 查。對第1 個(gè)對從本地候選172.16.10.102: 8484到遠(yuǎn)程候選192.168.1.22: 8484 發(fā)送STUN綁定請求([RFC5389]),由于遠(yuǎn)程候選處于NAT 后是私有的,不能被路由,檢查失敗。對第2 個(gè)對執(zhí)行連通性檢查,當(dāng)數(shù)據(jù)包抵達(dá)NAT A 時(shí),NAT 會(huì)發(fā)現(xiàn)傳輸?shù)刂?02.199.112.102: 61866 已經(jīng)映射202.199.112.108: 3478 了。而此時(shí)STUN請求的源地址并非202.199.112.108: 3478,所以數(shù)據(jù)包必然會(huì)被NAT A 丟棄。

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

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

至此,通過該算法最終找到了媒體流傳輸?shù)挠行Ш蜻x對,對應(yīng)的最優(yōu)路徑也就隨之確定了。由于有效候選是公網(wǎng)地址,因此通過該路徑媒體流可順利穿越NAT。

參考文獻(xiàn)

[1] 魏立峰等。 一種媒體流穿越 NAT 的算法設(shè)計(jì)與實(shí)現(xiàn),? 《計(jì)算機(jī)工程》, 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)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91精品日韩 | 欧美日韩网址 | 久青草国产手机在线视频 | 欧美毛片一级 | 五月婷婷啪 | 中文字幕欧美在线观看 | 99久女女精品视频在线观看 | 97在线资源站 | 九九热精品视频在线观看 | 一区欧美| 免费超级淫片日本高清视频 | 欧美成人亚洲欧美成人 | 久久人视频 | 国产一区二区亚洲精品天堂 | 午夜精品成年片色多多 | 免费精品久久久视频 | 色综合一区二区三区 | 国产日韩欧美在线一区二区三区 | 99视频在线永久免费观看 | 亚洲人人干 | 亚洲日本视频在线 | 在线看福利影 | 香蕉综合网| 国内精品久久久久久西瓜色吧 | 成人亚洲国产综合精品91 | 欧美福利影院 | 久久最近最新中文字幕大全 | 久久综合欧美成人 | 亚洲午夜一级毛片 | 国产一级在线观看www色 | 成人综合网址 | 四虎免费观看 | 亚洲综合色婷婷久久 | 中文在线免费视频 | 欧美成人免费观看的 | 亚洲你懂得 | 久久国产精品免费一区二区三区 | 国产香蕉视频在线 | 亚洲欧美另类专区 | 天天做天天添婷婷我也去 | 在线影院福利 |