燕東渭
(陜西省氣象信息中心,西安 710014)
近年來(lái),各行各業(yè)都在大力進(jìn)行有關(guān)大數(shù)據(jù)的應(yīng)用和研究,其中如何獲取外部門數(shù)據(jù)往往成為開(kāi)展大數(shù)據(jù)應(yīng)用,特別是跨部門數(shù)據(jù)融合應(yīng)用的關(guān)鍵。目前,陜西省氣象部門已經(jīng)得到了授權(quán),可以訪問(wèn)外部門覆蓋陜西全省的實(shí)景視頻信息。這些信息對(duì)于氣象部門開(kāi)展天氣實(shí)況服務(wù)、短時(shí)臨近預(yù)報(bào)預(yù)警以及預(yù)報(bào)服務(wù)評(píng)估等業(yè)務(wù)來(lái)說(shuō),都是非常寶貴的資源。但因?yàn)闆](méi)有項(xiàng)目和經(jīng)費(fèi)支撐,無(wú)法搭建通信專線,也無(wú)法購(gòu)置新的專用設(shè)備來(lái)完成共享數(shù)據(jù)的獲取。僅有的通道是互聯(lián)網(wǎng)和電子政務(wù)外網(wǎng)這樣的公網(wǎng)。因此,以陜西省氣象局和某省級(jí)部門為例,探討如何基于公網(wǎng),在不添置任何新網(wǎng)絡(luò)設(shè)備的條件下,實(shí)現(xiàn)跨部門視頻流數(shù)據(jù)的共享。
1.1.1 網(wǎng)絡(luò) 兩個(gè)部門互聯(lián)的網(wǎng)絡(luò)拓?fù)涫疽馊鐖D1,陜西省氣象局和對(duì)方都有各自的省級(jí)、市級(jí)局域網(wǎng)絡(luò)[1-2],省級(jí)網(wǎng)絡(luò)均通過(guò)硬件防火墻接入了公網(wǎng)。兩個(gè)防火墻(防火墻A和防火墻B)之間測(cè)試是暢通的,但是將兩個(gè)私網(wǎng)直接打通是不可能的。其中,對(duì)方WWW服務(wù)器布設(shè)在省級(jí)網(wǎng)絡(luò),幾個(gè)流媒體服務(wù)器分別在市級(jí)網(wǎng)絡(luò)。
圖1 兩個(gè)部門互聯(lián)網(wǎng)絡(luò)拓?fù)鋱D
1.1.2 數(shù)據(jù)共享 某省級(jí)部門的實(shí)景視頻服務(wù)對(duì)其內(nèi)部是借助一臺(tái)省級(jí)WWW服務(wù)器提供入口門戶的。內(nèi)部用戶使用瀏覽器點(diǎn)擊該WWW頁(yè)面上以樹(shù)形層次結(jié)構(gòu)呈現(xiàn)的所有視頻拍攝點(diǎn)位置名稱,即可查看相關(guān)的實(shí)景視頻。當(dāng)用戶點(diǎn)擊訪問(wèn)不同場(chǎng)所的視頻時(shí),底層是借助預(yù)裝在本地終端上的插件按照WWW服務(wù)器上的超鏈接信息(流媒體服務(wù)器IP,視頻設(shè)備ID,用戶名密碼等),實(shí)時(shí)連接對(duì)應(yīng)的一臺(tái)市級(jí)流媒體服務(wù)器,請(qǐng)求對(duì)應(yīng)場(chǎng)所的攝像設(shè)備,從而獲取實(shí)時(shí)信息。需要注意的是,此時(shí)該用戶的PC必須與對(duì)應(yīng)的市級(jí)流媒體服務(wù)器保持連通。其給陜西省氣象局提供的數(shù)據(jù)共享方式,僅僅是允許瀏覽該WWW服務(wù)器。
省氣象局得到訪問(wèn)該部門覆蓋陜西全省的實(shí)景視頻信息的許可只是單點(diǎn)的。為了更廣泛地發(fā)揮實(shí)景視頻信息的作用,還需保證省氣象局網(wǎng)內(nèi)全部用戶,或者至少部分用戶可以自如地訪問(wèn)到對(duì)方的WWW服務(wù)器和視頻資源。同時(shí),還需考慮不給氣象部門內(nèi)部用戶增加其他附加的操作,如臨時(shí)修改終端路由或安裝VPN客戶端等。
流媒體(streaming media)是在網(wǎng)絡(luò)上按時(shí)間先后順序傳輸和播放的連續(xù)音頻或視頻數(shù)據(jù)流。傳統(tǒng)方式瀏覽網(wǎng)絡(luò)上的視頻時(shí),須先將整個(gè)文件完整下載并存儲(chǔ)在本地后,才能播放。與傳統(tǒng)方式不同,流媒體服務(wù)允許用戶在播放前無(wú)需下載整個(gè)文件,只將部分內(nèi)容緩存,使媒體數(shù)據(jù)流邊傳送邊播放,這樣節(jié)省了下載等待時(shí)間,非常適合實(shí)時(shí)視頻的共享。這種服務(wù)有個(gè)前提,即用戶終端PC必須與流媒體服務(wù)器網(wǎng)絡(luò)連通,而不是經(jīng)過(guò)第三方中轉(zhuǎn)。
NAT(net address transfer)是網(wǎng)絡(luò)上常用的一種技術(shù),通過(guò)改變數(shù)據(jù)包的源IP或目的IP[3],進(jìn)而使本不符合路由規(guī)則的數(shù)據(jù)包變得符合規(guī)則而得以被轉(zhuǎn)發(fā)。擴(kuò)展的NAT技術(shù)還允許改變數(shù)據(jù)包的源端口或目的端口。該技術(shù)非常適合在內(nèi)外網(wǎng)節(jié)點(diǎn)處的設(shè)備上配置,進(jìn)而打通不同網(wǎng)絡(luò)。因此可利用NAT技術(shù),實(shí)現(xiàn)陜西省氣象局內(nèi)網(wǎng)上的PC終端像對(duì)方的內(nèi)部終端一樣自如地訪問(wèn)其視頻信息。具體實(shí)施方法:陜西省氣象局用戶訪問(wèn)對(duì)方視頻時(shí),在發(fā)出的數(shù)據(jù)包經(jīng)過(guò)陜西省氣象局的防火墻出口時(shí),將數(shù)據(jù)包的源IP修改成陜西省氣象局的防火墻外網(wǎng)口IP(公網(wǎng)IP),目標(biāo)IP也需要確保是對(duì)方的防火墻外網(wǎng)口IP(公網(wǎng)IP),這樣可以保證該數(shù)據(jù)包順利經(jīng)過(guò)公網(wǎng),到達(dá)對(duì)方的防火墻;隨后再進(jìn)行二次NAT,即將該數(shù)據(jù)包的目標(biāo)IP修改為對(duì)方服務(wù)器的真實(shí)IP,還需要將源IP修改為對(duì)方的防火墻內(nèi)網(wǎng)口IP。經(jīng)過(guò)兩次NAT后,即可保證數(shù)據(jù)包順利到達(dá)對(duì)方內(nèi)網(wǎng)中的目標(biāo)服務(wù)器。
除了上述復(fù)雜的NAT外,一些必要的訪問(wèn)控制規(guī)則也同樣需要考慮,如在陜西省氣象局的防火墻上允許轉(zhuǎn)發(fā)目標(biāo)IP是對(duì)方公網(wǎng)IP的數(shù)據(jù)包,在對(duì)方防火墻上增加允許轉(zhuǎn)發(fā)源IP是陜西省氣象局公網(wǎng)IP,目標(biāo)IP是對(duì)方WWW服務(wù)器IP的數(shù)據(jù)包,等等。此外還需要在陜西省氣象局核心交換機(jī)上增加對(duì)方網(wǎng)絡(luò)的靜態(tài)路由等。
按照上述技術(shù)方案,在陜西省氣象局防火墻上配置NAT,規(guī)則如表1。其中,第1條是將陜西省氣象局內(nèi)部網(wǎng)上所有訪問(wèn)對(duì)方WWW服務(wù)器(IP為61.2.2.249,服務(wù)端口為TCP8080)的數(shù)據(jù)包中源IP地址包裝成陜西省氣象局的公網(wǎng)IP。這樣可以保證該數(shù)據(jù)包能順利通過(guò)公網(wǎng)到達(dá)對(duì)方的防火墻,進(jìn)而進(jìn)入其內(nèi)部網(wǎng)絡(luò)。該規(guī)則是針對(duì)源IP的NAT。第2條是將陜西省氣象局內(nèi)部網(wǎng)上訪問(wèn)對(duì)方流媒體服務(wù)器A的數(shù)據(jù)包源IP地址包裝成陜西省氣象局的公網(wǎng)IP,不同的是該目標(biāo)服務(wù)器是對(duì)方A市的流媒體服務(wù)器,服務(wù)端口是TCP1200,而且該IP是對(duì)方服務(wù)器的真實(shí)IP。這條規(guī)則的目的同樣是保證該數(shù)據(jù)包能順利通過(guò)公網(wǎng)到達(dá)對(duì)方的內(nèi)部網(wǎng)絡(luò)。該規(guī)則是針對(duì)源IP和目的IP同時(shí)的NAT(終端用戶與流媒體服務(wù)器連接時(shí),必須用對(duì)方的真實(shí)IP)。第3條規(guī)則和第2條的作用類似,該規(guī)則針對(duì)的是另一個(gè)市級(jí)流媒體服務(wù)器B(IP是10.2.2.24,服務(wù)端口是TCP1200)的訪問(wèn)。對(duì)方給陜西省氣象局提供服務(wù)的公網(wǎng)IP(61.2.2.249)只有一個(gè),而對(duì)方幾個(gè)不同流媒體服務(wù)器的服務(wù)統(tǒng)一使用TCP1200端口。在第2條規(guī)則中,陜西省氣象局為了實(shí)現(xiàn)流媒體服務(wù)的轉(zhuǎn)發(fā),已經(jīng)占用了服務(wù)器端口TCP1200,故在第3條中暫時(shí)將目標(biāo)端口修改為TCP1230。為了保證數(shù)據(jù)包到達(dá)對(duì)方網(wǎng)絡(luò)后,能夠正常轉(zhuǎn)發(fā)到目標(biāo)服務(wù)端口上,在對(duì)方的防火墻上做反向NAT時(shí),及時(shí)把對(duì)端口TCP1230訪問(wèn)的數(shù)據(jù)包目標(biāo)端口恢復(fù)成TCP1200即可。該條規(guī)則同樣是針對(duì)源IP和目標(biāo)IP的雙向NAT。第4條規(guī)則和第3條類似,不再贅述。
表1 陜西省氣象局NAT規(guī)則
經(jīng)過(guò)上述一系列NAT后,陜西省氣象局內(nèi)網(wǎng)用戶向?qū)Ψ桨l(fā)出各種被授權(quán)的請(qǐng)求(WWW服務(wù)和流媒體服務(wù))數(shù)據(jù)包,均可順利通過(guò)公網(wǎng)轉(zhuǎn)發(fā)到對(duì)方的防火墻上。故還需要在對(duì)方防火墻上做一系列反向NAT,每一條規(guī)則都是陜西省氣象局防火墻上對(duì)應(yīng)規(guī)則的反向轉(zhuǎn)換。如,針對(duì)陜西省氣象局NAT第1條規(guī)則,在對(duì)方防火墻上應(yīng)該有一條將所有源IP是陜西省氣象局公網(wǎng)IP,訪問(wèn)服務(wù)是TCP8080的數(shù)據(jù)包進(jìn)行NAT:源IP轉(zhuǎn)換為對(duì)方防火墻內(nèi)網(wǎng)口IP,目標(biāo)IP轉(zhuǎn)換為對(duì)方提供WWW服務(wù)的真實(shí)IP。這樣,該數(shù)據(jù)包就會(huì)像對(duì)方內(nèi)部數(shù)據(jù)包一樣被正常轉(zhuǎn)發(fā)至WWW服務(wù)器。其他規(guī)則原理類似,不再贅述,具體見(jiàn)表2。需要特別指出的是,對(duì)方的WWW是省級(jí)服務(wù)器,布設(shè)在省級(jí)網(wǎng)絡(luò)區(qū)域,而其他的流媒體服務(wù)器有些在地市級(jí)的網(wǎng)絡(luò)區(qū)域部署。因此,為了保證陜西省氣象局對(duì)所有市級(jí)流媒體正常訪問(wèn),就必須保證對(duì)方防火墻的內(nèi)網(wǎng)口與其所有地市級(jí)流媒體服務(wù)器暢通。這可能需要對(duì)方網(wǎng)絡(luò)管理技術(shù)人員配合完成相關(guān)的路由打通工作。
表2 某省級(jí)部門NAT規(guī)則
按照上述技術(shù)方案在雙方的公網(wǎng)防火墻設(shè)備上實(shí)施配置后,在陜西省氣象局授權(quán)的內(nèi)部網(wǎng)上,用戶安裝必要的插件,并經(jīng)過(guò)相關(guān)身份認(rèn)證后,便可順暢地訪問(wèn)對(duì)方的實(shí)時(shí)視頻信息,達(dá)到預(yù)想效果。目前可以借助該部門覆蓋陜西全省的實(shí)景視頻信息及時(shí)掌握陜西省多地的天氣實(shí)況,極大地提升了氣象防災(zāi)減災(zāi)的效率。