@ fnii.cn

登录邮箱

李克秋 软件定义网络

发表日期:2014年05月17日      共浏览 1887 次      编辑:


大家下午好,非常高兴有机会在这样一个研讨会跟大家分享一下,我们这个团队。这是我们跟清华大学合作做的东西,我们这方面的一些工作和一些想法,大家都提到SDN的概念。IT界的人比较累的是新名词特别多,现在比如说有大数据、云计算、物联网等等,SDN这几年也非常火,我们通过我的一些想法跟大家分享一下。

计算机发展的过程有哪些本质的变化,最原始的计算机,我们知道做起来很难做,做任何应用都需要专业的人员去做这些,这样一个环境下,但是这个东西,这种局限性推动了计算机要克服的困难怎么发展呢,后来出现了PC为代表的OS,OS作为是什么?相当于把硬件和我们的应分开了,我们做一个一核应用的时候不需要硬件,只要在不同的平台完成就可以了,这样基本概念体现了三个特点,一个是应用和硬件的分离,再一个标准化,再一个就是可灵活配置。第二个例子,我们看一下手机的发展历程,最早就是硬件和软件完全在捆绑手机的固定模式上。很显然,如果我们想做一个新的应用,我们没办法,可能有的只能去换一部新的手机。随着手机操作系统出现以后,这种问题就不存在了,现在有若干种智能手机,只需要从商店里面下载应用就可以了,很灵活。这种应用也可以看出有三个项目特点,把这种OS把硬件和应用分开了,并且结合标准化,还可以做应用的开放化,这是我们从计算机,把应用和硬件分离是一种很必然趋势。在这样一个背景下,我们看网络设备的发展,因为现在的交换机,刚才也有华为好多厂商来讲,他们都是做交换机的重量厂商。核心问题,我想可以理解的方面,就是从自身利益的角度出发,他很希望把自己的软件捆绑在硬件里面。这样一个配合,我们想怎么做,我们想也可以PC机和手机发展德利城一样,我们希望有一种东西可以分离开,就把这种黑河交换机,把硬件收集平面和控制平面分开,我们希望对用户来讲是提供一个完全开放的透明的结构,这个就是SDN的一个基本的想法,就这样。基本的想法就是要把这个黑盒子分开,收集平面做收集平面的事情,控制平面做控制平面的事情。

这个就是我们现在业界对SDN的定义,第一个就是OF,就是国际开放组织对SDN的定义,从这个定义上可以看出一个基本特点,他希望把这样一个东西,通过一种抽象的东西分离开,对用户来讲可以提供一个可辩证接口,对于用户来说可以提供个性化服务。这是ONF的定义,在抽象基础上把数据平面和控制平面分离开,提供一个很灵活的,开放性的一个环境。再看百度百科的定义,也是这样一个特点。从这三个定义看来,整个SDN有一个基本的特性。我个人认为从这个网络架构来讲,他做一种新型的架构,要摆脱我们的局限性。还有就是解耦的功能,要把东西分析清楚,每个角色要完成自己做好的功能。另外接口开放,另外就是有一个很重要特点就是集中控制,刚才讲者也讲了,现在也是有矛盾,我们互联网发展希望提供是一个分布式结构,但是这种情况下又做一个集中式控制,他俩是一个很矛盾的事情,我们怎么样,刚才讲怎么去克服这种矛盾性的关系。只有把顶层功能抽象好以后上层的服务才可以很好的实现。最后一个就是我们的配置要灵活。我们用一个例子说明一下,交通指挥所,现在的交通指挥,你到了高峰期,基本每个重要路口都有交警来调度的问题,很简单,相当于一个交警捆绑了一个很小范围之内,很显然这样做,每个交警只能从他自身的判断做一个决策,这种决策肯定不是对整个全局肯定不是最优的。我们希望SDN做什么事情呢,把这样一个结构分离化,我们可以把整个一些信息可以把一个控制平面提供起来,通过这个控制平面在全局基础上提出一个策略,再反馈给每个交警,这样交警做出指挥可能是在当时行动上可能是最优的。

当前整个SDN架构,就是这三种架构,顶层叫数据层面,中间是控制层面,最上层是应用层面,不同层面之间有一个接口,上面叫北向接口,下面叫南向接口。现在很多结构都是围绕这种最基本结构来展开的。大家提到open  flow,有一个很明显的定义,从这个定义中可以看出,就是连接数据层面和控制层面的协议。所以不能简单的把open  flow和SDN等同起来。现在整个当然研究SDN可能不是突发得出来一个事情,主要是我们现在传统网络发展过程当中遇到一些瓶颈问题,管理比较难以实施,另外网络设备难以控制。基本的瓶颈问题要我们思考,新型未来网络结构都是用哪些,到底是怎么样克服这些瓶颈,SDN是一种形式,其他类型的未来网络一些结构,架构的设想,这么一个设想基本思想就是要打破这种传统网络体系,我们的封闭性,怎么样的开放性,使这样一个我们用户更好的满足个性化服务,所以为网络,新兴网络功能奠定一个新的基础,这样一个思想,就给我们SDN理念完全吻合一种思想。现在我们认为SDN应该讲是在未来网络发展过程中肯定是有一定很好一定的推动作用。这是从业界也好,学术界也好,市场价也好,体现了SDN的价值。从这个统计上可以看出来,我认为热点问题,但是往往一个技术成熟,从热点一定要到低潮,慢慢再成熟的过程,现在可以看出来,整个是一个很热点的,研究热点的高峰。我们分别在控制平面,数据平面和应用层面做一些基本研究,比如说控制层面,交换机设计还有流表组织和优化等等。在应用方面很多了,包括网络虚拟化等等的一些事情。这里面还有一个很重要研究点,不同利益之间的交换,就是我们说的南向协议和北向接口这些基本的协议问题。

我们现在整个一个研究问题,我们感觉尽管SDN现在可能是,刚才华为也提到了,他们做了很多探索就可能有一些很多产品,我们仍然会认为,如果这种技术真的要成熟起来,可能基础理论还要进一步丰富,我个人感觉一个体系结构,往往对一件事情来说,尤其对网络体系来讲是最重要的事情,只有体系结构确定了以后,才能很好的做一些内部的物质,这跟我们盖房子是一个道理,只有把整体房子设计好以后,才能做最后的施工。因为在SDN里面一个很重要问题就是控制,怎么样控制,这是很重要的问题。所以说我们现在做这个课题,主要做三方面内容,第一个就是我们研究,到底什么样一个理论是比较合适的,另外就是到底,我们应该有个什么样更好的体系结构,来满足这种SDN需求。最后在控制系统方面,我们怎么样做一个比较好的控制。在理论模型方面,我们要针对功能配置和性能优化,还有控制管理三个方面来开展工作。具体的,我们提出三项基本的关键技术,第一个我们研究灵活易配数据的功能模型。第二个我们要研究面向全球信息的高效优化信息理论,第三个我们研究面向多控制性的管控方案,这是我们整体的系统。针对数据平台的方面,我们认为当前的数据平面功能是有限的,只是提供了一个转法功能,我们希望在数据平台上功能能够做一些加强,所以我们引入了这样一个可配置的功能模块的想法,使原先转化的功能,这样一定程度上可以把控制平面整个的压力要减小,这是第一个。第二个,我们要提出高效的优化理论,一个重要特点,它可以实现全局控制,但是全局控制一个优点是它可以得到很好的方案。另外一个问题,很多实施应用过程当中对于很多决策过程中,算法的复杂度会提高,这是一个矛盾问题。我们在这个过程中,既要利用全局性基础上,还要提供高效的优化算法,这是我们在这方面要解决的问题,所以我们通过这三个过程来实现这个问题。第三个问题就是多控制器管控问题,因为现在随着SDN的发展,单点控制器肯定不行。为了克服这种瓶颈问题,我们表现做多控制器,多控制器跟我们互联网发展是一样的,存在多控制器如何使他的管理问题,包括配置,包括内容的一致性等等来做,在这样的前提下,还要解出SDN的特点,怎么样来实现这种多控制器的管控模型。这一块我们也通过主要解决几个问题,第一个是多控制器如何来部署。假设我们要放很多服务器,怎么部署这些服务器,使整个性能得到很好的保证。另外我们还要研究这些信息同步,通信协作和动态迁移等一些问题。

第二,就是体系结构,现在基本的架构,通过我们来理解,我们认为这三个架构,可能最大的问题就是现在控制的负载太大,压力太大。数据平面的压力太轻,我们现在一个基本的想法就是,能不能在这样一个情况下,我们通过一些办法,我们使这个控制平面的压力要减小。为此我们就设想能不能提出这样一个四层架构,把原先控制层面分成两种,第一个就是我们要体现单纯控制的平面,实现数据的转化,在这样一个基础上,增加一个多控制性管控的平面,这个平面怎么样实现多控制性的协调管控,功能分析的比较清晰,显而易见,这样的虽然可以把这种负载降低,和功能清晰化,这样肯定要多一种协议,在这样一个控制平面和管控之间要多一层协议,肯定会带来一些不好的因素。所以我怎么样协调,使整体架构能真正体现SDN的特点,这个架构我们在做的试验床中在试验,我们希望能不能将来在这样一个未来网络试验来做进一步的验证。第三个方面就是控制机理方面,针对虚拟网络控制,以及辩证控制等内容开展研究。还是刚才我们有三个问题,第一个性能上灵活可配,第二是要成本合算。第三是要方便。第一个虚拟网络控制,我们希望在这样一个情况下,如何设计合理有效的网络虚拟化机制,所以我们想通过三个,解决三个基本问题实现这个功能,第一个怎么样实现这样一个虚拟网络,第二个实现管理的网络资源,第三个合理的分配这个资源。第二是高效公平的资源控制,这是一个基本策略,刚才很多提到感知功能,我们希望整个,在数据平面,有一定的感知功能,通过这个感知可以做一些预测,从而在我们的,有些根据这个网络在变化情况下,我们可以及时调整策略,从而使我们这个资源得到更好的利用。第二个就是网络辩证控制机制,这个可能是一个最大问题,现在可能控制器已经有若干种,随着SDN技术的发展,我想控制器的种类会越来越多,这跟我们现在手机状态是一样的,手机种类多的时候,你必须有一种透明很好的一个辩证语言和辩证接口,对不同的控制器。现在我们跟神州数码合作,我们怎么样实现很好的中间键,对不同的移动终端,对用户来说都是透明的,对控制器也是一样的,怎么样要做出这样一个封装来,不管你有多少个服务器,对用户要提供一个统一透明的服务。

这是我们认为从控制机理从资源调度,我们认为,这是我们正在进行的课题,我们来做一些研究问题,刚才大家讲的产业界同志可能讲的不一样,学界可能针对一些问题研究。我们先做的问题一个基本思想,刚才上午倪老师也讲了,我们做科学研究一定要和应用结合起来,我们现在做的问题都要在自己很小的试验床来做,通过未来试验平台建了以后,我们希望很好的这些解决这些问题,或者我们提出一些方法,能够真正做一些测试,使我们这些方法,第一个可以得到很好的验证。第二,通过这种验证,可以进一步提升我们做这个研究的动力。最后我想看一下,SDN应该注意哪些方面,第一个问题是架构问题,如果一个东西架构弄不清楚,可能做任何事情都是徒劳的,对未来影响很大,因为不同架构,内设的东西肯定是不一样的。另外,我特别提倡怎么样做统一的编程语言,将来你不可能对每一种控制系统都有一种专门的语言来支持它,我们这样做一个统一的编程语言,对未来的发展一定很有益的。就像我们现在做移动无线端设备都是一样的。另外我们现在怎么样来降低控制平台的压力,我们现在看SDN整个结构,大部分工作是在控制平面做的,这样一个东西可能是不协调,怎么样降低这个控制平台的负载,是我们应该思考的问题。另外我们要思考一些当一些新的应用和新的部署出现的时候,我们SDN怎么样更好的去试验它。尽管我们现在提出的SDN可编程,但是实际上我个人认为一流的厂商,如果完全把东西都开放出来是有一定难度的,这种情况下当一个新应用和一个新的需求出现的时候,我们怎么样应用它,还是一个很挑战性的问题。

这就是我们整个团队包括我们学校的一些思想,我的汇报到此结束,谢谢大家!