經典乾貨:容器雲平台安全隔離方案詳解

原创 twt社区
【導讀】雲端原生技術在創造效益的同時,也面臨切實存在日益嚴峻的安全風險。 基於防火牆進行域間控制已顯得與雲端原生環境格格不入,無法真正滿足容器平台的隔離需求。 本文對現有容器雲平台隔離方案:基於 Network Policy 的容器隔離、主機代理形態的工作負載微隔離進行了分析,並提出理想的容器雲平台安全隔離解決方案應滿足的幾個條件。 希望能為準備和正在進行容器雲端平台安全設計的同行提供參考。

【作者】高鶴,嘉興銀行資訊安全中心負責人

一、雲端原生的技術背景
目前,數位化變革已逐漸滲透到每個具體產業,彈性算力已成為各行各業的“水電煤”,雲端運算則成為數位化世界的基石,從底層驅動產業變革。 隨著雲端運算發展進入成熟階段,以「生在雲端、長在雲端」為核心理念的雲端原生技術被視為雲端運算未來十年的重要發展方向。 在數位化大潮中,上雲並非是一種時尚,而是一種剛需,從“上雲”到“全面上雲”,從“雲化”到“雲原生化”,是企業數位化轉型的必由之路。
相較傳統 IT 架構,雲端原生具有無法比擬的優勢,將為企業帶來降低成本、提升效率、快速試誤、促進創新等業務增益價值。
雲端原生的技術理念始於 Netflix 等廠商自 2009 年起在公有雲上的開發與部署實務。 2015年雲端原生運算基金會(CNCF)成立,標誌著雲端原生從技術概念轉化為開源實作。 雲端原生的代表技術包括容器、服務網格、微服務、不可變基礎架構和聲明式 API。 這些技術能夠建構容錯性好、易於管理且便於觀察的鬆散耦合系統。 結合可靠的自動化手段,雲端原生技術使工程師能夠輕鬆地對系統進行頻繁且可預測的重大變更。

雲端原生的運用使本身複雜多變的企業業務可敏捷靈活、及時回應、快速迭代,從而讓數位轉型和營運過程中的持續創新成為可能。 目前業界較為認可的構成雲端原生的四大核心技術要素是微服務、DevOps、持續交付和容器化。

二、雲端原生環境的網路隔離訴求
原生技術能夠有效解決傳統雲端實務中應用升級緩慢、架構臃腫、無法快速迭代等「痛點」問題,並為業務創新提供動力。 然而,雲端原生技術在創造效益的同時,也面臨著切實存在日益嚴峻的安全風險。

例如,2018年特斯拉AWS上部署的K8S Dashboard暴露在公網,沒有做認證和授權控制,也沒有對網絡訪問做控制,黑客直接從dashboard中獲取S3憑證,從而獲取遙測數據,惡意拉取 POD,進行挖礦行為。
而「隔離」技術是最早、最基礎、也始終是最為核心的安全技術手段之一。 Gartner 提出的容器安全控制分層理論,將容器安全能力按照優先順序由高至低分為基礎控制(Foundational Controls)、基本控制(Basic Controls)和基於風險的控制(Risk-Based Controls),其中網絡 隔離(L3 Network Segmentation)被劃分為必備的基礎控制能力。

CNCF 於 2021 年發布的《雲端原生安全白皮書》指出,作為微服務部署的容器化應用程式的邊界就是微服務本身。 因此,有必要設定策略,只允許在獲得許可的微服務間進行通訊。
在微服務架構中引入零信任,可以在一個微服務被攻陷時阻止其橫向移動,從而縮小影響範圍。 維運人員應確保他們正在使用網路策略等功能,確保一個容器部署內的東西向網路通訊僅限於授權網路。

三、傳統防火牆在雲端原生中的捉襟見肘
基於所承載業務的屬性和安全級別,傳統資料中心往往將其內部劃分為多個安全域並進行客製化的安全管理,在安全域間通常會部署防火牆系統以實現存取控制。 在雲端平台建置初期,此類架構被相當一部分使用者繼續採用,並利用防火牆實施域間的存取控制策略,一些管理程度較高的使用者則基於存取來源和目的IP 進行了細粒度的策略規則設定 。
然而,隨著雲端平台向雲端原生架構演進遷移,基於防火牆進行域間控制已顯得與雲端原生環境格格不入,無法真正滿足容器平台的隔離需求。
防火牆的部署位置和控制物件決定了其僅能針對跨域流量進行控制,而無法實現更細緻的業務級、工作負載級控制。 此外,鑑於策略規模對防火牆效能的影響,其安全策略的控制對象往往僅能做到網段級。 因此,確切地說,此類方案至多能夠提供用於維護資料中心基礎架構完整性的“宏分段(Macro-Segmentation)”,而無法實現雲原生環境中真正所需的“微隔離(Micro- Segmentation)」。

此外,穩定不變的IP 位址是防火牆存取控制持續生效的“錨點”,而在雲端原生環境中,容器IP 的頻繁無規律變化則徹底動搖了傳統架構中這一確定因素,一旦容器開始新 的生命週期,新的IP 將直接逃脫原有靜態策略的有效管控。 同時,由於容器的消亡與新建在雲原生環境中是高頻發生的,即便能夠即時感知其變化,依靠人工刪除原有策略並建立新的策略也毫無可能,而已失效的策略長時間 堆積,又勢必帶來防火牆系統策略冗餘、效能下降的副作用。
在雲端原生環境中,微服務的架構勢必指數級的增加服務間的互訪呼叫情況和橫向連接關係,為原本就複雜度較高的東西向流量控制又帶來了新的難度。 在 DevOps 的加持下,應用敏捷、快速、持續交付部署,而安全控制措施則必須找到合適的切入點,並跟上瞬息萬變的節奏。
容器成為新的最小控制單元,其生命週期規律則更加難尋,每次新業務上線、應用更新、擴縮容等,均會帶來容器的消亡和新建,而在此過程中傳統用於標識 基礎設施的IP、主機名稱等都將發生變化,傳統的安全策略框架將輕易繞過逃逸。
由此看來,即便放棄以防火牆實現叢集內流量微隔離的預期,其在雲端原生環境中也難以起到叢集間流量的有效隔離控製作用,在雲端原生架構下甚至已經失去了原先的部署位置 。 事實上,開始規模化部署容器的用戶,往往在第一時間即發現了防火牆系統幾乎徹底失效的問題,從而釋放出更為迫切的隔離控制需求。

四、現有容器雲平台隔離方案分析
1、基於 Network Policy 的容器隔離
防火牆因「水土不服」而在雲端原生環境下徹底失效,再次鮮活證明了「安全原生化」對於雲端原生環境的重要性。 事實上,已成為容器編排平台事實標準的 Kubernetes(以下簡稱「K8S」),透過整合 Network Policy 功能提供了容器間的網路隔離能力。

在 K8S 中,Network Policy 定義了一組 Pod 之間的存取控制規範,其透過 Label 指定Namespace 和 Pod,並利用節點(Node)主機作業系統的 IPTABLES 實作 Namespace 和Pod 級的網路存取控制。
與外掛式的防火牆相比,Network Policy 實現了原生化的安全能力內嵌,但大量實踐表明,對於多數用戶而言其運用落地依然受到較大製約,存在以下突出問題:
1)環境適應性的限制
Network Policy 只定義了策略規則的規範,而存取控制能力的特定實作則需依賴 K8S 平台的網路外掛程式。 事實上,目前流行的 K8S 網路外掛程式中,並非所有都支援 Network Policy 功能。 例如相當一部分使用者使用的 Flannel 外掛即無法支援該項功能,而對於多數使用者而言,為了實現 Network Policy 能力而替換遷移原網頁外掛程式的成本無疑是高昂的。
此外,一套Network Policy 策略只能適用於一個獨立的K8S 集群,對於普遍具有多套K8S 集群的用戶而言,期望利用Network Policy 實現全局管理,則必須進行更為複雜的定制開發,其實現難度 和管理成本令多數用戶望塵莫及。
2)規模化管理難度高
Network Policy 僅在商用版才提供了流量視覺化能力,對於開源版用戶而言,不得不在未了解流量關係的情況下「盲配」安全策略,準確性和效率將大大降低,且隨著管理規模的 增大,客製化貼合業務、符合最小特權原則的安全策略則越來越不可能。
同時,在規模較大的容器環境中,東西向連接關係極其複雜,大量實操經驗證明,管理者製定策略規則時「首發命中」的可能性微乎其微,安全策略從設計到執行通常需要模擬測試、 細化調優等階段,否則大機率發生的誤阻斷將直接造成服務間的呼叫失敗。 而在 Network Policy 即時生效的機制下,管理者的配置難度和試誤成本極高,對策略下發執行造成阻斷。
3)管理操作易用性差
對於多數用戶而言,Network Policy 的管理互動並不友好,例如其僅能基於 Namespace和 Pod 標籤定義策略,對於容器平台管理不規範的用戶,策略的靈活性將受到極大限制。 又如,策略定義需透過手動編輯 YAML 檔案實現,配置效率低、誤配置風險高。 這些問題均不利於在複雜的容器環境下配置生效微隔離策略。
混合架構無法統管雲端原生環境中容器是工作負載的主流類型,但即便是在徹底完成雲端原生化改造後,容器也不會完全取代虛擬機器執行個體。 換言之,在多數用戶的資料中心內,實體機實例、虛擬機器實例、容器將長期並存,作為承載不同應用的工作負載,它們之間仍會產生密切的橫向連接,需被統一納入微隔離的管控 範圍,而Network Policy 顯然僅適用於容器平台內部的隔離控制。
綜合以上,K8S 內建的 Network Policy 能在容器平台中提供基於策略的內部流量控制能力,但其更傾向於一個單純的「策略執行點」。 事實上,在雲端原生環境下實施微隔離本身是非常複雜的,對於策略從設計、到定義、再到運維等全生命週期的管理,現階段的 Network Policy 並不能完全勝任。
2.主機代理形態的工作負載微隔離
Network Policy 原生於雲端卻「舉步維艱”,同樣印證了雲端原生環境對於專業安全功能深度、廣度和易用度的訴求。 事實上,雲端工作負載的微隔離防護並非是在雲端原生時代才有的產物,該技術早在2015 年便被Gartner 提出,並在近幾年間快速進入主流技術航道,只是在微隔離誕生之初 ,其面向的隔離物件以雲端平台內的虛擬機器實例為主,容器還並未得到大範圍運用。
作為面向新型基礎設施的創新技術,早期的微隔離存在多種技術路線,各有優劣及對應的適用場景。 雲端廠商面向其用戶推出了適用於自身平台的安全元件,可與雲端管理平台緊密結合,但對第三方雲端平台的適應性具有明顯限制。 防火牆廠商透過與虛擬化平台的適配,將東西向流量牽引至其防火牆系統實現存取控制,可利用較成熟的安全能力對流量進行偵測與控制,但效能上存在較大難點,且實際效果往往 受制於虛擬化平台的兼容適配水準。 獨立的微隔離廠商則採用主機代理(Agent)的方式,透過控制工作負載作業系統的主機防火牆程式(IPTABLES)實現工作負載的隔離控制,能夠充分適應混合雲、多雲及各類雲平台,最大 程度實現基礎架構無關。

多數K8S 網路插件是利用節點(Node)主機核心的固有能力實現容器平台內部的網路轉發,這給基於主機代理(Agent)的微隔離系統適應容器環境提供了天然的技術條件,可將Agent 部署於 容器Node 的作業系統,並透過控制其核心的網路轉發進而實現容器間通訊的存取控制。 因此,基於已較完善的微隔離功能,並憑藉對容器環境的天然相容性,基於主機代理形態的微隔離系統在相當長一段時期內,幾乎是面向容器平台及虛擬機器、容器並存的混合環境 下,唯一可行的微隔離方案。
然而,此類方案在資料中心由「應用容器化」演進至「全面雲原生化」後,依然顯現出了許多與雲原生思想相悖的弊端,而核心在於其必須透過在Node 安裝Agent 的方式實現 部署。
在K8S 叢集中,Pod 是最小的運算單元,而Node 則是Pod 的承載載體,在Node 按需部署的過程中,Agent 無法隨其建立而自動化部署,反而必須執行額外的安裝,勢必拖慢了 DevOps 流程、拉低持續交付的效率。 此外,越是規模化部署的用戶,管理規範越嚴格,取得Node 安裝 Agent 的管理權限本身也有較大不便。
歸根結底,基於主機代理的微隔離方案可以支援容器環境,但其也並非完全的“為雲而生”,距離雲原生環境微隔離的理想實現仍有差距。

五、容器雲端平台的安全隔離解決方案
綜合來看,理想的容器雲端平台安全隔離解決方案應符合以下幾個條件:
1.充分適應雲端原生環境特性
雲端原生的初衷是充分釋放雲端運算敏捷、靈活的技術紅利,安全措施的運用不應以犧牲雲端原生的固有特性為代價,應以原生的思維建構安全,使安全能力能夠內嵌融合於雲端平台 中。
具體而言,雲端原生安全方案應採用內嵌的方式而非「穿衣戴帽」式的外掛部署,安全能力能夠與雲端原生環境中的應用程式一樣實現快速部署、按需伸縮。 應充分利用雲端平台原生的資源和數據,實現安全策略的自適應。
因此隔離方案應具備容器化部署運作、自適應策略運算等特性,將安全能力以原生化方式整合到雲端平台上嵌入,充分適應雲端原生環境敏捷、靈活、彈性擴展、動態伸縮的特性。 讓安全與容器的生命週期保持緊密的“步調一致”,自動加載精細化訪問控制能力,不但消除了用戶容器平台的防護“盲區”,還對業務應用實現了安全防護左移。
2、提供可靠的策略設計輔助
雲端原生環境對傳統 IT 架構和管理模式形成巨大顛覆,在更為緊湊的應用程式生命週期內,從開發、到測試、再到運維,安全控制的設計和實施往往並不在業務團隊關注的範圍內。 而對於安全人員來說,難以將安全措施融入應用程式交付流程的核心原因,是安全人員並不了解業務組成和運行,在未得到必要輸入的情況下,他們同樣無法回答策略該如何設計的問題。
結合雲端原生環境實施微隔離的場景,在無法縱覽全域連線狀態、無法準確梳理業務互訪的情況下,使用者難以像實施傳統域間邊界存取控制那樣預設安全策略,而必須經歷一定週期的學習 、分析和建模,才能定義出符合業務實質、遵循最小特權的策略規則。 在此過程中,系統應透過視覺化、智慧化的功能,為安全策略的設計提供輔助和便利。
被廠商「神化」了多年的「視覺化」技術,在過去很多年更像是個「花瓶」。 而如今,可視化成了微隔離一項關鍵能力,要想“可控”首先必須“可視化”,這也是“策略輔助設計”的具體體現。
因此容器雲隔離方案應提供具有業務視角的連接關係視覺化分析功能,在微隔離策略實施的準備階段,讓用戶以縱覽全局、洞察微豪的上帝視角深入分析雲原生環境下的東西向流量,並 提供資產梳理、策略設計等的輔助支撐,進一步降低微隔離的實施難度。
3.具備完善的策略管理能力
雲端原生環境下更為有效的安全管控,實際上是要實現面向規模更龐大、複雜度更高的管控對象,執行顆粒度更細、精細化程度更高的安全策略,這無疑是對微隔離 策略體系的巨大挑戰。 事實上,在容器平台強大的編排能力下,用於載入執行安全策略的作用點並不缺少,而更為重要的是需具備完善、系統的策略定義架構和管理運維能力,確保策略設計能 被準確定義,管控意圖得以完整貫徹。
在雲端原生環境的微隔離場景下,安全性策略首先應完成與 IP 和主機名稱的解耦,並支援以新的、更豐富的方式來圈定策略物件。 安全策略應能適應面向東西向流量的場景,例如跨業務的或業務內的、出站的或入站的、應允許的或需阻斷的等。 安全策略的執行必須考慮到微隔離運用的實際,提供必要的效果模擬手段,以驗證策略設計的正確性和合理性。 安全策略的發布應能夠被謹慎審查,並提供快速的回滾選項等。
提供靈活的策略定義編排和完整的維運管理功能,具體可體現為簡化的策略邏輯、靈活的策略定義方式、豐富的策略生效模式及完善的策略審計和回溯等設計,滿足雲原生環境下 複雜的策略管控需求。 專業且有系統的微隔離策略管理與維運能力,讓使用者獲得更為便利、易用的策略管理體驗,進而加速零信任安全能力在資料中心的落地。
4.跨平台、跨集群統一管理
最好能實現實體機、虛擬機器、容器等多類別工作負載的同台納管,實現規模化雲端原生環境中跨K8S 叢集的統一管理,這樣才能適應國內多數用戶混合雲、多雲等複雜資料中心 場景下的微隔離統一管理需求,使用戶獲得企業的全業務視覺化分析能力和全業務存取控制能力。

勁爆! OpenAI CEO Altman 結婚了。 。 。 和程式設計師 Ollie(男)

原创 小云 云头条
OpenAI 執行長 Sam Altman 與基友 Oliver Mulherin 最近在夏威夷舉行了一場由其兄弟 Jack Altman 主持的私人婚禮,在全球科技界的熱烈祝福下,這對新人表達了準備組建大家庭的雄心。

全球領先的 AI 研究實驗室 OpenAI 執行長、Y Combinator 前總裁 Sam Altman 在夏威夷與男友 Oliver Mulherin 舉行了一場低調的婚禮。
婚禮於2024 年1 月10 日舉行,是一場僅限小圈子的活動,並未對外公開,全程又不失優雅的氛圍,一小群親朋好友出席,舉辦地是在Altman 島上住所的附近 。

Oliver Mulherin 被朋友和新郎暱稱為 Ollie。 他基本上一直遠離公眾的視線,更喜歡低調的生活方式。 外界形容他與 Altman 的關係紮根於深厚的友誼,一路走來互相扶持,共渡難關。
在婚禮當天,Altman 和 Ollie 都穿著隨意搭配的服裝,穿著白色襯衫、淺米色褲子和白色運動鞋,象徵著純潔的戀情。
Oliver Mulherin 是軟體工程師。
Altman 的兄弟 Jack Altman 主持了婚禮,更是增添了家庭氣氛。

Jack 本人在創業界是個耳熟能詳的人物,他是 Lattice 的創辦人兼前任首席執行官,這是一家專門開發員工績效管理軟體的公司。 他出席婚禮突顯了這個家庭的密切關係。

這對新人選擇透過一篇感人的Instagram 貼文與全世界分享他們的特殊時刻,Ollie 在貼文中寫道:「嫁給了我最好的朋友和一生的摯愛。」科技界迅速做出回應,一片 歡呼雀躍。 在數百名表示祝賀的人當中,有亞馬遜創辦人 Jeff Bezos 的未婚妻 Lauren Sanchez 等社會名媛,Zen Matoshi、Alexandr Wang、Shervin Pishevar 和 Adrian Aoun 等眾多科技企業家,以及科技社交媒體的一眾名人。

大型資料中心雲端平台網路知識與實踐

叶一力 twt企业IT社区
【導讀】本文介紹了雲端運算中網路的一些重要知識和原理,以及結合實際業務分享產業雲的一些架構設計。
【作者】一力搜索,某銀行分散式資料庫架構師,重點負責行內分散式資料庫領域及私有雲。

最簡單的總結
SDN主流選擇了OverLay。 虛擬集群的規模(非實體機所能比擬) 使得Vxlan的組播傳播( 虛擬機構成的集群包含的MAC 地址數量往往多一兩個數量級MAC地址表)對網絡設備性能要求巨大(你不可能每 個交換器都買核心交換器一樣的配置吧)。 Overlay透過隧道技術(VxLAN或GRE)和控制平面可以減少叢集中MAC位址表和ARP請求( H3C VXLAN解決方案基於SDN架構,透過引入全網的SDN Controller來實現VXLAN的管理和維護,使得VTEP之間 的資訊可以透過Controller來進行反射。這樣,VTEP的MAC位址表映射關係不再透過組播向全網其他VTEP傳達,而是統一上報給控制器,由控制器統一下發給需要接受此訊息的 其他VTEP,由具體的VTEP執行轉發機), VxLan中Vlan內部只走2層網關,只有VxLan之間(不同租戶,雲端主機和裸金屬之間)才需要走3層網關。 進而有效降低二層核心網路設備壓力。

常見網路術語
普通的VLAN數量只有4096個,無法滿足大規模雲端運算IDC的需求,而IDC為何需求那麼多VLAN呢,因為目前大部分IDC內部結構主要分為兩種L2,L3。

L2( 二層網關 ) :位於同一網段的終端用戶通信,L2網關收到用戶報文後,根據報文中包含的目的MAC類型 進行轉發。

L2網關主要解決的就是同一VNI下的VM之間的互訪 。

L3(三層閘道):用於非同一網段的終端用戶通訊或VXLAN和非VXLAN用戶間的通訊。

L3閘道解決的是不同VNI(VXLAN Network Identifier)以及VXLAN和非VXLAN之間的互訪

VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端點) 為VXLAN隧道的端點,封裝在NVE中,用於VXLAN封包的封裝和解封裝。 VTEP與實體網路相連,分配的位址為實體網路IP位址。 VXLAN封包中來源IP位址為本節點的VTEP位址,VXLAN封包中目的IP位址為對端節點的VTEP位址,一對VTEP位址就對應一個VXLAN隧道。

L2架構裡面,所有的伺服器都在一個大的區域網路裡面,TOR透明L2,不同交換器上的伺服器互通靠MAC位址,通訊隔離和廣播隔離靠的vlan,網關在內網核心上。 而L3結構是從TOR層級就開始用協定進行互聯,網關在TOR上,不同交換器之間的互通靠IP位址。

ToR(Top of Rack):存取方式就是在伺服器機櫃的最上方安裝接入交換器。

EoR(End of Row):接取交換器集中安裝在一列機櫃端部的機櫃內,透過水平纜線以永久連結方式連接設備櫃內的主機/伺服器/小型機設備。 EoR 對設備機櫃需要敷設大量的水平纜線連接到交換器。

對比:

EOR佈線方式的缺點:從伺服器機櫃到網路機櫃的銅纜多(約有20-40根銅纜),且距離網路機櫃越遠的伺服器機櫃的銅纜,在機房中的佈線距離越長,由 此導致線纜管理維護工作量大、靈活性差。

TOR佈線的缺點:每個伺服器機櫃受電源輸出功率限制,可部署的伺服器數量有限,由此導致機櫃內交換器的存取連接埠使用率不足。 在幾個伺服器機櫃間共用1-2台接取交換機,可解決交換器連接埠使用率不足的問題,但這種方式增加了線纜管理工作量。

從網路設計考慮,TOR佈線方式的每台接入交換機上的VLAN量不會很多,在網路規劃的時候也要盡量避免使一個VLAN通過匯聚交換機跨多台接入交換機,因此採用TOR佈線方式的 在網路拓撲中,每個VLAN的範圍不會太大,包含的連接埠數量也不會太多。 但對於EOR佈線方式來說,接取交換器的連接埠密度高,在網路路徑最初設計時,就可能存在包含較多連接埠數的VLAN。

TOR方式的接入交換器數量多,EOR方式的接入交換器數量少,所以TOR方式的網路設備管理維護工作量大。

隨著用戶資料業務需求的激增,資料中心機房伺服器密度越來越高,虛擬化和雲端運算等新技術趨勢日益流行,使得伺服器對應的網路連接埠大大增加,並且增加了管理的複雜性,另外 乙太網路(LAN)與光纖儲存區域網路(SAN)的融合也越來越常見,這必然要求一種新的網路拓撲結構與之相對應。 在雲端運算的大潮下,這種分散式架構的業務擴展性極強,要求的伺服器數量也越來越多。 例如新的Apache Hadoop 0.23支援6000~10000台伺服器在一個叢集內,海量的伺服器數量要求充分利用資料中心機櫃空間的同時,海量的業務資料也需要更快更直接的高效能連結把資料傳送到 網路核心。 在這樣的趨勢下,顯然ToR更加適用,在業務迅速擴展的壓力下,ToR的方式可以更好的實現網絡的更快速擴展。

一 . SDN
在SDN解決方案中overlay與underlay是最常見的二個網路術語。

UnderLay指的是實體網絡,它由實體設備和實體連結組成。 常見的實體設備有交換器、路由器、防火牆、負載平衡、入侵偵測、行為管理等,這些設備透過特定的連結連接起來形成了一個傳統的實體網絡,這樣的實體網絡,我們稱之為UnderLay網路。

實作 SDN的技術主要有 overlay , OpenFlow ,和思科的 onePK 。 Overlay已成主流,該類方案主要思想可被歸納為解耦,獨立,控制三個面向。

OverLay其實就是一種隧道技術 ,VXLAN,NVGRE及STT (都是OverLay實現方式之一) 是典型的三種隧道技術, 它們都是透過隧道技術實現大二層網路。 將原生態的二層資料幀報文進行封裝後再透過隧道進行傳輸。 總之,透過OverLay技術,我們在對實體網路不做任何改造的情況下,透過隧道技術在現有的實體網路上創建了一個或多個邏輯網路即虛擬網絡,有效解決了實體資料中心,尤其是 雲端資料中心存在的諸多問題,實現了資料中心的自動化和智慧化。

與UnderLay網路相比,OverLay實現了控制與轉發的分離,這是SDN的核心理念 。

Overlay 技術與 SDN 可以說天生就是適合互相結合的技術組合。 Overlay 網路虛擬機器實體位置無關特性就需要有一個強而有力的集中控制技術進行虛擬機器的管理與控制。 而 SDN 技術恰好可以完美的做到這一點。

二 . OverLay 解決哪些痛點
Overlay由於其簡單、一致的解決問題方法,加上重新定義的網路可以進行軟體定義,已成為資料中心網路最炙手可熱的技術方案。 然而,它並不是完全由軟體定義的網絡,Overlay網絡解決方案必定是一種軟硬結合的方案,無論是從接入層VTEP混合組網的組網要求、組播或SDN控制層協議 的支持,還是VXLAN網路與傳統網路的互通來看,都需要硬體的積極配合與參與,必須建構在堅實且先進的實體網路架構基礎上。

考慮到伺服器存取的可以是虛擬交換機,也可以是實體交換機,因此有三種不同的建置模式:

2.1 OverLay类型

2.2 Overlay 网络主要解决的问题

三 . 為什麼需要 Vxlan
在雲端運算IDC裡,要求伺服器做到虛擬化,原來這個伺服器掛在TOR A上,我可以隨意把它遷移到TOR B上,而不需要改變IP位址,這個優點就是L2網路的特長,因為 我這個虛擬伺服器和外界(網關之外)通訊還靠L3,但是我網關內部互訪是走L2的,這個在L3裡是無法做到的。 因為L3裡每個IP都是唯一的,位址也是固定位置的,除非你整網段物理搬遷。 因此如何在L3網路裡傳輸L2資料呢,這就是overlay技術。

因此VXLAN(Virtual eXtensible LAN可擴充虛擬區域網路)誕生了,基於IP網路之上,採用的是MAC in UDP技術,原本OSI7層模型裡就是一層疊一層的,這種和GRE/IPSEC等tunnel技術是 不是很像,這種封裝技術對中間網路沒有特殊要求,只要能辨識IP封包即可傳送。

好了,解釋清楚了,那麼現在總結為何需要Vxlan:

虛擬機器規模受到網路規格的限制,大L2網路裡,封包透過查詢MAC位址轉發, MAC表容量限制了虛擬機器的數量。

網路隔離的限制,普通的vlan和VPN配置無法滿足動態網路調整的需求,同時配置複雜

虛擬器搬遷受到限制,虛擬機啟動後假如在業務不中斷基礎上將該虛擬機遷移到另外一台實體機上去,需要保持虛擬機的IP位址和MAC位址等參數保持不變,這就要求業務 網路是一個二層的網路。

3.1 報文的封裝與解封裝
VXLAN的核心在於承載於實體網路上的隧道技術,這意味著要對封包進行封裝和解封裝,因此需要硬體來加速處理。

在VXLAN網路中,用於建立VXLAN隧道的端點設備稱為VTEP(VXLAN Tunneling End Point,VXLAN隧道終結點 ,起到網關的作用 ), 封裝和解封裝在VTEP節點上進行 。

在雲端資料中心,部分業務是不適合進行虛擬化的(如小機伺服器,高效能資料庫伺服器),這些伺服器會直接與實體交換器互聯, 而他們又必須與對應租用戶/業務的VXLAN網路互通,此 時必須要求與其互聯的硬體交換器也能支援VXLAN協議,以接取VXLAN網路。

3.2 組播協定傳播
簡單總結,vxlan用組播協定傳播,每個VTEP都需要清楚來源和目的MAC,新增MAC位址需要組播通知一實例下所有VTEP。 另,本地VTEP 找不到目的MAC處於哪一個遠端VTEP時,也需要組播封包查找目的MAC主機所屬遠端VTEP。 租戶很多時,組播條數指數增加,對實體網路承載組播處理能力有較大要求。 引入SDN Controller來實現VXLAN的管理和維護,VTEP的MAC位址表映射關係不再透過組播向全網其他VTEP傳達,而是統一上報給控制器,由控制器統一下發給需要接受此訊息的 其他VTEP,由具體的VTEP執行轉送機制。

VXLAN網路的MAC表與隧道終端的綁定關係要用組播協定傳播,而大規格組播協定離不開實體網路設備的支援。

依照VXLAN的標準, 每個VTEP都需要了解其存取的終端MAC位址,同時也需要知道整網(該VXLAN實例中)其他VTEP下所有的終端MAC位址。 只有這樣,在本地的VTEP收到報文後需要轉發時,才能根據目的MAC查詢到需要送到遠端的目的VTEP那裡 。

依照IETF中對VXLAN網路的定義,負責在網路中傳播MAC位址和VTEP對應關係的機制,正是依託於實體網路中的組播協定。 VTEP將本地的MAC位址表利用組播協定在整個組播中傳播,從而使得整網中所有組播成員,也就是其他VTEP都知道本地的MAC位址表。 當VTEP下的終端存取情況有所更改,例如新增了MAC位址或減少了MAC位址,也需要利用組播協定通知同一個實例下的所有VTEP。 另外,當本地VTEP找不到目的MAC處於哪一個遠端VTEP時,也需要發送組播封包來尋找目的MAC主機所屬的遠端VTEP。

實際組網中,VXLAN利用了實體網路的組播群組,在建立好的組播群組中加入VXLAN中所有VTEP成員,傳遞VTEP變更資訊。 在多用戶多業務情況下,組播群組要求與VXLAN數量息息相關。 由於VXLAN網路規模的不斷拓展 (最大可達16M個VXLAN網路),所需的組播條目數會不斷增加,這實際上對於實體網路承載組播處理能力和規格提出了要求。

由於標準VXLAN架構下使用組播協議,對實體網路組播數規格要求較大,因此H3C VXLAN解決方案基於SDN架構, 透過引入全網的SDN Controller來實現VXLAN的管理和維護,使得VTEP之間的 資訊可以透過Controller來進行反射。 這樣, VTEP的MAC位址表映射關係不再透過群播向全網其他VTEP傳達,而是統一上報給控制器,由控制器統一下發給需要接受此訊息的其他VTEP, 由具體的VTEP執行轉發 機制。

在SDN架構下,硬體形態的VTEP需要能夠支援集中控制器下發的業務控制訊息,同時基於Openflow進行流程表轉送。 而傳統硬體交換器不能支援上述特性,必須由新硬體設備來執行和完成的。

3.3 VXLAN網路互通
在傳統L2網路中,封包跨VLAN轉發,需要藉助三層設備來完成不同VLAN之間的互通問題。 VXLAN網路與傳統網路、以及VXLAN網路的互通,必須有網路設備的支援。

VXLAN網路框架中定義了兩種網關單元。

VXLAN三層閘道。 用於終結VXLAN網絡,將VXLAN封包轉換成傳統三層封包送至IP網絡,適用於VXLAN網路內伺服器與遠端終端之間的三層互訪;同時也用作不同VXLAN網路互通(可 理解為不同VPC) 。 當伺服器存取外部網路時,VXLAN三層閘道剝離對應VXLAN封包封裝,送入IP網路;當外部終端存取VXLAN內的伺服器時,VXLAN依據目的IP位址確定所屬VXLAN及所屬的VTEP,加上對應的 VXLAN封包頭封裝進入VXLAN網路。 VXLAN之間的互訪流量與此類似,VXLAN閘道剝離VXLAN封包頭,並基於目的IP位址確定所屬VXLAN及所屬的VTEP,重新封裝後送入另外的VXLAN網路。

VXLAN二層閘道。 用於終結VXLAN網絡,將VXLAN封包轉換成對應的傳統二層網路送到傳統乙太網絡,適用於VXLAN網路內伺服器與遠端終端或遠端伺服器的二層互聯。 如在不同網路中做虛擬機器遷移時,當業務需要傳統網路中伺服器與VXLAN網路中伺服器在同一個二層中,此時需要使用VXLAN二層網關打通VXLAN網路和二層網路。 如圖7所示,VXLAN 10網路中的伺服器要和IP網路中VLAN100的業務二層互通,此時就需要透過VXLAN的二層閘道進行互聯。 VXLAN10的封包進入IP網路的流量,剝掉VXLAN的封包頭,依照VXLAN的標籤查詢對應的VLAN網路(此處對應的是VLAN100),並據此在二層封包中加入VLAN的802.1Q 封包送入IP網路;相反VLAN100的業務流量進入VXLAN也需要依VLAN獲知對應的VXLAN網路編號,依目的MAC獲知遠端VTEP的IP位址,基於上述資訊進行VXLAN封裝後送入對應的VXLAN網路。

可見,無論是二層或三層網關,均涉及到查表轉送、VXLAN封包的解封裝及封裝操作。 從轉送效率和執行效能來看,都只能在實體網路設備上實現,而且傳統設備無法支持,必須透過新的硬體形式來實現。