订阅云计算RSS CSDN首页> 云计算

NEC云系统实验室经理Takashi Torii:OpenStack and OpenFlow/SDN

发表于2012-08-11 11:03| 次阅读| 来源CSDN| 0 条评论| 作者CSDN

摘要:Takashi Torii谈到,日本电信在两件事后开始着手考虑openflow和openstack架构,一是去年的日本大地震,二是智能手机普及后的流量暴增,需要以更低的成本解决数据流量控制的问题。

8月11日,首届OpenStack亚太技术大会(OSAC)进入第二天。作为OpenStack社区在亚太区的首次技术大会,地区覆盖中国、日本和韩国,数十位国外的OpenStack核心企业及国内前沿开发者将齐聚OSAC。此次大会由全球最大中文IT技术社区CSDN和中国 OpenStack用户组COSUG联合举办,CSDN将对大会做全程报道,进入直播专题。

NEC云系统实验室经理 Takashi Torii

在8月11日北京站第二天演讲中,NEC云系统实验室经理Takashi Torii带来了主题为《OpenStack and OpenFlow/SDN》的精彩演讲。

OpenFlow是今年最热得话题,有很多人甚至都站着来听演讲,从OpenStack开始,Quantum已经变成了虚拟的网络也是云平台主要的问题,所以我非常高兴能够和大家谈一下OpenStack以及OpenFlow。

Quantum是OpenFlow中一个子项目,也是一个模块,能够提供网络服务容量,可以提供网络服务在不同的界面中,比如VM中,它会成为主要的Nova。谈一下Quantum工作方式。用户可以通过API和Quantum、Nova进行对话。一开始Nova会创造VM以及虚拟网,然后就会创造一个Port,第三步会有接入插口,Quantum就会接入Vnit(音),然后和网络进行相交流。这个工作流很像我们物理世界中,就是把第二步交换机放上去。

因为Quantum主要是在进行逻辑世界中、虚拟世界中、虚拟机器中,所以我们必须把这个逻辑世界转成物理世界,就是实际网络。OpenStack提供了一些插件。

OpenFlow SDN。有一个问题,网络到底有多长的历史?我们答案是有40年,网络诞生于1970年,TCP/IP就诞生了,和我差不多大,TCP/IP有很长的生命,是长期的技术,没有什么问题,但是世界变化非常快,我们使用英特网的方式也变化了,有网络电视、网络购物、网络聊天。所以我们有很多新的网络应用。40年来,英特网有很多年轻的应用在上面,所以有很多的代沟,我们怎么样能够填补这个鸿沟,如何能够互相交流,并且理解彼此。

英特网的问题是它实施非常慢,因为英特网的软件或路由以及交换器会经常的更新,最慢也有10年。为了解决这样的问题,我们有一些尝试,未来英特网其中一个就是OpenFlow。我们有三个关键词:1、OpenFlow,OpenFlow是网络交换的一个新的基建,有网络虚拟化以及可编程的特征;2、网络虚拟化,可以建立自己的网络;3、可编程,未来可以通过应用程序来控制你的网络,也就是说可以学习一下配置的命令。

2007年,首先是斯坦福大学一个项目开始的。2011年,开放网络,2012年,ONRC(音)变化了,开放网络研究中心成立,这个基金主要是来推动SDN,他们还建立了OpenFlow的协议。OpenFlow的协议在2010年最初的版本是1.0,也是最广泛应用的,现在已经有了1.3的版本,我们认为这是下一个会使用的版本。1.1和1.2已经被很多服务商跳过了。

下面介绍一下OpenFlow基本面的东西。OpenFlow有两个组件,OpenFlow交换、OpenFlow控制器。OpenFlow本身可以处理一些数据板,还有包的传送。OpenFlow控制器主要是控制板和流量的管理。OpenFlow架构的关键是要分开控制和交换。对于交换来说,是OpenFlow最重要的一个特点。在现在网络中,包的传送是基于二层和三层的地址,比如L2的交换是基于Mac的地址,L3是基于IP地址。对于流的交换来说,用的是包的传送。

OpenFlow是如何运作的?OpenFlow包的传送有两种,第一种是反应式的传送。首先这个包应该被接收到,交换是没有规则的,所以不需要对这个控制进行交换的询问。OpenFlow的控制会搜索路由,把流量表送给OpenFlow的交换,然后这个包就会被传送到地址当中。第二种是主动式的,所有流量表都是在包传送之前被设置好的,所以OpenFlow的交换是接收到包,然后搜索流量表,再传送个包。如果没有在这个表中发现相应项目的话,这个包就会被丢掉。其实我们终端用户一般会混合用不同的一些方向,他们也会用主动式,也会用反应式的。给大家提供了一些流的例子,有单播组播,还有多径路点。

OpenFlow的协议。OpenFlow的信息,有三种类型,首先是包,是在控制和交换之间进行流通;其次是流的项目信息,是管理交换的一个流的项目;其三是流量表,流量表是OpenFlow最关键的点,其中有三部分,里面有相应的流量过滤、数据、行动,过滤的匹配从L1到L4,有12种可以使用。行动的清单中有规则的转换、丢掉、信息调整等。

流表例子。首先是列交换的例子,流的匹配的过滤器进行定义,这个包进行匹配之后就会传送到port3当中。光波的包有一个Mac的地址,但其他的是无所谓的。IP组播包通过类型进行匹配,也就是他们的IP地址。IP路由的例子,行动本身是一个Sign Port输出。

虚拟网络是如何工作的?有三种虚拟网络,要把VM和虚拟网络进行联系,流量要分离,物理资源的管理。现在有很多数据中心都用VLAN技术,这样就会有一些问题和限制。首先要进行非常频繁的设置,在云数据中心当中有很多设置的改变,如果用VLAN的话,运营者和管理者必须要进行网络的交换和网络路由的设置,这种设置非常频繁。Max最大的VLAN数目也是问题。

我们要使用OpenFlow的协议,就要设置VM和tunnel之间的关系,从VM当中送到tunnel当中。如果CPU的供电太高的话,这些能量不够的。Hop-by-Hop方式,所有的网络都是OpenFlow,好处可以控制这个网络的流量,不好的地方就是这是所有OpenFlow的网络,所以必须要把现有的网络设备替换成为OpenFlow。

OpenFlow交换实施的几种不同类别和不同方式,L2交换就是所谓的硬件OpenFlow的交换,这里有很多供应商的交换机都可以支持这种OpenFlow。软件的交换,开放式的是OpenFlow交换软件最出名的一种。还有两种比较具体的方式,这是OpenFlow控制的清单,已经公布了。

为什么用OpenFlow或SDN?现在的网络架构是用来支持一个静态的网络设置,灵活性就需要支持云和数据中心的部署,也就是说网络现在越来越复杂,目前网络没有办法支撑这种复杂性。如表显示市场研究数据,现在网络运营有哪些问题,最上面的问题是有太多的流程,第二个问题是要改变现在的设置管理,第三个问题要和其他IT域进行整合。这个结果显示,对一个运营者来说,网络现在太复杂了,目前方法已经没有办法进行管理。

在网络技术中,有很多新的协议来解决性能和拓展的问题,但这些协议会使这个设计变得更加复杂,使设置也变得更加复杂。通常部署这些服务或进行设置和实施,时长非常长,而且解决问题也比较困难。所以现在问题非常明显,网络太复杂,没有办法进行管理。

为什么要使用OpenFlow?OpenFlow是否能够解决这个问题?OpenFlow有很多问题,比如有什么好处,有什么风险,是否是一个新的技术,要回答这些问题,要看一看IT系统的历史。在虚拟化之前,服务器和网络的管理是完全分开的。防火墙和负载平衡器是硬件的一种设施,安在网络当中,成本非常高,但必须要达到客户的需求。为了避免这种单点失败,一般都是采取集群式的。第一个虚拟化就是VLAN,使用VLAN以后,许多子网和租户可以共享这个网络的交换。VLAN技术现在已经得到进一步扩展,而且扩展到了路由之上,这样的设置并不是非常理想,因为路由可能成为性能的一个瓶颈,成为一个平的网络。

下一个虚拟技术是hypervisor,由于太复杂,没有办法用人来管理。

下一个虚拟化就是vSwitch,这个服务器和网络之间的分界线就变得比较模糊了,vSwitch是一个网络的功能,vSwitch是在服务器当中进行设置,谁去进行这样的沟通?对于服务器和网络的整合非常重要。

下一个时代是实时的迁移,在目前网络设施当中非常难进行实时的迁移,特别是在路由之间进行迁移,所以就要对网络设置进行一种转换,对动态设施来说,网络管理非常重要。

最后一点是虚拟应用出现了,流量就变得更加复杂,比如防火墙和负载平衡器就要通过网络的运营商进行管理。

在VM上跑的这些软件,要在服务商进行管理。现在网络和服务器已经有了这种重合,服务器管理人员也要懂网络,网络人员也要懂服务器。为了解决这种问题,我们需要网络和服务器的整合,就是网络要可以进行编程,就是OpenFlow。

OpenFlow的控制框架。OpenFlow的关键就是可编程,要真正使用OpenFlow,我们就需要开发OpenFlow的一种控制软件,也就是OpenFlow只是其中的一个工具,所以要使用这些工具,而且要使用方便,而且要使用的非常快速。我们实验室已经创造并且进行了维护Trema,是一个开源的,Trema现在有很多性能都可以进行OpenFlow的开发。Trema是一个OpenFlow的框架,而且有自己最基本的数据和协议堆栈,以及一些核心的模块。任何人都可以去开放一个OpenFlow的控制,通过Trema来开发。为什么要开发Trema,因为我们要让OpenFlow的生态系统更加重要。

要开发一个OpenFlow的控制有多难?首先这只是OpenFlow的冰山一角,其实在海洋之下有非常大的一块冰域,Trema本身并不只是在冰山一角,而且还显示了海洋之下冰山的情况。Trema架构,首先有核心、开发环境、运营环境,在Trema之上还有应用,这就是我们为什么把Trema称之为OpenFlow的编程架构。显示Trema的一些关键性能,首先编码非常容易,Ruby写了一个编码的样板,经packet-in之后就可以写进去,然后输出,显示编码的过程非常简单。网络本身,可以解决程序问题非常典型的放之,为了解决一些问题可以使用多交换器,可以通过小的网络进行实现,但非常难进行网络大规模实现。通过这种性能,就可以把所有的网络在一个机器中进行实现。这里有不同的脚本,一般用两个vSwitch,两个主机,通过这个脚本进行连接,就可以在Trema上运行你自己的控制器,再去管理你的包的流和网络的工作。

Trema有非常多的应用,Trema现在已经在斯坦福大学进行了应用,如图是在斯坦福大学里的OpenFlow网络的架构,有32个OpenFlow的交换都是由Trema进行控制,Trema作为一个默认的控制,而且这个服务和支持也是斯坦福的。

解决方案。这些都是关于OpenStack和OpenFlow的一些主要活动,我们建立了OpenStack和OpenFlow的中心,并且还有其他一些技术和解决方案。我们OpenFlow一些产品,我们OpenFlow的控制软件,并且捆绑到一些产品中,还有OpenFlow物理交换机产品,最新OpenFlow的产品在全世界都有。同时还开发了Quantum OpenFlow插件,可以把OpenFlow Quantum和OpenFlow控制器连接起来,它们都在Trema上,所以可以把它下载并且测试。

最基本的一些特征以及网络孤立,Trema的应用,都可以创建一些虚拟的OpenFlow网络碎片。我们有两个L2的交换机,有1和2,都是互相完全孤立,所有没有什么光波包交换到其他网络。这是OpenFlow基于防火墙以及负载均衡,因为防火墙和负载均衡都是在硬件应用上,因为它们的服务和性能都是可以得到保证,并且是稳定的,但是它们的成本很高,所以使用OpenFlow我们就有比较简单的防火墙和负载均衡的应用。

如图在实验室中应用的,左边是软件结构,使用OpenStack和Quantum的插件,右边是GUI,是原始的门户网站,可以创造更加灵活的虚拟网络,主要在内部使用,还有一些其他的矩阵、VM的队列,还有虚拟网络。可以把虚拟网络和虚拟机联合起来,比如可以把三层的系统、存储服务、数据分析系统都连接起来。

另外一个项目,我们和NT DoCoMo,和其他日本运营商联合起来,目标是想提供动态的SDN的控制,并且主要是为了灾难的容忍,因为我们这个项目后面有两个主要的动机,第一是灾难,去年3月11日日本发生了大地震,当时通信基础设施遭到了严重的破坏,语音流量非常拥挤,很多人都受到了影响,我也非常的震惊语音上表现如此不佳。第二是智能手机的流量,最近智能手机给运营商的网络带来了很大的压力。产生流量高峰有一些问题,但对于网络系统来说,我们需要尽量以低的成本把它解决掉。

为了解决上述两个问题,我们建立了一个研发系统,也就是用OpenFlow和OpenStack。比如平常声音和邮件以及丰富的媒体服务都可以发散到服务器和网络上,但是在紧急情况中,声音和邮件的沟通较优于丰富的媒体服务,所以我们就需要把它迁移一下,当然我们需要包括服务器的VM、资源。我只有多质的系统,有几个质会发生堵塞,如果没有这个解决方案的话,堵塞就不能得到解决,就会过于负载。有了这个方案之后,我们从一个质的资源就会不受堵塞的影响,到另外一个组上,得到恢复,网络服务器就会共享。

混合云,今年6月份在东京举行了峰会,也展现了我们混合云的解决方案。公有云和私有云都和OpenFlow相结合。在我们展示中,私有云的资源是满的,所以我们需要租用一些公有云的资源,并且让它无缝的融合。公司云都通过OpenFlow连接起来,所以我们用户可以看到公有云是在同样的第二层网络上,我们明年会把它自动化。

安全在开发OpenFlow和OpenStack中都很重要,现在IS的服务只有从英特网,通过防火墙的流量,所以我们没有在虚拟机、租户、IS中间的防火墙,所以使用OpenFlow就可以解决这个问题。还有裸机有很高的性能,因为裸机并没有hypervisor,所以也有一些安全的问题。如果有OpenFlow的硬件交换机,就可以把一些物理服务器和其他租户孤立开,就可以有安全的接入。这是我们对OpenStack社区的一些贡献,我们已经开始对Folsom版本进行了一些贡献,我们也贡献了其他一些特征。

为什么使用OSS,我们是供应商,对于开源还不是很积极,我们也没有给开源社区做特别大的贡献。我们认为开源是很重要的,并且也愿意为这个系统贡献。对我们来说,供应商的产品也很重要,产品像这个塔一样,如图是东京的“天空树”,去年完工,有634米高,有很多高精技术在里面。OSS就像是一个城市,有各种规模的商店、建筑,所以人们可以在这里很好的共处,也可以进行各种各样的活动。

我们的目标就是在云和网络的平台进行创新,为了达到这一目的,我们有很重要的几点,首先使用有潜力的技术和平台,有很多的技术都可以定义平台,但很多都没有达到这样一个目标。其实并不是技术的问题,是没有能够成功的让生态系统广泛的被接受,所以创新很重要,还要密切监视这个平台,选择有潜力的平台。第二点就是开放,想让我们的技术赚钱,这是很有道理的,但我们的商业市场也很重要。现在全世界都有很大的市场,如果把技术开放的话,就会带来很多之前没有预见到的机遇,它也是创新的种子。第三就是协作,今天IT和网络的系统,包括很多的项目不可能只有一个供应商来提供,所以如何和其他公司进行合作,如何和其他社区进行合作是很重要的成功关键。

OpenStack和OpenFlow,我们认为都能够实现这样两个目标,我们也将会用OpenStack和OpenFlow进行创新,也很高兴能在这里和大家进行分享。谢谢大家!

更多OSAC及OpenStack相关信息,请关注@CSDN云计算微博,也欢迎加入国际云计算技术交流群OpenStack中文社区进行交流讨论。

0
0
NEC云系统实验室经理Takashi Torii:OpenStack and OpenFlow/SDN