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