日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenStack(五)——Neutron组件

發布時間:2024/2/28 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenStack(五)——Neutron组件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OpenStack(五)——Neutron組件

  • 一、OpenStack網絡
    • 1、Linux網絡虛擬化
    • 2、Linux虛擬網橋
    • 3、虛擬局域網
    • 4、開放虛擬交換機(OVS)
  • 二、OpenStack網絡基礎服務
    • 1、Neutron網絡結構
    • 2、網路、子網和端口
    • 3、網絡拓撲類型
      • 小結
    • 4、網絡基本架構
  • 三、Nuetron主要插件、代理與服務
    • 1、M2插件
    • 2、Linux Bridge 代理
    • 3、Open vSwitch 代理
  • 總結
    • vlan的作用
    • OVS
    • OpenStack網絡基礎服務
    • OpenStack網絡拓撲類型

一、OpenStack網絡

  • 網絡是openstack最重要的資源之一,沒有網絡,虛擬機將被隔離。Openstack的網絡服務最主要的功能就是為虛擬機實例提供網絡連接,最初由nova的一個單獨模塊nova-compute實現,但是nova-compute支持的網絡服務有限,無法適應大規模、高密度和多項目的云計算,現已被專門的網絡服務項目Neutron所取代。
  • Neutron為整個openstack環境提供軟件定義網絡支持,主要功能包括二層交換、三層路由、防火墻、VPN以及負載均衡等。Neutron在由其他openstack服務(如nova)管理的網絡接口設備(如虛擬網卡)之間提供網絡連接即服務。

1、Linux網絡虛擬化

  • OpenStack網絡服務最核心的任務就是對二層物理網絡進行抽象和管理
  • 實現虛擬化后,多個物理服務器可以被虛擬機取代,部署在同一臺物理服務器上。虛擬機由虛擬機管理器(Hypervisor)實現,在Linux系統中Hypervisor通常采用kvm。在對服務器進行虛擬化的同時,也對網絡進行虛擬化。
  • Hypervisor為虛擬機創建一個或多個虛擬網卡(vNIC),虛擬網卡等同于虛擬機的物理網卡。物理交換機在虛擬網絡中被虛擬為虛擬交換機(vSwitch),虛擬機的虛擬網卡連接到虛擬交換機上,虛擬機交換機再通過物理主機的物理網卡連接到外部網絡。
  • 對于物理網絡來說,虛擬化的主要工作是對網卡和交換設備的虛擬化。


2、Linux虛擬網橋

  • 與物理機不同,虛擬機并沒有硬件設備,但是也要與物理機和其他虛擬機進行通信。Linux KVM的解決方案是提供虛擬網橋設備,像物理交換機具有若干網絡接口(網卡)一樣,在網橋上創建多個虛擬的網絡接口,每個網絡接口再與KVM虛擬機的網卡相連。
  • 在Linux的KVM虛擬系統中,為支持虛擬機的網絡通信,網橋接口的名稱通常以vnet開頭,加上從0開始順序編號,如vnet0、vnet1,在創建虛擬機時會自動創建這些接口。虛擬網橋br1和br2分別連接到物理主機的物理網卡1和物理網卡2。

3、虛擬局域網

  • 一個網橋可以橋接若干虛擬機,當多個虛擬機連接在同一網橋時,每個虛擬機發出的廣播包會引發廣播風暴,影響虛擬機的網絡性能。通常使用虛擬局域網(VLAN)將部分虛擬機的廣播包限制在特定范圍內,不影響其他虛擬機的網絡通信。
  • 通常使用VLAN將部分虛擬機的廣播包限制在特定范圍內,不影響其他虛擬機的網絡通信。
  • 將多個虛擬機劃分到不同的VLAN中,同一VLAN的虛擬機相當于連接同一網橋上。
  • 在Linux虛擬化環境中,通常會將網橋與VLAN對應起來,也就是將網橋劃分到不同的VLAN中
  • VLAN協議為802.1Q,VLAN是具有802.1Q標簽的網絡。

4、開放虛擬交換機(OVS)

  • 開放虛擬交換機(Open vSwitch) 是與硬件交換機具備相同特性,可在不同虛擬平臺之間移植,具有產品級質量的虛擬交換機,適合在生產環境中部署。
  • 交換設備的虛擬化對虛擬網絡來說至關重要。在傳統的數據中心,管理員可以對物理交換機進行配置,控制服務器的網絡接入,實現網絡隔離、流量監控、Qos配置、流量優化等目標。在云環境中,采用Open vSwitch技術的虛擬交換機可使虛擬網絡的管理、網絡狀態和流量的監控得以輕松實現。
  • Open Switch在云環境中的虛擬化平臺上實現分布式虛擬交換機,可以將不同主機上的Open vSwitch交換機連接起來,形成一個大規模的虛擬網絡

二、OpenStack網絡基礎服務

  • OpenStack網絡服務提供一個APl讓用戶在云中建立和定義網絡連接。該網絡服務的項目名稱是Neutron。
  • OpenStack網絡負責創建和管理虛擬網絡基礎架構,包括網絡、交換機、子網和路由器,這些設備由OpenStack計算服務Nova管理。
  • 同時,網絡服務還提供防火墻和VPN這樣的高級服務。可以將網絡服務部署到特定主機上。OpenStack網絡組件與身份服務、計算服務和儀表板等多個OpenStack組件進行整合

1、Neutron網絡結構

  • 一個簡化的典型的Neutron網絡結構包括一個外部網絡、一個內部網絡和一個路由器。
  • 外部網絡負責連接OpenStack項目之外的網絡環境,又稱公共網絡。與其他網絡不同,它不僅僅是一個成擬網絡,更重要的是,它表示OpenStack網絡能被外部物理網絡接入并訪問。外部網絡可能是企業的局域網(Intranet),也可能是互聯網(Internet),這類網絡并不是由Neutron直接管理。
  • 內部網絡完全由軟件定義,又稱私有網絡。它是虛擬機實例所在的網絡,能夠直接連接到虛擬機。項目用戶可以創建自己的內部網絡。默認情況下,項目之間的內部網絡是相互隔離的,不能共享。該網絡由Neutron直接配置與管理。
  • 路由器用于將內部網絡與外部網絡連接起來,因此,要使虛擬機訪問外部網絡,必須創建一個路由器。
  • Neutron需要實現的主要是內部網絡和路由器。內部網絡是對二層(L2)網絡的抽象,模擬物理網絡的二層局域網,對于項目來說,它是私有的。路由器則是對三層(L3)網絡的抽象,模擬物理路由器,為用戶提供路由、NAT等服務。

2、網路、子網和端口

  • 網路:一個隔離的二層廣播域,類似交換機中的VLAN。Neutron支持多種類型的網絡,如FLAT、VLAN、VXLAN等。
  • 子網:一個IPV4或者IPV6的地址段及其相關配置狀態。虛擬機實例的IP地址從子網中分配。每個子網需要定義IP地址的范圍和掩碼(這個有點像DHCP中定義的作用域的概念)。
  • 端口:連接設備的連接點,類似虛擬交換機上的一個網絡端口。端口定義了MAC地址和IP地址,當虛擬機的虛擬網卡綁定到端口時,端口會將MAC和IP分配給該虛擬網卡。
  • 通常可以創建和配置網絡、子網和端口來為項目搭建虛擬網絡。網絡必須屬于某個項目,一個項目中可以創建多個網絡。一個子網只能屬于某個網絡,一個網絡可以有多個子網。一個端口必須屬于某個子網,一個子網可以有多個端口。

3、網絡拓撲類型

  • Local (測試用)
    • Local網絡與其他網絡和節點隔離。該網絡中的虛擬機實例只能與位于同一節點上同一網絡的虛擬機實例通信,實際意義不大,主要用于測試環境。位于同一Local網絡的實例之間可以通信,位于不同Local網絡的示例之間無法通信。一個Local網絡只能位于同一個物理節點上,無法跨節點部署。
  • Flat(同一局域網)
    • Flat是一種簡單的扁平網絡拓撲,所有的虛擬機實例都連接在同一網絡中,能與位于同一網絡的實例進行通信,并且可以跨多個節點。這種網絡不使用VLAN,沒有對數據包打VLAN標簽,無法進行網絡隔離。Flat是基于不使用VLAN的物理網絡實施的虛擬網絡。每個物理網絡最多只能實現一個虛擬網絡。
  • VLAN(主要是由二層交換機來實現)
    • VLAN是支持802.1q協議的虛擬局域網,使用VLAN標簽標記數據包,實現網絡隔離。同一VLAN網絡中的實例可以通信,不同VLAN網絡中的實例只能通過路由器來通信。VLAN網絡可以跨節點,是應用最廣泛的網絡拓撲類型之一
  • VXLAN
    • VXLAN (虛擬擴展局域網)可以看作是VLAN的一種擴展,相比于VLAN,它有更大的擴展性和靈活性是目前支持大規模多租房網絡環境的解決方案。由于VLAN包頭部限長是12位,導致VLAN的數量限制是1096 (2^12)個,不能滿足網絡空間日益增長的需求。目前VXLAN的封包頭部有24位用作VXLAN標識符(VNID)來區分VXLAN網段,最多可以支持16777216 (2^24)個網段。
    • VXLAN使用STP防止環路,導致一半的網絡路徑被阻斷。VXLAN的數據包是封裝到UDP通過三層傳輸和轉發的,可以完整地利用三層路由,能克服VLAN和物理網絡基礎設施的限制,更好地利用已有的網絡路徑。
  • GRE
    • GRE (通用路由封裝)是用一種網絡層協議去封裝另一種網絡層協議的隧道技術。GRE的隧道由兩端的源IP地址和目的IP地址定義,它允許用戶使用IP封裝IP等協議,并支持全部的路由協議。在OpenStack環境中使用GRE意味著“IP over IP”,GRE與VXLAN的主要區別在于,它是使用IP包而非UDP進行封裝的。
  • GENEVE
    • GENEVE(通用網絡虛擬封裝)的目標宣稱是僅定義封裝數據格式,盡可能實現數據格式的彈性和擴展性。GENEVE封裝的包通過標準的網絡設備傳送,即通過單播或多播尋址,包從一個隧道端點傳送到另一個或多個隧道端點,GENEVE幀格式由一個封裝在IPV4或IPV6的UDP里的簡化的隧道頭部組成。GENEVE推出的主要目的是為了解決封裝時添加的元數據信息問題(到底多少位,怎么用GENEVE自動識別與調整),以適應各種虛擬化場景。

小結

  • 隨著云計算、大數據、移動互聯網等新技術的普及,網絡虛擬化技術的趨勢在傳統單層網絡基礎上疊加一層邏輯網絡。這將網絡分為兩個層次,傳統單層網絡稱為Underlay (承載網絡),疊加其上的邏輯網絡稱為Overlay (疊加網絡或覆蓋網絡)。Overlay網絡的節點通過虛擬的或邏輯的連接進行通信,每一個虛擬的或邏輯的連接對應于Underlay網絡的一條路徑,由多個前后銜接的連接組成。Overlay網絡無須對基礎網絡進行大規模修改,不用關心這些底層實現,是實現云網融合的關鍵。
  • VXLAN、GRE和GENEVE都是基于隧道技術的Overlay網絡。

4、網絡基本架構

  • 實例:以一個創建VLAN 100虛擬網絡的流程為例說明這些組件如何協同工作。
  • neutron-server收到創建網絡的請求,通過消息隊列通知已注冊的Linux Bridge插件。(插件可以有很多,這里舉例創建虛擬網絡的插件是Linux Bridge插件)
  • 該插件將要創建的網絡信息(如名稱、VLAN ID等)保存到數據庫中,并通過消息隊列通知運行在各節點上的代理
  • 代理收到消息后會在節點上的物理網卡上創建VLAN設備(比如eth1.100),并創建一個網橋(比如brqxxx)來橋接VLAN設備。

  • Neutron僅有一個主要服務進程neutron-server。它是運行在控制節點上的,對外提供Openstack網絡API作為訪問Neutron的入口,收到請求后調用插件進行處理,最終由計算節點和網絡節點上的各種代理完成請求。
  • 網絡提供者是指提供OpenStack網絡服務的虛擬或物理網絡設備,如Linux Bridge、Open vSwitch或者其他支持Neutron的物理交換機。
  • 與其他服務一樣,Neutron的各組件服務之間需要相互協調和通信,neutron-serve、插件和代理之間通過消息隊列進行通信和相互調用。
  • 數據庫用于存放OpenStack的網絡狀態信息,包括網絡、子網、端口、路由器等。
  • 客戶端是指使用Neutron服務的應用程序,可以是命令行工具Horizon和Nova計算服務等。

三、Nuetron主要插件、代理與服務

1、M2插件

  • Neutron可以通過開發不同的插件和代理來支持不同的網絡技術,這是一種相當開放的架構。不過隨著所支持的網絡提供者種類的增加,開發人員發現了兩個突出的問題。一個問題是多種網絡提供者無法共存。Core Plugin負責管理和維護Neutron二層虛擬網絡的狀態信息,一個Neutron網絡只能由一個插件管理,而Core Plugin插件與相應的代理是 一 一 對應的。如果選擇Linux Bridge插件,則只能選擇Linux Bridge代理,必須在OpenStack的所有節點上使用Linux Bridge插件,則只能選擇Linux Bridge代理,必須在OpenStackR的所有節點上使用Linux Bridge作為虛擬交換機。另一個問題是開發新的插件的工作量太大,而所有傳統的Core Plugin之間存在大量反復代碼。
  • 為解決這兩個問題,從OpenStack的H版開始,Neutron實現了一個插件ML2,旨在取代所有的Core Plugin,允許在OpenStack網絡中同時使用多種二層網絡技術,不同的節點可以使用不同的網絡實現機制。ML2能夠與現有的代理無縫集成,以前使用的代理無須變更,只需將傳統的Core Plugin替換成ML2,ML2使得對新的網絡技術的支持更為簡單,無須從頭開發Core Plugin,只需要開發相應的機制驅動,大大減少編寫和的代碼。
  • 類型驅動(Type Driver):Neutron支持的每一種網絡類型都有一個對應的ML2類型驅動,類型驅動負責維護網絡類型的狀態、執行驗證、創建網絡等工作。
  • 機制驅動(Mechansim Driver):Neutron支持的每一種網絡機制都有一個對應的ML2機制驅動。機制驅動負責獲取由類型驅動維護的網絡狀態,并確保在相應網絡設備(物理或虛擬的)上正確實現這些狀態。目前Neutron已經實現的網絡機制有以下3種類型:
    • 基于代理的:Linux Bridge、 Open vSwitch等。
    • 基于控制器的:OpenDaylight、VMWare NSX等。
    • 基于物理交換機的:Cisco Nexus、Arista、Mellanox等。
  • 擴展資源:ML2作為一個Core Plugin,在實現網絡、子網和端口核心資源的同時,也實現包括端口綁定、安全組等部分擴展資源。

2、Linux Bridge 代理

  • Linux Bridge是成熟可靠的Neutron二層網絡虛擬化技術,支持Local、Flat、VLAN和VXLAN這4種網絡類型。
  • Linux Bridge可以將一臺主機上的多個網卡橋接起來,充當一臺交換機。它既可以橋接物理網卡,又可以是虛擬網卡。用于橋接虛擬機網卡(虛擬網卡)的是Tap接口,這是一個虛擬出來的網絡設備,稱為Tap設備,作為網橋的一個端口。Tap接口在邏輯上與物理接口具有相同的功能,可以接收和發送數據包。
  • 如果選擇Linux Bridge代理,在計算節點上數據包從虛擬機發送到物理網卡需要經過以下設備
    • Tap接口:用于網橋連接到虛擬網卡,命名規則為tapxxxx。
    • Linux網橋:作為二層交換機,命名規則為brqxxxx。
    • VLAN接口:在VLAN網絡中用于連接網橋,命名為ethx.y (x為網卡名稱, y為VLAN ID)
    • VXLAN接口:在VXLAN網絡中用于連接網橋,命令為vxlan-z(z是VNID)

3、Open vSwitch 代理

  • 與Linux Bridge相比,Open vSwitch (OvS)具有集中管控功能,而且性能更加優化,支持更多的功能,目前在OpenStack領域成為主流,它支持Local、Flat、VLAN、VXLAN、GRE和RGENEVE等所有網絡類型。
  • Open vSwitch的設備類型
    • Tap設備:用于網橋連接虛擬機網卡。
    • Linux網橋:橋接網絡接口。
    • VETH對:直接相連的一對虛擬網絡接口。兩個虛擬網絡接口一收一發用來連接兩個虛擬網橋。
    • OVS網橋:ppen vSwitch的核心設備,包括一個OVS集成網橋和一個OVS物理連接網橋。所有在計算節點上運行的虛擬機連接到集成網橋,Neutron通過配置集成網橋上的端口來實現虛擬機網絡隔離。物理連接網橋直接連接到物理網卡。這兩個OVS網橋通過一個VETH對來對接。

總結

vlan的作用

  • 劃分/隔離 廣播域
  • 安全(隔離、避免信息通過廣播域的方式暴露、泄露)
  • 便于集中化管理

OVS

  • 定義:分布式虛擬交換機
  • 特性:
    • 跨平臺移植
    • 具有產品級質量
    • 可以輕松實現物理交換機的各項功能
    • 跨服務器,進行管理(基于分布式特性),可以形成大規模的虛擬網絡
    • 便于統計/集中化管理

OpenStack網絡基礎服務

  • OpenStack中提供網絡連接、相關網絡技術、拓撲結構的服務是neutron
  • neutron可以提高基礎網絡服務和高級網絡服務,但都是由nova管理
  • neutron會為其他組件、服務、設備提供服務(集成)

OpenStack網絡拓撲類型

  • Local (測試用)
  • Flat(同一局域網)
  • VLAN(主要是由二層交換機來實現)
  • VXLAN(隧道技術)
  • GRE(隧道技術)
  • GENEVE(隧道技術)

總結

以上是生活随笔為你收集整理的OpenStack(五)——Neutron组件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。