Core Plugin/Agent 負責管理核心實體:net, subnet 和 port。而對於更高級的網絡服務,則由 Service Plugin/Agent 管理。
Service Plugin 及其 Agent 提供更豐富的擴展功能,包括路由,load balance,firewall等,如圖所示:
DHCP
dhcp agent 通過 dnsmasq 為 instance 提供 dhcp 服務。
Routing
l3 agent 可以為 project(租戶)創建 router,提供 Neutron subnet 之間的路由服務。路由功能默認通過 IPtables 實現。
Firewall
l3 agent 可以在 router 上配置防火牆策略,提供網絡安全防護。
另一個與安全相關的功能是 Security Group,也是通過 IPtables 實現。 Firewall 與 Security Group 的區別在於:
-
Firewall 安全策略位於 router,保護的是某個 project 的所有 network。
-
Security Group 安全策略位於 instance,保護的是單個 instance。
Firewall 與 Security Group 后面會詳細分析。
Load Balance
Neutron 默認通過 HAProxy 為 project 中的多個 instance 提供 load balance 服務。
后面的章節會結合 linux bridge 和 open vswitch 詳細討論每一種 service。
至此,我們已經學習了 Core 和 Service Plugin/Agent,下一節將對 Neutron 架構做個小結。