Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network] (2)

Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network]

 

(图1, 来源:Cisco 网站。 TOR:Top On Rack 交换机。图中的一个服务器有三块网卡,分别连到连接数据网络和管理网络的交换机。)

而云架构往往是多租户架构,这意味着多个客户会共享单一的物理网络。因此,除了提供基本的网络连接能力以外,云还需要提供网络在租户之间的隔离能力;同时云是自服务的,这意味着租户可以通过云提供的 API 来使用虚拟出的网络组建来设计,构建和部署各种他们需要的网络。

Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network]

   

Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network]

(左图-图3: 计算虚拟化和网络虚拟化。来源)                                                 (右图-图4:来源 MidoNet 提供的物理网络和逻辑网络的映射)

OpenStack 云也不例外。 OpenStack 通过 Neutron 项目在物理网络环境之上提供满足多租户要求的虚拟网络和服务。Neutron 提供的网络虚拟化能力包括:

(1)二层到七层网络的虚拟化:L2(virtual switch)、L3(virtual Router 和 LB)、L4-7(virtual Firewall )等

(2)网络连通性:二层网络和三层网络

(3)租户隔离性

(4)网络安全性

(4)网络扩展性

(5)REST API

(6)更高级的服务,包括 LBaaS,FWaaS,VPNaaS 等。具体以后再慢慢分析。

2. Neutron 网络虚拟化

在实际的数据中心中,网络可以分为三层:OpenStack Cloud network,机房intranet (external network),以及真正的外部网络即 Internet。External 网络和Internet 之间是数据中心的 Uplink 路由器,它负责通过 NAT 来进行两个网络之间的IP地址(即 floating IP 和 Internet/Public IP)转换,因此,这部分的控制不在 OpenStack 控制之下,也不在本文的主要探讨范围之内。

Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network]

OpenSack Cloud network:OpenStack 所管理的网络。

External network:数据中心所管理的的公司网(Intranet) ,虚机使用的 Floating IP 是这个网络的地址的一部分。

Internet:由各大电信运营商所管理的公共网络,使用公共IP。

这是 RedHat 提供的一个 OpenStack Cloud network 网络架构:

Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network]

大概地分类的话,该网络管理网络 和 数据网络,数据网络中关键的是租户网络,用于租户虚机之间的通信。这部分也是 Neutron 所实现的网络虚拟化的核心。在目前的Neutron 实现中,Neutron 向租户提供虚拟的网络(network)、子网(subnet)、端口 (port)、交换机(switch)、路由器(router)等网络组件。下图显示了虚拟网络和物理网络的映射关系:

Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network]

(图5.来源:2015 OpenStack技术大会-Neutron云计算网络虚拟化-龚永生.pdf)

2.1 网络(L2 network)

网络(network)是一个隔离的二层网段,类似于物理网络世界中的虚拟 LAN (VLAN)。更具体来讲,它是为创建它的租户而保留的一个广播域,或者被显式配置为共享网段。端口和子网始终被分配给某个特定的网络。这里所谓的隔离,可以理解为几个含义:

跨网络的子网之间的流量必须走 L3 Virtual Router

每个网络使用自己的 DHCP Agent,每个 DHCP Agent 在一个 Network namespace 内

不同网络内的IP地址可以重复(overlapping)

根据创建网络的用户的权限,Neutron network 可以分为:

Provider network:管理员创建的和物理网络有直接映射关系的虚拟网络。

Tenant network:租户普通用户创建的网络,物理网络对创建者透明,其配置由 Neutorn 根据管理员在系统中的配置决定。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwszsd.html