OpenVirteX体系结构之综述

【SDNLAB独家译稿】(本系列分若干篇发布,本文翻译第一章,其他章节的翻译会陆续发布。)

综述

《OpenVirteX体系结构》分成三个主要部分。第一部分,介绍:OVX网络虚拟化的快速概述,以及OVX如何通过网络表达呈现给租户以实现高级视图。第二部分,组件:OVX建立其网络所使用的各种抽象表示的细节。第三部分,操作和子系统:描述OVX功能性子系统和通过操作第二部分所介绍的组件来虚拟化网络的特性。

文档中使用一些约定,包括:文件名使用粗体字体,方法和变量使用等宽字体,显示包名称使用方括号。

最后,目标受众应该熟悉SDN架构、OpenFlow协议和Java。我们也建议受众可以得到OpenVirteX的源码,他们能够帮助理解文档。

目录

I. 综述
1.1 网络虚拟化
1.2 OpenVirteX:一个高级视图

II. 组件
2.1 概述
2.2 组件状态机
2.3 组件持久性
2.4 交换机(Switches)
2.5 端口(Ports)
2.6 链路和路由(Links and Routes)
2.7 地址(Addresses)
2.8 主机(Hosts)
2.9 网络拓扑
2.10 全局共享映射(Shared Global Mappings)
2.11 信息(Messages)

III. 操作与子系统
3.1 系统概述
3.2 启动与关闭
3.3 事件循环
3.4 网络发现
3.5 虚拟化与去虚拟化
3.6 状态同步
3.7 弹性
3.8 持续性
3.9 JSONRPC API

1 概要

本节概述了OpenVirteX网络虚拟化的定义,从OVX虚拟化网络的高级视图开始。
1.1 网络虚拟化
1.2 OpenVirteX:一个高级视图

1.1 网络虚拟化

网络虚拟化允许多个租户占据相同的网络基础设施,每个租户会有一种错觉,认为可以对整个网络进行完整的处理。OVX通过给每个租户提供访问一个虚拟网络拓扑和一个完整的网络头空间来达到这样的目标,前者允许租户自定义拓扑结构,而后者保证功能性和流量隔离,即使是在不同的租户选择重叠的寻址方案。

在拥有类似能力的网络中,允许多个租户共存,这不同于网络切分(network slicing),网络切分是在所有租户分离某一单独头空间的部分。例如,两个租户在自己的虚拟网络可以使用相同的IP子网和TCP / UDP端口,而在两个网络切片中,这将切片之间的流量泄漏。另一个区别是在可能的拓扑结构上。虚拟网络不需要对应于底层网络的拓扑结构,然而网络切片必须被限制为原来网络的同构子图。

OVX通过作为代理来实现网络虚拟化。代理位于网络和租户网络操作系统之间。对于每一个租户,OVX重写OpenFlow消息用于翻译租户网络操作系统(NOS)发送给它的虚拟网络的消息及从虚拟网络接收到的消息,决定物理网络收到后应该产生与租户网络一致的行为。这样的方法会产生两个后果:

  • 允许OVX呈现支持OpenFlow的可编程虚拟网络,租户可以使用自己的NOS控制虚拟网络
  • 使OVX是透明的——从底层网络的角度,OVX的表现为一个控制器,从租户的角度上看,OVX作为网络中具有OpenFlow能力的交换机集合。

由于这部分的功能,OVX作为租户控制平面与基础物理设施之间OpenFlow消息的多路复用器/解复用器。特别的,这个过程依赖于这样的一个假设:每个网络主机属于一个虚拟网络。主机硬件地址在关联租户与他们的网络流量中发挥关键作用。

图1.1展示通过OVX支持三个租户的网络虚拟化。

OVX-1.1

图1.1:OVX网络虚拟化。每个租户可以部署自己的控制平面来管理OVX呈现给它们的虚拟网络

最后,OVX在OpenFlow消息到达租户NOS之前重写该消息(也就是虚拟化网络)的方式使其成为网络衬底(underlay)。这是相对于NOS给其应用提供虚拟化能力的网络覆盖(overlay)来说的。

1.2 OpenVirteX:一个高级视图

OVX保持对每个租户虚拟网络和物理网络的逻辑表示。OVX通过拓扑发现建立物理网络基础设施的视图,通过OVX API提供的配置信息建立虚拟网络的视图表示。

如下图1.2所示,OVX限制物理网络与虚拟网络的耦合:1)一些共享的全局结构存储物理网络元素与虚拟网络元素之间映射2)在消息事件循环中的虚拟化/去虚拟化例程重写和/复用/解复用在控制信道中的消息。控制信道被分为两种:

  • 在租户控制器和OVX北向接口部分之间的虚拟部分(图中用蓝色表示)
  • 在网络和OVX南向接口部分之间的物理部分(图中用橙色表示)

耦合点用于物理环境与虚拟环境之间的转换,物理环境和虚拟环境是跨控制信道的。因为物理和虚拟这两个部分逻辑上是去耦的,所以OVX本身能够建立和保持与数据路径(datapath)的连接,即使是在没有虚拟网络和连接到租户控制器存在的情况下。

OVX-1.2 3 tenant-c

图1.2:(左图)在OVX中,物理网络(黄色)和租户网络(蓝色)的表示在逻辑上是分离的,租户1和租户2仅可以“看到”OVX呈现给他们分别标记为vnet1和vnet2的虚拟拓扑。vnet1、vnet2的拓扑,和他们与物理网络之间的映射通过API调用来配置,并且存储在全局映射(绿色)。映射中的内容可以从物理和虚拟网络进行访问(橙色和蓝色线)(右图)。物理 - 虚拟分割是由OpenFlow消息虚拟化/去虚拟化过程处理的,在这个过程中引用了全局映射。

3.5节提供了一个详细讨论关于如何实现OVX分隔通道。

我们现在进入第二部分来看看OVX用来表示物理和虚拟网络的部件和结构,并且是如何在物理和虚拟网络之间映射和转换的。

更多精彩请访问下一篇《OpenVirteX体系结构之组件(一)》
译自:北邮FNL实验室张歌,http://ovx.onlab.us/documentation/architecture/


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/2323.html
分享到:
相关文章
条评论

登录后才可以评论

张歌 发表于14-10-22
4