《深入理解OpenStack Neutron》—3.3 网络节点的实现模型

举报
华章计算机 发表于 2019/05/30 15:44:08 2019/05/30
【摘要】 本书摘自《深入理解OpenStack Neutron》一书中的第3章,第3.3节,作者是李宗标。

3.3 网络节点的实现模型

计算节点的实现模型构建了各种类型的二层网络。属于同一个二层网络的VM可以愉快地进行二层通信。可是忽然有一天,一个VM想访问它所在的二层网络之外的世界怎么办呢?如图3-17所示。

图3-17中,一个虚拟机VM1-1期望访问www.onap.org,我们看到,它必须要能到达数据中心(DC)的网关(Gateway,GW)才能访问www.onap.org。那么,VM1-1如何才能到达GW呢?如图3-18所示。

这里面涉及了网络节点,我们暂时不看网络节点里面的内容,先当做一个Host,当做一个黑盒看待,同样,计算节点我们也当做一个黑盒看待。

image.png

图3-17 一个VM访问Internet

Neutron是这样假设这个组网模型的。

1)所有计算节点(里面的VM),要访问Internet,必须先经过网络节点,网络节点作为第一层网关。

2)网络节点会连接到DC物理网络中的一个设备(或者是交换机,或者是路由器),通过这个设备再到达DC的网关。我们把这个设备称为第二层网关。当然,网络节点也可以直接对接DC网关,这时候,就没有第二层网关。

3)DC网关再连接到Internet上。

不过呢,上述第2点和第3点,对于Neutron

来说其实是“浮云”。因为对于Neutron来说,图3-18中的GW2、DC External Network和GW3

都不在它的管理范围,那是DC运营商提前规划好的网络。所以,这些对于Neutron而言统统都称为External Network,或者Public Network

(Neutron 创建的用户网络称为“私有网络”)。

Neutron所关注的是第1点,它在网络节点中部署了路由器。当然,此路由器是一个虚拟路由器,利用的是Linux内核功能。

图3-18中的GW2,

image.png

Neutron称之为外部网关。Neutron为网络节点中的路由器构建了一个资源模型Router,Router中有一个字段external_gateway_info(外部网关信息),表达的也是外部网关的信息。详见4.6节。

Neutron除了在网络节点部署Router以外,还部署了DHCP Server等服务。Neutron的网络节点的实现模型,如图3-19所示。

image.png

从网络视角看,网络节点分为4层:用户网络层、本地网络层、网络服务层、外部网络层。前两层与计算节点几乎相同,不再啰唆。这里介绍一下后两层。

(1)网络服务层

网络服务层为计算节点的VM提供网络服务,典型服务有DHCP Service和Router Service。

图3-19中画的是DHCP,严格来说,应该称为DHCP Service。关于DHCP的概念,由于文章主题和篇幅的原因,这里只能简述几点。

①Neutron的DHCP Service,采用的是dnsmasq

进程(轻量级服务进程,可以提供dns、dhcp、tftp等服务)。

②一个网络一个DHCP Service。

③由于存在多个DHCP Service(多个dnsmasq进程),Neutron采用的是namespace方法做隔离,即一个DHCP Service运行在一个namespace中。

图3-19中画的Router仅仅是一个示意,它的本质是Linux内核模块。Router做路由转发,还提供SNAT/DNAT功能。为了达到隔离的目的,每一个Router运行在一个namespace中。更准确地说,Neutron创建了namespace,并且在namespace中开启路由转发功能。

①SNAT:Source Network Address Translation,源地址路由转换;DNAT:Destination 

Network Address Translation,目的地址路由转换。

②OpenStack Juno版本引入了DVR特性,DVR部署在计算节点上。计算节点访问Internet,不必经过网络节点,直接从计算节点的DVR就可以访问。

(2)外部服务层

图3-19中,外部服务层只包括br-ex,严格来说,还应该包括Router,毕竟Router才是与外部网络联通的主体,而br-ex不过是将Router对接到网络节点的物理网口而已,如图3-20所示。

image.png

从某种意义上说,br-ex相当于一个Hub。当然,这只是一个比喻而已,br-ex是一个地地道道的Bridge,一般也是选用OVS。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。