《深入理解OpenStack Neutron》—3 Neutron的网络实现模型
第3章
Neutron的网络实现模型
Neutron的模型有两种。一种是相对比较抽象的网络资源模型,比如我们耳熟能详的“Network、Subnet、Port”等,可以参考https://developer.openstack.org/api-ref/networking/v2/,有个直观的认识。
另一种模型是这种抽象资源模型背后的实现模型。无论一个模型多抽象还是多具体,其归根到底总归要有一个实现它的载体。比如OPEN-O开源组织对外提供的CloudVPN的RESTful API,就是通过一系列的网元和一定的组网来承载,如图3-1所示。
图3-1 OPEN-O CloudVPN的实现模型
承载Neutron抽象的网络资源模型的方案,我们称之为Neutron的网络实现模型。应该明确的是,Neutron仅仅是一个管理系统(或者说是一个控制系统),它本身并不能实现任何网络功能。实现网络功能的是各种网元。所以本章的重点不在Neutron的自身,而在于Neutron所能管理的各种网元以及它们的组网。
3.1 Neutron的三类节点
Neutron在实际部署时有三类节点,如图3-2所示。
图3-2 Neutron的三类节点
关于这三类节点,我们在后面还会详细描述,或者说,整个这一章,都是围绕这三类节点进行展开讲述。本节,我们先有个简单的、直观的认识即可。
计算节点(Compute Node)最直观,计算是OpenStack的三大组件(计算、存储和网络)之一。而所谓“计算”,大白话就是虚拟机(VM)。所以,在图3-2中,计算节点里画了一堆虚拟机。一个计算节点就是一个Host。
其实计算节点里还有Bridge,当然这个Bridge,不是我们把一个物理的Bridge硬塞到一个Host里面去,而是虚拟的Bridge。不同Host的VM之间的二层通信,通过计算节点的Bridge就可以完成。
但是,如果VM想要访问Internet就得通过Router先到达数据中心的网关(通过网关再出去),这个Router也是Linux虚拟出来的(准确地说,Linux本身就具备Router功能),它所在的位置就是网络节点(Network Node)。网络节点里还部署着DHCP等各种网络服务。一个计算节点就是一个Host。而一个网络节点意味着一个Host或者多个Host,我们可以把Router及各种网络服务部署在一个Host/VM中(这个时候仅有一个网络节点),也可以部署在多个Host中(多个网络节点)。
Neutron在这里扮演两种角色,一个角色是在各个计算节点、网络节点中运行着各种各样的Agent(如果你不了解,可以忘掉这个概念,我们会在以后的章节讲述),另一个角色就是各种各样的Neutron服务,正如上图中所指出的那样,这些服务运行在控制节点(Control Node)
中。与网络节点一样,一个控制节点意味着一个Host/VM,这些Neutron服务可以部署在一个Host/VM中,也可以部署在多个Host/VM中。
以上就是对Neutron三类节点的简单解释,下面我们会逐步展开介绍。
- 点赞
- 收藏
- 关注作者
评论(0)