OpenStack Neutron 介绍 2

本系列文章同步发布於笔者网站


上一篇介绍了 Neutron 的架构,接下来两篇将会接续介绍 Neutron 的一些概念和名词。

Neutron 概念

Neutron 提供使用者创建网路跟其子网域,并可将其他 OpenStack 服务(如 Compute)将虚拟设备连接到这些网路上的端口,通常最常见的就是连接 Instance 到网路。Neutron 支援每个 project 拥有多个私有网络,并允许 project 选择自己的 IP addressing 方案,并且不同网路中的 IP 地址与其他 project 使用的 IP 地址重叠。 有两种类型的网络,provider network 和 self-service network,这些网路是可以在 project 之间共享的。

Provider Networks

Provider networks 为实例 (Instance) 提供 L2 网路连结,并支援 DHCP 和元数据 (metadata) 服务。 这些网路是连接到资料中心现有的 L2 网路,通常使用 VLAN (802.1q) tagging 来识别和隔离它们。

Provider networks 通常以牺牲灵活性为代价提供简单性、性能和可靠性。 预设情况下,只有管理员才能创建或更新 provider networks,因为他们的设定需要跟实际物理的网路基础设施吻合,而一般使用者通常不会有这些资讯。

另外,Provider networks 只处理 Instance 的 L2 网路连接,因此不支援 Neutron 中路由器和浮动 IP 地址等功能。

Routed Provider Networks

Routed provider networks 有点类似原本的 provider network,但是他可以将网路对应到资料中心中不同的 L3 网路中,称之为 network segments。而每个 network segments 其实就是一个 provider network,每个有自己独立的 L3 gateway 可以跟外部网路沟通。

这个模式以笔者经验比较少见,通常是要横跨多个 rack 或是 L2 network 才会考虑使用这个方案。

Self-service networks

Self-service networks 有点类似 AWS 上的 VPC,可以让使用者能够在不涉及管理员的情况下管理自己的网路。这些网路是完全虚拟的而且需要由虚拟路由器路由到供应商提供的外部网路。

在大多数情况下,Self-service networks 使用 VXLAN、GRE 或 GENEVE 等 tunnel 建立 overlay 网路,因为它们可以支援比使用 VLAN tagging (802.1q) 更多的分段而且 VLAN 通常会需要额外配置实体网络。

使用者可以在自己的 project 下创建自己的网路。预设情况下,它们是完全隔离的,不与其他 project 共享 (Flat 例外)。 OpenStack Networking 支援以下类型的网路隔离和 overlay 技术。

Flat

所有实例 (Instance) 都在同一个 L2 网路上,也可以与主机共享。并没有 VLAN tagging 或其他网路隔离。

VLAN

网路允许用户使用与实体网路中存在的 VLAN 相对应的 VLAN ID(802.1Q tagging)创建多个 provider 或 project networks。这允许实例在整个环境中相互通信。它们还可以与同样 Lㄉ VLAN 上的其他服务器、防火墙和其他网路基础设施进行沟通。

GRE, VXLAN, GENEVE

VXLAN, GRE 和 GENEVE 是封装协定 (encapsulation protocols),它们创建 overlay 网路来控制不同运算实例之间的沟通。我们需要一个虚拟的路由器以 project 网路中的运算实例能够对外进行沟通,这同时还需要路由器连接 project 网路和外部网络(包括 Internet)。OpenStack Neutron 的虚拟路由器也提供了浮动 IP 地址 (floating IP address) 透过 DNAT 让实例能够从外部网络连接到。

Project Overlay Network 示意图:
Overlay network

以上就是 Neutron 中的三种网路类型。

小结

本次介绍了 Neutron 中的三种网路类型,下一篇将会介绍 Neutron 剩余的概念与名词,如 Subnets, Router 等等。


<<:  D11 - 如何用 Apps Script 寄出客制化的表单并搜集分散在 Google Sheet 中的回应?(ㄧ)复制并客制你的 Google Form

>>:  [重构倒数第20天] - i18n什麽的交给前端来处理吧(一) 把GoogleSheet文件转成JSON文件

DAY12 : HTTP前情提要

在实作的过程中,原本想把这篇省略掉,但在往後的实作中,偶而会利用到这些模块与知识,放在这篇,之後文中...

Day 05 CSS <基础选择器>

CSS的选择器分为基础选择器以及复合选择器 本日将先说明基础选择器 DAY6将继续说明复合选择器 C...

学习成为人体 PE Parser

看日常分享: AwesomeCS FB 看技术文章: AwesomeCS Wiki 笔者最近在阅读...

DAY4:Kaggle-Data Science London + Scikit-learn(一)

Kaggle-Data Science London + Scikit-learn(一) 大家好~K...

Day5 回忆篇 那个关於乖乖的传说-2

承上篇 先从信仰者(使用者)的角度说起 最早期乖乖先驱者都是来自於大型机房,NOC等,会在这些地方工...