一、OpenStack 网络
OpenStack利用Neutron模块来实现OpenStack云中的网络能力,考虑到使用OpenStack实现NFVI的重要性。
1、Neutron简介
Neutron模块可以管理包括子网、端口及网络在内的3类实体,简单而言,这3类实体组合起来就可以定义一个虚拟二层网络,其中包括为连接在该二层网络上的所有虚拟机都定义的IP地址空间。为了更好地理解Neutron模块,有必要理解Neutron对这些术语的定义方式。
1. 子网
子网表示可以分配给虚拟机的IP地址块,因而子网块就是一个二层广播域,而且可以选择一个与外部进行通信的默认网关。如果OpenStack用户希望在他们的虚拟环境中创建网络,那么就可以通过Neutron API调用来定义子网,方法是提供希望虚拟机所使用的IP地址空间。
2. 端口
Neutron将连接在虚拟机上的虚接口称为端口,并从这些端口所属的子网IP池中为这些端口分配IP地址,因而端口负责将虚拟机纳入特定网络。可以利用Neutron API创建、读取、更新和删除(称为CRUD[Create、Read、Update、Delete]功能)这些虚接口。
3. 网络
Neutron将整个虚拟二层域称为网络,网络包括已定义的子网以及相关联的端口。 OpenStack用户需要在关联子网以及端口之前先定义网络,并通过OpenStack API(更准确的说法应该是Neutron API)来管理网络。如果用户希望在虚拟环境中使用多个子网,那么就可以定义多个网络。单个网络中的设备可以通过二层方式进行通信,但是如果定义了多个网络,那么