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

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

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

王夢杰口,何加銘

(1.寧波大學通信技術研究所,浙江寧波315211; 2.浙江省移動網應用技術重點實驗室,浙江寧波315211)

1 引言

NAT[1]已應用于各種網絡環境中,它是一種將 局域網IP地址轉換為公共IP地址的地址轉換技術[21。 NAT主要工作在網絡層,當報文在經過NAT設備時’ 應用層中包含的地址信息不做任何修改,只修改網絡 層和傳輸層中的報文信息,其中包含的地址信息也會 被修改。SIP協議是應用層協議,當SIP終端使用SIP信 令建立會話通信時,后續流媒體和信令的交互使用的 傳輸地址都是SIP[3]信令中描述的私網IP地址,而這個 私網IP地址不能在公網上進行路由,所以媒體通道不 能正常建立w。

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

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

2 NAT的類型和特點[6]

2.1 完全圓錐(Full Cone) NAT

內網主機從相同的IP地址和端口號發出的所有請 求都會被完全圓錐NAT映射成相同的外網IP地址和端 口號。同時,通過這個映射的外網IP地址和端口號, 任何外網主機都能夠向這個內網主機發送數據包。

2.2 受限圓錐(Restricted Cone) NAT

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

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

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

2.4 對稱型(Symmetric) NAT

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

3 ICE技術介紹

3.1 ICE簡介

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

3.2 ICE算法漸呈[910]

(1)候選地址信息收集

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

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

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

(3) 初始化消息創建

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

(4)響應處理

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

(5)連通性檢測

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

(6)附加ICE過程

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

(7) ICE到SIP的映射

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

4 ICE方案的優化

4.1 ICE的不足

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

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

4.2 ICE改進方法

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

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

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

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

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

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

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

5.1 候選地址收集

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

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

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

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

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

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

B在連通性檢測完成后,會給A發送一組應答消 息,當A收到來自B的應答消息后,也開始執行連通性 檢測,如圖3所示。

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

圖2 B的連通性檢測

圖3 A的連通性檢測

5.3 ICE附加過程

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

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

6 優化后ICE方案的實現

圖4 A、B的ICE附加過程

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

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

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

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

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

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

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

7 結束語

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

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

[2]王健婷,趙霞,劉杰,等.基于P2PSIP的NAT穿透方法的研 究[J].北京工商大學學報,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穿越方案的研究與實現p].西 安:長安大學,2009.

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

[6]曹申會.NAT穿越技術研究與實現[D].南京:南京郵電 大學’ 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]杜得榮,劉建明,李宏周,等.移動互聯網環境下SIP穿越 NAT的研究[J].微電子學與計算機,2013,30(7): 112113.

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

[11]劉磊.基于ICE方式的SIP穿越NAT技術的研究[D].天 津:天津大學’ 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 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數的乘除法”檢測題
“有理數”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 毛片手机在线看| 亚洲午夜福利在线| 自拍偷拍一区| 国产成人精品三级| 麻豆精品在线| 中文字幕66页| 国产在线视频自拍| 一级毛片免费观看不卡视频| 欧美日韩午夜视频在线观看| 国产簧片免费在线播放| 欧美性天天| 久草网视频在线| 国产精品流白浆在线观看| 国产精品思思热在线| 亚洲综合九九| 亚洲va在线∨a天堂va欧美va| 18禁色诱爆乳网站| 素人激情视频福利| 人妖无码第一页| 99久久免费精品特色大片| 欧美成人国产| 亚洲网综合| 91免费观看视频| 精品无码国产自产野外拍在线| 国产亚洲视频播放9000| 亚洲精品国产成人7777| 日韩经典精品无码一区二区| 97国产在线播放| 91美女视频在线| 国产成人做受免费视频| 色综合色国产热无码一| 最新国语自产精品视频在| 18禁影院亚洲专区| 性色一区| 中文字幕丝袜一区二区| 国产成人艳妇AA视频在线| 欧美五月婷婷| 久久综合九色综合97婷婷| 99在线免费播放| 亚洲一区二区三区麻豆| 成人精品免费视频| 67194成是人免费无码| 色哟哟国产成人精品| 亚洲国产91人成在线| 手机永久AV在线播放| 538国产在线| 成年女人a毛片免费视频| 免费aa毛片| 欧美日韩亚洲综合在线观看| 91国语视频| 毛片免费网址| 97狠狠操| 日本三级欧美三级| 综合天天色| 1769国产精品视频免费观看| 国内99精品激情视频精品| 真人高潮娇喘嗯啊在线观看| 久久亚洲国产一区二区| 国产美女91视频| 婷婷六月天激情| 久久精品无码中文字幕| 国模私拍一区二区| 国产aaaaa一级毛片| 亚洲永久精品ww47国产| 欧美啪啪网| 婷婷午夜影院| 欧美中文字幕在线视频| 国产乱子伦一区二区=| 亚洲精品天堂在线观看| 中文字幕 91| 日本日韩欧美| 亚洲一级毛片| 亚洲国产天堂久久九九九| 91在线免费公开视频| 色亚洲成人| 四虎永久免费在线| 国产又粗又猛又爽视频| 国产综合欧美| 国产69精品久久久久妇女| 亚洲第一成网站| 美女内射视频WWW网站午夜| 欧美亚洲激情|