本發明涉及網絡應用交付控制領域,特別涉及一種不受限于VLAN(Virtual Local Area Network虛擬局域網)的在云環境下劃分網絡域的方法,屬于多租戶網絡技術。
背景技術:
隨著云計劃和虛擬化的趨勢愈演愈烈,租戶的概念越來越重要,在云環境中為每個租戶劃分合適的網絡資源,并且不同的租戶之間不能互相影響是網絡設備一個必備的功能。目前的負載均衡網絡設備中,都是通過VLAN(Virtual Local Area Network,虛擬局域網)來劃分網絡,每個用戶一個VLAN,使用VLAN來隔離租戶,VLAN也是一種比較成熟的網絡技術,每個VLAN都有自己的ID,不同VLAN代表不同租戶,不互相影響。但VLAN使用起來也有一定問題,1)需要物理交換機chunk口的支持,實際部署時比較復雜,必須需要支持VLAN的交換機,只有三層以上交換機才具有此功能。2)受其協議(IEEE802.1Q)VALN標識符只有12位,vlan id個數為4094個,也就是最多4094個子網租戶,不適用于公有云,雖然最后可以使用VxLAN(virtual Extensible LAN,虛擬可擴展局域網)來解決數量的問題,但VxLAN使用IP負載來封裝二層鏈路數據包,帶來效率的問題。3)VLAN不能做到協議棧的分離,也就是雖然劃分了多個VLAN,但是公用的還是一套協議棧實例,如果協議棧數據出了問題,則整個網絡環境都會出現異常。
技術實現要素:
為克服已有技術中存在的問題,本發明提供一種不受限于VLAN的在云環境下劃分網絡域的方法,使得劃分后的網絡域有獨立的協議棧實例,互不干擾。
本發明一種劃分網絡域的方法,首先進行系統配置:至少包括上層應用程序模塊、網絡域管理模塊、網絡接口等,所述的網絡接口包括物理網卡、網絡管理接口,所述的物理網卡可以是多物理接口的,每個物理接口最多可設置4096個虛擬網絡接口,當所述物理接口不能滿足用戶需要時,本發明方法由以下步驟組成:
步驟1,根據用戶個數需要劃分n個虛擬網絡域,同時建立n個虛擬協議棧,不同的網絡域使用自己獨立的虛擬協議棧,并對應為每個虛擬網絡域分配一個用戶ID;
步驟2,根據虛擬網絡域個數選取m個物理接口,將上述m個物理接口可產生的虛擬接口對應劃分到n個虛擬網絡接口上,然后將n個虛擬網絡接口加入到虛擬網絡域中,其中n和m為正整數,n大于或等于m。
本發明當系統物理接口不能滿足租戶需要時,在原有硬件設備基礎上可以更靈活的方式劃分網絡域,不受限于交換機是否支持VLAN;同時不同的網絡域使用自己獨立的虛擬協議棧,一個域的網絡發生問題,不會影響其他域的網絡通訊。
附圖說明
圖1是本發明系統結構及方法示意圖。
具體實施方式
在以下的敘述中,為了使讀者更好地理解本申請而提出了許多技術細 節。但是,本領域的普通技術人員可以理解,即使沒有這些技術細節和基于以下各實施方式的種種變化和修改,也是本申請各權利要求所要求保護的技術方案。
為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明的實施方式作進一步地詳細描述。
如圖1所示,本發明系統配置為:至少包括上層應用程序模塊5、網絡域管理模塊2、網絡接口1等,的網絡接口包括物理網卡、網絡管理接口,的物理網卡可以是多物理接口的,每個物理接口最多可設置4096個虛擬網絡接口,當物理接口不能滿足用戶需要時,本發明方法由以下步驟組成:
步驟1,根據用戶個數需要劃分n個虛擬網絡域3,同時對應建立n個虛擬協議棧4,并對應為每個虛擬網絡域分配一個用戶ID;
步驟2,根據虛擬網絡域個數選取m個物理接口,將m個物理接口需采用的虛擬接口對應劃分到n個虛擬網絡接口上,然后將n個虛擬網絡接口加入到虛擬網絡域中。
在本申請的一個優選例中,用戶是租戶。在其它例子中,用戶也可以是其它類型的,并不一定與服務商之間是租用的關系。例如,可以是一個大公司的私有云,為該公司下屬的各團隊提供服務。
用戶包括第一類用戶和第二類用戶,其中第一類用戶的帶寬需求小于第二類用戶;
在本申請的一個優選例中,使用的是不支持虛擬局域網的交換機。當然,如果交換機支持虛擬局域網的話更不會有問題。所述虛擬協議棧是TCP/IP協議棧。
所述根據虛擬網絡域個數選取m個物理接口的步驟中,多個第一類用戶合同一個物理接口,每一個第二類用戶獨自占用一個物理接口。
現舉實例說明,為一個公有云提供商甲提供負載均衡服務,該云服務提供商甲有5000個小租戶,以及3個大租戶,其中,5000個小租戶無帶寬要求,但已大于VLAN 4096的限制,另外三個大租戶,每個租戶要求帶寬10G。可以這樣實現對這5003個租戶的支持。
假定使用的網絡設備有4張物理網卡,每張物理網卡有4個接口,每個接口吞吐能到10G,可以認為有16個吞吐為10G的物理業務接口,此外該網絡設備還有2個管理接口。我們這里只需要使用物理業務接口。
步驟一:先劃分5003個域,同時對應建立5003個協議棧,并對應為每個網絡域分配一個租戶ID;
每個域為每個租戶服務
domain domain1
domain domain2
domain domain3
...
domain domain5003
domain1,domain2,...domain5003是網絡域的名字。
步驟二:劃分不同接口到不同的網絡域中,對于其中的5000個小租戶,由于一個物理接口最大限制VLAN只能有4096個租戶,所以我們可以使用2個物理接口,每個物理接口劃分2500個VLAN虛接口,一共則可劃分5000個網絡域了。另外3個大租戶,因每個租戶要求帶寬10G,則需要每個租戶使用一個物理接口。這里假定物理接口分別為port1,port2,...port16。
所以先基于2個物理接口劃分5000個VLAN虛擬接口。
vlan port1 vlan1
vlan port1 vlan2
...
vlan port1 vlan2500
vlan port2 vlan2501
vlan port2 vlan2502
...
vlan port2 vlan5000
至此,5000個VLAN虛擬接口已經劃分,然后對應把所述虛擬接口及物理接口加入網絡域中:
domain domain1 vlan1
domain domain2 vlan2
...
domain domain5000 vlan5000
domain domain5001 port3
domain domain5002 port4
domain domain5003 port5
至此向小租戶的5000個域,以及大租戶的3個域分配了所屬的接口,本發明劃分網絡域的相關步驟已經結束。
下面繼續舉例說明一個用戶的數據包的流程,比如租戶1在自己的網絡域,例如domain1上創建了一個HTTP服務,那么對于客戶端的HTTP請求處理的流程如下:
步驟1,客戶端發送HTTP以太網數據包請求到port1;
步驟2,port1物理接口收到了上述以太網數據包;
步驟3,port1把上述以太網數據包轉給虛擬接口1,虛擬接口1把所述以太網數據包轉給domain1的虛擬協議棧1處理,之后交給上層應用程序的HTTP服務;
步驟4,HTTP服務處理這個HTTP請求,構造響應后交給虛擬協議棧1,虛擬協議1封裝HTTP請求,在虛擬協議棧1內找到客戶端的路由,MAC地址等信息,把響應發送給客戶端;
步驟5,客戶端接收到這個請求,交易結束。
需要說明的是,本發明各設備實施方式中提到的各單元都是邏輯單元,在物理上,一個邏輯單元可以是一個物理單元,也可以是一個物理單元的一 部分,還可以以多個物理單元的組合實現,這些邏輯單元本身的物理實現方式并不是最重要的,這些邏輯單元所實現的功能的組合才是解決本發明所提出的技術問題的關鍵。此外,為了突出本發明的創新部分,本發明沒有引入上述各設備實施方式以及與解決本發明所提出的技術問題關系不太密切的單元,但這并不表明不存在上述設備實施方式以及其它有關實施單元。
雖然通過參照本發明的某些優選實施方式,已經對本發明進行了圖示和描述,但本領域的普通技術人員應該明白,可以在形式上和細節上對其作各種改變,而不偏離本發明的精神和范圍。