Ryu和OpenStack集成之道

栏目: 服务器 · 发布时间: 6年前

内容简介:OpenStack作为当前和可预见时间内最为热门的云计算技术(没有之一),业已获得广泛的企业市场应用和众多IT巨头的支持,更是以近日(7月17日)一位最具重量级的新成员——Google,签约加入OpenStack基金会,而引发业界震动。Ryu作为SDN(Software defined network)软件定义网络领域的热门开源控制器之一,也已愈加获取众多企业和开发者的追捧和支持。

OpenStack作为当前和可预见时间内最为热门的云计算技术(没有之一),业已获得广泛的企业市场应用和众多IT巨头的支持,更是以近日(7月17日)一位最具重量级的新成员——Google,签约加入OpenStack基金会,而引发业界震动。

Ryu和OpenStack集成之道

Ryu作为SDN(Software defined network)软件定义网络领域的热门开源控制器之一,也已愈加获取众多企业和开发者的追捧和支持。

在开始之前,还是让我们,先从宏观上认识下OpenStack众多组件中,最为复杂的Neutron吧。

友情提示:由于Neutron过于复杂和庞大,如若需要,可看OpenStack Neutron官网部分。

1.Neutron核心概念

Network

  • 一个L2二层网络单元

  • 租户可通过Neutron API 创建自己的私有/外部网络

Subnet

  • 一个L3的IPV4/IPV6地址段

  • 为VM提供私网或公网ip地址

Router

  • 三层路由器

  • 为租户的VM提供路由功能,连接Internet

Port

虚拟交换机(OpenvSwitch)上的端口

管理VM的网卡

2.Neutron 核心插件

  • Open vSwitch

  • Linux Bridge

  • Cisco NX1000

  • Nicira NVP

  • Ryu

  • NEC OpenFlow

  • Floodnight

  • VMware NSX

3. Neutron核心服务

在绝大多数的部署环境中, Neutron 组件在 OpenStack 架构中常以单独的Node形式提供网络服务,作为网络节点。提供了多种服务,具体如下所示:

neutron-server

提供REST API服务,后端使用关系数据库。neutron-server 是一个守护进程,用来提供外部调用的 API 和与其它组件交互的接口。从图中可看出,其中包括 horizon 组件,nova-compute 服务和 keystone 认证服务。

Message Queue

neutron-server使用Message Queue与其他Neutron agents进行交换消息

L2 Agent

负责连接端口(ports)和设备,使他们处于共享的广播域(broadcast domain)。通常运行在Hypervisor上。

DHCP agent

用于配置虚机主机的网络。DHCP 代理,给租户网络提供动态主机配置服务,主要用途是为租户网络内的虚拟机动态地分配IP地址。

L3 Agent

负责连接tenant网络到数据中心,或连接到Internet。L3 代理,提供三层网络功能和网络地址转换(NAT)功能,来让租户的虚拟机可以与外部网络通信。

plug-in agent

插件代理,需要部署在每一个运行 hypervisor 的主机上,它提供本地的 vSwitch

配置,更多的时候得依赖你具体所使用的插件类型。(常用的插件是 OpenvSwitch,

还包括 Big Switch, Floodinght REST Proxy, Brocade, NSX, PLUMgrid, Ryu)

metering agent

计量代理,为租户网络提供三层网络流量数据计量服务。

将SDN控制器集成到OpenStack Neutron中,自然成为了企业和工程师们应用拓展的一个新领域。集成不是目的,而是一种手段,最终实现的是企业效益。

通过集成SDN,达到将应用程序从IP地址、VLAN和端口等网络环境中分离的目的,能够节省时间和降低运营成本,提高Neutron网络性能。

SDN 实现了将传统交换机的数据转发和控制平面进行分离,建立了一套独立的基于OpenFlow协议的控制平面。向上(北向接口,面向应用层),可以通过自定义编写应用程序与其他应用服务进行交互通信,实现控制平面。向下(南向接口)通过OpenFlow协议去管理控制物理硬件和虚拟硬件,实现数据转发平面。

目前南向通道主要是指OpenFlow协议,连接控制层和数据转发层。OpenFlow安全通道采用SSL/TLS对数据进行加密,防止控制器与交换机的交互信息被外界窃取。

北向通道主要是指控制层向第三方开放的API接口,用户可以通过这些开放接口开发应用程序并在SDN上部署自己的应用,体现了SDN技术的开放性和可编程性。

目前,能够以plugin的方式集成到OpenStack的控制器有:NEC的控制器以及开源控制器OpenContrail、Ryu、OpenDayLight和Floodlight等,这里我们选择Ryu。

作为不同领域,但又互有交集的两者,通过强强联合能够实现彼此间的优势互补和技术效能发挥。下面让我们一起来构筑起它们彼此之间联姻的桥梁吧。

这里,我们将介绍使用两种方法来集成Ryu和OpenStack。

一、使用Ryu插件与OpenStack的网络

在开始之前,让我们先来看看Ryu和OpenStack集成的架构吧,如下图所示:

图中,基于分层的SDN-OpenStack架构,Ryu控制器充当着“承上启下”的作用:承上——通过北向接口API(OF-REST)管理、运行Ryu app和Neutron服务,起着控制角色作用。

启下——通过运行OpenFlow Protocol与openFlow Switch交换机(可以是软件的OpenvSwitch,也可以是硬件交换机)交互,与Flow Table、OVSDB、OF-Config等一同协作,起着数据转发的作用。

二、通过OVS命令集成OpenStack

由于OpenvSwitch是部署OpenStack默认自带安装的。所以我们可以很好的和Ryu集成。

通过ovs-ofctl dump-flow/snoop和tcpdump,我们能够了解计算节点虚拟机(VM)tap->qbr->br-int->br-tun->vxlan->;网络节点br-tun->br-int->namespace->br-ex这条数据线路,这样,我们便能知道需要在什么地方set sdn-controller。

如下图所示:

Ryu作为sdn的控制器,br-int/br-tun就是二层虚拟交换机,两者之间可以运行OpenFlow协议沟通

三、思考

1)如何满足企业需求,构建Ryu和OpenStack相结合的高可靠、高可用、高性能的网络环境。

2)如何运用Ryu的SDN控制器框架和可编程特性,实现云计算领域的特殊复杂网络环境。

事实上,OpenStack Neutron本身就是SDN的一种实现。

而以SDN和云计算数据中心为代表的典型应用,无疑,均为各自的发展,都开拓了一片新天地。

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏 多智时代 ,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PHP项目开发全程实录

PHP项目开发全程实录

清华大学出版社 / 2008 / 56.00元

《软件项目开发全程实录丛书•PHP项目开发全程实录:DVD17小时语音视频讲解(附光盘1张)》主要特色: (1)12-32小时全程语音同步视频讲解,目前市场上唯一的“全程语音视频教学”的案例类 图书,培训数千元容,尽在一盘中! (2)10套“应用系统”并公开全部“源代码”,誓将案例学习进行到底! (3)丛书总计80个应用系统300个应用模块。 (4)含5000页SQL se......一起来看看 《PHP项目开发全程实录》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具