前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenBox项目及相关介绍

OpenBox项目及相关介绍

作者头像
SDNLAB
发布2018-03-30 16:03:48
1.2K0
发布2018-03-30 16:03:48
举报
文章被收录于专栏:SDNLABSDNLAB

知道OpenBox源于SIGCOMM 2016的会议,这个会议的影响力在计算机和通信领域的专家相信都知道,CCF推荐的A类会议,一年接收文章的数量也就在30篇左右,但是每一篇质量非常高(也会有大公司推销产品的),影响力也非常大,即使一些workshop的文章引用率也非常高。可以说,SIGCOMM代表了计算机通信领域的最高水平。

OpenBox这项工作事实上在2015年SIGCOMM的HotMiddleBox就出现过,今年直接被主会录用。下面本文将对这项工作的背景,技术路线以及开源工具进行一一分析介绍。

OpenBox是一个用于提供网络功能(Network Functions)和网络虚拟化实施和管理的软件定义系统框架。该框架共包含三大逻辑层次(如下图所示):

1)用户定义的OpenBox应用程序。这些应用程序通过OpenBox北向接口提供网络功能规程。

2)一个逻辑集中式的OpenBox控制器将多种多样的网络功能囊括其中,并能够通过OpenBox协议来控制数据层操作。

3)最底层的数据层全部通过软件来定义,或某些特定的硬件支持。

这项工作是由欧盟的FP7支持,主要团队由以色列的一个研究中心和Hebrew大学承担。

OpenBox项目的动机源于他们认为目前SDN解决方案过分强调了数据层的可编程性,但是在网络功能和中间件的支持方面却不足。从OpenBox的层次来看,其实仍然延续了SDN的框架模式,在这方面并没有做太大的突破。所以,我们可以这样理解,OpenBox是一种深度SDN实现框架。

OpenBox的基础在于对常用的网络应用程序的抽象。例如,防火墙的处理流程首先示处理数据包,然后根据数据包头部进行分类,在进行分类后决定是否进行丢包处理或者通知管理员(如下图)。

而相应的,另外一种常用的网络应用程序,入侵检测系统,其处理流程与防火墙工作流略有不同,在进行数据包头部分类后,进行了正则表达式分类,如下图所示:

从上面两个例子不难看出,网络应用程序的工作流可以由一些网络功能构成。这也正是OpenBox的出发点和基础。OpenBox目前共定义了40种这种抽象的网络功能基本块。

OpenBox的技术实现目前已经开源,在Github上该项目的所有工作可以通过下面的链接[3]找到。其中下面安装过程会使用到obsi和moonlight控制器这两个工具。除此之外,MoonlightFirewall和MoonlightSnort是他们论文中用来推自己工作使用到的两个例子。

下面,对OpenBox-mininet的安装和使用进行简要介绍。

我使用的操作系统是Ubuntu 14.04, mininet使用apt-get进行安装。OpenBox提供了非常良好的shell脚本,可以直接下载或者通过wget进行下载,具体的安装命令如下:

在安装过程中,我们需要做的就是在需要输入Yes的情况下输入Y并回车。安装的时间稍微有点长,主要原因是这一过程需要安装OpenBox service instance(相当于data plane device,可以当作OpenvSwitch),还有Moonlight控制器。这是OpenBox自己实现的控制器,其中实现了自定义的网络功能规程和南北向接口协议(注意,并不是OpenFlow)。

安装完成后,在安装脚本的同一目录下,会多出来两个目录:obsi和moonlight。其中,obsi是数据层面的实例,而moonlight是OpenBox的控制器。

进入Moonlight目录之后,直接运行./start_moonlight,OpenBox控制器就会被启动,如下图:

目前关于OpenBox的技术资料很少,只有在发表的论文中谈及里面使用的技术,本文的后续将会对OpenBox的技术进行更加深入的分析。

参考资料:

1、openboxproject官网

2、Anat Bremler-Barr, Yotam Harchol, David Hay. "OpenBox: A Software-Defined Framework for Developing, Deploying and Managing Network Functions". Accepted to ACM SIGCOMM, Florianapolis, Brazil. 2016.

3、https://github.com/OpenBoxProject

4、https://github.com/OpenBoxProject/openbox-mininet

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SDNLAB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档