Ryu和OpenStack集成之道

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

内容简介: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和云计算数据中心为代表的典型应用,无疑,均为各自的发展,都开拓了一片新天地。

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


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

查看所有标签

猜你喜欢:

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

The Mechanics of Web Handling

The Mechanics of Web Handling

David R. Roisum

This unique book covers many aspects of web handling for manufacturing, converting, and printing. The book is applicable to any web including paper, film, foil, nonwovens, and textiles. The Mech......一起来看看 《The Mechanics of Web Handling》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具