軟件定義數據中(zhōng)心
發布日期:2017-02-23 16:44:00來源:新縱橫 浏覽次數:次
Overlay的技術标準
IETF在Overlay技術領域提出VXLAN、NVGRE、STT三大(dà)技術方案。大(dà)體(tǐ)思路均是将以太網報文承載到某種隧道層面,差異性在于選擇和構造隧道的不同,而底層均是IP轉發。VXLAN和STT對于現網設備而言對流量均衡要求較低,即負載鏈路負載分(fēn)擔适應性好,一(yī)般的網絡設備都能對L2-L4的數據内容參數進行鏈路聚合或等價路由的流量均衡,而NVGRE則需要網絡設備對GRE擴展頭感知(zhī)并對flow ID進行HASH,需要硬件升級;STT對于TCP有較大(dà)修改,隧道模式接近UDP性質,隧道構造技術屬于革新性,且複雜(zá)度較高,而VXLAN利用了現有通用的UDP傳輸,成熟性極高。
所以總體(tǐ)比較,VLXAN技術具有更大(dà)優勢,而且當前VLXAN也得到了更多廠家和客戶的支持,已經成爲Overlay技術的主流标準,所以本文的後續介紹均以VXLAN技術作爲标準進行介紹,NVGRE、STT則不再贅述。
VXLAN(Virtual eXtensible LAN,可擴展虛拟局域網絡)是基于IP網絡、采用“MAC in UDP”封裝形式的二層VPN技術,具體(tǐ)封裝的報文格式如圖2所示。VXLAN可以基于已有的服務提供商(shāng)或企業IP網絡,爲分(fēn)散的物(wù)理站點提供二層互聯功能,主要應用于數據中(zhōng)心網絡。
圖1 VXLAN報文
VXLAN在原始二層數據幀外(wài)添加:
· 20字節IP頭,目的IP爲隧道對端VTEP地址或組播地址。
· 8字節UDP頭,UDP頭的目的端口号缺省爲4789。源端口可按流分(fēn)配;爲了使VXLAN充分(fēn)利用承載網絡路由的均衡性,VXLAN通過将原始以太網數據頭(MAC、IP、四層端口号等)的HASH值作爲UDP的号。
· 8字節VXLAN頭:
Flags:“I”位爲1時,表示VXLAN頭中(zhōng)的VXLAN ID有效;
“I”位爲0時,表示VXLAN ID無效。其他位保留未用(爲0)。
VXLAN ID:用來标識一(yī)個VXLAN網絡,長度爲24比特。
Overlay網絡基礎架構
Overlay網絡的基礎架構如圖2所示:
Overlay網絡到非Overlay網絡
Overlay網絡到非Overlay網絡的流表建立和路由發布如圖3所示:
圖3 Overlay網絡到非Overlay網絡的流表建立和路由發布
創建VM的時候,會同時分(fēn)配IP和MAC信息。然後VM發送ARP請求報文,該報文會通過Packet-in被上送到控制器。控制器做IP-MAC防欺騙處理确認報文合法後,通過ARP代答功能構建ARP應答報文并通過Packet-out下(xià)發。
VM收到從ARP應答報文後,封裝并發送IP首包。OVS收到IP首報後發現沒有對應流表,就将該IP首包通過Packet-in上送控制器。控制器通過OpenFlow通道收到Packet-in報文後,判斷上送的IP 報文的IP-MAC爲真實的。然後根據報文中(zhōng)的目的IP查詢目的端口,将IP首包直接發送到目的端口,同時生(shēng)成相應流表下(xià)發OVS。若沒有查詢到目的端口,曾查詢物(wù)理網關的MAC 和VTEP IP,把目的MAC替換成網關MAC,源MAC替換成虛機MAC,生(shēng)成轉發流表下(xià)發OVS, IP首包也同時被packet out到OVS匹配流表轉發。
流表下(xià)發到OVS後,而後續的IP報文就會根據OVS上的流表進行轉發,而不再需要上送控制器。
從overlay網絡到非overlay網絡的路由處理需要用戶首先在網管上預配置路由協議引入靜态路由,然後控制器創建subnet并通過Netconf将subnet靜态路由下(xià)發到GW,最終由GW将overlay子網路由發布到非overlay網絡。
Overlay網絡轉發流程
· 報文所屬VXLAN識别
VTEP隻有識别出接收到的報文所屬的VXLAN,才能對該報文進行正确地處理。
VXLAN隧道上接收報文的識别:對于從VXLAN隧道上接收到的VXLAN報文,VTEP根據報文
中(zhōng)攜帶的VNI判斷該報文所屬的VXLAN。
本地站點内接收到數據幀的識别:對于從本地站點中(zhōng)接收到的二層數據幀,VTEP通過以太網服務實例(Service Instance)将數據幀映射到對應的VSI, VSI内創建的VXLAN即爲該數據幀所屬的VXLAN。
· MAC地址學習
本地MAC地址學習:指本地VTEP連接的本地站點内虛拟機MAC地址的學習。本地MAC地址通過接收到數據幀中(zhōng)的源MAC地址動态學習,即VTEP接收到本地虛拟機發送的數據幀後,判斷該數據幀所屬的VSI,并将數據幀中(zhōng)的源MAC地址(本地虛拟機的MAC地址)添加到該VSI的MAC地址表中(zhōng),該MAC地址對應的出接口爲接收到數據幀的接口。
遠端MAC地址學習:指遠端VTEP連接的遠端站點内虛拟機MAC地址的學習。遠端MAC學習時,VTEP從VXLAN隧道上接收到遠端VTEP發送的VXLAN報文後,根據VXLAN ID判斷報文所屬的VXLAN,對報文進行解封裝,還原二層數據幀,并将數據幀中(zhōng)的源MAC地址(遠端虛拟機的MAC地址)添加到所屬VXLAN對應VSI的MAC地址表中(zhōng),該MAC地址對應的出接口爲VXLAN隧道接口。
圖8 Overlay網絡到非Overlay網絡的轉發流程
虛拟機構造發送到物(wù)理機的報文,目的MAC爲OVS的MAC,目的IP爲要訪問的物(wù)理機的IP,報文從虛拟機的虛拟接口發出。
OVS接收到虛拟機發送的報文,根據報文中(zhōng)的目的IP匹配OVS上的流表表項。匹配到流表表項後,修改報文的目的MAC爲VX-GW的MAC,源MAC爲OVS的MAC,并從指定的隧道接口發送。從指定的隧道接口發送報文時,會在報文中(zhōng)添加VXLAN頭信息,并封裝隧道外(wài)層報文頭信息。
VX-GW從隧道口接收到VXLAN隧道封裝報文,隧道自動終結,得到内層報文。在VX-GW上已配置VNI和VPN的映射關系,根據隧道報文的VNI信息,确定對應的VPN。在指定的VPN中(zhōng),根據内層報文的目的IP按照FIB(非流表)進行報文三層轉發,從出接口發送的報文爲普通報文,其目的MAC爲物(wù)理機MAC,源MAC爲GW MAC,源IP爲虛拟機IP,目的IP爲物(wù)理機IP。
報文按照傳統網絡的轉發方式繼續轉發。物(wù)理機接收到VX-GW轉發的報文,實現虛拟機到物(wù)理機的訪問。
圖9 非Overlay網絡到Overlay網絡的轉發流程
物(wù)理機構造發送到虛拟機的報文,在傳統網絡中(zhōng)通過傳統轉發方式将報文轉發到VX-GW。VX-GW接收該報文時,報文的目的MAC爲VX-GW的MAC,目的IP爲虛拟機的IP地址,從物(wù)理機發送出去(qù)的報文爲普通報文。
VX-GW接收報文,根據報文的入接口VPN,目的IP和目的MAC匹配轉發流表。匹配到流表後,修改報文的目的MAC爲OVS的對應全局MAC(00163FAAAAA),源MAC爲GW的MAC,并從指定的VXLAN隧道口發送。從隧道口發送報文時,根據流表中(zhōng)的信息添加VXLAN頭信息,并對報文進行隧道封裝。從GW發送報文爲封裝後的Overlay報文。
OVS接收到報文後,隧道自動終結。根據報文VNI和目的IP匹配轉發流表。匹配到流表後,修改報文目的MAC爲虛拟機MAC,修改報文源MAC爲OVS的MAC,并從指定的端口發送。從OVS發送的報文爲普通報文。
根據報文的目的MAC,虛拟機接收到物(wù)理機發送的報文,實現物(wù)理機到虛拟機的訪問。
Overlay網關高可靠性
Overlay網關的高可靠性原理如圖4所示:
圖4 Overlay網關高可靠性
網關組中(zhōng)網關的VTEP IP和GW VMAC 相同,均通過路由協議對内網發布VTEP IP對應路由。
網關組内部,采用無狀态轉發設計,所有網關信息同步。
在處理OVS發往GW的流量時,動态選擇GW組中(zhōng)的一(yī)個GW,可以很好地起到負載分(fēn)擔的作用。
網關故障後,流量切換到分(fēn)組内其它網關,保證業務平滑遷移。
網關與内外(wài)網設備連接,采用聚合或ECMP方式,某鏈路故障,網關自動切換鏈路,無需人工(gōng)幹預。單個網關設備采用雙主控,原主控故障,新主控接管設備管理,所有處理網關自動完成。轉發層面和控制層面分(fēn)離(lí), VCF Controller不感知(zhī),網關上流量轉發不受影響。
Overlay網絡安全部署
如圖5所示,Overlay網絡的安全部署有三種模式,這三種模式既可以獨立部署,也可以配合部署:
圖5Overlay網絡的安全部署
· 旁挂部署
主要形态:硬件安全資(zī)源。
安全資(zī)源旁挂在核心/彙聚設備旁側(部分(fēn)安全資(zī)源也可選作爲L3網關)。
安全資(zī)源關注VXLAN<->VLAN的安全訪問控制。
· 服務器側部署
主要形态:軟件安全資(zī)源。
安全資(zī)源以VM形态部署在服務器内部,可以作爲其他VM的網關。
如果安全資(zī)源支持VXLAN,可以完成VXLAN<->VLAN的安全訪問控制。
全硬件VXLAN方案不推薦使用。
· 專用安全區部署
主要形态:軟件或硬件安全資(zī)源。
安全資(zī)源集中(zhōng)部署在某一(yī)個TOR設備下(xià),重點關注不同VXLAN ID之間互訪的安全控制。
如果安全資(zī)源支持VXLAN,就直接配置VXLAN ID的互訪策略。
如果安全資(zī)源不支持VXLAN,需要TOR完成VXLAN到VLAN的轉換,然後安全資(zī)源上配置不同VLAN互訪的安全策略。