میتوان گفت پیچیده ترین سرویس یا ماژول OpenStack ماژول neutron است شاید به این دلیل که پیچیده ترین بخش computing، بخش شبکه است. ماژول neutron قابلیت per-tenant networking را در اختیار قرار می دهد. به این معنی که شبکه های مجازی ایزوله می توانند داخل tenants ساخته و ایجاد شوند و این امکان باعث ایزوله شدن ماشین های مجازی می شود.
هر ماشین مجازی در OpenStack باید دارای آدرس IP باشد. دو نوع از آدرس های IP برای ماشین های مجازی وجود دارند: fixed IPs و floating IPs. آدرس های fixed IPs در زمان بوت ماشین مجازی تخصیص داده میشوند درحالیکه آدرس های floating IPs می توانند پس از ایجاد ماشین های مجازی به آنها تخصیص داده شوند و بین چندین ماشین مجازی جابه جا شوند. آدرسهای fixed IPs ضروری هستند ولی ماشین های مجازی بدون آدرسهای floating IPs هم می توانند اجرا شوند. یکی از سناریوهای متداول استفاده از آدرس های floating IPs مهیا کردن آدرس های IPعمومی برای یک ابر خصوصی با در اختیار داشتن تعداد محدودی از آدرس های IP است.
Open vSwitch
Open vSwicth) OVS) یک سوئیچ مجازی SDN) Software Defined Networking) است که مشابه Linux software bridge است. OVS سرویس های سوئیچینگ را برای شبکه های مجازی مهیا می کند و از استانداراهای صنعتی NetFlow، OpenFlow و sFlow پشتیبانی می کند. یکی از ویژگی های جالب OVSاین است که می تواند با استفاده از ویژگی های لایه دو مانند STP، LACP و 802.1Q VLAN tagging با سوئیچ های فیزیکی تجمیع شود. تونل های VXLAN و GRE بعد از نسخه های 1.11.0-1.el6 OVS پشتیبانی می شوند.
Modular Layer 2) ML2)
ماژول ML2 یکی از ماژولهای شبکه OpenStack است که از نسخه Havana معرفی شد. پلاگین پیشفرض شبکه OpenStack همان ML2 با درایور پیش فرض OVS است. قبل از معرفی ماژول ML2، شبکه OpenStack فقط قادر بود با پلاگینی که در زمان پیاده سازی انتخاب شده است، کار کند. برای مثال پیاده سازی که از OVS استفاده می کرد تنها محدود به همان پلاگین بود و نمی توانست به طور همزمان از پلاگین دیگری مانند linuxbridge استفاده کند. با بهره بردن از ML2 چندین نوع از سگمنت های شبکه به طور همزمان قابل استفاده هستند. ML2 از چندین نوع از شبکه پشتیبانی می کند که شامل موارد زیر هستند:
1. Flat
2. GRE
3. Local
4. VLAN
5. XLAN
6. سرویس های شبکه ای OpenStack
L3 Agent: L3 agent بخشی از پکیج openstack-neutron است. مفهوم network namespaces در شبکه OpenStack، راترهای (routers) لایه سه ایزوله را برای هر tenant مهیا می کند. وظیفه این راترهای لایه سه مسیریابی ترافیک و ایجاد سرویس های gateway برای شبکه های لایه دو است. وظیفه L3 agent همکاری با این راترهای لایه سه است.
DHCP Agent: DHCP agent مانند یک DHCP server عمل می کند و از این طریق به مدیریت network namespaces که به هر tenant اختصاص داده شده است، میپردازد. هر network namespace یک پروسه با نام dnsmasq اجرا می کند که وظیفه آن تخصیص آدرسهای IP به ماشین های مجازی است که در آن شبکه در حال اجرا هستند.
Open vSwitch Agent: پلاگین Open vSwitch از agent خودش استفاده می کند. این agent روی هر گرهی اجرا می شود و ظیفه آن مدیریت OVS bridges است.