首页 > 代码库 > OpenStack Networking overview

OpenStack Networking overview

Networking service overview

OpenStack Networking(neutron)能够让我们创建由其他OpenStack service管理的网络设备,并且将它们加入networking。Plug-in的实现方式能让我们容纳不同类型的网络设备和软件,并且为OpenStack的架构和部署提供了灵活性。它由以下组件构成:

neutron-server:接收并且路由相应的API请求到合适的OpenStack Networking plug-in进行处理。

OpenStack Networking plug-ins and agents:Plug或者Unplug端口,创建网络或子网并且提供IP地址。但是对于特定的云,因为供应商和使用的技术的不同,这些plug-ins和agents是不同的。OpenStack Networking为Cisco 虚拟和物理交换机,NEC OpenFlow products,Open vSwith,Linux bridging以及VMware NSX product提供了plug-ins和agents。

Message queue:被大多数OpenStack Networking设备用来在neutron-server和各种agents之间路由信息。同时,也作为一个数据库用来存储特定的plug-ins的networking state。

OpenStack Networking主要用来和OpenStack Compute进行交互,用来给它的实例提供网络和连接

Networking (neutron)concepts

OpenStack Networking(neutron)管理OpenStack环境中所有的关于Virtual Networking Infrastructure(VNI)方面的内容以及Physical Networking Infrastructure(PNI)的接入层方面的内容。OpenStack Networking能够让project创建高级的虚拟网络拓扑,可能包括firewall,load balancer以及virtual private network(VPN)等服务。

Networking提供networks,subnets,routers等对象抽象。每一个抽象都有它模仿的对应的物理设备的功能:networks包含subnets,routers用于在不同的subnets和networks间路由。

任何给定的Networking设置至少包含一个external network。和其他的network不同,external network不仅仅是一个虚拟定义的network。相反,它代表了在OpenStack外部可访问的物理外部网络的一部分视图。external network中的IP地址能被任何外部网络访问。

除了external network之外,每个Networking set up至少需要一个或多个internal network。这些software-defined networks直接连接VM。只有在同一个internal network里的虚拟机,或者那些连接到同一个路由器的子网才能访问该network里的虚拟机。

为了outside network和虚拟机之间能互相访问。networks之间的routers是必须的。每一个router都有一个gateway和external network相连,并且还有一个或多个interface和internal networks相连。和physical router类似,连接同一个路由器的不同子网直接是机器能互相访问。同时,机器能够通过router上的gateway访问outside network。

另外,我们可以在external networks上分配IP地址port到internal networks。无论在什么时候,当有什么东西连接到子网,我们都叫这种连接为port。我们可以通过port将external network IP和虚拟机相连。通过这种方法,outside network能对虚拟机进行访问。

Networking同时提供security groups。security group让管理员能够对不同的group定义firewall rules。一台虚拟机可以属于一个或多个security group。Networking对这些security group施加规则用于限制对某台虚拟机阻塞或非阻塞ports,port的范围或者流量类型。

Networking使用的每个plug-in都有所不同,有自己独特的概念。这对于操作VNI和OpenStack环境并不十分重要,但理解这些不同对于设置Networking是非常有用的。所有的Networking都会使用一个core plug-in 和一个security group plug-in(或者仅仅是No-Op security group plug-in)。另外,还有Firewall-as-a-Service(FWaas)和Load-Balancer-as-a-Service(LBaas) plugin。

OpenStack Networking overview