軟件定義環境中的Hyper-V網絡策略
對于IT專家來說,在未來的五年內,軟件定義網絡將會成為最為重要的技術之一。現在是時間該對軟件定義網絡進行基本了解了,特別是它和Hyper-V網絡相關聯。
軟件定義網絡被設計用來解決網絡管理員現在面臨的兩個重要挑戰。第一個挑戰是多租戶。很明顯,服務提供商擁有多租戶網路,但是現在企業級網絡甚至也開始轉變為多租戶模式,因為越來越多的組織采納了私有云模型,允許虛擬機(VM)的自助服務配置。管理員需要一種方法來阻止租戶訪問其他租戶的網絡,并且不允許他們訪問核心網絡基礎設施。
另外一個挑戰是,事實上,在許多組織中,數據中心已經不再局限于四面墻當中。傳統網絡已經逐漸被混合云取代,或者地理上相互隔離的故障轉移數據中心實現了相互連接。
軟件定義網絡通過在物理網絡上建立一系列的邏輯網絡來解決這兩個挑戰。從某種形式上來說,這種方式并不新奇:虛擬專用網絡(VPN)已經存在了十多年,通過類似的技術來對穿過Internet的數據建立隧道從而實現安全傳輸。
從其基本特征的角度來看,軟件定義網絡的工作方式和VPN十分相似。兩種技術都使用包封裝方式路由物理網絡中的流量。這種封裝允許在保持私有性的情況下,和其他虛擬網絡共存。對于軟件定義網絡來說,這意味著客戶地址段還可以保持獨立和私有(這對于多租戶來說十分重要),意味著邏輯上的子網可以橫跨多個物理網絡。
單獨的地址段使得整個架構變為可能。在主機層,IP地址被作為一個提供商地址。提供商地址就是分配給單獨Hyper-V主機的IP地址,按照每個虛擬機一個的原則進行分配。因為每個客戶或租客都擁有在軟件層定義的單獨的虛擬地址,對于多租客來說使用相同的客戶地址就變得可以接受了。實際上,租客甚至可以使用重疊的MAC地址,因為軟件定義網絡之間是完全相互隔離的。
當然,創建相互之間完全隔離的虛擬網絡是一件事情,但是在現實環境中,位于虛擬網絡當中的系統通常需要訪問外面的網絡。同樣,外部客戶也需要對位于虛擬網絡中的主機提供的服務進行訪問。微軟的解決方案是通過使用通用路由封裝網絡虛擬化(NVGRE)網關。NVGRE網關可以實現多個重要功能。
首先,網關提供了路由功能。 對于物理網絡和虛擬網絡之間的通信,網關是必需的。需要注意的是一個單租戶可能在臺多Hyper-V主機上都擁有虛擬機。對于位于不同主機間的虛擬機通信,不需要使用NVGRE網關;其只用于物理機和虛擬機之間的通信。
這帶來了一個問題,當使用軟件定義網路時,位于一臺Hyper-V主機上的虛擬機相互間如何進行通信呢?當一臺虛擬機需要和位于其他主機上的虛擬機進行通信時,Hyper-V需要知道所發送封裝包的目的地址。而解決方案是使用系統中心虛擬機管理器來管理各種Hyper-V主機。這樣做允許虛擬機管理器創建和維護一張Hyper-V查找表,用來記錄哪個虛擬機位于哪臺主機上。因為每個單獨的主機都和虛擬機服務器相關聯,從而實現了所有主機可以定位任何一臺虛擬機。
NVGRE網關還可以作為一個網絡地址轉換組件,將應用程序服務器發布到Internet上,盡管這些服務實際上位于軟件定義網絡的虛擬服務器當中。這允許軟件定義網絡中的虛擬機可以作為公共Web服務器或者提供其他面向Internet的服務。
如你所見,軟件定義網絡是一個十分重要的概念,特別隨著原有網絡正在向私有或者混合云遷移。需要記住雖然現在微軟已經擁有其軟件定義Hyper-V網絡機制,但是軟件定義網絡和NVGRE的概念并不是微軟的私有技術,而是行業標準。