网络节点
计算节点的实现模型构建了各种类型的二层网络。属于同一个二层网络的VM可以进行二层通信。如果一个VM想访问二层网络之外的世界怎么办?
如下图场景:
图中,一个VM1-1想访问www.onap.org,我们看到,它必须要能到达数据中心(DC)的网管(GW)才能访问www.onap.org。那么VM1-1如何达到GW呢?
如下图所示:
这里涉及了网络节点,我们暂时不看网络节点里的内容,先当做一个Host,当做一个黑盒看待,同样,计算节点我们也当做一个黑盒看待。
Neutron是这样假设这个模型的。
1 所有计算节点(里面的VM),要访问Internet,必须先经过网络节点,网络节点作为第一层网关。
2 网络节点会连接到DC物理网络一个设备(或者是交换机,或者是路由器),通过这个设备再到达DC的网关。我们把这个设备称为第二层网关。当然,网络节点也可以直接对接DC网关,这个时候,就没有第二层网关了。
3 DC网关在连接到Internet上。
不过第2点和第3点,对于Neutron来说其实是“浮云”。因为对于Neutron来说,GW2、DC External Network和GW3都不在它的管理范围,那是DC运营商提前规划好的网络。所以对于neutron而言,这些统统都称为External Network,或者Public network(Neutron 创建的用户网络称为“私有网络”)。
Neutron所关注的是第1点,它在网络节点中部署了路由器。当然,此路由器是一个虚拟路由器,利用的是linux内核功能。
图中的GW2,neutron称为外部网关。Neutron为网络节点中的路由器构建了一个资源模型Router,Router中有一个字段external_gateway_info(外部网关信息),表达的也是外部网关的信息。
Neutron除了在网络节点部署Router外,还部署了DHCP Server等服务。Neutron的网络节点的实现模型如下图。
从网络视角看,网络节点分4层:用户网络层、本地网络层、网络服务层、外部网络层。前两层与计算节点几乎相同,不再啰嗦。这里介绍后两层。
一 网络服务层
网络服务层为计算节点的VM提供网络服务,典型服务有DHCP Service和Router Service。
上图中画的DHCP,严格来说,应该称为DHCP Service。关于DHCP的概念,这里简述几点。
1 Neutron的DHCP Service,采用的是dnsmasq进程(轻量级服务进程,可以提供dns、dhcp,tftp等服务)。
2 一个网络有一个DHCP Service。
3 由于存在多个DHCP Service(多个dnsmasq进程),Neutron采用的是namespace方法做隔离,即一个DHCP Service运行在一个namespace中。
上图画的Router仅仅是一个示意,它的本质是Linux内核模块。Router路由转发,还提供SNAT/DNAT功能。为了达到隔离的目的,每一个Router运行在一个namespace中,更准确地说,neutron创建了namespace,并且在namespace中开启了路由转发功能。
Openstack Juno版本引入了DVR特性,DVR特性部署在计算节点上。计算节点访问Internet,不必经过网络节点,直接从计算节点的DVR就可以访问。
二 外部服务层
上图中,外部服务层只包括br-ex,严格来说,还应该包括Router,毕竟Router才是外部网络连通的主体,而br-ex不过是将Router对接到网络节点的物理网卡而已。如下图所示。
从某种意义上说,br-ex相对于一个Hub.当然这只是一个比方,br-ex是一个地地道道的Bridge,一般也是选用OVS。
相关阅读
活动的节点式架构是什么?如何实现?本文给大家提供一种思路。一、前言几乎所有的互联网公司为了营销推广都要举办活动。活动的规模有
对于学校来说,招生软文一定要把握时间节点,目前在招生软文应用这块,能把新媒体营销运用到极致的,也是寥寥无几。相信大多数学校都在努
dota2自走棋已经上线有一段时间了,由于玩法新鲜有趣,很多玩家已经入坑,游戏在线数最高达100W。但在此笔者想问大家在玩这款游戏的时
挖链网宣布竞选EOSForce.io超级节点 90%比例分红回馈
挖链网作为区块链领域专业的媒体生态平台,挖链网一直致力于区块链生态体系建设。为了更好地服务于社区用户,挖链网于7月27日正式宣
在数据库中建一张表,包含:NodeName,NodeId,ParentId 3个字段,具体什么含义,一看就知了。过程如下:procedure TFRM_channel.formtreenod