專利名稱:一種適用于未來互聯網的結構化網絡系統的制作方法
一種適用于未來互聯網的結構化網絡系統技術領域
本發明屬于網絡技術領域,特別是涉及一種適用于未來互聯網的結構化網絡系統的設計技術。技術背景
對未來網絡的研究工作已經在多個國家中展開,研究內容包括體系結構理論的創新、實驗平臺和基礎設施的搭建。在體系結構上,出現以信息/服務/用戶等為中心的新網絡結構,同時,可編程和虛擬化技術伴隨著未來網絡的深入研究而得到長足發展。
ICN(以信息為中心的未來網絡)關注網絡中的信息對象及其屬性,也關注數據接收者的興趣愛好。ICN中,返回的數據沿路緩存以提高網絡的利用率。
SCN(以服務為中心的未來網絡)對ICN進行擴展,允許對服務對象和數據對象進行編址,并將服務及數據當做關鍵的網絡設計元素,這類網絡支持多種服務,客戶發送興趣包請求服務,服務執行的結果以數據包返回給客戶。
以用戶為中心的未來網絡的主要目標是無縫移動通信,提供基于用戶體驗質量的網絡選擇機制,該機制獨立于底層網絡以實現更快及多種技術間的切換。
歐洲的4WARD未來網絡項目由六個工作單元組成。其中,新架構觀念和原則組研究一種允許多元化和多種類網絡結構的新技術;網絡虛擬化組負責不同網絡結構共存的工作;網內管理組提供網絡性能的發現和網絡的自適應管理;通用路徑組提取吸收現階段的傳輸效率增強技術的優勢;信息網絡化組實現一個以信息為中心的示例。
歐洲的Trilogy未來網絡項目圍繞三個工作單元組成。可達性組關注于創造一種互聯網絡服務,該服務靈活而防止改變,以可擴展的方式提供和管理透明的可達性;資源控制組關注于有效、公平、激勵兼容的資源控制方法的統一;社會和商業控制組明確有力地表達了驅動其他兩組技術工作的原則。
SAIL未來網絡項目專注于提供用戶/應用控制訪問的方法來建立適應未來互聯網的需求的連接。未來的傳輸和聯網機制利用諸如光網絡的鏈路技術的先進特性,網絡和路徑的多元化、先進的編碼技術被使用,用戶的泛在移動、內容和信息對象將被用統一的方式處理。
ICN引入了位置獨立的內容標識方法。然而,ICN面對著一個由數十億設備及IO21 字節量級的數據,急需一種突破性方法解決命名和編制問題。
可編程和虛擬化特性在未來網絡中得到長足發展,GEOT就是為新一代網絡架構和分布式系統而建立的虛擬化可編程設施,OpenFlow是GENI里的一個項目,OpenFlow的可編程項是不同交換機和路由器中的流表。通過選擇路由器和用流表處理來控制流,流經網絡的流被認為是互相獨立并被分別處理,對流的分別處理要求頻繁改動網絡中流表的路線, 使得網絡高度不穩定,而且忙于傳輸處理連接請求的信令。
傳統上,網絡被認為是數據傳輸的載體,而ICN中將存儲能力固化到網絡所有節點中,則被認為對網絡架構有深遠的影響。然而,類似人工神經網絡的并行處理/計算能力還未被發掘。
Internet是復雜和無結構的,網絡中節點和鏈路可以自由附著和離開,對于大規模的無結構網絡,需要分布式而復雜的編址、路由和查詢機制,相反,結構化的網絡采用全球統一而簡單的編址、路由和查詢機制。同時,基于結構化網絡的應用能很好地實現內容 /服務編址、語義搜索、移動支持、安全的基于位置的服務、多播、入侵檢測、網絡測量、數據融合、網頁分級和流量負載均衡,等等。發明內容
本發明的目的在于克服現有技術的不足,提供一種未來互聯網的結構化網絡系統。利用該技術能實現網絡的并行處理/計算能力和簡單轉發機制,并使構建的網絡具有可編程及虛擬化特征。
為了實現發明目的,采用的技術方案如下
通過虛擬層在物理網絡上構建和維護共存的多個結構化網絡(SN)。結構化網絡的實用化例子包括超立方體網絡、人工神經網絡和Batcher網絡。
所述的虛擬層在物理網絡上構建和維護共存的多個SN的方法如下
一、虛擬層利用虛擬機和虛擬路由器的技術,把每個物理節點的資源虛擬化為多個獨立的處理單元,使得每個SN都可以利用這些處理單元、物理鏈路、邏輯鏈路構成所需的拓撲結構。其中物理鏈路用于連接物理上相鄰的處理單元,邏輯鏈路用于連接物理上不相鄰的處理單元。一條邏輯鏈路可以是MPLS/GMPLS網絡的標簽交換通路LSP、ATM的虛電路VC、IP網絡的隧道或連接。
二、通過把一個大規模網絡劃分成多個小區域,其中一些區域成為網絡的核心,其它區域成為過渡區域或者邊緣區域,實現大規模網絡的層次化。其中每個區域都是一種SN。 每個SN區域邊界的多個處理單元可以屬于同一個物理節點。多個處理單元之間的連接可以屬于相同的物理或邏輯鏈路。
三、在SN建好之后,虛擬層負責維護每個SN。虛擬層自動地用一個備用的處理單元代替一個失效的處理單元,以保證SN無間斷運行,SN所提供的應用和服務也不會中斷。 為了增強網絡的可靠性,虛擬層把每個處理單元的代碼、數據、運行狀態復制到鄰近處理單元。一旦某個處理單元失效,其替代者能從它的鄰居那里得到恢復。
四、與端用戶連接的接入節點,負責引導端用戶進入不同的SN。每個接入節點設多個匹配規則以匹配端用戶對服務及內容的請求,并將其關聯到合適的SN上。關聯的方法是將用戶的端口、接口、地址或標識綁定到用戶要訪問的SN。為實現可編程目的,描述入口節點的必要屬性由虛擬層提供。
五、虛擬層構建所需的SN的方法如下由于要構建的SN的邏輯拓撲和基層網絡的物理拓撲是不同的,故在基層網絡上構建SN的目標函數就是找到SN的“模型圖”與基層網絡的“真實圖”之間的最大匹配。即把兩者之間的最小編輯距離作為目標函數,使得所需要添加的邏輯鏈路數目最少。新指定的邏輯鏈路必須采用那些不會對未來需求產生重要影響的路徑,即“最小干擾”路徑。
六、基于對全局流量分布的了解,在需要對全網的流量負載進行平衡或者需要消除網絡中的熱點或瓶頸的時候,虛擬層在整個網絡內重新構建邏輯鏈路,并保證不改變所有并存的SN的邏輯拓撲。
所述的超立方體網絡是一種典型的實用化的SN的例子,可以提供多種功能和服務的無縫整合,具體包括內容/服務編址、語義搜索、移動性支持、安全的基于位置的服務和組管理技術。
所述的超立方體網絡提供多種功能和服務無縫整合的方式,具體如下
一、內容/服務編址方式
內容的名字通過DHT (分布式散列表)映射到D維超立方體中的一個點,c = (c1 C2, ... , cD)。當附著在節點s的數據源產生內容c時,發送一個通告給相應節點η = C,節點η則記錄下Ic,s}。當附著于節點u的用戶請求名字映射為c的內容時,它將“興趣”包發送到超立方體的節點η = c,節點η將“興趣”包轉發給節點s,節點s通知數據源。
數據源通過節點s再將“興趣”包同時轉發到離用戶最近的多個節點,指定每個節點給用戶提供內容的一份或多份片段,實現內容片段的并行傳輸。當離用戶最接近的節點就是節點s自己時,數據源通過節點s將完整的內容分成等長的片段直接回復給附著在u 上的用戶。
在內容片段送往U的途中,沿途的節點和目的地節點U在每收到一個新的片段時, 都通過網絡編碼的方法,把新收到的片段與已緩存片段進行網絡編碼,以得到一個新的編碼片段;把新的編碼片段緩存起來并轉發到下一跳。
所有的內容分發路線都是給定的采用源路由方式或者采用沿著相同的維度順序進行傳輸的固定路由方式。所述的固定路由的具體方式是從節點s = (S1, S2, ... , SD)到節點 U = (U1, U2,. . . , Ud)沿途必須經過的節點是(S1, S2, . . . , Sd) — (U1, S2, . . . , Sd) — (U1, U2,. . .,SD) — . . . — (U1, U2, ... , Ud)。數據源記錄緩存了內容片段的所有節點坐標。
當內容的新版本產生時,數據源通過節點s多播一個通告到持有舊版內容片段的所有節點,以便清除這些舊版內容。
二、語義搜索方式
把基于本體論的知識表示語言用于描述語義內容。設數據的抽象模型或者屬性可用D元組表示,則一個基于本體論的知識表示的原子模式由D個元素組成(a1; a2,..., aD)。 把每個元素 散列到一個數值Ci,得到索引c = (ci; C2, ... , cD)。將索引c和源節點s通告給節點η = C。所以相似的原子模式被注冊到坐標相近的節點上。
所支持的查詢包括三種類型
原子查詢當用戶請求c = (ci; C2, ... , cD)時,查詢發送到節點η = C。
范圍查詢一個范圍查詢用于搜索屬性值落在某范圍內的所有對象。在范圍查詢方式中,C= (C1, C2,..., CD)中的每個元素Ci都可以代表一個范圍A ey。~],其中、和JJUj分別是范圍j的上界和下界。范圍查詢被多播到所有節點η e C。
聯合查詢聯合查詢能用一系列原子查詢的聯合來表示,例如"C' η C"。聯合查詢被多播到所有的η = C和η = C'。
三、移動支持方式
設數據源原來附著在節點S,若數據源移動并附著在其他節點S'上,則節點s被告知節點S'是到達數據源的下一跳,從而S將新到達的關于該數據的“興趣”包轉發給 S'。若數據源移動了多次,則興趣包經過多次轉發直到它到達數據源。
若用戶在移動,則在每次切換之后,它必須通知先前附著的節點U它現在附著在 U'上,即,節點U'是從節點U到達該用戶的下一跳。當請求的內容到達節點U時,它將其轉發到節點U',類似地,內容能夠通過多次轉發到達移動用戶處。
四、安全的基于位置的服務方式
設某個移動用戶的ID映射到D維向量i = (ii; i2,..., iD),其“虛擬家鄉代理節點”,定義為節點h = i。每個移動用戶向其虛擬家鄉移動代理節點h注冊一個起始節點IV 當用戶j想與用戶i聯系而不知道i目前的位置時,用戶j將請求包發給節點h,h將請求轉發給節點Utl以抵達用戶i,之后,兩個用戶在沒有虛擬家鄉代理節點輔助的情況下直接通
每次當移動用戶從之前附著的節點Uk被切換到新附著的節點uk+1時,要求通知Uk 其附著到uk+1 了。以此方式,在m次切換之后,Utl,U1,...,Uffl形成一條通向該移動用戶目前位置UmW路徑。移動用戶可以自行選擇何時更新該路徑中的任何一項信息uw。當更新uk+1 的信息時,就是向Uk發一條新的通知,當更新Utl時,就是向其虛擬家鄉移動代理節點h注冊一個新起始節點IV但不必在每次移動時都通知其虛擬家鄉代理節點。
對了隱藏移動用戶的真實位置,移動用戶不向其虛擬家鄉代理節點注冊當前實際附著的節點IV相反,用戶隨機選擇任何節點Ut/,在虛擬家鄉代理注冊Ut/,然后告知u。' 該用戶的當前位置是uQ。
為了實現安全的基于位置的服務,移動用戶可以隨機選擇任意轉發路徑U/, U1' ,...,u' ^nUm并以Ut/作為返回地址來請求基于位置的內容或者服務。返回的位置相關數據沿著上述路徑轉發,最終抵達用戶真實附著的節點um。因為請求包沒有包含用戶 ID和最終節點Um的信息,使得基于位置的服務是安全的。
五、組管理方式
將多播組的名字或者地址映射到向量g = (gl, g2,...,份),記節點η = g為該多播組的匯合點。接收者向匯合點發送加入/離開多播組的消息。多播組的發送者將多播數據發送到匯合點,匯合點采用一條最優的多播樹將數據多播給所有接收者。
所述的人工神經網絡是一種典型的實用化的SN的例子,可以用于對網絡信息的分布式的并行處理。具體方法是構建一個人工神經網絡ANN,處理單元作為ANN的神經元, 處理單元之間的鏈路作為神經元之間的連接,ANN的輸入層神經元用做監測節點,ANN的隱藏層的神經元用于并行計算,ANN的輸出層神經元則基于并行處理結果對網絡進行控制。具體應用包括入侵檢測和協作式測量。
所述的入侵檢測技術能夠有效地檢測從多處發起的協同式攻擊,利用其并行處理能力和快速反應能力,使得在攻擊對系統造成無法挽回的損害之前及時發出警報并做出響應。具體方法如下
監測節點從觀察到的數據包中提取所需的特征。在每一個給定的時間間隔,網絡中的所有監測節點都提取數據包中的同一個特征,并在不同的時間間隔提取其不同的特征,在每一個循環中,每個特征都被提取一遍。
監測節點將提取的特征轉化為標準的數值。這些由監測節點獲得的數值以并行的方式輸入到ANN。ANN的每個神經元在一給定時限內等待其所有輸入端的輸入數值的到達。另一方面,該時限用于保證同層神經元之間的同步,從而使得同一個層的所有神經元都能在新輸入到達之前處理完其輸入。縱使輸入由于超時變得不完整或由于噪聲而變形,ANN 仍然可以分析收集到的數據。該時限的長度與每個特征的提取時間間隔相等。輸出結果從 ANN的輸出層并行輸出。
在第一個ANN的輸出層之后建立另一個ANN,使得第一個ANN的輸出成為第二個 ANN的輸入。第二個ANN用于分析特征序列的時間行為。
類似地,并行輸入ANN的可以是流量參數(數據包或字節的抵達速率、請求速率、 連接速率、用戶抵達速率)和最近的歷史數據,并行輸出的是對流量負載的預測結果和速率控制參數。基于這些結果,其輸出層的控制節點實施流量控制。
所述的協作式網絡測量方法如下
主動測量方法是一些監測節點發送探測包,其它監測節點接收并測量這些探測包。ANN分析探測包對的輸入間隔和輸出間隔之間的關系,將分析結果用于估計發送節點和接收節點之間的路徑上瓶頸鏈路的可用帶寬。輸出節點利用分析結果來輔助多媒體傳輸路徑的選擇。
被動測量方法是兩個監測節點各自測量一對數據包之間的間隔,兩個測量之間的平均差用于估計兩個監測節點之間路徑的可用帶寬。類似的,通過監測網絡的性能或 QoS,對單向延遲、往返延遲和丟失率做出測量。
所述的Batcher網是一種典型的實用化的SN的例子,它能夠以并行方式對一序列數字進行排序和分布式的并行處理,可以用于對網絡信息的快速排序或分級。具體包括排序和負載均衡方法。
所述的排序和分級方法如下
在網絡上構建Batcher bitonic排序網絡,Batcher網的交換機是處理單元,交換機之間的連接是處理單元之間的物理鏈路或者邏輯鏈路。每個處理單元只有簡單的功能, 即比較兩個輸入數值的大小,把大者轉發到箭頭所指的方向并把小者發送到相反方向。監視節點對請求包中的URL進行分類計數,在每個時間間隔內,URL被請求的次數被用作數據包頭,網頁的URL或域名則是數據包的載荷。這些數據包并行進入Batcher網,在Batcher 網的輸出層,代表不同網頁的數據包依據數據包頭的值被排序。類似地,網絡流量報告也能以此方式產生。任何可計數的項,如最擁擠網頁、最熱門應用、最擁塞鏈路等,都能用這種方式被及時排序或分級。這些分級項可以用于網絡搜索引擎、對網絡監測、管理、性能規劃、 QoS改善和診斷。
所述的負載均衡方法如下
Batcher和Banyan網的組合被用于構建整個交換結構,以此消除網絡內部的阻塞以達到負載均衡。具體做法是依據數據包頭部的地址比特,Batcher網對其進行排序,然后 Banyan網中的2 X 2交換機將輸入數據包交換到相應的輸出。Batcher-Banyan網中的每個階段按順序只關心數據包頭部的一位比特。
圖1為本發明的一個實施例的系統結構圖2為本發明的層次化超立方體的示例;
圖3為本發明的超立方體內容編址的示例;
圖4為本發明的超立方體支持移動性的原理示意圖5為本發明的神經網絡檢測網絡異常的原理示意圖6為本發明的排序網絡的示例;
圖7為本發明實現負載平衡的原理示意圖;具體實施方式
下面結合附圖對本發明做進一步的說明。
本發明的系統結構如附圖1所示,虛擬層利用虛擬機和虛擬路由器的技術,把每個物理節點的資源虛擬化為多個獨立的邏輯處理單元,使得每個SN都可以利用這些處理單元進行數據包的轉發、處理、計算和內容的緩存。每條物理鏈路都可以虛擬成多條信道, 以滿足處理單元之間的連接需求和對帶寬的需求。物理鏈路和物理拓撲被虛擬層隱藏起來,虛擬層之上只能看見可用的處理單元。
二個SN的例子如圖1所示。虛擬層按照SN的拓撲需求選擇若干處理單元和物理鏈路,并建立所需的邏輯鏈路。其中物理鏈路用于連接物理上相鄰的處理單元,邏輯鏈路用于連接物理上不相鄰的處理單元。一條邏輯鏈路由一系列物理鏈路和節點構成。它可以是 MPLS/GMPLS網的標簽交換通路LSP、ATM的虛電路VC、IP網絡的隧道或連接。
通過把一個大規模網絡劃分成多個小區域,如圖2所示,其中一些區域成為網絡的核心,其它區域成為過渡區域或者邊緣區域,實現大規模網絡的層次化。其中每個區域都是一種SN。每個SN區域邊界的多個處理單元可以屬于同一個物理節點。多個處理單元之間的連接可以屬于相同的物理或邏輯鏈路,如圖2中邊界節點0和1之間的連接。
在SN建好之后,虛擬層負責維護每個SN。虛擬層自動地用一個備用的處理單元代替一個失效的處理單元,或用一條邏輯鏈路代替失效的物理或邏輯鏈路,以保證SN無間斷運行,SN所提供的應用和服務也不會中斷。為了增強網絡的可靠性,虛擬層把每個處理單元的代碼、數據、運行狀態復制到鄰近處理單元。一旦某個處理單元失效,虛擬層就把其代碼、數據、運行狀態從鄰近處理單元那里復制到其替代者之中。
與端用戶連接的接入節點,負責引導端用戶進入不同的SN。每個接入節點設多個匹配規則以匹配端用戶對服務及內容的請求,并將其關聯到合適的SN上。匹配的方法是, 例如,用戶在其發出的請求包中顯式給出要訪問的SN的標識,接入節點根據其標識,把該用戶與要訪問的SN關聯在一起。用戶也可以在其發出的請求包中隱式給出要訪問的SN, 即按照要訪問的SN的要求,給出通信對方用戶的唯一 ID、或者給出要求獲得的服務的唯一名稱或者屬性、或者給出要鏈接的內容的URL等,接入節點調用匹配規則或者正則表達式, 根據用戶使用的協議特征、報文格式、尋求的目標對象等特征,確定用戶要訪問的SN。把用戶與SN關聯的方法是,將用戶的端口、接口、地址或標識綁定到用戶要訪問的SN,即根據收到的數據包的來源接口(interface)、地址、端口(port)、標識以及其目標對象或者目標地址,把數據包轉發到相應的SN。也可以把在本節點局部唯一的一個標簽分配給一個用戶,并把該標簽與SN對應起來。此后,來自該用戶的數據包都被附上該標簽,基于此標簽,接入節點將數據包轉發給相應的SN。
虛擬層構建所需的SN的方法如下由于要構建的SN的邏輯拓撲和基層網絡的物理拓撲是不同的,故在基層網絡上構建SN的目標函數就是找到SN的“模型圖”與基層網絡的“真實圖”之間的最大匹配。即把兩者之間的最小編輯距離作為目標函數,使得所需要添加的邏輯鏈路數目最少。相關算法可參照K. Riesen和H. Bunke的論文“Approximate graph edit distance computation by means of bipartite graph matching"(Image and Vision Computing, no. 27,2009,pp. 950—959),以及 A. Robles-Kelly 禾口 Ε· R. Hancock 的論文"Graph edit distance from spectral seriation,,(IEEE Trans. Pattern Anal. Mach. Intell.vol.27, no. 3,2005, pp. 365-378) ·新指定的邏輯鏈路必須采用那些不會對未來需求產生重要影響的路徑,即“最小干擾”路徑。相關算法可參照M. Kodialam和 Τ. V. Laksban 的論文“Minimum Interference Routing with Applications to MPLS Traffic Engineering”(IEEE INF0C0M 2000,pp. 884-893) ·
基于對全局流量分布的了解,在需要對全網的流量負載進行平衡或者需要消除網絡中的熱點或瓶頸的時候,虛擬層在整個網絡內重新構建邏輯鏈路,并保證不改變所有并存的SN的邏輯拓撲。
結構化網絡系統的實用化例子
(1)超立方體網絡
超立方體網絡是一種典型的實用化的SN的例子。在超立方體網絡中,無需查詢路由表,數據包就能依據目的地的坐標被轉發。超立方體網絡中節點的坐標不是固定不變的, 從而當超立方體網絡被重構或重新調整時,節點可被賦予新的坐標。設一個位于D維超立方體內的節點η = Oi1, n2,. . .,nD),以“節點η”簡記之。
超立方體網絡可以提供多種功能和服務的無縫整合,具體包括內容/服務編址、 語義搜索、移動性支持、安全的基于位置的服務和組管理技術。
I內容/服務編址
內容的名字通過DHT (分布式散列表)映射到D維超立方體中的一個點,c = (C1, C2, ... , CD),如圖3所示。當附著在節點S的數據源產生內容C時,發送一個通告給相應節點η = C,節點η則記錄下Ic,S}。當附著于節點U的用戶請求名字映射為C的內容時,它將“興趣”包發送到超立方體的節點η = c,節點η將“興趣”包轉發給節點s,節點s通知數據源。
數據源通過節點s再將“興趣”包同時轉發到離用戶最近的多個節點,指定每個節點給用戶提供內容的一份或多份片段,實現內容片段的并行傳輸。當離用戶最接近的節點就是節點S自己時,數據源通過節點S將完整的內容分成等長的片段直接回復給附著在U 上的用戶。
在內容片段送往u的途中,沿途的節點和目的地節點u在每收到一個新的片段時, 都通過網絡編碼的方法,把新收到的片段與已緩存片段進行網絡編碼,以得到一個新的編碼片段;把新的編碼片段緩存起來并轉發到下一跳。
沿途節點對內容片段進行網絡編碼的具體做法是
設內容是ChXN的數據塊,在(ialois field GF(2h)上產生一個隨機系數矩陣(ihxh, 并令 = GhxhX ChXN.然后把 I\x_ = [Ghxh, YhxJ 的每一行 Pm,m = 1,· · ·,h,作為一個內容片段發送給目的用戶。當途中節點第1次收到片段P時,把該片段緩存在自己的硬盤中,記為P';此后,每次收到一個新的片段P,都在(Galois field GFQh)上產生2個隨機數乂工和力,并令p' =V1P' +v2p,然后緩存更新后的ρ',并把P'轉發給通向節點u的下一跳。
當用戶收到h個編碼片段時,即得到P' hx(h+N) = [G' hxh, Y' hXN]時,令ChXN = [G' hxJ^XY' hXN即可得到整個內容。
所有的內容分發路線都是給定的采用源路由方式或者采用沿著相同的維度順序進行傳輸的固定路由方式。所述的固定路由的具體方式是從節點s = (S1, S2, ... , sD)到節點 U = (U1, U2,. . . , Ud)沿途必須經過的節點是(S1, S2, . . . , Sd) — (U1, S2, . . . , Sd) — (U1, U2,. . .,SD) — . . . — (U1, U2, ... , Ud)。數據源記錄緩存了內容片段的所有節點坐標。
當內容的新版本產生時,數據源通過節點s多播一個通告到持有舊版內容片段的所有節點,以便清除這些舊版內容。
二、語義搜索方式
把基于本體論的知識表示語言用于描述語義內容。例如,資源描述框架(RDF)為知識表示提供了有力的抽象數據模型。RDF模型中,〈主語(s),謂語(p),賓語(o)>是原子三元組模式,語義內容則由一系列原子三元組模式的聯合來表達。設數據的抽象模型或者屬性可用D元組表示,則一個基于本體論的知識表示的原子模式由D個元素組成(a” ,...,aD)。把每個元素 散列到一個數值Ci,得到索引c = (ci; C2, ... , cD)。將索引c 和源節點s通告給節點n = c。所以相似的原子模式被注冊到坐標相近的節點上。例如, 當d = 3時,立方體能用于RDF的數據存儲及檢索,原子三元組t = (s,ρ,ο)被映射到以 (hash (s),hash (ρ),hash (ο))為坐標的節點。
相似的原子模式被注冊到坐標相近的節點上,例如,c = (C1, C2, ... , cD)和C’ = (C1, C2, ...,C’ D)注冊到位于同一直線上的兩點。所支持的查詢包括三種類型
原子查詢當用戶請求c = (ci; C2, ... , cD)時,查詢發送到節點η = C。
范圍查詢一個范圍查詢用于搜索屬性值落在某范圍內的所有對象。在范圍查詢方式中,C= (C1, C2,..., CD)中的每個元素Ci都可以代表一個范圍A ey。~],其中、和JJUj分別是范圍j的上界和下界。范圍查詢被多播到所有節點nec。例如,查詢"C= (C1, c2, ? C3, C4, ...,cD) FILTER c2 e V1 and c3 e v2"的目的是尋找給定 C1, c4, . . . , cD 并被 C2 e Vland C3 e V2界定的所有對象,其中Vl和V2是范圍。此情形下,節點u= (Ul,u2,...,UD)沿著路徑(U1, U2, ... , Ud) — (C1, U2, U3, U4, ... , Ud) — (C1, U2, U3, C4, ... , Ud) — (C1, U2,U3, C4, ...,Cd)發送查詢,節點(C1, U2, U3, C4, ...,Cd)收到查詢,接著將范圍查詢沿第2、3 維多播到所有屬于(C1, V2, V3, C4, ...,Cd)的節點。所有屬于(C1, V2, V3, C4, ... , Cd)的節點對范圍查詢進行匹配并將查詢轉發到擁有符合查詢范圍的內容的節點。
聯合查詢聯合查詢用一系列原子查詢的聯合來表示,例如"C' η C"。聯合查詢被多播到所有的η = C和η = C',即節點U同時向相應節點η = C和η = C'發送原子查詢,潛在的數據源收到原子查詢,將其與自己持有的內容相對比,如果匹配的內容存在, 則返回數據給查詢用戶。
三、移動支持方式
設數據源原來附著在節點S,若數據源移動并附著在其他節點S'上,則節點s被告知節點S'是到達數據源的下一跳,從而S將新到達的關于該數據的“興趣”包轉發給 S'。若數據源移動了多次,則興趣包經過多次轉發直到它到達數據源,如圖4所示。
若用戶在移動,則在每次切換之后,它必須通知先前附著的節點u它現在附著在U'上,即,節點U'是從節點u到達該用戶的下一跳。當請求的內容到達節點u時,它將其轉發到節點U',類似地,內容能夠通過多次轉發到達移動用戶處。
四、安全的基于位置的服務方式
設某個移動用戶的ID映射到D維向量i = (ii; i2,..., iD),其“虛擬家鄉代理節點”,定義為節點h = i。每個移動用戶向其虛擬家鄉移動代理節點h注冊一個起始節點IV 當用戶j想與用戶i聯系而不知道i目前的位置時,用戶j將請求包發給節點h,h將請求轉發給節點Utl以抵達用戶i,之后,兩個用戶在沒有虛擬家鄉代理節點輔助的情況下直接通
每次當移動用戶從之前附著的節點Uk被切換到新附著的節點uk+1時,要求通知Uk 其附著到uk+1 了。以此方式,在m次切換之后,Utl,U1,...,Uffl形成一條通向該移動用戶目前位置UmW路徑。移動用戶可以自行選擇何時更新該路徑中的任何一項信息uw。當更新uk+1 的信息時,就是向Uk發一條新的通知,當更新Utl時,就是向其虛擬家鄉移動代理節點h注冊一個新起始節點IV但不必在每次移動時都通知其虛擬家鄉代理節點。
為了隱藏移動用戶的真實位置,移動用戶不向其虛擬家鄉代理節點注冊當前實際附著的節點IV相反,用戶隨機選擇任何節點Uc/,在虛擬家鄉代理注冊Uc/,然后告知U。' 該用戶的當前位置是uQ。
為了實現安全的基于位置的服務,移動用戶可以隨機選擇任意轉發路徑Utl', U1' ,...,U' ^pUm并以Ut/作為返回地址來請求基于位置的內容或者服務。返回的位置相關數據沿著上述路徑轉發,最終抵達用戶真實附著的節點Um。因為請求包沒有包含用戶 ID和最終節點Um的信息,使得基于位置的服務是安全的。
五、組管理方式
將多播組的名字或者地址映射到向量g = {gl, g2,...,份),記節點η = g為該多播組的匯合點。接收者向匯合點發送加入/離開多播組的消息。多播組的發送者將多播數據發送到匯合點,匯合點采用一條最優的多播樹將數據多播給所有接收者。
(2)人工神經網絡
人工神經網絡(ANN)是個并行系統,它是非線性統計數據建模工具,通常用于為輸入輸出間復雜關系的建模或尋找數據間的模式。以ANN作為典型的實用化的SN的例子, 可以用于對網絡信息的分布式的并行處理。
在物理網絡上構建一個人工神經網絡ANN,即把處理單元作為ANN的神經元,處理單元之間的鏈路作為神經元之間的連接,ANN的輸入層神經元用做監測節點,ANN的隱藏層的神經元用于并行計算,ANN的輸出層神經元則基于并行處理結果對網絡進行控制。具體應用包括入侵檢測和協作式測量。
一、入侵檢測
當應用到入侵檢測時,人工神經網絡將數據分類為已知的分布式攻擊和或網絡異常行為。在整個網絡上構建的基于ANN的入侵檢測技術能夠有效地檢測從多處發起的協同式攻擊,利用其并行處理能力和快速反應能力,使得在攻擊對系統造成無法挽回的損害之前及時發出警報并做出響應。具體方法如下
監測節點從觀察到的數據包中提取所需的特征。在每一個給定的時間間隔,網絡中的所有監測節點都提取數據包中的同一個特征,并在不同的時間間隔提取其不同的特征,在每一個循環中,每個特征都被提取一遍。例如,在第一個時間間隔里,每個監測節點對觀測到的數據包計數,在第二個時間間隔里,對傳輸的字節進行計數,...,直到最后的特征被提取,然后不斷重復此過程。
在當前hternet中,有上百個特征可被提取,例如
(a)各個連接的基本特征包括連接的持續性、目的地的網絡服務、從源到目的地字節數、從目的地到源的字節數、標明連接正常或錯誤的標志,等等。
(b)域知識建議的內容特征包括“過熱”指示的數目、登陸失敗的數目、“有危害性的”情況數目,等等。
(c)頭兩秒的流量特征包括同一主機的連接數、同一服務的連接數、數據包的到達時間間隔、數據包的字節數,等等。
監測節點將提取的特征轉化為標準的數值,例如,基于http的應用以數值“80”表示。這些由監測節點獲得的數值以并行的方式輸入到ANN。ANN的每個神經元在一給定時限內等待其所有輸入端的輸入數值的到達。另一方面,該時限用于保證同層神經元之間的同步,從而使得同一個層的所有神經元都能在新輸入到達之前處理完其輸入。縱使輸入由于超時變得不完整或由于噪聲而變形,ANN仍然可以分析收集到的數據。該時限的長度與每個特征的提取時間間隔相等。輸出結果從ANN的輸出層并行輸出。并行處理能力對于從多處發起的協同攻擊的檢測十分重要,快速的處理速度有助于在攻擊對系統造成無法挽回的損害前及時提出警報并在做出響應。
在第一個ANN的輸出層之后建立另一個ANN,使得第一個ANN的輸出成為第二個 ANN的輸入。第二個ANN用于分析特征序列的時間行為。即第一個ANN用于評估網絡的空間行為,第二個ANN用于評估時間行為。
可用于入侵檢測的ANN包括多層前饋神經網、自適應循環神經網、無監督學習神經網、監督及無監督混合神經網等。圖5所示的是ANN的一個例子,即后向傳播(BP)網絡, 系數M^T)表示從m層的神經元i到η層的神經元j的權重,ρ代表所選的特征個數,這些特征用于檢測網絡時空行為上的異常。BP網在虛擬層上以SN的方式建立。BP網將至少有一個隱藏層,該層有非線性激活函數,即最常用的sigmoid函數。采用一種有監督的學習方法。即錯誤從輸出節點反向傳播到輸入節點,在每級計算權重誤差的梯度,并在簡單的隨機梯度遞減算法中使用該梯度,以尋找使誤差最小化的權重系數。
類似地,并行輸入ANN的可以是流量參數(數據包或字節的抵達速率、請求速率、 連接速率、用戶抵達速率)和最近的歷史數據,并行輸出的是對流量負載的預測結果和速率控制參數。基于這些結果,其輸出層的控制節點實施流量控制。
二、協作式網絡測量方法
主動測量方法一些監測節點發送探測包,其它監測節點接收并測量這些探測包。 ANN分析探測包對的輸入間隔和輸出間隔之間的關系,將分析結果用于估計發送節點和接收節點之間的路徑上瓶頸鏈路的可用帶寬。輸出節點利用分析結果來輔助多媒體傳輸路徑的選擇。
被動測量方法兩個監測節點各自測量一對數據包之間的間隔,兩個測量之間的平均差用于估計兩個監測節點之間路徑的可用帶寬。類似的,通過監測網絡的性能或QoS, 對單向延遲、往返延遲和丟失率做出測量。
另外,如果要求監測節點將每個請求與發送者關聯起來,ANN的聯想記憶功能就可以用于觀測或收集位于hternet中眾多區域的、眾多用戶中每個用戶發送的對多個網址內容的一系列請求,以了解和掌握所有用戶的行為。
當來自所有監測/感知節點的數據間存在大量冗余時,ANN還能用于數據融合。例如,來自鄰居節點的數據可能是相似或高度依賴的,在一小段時間內連續從相同節點收集來的數據也是非常接近的,所以,ANN非常適用于無線傳感網(WSN),其中感知節點連續收集一些環境相關的項,如溫度、濕度、噪聲、震動、光照,等等。在WSN上的ANN能實現靈活、 精確、高效的無線數據融合及傳輸,并在獲取數據時提供抗干擾能力。
(3) Batcher 網絡
Batcher網是一種典型的實用化的SN的例子,它能夠以并行方式對一序列數字進行排序和分布式的并行處理,可以用于對網絡信息的快速排序或分級。具體包括排序和負載均衡方法。
一、排序和分級方法
如圖6所示,在網絡上構建Batcher bitonic排序網絡,Batcher網的交換機是處理單元,交換機之間的連接是處理單元之間的物理鏈路或者邏輯鏈路。每個處理單元只有簡單的功能,即比較兩個輸入數值的大小,把大者轉發到箭頭所指的方向并把小者發送到相反方向。監視節點對請求包中的URL進行分類計數,在每個時間間隔內,URL被請求的次數被用作數據包頭,網頁的URL或域名則是數據包的載荷。這些數據包并行進入Batcher 網,在Batcher網的輸出層,代表不同網頁的數據包依據數據包頭的值被排序。類似地,網絡流量報告也能以此方式產生。任何可計數的項,如最擁擠網頁、最熱門應用、最擁塞鏈路等,都能用這種方式被及時排序或分級。這些分級項可以用于網絡搜索引擎、對網絡監測、 管理、性能規劃、QoS改善和診斷等。
二、負載均衡方法
Batcher和Banyan網的組合被用于構建整個交換結構,以此消除網絡內部的阻塞以達到負載均衡,如圖7所示。具體做法是依據數據包頭部的地址比特,Batcher網對其進行排序,然后Banyan網中的2 X 2交換機將輸入數據包交換到相應的輸出。Batcher-Banyan 網中的每個階段按順序只關心數據包頭部的一位比特。1權利要求
1.一種適用于未來互聯網的結構化網絡系統,其特征在于通過虛擬層在物理網絡上構建和維護共存的多個結構化網絡SN,具體方法如下1)、虛擬層利用虛擬機和虛擬路由器的技術,把每個物理節點的資源虛擬化為多個獨立的處理單元,使得每個SN都能利用這些處理單元、物理鏈路、邏輯鏈路構成所需的拓撲結構;其中物理鏈路用于連接物理上相鄰的處理單元,邏輯鏈路用于連接物理上不相鄰的處理單元;2)、把一個大規模網絡劃分成多個小區域,其中一些區域成為網絡的核心,其它區域成為過渡區域或者邊緣區域,實現大規模網絡的層次化;其中每個區域都是一種SN ;每個SN 區域邊界的多個處理單元能設計為屬于同一個物理節點;多個處理單元之間的連接能設計為屬于相同的物理或邏輯鏈路;3)、在SN建好之后,虛擬層負責維護每個SN;虛擬層自動地用一個備用的處理單元代替一個失效的處理單元,以保證SN無間斷運行,SN所提供的應用和服務也不會中斷,為了增強網絡的可靠性,虛擬層把每個處理單元的代碼、數據、運行狀態復制到鄰近處理單元; 一旦某個處理單元失效,其替代者能從它的鄰居那里得到恢復;4)、與端用戶連接的接入節點負責引導端用戶進入不同的SN;每個接入節點設多個匹配規則以匹配端用戶對服務及內容的請求,并將其關聯到合適的SN上;關聯的方法是將用戶的端口、接口、地址或標識綁定到用戶要訪問的SN ;5)、虛擬層構建所需的SN的方法如下由于要構建的SN的邏輯拓撲和基層網絡的物理拓撲是不同的,故在基層網絡上構建SN的目標函數就是找到SN的“模型圖”與基層網絡的 “真實圖”之間的最大匹配;即把兩者之間的最小編輯距離作為目標函數,使得所需要添加的邏輯鏈路數目最少;新指定的邏輯鏈路必須采用那些不會對未來需求產生重要影響的路徑,即“最小干擾”路徑;6)、基于對全局流量分布的了解,在需要對全網的流量負載進行平衡或者需要消除網絡中的熱點或瓶頸的時候,虛擬層在整個網絡內重新構建邏輯鏈路,并保證不改變所有并存的SN的邏輯拓撲。
2.根據權利要求1所述的適用于未來互聯網的結構化網絡系統,其特征在于所述SN的實用化例子包括超立方體網絡,所述超立方體網絡能提供多種功能和服務的無縫整合,具體包括內容/服務編址、語義搜索、移動性支持、安全的基于位置的服務和組管理技術。
3.根據權利要求2所述的適用于未來互聯網的結構化網絡系統,其特征在于所述的超立方體網絡提供多種功能和服務無縫整合的方式,具體如下21)、內容/服務編址方式內容的名字通過分布式散列表DHT映射到D維超立方體中的一個點,c = (ci; c2,..., cD);當附著在節點s的數據源產生內容c時,發送一個通告給相應節點η = c,節點η則記錄下{c,s};當附著于節點u的用戶請求名字映射為c的內容時,它將數據包發送到超立方體的節點η = c,節點η將數據包轉發給節點s,節點s通知數據源;數據源通過節點s再將數據包同時轉發到離用戶最近的多個節點,指定每個節點給用戶提供內容的一份或多份片段,實現內容片段的并行傳輸;當離用戶最接近的節點就是節點s自己時,數據源通過節點s將完整的內容分成等長的片段直接回復給附著在u上的用戶;在內容片段送往u的途中,沿途的節點和目的地節點u在每收到一個新的片段時,都通過網絡編碼的方法,把新收到的片段與已緩存片段進行網絡編碼,以得到一個新的編碼片段;把新的編碼片段緩存起來并轉發到下一跳;所有的內容分發路線都是給定的采用源路由方式或者采用沿著相同的維度順序進行傳輸的固定路由方式;所述的固定路由的具體方式是從節點s = (S1, S2, ... , SD)到節點 U = (U1, U2, ... , Ud)沿途必須經過的節點是(S1, S2, ... , Sd) — (U1, S2, ... , Sd) — (U1, U2, ...,SD) — ... — (U1, U2, ... , Ud);數據源記錄緩存了內容片段的所有節點坐標;當內容的新版本產生時,數據源通過節點S多播一個通告到持有舊版內容片段的所有節點,以便清除這些舊版內容;22)、語義搜索方式把基于本體論的知識表示語言用于描述語義內容;設數據的抽象模型或者屬性可用D 元組表示,則一個基于本體論的知識表示的原子模式由D個元素組成( , ,..., );把每個元素 散列到一個數值Ci,得到索引c = (C1, C2, ... , CD);將索引C和源節點S通告給節點η = C ;所以相似的原子模式被注冊到坐標相近的節點上; 所支持的查詢包括三種類型原子查詢當用戶請求C = (C1, C2, ... , cD)時,查詢發送到節點η = C ; 范圍查詢一個范圍查詢用于搜索屬性值落在某范圍內的所有對象;在范圍查詢方式中,C = (C1, C2, ... , cD)中的每個元素Ci都能代表一個范圍A eYl叫,其中Ij和Uj分別是范圍j的上界和下界;范圍查詢被多播到所有節點η e C ;聯合查詢聯合查詢能用一系列原子查詢的聯合來表示,例如"c' Π c";聯合查詢被多播到所有的η = c和η = c ‘;23)、移動支持方式設數據源原來附著在節點s,若數據源移動并附著在其他節點s'上,則節點s被告知節點s'是到達數據源的下一跳,從而s將新到達的關于該數據的數據包轉發給s';若數據源移動了多次,則數據包經過多次轉發直到它到達數據源;若用戶在移動,則在每次切換之后,它必須通知先前附著的節點u它現在附著在u ‘ 上,即,節點u'是從節點u到達該用戶的下一跳;當請求的內容到達節點u時,它將其轉發到節點u',類似地,內容能夠通過多次轉發到達移動用戶處;24)、安全的基于位置的服務方式設某個移動用戶的ID映射到D維向量i = (ii; i2,..., iD),其虛擬家鄉代理節點定義為節點h = i ;每個移動用戶向其虛擬家鄉移動代理節點h注冊一個起始節點Utl ;當用戶j 想與用戶i聯系而不知道i目前的位置時,用戶j將請求包發給節點h,h將請求轉發給節點Utl以抵達用戶i,之后,兩個用戶在沒有虛擬家鄉代理節點輔助的情況下直接通信;每次當移動用戶從之前附著的節點Uk被切換到新附著的節點uk+1時,要求通知Uk其附著到uk+1 了 ;以此方式,在m次切換之后,Utl,U1,..., Um形成一條通向該移動用戶目前位置 Um的路徑;移動用戶可以自行選擇何時更新該路徑中的任何一項信息uk+1 ;當更新uk+1的信息時,就是向Uk發一條新的通知,當更新Utl時,就是向其虛擬家鄉移動代理節點h注冊一個新起始節點Utl ;但不必在每次移動時都通知其虛擬家鄉代理節點;為了隱藏移動用戶的真實位置,移動用戶不向其虛擬家鄉代理節點注冊當前實際附著的節點Utl;相反,用戶隨機選擇任何節點Ut/,在虛擬家鄉代理注冊u/,然后告知u/該用戶的當前位置是U。;為了實現安全的基于位置的服務,移動用戶可以隨機選擇任意轉發路徑U/, U1' , ...,u' ^pUm并以Ut/作為返回地址來請求基于位置的內容或者服務;返回的位置相關數據沿著上述路徑轉發,最終抵達用戶真實附著的節點Um ;因為請求包沒有包含用戶 ID和最終節點Um的信息,使得基于位置的服務是安全的;25)、組管理方式將多播組的名字或者地址映射到向量g = (gl,&,...,份),記節點η = g為該多播組的匯合點;接收者向匯合點發送加入/離開多播組的消息;多播組的發送者將多播數據發送到匯合點,匯合點采用一條最優的多播樹將數據多播給所有接收者。
4.根據權利要求1所述的適用于未來互聯網的結構化網絡系統,其特征在于所述SN的實用化例子包括人工神經網絡,所述人工神經網絡用于對網絡信息的分布式的并行處理; 具體方法是構建一個人工神經網絡ANN,處理單元作為ANN的神經元,處理單元之間的鏈路作為神經元之間的連接,ANN的輸入層神經元用做監測節點,ANN的隱藏層的神經元用于并行計算,ANN的輸出層神經元則基于并行處理結果對網絡進行控制;具體應用包括入侵檢測和協作式測量;
5.根據權利要求4所述的適用于未來互聯網的結構化網絡系統,其特征在于所述的入侵檢測技術能夠有效地檢測從多處發起的協同式攻擊,利用其并行處理能力和快速反應能力,使得在攻擊對系統造成無法挽回的損害之前及時發出警報并做出響應;具體方法如下監測節點從觀察到的數據包中提取所需的特征;在每一個給定的時間間隔,網絡中的所有監測節點都提取數據包中的同一個特征,并在不同的時間間隔提取其不同的特征,在每一個循環中,每個特征都被提取一遍;監測節點將提取的特征轉化為標準的數值;這些由監測節點獲得的數值以并行的方式輸入到ANN ;ANN的每個神經元在一給定時限內等待其所有輸入端的輸入數值的到達;另一方面,該時限用于保證同層神經元之間的同步,從而使得同一個層的所有神經元都能在新輸入到達之前處理完其輸入;縱使輸入由于超時變得不完整或由于噪聲而變形,ANN仍然可以分析收集到的數據;該時限的長度與每個特征的提取時間間隔相等;輸出結果從ANN 的輸出層并行輸出;在第一個ANN的輸出層之后建立另一個ANN,使得第一個ANN的輸出成為第二個ANN的輸入;第二個ANN用于分析特征序列的時間行為;類似地,并行輸入ANN的可以是流量參數和最近的歷史數據,并行輸出的是對流量負載的預測結果和速率控制參數;基于這些結果,其輸出層的控制節點實施流量控制。
6.根據權利要求4所述的適用于未來互聯網的結構化網絡系統,其特征在于所述的協作式網絡測量方法如下主動測量方法是一些監測節點發送探測包,其它監測節點接收并測量這些探測包; ANN分析探測包對的輸入間隔和輸出間隔之間的關系,將分析結果用于估計發送節點和接收節點之間的路徑上瓶頸鏈路的可用帶寬;輸出節點利用分析結果來輔助多媒體傳輸路徑的選擇;被動測量方法是兩個監測節點各自測量一對數據包之間的間隔,兩個測量之間的平均差用于估計兩個監測節點之間路徑的可用帶寬;類似的,通過監測網絡的性能或QoS,對單向延遲、往返延遲和丟失率做出測量;
7.根據權利要求1所述的適用于未來互聯網的結構化網絡系統,其特征在于所述SN的實用化例子包括Batcher網絡,所述Batcher網絡能夠以并行方式對一序列數字進行排序和分布式的并行處理,用于對網絡信息的快速排序或分級;具體包括排序和分級、負載均
8.根據權利要求7所述的適用于未來互聯網的結構化網絡系統,其特征在于所述的排序和分級方法如下在網絡上構建Batcher bitonic排序網絡,Batcher網的交換機是處理單元,交換機之間的連接是處理單元之間的物理鏈路或者邏輯鏈路;每個處理單元只有簡單的功能,即比較兩個輸入數值的大小,把大者轉發到箭頭所指的方向并把小者發送到相反方向;監視節點對請求包中的URL進行分類計數,在每個時間間隔內,URL被請求的次數被用作數據包頭,網頁的URL或域名則是數據包的載荷;這些數據包并行進入Batcher網,在Batcher網的輸出層,代表不同網頁的數據包依據數據包頭的值被排序;類似地,網絡流量報告也能以此方式產生;任何可計數的項,如最擁擠網頁、最熱門應用、最擁塞鏈路等,都能用這種方式被及時排序或分級;這些分級項能用于網絡搜索引擎、對網絡監測、管理、性能規劃、QoS改善和診斷。
9.根據權利要求7所述的適用于未來互聯網的結構化網絡系統,其特征在于所述的負載均衡方法如下Batcher和Banyan網的組合被用于構建整個交換結構,以此消除網絡內部的阻塞以達到負載均衡;具體做法是依據數據包頭部的地址比特,Batcher網對其進行排序,然后 Banyan網中的2X2交換機將輸入數據包交換到相應的輸出;Batcher-Banyan網中的每個階段按順序只關心數據包頭部的一位比特。
全文摘要
本發明提供一種適用于未來互聯網架構的結構化網絡系統,通過虛擬層在物理網絡上構建和維護共存的多個結構化網絡(SN)。本系統能在大規模的無結構網絡上,建立結構化的未來互聯網,并采用全球統一而簡單的編址、路由和查詢機制,從而使得路由查詢時間、網絡互操作或互連接、內容分發效率和服務預留都得到極大改善。結構化網絡的實用化例子包括超立方體網絡、人工神經網絡和Batcher網絡。實現的功能包括內容/服務編址、語義搜索、移動支持、安全的基于位置的服務、多播、入侵檢測、網絡測量、數據融合、網頁分級和流量負載均衡。
文檔編號H04L29/08GK102523166SQ20111043937
公開日2012年6月27日 申請日期2011年12月23日 優先權日2011年12月23日
發明者余順爭 申請人:中山大學