專利名稱:操作虛擬網(wǎng)絡的方法、數(shù)據(jù)網(wǎng)絡系統(tǒng)、計算機程序和計算機程序產(chǎn)品的制作方法
技術領域:
本發(fā)明涉及操作具有第一虛擬網(wǎng)絡和第二虛擬網(wǎng)絡的虛擬網(wǎng)絡 的方法,該第 一虛擬網(wǎng)絡包括分配以第 一虛擬化標簽的第 一組網(wǎng)絡端 口 ,該第二虛擬網(wǎng)絡包括分配以第二虛擬化標簽的第二組網(wǎng)絡端口 , 第一和第二虛擬網(wǎng)絡具有兼容的地址范圍,并只適于在第一和第二虛擬網(wǎng)絡內傳送數(shù)據(jù)分組。本發(fā)明還涉及一種適于實施本發(fā)明方法的數(shù) 據(jù)網(wǎng)絡系統(tǒng)、計算機程序和計算機程序產(chǎn)品。
背景技術:
虛擬網(wǎng)絡是物理網(wǎng)絡的邏輯部分,尤其對于局域網(wǎng)(LAN)。例 如,在IEEE802.1q標準中描述的虛擬局域網(wǎng)(VLAN ),其通過一個 包含VLAN身份標簽等的附加分組標頭擴展了傳統(tǒng)的以太網(wǎng)標準 IEEE802.1。交換機和其他與IEEE802.1q標準兼容的主動網(wǎng)絡組件, 只通過配置成具有VLAN標簽的VLAN的網(wǎng)絡端口傳送數(shù)據(jù)分組, 該VLAN標簽與包含在分組標頭中 一個相對應。虛擬網(wǎng)絡可以用于,例如在如因特網(wǎng)的不安全的、開放的網(wǎng)絡中 創(chuàng)建安全的、封閉的網(wǎng)絡。此外,虛擬網(wǎng)絡可以用于在數(shù)據(jù)分組之間 減少網(wǎng)絡沖突的數(shù)量,并因此改進網(wǎng)絡性能。但是為了實現(xiàn)這些類似的有益目標,網(wǎng)絡節(jié)點(例如連接到網(wǎng)絡 的計算機)和網(wǎng)絡設備(例如交換機)應當被適當?shù)嘏渲?。比如說, 計算機需要一個虛擬網(wǎng)絡內的有效和惟一的網(wǎng)絡地址。此外,計算機 應該配置有諸如郵件或網(wǎng)站服務器的重要服務節(jié)點的有效地址。交換 機、路由器和其他網(wǎng)絡設備需要以合適的虛擬網(wǎng)絡端口分配等來配置。 這樣的配置過程煩瑣且容易出錯。因此,實踐中只有少數(shù)虛擬網(wǎng)絡由網(wǎng)絡管理員進行配置。而且, 網(wǎng)絡節(jié)點幾乎不能從一個虛擬網(wǎng)絡移到另 一個。這與某些通過虛擬網(wǎng)絡實現(xiàn)的目標(如隔離具有不良行為(misbehaving)的網(wǎng)絡節(jié)點或調 整虛擬網(wǎng)絡以改變性能需求)產(chǎn)生矛盾。因而,需要操作虛擬網(wǎng)絡的改進方法和數(shù)據(jù)網(wǎng)絡系統(tǒng)。發(fā)明內容根據(jù)本發(fā)明的一個方面,提供了一種操作虛擬網(wǎng)絡的方法。 該方法包括提供第一虛擬網(wǎng)絡和第二虛擬網(wǎng)絡,該第一虛擬網(wǎng)絡 包括分配以第一虛擬化標簽的第一組網(wǎng)絡端口 ,該第二虛擬網(wǎng)絡包括 分配以第二虛擬化標簽的第二組網(wǎng)絡端口 ,第 一和第二虛擬網(wǎng)絡具有 兼容的地址范圍,并適于只在所述第 一和第二虛擬網(wǎng)絡內傳送數(shù)據(jù)分 組。該方法還包括步驟提供具有第一虛擬網(wǎng)絡中的源地址的第一網(wǎng) 絡節(jié)點,該節(jié)點可操作地連接到通過第一虛擬化標簽分配給第一虛擬 網(wǎng)絡的第一端口,監(jiān)控第一網(wǎng)絡節(jié)點以檢測預定條件,并在檢測到預 定條件時,通過將第二虛擬化標簽分配給第一端口重新將第一端口分 配給第二虛擬網(wǎng)絡,使得沒有數(shù)據(jù)分組能夠從第一網(wǎng)絡節(jié)點傳送到第 二網(wǎng)絡節(jié)點,該第二網(wǎng)絡節(jié)點直接連接到通過第 一虛擬標簽分配到第 一虛擬網(wǎng)絡的第二端口,并在第二虛擬網(wǎng)絡中保持第一網(wǎng)絡節(jié)點的源 地址。通過將第二虛擬化標簽分配給給定的第一端口 ,第一網(wǎng)絡節(jié)點可 以從第一虛擬網(wǎng)絡移動到第二虛擬網(wǎng)絡。由于第一和第二虛擬網(wǎng)絡具 有兼容的地址范圍,并且第 一 網(wǎng)絡節(jié)點的網(wǎng)絡地址在第二虛擬網(wǎng)絡中 保持不變,所以將第一網(wǎng)絡節(jié)點從第一虛擬網(wǎng)絡移動到第二虛擬網(wǎng)絡 對第一網(wǎng)絡節(jié)點來說是透明的。因此,第一虛擬網(wǎng)絡節(jié)點的配置不需 要改變。因而,網(wǎng)絡節(jié)點就可以從一個虛擬網(wǎng)絡移動到另一個虛擬網(wǎng) 絡,例如用于將第一網(wǎng)絡節(jié)點從第一虛擬網(wǎng)絡隔離開。根據(jù)本發(fā)明的第一方面的有益實施例,預定條件通過狀態(tài)機從第 一狀態(tài)到第二狀態(tài)的狀態(tài)變遷來給出,狀態(tài)機的每個狀態(tài)與對每個網(wǎng)絡端口分配虛擬化標簽相關。通過使用檢測預定條件的狀態(tài)機,可以創(chuàng)建多種配置的虛擬網(wǎng) 絡,并與狀態(tài)機的狀態(tài)相關聯(lián)。例如網(wǎng)絡故障的發(fā)生或網(wǎng)絡管理員發(fā) 起的行為等事件都可用于引發(fā)狀態(tài)變遷,因而產(chǎn)生新的虛擬網(wǎng)絡配置。根據(jù)本發(fā)明的第二方面,提供了一種操作虛擬網(wǎng)絡的方法。該方法包括步驟提供第一虛擬網(wǎng)絡和第二虛擬網(wǎng)絡,該第一虛擬網(wǎng)絡包 括分配以第 一虛擬化標簽的第 一組網(wǎng)絡端口 ,該第二虛擬網(wǎng)絡包括分 配以第二虛擬化標簽的第二組網(wǎng)絡端口 ,第 一和第二虛擬網(wǎng)絡具有兼 容的地址范圍,并適于只在所述第一和第二虛擬網(wǎng)絡內傳送數(shù)據(jù)分組。 該方法還包括步驟提供地址翻譯器,其可操作地連接到通過第一虛 擬化標簽分配給第 一虛擬網(wǎng)絡的第 一翻譯器端口和通過第二虛擬化標 簽分配給第二虛擬網(wǎng)絡的第二翻譯器端口 ,通過連接到第二虛擬網(wǎng)絡 發(fā)送器端口的發(fā)送器節(jié)點發(fā)送包含帶有目的地址的分組標頭的數(shù)據(jù)分 組,發(fā)送器端口用第二虛擬化標簽對數(shù)據(jù)分組進行標記,確定帶有分 組標頭的目的地址的目的地節(jié)點是否被包含在第二虛擬網(wǎng)絡內,當檢 測到目的地節(jié)點沒有包含在第二虛擬網(wǎng)絡中時,重新定向數(shù)據(jù)分組至 包含于第一和第二虛擬網(wǎng)絡中的接收器上,以通過經(jīng)地址翻譯器將數(shù) 據(jù)分組分別發(fā)送至分配給第一和第二虛擬化標簽的第一和第二翻譯器 端口,進行進一步處理。通過利用具有每個虛擬網(wǎng)絡中網(wǎng)絡端口的地址翻譯器連接第一 和第二虛擬網(wǎng)絡,數(shù)據(jù)分組可以從一個虛擬網(wǎng)絡路由到其他虛擬網(wǎng)絡。 因此,可以將數(shù)據(jù)分組從位于第二網(wǎng)絡中的發(fā)送器節(jié)點,重定向至位 于第一或笫二虛擬網(wǎng)絡上的接收器節(jié)點。如果發(fā)送器節(jié)點之前已經(jīng)從 第 一虛擬網(wǎng)絡移動到第二虛擬網(wǎng)絡,這使得成功地對從翻譯器節(jié)點到 接收器節(jié)點的請求作出響應。根據(jù)本發(fā)明第二方面的優(yōu)選實施例,接收器節(jié)點包含在第一虛擬 網(wǎng)絡中,并在重定向步驟中,包含在分組標頭中的源地址被改變到分 配給第一虛擬網(wǎng)絡中的地址翻譯器的第一翻譯器地址上,該修改的分 組標頭被發(fā)送至用于傳送至接收器節(jié)點的第一翻譯器端口。通過改變分組標頭的源地址,從第一翻譯器端口傳送的相關數(shù)據(jù) 分組在第 一虛擬網(wǎng)絡內仍然有效,即使其源于第二虛擬網(wǎng)絡中的發(fā)送 器節(jié)點。這種行為例如可以通過利用網(wǎng)絡地址翻譯設備來實現(xiàn)。根據(jù)本發(fā)明第二方面的另一個優(yōu)選實施例,該接收器節(jié)點包含在 第二虛擬網(wǎng)絡中,并具有一個接收器地址,在重定向步驟中,包含在 分組標頭的目的地址被改變?yōu)榻邮掌鞯刂?,并且該修改的分組標頭被 發(fā)送至用于傳送到接收器節(jié)點的第二翻譯器端口。通過改變目的地址并在第二虛擬網(wǎng)絡中重新發(fā)送改變的數(shù)據(jù)分 組,發(fā)送器節(jié)點的請求能夠被透明地重定向至包含在第二虛擬網(wǎng)絡中 的新接收器節(jié)點上。根據(jù)本發(fā)明第二方面的另一個優(yōu)選實施例,該接收器節(jié)點是對應 用協(xié)議特定的代理服務器節(jié)點。通過提供應用特定的代理服務器節(jié)點,包括在從發(fā)送器節(jié)點發(fā)送 的數(shù)據(jù)分組中的請求,能夠被重定向至該代理服務器而不是原目的地 址。這允許例如,對從隔離于第二虛擬網(wǎng)絡的發(fā)送器節(jié)點發(fā)送的數(shù)據(jù) 分組的處理不同于對源于第一虛擬網(wǎng)絡的數(shù)據(jù)分組的處理。根據(jù)本發(fā)明的第三方面,提供了一個數(shù)據(jù)網(wǎng)絡系統(tǒng),該數(shù)據(jù)網(wǎng)絡 系統(tǒng)適于執(zhí)行根據(jù)本發(fā)明第 一方面的方法,該數(shù)據(jù)網(wǎng)絡系統(tǒng)包括交換 機,地址翻譯器以及第一虛擬網(wǎng)絡節(jié)點,其中該交換機包括多個端口, 每個端口通過對應的虛擬化標簽分配給虛擬網(wǎng)絡,該地址翻譯器可操 作地連接到通過第 一虛擬化標簽分配給第 一虛擬網(wǎng)絡的交換機的第一 翻譯器端口 ,并可操作地連接到通過第二虛擬化標簽分配給第二虛擬網(wǎng)絡的交換機的第二翻譯器端口,該第一網(wǎng)絡節(jié)點包括源地址,其可 操作地連接到通過第 一虛擬化標簽分配給第 一虛擬網(wǎng)絡的第 一端口 。通過提供一個帶有可操作地連接到第一和第二虛擬網(wǎng)絡的地址 翻譯器的數(shù)據(jù)網(wǎng)絡系統(tǒng),第一網(wǎng)絡節(jié)點可以從第一虛擬網(wǎng)絡移動到第 二虛擬網(wǎng)絡,而不需要重新配置第一網(wǎng)絡節(jié)點。根據(jù)本發(fā)明第三方面的優(yōu)選實施例,該數(shù)據(jù)網(wǎng)絡系統(tǒng)還包括可操 作地連接到第 一虛擬網(wǎng)絡的第二網(wǎng)絡節(jié)點或可操作地連接到第二虛擬網(wǎng)絡的第三網(wǎng)絡節(jié)點,因而該數(shù)據(jù)網(wǎng)絡系統(tǒng)還適于執(zhí)行根據(jù)本發(fā)明的 第二方面的方法。通過在第一或第二虛擬網(wǎng)絡中提供第二或第三網(wǎng)絡節(jié)點,從第一 網(wǎng)絡節(jié)點發(fā)送的數(shù)據(jù)分組,可以重定向到在第二虛擬網(wǎng)絡中的第一或 第三網(wǎng)絡節(jié)點的第二網(wǎng)絡節(jié)點上。根據(jù)本發(fā)明的第四方面,提供了一種計算機程序,該程序包括適 于執(zhí)行根據(jù)本發(fā)明的第一和第二方面的方法中的所有步驟的程序指 令。根據(jù)本發(fā)明的第五方面,提供了一種包括計算機可讀介質的計算 機程序產(chǎn)品,該計算機可讀介質中包含有可由至少一個處理器來執(zhí)行 根據(jù)本發(fā)明的第一或第二方面的方法中的所有步驟的可執(zhí)行程序指 令。
結合附圖,參考對根據(jù)本發(fā)明當前優(yōu)選但僅示意性實施例的如下 詳細描述,能夠更加全面的理解本發(fā)明及其實施例。圖1A是示意性網(wǎng)絡設置,包括第一和第二虛擬網(wǎng)絡,其中第一 網(wǎng)絡節(jié)點包含在第一虛擬網(wǎng)絡中,圖1B是示意性網(wǎng)絡設置,包括第一和第二虛擬網(wǎng)絡,其中第一 網(wǎng)絡節(jié)點包含在第二虛擬網(wǎng)絡中,圖2是地址翻譯器示意性內部結構,圖3是確定虛擬網(wǎng)絡配置的有限狀態(tài)機的示意性狀態(tài)圖,圖4是操作虛擬網(wǎng)絡第一方法實施例流程圖,以及圖5是操作虛擬網(wǎng)絡第二方法實施例流程圖。
具體實施方式
圖1A示出了示意性網(wǎng)絡設置,包括第一虛擬網(wǎng)絡103和第二虛 擬網(wǎng)絡104。該結構包括一個交換機100、路由器109和地址翻譯器106。該交換機包括五個端口 Pl、 P2、 P3、 P4和P5,其通過第一虛 擬化標簽Tl分配給第一虛擬網(wǎng)絡103,或通過第二虛擬化標簽T2分 配給第二虛擬網(wǎng)絡104。在給定的例子中,第一組網(wǎng)絡端口 101包括 -故分配給第一虛擬化標簽Tl的端口 Pl、 P2和P4。網(wǎng)絡端口 P3和 P5被分配給第二組網(wǎng)絡端口 105。如前所述使用網(wǎng)絡交換機100,由分配給第一虛擬網(wǎng)絡103的網(wǎng) 絡端口 Pl、 P2和P4中的任何一個接收的每個數(shù)據(jù)分組,被標以第一 虛擬化標簽Tl,而由網(wǎng)絡端口 P3和P5所接收的數(shù)據(jù)分組;故標以第 二虛擬化標簽T2。反之,沒有標以第一或第二虛擬化標簽Tl或T2 的數(shù)據(jù)分組,將通過與非匹配虛擬化標簽相關的網(wǎng)絡端口發(fā)送。網(wǎng)絡設置包括分別連接到網(wǎng)絡端口 Pl、 P2和P3上并具有源地 址SA、目的地址DA和接收器地址RA的三個網(wǎng)絡節(jié)點Nl、 N2和 N3。在給定的例子中,網(wǎng)絡節(jié)點Nl、 N2和N3是連接到交換機100 上的計算機。通常,任何類型的網(wǎng)絡設備都可以連接到網(wǎng)絡端口 Pl、 P2和P3。此外,路由器109連接到如因特網(wǎng)的外部網(wǎng)絡108上。因為網(wǎng)絡節(jié)點Nl、 N2和N3不能讀取、設置或操作網(wǎng)絡端口 Pl 到P5自身應用的網(wǎng)絡標簽Tl或T2,所以例如,沒有數(shù)據(jù)能夠直接 從網(wǎng)絡節(jié)點N3發(fā)送到網(wǎng)絡節(jié)點Nl或N2。地址翻譯器106,通過到交換機100的第一地址翻譯器端口 P4 的路由器109,連接到第一虛擬網(wǎng)絡103。此外,地址翻譯器106,通 過第二地址翻譯器端口 P5連接到第二虛擬網(wǎng)絡104。在給定的例子中, 地址翻譯器106是一個外部網(wǎng)絡地址翻譯NAT設備。然而實踐中, 地址翻譯器106可以是交換機100的一個集成部分,在這種情況下, 第一和第二翻譯器端口 (P4、 P5)可能不是物理連接,而是邏輯端口。 對于本申請而言,地址翻譯器能夠在虛擬網(wǎng)絡103和104中發(fā)送和接 收數(shù)據(jù)分組就足夠了。根據(jù)當前實施例,檢測網(wǎng)絡節(jié)點Nl的預定條件。這樣的條件可 以是,例如網(wǎng)絡節(jié)點N1上的病毒或蠕蟲感染,網(wǎng)絡節(jié)點N1的癱瘓或 其他局部或全部的故障,入侵防止系統(tǒng)(IPS)的激活或任何其他如高網(wǎng)絡流量或低網(wǎng)絡流量或對非正常地址的請求等條件,該請求可以通 過重配置網(wǎng)絡設置來響應。當然也可以手動地觸發(fā)這種條件,例如, 根據(jù)網(wǎng)絡管理員的請求。可以由節(jié)點N1自身來執(zhí)行對預定條件的監(jiān)控,例如通過病毒檢 測程序或性能監(jiān)視器,通過一個或幾個網(wǎng)絡設備,例如交換機100、 路由器109或地址翻譯器106,或通過在圖1A中未示出的如防火墻或 網(wǎng)絡性能監(jiān)視器的外部設備。圖1B示出了分別包括第一和第二虛擬網(wǎng)絡103和104的類似的 示意性網(wǎng)絡設置。相比于圖1A所示結構,圖1B示出的設置的不同點 在于網(wǎng)絡節(jié)點Nl連接的網(wǎng)絡端口 Pl,該端口現(xiàn)在分配以第二虛擬化 標簽T2,使得網(wǎng)絡節(jié)點N1現(xiàn)在屬于第二虛擬網(wǎng)絡104。通過在邏輯上將第一網(wǎng)絡節(jié)點Nl從第一虛擬網(wǎng)絡103移動到第 二虛擬網(wǎng)絡104,就可以避免通過監(jiān)控預定條件檢測到的威脅。在該 例中,第一虛擬網(wǎng)絡103被認為是生產(chǎn)狀態(tài)虛擬網(wǎng)絡(a production state virtual network),具有對其他網(wǎng)絡節(jié)點N2或外部網(wǎng)絡108的完 全訪問權限,而第二虛擬網(wǎng)絡104被認為是一個隔離網(wǎng)絡,對其他網(wǎng) 絡資源只具有有限的訪問權限。例如,如果在網(wǎng)絡節(jié)點Nl上檢測到病毒感染,網(wǎng)絡節(jié)點可以很 快地移動到第二虛擬網(wǎng)絡,因而避免了連接到第一虛擬網(wǎng)絡103的第 二網(wǎng)絡節(jié)點N2的感染。類似地,網(wǎng)絡節(jié)點Nl可以與外部網(wǎng)絡108隔 離,以防止?jié)撛诘姆诸愋畔木W(wǎng)絡節(jié)點Nl發(fā)送到外部網(wǎng)絡108。圖2示出了地址翻譯器106的內部結構。該地址翻譯器106包括 與分配給第一虛擬網(wǎng)絡103的第一翻譯器端口 P4 —起使用的外部地 址107。地址翻譯器106的所有其它內部組件,通過第二虛擬化標簽 T2分配給第二虛擬網(wǎng)絡104的地址,這就意味著它們都可以訪問連接 到第二組網(wǎng)絡端口 105的端口的網(wǎng)絡節(jié)點。在給定例子中,地址翻譯器包括內部代理服務器204,被分配給 如HTTP、 SMTP、 POP3和IMAP的不同應用級協(xié)議。該代理服務器 204可以選擇性地響應或轉發(fā)對特定協(xié)議的應用請求。此外,地址翻譯器106包括補丁 ( patch )服務器205、殺毒服務器206以及重連接 啟動器207。補丁服務器205,殺毒服務器206和重連接啟動器207可以用于 對第二虛擬網(wǎng)絡104提供服務,該第二虛擬網(wǎng)絡特定于在其中包含的 網(wǎng)絡節(jié)點。例如,如果第二虛擬網(wǎng)絡104用于隔離被病毒或其他惡意 程序感染的第一網(wǎng)絡節(jié)點Nl,在重連接啟動器207用于將未感染網(wǎng)絡 節(jié)點Nl移回到第一虛擬網(wǎng)絡103之前,該殺毒服務器206可用于移 除病毒,補丁服務器205可用于對運行在網(wǎng)絡節(jié)點Nl上的軟件安裝 安全更新,以防止今后感染。地址翻譯器106還包括地址映射模塊208,該模塊可以利用第一 虛擬網(wǎng)絡103中地址翻譯器106的外部地址107,使第二虛擬網(wǎng)絡104 的網(wǎng)絡節(jié)點地址與發(fā)送到第 一虛擬網(wǎng)絡103的數(shù)據(jù)分組相關聯(lián)。例如, 所謂的網(wǎng)絡地址翻譯裝置(NAT)可用于連接第一虛擬網(wǎng)絡103和第 二虛擬網(wǎng)絡104。通常,網(wǎng)絡地址翻譯設備用于只利用單個外部可視 地址107,連接專用網(wǎng)絡104和如因特網(wǎng)的外部網(wǎng)絡108。地址翻譯器106還包括過濾模塊202和驗證才莫塊203。該過濾模 塊202可用于將地址映射模塊208執(zhí)行的地址映射限制到一組預定的 應用或地址。也可以根據(jù)特定請求的驗證進行過濾,例如,通過在請 求之前驗證提供給驗證模塊203的用戶名和口令。盡管地址翻譯器106被示為一個包括多個內部代理服務器204、 服務器205、 206和207以及其他模塊202、 208和203的獨立組件, 地址翻譯器106可以是交換機100、路由器109或它們的組合的一部 分。同樣,地址翻譯器106的內部組件202到208也可以以硬件或軟 件實現(xiàn)為獨立單元。圖3示出了確定單個網(wǎng)絡端口 Pl狀態(tài)的有限狀態(tài)機301的示意 性狀態(tài)圖。最初,網(wǎng)絡端口 Pl處于與第一虛擬網(wǎng)絡103相關聯(lián)的生 產(chǎn)狀態(tài)302。在這種狀態(tài)下,連接到網(wǎng)絡端口 Pl的節(jié)點N1對于第一 虛擬網(wǎng)絡103或外部網(wǎng)絡108上的其他節(jié)點N2具有完全的訪問權限。一旦檢測到蠕蟲或病毒感染,利用狀態(tài)變遷305將網(wǎng)絡端口 Pl切換到與第二虛擬網(wǎng)絡104相關聯(lián)的通知狀態(tài)303。在這種狀態(tài),可 以將感染通知給用戶或網(wǎng)絡節(jié)點Nl的網(wǎng)絡管理員。用戶或管理員而后可以利用狀態(tài)變遷307,請求重新連接到與生 產(chǎn)狀態(tài)302相關聯(lián)的第一虛擬網(wǎng)絡103,例如在手動驗證網(wǎng)絡節(jié)點Nl 沒有對第一虛擬網(wǎng)絡103造成威脅并成功驗證之后。作為替代,用戶或管理員可以利用另一個狀態(tài)變遷306,請求被 遷移到與第三虛擬網(wǎng)絡相關聯(lián)的固定狀態(tài)304。在固定狀態(tài)304,網(wǎng)絡 節(jié)點Nl可被授權訪問用于移除病毒感染的服務,例如訪問殺毒服務 器206或補丁服務器205。在安裝了補丁或驗證了病毒感染已經(jīng)從網(wǎng) 絡節(jié)點N1移除以后,第一虛擬化標簽可再次分配給端口 Pl,利用狀 態(tài)變遷308使第一節(jié)點Nl返回到與生產(chǎn)狀態(tài)302相關聯(lián)的第一虛擬 網(wǎng)絡103。通過使用狀態(tài)機301監(jiān)控預定條件,并將虛擬化標簽Tl或T2 分配給交換機100的端口 Pl到P5,可以輕松地創(chuàng)建、監(jiān)控和配置多 個虛擬網(wǎng)絡103和104。因此,可以自動地將網(wǎng)絡節(jié)點Nl從一個虛擬 網(wǎng)絡103移動到另一個虛擬網(wǎng)絡104,只要不同的虛擬網(wǎng)絡的地址空 間是兼容的,使得移動對網(wǎng)絡節(jié)點N1自身是透明的。因為可用的狀態(tài)變遷取決于狀態(tài)機301所處的狀態(tài),檢查的預定 狀態(tài)可以以上下文敏感的方式定義。例如已經(jīng)在與通知狀態(tài)303相關 聯(lián)的虛擬網(wǎng)絡104中的網(wǎng)絡節(jié)點N1,不需要再進行病毒監(jiān)控。狀態(tài)機301不必如圖3的簡單例子中所示的為限。尤其是在大型 網(wǎng)絡中,可使用自治進程(autonomous agent)自動定義新的狀態(tài)并 因而定義虛擬網(wǎng)絡,例如對邏輯上無關但物理上連接于單個網(wǎng)絡的網(wǎng) 絡資源進行自動分離。可以使用這種自動配置,例如用于性能優(yōu)化或 改進網(wǎng)絡安全性。因此,可利用狀態(tài)機301的狀態(tài)和狀態(tài)變遷對整個網(wǎng)絡的配置進 行編碼。圖4示出了操作虛擬網(wǎng)絡的第一方法的一個實施例的流程圖。在 第一步驟401中,提供了第一虛擬網(wǎng)絡103和第二虛擬網(wǎng)絡104,第一虛擬網(wǎng)絡103包括分配以第一虛擬化標簽Tl的第一組網(wǎng)絡端口 101,第二虛擬網(wǎng)絡104包括分配給第二虛擬化標簽T2的第二組網(wǎng)絡 端口 105,第一和第二虛擬網(wǎng)絡103和104具有兼容的地址范圍,并 適于只在第一和第二虛擬網(wǎng)絡內傳送分組。在第二步驟402中,提供了第一網(wǎng)絡節(jié)點Nl,該第一網(wǎng)絡節(jié)點 Nl具有第一虛擬網(wǎng)絡節(jié)點103中的源地址SA,并能可操作地連接到 通過第一虛擬化標簽T1分配給第一虛擬網(wǎng)絡103的第一端口 Pl。例 如,第一虛擬網(wǎng)絡103可用于包括在正常操作條件下的所有網(wǎng)絡節(jié)點 Nl和N2。在步驟403中,監(jiān)控網(wǎng)絡節(jié)點N1的預定條件。這種條件可以是, 例如蠕蟲或病毒的檢測,流入或流出第一節(jié)點Nl的異常的高或低的 網(wǎng)絡流量的檢測,或者與具有不良行為的網(wǎng)絡節(jié)點Nl相關聯(lián)的類似 征兆。如果在步驟404中沒有檢測到這種條件,那么在步驟403中繼續(xù) 監(jiān)控網(wǎng)絡節(jié)點N1。但是,如果在步驟404中檢測到了這種條件,那么 該方法繼續(xù)到步驟405。在步驟405,通過其連接網(wǎng)絡節(jié)點Nl和交換機100的網(wǎng)絡端口 Pl ,被分配以與第二虛擬網(wǎng)絡104相關聯(lián)的第二虛擬化標簽T2。因此, 網(wǎng)絡節(jié)點Nl從第一虛擬網(wǎng)絡103移動到第二虛擬網(wǎng)絡104。但網(wǎng)絡節(jié) 點Nl的配置保持不變。尤其是用于第一虛擬網(wǎng)絡103的網(wǎng)絡節(jié)點Nl 的網(wǎng)絡地址SA,同樣用于第二虛擬網(wǎng)絡104。如果第二虛擬網(wǎng)絡104與第一虛擬網(wǎng)絡103有兼容的地址結構, 那么第一節(jié)點Nl從第一虛擬網(wǎng)絡103到第二虛擬網(wǎng)絡104的切換, 對于第一網(wǎng)絡節(jié)點Nl是透明的。尤其是,如果曾經(jīng)可用于第一虛擬 網(wǎng)絡103的、與預定地址DA相關聯(lián)的類似服務可用于第二虛擬網(wǎng)絡 104,包括在從第一網(wǎng)絡節(jié)點N1發(fā)送的數(shù)據(jù)分組中的服務請求,仍然 會像以前一樣在第二虛擬網(wǎng)絡104中得到響應。圖5示出了操作虛擬網(wǎng)絡的第二方法實施例的流程圖。在第一步 驟501中,提供了第一虛擬網(wǎng)絡103和第二虛擬網(wǎng)絡104。該步驟與上述步驟401相同。步驟502中,提供地址翻譯器106,其可操作地連接到通過第一 虛擬化標簽T1分配給第一虛擬網(wǎng)絡103的第一翻譯器端口 P4和通過 第二虛擬化標簽T2分配給第二虛擬網(wǎng)絡104的第二翻譯器端口 P5。地址翻譯器106可實現(xiàn)為單獨的硬件單元,集成入如交換機100 或路由器109之類的另一網(wǎng)絡設備,或者可以以軟件來實現(xiàn)??商峁?計算機可讀介質,其包括包括在例如地址翻譯器106或交換機100中 的處理器可執(zhí)行的程序的程序指令。計算機可讀介質可以例如是 CD-ROM、閃存卡、硬盤或任何其他適用的計算機可讀介質。在步驟503中,連接到分配給第二虛擬網(wǎng)絡104的發(fā)送器端口 Pl的第一網(wǎng)絡節(jié)點Nl,發(fā)送包括具有目的地址DA的分組標頭的數(shù) 據(jù)分組。數(shù)據(jù)分組例如可以如圖1B所示,從發(fā)送器節(jié)點N1的源地址 SA發(fā)送到第二網(wǎng)絡節(jié)點N2的目的地址DA。在步驟504,數(shù)據(jù)分組由發(fā)送器端口 Pl標以第二虛擬化標簽T2。在圖1B所示的例子中,第二網(wǎng)絡節(jié)點N2包括在第一虛擬網(wǎng)絡 103中,例如生產(chǎn)狀態(tài)虛擬網(wǎng)絡。然而,在發(fā)送器節(jié)點Nl上檢測到病 毒感染后,發(fā)送器節(jié)點N1早已經(jīng)被移到第二虛擬網(wǎng)絡104,例如隔離 網(wǎng)絡。在那種情況下,數(shù)據(jù)分組從發(fā)送器節(jié)點Nl直接發(fā)送到地址為目 的地址DA的節(jié)點N2是不可能的,因為網(wǎng)絡節(jié)點Nl連接的端口 Pl 屬于第二組網(wǎng)絡端口 105,但連接到節(jié)點N2的網(wǎng)絡端口 P2屬于第一 組網(wǎng)絡端口 IOI,并且每組端口 101和105都只能在包含在相同組101 或105中的端口間傳送數(shù)據(jù)分組。在步驟505中,確定具有分組標頭的指定目的地址DA的網(wǎng)絡節(jié) 點N2是否包含在第二虛擬網(wǎng)絡104中。該功能可以例如通過地址翻 譯器106執(zhí)行。如果在步驟506中確定目的地址DA包括在第二虛擬網(wǎng)絡104中, 那么就不用釆取進一步的行動。然后數(shù)據(jù)分組照常被轉發(fā)到第二虛擬 網(wǎng)絡104中的目的地址。但是,如果確定目的地址DA沒有包含在第二虛擬網(wǎng)絡中,如圖IB所示,地址翻譯器106在步驟507中重定向 數(shù)據(jù)分組。數(shù)據(jù)分組可以分別重定向到包含在第一或第二虛擬網(wǎng)絡103或 104中的接收器節(jié)點N2或N3,用于通過將數(shù)據(jù)分組發(fā)送到第一或第 二翻譯器端口 P4或P5進行進一步處理。尤其是,通過經(jīng)分配以第一 虛擬化標簽T1的第一翻譯器端口 P4重新發(fā)送數(shù)據(jù)分組,數(shù)據(jù)分組可 以從第二虛擬網(wǎng)絡104移動到第一虛擬網(wǎng)絡103。因此,從發(fā)送器節(jié)點N1發(fā)送的數(shù)據(jù)分組,可以發(fā)送到包含在不 同的虛擬網(wǎng)絡中的接收器節(jié)點N2。但是,如果從發(fā)送器節(jié)點N1以給 定目的地址DA向網(wǎng)絡節(jié)點N2發(fā)送數(shù)據(jù)分組被認為太危險,例如因 為發(fā)送器節(jié)點Nl被認為為感染了病毒,數(shù)據(jù)分組可以重定向到包含 在第二虛擬網(wǎng)絡104中的另一個網(wǎng)絡節(jié)點N3。如果對于特定應用服務的所有請求被定向到固定的目的地址 DA,這可以以特別容易的方法來實現(xiàn)。例如,第一虛擬網(wǎng)絡103可以 包括網(wǎng)絡節(jié)點N2,該節(jié)點對根據(jù)在第一給定目的地址DA上超文本傳 輸協(xié)議(HTTP)的請求提供服務。如果應用代理服務器204包含在相同目的地址DA的第二虛擬網(wǎng) 絡104中,從包含在第二虛擬網(wǎng)絡中104中的節(jié)點Nl發(fā)送的HTTP 請求,被傳送至應用代理服務器204。該應用代理服務器204之后可 以決定,是將所接收的請求發(fā)送到包含在第一虛擬網(wǎng)絡103中的實際 網(wǎng)絡節(jié)點N2上,還是重定向數(shù)據(jù)分組到不同的接收器地址RA。通常,接收器地址RA可以與第一虛擬網(wǎng)絡103中的接收器節(jié)點 N2、第二虛擬網(wǎng)絡104中的接收器節(jié)點N3、外部網(wǎng)絡108中的接收 器節(jié)點或地址翻譯器106的內部接收器相關聯(lián)。如果地址翻譯器連接 到兩個以上的虛擬網(wǎng)絡,接收器節(jié)點當然可以被包含在通過例如另一 個地址翻譯器106或路由器109直接或間接地連接到地址翻譯器的任 何一個虛擬網(wǎng)絡中。在一個特別有趣的實施例中,數(shù)據(jù)分組被重定向到包含在第二虛 擬網(wǎng)絡104中的接收器節(jié)點N3中,例如為防止病毒感染從發(fā)送器節(jié)點Nl擴散到用作隔離網(wǎng)絡的第二虛擬網(wǎng)絡104以外的任何網(wǎng)絡節(jié)點。包含在地址翻譯器106的代理服務器204中的或以不同方式連接 到第二虛擬網(wǎng)絡104中的專用接收器節(jié)點N3,可以將預定結果返回到 發(fā)送器節(jié)點N1。這種預定結果可以包括例如警告消息,告訴發(fā)送器節(jié) 點Nl的用戶發(fā)送器節(jié)點Nl可能受到了病毒的感染。也可以為其他應 用協(xié)議,如SMTP、 POP3或IMAP等電子郵件協(xié)議,提供類似的警 告。這種警告消息可以發(fā)送給用戶或網(wǎng)絡管理員作為替代。作為替代,發(fā)送器節(jié)點Nl的請求可以由過濾模塊202進行過濾。 其他數(shù)據(jù)分組可以根據(jù)數(shù)據(jù)分組的驗證,轉發(fā)到特定網(wǎng)絡節(jié)點。例如, 如果驗證模塊203驗證網(wǎng)絡管理員具有要求的權限,在經(jīng)過網(wǎng)絡管理 員驗證的數(shù)據(jù)分組中編碼的請求可被轉發(fā)到殺毒服務器206或補丁服 務器205。 一個源自發(fā)送器節(jié)點Nl的用戶且沒有這種授權的數(shù)據(jù)分 組,可以由過濾單元202簡單地過濾出來。盡管使用在病毒感染時隔離網(wǎng)絡節(jié)點Nl的例子描述了操作虛擬 網(wǎng)絡的方法,但是也可以采用類似的方法利用狀態(tài)機301自動地將網(wǎng) 絡節(jié)點Nl到N3組織成多個虛擬網(wǎng)絡。這種自動配置也可以例如根據(jù) 性能的要求,對網(wǎng)絡節(jié)點N1到N3進行組織。只要不背離本發(fā)明的精神,上述方法的這個和其他修改,對于本 領域技術人員是顯而易見的。例如,該方法可用于多協(xié)議標記交換 (MPLS)協(xié)議,以在廣域網(wǎng)中實現(xiàn)類似的有益效果。同樣,圖1A和圖1B中的網(wǎng)絡設置也只是示例性的, 一般來說 在實踐中會更為復雜。例如,多個交換機100可通過多個路由器109、 地址翻譯器106或其他網(wǎng)絡設備連接。此外,虛擬網(wǎng)絡103或104可 以跨越多個物理上獨立的站點上,例如跨國公司內部網(wǎng)絡的不同局域 網(wǎng)。
權利要求
1.操作虛擬網(wǎng)絡的方法,包括提供第一虛擬網(wǎng)絡(103)和第二虛擬網(wǎng)絡(104),所述第一虛擬網(wǎng)絡包括分配以第一虛擬化標簽(T1)的第一組網(wǎng)絡端口(101),所述第二虛擬網(wǎng)絡(104)包括分配以第二虛擬化標簽(T2)的第二組網(wǎng)絡端口(105),所述第一和第二虛擬網(wǎng)絡(103,104)具有兼容的地址范圍,并適于只在所述第一和第二虛擬網(wǎng)絡內傳送數(shù)據(jù)分組,提供具有所述第一虛擬網(wǎng)絡中(103)的源地址(SA)的第一網(wǎng)絡節(jié)點(N1),所述第一網(wǎng)絡節(jié)點可操作地連接到通過所述第一虛擬化標簽(T1)分配給所述第一虛擬網(wǎng)絡(103)的第一端口(P1),監(jiān)控所述第一網(wǎng)絡節(jié)點(N1)以檢測條件預定條件,并且在檢測到預定條件時,通過將所述第二虛擬化標簽(T2)分配給所述第一端口(P1),重新將所述第一端口(P1)分配給所述第二虛擬網(wǎng)絡(104),使得沒有數(shù)據(jù)分組從所述第一網(wǎng)絡節(jié)點(N1)傳送到第二網(wǎng)絡節(jié)點(N2),所述第二網(wǎng)絡節(jié)點(N2)通過所述第一虛擬標簽(T1)直接連接到分配給所述第一虛擬網(wǎng)絡(103)的第二端口(P2),并將所述第一網(wǎng)絡節(jié)點(N1)的源地址(SA)保持在所述第二虛擬網(wǎng)絡(104)中。
2. 根據(jù)權利要求1的方法,其中,所述預定條件由狀態(tài)機(301)的從第一狀態(tài)(302 )到第二狀態(tài) (303 )的狀態(tài)變遷(305 )給出,所述狀態(tài)機(301)的每個狀態(tài)(302, 303 )與給每個網(wǎng)絡端口 (Pl, P2)的虛擬化標簽(Tl, T2)的分配 相關。
3. 操作虛擬網(wǎng)絡的方法,包括提供第一虛擬網(wǎng)絡(103)和第二虛擬網(wǎng)絡(104),所述第一虛 擬網(wǎng)絡(103)包括分配以第一虛擬化標簽(Tl)的第一組網(wǎng)絡端口 (101),所述第二虛擬網(wǎng)絡(104)包括分配以第二虛擬化標簽(T2) 的第二組網(wǎng)絡端口 (105),所述第一和第二虛擬網(wǎng)絡(103, 104 )具有兼容的地址范圍,并適于只在所述第 一和第二虛擬網(wǎng)絡內傳送數(shù)據(jù) 分組,提供地址翻譯器(106),其可操作地連接到通過所述第一虛擬 化標簽(Tl)分配給所述第 一虛擬網(wǎng)絡(103 )的第 一翻譯器端口 ( P4 ) 和通過所述第二虛擬化標簽(T2)分配給所述第二虛擬網(wǎng)絡(104) 的第二翻譯器端口 (P5),通過連接到所述第二虛擬網(wǎng)絡(104)的發(fā)送器端口 (Pl)的發(fā) 送器節(jié)點(Nl),發(fā)送包括具有目的地址(DA)的分組標頭的數(shù)據(jù) 分組,用帶有所述第二虛擬化標簽(T2)的所述發(fā)送器端口 (Pl)標 記數(shù)據(jù)分組,確定具有所述分組標頭的所迷目的地址的目的地節(jié)點(N2 )是否 包含在所述第二虛擬網(wǎng)絡(104)中,并且在確定所述目的地節(jié)點(N2 )沒有包含在所述第二虛擬網(wǎng)絡(104 ) 中時,將所述數(shù)據(jù)分組重定向到包含在所述第一或第二虛擬網(wǎng)絡(103, 104)中的接收器節(jié)點(N2, N3)上,以便通過經(jīng)所述地址翻譯器(106) 分別向分配以所述第一或第二虛擬化標簽(Tl, T2)的所述第一或第 二翻譯器端口 (P4, P5)發(fā)送所述數(shù)據(jù)分組進行進一步處理。
4. 根據(jù)權利要求3的方法,其中,接收器節(jié)點(N2)包含在所述第一虛擬網(wǎng)絡(103)中,并且 在重定向步驟中,將包含在所述分組標頭中的源地址(SA)改 變?yōu)樵谒龅谝惶摂M網(wǎng)絡(103)中分配給所述第一地址翻譯器(106) 的第一翻譯器地址(107),所述修改的數(shù)據(jù)分組被發(fā)送到所述第一翻 譯器端口 (P4),以發(fā)送到所述接收器節(jié)點(N2)。
5. 根據(jù)權利要求3的方法,其中,所述接收器節(jié)點(N3)包含在所述第二虛擬網(wǎng)絡(104)中,并 具有接收器地址(RA),以及在重定向步驟中,將包含在所述分組標頭中的所述目的地址 (DA)改變?yōu)樗鼋邮掌鞯刂?RA),所述修改的數(shù)據(jù)分組被發(fā)送到所述第二翻譯器端口 (P5),以發(fā)送到所述接收器節(jié)點(N3)。
6. 根據(jù)權利要求3的方法,其中,所述接收器節(jié)點(N2, N3)是特定于應用協(xié)議的代理服務器節(jié) 點(204)。
7. 數(shù)據(jù)網(wǎng)絡系統(tǒng),包括交換機(100 ),所述交換機(100 )包括多個端口 ,每個端口通 過對應的虛擬化標簽(Tl, T2)分配給虛擬網(wǎng)絡(103, 104),地址翻譯器(106),所述地址翻譯器(106)可操作地連接到通 過所述第一虛擬化標簽(Tl)分配給所述第一虛擬網(wǎng)絡(103)的所 述交換機(100)的笫一翻譯器端口 (P4),并可操作地連接到通過 所述第二虛擬化標簽(T2)分配給所述第二虛擬網(wǎng)絡(104)的所述 交換機(100)的第二翻譯器端口 (P5),以及第一網(wǎng)絡節(jié)點(N1),所述第一網(wǎng)絡節(jié)點(N1)具有源地址(SA), 并可操作地連接到通過所述第 一虛擬化標簽(T1)分配給所述第 一虛擬 網(wǎng)絡(103)第一端口(P1)。其中,所述數(shù)據(jù)網(wǎng)絡系統(tǒng)適于執(zhí)行根據(jù)權利要求1或2任何一個 的方法。
8. 根據(jù)權利要求7的數(shù)據(jù)網(wǎng)絡系統(tǒng),還包括 可操作地連接到所述第一虛擬網(wǎng)絡(103)的第二網(wǎng)絡節(jié)點(N2)或可操作地連接到所述第二虛擬網(wǎng)絡(104)的第三網(wǎng)絡節(jié)點(N3), 其中,所述數(shù)據(jù)網(wǎng)絡系統(tǒng)還適于執(zhí)行根據(jù)權利要求3到6的任何 一個方法。
9. 計算機程序,其包括適于執(zhí)行根據(jù)權利要求1到6的任何一 個方法中的所有步驟的程序指令。
10. 包括計算機可讀介質的計算機程序產(chǎn)品,所述計算機可讀 介質包含有由至少一個處理器執(zhí)行根據(jù)權利要求1到6的任何一個方 法中的所有步驟的可執(zhí)行程序指令。
全文摘要
本發(fā)明涉及操作虛擬網(wǎng)絡的方法,該方法提供第一虛擬網(wǎng)絡(103)和第二虛擬網(wǎng)絡(104),所述第一虛擬網(wǎng)絡包括分配以第一虛擬化標簽(T1)的第一組網(wǎng)絡端口(101),所述第二虛擬網(wǎng)絡(104)包括分配以第二虛擬化標簽(T2)的第二組網(wǎng)絡端口(105),所述第一和第二虛擬網(wǎng)絡(103,104)具有兼容的網(wǎng)絡地址范圍,并適于只在所述第一和第二虛擬網(wǎng)絡內傳送數(shù)據(jù)分組,提供具有所述第一虛擬網(wǎng)絡中(103)的源地址(SA)的第一網(wǎng)絡節(jié)點(N1),所述第一網(wǎng)絡節(jié)點可操作地連接到通過所述第一虛擬化標簽(T1)分配給所述第一虛擬網(wǎng)絡(103)的第一端口(P1),監(jiān)控所述第一網(wǎng)絡節(jié)點(N1)以檢測預定條件,并在檢測到預定條件時,通過將所述第二虛擬化標簽(T2)分配給所述第一端口(P1),重新將所述第一端口(P1)分配給所述第二虛擬網(wǎng)絡(104),使得沒有數(shù)據(jù)分組從所述第一網(wǎng)絡節(jié)點(N1)直接傳送到通過所述第一虛擬標簽(T1)連接到分配到所述第一虛擬網(wǎng)絡(103)的第二端口(P2)的第二網(wǎng)絡節(jié)點(N2),并將所述第一網(wǎng)絡節(jié)點(N1)的源地址(SA)保持在所述第二虛擬網(wǎng)絡(104)中。本發(fā)明還涉及一種適于實施本發(fā)明方法的數(shù)據(jù)網(wǎng)絡系統(tǒng)、計算機程序和計算機程序產(chǎn)品。
文檔編號H04L12/46GK101326771SQ200680046706
公開日2008年12月17日 申請日期2006年12月12日 優(yōu)先權日2005年12月13日
發(fā)明者D·M·贊伯尼, J·F·里奧爾丹, R·里斯曼, Y·杜邦切爾 申請人:國際商業(yè)機器公司