朱 亮
[摘要]描述一種新型的可編程網(wǎng)絡體系結(jié)構(gòu)主動網(wǎng)絡。它可以根據(jù)網(wǎng)絡應用和服務的要求,對網(wǎng)絡進行編程,因而大大加快了新網(wǎng)絡應用和服務的實現(xiàn)。介紹主動網(wǎng)絡的概念和體系結(jié)構(gòu),探討了三種有代表性的主動網(wǎng)絡方案以及主動網(wǎng)絡的應用研究。
[關(guān)鍵詞]主動網(wǎng)絡 體系結(jié)構(gòu)
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0520070-02
一、問題的提出
隨著計算機網(wǎng)絡的迅速發(fā)展,層出不窮的各種新型應用向計算機網(wǎng)絡提出了新的挑戰(zhàn)。新的應用對網(wǎng)絡業(yè)務提出了更高的要求,不僅要求更好的服務質(zhì)量,同時要求新的網(wǎng)絡
業(yè)務的出現(xiàn)。一些網(wǎng)絡業(yè)務可以以現(xiàn)有的網(wǎng)絡體系為基礎(chǔ),在端系統(tǒng)中實現(xiàn),但大量的一些新的網(wǎng)絡應用對網(wǎng)絡層功能提出了更高的要求,如多媒體應用所需的IP多播業(yè)務和RSVP業(yè)務。按照IP網(wǎng)絡的分層體系結(jié)構(gòu),鏈路層和應用層由于影響范圍的有限,可以迅速地采用新技術(shù)和引進新的應用。而網(wǎng)絡層是不同鏈路層技術(shù)以及高層應用之間相互交互的基礎(chǔ),一個新的網(wǎng)絡協(xié)議從制定到大規(guī)模使用需要經(jīng)歷一個漫長的標準化和實施過程。同時IP包的固定格式使其很難滿足不同網(wǎng)絡應用對不同網(wǎng)絡業(yè)務定制的要求,缺乏必要的靈活性。因此,網(wǎng)絡層成為網(wǎng)絡
新業(yè)務實現(xiàn)的瓶頸。
二、主動網(wǎng)絡概述
主動網(wǎng)絡(ActiveNetwork)概念是由美國國防部高級防御研究計劃管理局(DARPA)在1995年提出的作為一種新型網(wǎng)絡體系結(jié)構(gòu),它賦予網(wǎng)絡中間節(jié)點一定的可編程能力,使用戶可以根據(jù)需要定制網(wǎng)絡,與傳統(tǒng)的網(wǎng)絡結(jié)構(gòu)相比,主動網(wǎng)絡更加靈活,它可以為網(wǎng)絡協(xié)議、網(wǎng)絡服務的快速升級和部署提供簡單的網(wǎng)絡平臺。主動網(wǎng)絡中包含許多由各種可能的網(wǎng)絡技術(shù)連接起來的網(wǎng)絡節(jié)點,這些網(wǎng)絡節(jié)點并不一定都是主動節(jié)點。
主動網(wǎng)絡的主動性體現(xiàn)在兩個方面:一是被稱為主動節(jié)點的網(wǎng)絡中間節(jié)點(如路由器、交換機等),在每一個主動節(jié)點上都運行有節(jié)點操作系統(tǒng)(NodeoperatingSystem)和一個或多個執(zhí)行環(huán)境(ExecutionEnvironme
Nts)。節(jié)點操作系統(tǒng)負責分配和調(diào)度節(jié)點的資源,包括鏈路帶寬、周期CPU和存儲器等。每一個執(zhí)行環(huán)境實現(xiàn)了一個虛擬機來解釋到達本節(jié)點的主動分組,不同的執(zhí)行環(huán)境實現(xiàn)的是不同的虛擬機。用戶通過主動應用(ActiveApplications)來獲得主動網(wǎng)絡提供的服務,主動應用通過對執(zhí)行環(huán)境提供的虛擬機進行編程定制提供端到端的服務。它們不僅完成存儲轉(zhuǎn)發(fā)等網(wǎng)絡級的功能,而且可以對包含數(shù)據(jù)和程序的所謂主動包進行計算;具有計算能力的網(wǎng)絡節(jié)點從數(shù)據(jù)包接收后執(zhí)行相應的程序,對該數(shù)據(jù)包進行處理(如路由選擇、數(shù)據(jù)合并、數(shù)據(jù)解包等),然后將數(shù)據(jù)包發(fā)送給其他網(wǎng)絡節(jié)點;二是用戶根據(jù)網(wǎng)絡應用和服務的要求可以對網(wǎng)絡進行編程以完成這些計算??删幊痰木W(wǎng)絡為今后的應用提供了更多的新途徑,而這對傳統(tǒng)網(wǎng)絡來說是不可想象的。簡單地說,主動網(wǎng)絡是一種可編程的分組交換網(wǎng)絡,通過各種主動技術(shù)和移動計算技術(shù),使傳統(tǒng)網(wǎng)絡從被動的字節(jié)傳送模式向更一般化的網(wǎng)絡計算模式轉(zhuǎn)換,提高網(wǎng)絡傳輸速度、動態(tài)定制及網(wǎng)絡新服務的能力。
三、主動網(wǎng)絡的體系結(jié)構(gòu)
DARPA定義了一個通用的主動網(wǎng)絡體系結(jié)構(gòu),它包括一組通過不同網(wǎng)絡技術(shù)連接的主動網(wǎng)絡節(jié)點,每個主動節(jié)點運行一個節(jié)點操作系統(tǒng)和多個執(zhí)行環(huán)境。
主動網(wǎng)絡體系結(jié)構(gòu)的關(guān)鍵在于主動節(jié)點(AN,ActiveNede)的體系結(jié)構(gòu),因為主動分組的執(zhí)行都是在主動節(jié)點上進行的。DARPA所提出的主動節(jié)點體系結(jié)構(gòu)對數(shù)據(jù)包的處理流程進行了描述。在這當中,用戶可以根據(jù)主動網(wǎng)絡提供的服務按照自己的需要來進行定制。主動網(wǎng)絡工作組提出的主動節(jié)點的邏輯體系結(jié)構(gòu)包括三個部分:即主動應用AA(Aetive Applieatio
n),執(zhí)行環(huán)境EE(Exeeutive Environment)和節(jié)點操作系統(tǒng)Nodeos困odeOperatinnSystem)。節(jié)點操作系統(tǒng)類似于一般操作系統(tǒng)的內(nèi)核,通過固定的端口,提供資源,為執(zhí)行環(huán)境進行服務。執(zhí)行環(huán)境實際上是一個與平臺無關(guān)的可編程空間,多個執(zhí)行環(huán)境可以運行在同一個主動節(jié)點上。執(zhí)行環(huán)境為上層應用提供了各種各樣的網(wǎng)絡編程接口,用戶通過執(zhí)行環(huán)境訪問節(jié)點資源。主動應用是一系列用戶定義的程序,在主動節(jié)點上運行,來完成相應的功能。主動節(jié)點的體系結(jié)構(gòu)如圖1所示。
節(jié)點操作系統(tǒng)(Node0S)Node0S提供了執(zhí)行環(huán)境所賴以生存的基本功能,它管理主動節(jié)點的資源(如傳輸、計算、存儲等),并且在資源之間進行協(xié)調(diào)。
執(zhí)行環(huán)境(EE)包括兩部分:支持主動代碼運行的虛擬機和主動網(wǎng)絡用戶可訪問的編程接口。在通常情況下,主動代碼的執(zhí)行都會帶來執(zhí)行環(huán)境和主動節(jié)點的狀態(tài)改變,也可能會導致執(zhí)行環(huán)境發(fā)出其它包。
主動應用(AA)是在特定EE中運行的,實現(xiàn)某種特定用戶業(yè)務的可執(zhí)行代碼。一個主動應用AA由一段程序代碼(主動代碼)和與主動代碼相關(guān)的數(shù)據(jù)、狀態(tài)參數(shù)等組成。通過EE對AA的調(diào)用和執(zhí)行可以實現(xiàn)用戶定制的網(wǎng)絡服務。
四、有代表性的主動網(wǎng)絡方案探討
(一)ANTS
ANTS是1996年由MIT的David發(fā)展起來的。它是基于PC硬件,在Linux、Solaris操作系統(tǒng)平臺上開發(fā)的,執(zhí)行環(huán)境(EE)采用了JDKI.2,ANTS單元和ANTS代碼使用JAVA語言。ANTS以移動代碼、動態(tài)載入和緩存技術(shù)為基礎(chǔ),是構(gòu)建和動態(tài)部署網(wǎng)絡協(xié)議的工具。實現(xiàn)該系統(tǒng)的三個主要構(gòu)件包括膠囊(主動分組)、主動節(jié)點和代碼分配機制。
ANTS主動網(wǎng)絡結(jié)構(gòu),為了避免重新為相關(guān)分組裝載代碼,ANTS節(jié)點Cache緩存最近使用的代碼。在ANTS中,分組被稱為一個單元,該單元傳輸和代碼相關(guān)的參數(shù)。如果一個含有相關(guān)代碼的分組通過節(jié)點時,節(jié)點先用分組的參數(shù)值初始化代碼,然后再執(zhí)行這些代碼。反之,如果這些代碼不在這個節(jié)點上,這個節(jié)點將向最近的上游節(jié)點請求代碼。ANTS設(shè)計的目的是革新網(wǎng)絡協(xié)議,它比現(xiàn)有的網(wǎng)絡更有靈活的革新形式,具體體現(xiàn)在:(1)網(wǎng)絡節(jié)點必須同時支持提供各種服務的網(wǎng)絡協(xié)議。(2)結(jié)構(gòu)必須支持動態(tài)布置新的協(xié)議,不會因為給節(jié)點配置新協(xié)議而必須離線操作。(3)只要雙方同意,則不同的應用可將其特定的協(xié)議引入到網(wǎng)絡層,從而將本應端節(jié)點完成的處理推入到網(wǎng)絡由中間節(jié)點處理,這樣用戶可定制自己的網(wǎng)絡環(huán)境,可網(wǎng)絡結(jié)構(gòu)進行編程,而不像在傳統(tǒng)的網(wǎng)絡環(huán)境下需要經(jīng)過協(xié)議標準化、產(chǎn)品化、整個網(wǎng)絡用戶配置這樣一個漫長的過程。
(二)PAN
在ANTS之后,麻省理工大學又開發(fā)出了PAN(Practical Active Network)主動網(wǎng)絡系統(tǒng),用于實現(xiàn)可實際使用的基于膠囊的主動網(wǎng)絡。PAN的體系結(jié)構(gòu)與ANTS非常類似,但它的性能更適于實際的應用。PAN為建立實際主動網(wǎng)絡提供了一個基礎(chǔ),PAN目標是提供一個執(zhí)行移動代碼的執(zhí)行環(huán)境并取得與傳統(tǒng)網(wǎng)絡可以相媲美的性能。PAN通過四種方法取得性能;在內(nèi)核中處理單元;減少數(shù)據(jù)復制;緩存代碼為立即執(zhí)行;為單元提供靈活執(zhí)行環(huán)境。PAN的體系結(jié)構(gòu)可以支持多種移動代碼系統(tǒng)。處理單元在內(nèi)核,而不是在用戶層,一個PAN節(jié)點避免復制數(shù)據(jù)在內(nèi)核空間與用戶空間之間。提供一致內(nèi)存管理系統(tǒng),PAN試用一種與ANTS相似的主動網(wǎng)絡結(jié)構(gòu),一個膠囊含有要傳輸?shù)臄?shù)據(jù)和指向代碼對象的指針,代碼分配機制和ANTS一樣。
(三)Switchware
Switchware系統(tǒng)是Pennsylvania大學研究和發(fā)展起來的。它是通過離散方式來實現(xiàn)主動網(wǎng)絡的技術(shù),該技術(shù)是一種將數(shù)據(jù)和程序分別獨立的注入到主動節(jié)點上的傳輸法。用戶先把定制好的處理程序代碼注入到主動節(jié)點中。然后向傳統(tǒng)網(wǎng)絡一樣去傳輸數(shù)據(jù)包;當數(shù)據(jù)包到達主動節(jié)點,節(jié)點對包頭進行檢查;如果分組是屬于程序代碼的類型,則節(jié)點經(jīng)過安全檢查后接收這個程序,將其存儲起來;如果報文屬于數(shù)據(jù)類型,則根據(jù)頭部信息來選擇相應
的已經(jīng)駐留在節(jié)點中的程序來進行處理。Switchware實現(xiàn)主動網(wǎng)絡的方法采用三層結(jié)構(gòu):主動報文(是一種含有移動代碼報文,代替了傳統(tǒng)的報文)、主動擴展(提供網(wǎng)絡上的向量服務,這能被動態(tài)裝載)、主路由設(shè)施。
四、主動網(wǎng)絡應用
主動網(wǎng)絡的應用,一類是針對現(xiàn)有網(wǎng)絡體系結(jié)構(gòu)下未圓滿解決的技術(shù)難題,另一類是新穎別致的網(wǎng)絡應用。屬于前者的主要應用包括利用主動網(wǎng)絡實現(xiàn)可靠的組播業(yè)務、主動擁塞控制、主動橋、主動差錯恢復技術(shù)、用主動業(yè)務抵御拒絕性服務攻擊等;屬于后者的實例有Web緩存、主動虛擬網(wǎng)絡管理、主動存儲、實時多媒體編碼中的主動業(yè)務、分布式仿真中的主動網(wǎng)絡等。主動網(wǎng)絡應用也可在傳統(tǒng)的被動網(wǎng)絡中用一般技術(shù)實現(xiàn),但是IP技術(shù)最初的設(shè)計理念是把智能化的功能放置在通信的兩個端點處,而負責傳遞信息的路由器只需要簡單地根據(jù)路由表將數(shù)據(jù)包送入相應的隊列中進行轉(zhuǎn)發(fā),相對而言被動網(wǎng)絡將花費很長的時間和巨大的人力物力資源,主動網(wǎng)絡使的新應用、新標準、新技術(shù)的采用變得迅速而簡單,所具有的動態(tài)可控性為原來的網(wǎng)絡應用帶來了極大的性能提升空間。下面以組播、服務質(zhì)量、流量緩存等為例簡單介紹其應用。
(一)組播
網(wǎng)絡必須處理多種應用程序流,諸如音頻、視頻、電話會議等。這些應用程序很多本質(zhì)上就需要應用組播 ,傳統(tǒng)的IP組播服務中,網(wǎng)絡路由的拓撲、接收者的數(shù)量和位置這些細節(jié)信息對于用戶都是透明的,如果只要求不可靠的組播,這種傳統(tǒng)方法還可以滿足條件。如果必須嚴格保證所有接收者都能夠可靠地接收到組播數(shù)據(jù),傳統(tǒng)的組播方法就難以勝任。問題主要出在差錯恢復方面。在組播過程中,只要數(shù)據(jù)在某點發(fā)生了問題,則組播樹上位于該點下游的所有接收者收到的數(shù)據(jù)都存在問題,必須進行重傳來糾正差錯。傳統(tǒng)的處理方式是所有接到錯誤數(shù)據(jù)的節(jié)點向發(fā)送端提出請求,由發(fā)送端分別進行重傳。這種方法極大的浪費了網(wǎng)絡資源,導致網(wǎng)絡狀況惡化,很容易引發(fā)更多的傳輸錯誤。在主動網(wǎng)絡中,每個網(wǎng)絡節(jié)點可以同其附近的節(jié)點建立聯(lián)系,當一個網(wǎng)絡節(jié)點收到的數(shù)據(jù)有問題時,它可以和同組的臨近節(jié)點通信。如果臨近節(jié)點收到的數(shù)據(jù)是正確的,它就直接從臨近節(jié)點取得正確數(shù)據(jù),而不必要求發(fā)送端重傳數(shù)據(jù)。將主動網(wǎng)絡技術(shù)應用于多播領(lǐng)域已被證明是行之有效的,具有主動性的內(nèi)節(jié)點可以很好的解決目前存在于組播領(lǐng)域的諸多問題。研究人員已經(jīng)提出了一種稱為ARM(ActiveReliableMulticast)的差錯恢復方案,它利用主動網(wǎng)絡技術(shù)進行差錯恢復,比較好的解決上述問題。ARM的主要內(nèi)容是:利用主動技術(shù)的中間路由器來保護發(fā)送者和帶寬免受不必要重復的NAK和重傳數(shù)據(jù)的干擾,避免NAK阻塞;采用基于主動路由器的本地恢復方案,用于減少端到端廣域網(wǎng)重傳延時,并且將重傳的任務分散到多個路由器,減少發(fā)送者的負擔。特別地,ARM路由器能自動調(diào)整緩存狀態(tài),盡最大努力緩存數(shù)據(jù);ARM路由器采用部分組播的方式限制數(shù)據(jù)重傳的范圍,從而減少網(wǎng)絡帶寬資源占用。
(二)服務質(zhì)量
傳統(tǒng)網(wǎng)絡一般采用標準TCP協(xié)議的消息反饋式擁塞控制機制,但由于這種機制增加了總量分離擁塞點和端點的工作量,所以它仍不能很好地適應網(wǎng)絡帶寬和延遲時間的要求。網(wǎng)絡延遲越大,則端點對網(wǎng)絡是否擁塞作出正確判斷所需時間也就越長。網(wǎng)絡帶寬越高,端點在檢測擁塞是否發(fā)生的時間內(nèi)向擁塞網(wǎng)絡送出的數(shù)據(jù)包就越多。網(wǎng)絡組件的帶寬和延遲性能將直接影響擁塞現(xiàn)象持續(xù)時間。主動網(wǎng)絡提出的通過數(shù)據(jù)包對路由器進行再編程的思想,在很大程度上克服了反饋式擁塞控制的缺點。首先,主動節(jié)點可以監(jiān)視可用帶寬,并利用其具有大容量緩沖區(qū)的優(yōu)勢,控制通道內(nèi)數(shù)據(jù)流的傳輸速率,以盡量減少擁塞現(xiàn)象的發(fā)生。其次,主動網(wǎng)絡在檢測到擁塞現(xiàn)象時,網(wǎng)絡擁塞控制機制能夠自動的、有選擇地丟棄某些相對不重要的消息單元體、數(shù)據(jù)包或信元,這一措施也能有效地降低發(fā)生擁塞現(xiàn)象的可能性,并防止擁塞發(fā)生范圍的擴大。第三,對于具有不同傳輸優(yōu)先級別的數(shù)據(jù)流,主動節(jié)點不僅能夠從總體上控制它們的整體流速,甚至還能細化到控制每條數(shù)據(jù)流的流速,且控制限額速率還能隨時進行動態(tài)調(diào)整。最后,在網(wǎng)絡的擁塞發(fā)生點,通過執(zhí)行主動程序能夠進行數(shù)據(jù)轉(zhuǎn)換(如壓縮數(shù)據(jù)格式,改變數(shù)據(jù)傳輸路由等),從而避免擁塞向整個網(wǎng)絡范圍內(nèi)擴大。
(三)流量緩存
Internet網(wǎng)絡通信量的很大一部分都是C/S模式的網(wǎng)絡應用中從服務器端送到客戶端的信息,增強網(wǎng)絡主機的Cache能力是減少網(wǎng)絡通信量和延遲時間的有效措施。傳統(tǒng)網(wǎng)絡一般將大容量Cache建立在“特殊”的網(wǎng)絡節(jié)點上,如網(wǎng)絡邊緣主機或網(wǎng)絡內(nèi)部關(guān)鍵的中轉(zhuǎn)節(jié)點,以及與之相連接的樁(stub)節(jié)點等。如何盡可能地將信息緩存在靠近客戶的位置是減少網(wǎng)絡流量、提高響應速度的關(guān)鍵。在主動網(wǎng)絡中可以將各個主動節(jié)點上的小規(guī)模的緩存器聯(lián)合起來,根據(jù)實際情況自動作出調(diào)整,提供更有效的服務。為了減小數(shù)據(jù)傳輸時延,在傳統(tǒng)的廣域網(wǎng)絡中常采用的技術(shù)就是網(wǎng)絡緩存。具體講,就是在一些網(wǎng)絡關(guān)鍵節(jié)點緩存一些用戶最近用過的數(shù)據(jù),使得用戶再訪問這些數(shù)據(jù)時不需要再從遠端的數(shù)據(jù)源獲取數(shù)據(jù),而從距自己較近的節(jié)點就能獲取數(shù)據(jù),從而減小數(shù)據(jù)傳輸時延及網(wǎng)絡負荷。然而,這種網(wǎng)絡緩存技術(shù)對于實時性應用的性能優(yōu)化幾乎起不到什么作用,在某種程度上講,由于緩存了一些過時的信息,反而會降低應用的性能。一般地,通過Web頁面緩存機制可以減小用戶訪問Web服務器的時延從而提高性能。但是,普通緩存技術(shù)在該系統(tǒng)中卻不能起到什么作用。首先,普通Web頁面緩存無法保證數(shù)據(jù)的實時性,因為各條信息更新周期不確定:第二,普通緩存技術(shù)無法動態(tài)調(diào)整數(shù)據(jù)緩存的大小和緩存數(shù)據(jù)的范圍;第三,普通緩存沒有考慮最佳緩存點問題,基本都是靜態(tài)配置,這將會消耗過多的網(wǎng)絡資源或影響網(wǎng)絡整體性能。利用主動網(wǎng)絡技術(shù),可以使得網(wǎng)絡具有自組織性。將不同的緩存策略注入到網(wǎng)絡節(jié)點中去,通過分析統(tǒng)計通過該節(jié)點的數(shù)據(jù)特性,從而動態(tài)地調(diào)整緩存策略,如選置緩存點、確定緩存數(shù)據(jù)、設(shè)置緩存范圍及大小,甚至變“拉”為“推”。
五、結(jié)束語
隨著網(wǎng)絡技術(shù)的不斷發(fā)展和人類對網(wǎng)絡的需求不斷增加,網(wǎng)絡快速適應各種變化的必要性顯得越來越重要,未來的網(wǎng)絡將必然需要網(wǎng)絡設(shè)備和網(wǎng)絡體系具有整體可延展性。由于受到傳統(tǒng)發(fā)展中諸如標準一體化等各種因素的限制,Internet現(xiàn)有的體系結(jié)構(gòu)不能達到這種發(fā)展要求。主動網(wǎng)絡提出的初衷正是為了適應未來網(wǎng)絡高度靈活性和動態(tài)擴展性的需要,同時還能在系統(tǒng)性能、安全性和互操作性等方面達到或超過現(xiàn)有網(wǎng)絡的水平。如何將主動網(wǎng)絡各方面的研究結(jié)合起來,在Internet上廣泛應用,還是一個尚未攻破的難題。因為要將實驗系統(tǒng)轉(zhuǎn)換成為實際可應用的網(wǎng)絡,不僅需要解決網(wǎng)絡本身結(jié)構(gòu)設(shè)計中存在的問題,還應考慮到網(wǎng)絡的應用、專用
設(shè)備的設(shè)計等一系列相關(guān)的問題;同時還需要制定必需的規(guī)范標準。因此,面對主動網(wǎng)絡提出的挑戰(zhàn),我們還必須作出不斷的努力。
參考文獻:
[1]陳鴻、黎忠文,主動網(wǎng)絡基于分散式角色激活管理的訪問控制[J].計算機技術(shù)與發(fā)展,2007,(9).
[2]樊玫玫、彭長根、汪學明,主動網(wǎng)絡的一種安全體系結(jié)構(gòu)[J].貴州大學學報(自然科學版),2007,(4).
[3]馮運仿,主動網(wǎng)絡的安全問題研究[J].湖南理工學院學報(自然科學版),2007,(1).
[4]王建國、魏筆凡、李雅紅,主動網(wǎng)絡節(jié)點資源管理策略研究[J].西安工業(yè)大學學報,2007,(1).
[5]何峰賦,關(guān)于主動網(wǎng)絡的研究及探討[J].科技信息(學術(shù)版),2007,(5).
[6]馬燕、鄧毅、周潤珍,一種主動網(wǎng)絡管理系統(tǒng)結(jié)構(gòu)的分析與研究[J].重慶師范大學學報(自然科學版),2006,(4).
[7]姚曉艷、段會川、劉偉,主動網(wǎng)絡技術(shù)在網(wǎng)絡管理中的應用研究[J].網(wǎng)絡安全技術(shù)與應用,2006,(11).
[8]惠燕、潘煜、王建國,面向業(yè)務網(wǎng)絡管理的分層結(jié)構(gòu)研究[J].微計算機信息,2006,(27).
作者簡介:
朱亮(1980-),女,江蘇太倉人,蘇州大學計算機科學與技術(shù)學院碩士生,蘇州工業(yè)職業(yè)技術(shù)學院信息工程系教師。