從裸機到雲端:OpenStack Neutron 介紹 2

Auto Draft

上一篇介紹了 Neutron 的架構,接下來兩篇將會接續介紹 Neutron 的一些概念和名詞。

Neutron 概念

Neutron 提供使用者創建網路跟其子網域,並可將其他 OpenStack 服務(如 Compute)將虛擬設備連接到這些網路上的端口,通常最常見的就是連接 Instance 到網路。Neutron 支援每個 project 擁有多個私有網絡,並允許 project 選擇自己的 IP addressing 方案,並且不同網路中的 IP 地址與其他 project 使用的 IP 地址重疊。 有兩種類型的網絡,provider network 和 self-service network,這些網路是可以在 project 之間共享的。

Provider Networks

Provider networks 為實例 (Instance) 提供 L2 網路連結,並支援 DHCP 和元數據 (metadata) 服務。 這些網路是連接到資料中心現有的 L2 網路,通常使用 VLAN (802.1q) tagging 來識別和隔離它們。

Provider networks 通常以犧牲靈活性為代價提供簡單性、性能和可靠性。 預設情況下,只有管理員才能創建或更新 provider networks,因為他們的設定需要跟實際物理的網路基礎設施吻合,而一般使用者通常不會有這些資訊。

另外,Provider networks 只處理 Instance 的 L2 網路連接,因此不支援 Neutron 中路由器和浮動 IP 地址等功能。

Routed Provider Networks

Routed provider networks 有點類似原本的 provider network,但是他可以將網路對應到資料中心中不同的 L3 網路中,稱之為 network segments。而每個 network segments 其實就是一個 provider network,每個有自己獨立的 L3 gateway 可以跟外部網路溝通。

這個模式以筆者經驗比較少見,通常是要橫跨多個 rack 或是 L2 network 才會考慮使用這個方案。

Self-service networks

Self-service networks 有點類似 AWS 上的 VPC,可以讓使用者能夠在不涉及管理員的情況下管理自己的網路。這些網路是完全虛擬的而且需要由虛擬路由器路由到供應商提供的外部網路。

在大多數情況下,Self-service networks 使用 VXLAN、GRE 或 GENEVE 等 tunnel 建立 overlay 網路,因為它們可以支援比使用 VLAN tagging (802.1q) 更多的分段而且 VLAN 通常會需要額外配置實體網絡。

使用者可以在自己的 project 下創建自己的網路。預設情況下,它們是完全隔離的,不與其他 project 共享 (Flat 例外)。 OpenStack Networking 支援以下類型的網路隔離和 overlay 技術。

Flat

所有實例 (Instance) 都在同一個 L2 網路上,也可以與主機共享。並沒有 VLAN tagging 或其他網路隔離。

VLAN

網路允許用戶使用與實體網路中存在的 VLAN 相對應的 VLAN ID(802.1Q tagging)創建多個 provider 或 project networks。這允許實例在整個環境中相互通信。它們還可以與同樣 Lㄉ VLAN 上的其他伺服器、防火牆和其他網路基礎設施進行溝通。

GRE, VXLAN, GENEVE

VXLAN, GRE 和 GENEVE 是封裝協定 (encapsulation protocols),它們創建 overlay 網路來控制不同運算實例之間的溝通。我們需要一個虛擬的路由器以 project 網路中的運算實例能夠對外進行溝通,這同時還需要路由器連接 project 網路和外部網絡(包括 Internet)。OpenStack Neutron 的虛擬路由器也提供了浮動 IP 地址 (floating IP address) 透過 DNAT 讓實例能夠從外部網絡連接到。

Project Overlay Network 示意圖:
Overlay network

以上就是 Neutron 中的三種網路類型。

小結

本次介紹了 Neutron 中的三種網路類型,下一篇將會介紹 Neutron 剩餘的概念與名詞,如 Subnets, Router 等等。


Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.

Leave a Reply