tft每日頭條

 > 生活

 > sdn的基本構成

sdn的基本構成

生活 更新时间:2024-08-26 20:54:38

【編者的話】本文系SDN實戰團微信群(團長張宇峰@brocade)組織的線上技術分享整理而成,本文由華信ALE系統工程師(CCIE x N,Martin Casado骨粉)範恂毅跟大家分享下VMware NSX overview。(另外一位Brocade資深系統工程師 Spike 李鶴飛分享的NSX及Overlay/Underlay 結合優化的實戰分享正在整理中,稍後奉上)

嘉賓介紹

--------------------------------------------------------------------------

sdn的基本構成(SDN實戰團分享四)1

範恂毅,現就職阿爾卡特朗訊企業通信,任解決方案顧問,持有3門CCIE證書(安全、語音、數據中心),曾為多家跨國公司設計其中國區數據中心基礎架構,包括數據中心網絡、虛拟化和存儲。現在主要聚焦在SDN結合基于主機Overlay的網絡虛拟化的解決方案的的研究。

分享正文

--------------------------------------------------------------------------

大家好,我叫範恂毅,現在在阿爾卡特朗訊企業通信(ALE)擔任售前。我首先說明一句,我的公司,我們的業務,與VMware NSX沒有直接關系。我研究NSX技術,純粹是興趣——我最早接觸SDN時,得知了SDN的理念和Openflow協議都來自一個叫Nicira的公司,這個公司還是Open vSwitch的開發者。那時候,Nicira已經被VMware收購了。我個人認為Nicira技術才是最純粹最原生态的SDN和網絡虛拟化。因此,VMware收購Nicira一年後,推出NSX解決方案後,我就一直在研究它。群裡絕大部分都是比我年長的前輩,如有說的不對的地方,歡迎指正。如有重要的問題需要讨論,也可以打斷我。

收購是2012年4月的事,成交金額是12.6億美金,思科出價8億美金,功敗垂成,隻得使用内部孵化公司研發ACI解決方案,來與之對抗。經過一年的産品和方案整合,NSX解決方案在2013年夏天正式發布,并投放市場。

Nicira公司的Openflow、OVS技術,我們不過多探讨,今天時間也有限,我們主要說明一下NSX的架構、功能和核心組件。那麼下面是正式的内容了。

以前的大二層技術,一般是在物理網絡底層使用IS-IS路由技術,再在此基礎之上,實現數據中心網絡的二層擴展,如公有的Trill、SPB技術和Cisco私有的OTV、Fabricpath技術;前沿一些的網絡虛拟化技術,使用了VXLAN、NVGRE等協議,突破VLAN和MAC的限制,将數據中心的大二層網絡擴展的更大。而使用VMware NSX,則更進一步——我們可以對網絡提供已對計算和存儲實現的相同虛拟化功能。就像服務器虛拟化可以通過編程方式創建、删除和還原基于軟件的虛拟機以及拍攝其快照一樣,NSX網絡虛拟化也對基于軟件的虛拟網絡實現這些同樣的功能。這是一種具有徹底革命性的架構,不僅使數據中心管理人員能夠大大提高系統的将敏捷性、可維護性、可擴展性,而且還能大大簡化底層物理網絡的運營模式。NSX能夠部署在任何IP網絡上,包括所有的傳統網絡模型以及任何供應商提供的新一代體系結構,無需對底層網絡進行重構。不難看出,VMware NSX的核心思想,就是将VMware多年緻力發展的服務器虛拟化技術,移植到了網絡架構中(如下圖所示)。

sdn的基本構成(SDN實戰團分享四)2

實現服務器虛拟化後,軟件抽象層(服務器虛拟化管理程序,hypervisor)可在軟件中重現人們所熟悉的x86物理服務器屬性,例如 CPU、RAM、磁盤、網卡,從而可通過編程方式以任意組合來組裝這些屬性,隻需短短數秒,即可生成一一無二的虛拟機。

實現網絡虛拟化後,與hypervisor類似的“網絡虛拟化管理程序”功能可在軟件中重現二到七層的整套網絡服務,例如交換、路由、訪問控制、防火牆、QoS、負載均衡。因此,與服務器虛拟化的理念相同,我們可通過編程方式以任意組合來組合這些服務,隻需短短數秒,即可生成獨一無二的隔離式虛拟網絡。

除此之外,基于NSX的網絡虛拟化方案還能提供更多的優勢。例如,就像虛拟機獨立于底層x86平台并允許将物理服務器視為計算容量池一樣,虛拟網絡也獨立于底層網絡硬件平台并允許将物理網絡視為可以按需使用和調整用途的傳輸容量池。與傳統體系結構不同,NSX可以通過編程方式調配、更改、存儲、删除和還原虛拟網絡,而無需重新配置底層物理硬件或拓撲。這種革命性的組網方式能夠讓企業從已熟悉的服務器虛拟化解決方案獲得的能力和優勢相匹配。

由于使用了NSX解決方案後的底層網絡架構産生了質的變化,以NSX網絡平台搭建的數據中心最終達到的效果就是,無論系統規模多大,無論物理服務器、虛拟機有多少台,無論底層網絡多麼複雜,無論多站點數據中心跨越多少地域,在NSX網絡的幫助下,對于IT管理人員和使用者來說,這些運行在多站點數據中心複雜網絡之上的成千上萬台的虛拟機,好像是運行在一台物理服務器裡一樣。

NSX無需關心底層物理網絡,使用自己創建的邏輯網絡即可,那麼是否一定要部署在VMware的虛拟化環境中?答案也是否定的。NSX可以部署在VMware vSphare、KVM、Xen等諸多虛拟化環境,也可以集成在Openstack環境之上。主流虛拟化平台中,目前隻有微軟Hyper-V是不支持NSX的。

NSX網絡虛拟化分vSphare環境下的NSX(NSX-V)和多虛拟化環境下的NSX(NSX-MH),是不同的軟件,最新版本分别是6.2.0和4.2.4,這點在部署之前就需要了解。其中,NSX-MH更像原生态的Nicira NVP平台,主要在KVM和Xen之上,基于OVS實現網絡虛拟化。

但是,無論使用NSX-V還是NSX-MH,其基本邏輯架構都是相同的,不同點僅為數據平面中的一些組件(如NSX-V中,虛拟交換機為vSphare分布式交換機,而NSX-MH中,虛拟交換機為OVS)。下圖為NSX網絡虛拟化架構的基本示意圖。它建立在底層物理網絡之上,在邏輯網絡中,分數據平面、控制平面、管理平面。其中數據平面中,又分分布式服務(包括邏輯交換機、邏輯路由器、邏輯防火牆)和NSX網關服務。控制平面的主要組件是NSX控制器。而管理平面的主要組件是NSX Manager。請看下圖所示。

sdn的基本構成(SDN實戰團分享四)3

交換:在網絡中的任何位置實現大二層交換網絡的擴展,而無需考慮底層物理網絡。

  • 路由:IP子網之間的路由,可以在邏輯網絡中完成,不需要有流量出到物理路由器或三層交換機。這種路由是在虛拟機的Hypervisor層執行的,CPU消耗很小,可為虛拟網絡架構内的路由表提供最佳路徑。
  • 防火牆:有了這個功能,安全防護就可以在Hypervisor層以及虛拟網卡層面執行。這将能夠以可擴展的方式實施防火牆規則,而不會在物理防火牆設備上造成瓶頸。防火牆分布在Hypervisor層之上,隻産生極少的CPU開銷,并且能夠線速執行。
  • 邏輯負載平衡:支持四到七層的負載平衡,并且能夠執行SSL端接。
  • VPN服務:可實現二、三層VPN服務。

NSX-V的架構,其實非常簡單,因為它的邏輯層次非常清晰——管理平面、控制平面、數據平面,每個平面中的組件也不多。但是,有些人認為它又是非常複雜的,因為深入研究數據平面之後,人們會發現盡管其功能實現看似非常簡單,但是其轉發原理、轉發行為還是非常複雜的。插一句,剛才是整體介紹,現在進入NSX-V的介紹。這是NSX-V的架構圖。

sdn的基本構成(SDN實戰團分享四)4

其中,控制平面的主要組件是NSX Controller。而管理平面的主要組件是NSX Manager。NSX-V和NSX-MH主要的不同,在于數據平面的組件。

NSX-V的數據平面,分分布式服務(包括邏輯交換機、邏輯路由器、邏輯防火牆)和NSX Edge網關服務,分分布式服務主要用于終端(虛拟機)之間的東西向流量通訊服務,而NSX Edge網關服務主要用于邏輯網絡和物理網絡之間的南北向流量的通訊服務和一些分布式服務無法實現的功能,如負載均衡。其底層虛拟化環境,為ESXi Hypervisor,也就是純vSphare環境,不允許其他任何虛拟化平台介入,而NSX-MH的底層虛拟化環境可以是除了Hyper-V以外的任何Hypervisor。NSX-V的分布式服務,都是搭建在vSphare分布式交換機之上的,而在NSX-MH中則搭建在OVS之上。NSX Edge網關,同樣也主要是利用ESXi主機中的虛拟機進行搭建,而在NSX-MH中,這個組件被功能稍有缺失的NSX二層/三層網關替代了。

根據NSX-V的邏輯架構,我們很容易看出,通過邏輯網絡的這些組件提供的網絡抽象與分布式服務,它與物理網絡實現了完全的解耦。虛拟機之間的通訊,可以通過VXLAN的封裝,完全在邏輯網絡内部完成,與物理網絡的底層架構已經沒有任何關系了,隻有虛拟機通過NSX Edge與外界進行通訊時,才會考慮與物理網絡的路由和交換策略。

NSX-V管理平面的組件,是NSX Manager,它是一種用于運維和管理的Cloud Management Platform(CMP)。在NSX-V環境下,NSX Manager是以虛拟設備的形式,以虛拟機的形式,安裝在ESXi主機中。NSX Manager的功能主要在于配置邏輯交換機,并将虛拟機連接至邏輯交換機,之後,就可以在邏輯交換機之上進行配置分布式邏輯路由器、分布式防火牆等服務。此外,NSX Edge網關服務也是在NSX Manager的界面上配置的。NSX Manager提供了一個用于管理的配置界面(UI),作為NSX的API連接點,其絕大部分配置都可以在這個圖形化的配置界面上進行,而不需要開發人員使用編程語言來完成。

在NSX-V環境中,NSX Manager是需要與與vCenter連接并集成的,它們之間需要1:1的匹配關系,換句話說,如果我們在vSphare虛拟化平台中部署了兩台vCenter,那麼,我們就需要部署兩個NSX Manager。NSX Manager通過注冊到vCenter,在vSphere Web Client上提供了一個插件,進入這個插件的圖标,我們就可以對NSX-V網絡虛拟化平台進行部署和配置了。 NSX Manager的幾個主要職責如下所述:

1.配置NSX Controller集群。

2.在ESXi主機的hypervisor之上安裝vSphere Installation Bundles(VIBs),以開啟VXLAN、分布式路由器、分布式防火牆功能,并與NSX Controller集群進行信令的信息交互。

3.配置NSX Edge服務網關,以關聯負載均衡、VPN、NAT等網絡服務。為各種網絡服務創建模闆、快照等功能,實現快速和自動化部署邏輯網絡的功能。為NSX Controller創建自簽名證書,以允許ESXi主機加入NSX域,以增強NSX控制平面的安全性。

4.提供網絡流量的采集和監控功能。NSX Controller是控制平面的組件。它的職責是管理hypervisor之上的交換和路由模塊。它同樣是以虛拟機的形式,部署在ESXi主機之上。為了便于擴展和提高高可用性,NSX Controller一般建議配置為集群模式(VMware建議配置至少3個NSX Controller作為集群)。每一個NSX Controller建議使用至少4個vCPU和4GB的内存,必須部署在同一個vCenter裡。在部署中,集群中的第一個節點設置的密碼會同步到集群中的其他節點。

NSX Controller作為控制平面,負責轉發平面流量的集中式的策略控制。它能提供:

  • 向ESXi主機分發VXLAN和邏輯路由信息。
  • 建立NSX Controller集群,在集群内部進行工作流的分布。
  • 在物理網絡中去除組播路由。客戶無需提供組播IP地址,也無需提供支持PIM路由或IGMP Snooping的物理網絡設備。

在VXLAN網絡環境中抑制ARP廣播流量,減少二層網絡的ARP廣播泛洪。

在NSX-V架構中,數據平面是基于VDS搭建的。VDS需要在每一個ESXi的hypervisor上啟用,而每一個ESXi主機,都有一個用戶空間和一個内核空間(如下圖所示)。

sdn的基本構成(SDN實戰團分享四)5

我們通過将VMware Installation Bundles(VIBs)安裝到ESXi主機hypervisor的内核空間,以實現NSX-V的各種功能——分布式交換和路由、分布式防火牆和VXLAN的封裝與解封裝。

而用戶空間,則是用于與控制平面、管理平面提供通訊路徑的組件;

RabbitMQ消息隊列用于vsfwd(RabbitMQ客戶端)和以進程形式寄宿在NSX Manager之上的RabbitMQ服務器建立通訊連接。通過這個通訊連接,是NSX Manager将各種信息發送到ESXi主機:策略規則用于實現内核模塊之上的分布式防火牆;Controller節點IP地址、私鑰和主機證書用于主機與Controller之間的通道認證,以安全創建、删除分布式路由器實例。 User World Agent進程(netcpa),是ESXi Hypervisor與Controller集群建立的SSL通訊通道之上,再進行TCP連接。利用控制平面與ESXi Hypervisor的通道,NSX Controller可以将MAC地址表、ARP表和VTEP表填充之自己的表項中,以保持邏輯網絡中的已建立的連接的快速通訊。

以上是整體架構,我們接下來具體聊聊數據平面

首先看看NSX交換和“虛拟到物理”的連接,同時,需要VXLAN到VLAN的橋接。

在NSX網絡虛拟化平台中,邏輯交換機将孤立的二層網絡進行了徹底的整合,對用戶而言,極大提升了靈活性和敏捷性。無論虛拟或物理的終端,都能便捷地連接到自己在數據中心中的邏輯子網,并建立一個與物理拓撲無關的、獨立的鍊路連接。這一切優勢,都在于物理網絡(Underlay)和邏輯網絡(Overlay)的解耦,實現了NSX網絡虛拟化。

下圖就是物理網絡和邏輯網絡分離後的架構示意圖。邏輯網絡通過使用VXLAN Overlay,允許二層網絡在不同的服務器機架中橫向擴展(甚至可以跨越不同數據中心),這種擴展與底層的物理架構是完全獨立的。

sdn的基本構成(SDN實戰團分享四)6

VXLAN有了,它基于VLAN,可以對802.1Q協議的VLAN數量限制進行指數級的擴展(達到16777216個網段)。

VXLAN則更進一步是将以太網報文封裝在UDP傳輸層上的一種隧道轉發模式。它定義了一個名為VTEP(VXLAN隧道終結點)的實體,用于VXLAN隧道兩端的流量封裝和解封裝,在VMware NSX平台中,我們使用虛拟機kernel interface來處理VTEP。它添加了一個新的标簽VNI(VXLAN标識符),用來取代VLAN标識VXLAN的網段,在VMware NSX平台中,VNI的号碼是5000開始的。

此外,在VMware NSX平台中,我們使用VETP代理工作機制,負責将VXLAN流量從本地子網傳輸到另一個子網。而傳輸區域(Transport Zone)則是VNI的可配置的邊界。相同傳輸區域中的vSphere集群,使用了相同的VNI,一個傳輸區域可以包含不同vSphere集群中的ESXi主機,當然,一個vSphere集群也可以是不同傳輸區域的一部分。傳輸區域會告知主機或集群邏輯交換機被創建。

在這裡,我們簡單闡述一下在VXLAN Overlay中,不同ESXi hosts的虛拟機之間建立二層連接的過程:

1.虛拟機1發起一個去往同一邏輯子網的虛拟機2的幀請求。

2.虛拟機1所在的ESXi主機定義了一個VTEP,在流量被發送到傳輸網絡之前,對流量進行封裝。

3.傳輸網絡隻需要知道源目的ESXi主機的IP地址,就可以在兩個地址之間建立VXLAN隧道。

4.目的ESXi主機收到了VXLAN幀,對其進行解封裝,并确認它所在的二層子網(利用VNI标識)。

5.最終,這個幀被傳遞到虛拟機2。

傳輸過程的示意圖如下:

sdn的基本構成(SDN實戰團分享四)7

以上是當不同ESXi主機的兩個虛拟機需要直接通信時,VXLAN流量被源目ESXi主機的Hypervisor封裝、解封裝并最終相互通信的基本情況,這種情形還是比較簡單和易于理解的。但是有時候,在三種情況下,VXLAN流量從一個虛拟機發起,需要被發送到同一個NSX邏輯交換機下挂的所有虛拟機:

1、廣播(Broadcast)

2、不知道目的的單播(Unknown Unicast)

3、組播(Multicast)

我們通常把這種多目的的流量,叫做BUM(Broadcast, Unknown Unicast, Multicast)。在以上三種情形的任何一種情況下,源虛拟機發起的流量,都會被複制到統一邏輯網絡中的遠端的多個主機。NSX支持三種不同的複制方法,以支持其基于邏輯交換機的VXLAN流量的多目的通訊:

1、組播(Multicast)

2、單播(Unicast)

3、混合(Hybrid)

對于從虛拟網絡物理網絡的二層網絡通訊,可能會有很多個場景。一些典型的場景如下所述:

1.部署一個典型的多層應用模型——這一般是Web(前端)層、應用層、數據庫層。我們往往在數據庫部署時采用“多虛一”的技術,如Oracle RAC解決方案,這就需要使用多台物理服務器進行集群處理,将他們看成一台數據庫服務器來使用,而這樣的應用往往不會運行在虛拟化環境上,因為在這種情形下。它們無需“一虛多”當數據庫服務器沒有運行在虛拟化環境的時候,我們就需要建立一個同一子網中的應用層到數據庫層的“虛拟到物理”的二層通訊。

2.物理服務器向虛拟機的遷移——即使Physical to virtual(P2V)。由于服務器虛拟化蓬勃發展,大多數企業都希望将之前在物理服務器中部署的應用遷移到虛拟化環境,在遷移過程中,就可能需要在同一子網中的不同的物理和虛拟節點中實現“物理到虛拟”的二層通訊。

3.将外部的物理設備作為默認網關——在這種情形下,一個物理的網絡設備可能會被部署為默認網關,用于虛拟的工作流連接邏輯交換機。因此,一個二層的網關功能就需要建立,這同樣是“虛拟到物理”的二層通訊。

4.部署其他物理設備——如在數據中心不是獨立于NSX虛拟網絡的物理防火牆、物理負載均衡設備時,同樣需要“虛拟到物理”的二層通訊。這也是實現NSX生态圈的重要手段。

部署其他物理設備——如在數據中心不是獨立于NSX虛拟網絡的物理防火牆、物理負載均衡設備時,同樣需要“虛拟到物理”的二層通訊。這也是實現NSX生态圈的重要手段。

在NSX Manager中使用了簡化的UI來配置邏輯路由器,非常便于進行配置和維護,在這裡,我們使用動态路由協議對NSX邏輯路由進行發現和宣告的操作。控制平面仍然運行在NSX Controller集群中,而數據平面交給ESXi主機的Hypervisor來處理。換言之,在虛拟機内部我們就可以進行路由的各種操作,包括算法、鄰居發現、路徑選擇、收斂等,而無需離開虛拟化環境,在物理網絡平台中進行處理。有了NSX邏輯路由功能,我們舉可以方便地在虛拟三層網絡中,對路由選擇最佳路徑。此外,我們還更好地實現多租戶環境,比如在虛拟網絡中,不同的VNI中有相同的IP地址,我們就可以部署兩個不同的分布式路由器實例,一個連接租戶A,一個連接租戶B,保證網絡中不會引起任何沖突。

NSX Manager首先配置了一個路由服務。在配置過程中,NSX Manager部署了一個管理邏輯路由的虛拟機,它是NSX Controller的一個組件,支持OSPF與BGP協議,此外,在之前章節中,我們為NSX Manager為ESXi配置了一個内核模塊。在邏輯路由功能中,它的作用相當于機箱式交換機中指出三層路由功能的線卡,可以從NSX Controller集群中得到路由信息、接口信息,并負責轉發平面的所有功能。

下圖為邏輯路由連接不同的邏輯交換機,并與物理網絡交互的典型部署模式的示意圖。這樣的部署有兩個目的:

1、連接屬于分離的二層網絡的終端(無論終端屬于邏輯還是物理網絡) 2、連接分屬于邏輯網絡中的終端與屬于外部物理三層網絡的設備

第一種情形,往往發生在數據中心内部,為東西向流量。而第二種情形,為南北向流量的通訊,将數據中心連接到外部物理網絡(如WAN、Internet、等)。

第一種狀況,就是我們通常說的NSX分布式路基路由,而第二種,則是Edge路由,我們在NSX Edge網關上實現路由功能。 邏輯架構圖如下:

sdn的基本構成(SDN實戰團分享四)8

分析了NSX分布式邏輯路由之後,我們分析一下這樣的部署比起使用傳統物理網絡部署有什麼優勢。

在傳統物理網絡中,對于同一個主機内的一個Web服務器與App服務器的通信,由于他們處在不同網段,需要三層交換機來處理它們之間的流量,因此,流量在出主機後需要經過ToR二層交換機去往核心交換機,再回到二層交換機并重新進入主機,需要4跳連接。當然,如果ToR交換機開啟了三層功能,通信則隻需要2跳。而在NSX環境中,由于我們直接在主機的hypervisor層面實現了三層功能,因此,Web服務器與App服務器是直連的,它們之間的通信連接是0跳,如下圖所示。值得注意的是,無論NSX-V還是NSX-MH環境,就流量的跳數問題上,達成的效果都是一緻的。今天沒有時間深入分析了,裡面技術細節其實非常多。

sdn的基本構成(SDN實戰團分享四)9

對于不同主機之間的三層連接,NSX環境也可以将在傳統物理網絡中需要的4跳連接精簡為2跳(如下圖所示)。

sdn的基本構成(SDN實戰團分享四)10

交換和路由簡單介紹完了,我們進入NSX Edge。NSX Edge網關能實現哪些服務呢?我們看一張真實的配置界面截圖:

sdn的基本構成(SDN實戰團分享四)11

這裡面所有寫到的功能,Edge都是支持的。其中NAT分兩種,Source NAT和Destination NAT。分别用做出外網,和内部信息發布的地址轉換,或保護敏感數據。

NSX Edge有兩種部署負載均衡服務——單臂模式和在線模式。單臂模式又叫代理模式,專門使用一個NSX Edge部署在數據中心内部。

sdn的基本構成(SDN實戰團分享四)12

下圖為同一個主機内的虛拟機之間,使用傳統模式和NSX單臂模式部署負載均衡的情況下,Web服務器與App服務器進行交互并對外提供服務的流量模型。在傳統模式中,對于Web服務器與App服務器之間的東西向的三層流量,需要經過二層交換機、三層交換機、旁路模式部署的防火牆,再回到三層交換機、二層交換機、物理服務器主機,才能進行通訊,這個過程,需要6跳連接。在Web服務器與App服務器建立連接後,就可以對外提供Web服務了,外界訪問Web服務器的南北向流量,需要先抵達核心交換機,繞到防火牆進行過濾(如隻允許HTTP和HTTPS的流量)并返回核心交換機,這時候,需要再次繞到負載均衡服務器進行處理并返回核心交換機,然後才能通過二層交換機抵達主機并訪問Web服務,這個過程一共有7跳連接,全部過程一共13跳。而在NSX環境中,同一個主機内的Web服務器與App服務器盡管處在不同網段,卻可以在邏輯網絡内部實現直接的連接(0跳),而對外提供服務時,外部訪問流量通過核心三層交換機、二層交換機後去往NSX Edge,在這個NSX Edge串接在邏輯網絡和物理網絡之間,提供防火牆服務,之後返回二層交換機,進入主機就可以訪問負載均衡Web服務了,由于單臂模式下,負載均衡和Web服務器之間是直連的(0跳),因此整個過程隻有5跳連接。

sdn的基本構成(SDN實戰團分享四)13

對于不同主機内的虛拟機的情形,與同主機内類似。如下圖所示,使用傳統模式實現應用負載均衡,依然是13跳連接,而在NSX環境,僅需要7跳,比同一主機的部署多2跳的原因在于,不同主機之間的邏輯網絡流量,需要經由二層交換機再進入另一個主機。

sdn的基本構成(SDN實戰團分享四)14

在線模式(傳輸模式)實現負載均衡的方法與單臂模式相反,是由集中化的NSX Edge來提供路由和負載均衡服務的模式其。在數據中心内部部署的部署拓撲圖如下所示,我們可以看到,拓撲中利用了邏輯網絡和物理網絡之間的NSX Edge來部署負載均衡。

sdn的基本構成(SDN實戰團分享四)15

我們同樣讨論一下使用在線模式部署負載均衡時的流量模型。如下圖所示,對于同一個主機内的虛拟機之間,在傳統模式下,Web服務器以App服務器之間的流量交互過程依然是13跳。而在NSX環境中,在線模式和單臂模式都是5跳,這是因為,我們通過在物理網絡與邏輯網絡之間之間的NSX Edge之上同時啟用了防火牆服務和負載均衡服務,沒有在系統中增加任何多餘的路徑。

sdn的基本構成(SDN實戰團分享四)16

同樣,部署了在線模式的負載均衡後,不同主機之間的的Web服務器以App服務器之間的流量交互過程與單臂模式完全相同——将傳統部署的13跳精簡為7跳(如下圖所示)。

sdn的基本構成(SDN實戰團分享四)17

在線模式的優點是同樣易于部署,并且允許服務器/虛拟機對于原始客戶端的IP地址擁有完全的可視性。但是,從設計的角度上看,它通常需要強制将LB部署為服務器群的邏輯網段的默認網關,這意味着在這些網段隻能使用集中式的路由(而不是分布式路由),因此它的部署方式并不是非常靈活。

用NSX Edge進行二層VPN的部署,允許在兩個不同的、分離的數據中心之間,進行二層連接,使得虛拟機可以實現在不同數據中心之間進行遷移,存儲也可以跨越數據中心進行複制和備份。另外,這種方法還可以用于私有雲與公有雲之間的連接——很多企業希望數據中心有冗餘,但是為了節省成本,會自建一個數據中心,并使用公有雲作為數據中心的備份。

三層VPN,主要用于遠程接入的客戶端連接數據中心資源。一般來說,遠程辦公員工使用SSL VPN連接到數據中心,訪問數據中心服務;而遠程office使用IPSec VPN連接數據中心。

而使用SSL VPN連接到部署了三層VPN的NSX Edge的方式,被稱作“SSL VPN-Plus”。

VMware NSX是一個不僅是網絡虛拟化平台,同樣也是安全虛拟化平台。與部署網絡模式類,它以軟件的方式提供和部署2-7層的安全。在NSX網絡虛拟化平台中,可以提供兩種防火牆功能。一個是由NSX Edge提供的集中化的虛拟防火牆服務,它主要用來處理南北向流量;另一個就是基于微分段技術的分布式防火牆,主要用于處理東西向流量。在NSX網絡虛拟化平台中,同時使用NSX Edge防火牆和分布式防火牆的邏輯拓撲架構如下圖:

sdn的基本構成(SDN實戰團分享四)18

與NSX分布式防火牆的工作息息相關的組件有三個。這裡需要重點解釋一下,因為在NSX網絡虛拟化平台,在分布式邏輯交換機、分布式邏輯路由器處,我們将NSX Manager作為管理平面組件,NSX Controller作為控制平面組件,而在NSX分布式防火牆這裡,管理平面和控制平面的組件則大不相同,這一點,我們之前已經簡單提到,我們說過,分布式防火牆通過vsfwd服務進程,直接與NSX Manager通信。NSX分布式防火牆的管理平面和控制平面和數據平面的組件如下所述:

1、vCenter Server:在NSX分布式防火牆的部署中,我們将vCenter作為其管理平面。我們通過vSphere Web Client船艦分布式防火牆策略規則,之後,每一個vCenter中的集群、VDS port-group、邏輯交換機、虛拟機、vNIC、資源池等就都可以使用這些基于源和目的的策略規則。

2、NSX Manager:在NSX分布式防火牆的部署中,我們将NSX Manager作為其控制平面。NSX Manager接收到vCenter Server的策略規則後,就會将它們貯存到本地的數據庫,并将這些分布式防火牆策略規則同步推送到ESXi主機。一旦策略規則發生變動,在系統内都是時刻同步發布和推送的。NSX Manager還可以直接通過CMP的REST API接收防護牆策略規則,這些CMP可能是由第三方的安全平台提供,如PaloAlto。

3、ESXi主機:在NSX分布式防火牆的部署中,我們将ESXi主機作為其數據平面。ESXi主機從NSX Manager那裡接收到了其推送來的分布式防火牆策略,随即将規則進行翻譯,運用到期内核空間以便實時執行策略。這樣,所有的虛拟機流量都會在ESXi主機處進行檢查和執行。例如,處于不同ESXi主機的虛拟機-1和虛拟機-2需要通訊時,策略在虛拟機-1的流量需要離開ESX-1時被防火牆規則進行處理,并在流量需要進入ESXi-2時同樣進行處理,然後,安全的流量才會抵達虛拟機2。 NSX網絡虛拟化平台中的分布式防火牆能實現的功能有:

  • 隔離(Isolation):這是防火牆部署在企業或數據中心裡需要實現的基本功能。它将不相關的網絡完全隔離,進而保持各自的獨立性,例如:開發、測試與生産網絡。隔離是在虛拟化環境下實現多租戶的必要條件。任何一個隔離的、獨立的虛拟網絡,都可以在數據中心内部的任何位置處理工作流的,因為在網絡虛拟化環境中,已實現了和地層物理網絡無關的虛拟網絡,隻要虛拟網絡是連通的,就無需關心虛拟機在數據中心内所處的物理位置。任何獨立的虛拟網絡都可以包含分布在數據中心任意位置的工作負載,同一個虛拟網絡中的工作負載可以位于相同或不同的虛拟化管理程序上。此外,多個獨立虛拟網絡中的工作負載可以位于同一個虛拟化管理程序中。

其實,在通過VXLAN等Overlay技術搭建的虛拟網絡中,不同網段之間本來就是默認隔離的。但是當不同網段需要相互通信時,就需要調用分布式防火牆的安全策略來隔離一些敏感流量了。在隔離時,我們無需引入任何物理的子網、VLAN信息、ACL和防火牆規則,所有安全策略全部由虛拟化環境内部完成。

  • 分段(Segmentation):與隔離相關,但是運用在多層虛拟網絡中的安全策略,是分段。它實現了相關安全組之間進行安全區域的劃分,并根據安全策略進行通信。在NSX網絡虛拟化環境中,我們将分段技術叫做微分段(Micro-Segmenting),因為通過NSX分布式防火牆,我們可以将流量分成多個細顆粒度的流量,為每個細微的網絡分段提供安全保護。
  • 高級服務:NSX網絡虛拟化平台,在虛拟網絡之中,提供了從二層到四層的防火牆功能,且實現的微分段。但是在一些環境中,應用需要更高級别的網絡安全策略來進行保護,在這種情況下,用戶可以利用NSX平台,在其之上集成第三方安全廠商的四到七層安全服務,提供更全面更充分的基于應用的安全解決方案。NSX将第三方網絡安全服務集成在虛拟網絡中,通過邏輯的通道,發布至vNIC接口,使得在vNIC後端的應用可以使用這些服務。

NSX的一些主要安全合作夥伴包括PaloAlto、Intel(已收購McAfee)、CheckPoint、Symantec、TrendMicro等。企業的安全團隊,可以針對不同應用,選擇VMware生态圈内的不同的安全廠商的解決方案。

讨論完了分布式防火牆的實現,我們與讨論分布式路由、負載均衡的最後一樣,分析一下分布式防火牆的流量模型。對于傳統防火牆部署,處在相同主機裡的Web服務器于App服務器之間的三層通信,需要經過6跳才能連接,這是因為流量進出旁路模式連接核心交換機的物理防火牆的過程需要2跳連接,這樣一來,就傳統三層的4跳連接(之前已闡述)多出2跳。而與分布式路由相同,由于分布式防火牆功能也是工作在主機的hypervisor之上的,因此在NSX環境下,相同主機裡的Web服務器于App服務器之間的三層通信也是直連(0跳)的,如下圖所示。

sdn的基本構成(SDN實戰團分享四)19

對于不同主機之間的三層通信,與分布式路由章節的闡述類似,我們同樣可以将連接精簡為2跳(如下圖所示)。

sdn的基本構成(SDN實戰團分享四)20

以上,就是NSX-V的内容,我們下面快速說一下NSX-MH,它在整體架構上和NSX-V完全一緻,隻是數據平面的組件和實現方式不同。下面這張圖是NSX-MH内部架構的邏輯示意圖。

sdn的基本構成(SDN實戰團分享四)21

對比使用VMware使用自己的vSphare作為Hypervisor的解決方案(就是NSX-V,其架構、工作原理等,我們在之前幾章已經詳細闡述了),NSX-MH架構與其在邏輯層次的劃分上完全一緻——管理平面、控制平面、數據平面。而管理平面和控制平面中使用的組件也完全相同,分别是NSX Manager和NSX Controller(其中NSX Controller可以使用集群式的部署方式),他們最大的不同僅來自數據平面。在NSX-V中,服務器虛拟化軟件是vSphare,安裝了vSphare的物理服務器被稱為ESXi主機,能實現多個虛拟機運行在其之上,而這些虛拟機可以通過vSphare分布式交換機互相連接起來,而NSX網絡虛拟化的其他組件和功能(主要是邏輯交換機、分布式邏輯路由器、分布式防火牆,但不包括NSX Edge提供的功能),都是在vSphare分布式交換機之上搭建的。而NSX-MH中,底層虛拟化平台可能是vSphare,也可能是Xen或KVM,在他們之上安裝的虛拟機是通過最早由Nicira公司設計并開發的OVS(Open vSwitch)進行連接的,NSX網絡虛拟化的邏輯交換機、分布式邏輯路由器、分布式防火牆等組件和功能是建立在OVS的基礎之上的。2014年5月22日,OVS宣布支持運行在Hyper-V平台之上。盡管NSX現在尚未支持Hyper-V,但是NSX-MH架構下的最重要的組件OVS宣布這一支持,為未來NSX支持基于Hyper-V的虛拟化平台鋪平了道路。此外,NSX-V中的NSX Edge,在NSX-MH中使用二層/三層網關進行了替代,實現類似的功能。

NSX-MH解決方案的整體拓撲架構如下,我們可以看到,與NSX-V相比,最大的區别就是NSX-MH中,服務器虛拟化可能會由Xen或KVM中的一種進行搭建,或兩種混合搭建。有時ESXi也會出現在架構中,用于部署服務器虛拟化,這樣一來,數據中心中的虛拟化軟件可能同時有Xen、KVM和ESXi。而邏輯交換機建立在OVS(其中對于ESXi使用的OVS,在NSX環境中有個專門的名稱,叫NSX vSwitch,NVS)之上,而不是vSphare分布式交換機。

順便說一點,NSX-MH内,控制平面和OVS交互的方式,正是Nicira研發的Openflow。

sdn的基本構成(SDN實戰團分享四)22

最後,簡單說一下NSX和别的廠家的集成。安全以及說過了,用第三方安全廠家,實現5-7層安全,NSX防火牆隻能做2-4層。負載均衡的話,F5除了能部署單臂模式、在線模式,還能實現分布式的部署。這個功能很牛,而且能用到F5所有高級功能。

另外一個重要的集成就是和OpenStack,NSX-V與OpenStack的集成,主要是使用VMware Integrated OpenStack(VIO)的發行版軟件來進行的。IT管理員就可以在現有vSphere中簡單、快速、便捷地部署OpenStack 服務。VMware與OpenStack的集成,在網絡上可以通過NSX-V或VDS來部署Neutron,當然使用NSX功能比VDS的部署多的多。如果是NSX-MH需要與OpenStack集成,則不需要VIO軟件,直接使用NSX Plugin來部署Neutron。

Q&A

--------------------------------------------------------------------------

Q1:防火牆分布在hypervisor層,那還能用線速轉發來形容麼?

A1:可以,這個用到的是基于微分段的分布式防火牆技術。

Q2:有空也講講micro segment吧?

A2:micro segment 就是微分段,如果詳細探讨,今天一晚都是講不完的。。。其主要作用是實現分布式的、細顆粒度的安全防護。

Q3:Ssl端接是什麼概念呢?

大約就是負載均衡服務,多用于企業内部應用對外發布,使用https,端口是443,這是SSL端接技術。

Q4:WEB 和APP的gateway在vrouter上嗎?

所有的GW都在分布式邏輯路由器上,和物理網絡已經沒有關系了。

Q5:然後vrouter有到物理網絡的路由,right?通過edge router

對的,但是東西向流量就不需要有去往物理網絡了

Q6:也就是說網關也是分布式的?

網關不是分布式,當然,我們可以部署多個網關,做負載分擔。

Q7:實際上gateway會落在某幾個host的hypervisor的vrouter上是吧?

每個host有,是同步的,硬要說落在了哪個host上,那就是NSX Controller所在的host。這個是集群式部署的,會有至少3台。

Q8:Nicira在開發Ovs 和 nsx 他們怎麼定位?

ovs用于多虛拟化環境下的NSX,就是NSX-MH。之間的隧道協議主要是STT而是不VXLAN。

-------------------------------------------------------------------------- SDN實戰團微信群由Brocade中國區CTO張宇峰領銜組織創立,攜手SDN Lab及海内外SDN/NFV/雲計算産學研生态系統相關領域實戰技術牛,每周都會組織定向的技術及業界動态分享,歡迎感興趣的同學加eigenswing,進群參與,您有想聽的話題可以給我們留言。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved