網絡基本概念(network、subnet、port)
network:一個隔離的二層廣播域。Neutron 支持多種類型的 network,包括 local, flat, VLAN, VxLAN 和 GRE。
subnet:一個 IPv4 或者 IPv6 地址段。instance 的 IP 從 subnet 中分配。每個 subnet 需要定義 IP 地址的范圍和掩碼。
port:虛擬交換機上的一個端口。port 上定義了 MAC 地址和 IP 地址,當 instance 的虛擬網卡 VIF(Virtual Interface) 綁定到 port 時,port 會將 MAC 和 IP 分配給 VIF。
Project 1 : m Network 1 : m Subnet 1 : m Port 1 : 1 VIF m : 1 Instance
======================================================================================================
Neutorn ML2 plugin 默認使用的 mechanism driver 是 open vswitch
linux-bridge mechanism driver 支持的網絡類型: local,flat,vlan,vxlan
local網絡示意圖:
local網絡不能跨host部署,僅在部署在一台host內部。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
flat網絡示意圖:

flat網絡需要單獨占用一塊物理網卡。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
vlan網絡示意圖:
vlan網絡基於vlan設備。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
vxlan網絡示意圖:
vxlan網絡基於vxlan設備。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
外網示意圖:
外網可以是flat網絡或vlan網絡,因為flat/vlan網絡是直接和物理網絡打通的;所以租戶網絡和外網通過虛擬router打通,那么租戶網絡就可以通過外網訪問到物理網絡or公網。
外網其實就是特殊的flat網絡或vlan網絡,需要在openstack創建時,勾選“外部網絡”。
外網一定程度上可以理解為非租戶網絡,因為外網是打通租戶網絡和物理網絡的樞紐,外網是不會掛VM的。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
網絡產品:dhcp、虛擬router、floating IP、L2 Population、安全組、FWaaS、LBaaS
DHCP服務:
Neutron通過Linux Network Namespace 完成隔離,使用 dnsmasq 提供 DHCP 服務
物理router:
虛擬router:
floating IP:
1.floating IP 提供靜態 NAT 功能,建立外網 IP 與 instance 租戶網絡 IP 的一對一映射
2.當虛擬router提供外網訪問能力時,虛擬router就需要連接到外網;floating IP 是落在虛擬router連接到外網的接口上
3.相應的iptables nat配置則是落在虛擬router所在的network namespace
L2 Population:
L2 Population不是網絡產品,L2 Population的作用是在 VTEP 上提供 Porxy ARP 功能,使得 VTEP 能夠預先獲知 VXLAN 網絡的信息:
1. VM IP -- MAC 對應關系
2. VM -- VTEP 的對應關系
L2 Population保證了 VXLAN 的 Scalability。
安全組:
安全組配置落在root namespace的iptables(主要為filter表),表項匹配了linux bridge port(VM的tun接口attach到linux bridge)
安全組守護的是具體的instance:每新增一台instance,則根據安全組配置在iptables中更新相應的條目;
FWaaS:
FWaaS配置落在虛擬router的network namespac的iptables中,表項匹配了虛擬router上相應的租戶網絡所在的port(猜測,devstack部署的環境無法啟用FWaaS功能。。。)
本質也是通過iptables實現,但是使用上更靈活;
FWaaS生效的對象是整個租戶網絡
FWaaS 和安全組做比較:
相同點:
1. 底層都是通過 iptables 實現。
不同點:
1. FWaaS 的 iptables 規則應用在 router 上,保護整個租戶網絡;安全組則應用在虛擬網卡上,保護單個 instance。
2. FWaaS 可以定義 allow 或者 deny 規則;安全組只能定義 allow 規則。
LBaaS:
通過 HAProxy 軟件提供負載均衡服務。HAProxy 是一個流行的開源 load balancer。
HAProxy 是部署在network namespace中的;創建LBaaS就會創建network namespace,並attach到租戶網絡bridge(LBaaS和vpc slb非常相似)
open vswitch mechanism driver 支持的網絡類型: local,flat,vlan,vxlan,gre
local網絡示意圖:
local網絡不能跨host部署,僅在部署在一台host內部。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
flat網絡示意圖:
flat網絡需要單獨占用一塊物理網卡。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
vlan網絡示意圖:
vlan網絡基於ovs設備的vlan功能
---------------------------------------------------------------------------------------------------------------------------------------------------------------
vxlan網絡示意圖:
vxlan網絡基於vxlan tunnel
---------------------------------------------------------------------------------------------------------------------------------------------------------------
外網示意圖:
外網其實就是特殊的flat網絡或vlan網絡,需要在openstack創建時,勾選“外部網絡”。
外網一定程度上可以理解為非租戶網絡,因為外網是打通租戶網絡和物理網絡的樞紐,外網是不會掛VM的。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
虛擬router:
