美章網(wǎng) 資料文庫 移動(dòng)互聯(lián)網(wǎng)多媒體傳輸技術(shù)研究范文

移動(dòng)互聯(lián)網(wǎng)多媒體傳輸技術(shù)研究范文

本站小編為你精心準(zhǔn)備了移動(dòng)互聯(lián)網(wǎng)多媒體傳輸技術(shù)研究參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

移動(dòng)互聯(lián)網(wǎng)多媒體傳輸技術(shù)研究

《數(shù)字技術(shù)與應(yīng)用雜志》2014年第六期

1基于P2P網(wǎng)絡(luò)的UDP穿透

由圖1可以看出,網(wǎng)絡(luò)傳輸模塊在系統(tǒng)中占用重要地位。網(wǎng)絡(luò)傳輸模塊的穩(wěn)定性、實(shí)時(shí)性,直接影響著用戶體驗(yàn)。因此,網(wǎng)絡(luò)模塊的設(shè)計(jì)與實(shí)現(xiàn),尤其是在移動(dòng)互聯(lián)網(wǎng)環(huán)境下的穩(wěn)定性和實(shí)時(shí)性,是每個(gè)互聯(lián)網(wǎng)絡(luò)應(yīng)用需要重點(diǎn)關(guān)注并解決的問題。由上述系統(tǒng)分析可知,網(wǎng)絡(luò)模塊主要包含兩部分:(1)信令傳輸模塊。信令傳輸模塊完成用戶注冊、登錄、邀請、P2P穿透信息的傳輸。這些協(xié)議與相應(yīng)的業(yè)務(wù)流程有著密切關(guān)系,因此要求傳輸可靠性,但實(shí)時(shí)性可以適當(dāng)放寬。因而這一模塊采用TCP協(xié)議完成。(2)媒體數(shù)據(jù)傳輸模塊。媒體數(shù)據(jù)傳輸模塊完成雙方音視頻數(shù)據(jù)交互。用戶建立通訊連接后,對媒體數(shù)據(jù)的實(shí)時(shí)性就有很高的期望,而穩(wěn)定性可以適當(dāng)降低(即容忍一定丟包率)。而由于TCP協(xié)議本身特性限制并不能滿足實(shí)時(shí)性的要求,因此UDP傳輸則成為媒體數(shù)據(jù)的首先傳輸協(xié)議。而兩個(gè)客戶端在通訊前一般處于各自的內(nèi)網(wǎng)環(huán)境(NAT),通訊時(shí)需要經(jīng)過各自的路由器到達(dá)外網(wǎng),然后傳送到目的地。如果兩端的路由器通過某種方式可以直接連接并通訊,即為穿透。穿透的主要工作是客戶端在兩端的路由之間建立彼此的映射,傳輸時(shí)直接通過路由發(fā)往至另一端的路由。

1.1NAT[1]簡介隨著互聯(lián)網(wǎng)絡(luò)及各種聯(lián)網(wǎng)終端的迅速發(fā)展,絕大多數(shù)家庭及企事業(yè)單位的用戶都有上網(wǎng)需求,導(dǎo)致IP地址及路由急劇膨脹。但是,現(xiàn)行的IPV4協(xié)議使用公有的32bit的IP地址空間(雖然IPV6標(biāo)準(zhǔn)早已提出,但總體推進(jìn)進(jìn)度卻依然緩慢),使得公有IP地址遠(yuǎn)遠(yuǎn)不能滿足快速發(fā)展的網(wǎng)絡(luò)需求。NAT技術(shù)的合理使用能夠在在IPV4協(xié)議的基礎(chǔ)上,很好的解決這個(gè)問題。NAT的最初設(shè)計(jì)目的是用來增加似有組織可用地址控件和解決將現(xiàn)有的私有網(wǎng)絡(luò)(通俗的講就是大家熟知的局域網(wǎng)、內(nèi)網(wǎng))連接到互聯(lián)網(wǎng)上的問題。互聯(lián)網(wǎng)撥號(hào)機(jī)構(gòu)(IANA)將地址劃分為公有IP地址和私有IP地址,公有IP地址是指在因特網(wǎng)上全球唯一的IP地址,而私有IP地址是指只能作為內(nèi)部網(wǎng)絡(luò)撥號(hào)使用,不能在互聯(lián)網(wǎng)絡(luò)上直接使用,因此可以不必向ISP或注冊中心申請。RFC1918為私有網(wǎng)絡(luò)預(yù)留除了三個(gè)IP地址段,如下[2]:A類:10.0.0.0~10.255.255.255;B類:172.16.0.0~172.31.255.255;C類:192.168.0.0~192.168.255.255

1.1.1NAT原理簡單的說,NAT(NetworkAddressTranslation,網(wǎng)絡(luò)地址轉(zhuǎn)換)是將IP數(shù)據(jù)包頭中的IP地址轉(zhuǎn)換為另一個(gè)IP地址的過程,它可以在路由器、防火墻或者單獨(dú)的NAT設(shè)備等多種網(wǎng)絡(luò)設(shè)備上進(jìn)行配置,能夠有效解決IP地址不足的問題。如圖2.1所示,NAT的工作流程簡單大致有四個(gè)步驟[3]:第1步:網(wǎng)絡(luò)終端設(shè)備的網(wǎng)關(guān)設(shè)定為NAT主機(jī),當(dāng)其需要連上Internet的時(shí)候,網(wǎng)絡(luò)終端設(shè)備上的協(xié)議包就會(huì)被發(fā)送到NA主機(jī),這個(gè)時(shí)候的協(xié)議包頭的源IP地址信息為10.0.0.172:80;第2步:透過NAT主機(jī),將網(wǎng)絡(luò)終端設(shè)備的對外協(xié)議包的IP地址信息(10.0.0.172:80)修改成NAT設(shè)備所具有的公共IP地址信息,因?yàn)槭枪睮P,所以這個(gè)封包就可以連上Internet了,同NAT主機(jī)并且會(huì)記憶這個(gè)協(xié)議包是由哪一個(gè)(10.0.0.172:80)終端設(shè)備傳送來的;第3步:由Internet傳送回來的協(xié)議包,由NAT主機(jī)接收到了,這個(gè)時(shí)候,NAT主機(jī)會(huì)去查詢原本記錄的IP地址信息,并將目標(biāo)IP信息由公共IP改回原來的10.0.0.172:80;第4步:最后則由NAT主機(jī)將協(xié)議包傳送給原先發(fā)送封包的網(wǎng)絡(luò)終端。

1.1.2NAT的分類根據(jù)NAT對內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)限制程度來看,可將NAT分為以下幾種類型:(1)完全錐形(FullCone):在一個(gè)完全錐形NAT中,所有從同一個(gè)內(nèi)部IP地址和端口過來的請求都被映射到同一個(gè)外部IP和端口,此外,任務(wù)外部主機(jī)可以通過映射在NAT上的外部地址發(fā)包給內(nèi)部主機(jī)。(2)受限錐形(RestrictedCone):在一個(gè)受限錐形NAT,同樣所有從同一個(gè)內(nèi)部IP和端口發(fā)出的請求都會(huì)被映射到同一個(gè)外部IP和端口,但有完全錐形NAT不同,只有內(nèi)部主機(jī)向其發(fā)送過包的外部主機(jī)才可以對這個(gè)內(nèi)部主機(jī)發(fā)包。(3)端口受限錐形(PortRe-strictedCone):與受限錐形NAT類似,但是增加了對端口的限制,如內(nèi)部主機(jī)向一個(gè)IP為X和端口為P的外部主機(jī)發(fā)送過包,那么只有從這個(gè)主機(jī)的IP為X端口為P發(fā)出的包才能被發(fā)送到內(nèi)部主機(jī)上去。(4)對稱(Symmetric):在一個(gè)對稱NAT上,從同一個(gè)內(nèi)部主機(jī)的IP和端口發(fā)送到某個(gè)目標(biāo)IP和端口的所有請求會(huì)被映射到同一個(gè)外部IP和端口上,如果同一個(gè)內(nèi)部主機(jī)從同一個(gè)源IP和端口發(fā)送到不同的目標(biāo)主機(jī)時(shí),會(huì)被映射到不同的外部端口上去。另外,只有收到過包的外部主機(jī)才能發(fā)送包給內(nèi)部主機(jī)。

1.2基于UDP的P2P傳輸限制由3.1節(jié)分析可知,處于不同內(nèi)網(wǎng)間的用戶之前需要通訊,其地址必須通過各自NAT設(shè)備轉(zhuǎn)換成公有IP。然而,如圖2.2,NAT設(shè)備之間也并不知道目標(biāo)設(shè)備的內(nèi)網(wǎng)IP地址對應(yīng)的公有IP地址信息,因此還是無法直接將發(fā)給對方,因此,通常的設(shè)計(jì)還會(huì)有一個(gè)具有公有IP的中轉(zhuǎn)服務(wù)器,雙方的數(shù)據(jù)有NAT發(fā)送給中轉(zhuǎn)服務(wù)器,由中轉(zhuǎn)服務(wù)器分發(fā)給雙方。因此,由NAT的分類介紹及圖2.2分析可知,限制基于UDP的P2P傳輸?shù)脑驘o外乎兩個(gè):(1)終端設(shè)備A和終端設(shè)備B之間在連接建立之前,并不知道對方的公有IP信息(NAT轉(zhuǎn)后的公有IP信息)。(2)NAT設(shè)備對內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)限制。

1.3UDP穿透方案實(shí)現(xiàn)要實(shí)現(xiàn)處于兩個(gè)不同內(nèi)網(wǎng)之間用戶之間的UDP直連,就必須突破3.2節(jié)中所提到的限制:獲取公有IP信息及規(guī)避NAT對內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)限制,這一過程通常被稱作UDP穿透或者UDP打洞技術(shù),其系統(tǒng)流程如圖2.3。流程說明:(1)NAT端口映射:在NATA,NATB路由上建立客戶端音視頻的端口,以此端口進(jìn)行P2P傳輸,共包括音頻和視頻兩組數(shù)據(jù)。(2)附帶的NAT映射信息包括:客戶端IP地址及音視頻端口。客戶端NAT的IP地址及在NAT上映射的音視頻端口。(3)連接測試:客戶端向?qū)Ψ桨l(fā)送測試信息,對方收到后立即返回給發(fā)送方。如果在一定時(shí)間內(nèi)收到自己的測試信息并且收到對方的測試信息,測試通過,否則失敗。

1.3.1UPnP及STUNUPnP是即插即用技術(shù)在網(wǎng)絡(luò)環(huán)境中的擴(kuò)展,他通過用戶控制點(diǎn)向NAT設(shè)備發(fā)送控制信息添加端口映射的方式實(shí)現(xiàn)NAT穿透。UPnP不需要對現(xiàn)有設(shè)備進(jìn)行改造,但要求集成NAT功能的網(wǎng)關(guān)或路由器支持UPnP功能。目前大多數(shù)網(wǎng)關(guān)都支持UPnP,因而我們可以首先嘗試UPnP方式進(jìn)行穿透,但也不排除部分網(wǎng)絡(luò)環(huán)境下不支持UPnP,所以還需結(jié)合其他穿透技術(shù)才能達(dá)成目標(biāo)[4]。miniupnpc[5]是基于UPnP開發(fā)的開源項(xiàng)目,其實(shí)現(xiàn)了搜索局域網(wǎng)中所有的UPNP設(shè)備、根據(jù)指定設(shè)備和外網(wǎng)端口獲得內(nèi)網(wǎng)信息、根據(jù)指定設(shè)備獲得外網(wǎng)IP地址、根據(jù)指定設(shè)備,獲取連接類型等功能,非常方便基于UPnP穿透應(yīng)用。STUN(SimpleTraversalofUDPoverNATs)采用另外一種死了實(shí)現(xiàn)NAT穿透:內(nèi)網(wǎng)中的主機(jī)通過位于外網(wǎng)具有公有IP信息的穿透服務(wù)器預(yù)先獲取自己出口NAT上對應(yīng)的外網(wǎng)IP信息,然后在與其他節(jié)點(diǎn)通訊時(shí)直接使用該外網(wǎng)IP信息自己的通訊地址[6]。RFC3489詳細(xì)介紹了STUN協(xié)議及處理流程,當(dāng)然,人們也可以根據(jù)STUN思想自行實(shí)現(xiàn)穿透流程。

1.3.2UDP穿透測試由NAT分類可知,外部網(wǎng)絡(luò)終端需要訪問處于NAT內(nèi)的網(wǎng)終端,必須滿足一定的條件。因此,當(dāng)內(nèi)網(wǎng)終端獲取到NAT出口公有IP信息后,必須相互發(fā)起UDP穿透測試,以滿足NAT向內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)的要求。NAT分類中的完全錐形、受限錐形和端口受限錐形都屬于靜態(tài)端口分配類型,即所有同一個(gè)內(nèi)網(wǎng)IP和端口的請求都會(huì)被映射到同一個(gè)外部IP和端口,不同的只是NAT在向內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)時(shí)是否需要由內(nèi)網(wǎng)終端首先主動(dòng)發(fā)起連接。而對稱型NAT則是動(dòng)態(tài)端口分配類型,即同一個(gè)內(nèi)網(wǎng)IP和端口發(fā)往不同的IP和端口時(shí),會(huì)被映射到不同的外網(wǎng)IP和端口。UDP穿透測試流程如圖2.4。

1.3.3UDP穿透實(shí)現(xiàn)由于目前大部分NAT設(shè)備已經(jīng)支持UPnP,因此我們采取UPnP及STUN雙重方案,以提高UDP穿透成功率,具體實(shí)現(xiàn)流程如圖2.5。(1)UPnP檢測接口。1)首先調(diào)用upnpDiscover啟動(dòng)搜索局域網(wǎng)中所有的UPNP設(shè)備;2)然后調(diào)用UPNP_GetValidIGD()在UPNP列表中查看有效IGD設(shè)備,其返回值含義為:=0沒有IGD設(shè)備;=1有一個(gè)連接;=2有設(shè)備但沒有連接;=3有UPNP但不是ICG設(shè)備;3)如果返回1,則調(diào)用UPNP_AddPortMapping將內(nèi)外IP,port在路由器上做一個(gè)映射;4)映射成功后,則UPnP檢測流程結(jié)束。(2)UDP穿透實(shí)現(xiàn)流程。1)用戶登錄控制服務(wù)器并向控制服務(wù)器發(fā)送UDP心跳包,服務(wù)器收到后將映射信息通過TCP轉(zhuǎn)發(fā)給對方;2)在收到對方映射信息前,必須保持向控制服務(wù)器發(fā)送UDP包,以維持映射信息;3)收到對方映射信息后,開始向?qū)Ψ絇ort及Port+1端口發(fā)送UDP測試數(shù)據(jù),并通知控制服務(wù)器已經(jīng)開始UDP測試,控制服務(wù)器將該信令轉(zhuǎn)發(fā)給對方;4)當(dāng)對方也啟動(dòng)UDP測試后,啟動(dòng)超時(shí)定時(shí)器;5)在超時(shí)時(shí)間內(nèi),是否收到對方UDP響應(yīng),如收到,則測試成功,否則測試失敗;6)UDP穿透測試過程中,一般需要雙方同時(shí)向?qū)Ψ桨l(fā)送UDP測試包,為避免因映射信令通過TCP傳輸而造成的啟動(dòng)UDP測試不同步,我們在收到雙方的啟動(dòng)測試通知后,才啟動(dòng)超時(shí)定時(shí)器,以避免一方已經(jīng)測試超時(shí),而另一方則還沒有開始測試的問題。具體流程圖如圖2.6。

2UDP+CDN中轉(zhuǎn)

雖然UDP穿透技術(shù)能夠解決大部分NAT直連障礙,但是依然存在穿透失敗的可能,尤其對于這三種情況不能直接用P2P穿透,它們分別是通信兩端都是對稱路由,通信一方是對稱路由另一方是端口限制路由,或者通信兩端在同一個(gè)路由下,而路由不支持回環(huán)。因此,在UDP穿透失敗情況下需要服務(wù)器轉(zhuǎn)發(fā)。在中轉(zhuǎn)模式下,大部分延時(shí)時(shí)間發(fā)生在終端與服務(wù)器之間,尤其是在移動(dòng)互聯(lián)網(wǎng)環(huán)境中,由于跨IDC運(yùn)營商等問題,可能為中轉(zhuǎn)模式帶來更大的傳輸延時(shí)。因此,從客戶端到中轉(zhuǎn)服務(wù)器之間,我們?nèi)匀皇褂肬DP傳輸協(xié)議。而在跨IDC之間,則使用TCP轉(zhuǎn)發(fā)模式。跨IDC間的TCP轉(zhuǎn)發(fā),理論上可以在每個(gè)運(yùn)營商機(jī)房建立一個(gè)中轉(zhuǎn)服務(wù)器,但是這樣所帶來的資源消耗非常巨大,因此我們目前較為成熟的CDN(ContentDeliveryNetwork,即內(nèi)容分發(fā)網(wǎng)絡(luò))技術(shù),以解決不同地區(qū)、不同IDC之間傳輸不穩(wěn)定的問題。CDN是一種新型網(wǎng)絡(luò)內(nèi)容服務(wù)體系,其基于IP網(wǎng)絡(luò)而構(gòu)建,基于內(nèi)容訪問與應(yīng)用的效率要求、質(zhì)量要求和內(nèi)容秩序而提供內(nèi)容的分發(fā)和服務(wù)。而從廣義的角度,CDN代表了一種基于網(wǎng)絡(luò)而構(gòu)建的高質(zhì)量、高效率、具有鮮明網(wǎng)絡(luò)秩序的網(wǎng)絡(luò)應(yīng)用服務(wù)模式。CDN系統(tǒng)能夠?qū)崟r(shí)地根據(jù)網(wǎng)絡(luò)流量和各節(jié)點(diǎn)的連接、負(fù)載狀況以及到用戶的距離和響應(yīng)時(shí)間等綜合信息將用戶的請求重新導(dǎo)向離用戶最近的服務(wù)節(jié)點(diǎn)上。其目的是使用戶可就近取得所需內(nèi)容,解決Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問網(wǎng)站的響應(yīng)速度。UDP+CDN中轉(zhuǎn)模式如圖3。

3結(jié)語

通過UDP穿透及UDP+CDN轉(zhuǎn)發(fā)模式,系統(tǒng)較好的解決了基于移動(dòng)互聯(lián)網(wǎng)的多媒體交互實(shí)時(shí)性和穩(wěn)定性的矛盾。當(dāng)然,由于系統(tǒng)中使用UDP傳輸協(xié)議以最大程度的到達(dá)實(shí)時(shí)性要求,而UDP協(xié)議本身是不可靠傳輸協(xié)議,存在一定丟包概率。在實(shí)際測試過程中,同一個(gè)內(nèi)網(wǎng)之間基本不會(huì)出現(xiàn)丟包現(xiàn)象,而同一個(gè)運(yùn)營商之間丟包率在3%以內(nèi),不同運(yùn)營商之間丟包率在5-7%之間,但這并不會(huì)影響用戶體驗(yàn)。

作者:陳小平單位:深圳深訊和科技有限公司

主站蜘蛛池模板: 大胸年轻的女教师5中字| 曰批免费视频播放免费| 又黄又爽又猛大片录像| 久久五月激情婷婷日韩| 国语free性xxxxxhd| 一本色道久久鬼综合88| 日本久久久久久久| 亚洲av无码一区二区三区不卡| 波多野结衣医生| 八区精品色欲人妻综合网| 色综合久久综合欧美综合图片| 国产无套粉嫩白浆在线观看| 777米奇影视第四色| 天堂√在线中文最新版| 一级做性色a爰片久久毛片免费| 日日夜夜精品视频| 久久精品国产亚洲AV蜜臀色欲| 欧美性受xxxx白人性爽| 亚洲精品乱码久久久久久自慰| 男男强行扒开小受双腿进入文| 啊灬用力啊灬啊灬快灬深| 超污视频在线观看| 国产女主播喷水视频在线观看| 你懂的国产视频| 国产视频手机在线观看| a在线视频免费观看| 婷婷开心中文字幕| 两个丫头稚嫩紧窄小说| 无码精品人妻一区二区三区av| 久久精品人人爽人人爽| 最近中文字幕在线mv视频在线| 亚洲小视频在线| 没带罩子让老师捏了一节课| 免费一级毛片在线播放傲雪网| 精品无码黑人又粗又大又长| 国产99久久亚洲综合精品| 蜜桃精品免费久久久久影院| 国产在线高清视频无码| 韩国一区二区视频| 国产日产成人免费视频在线观看| 色爱区综合激情五月综合激情|