neutron网络虚拟化

2020-07-21  本文已影响0人  visionarywind

(1)Neutron 所实现的网络虚拟化
(2)Neutron OpenvSwitch + VLAN 虚拟网络
(3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络
(4)Neutron Linux Bridge + VLAN/VXLAN 虚拟网络
(5)Linux bridge + VXLAN 详解
(6)Neutron OVS OpenFlow 流表 和 L2 Population
(7)Neutron DHCP Agent
(8)Neutron L3 Agent
(9)Neutron LBaas
(10)Neutron Security Group
(11)Neutron FWaas 和 Nova Security Group
(12)Neutron VPNaas
(13)Neutron DVR
(14)Neutron VRRP
(15)High Availability (HA)

网络虚拟化

虚拟化的缘起

数据中心的现有网络不能满足云计算的物理需求

数据中心的现有网络不能满足云计算的软件化即SDN要求

云计算的 SDN 要求

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

Neutron 网络虚拟化

在实际的数据中心中,网络可以分为三层:OpenStack Cloud network,机房intranet (external network),以及真正的外部网络即 Internet

网络(L2 network)

网络(network)是一个隔离的二层网段,类似于物理网络世界中的虚拟 LAN (VLAN)
为创建它的租户而保留的一个广播域,或者被显式配置为共享网段
端口和子网始终被分配给某个特定的网络

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

根据网络的类型,Neutron network 可以分为:

Provider network

Provider Network 是由 OpenStack 管理员创建的,直接对应于数据中心的已有物理网络的一个网段

三个和物理网络有关的属性
provider:network_type (网络类型,包括 vxlan, gre, vlan, flat, local)
provider:segmentation_id (网段 ID, 比如 VLAN 的 802.1q tag, GRE 网络的 Tunnel ID, VXLAN 网络的 VNI)
provider:physical_network (物理网络的逻辑名称,比如 physnet1, ph-eth1, etc)

Tenant network

Tenant network 是由 tenant 的普通用户创建的网络

Provider network 和 Tenant network 的区别

子网(subnet)

子网是一组 IPv4 或 IPv6 地址以及与其有关联的配置

端口(Port)

一个 Port 代表虚拟网络交换机(logical network switch)上的一个虚机交换端口(virtual switch port)

虚机交换机 (Virtual switch)

Neutron 默认采用开源的 Open vSwitch 作为其虚机交换机,同时还支持使用 Linux bridge

虚拟路由器 (Virtual router)

一个 Virtual router 提供不同网段之间的 IP 包路由功能,由 Nuetron L3 agent 负责管理

各组件之间的关系

OpenStack 实际上并未增加网络功能
路由、交换和名称解析是由底层的网络基础架构处理的
OpenStack 的作用是将这些组件的管理捆绑在一起,并将它们连接到计算工作负载

Neutron中的网络连通性

一个标准 OpenStack 环境中的物理网络配置

这几种网络,在物理交换机上,往往都使用 VLAN 来做网络隔离。现在讨论的只是租户网络即虚机之间通信的网络,在 Neutron 的实现看来,该网络的连通性包括几个层次

虚拟二层网络的实现

所谓虚拟二层网络,就是提供给虚机的一种虚拟网络,使得虚机可以和同网段中的其它虚机就像在物理二层网络一样在网络二层直接通信,不管目的虚机处于什么物理位置。也就是说,对虚机来说,物理三层网络对它是透明的

使用 VLAN 实现虚拟二层网络

基于 GRE/VxLAN 实现的二层网络 (L2)

虚拟路由器

跨子网的通信需要走虚拟路由器。同物理路由器一样,虚拟路由器由租户创建,拥有多个 virtual interface,连接一个租户的子网,以及外部网络

DHCP 服务

DHCP 服务是网络环境中必须有的。Neutron 提供基于 Dnamasq 实现的虚机 DHCP 服务,向租户网络内的虚机动态分配固定 IP 地址

Neutron 租户网络的隔离性(isolation of tenant network)

Neutron 实现了不同层次的租户网络隔离性

Neutron 对每个租户网络(tenant network)都分配一个 segmentation_id,其特点包括

Neutron 租户网络的安全性(security)

Neutron 租户网络的可用性(HA)和扩展性(Scalability)

上一篇 下一篇

猜你喜欢

热点阅读