999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ICE的SIP穿越NAT方法的研究*

2015-04-13 04:14:02王夢杰口何加銘
移動通信 2015年2期
關(guān)鍵詞:檢測

王夢杰口,何加銘

(1.寧波大學(xué)通信技術(shù)研究所,浙江寧波315211; 2.浙江省移動網(wǎng)應(yīng)用技術(shù)重點實驗室,浙江寧波315211)

1 引言

NAT[1]已應(yīng)用于各種網(wǎng)絡(luò)環(huán)境中,它是一種將 局域網(wǎng)IP地址轉(zhuǎn)換為公共IP地址的地址轉(zhuǎn)換技術(shù)[21。 NAT主要工作在網(wǎng)絡(luò)層,當(dāng)報文在經(jīng)過NAT設(shè)備時’ 應(yīng)用層中包含的地址信息不做任何修改,只修改網(wǎng)絡(luò) 層和傳輸層中的報文信息,其中包含的地址信息也會 被修改。SIP協(xié)議是應(yīng)用層協(xié)議,當(dāng)SIP終端使用SIP信 令建立會話通信時,后續(xù)流媒體和信令的交互使用的 傳輸?shù)刂范际荢IP[3]信令中描述的私網(wǎng)IP地址,而這個 私網(wǎng)IP地址不能在公網(wǎng)上進行路由,所以媒體通道不 能正常建立w。

為解決NAT穿越問題,IETF提出了一些NAT 穿越的技術(shù)規(guī)范,例如:ALGs (Application Layer Gateways)、中間盒技術(shù)、STUN (Simple Traversal of UDP through NAT) ?, TURN (Traversal Using Relay NAT)等氣這些方案都有局限性,只能根據(jù)不 同的網(wǎng)絡(luò)情況選擇合適的方案,沒有很好地解決NAT 穿越問題。所以,目前需要一種全面綜合性NAT穿越 方法,而ICE技術(shù)正好是一種NAT穿越的綜合性解決 方案,它結(jié)合了STUN和TURN的穿越NAT方式使 之能在各種NAT情況下進行穿透。

本文詳細(xì)介紹了ICE算法,并針對ICE在對稱型 NAT穿越上提出了優(yōu)化方案,使ICE穿越NAT的時間 更短,同時也改進了ICE連通性測試時間較長的不足。

2 NAT的類型和特點[6]

2.1 完全圓錐(Full Cone) NAT

內(nèi)網(wǎng)主機從相同的IP地址和端口號發(fā)出的所有請 求都會被完全圓錐NAT映射成相同的外網(wǎng)IP地址和端 口號。同時,通過這個映射的外網(wǎng)IP地址和端口號, 任何外網(wǎng)主機都能夠向這個內(nèi)網(wǎng)主機發(fā)送數(shù)據(jù)包。

2.2 受限圓錐(Restricted Cone) NAT

內(nèi)網(wǎng)主機從相同的IP地址和端口號發(fā)出的所有請 求都會被受限圓錐NAT映射成相同的外網(wǎng)IP地址和端 口號,但不同于完全圓錐NAT的是、只有內(nèi)網(wǎng)主機先 向外網(wǎng)的某個主機地址發(fā)送數(shù)據(jù)后,才能接收到該外 網(wǎng)主機發(fā)送給內(nèi)網(wǎng)主機的數(shù)據(jù),而拒絕其他外網(wǎng)主機 發(fā)送的數(shù)據(jù)包,支持?jǐn)?shù)據(jù)包過濾功能。

2.3 端口受限維形(Port Restricted Cone) NAT

在映射規(guī)則上,端口受限錐形NAT和受限圓錐 NAT—樣,但是在接收數(shù)據(jù)包上面有差別,差別在于 加了端口號的限制,內(nèi)網(wǎng)主機只會接收之前巳經(jīng)發(fā)送 過信息的外網(wǎng)主機IP地址和固定端口號,其他的IP地 址和端口號發(fā)送的數(shù)據(jù)都不會被接收。

2.4 對稱型(Symmetric) NAT

對稱型NAT和前面的3種類型NAT在映射規(guī)則上 都不一樣。只有當(dāng)目的地址和端口號一樣時,從相同 的內(nèi)網(wǎng)IP地址和端口號發(fā)出的所有請求才會被映射為 相同的外網(wǎng)IP和端口號,否則映射的端口號會不同。 同樣,內(nèi)網(wǎng)主機只會接收之前已經(jīng)發(fā)送過信息的外網(wǎng) 主機IP地址和固定端口號,其他的IP地址和端口號發(fā) 送的數(shù)據(jù)都不會被接收。

3 ICE技術(shù)介紹

3.1 ICE簡介

交互式連通建立方式ICE[7]是一種適用于各種 NAT類型下的NAT穿越解決方案,它結(jié)合了STUN 和TURN的NAT穿越方式,不需要對NAT設(shè)備做任 何修改,且會根據(jù)上面的協(xié)議選擇最好的NAT穿越方 式。針對SIP穿越NAT的問題,只需要對ICE擴展SDP (Session Description Protocol) [8〗的~"些附加屬性。

3.2 ICE算法漸呈[910]

(1)候選地址信息收集

所有能夠用于會話的地址和端口都要被會話發(fā)起 方收集起來,其中包括本機地址和端口、NAT映射地 址和端口、服務(wù)器中繼地址和端口。一般而言,本機 地址和端口是主機上的一個物理接口綁定一個端口而 獲得,NAT映射地址和端口是從STUN服務(wù)器獲得, 而服務(wù)器中繼地址和端口則是TURN服務(wù)器提供。

(2)候選地址優(yōu)先級確定

候選地址的優(yōu)先級反映了會話者在該地址上接受 媒體流的優(yōu)先級別,所以需要對其優(yōu)先級進行排序, 其取值范圍從0到1。通常所收集的候選地址優(yōu)先級從 高到低是:本機地址、NAT映射地址、服務(wù)器中繼地 址。而缺省候選地址則按連通可能性的大小來判定優(yōu) 先級,一般是:服務(wù)器中繼地址、NAT映射地址、本 機地址

(3) 初始化消息創(chuàng)建

初始化消息由一系列媒體流組成,每個媒體流 包含候選地址列表和一個缺省地址。在SDP媒體描述 中,缺省IP地址在c屬性行,缺省端口和媒體參數(shù)在m 屬性行,而所有收集的候選地址都在a屬性行。將SDP 媒體描述作為消息體嵌入到SIP數(shù)據(jù)包中,同時提供地 址信息和媒體參數(shù)用于建立媒體流,完成呼叫和媒體 惶道的建立。會話發(fā)起者通過信令通道將初始化消息 發(fā)送給接受者。

(4)響應(yīng)處理

會話接受者接收到初始化請求后,首先,會執(zhí)行 候選地址和端口的收集,其過程與上文中描述一樣。 為減少呼叫建立的時間,候選地址的收集過程可以在 呼叫前完成;其次,會對這些候選地址進行優(yōu)先級排 序,其規(guī)則與上文中描述一樣;最后,會話接受者會 決定是否接受該會話通信,若拒絕則ICE過程將會被終 止,若接受則會話接受者會發(fā)送Accept消息給會話發(fā) 起者。Accept消息的創(chuàng)建過程與上文中類似。

(5)連通性檢測

如果會話接受者不支持ICE方式,則Accept消息 中將不會包含候選地址列表信息,而只包含缺省的地 址信息,這樣會話發(fā)起者將不會執(zhí)行連通性檢測。否 則,會話雙方得到雙方的候選地址列表信息后,首先 會進行地址信息的配對,保證一方的每個地址都會與 對方的所有地址組成一個配對;然后對這些地址對進 行優(yōu)先級排序,形成一個連通性檢測列表;最后會話 雙方進行連通性檢測,獲得有效的候選地址對,該地 址對就是雙方進行會話通信的傳輸?shù)刂稴這個過程的 時間會根據(jù)候選地址的多少和網(wǎng)絡(luò)情況而變化,一般 候選地址越少、網(wǎng)絡(luò)情況越好,時間就會越短。

(6)附加ICE過程

在候選地址連通性檢測的過程中,如果某些 STUN事物沒有結(jié)束,或者會話雙方在信息交換的過 程中提供了新的候選地址,則會話雙方的候選地址收 集過程將會繼續(xù),

(7) ICE到SIP的映射

當(dāng)SIP采用ICE方式穿越NAT時,必須映射ICE定 義的相關(guān)參數(shù)到SIP消息中,如候選地址信息。同時 擴展SDP屬性,在SDP的Media塊中定義一個新屬性 "a=candidate"來支持ICE。Media塊中可以有多個該 屬性,它包含候選地址信息,SDP接受端可以用該地 址信息替換c、m屬性行中的地址和端口。

4 ICE方案的優(yōu)化

4.1 ICE的不足

ICE過程中的候選地址連通性檢査在網(wǎng)絡(luò)情況很 差時需要較長時間[111。因為連通性檢査是在接收方拿 起聽筒準(zhǔn)備講話的時候,如果測試時間過長,則接收 方用戶說的話需要很長時間才能傳回到發(fā)起方,這會 增加通話延時,影響通話質(zhì)量。

如果通話雙方是在對稱型NAT下,ICE實際就是 使用TURN,通話雙方的數(shù)據(jù)都要經(jīng)過服務(wù)器中轉(zhuǎn), 這樣避免不了TURN造成的語音延遲問題,且會給服 務(wù)器造成較大壓力。

4.2 ICE改進方法

針對ICE方法的不足,提出以下改進方法:

(1)連通性測試時間過長的改進

ICE在連通性測試時,增加NAT類型檢測功能, 如果會話一方位于對稱型NAT后,而另一方位于對稱 型NAT或端口限制型NAT后,則只對中繼候選地址進 行連通性檢查,不對本機地址、NAT映射地址作連通 性檢查,節(jié)省連通性檢查所消耗的時間。同時在連通 性測試的過程中,當(dāng)發(fā)起方和接收方測試到一個可以 互通的地址時就產(chǎn)生應(yīng)答消息。因為候選地址的連通 性檢查是按照地址對的優(yōu)先級來測試的,所以可以保 證連通的那個地址對一定是優(yōu)先級最高的。

(2)對稱型NAT下穿越方式的改進

通話雙方在連通性檢測時檢測各自的NAT類型, 如果會話一方(設(shè)為A)在對稱型NAT后,而另一方 (設(shè)為B)在完全圓錐NAT或受限圓錐NAT后,這時B 的NAT映射地址和端口是可以連通的,而A的NAT映 射地址和端口是不可連通的。此時讓A發(fā)送消息到B的 NAT映射地址和端口,當(dāng)B接受到A的數(shù)據(jù)時,解析出 源地址和端口》并將該地址作為A通信的NAT映射地 址和端口,之后B發(fā)送響應(yīng)數(shù)據(jù)到該源地址和端口,從 而實現(xiàn)NAT的穿越,與A建立連接,實現(xiàn)數(shù)據(jù)通信。 如果是其他情況,則采用TURN的方式進行穿越。

5 改進后的ICE方法工作流程

假設(shè)會話發(fā)起方A和會話接收方B都位于對稱型 NAT后.,現(xiàn)在SIP終端A要與終端B進行通信,A的內(nèi) 網(wǎng)地址是192.168.1.100,外網(wǎng)地址是218.0.4.145,B的 內(nèi)網(wǎng)地址是10..22.70.90,外網(wǎng)地址是115.236.94.200。 ICE服務(wù)器綁定了2個公網(wǎng)IP_,地址是132.177.123.5 和132.177.123.6,其中STUN服務(wù)的端口使用3478和 3479, TURN服務(wù)的端口使用5566。

5.1 候選地址收集

A發(fā)起請求,進行候選地址收集,B接受到消息, 同時也進行候選地址收集.候選地址收集過程如圖1所 示:

圖1 A、B收集候選地址過程

A、B雙方收集到的候選地址列表如表1所示:

表1 A、B的候選地址列表

5.2 判斷NAT類型,并進行連通性檢測

NAT類型的判斷根據(jù)STUN協(xié)議提出的NAT類型 檢測算法[12】,當(dāng)判斷出A、B兩端都是對稱型NAT時, 則直接對服務(wù)器中繼地址進行連通性檢測,而不需要 對本機地址、NAT映射地址作連通性檢測,此過程與 原ICE相比,減少了需要測試的地址對,縮短了連通性 測試時間。B的連通性檢測如圖2所示。

B在連通性檢測完成后,會給A發(fā)送一組應(yīng)答消 息,當(dāng)A收到來自B的應(yīng)答消息后,也開始執(zhí)行連通性 檢測,如圖3所示。

A、B雙方的連通性檢測完成后,就會得到一 條A、B通信的線路。A發(fā)送到B的媒體流將使用 地址132.177.123.5=5566:,然后ICE服務(wù)器通過 端口 8888轉(zhuǎn)發(fā)至B、而B到A的媒體流將發(fā)送至 132.177.123.5:8889,然后ICE服務(wù)器通過端口5566轉(zhuǎn) 發(fā)至A。

圖2 B的連通性檢測

圖3 A的連通性檢測

5.3 ICE附加過程

在測試TURN地址連通性的過程中,A、B雙方還 會收集中繼候選地址。A、B的ICE附加過程如圖4所示。

以上是基于改進后的ICE方式穿越雙方都在對稱 型NAT后的簡化過程。而基于改進后的ICE方式穿越 非對稱型NAT的過程則與原ICE方案類似。

6 優(yōu)化后ICE方案的實現(xiàn)

圖4 A、B的ICE附加過程

測試環(huán)境的搭建:服務(wù)器搭建在Ubumu系統(tǒng)上, 該服務(wù)器采用ICE技術(shù),結(jié)合了STUN和TURN服務(wù) 器的功能,同時在該服務(wù)器上安裝MySQL數(shù)據(jù)庫, 建立了sdpinfo、candidate、p2paddress這3張表,.分 別記錄SDP消息、候選地址和成功穿透后的地址對。 客戶端A、B在Windows系統(tǒng)上進行測試。A的內(nèi)網(wǎng)地 址是192.168.1.100,外網(wǎng)地址是218.0.4.145,B的內(nèi) 網(wǎng)地址是10.66.4.38,外網(wǎng)地址是202.107.195.199。 ICE服務(wù)器綁定了2個公網(wǎng)IP,地址是115.236.94.208 和115.236.94.209,其中STUN服務(wù)的端口使用3478和 3479, TURN服務(wù)的端口使用5566。

在測試過程中,根據(jù)數(shù)據(jù)庫中存儲的數(shù)據(jù)信息, 得出A、B的候選地址列表如表2所示:

表2 A、B的候選地址列表

然后A、B雙方進行NAT類型檢測,結(jié)果測出A 在對稱型NAT后,而B在受限錐形NAT后,根據(jù)改 進后的ICE方案,此時會讓A向B的NAT映射地址發(fā) 送消息,B記錄下這個地址,并作為A的最新NAT 映射地址,將應(yīng)答消息發(fā)送到這個最新的地址和端 口。此時A、B就建立了連接,也即完成了連通性測 試,實現(xiàn)了NAT穿越。最后雙方通信的地址對為: 218.0.4.145:65421< >202.107.195.199:53391..。

在實驗過程中,改進后的ICE實現(xiàn)了一方在對稱 型NAT后,而另一方在受限錐形NAT后時,不采用 TURN方式也可以穿越NAT、同時在實驗中,A、B雙 方并沒有對所有的地址進行連通性檢測,與原ICE方案 相比節(jié)省了一半的時間。

同時,對多種NAT情況下做實驗測試,并與原 ICE進行比較,測試結(jié)果如表3所示。

表3 原ICE與改進ICE的實驗對比

7 結(jié)束語

ICE方式與其他NAT穿越方式相比有較明顯的優(yōu) 勢,克服了其他穿越方式的單一局限性,能夠穿越 任何NAT、本文對ICE的改進主要體現(xiàn)在候選地址連 通性檢測和穿越對稱型NAT這2個方面。在連通性檢 測時,只要測試到一個可以互通的地址就產(chǎn)生應(yīng)答消息,同時針對一方位于對稱型NAT后,而另一方位于 對稱型NAT或端口限制型NAT后時,則只對中繼候選 地址進行連通性檢查,不對本機地址、NAT映射地址 作連通性檢查。在穿越對稱型NAT時,則根據(jù)NAT類 型的檢測,判斷出雙方是否都在對稱型NAT環(huán)境下, 再作出相應(yīng)的穿越方案,既避免了對稱型NAT卞完全采用TURN方式,同時又有效節(jié)省了連通性檢測時間。

[1] Srisuresh P, Holdrege M. RFC2663. IP Network Address Translator (NAT) Terminology and Considerations [S]. IETF, 1999.

[2]王健婷,趙霞,劉杰,等.基于P2PSIP的NAT穿透方法的研 究[J].北京工商大學(xué)學(xué)報,2008,5(5): 615-618.

[3] Rosenberg J, Schulzrinne H, Camarillo G, et al. RFC3261. SIP: Session Initiation Protocol[S]. IETF, 2002.

[4]梅小山.基于SIP的NAT穿越方案的研究與實現(xiàn)p].西 安:長安大學(xué),2009.

[5]朱光,張云華,盧娟.基于ICE的VoIP穿越NAT方案的研 究00.計算機應(yīng)用與軟件,2011,28(10): 223-224.

[6]曹申會.NAT穿越技術(shù)研究與實現(xiàn)[D].南京:南京郵電 大學(xué)’ 2013.

[7] Rosenberg J. RFC5245. Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Ofier/Answer Protocols[S]. IETF, 2010.

[8] Mandley M, Jacobson V,Perkins C. RFC4566. SDP: Session Description Protocol[S]. IETF, 2006.

[9]杜得榮,劉建明,李宏周,等.移動互聯(lián)網(wǎng)環(huán)境下SIP穿越 NAT的研究[J].微電子學(xué)與計算機,2013,30(7): 112113.

[10]曾立,吳平,高萬林,等.基于ICE方式SIP穿透Symmetric NAT技術(shù)研究[J].計算機工程與設(shè)計,2005,26(11): 3018-3019.

[11]劉磊.基于ICE方式的SIP穿越NAT技術(shù)的研究[D].天 津:天津大學(xué)’ 2007.

[12] Rosenberg J, Weinberger J, Huitema C, et al. RFC3489. STUN—Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)[S]. IETF, 2003.*

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數(shù)的乘除法”檢測題
“有理數(shù)”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 国产小视频免费| 国产人碰人摸人爱免费视频| 免费亚洲成人| 亚洲国产精品日韩欧美一区| 欧美日韩午夜| 欧美一区精品| 国产午夜精品一区二区三| 四虎永久在线精品国产免费| 五月综合色婷婷| 久久一色本道亚洲| 国产一在线| 亚洲va欧美va国产综合下载| 国产91丝袜在线播放动漫 | 亚洲黄色高清| 欧美日韩成人在线观看| 日韩国产另类| 亚洲欧美不卡| 国产jizzjizz视频| 国产91麻豆视频| 97影院午夜在线观看视频| 久久精品国产电影| 正在播放久久| 亚洲swag精品自拍一区| 白丝美女办公室高潮喷水视频| 国产高清在线精品一区二区三区| 国产簧片免费在线播放| 日本少妇又色又爽又高潮| www.av男人.com| 欧美日韩中文字幕二区三区| 波多野结衣AV无码久久一区| 日韩中文精品亚洲第三区| 伊人久久综在合线亚洲91| 91美女视频在线| 一本视频精品中文字幕| 超清无码一区二区三区| 日韩精品无码免费一区二区三区 | 伊人无码视屏| 国产成人无码播放| 91精品国产自产91精品资源| 久久成人免费| 国产精品综合久久久| 久久成人18免费| 在线观看精品自拍视频| 亚洲精品成人福利在线电影| 人妻丰满熟妇啪啪| 欧美精品亚洲日韩a| 在线看片国产| 国产69精品久久久久孕妇大杂乱 | 成人亚洲视频| 国产精品久久精品| 亚洲第一视频免费在线| 日韩精品免费一线在线观看| 婷婷色丁香综合激情| 亚洲精品久综合蜜| 在线毛片免费| 老司机精品99在线播放| 国产高清在线精品一区二区三区 | 91精品人妻一区二区| 色婷婷视频在线| 第一页亚洲| 91在线丝袜| 亚洲综合二区| 亚洲成肉网| 凹凸精品免费精品视频| 毛片免费在线视频| 国产熟女一级毛片| 亚洲美女久久| 欧美人与牲动交a欧美精品 | 91精品综合| 在线免费观看a视频| 四虎影视库国产精品一区| 久久久久亚洲AV成人网站软件| 亚洲国产天堂久久综合| 亚洲AV无码久久天堂| 高清色本在线www| 99热国产这里只有精品无卡顿"| 国产成人精品在线1区| 亚洲人成网站观看在线观看| 中文字幕欧美日韩| 日韩第九页| 亚洲精品无码抽插日韩| 亚洲三级a|