科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道路由交换华为:以软件工程最佳实践构建软件定义和未来网络

华为:以软件工程最佳实践构建软件定义和未来网络

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

2012年12月6日,在北京召开的2012中国SDN与开放网络高峰会议上,华为首席架构师罗敏博士用题为“以软件工程最佳实践构建软件定义和未来网络”的题目做了精彩演讲。本届大会由下一代互联网产业联盟SDN与开放网络专业委员会主办,也是首次在中国举办的软件定义网络(SDN)相关会议。华为首席架构师罗敏博士代表华为公司,在下午的会议中首先登场,阐述了华为方面对于软件定义及未来网络的看法与理解。

来源:ZDNet网络频道【原创】 2012年12月8日

关键字: 华为 SDN 软件定义网络 交换机 数据中心 OpenFlow

  • 评论
  • 分享微博
  • 分享邮件

ZDNET网络频道 12月08日 北京报道:2012年12月6日,在北京召开的2012中国SDN与开放网络高峰会议上,华为首席架构师罗敏博士用题为“以软件工程最佳实践构建软件定义和未来网络”的题目做了精彩演讲。本届大会由下一代互联网产业联盟SDN与开放网络专业委员会主办,也是首次在中国举办的软件定义网络(SDN)相关会议。华为首席架构师罗敏博士代表华为公司,在下午的会议中首先登场,阐述了华为方面对于软件定义及未来网络的看法与理解。

华为:以软件工程最佳实践构建软件定义和未来网络

华为Shannon Lab,Advanced Networking Software首席架构师罗敏博士

第一、通信业所遇到的软件危机及现状

罗敏首先讲到,我们在8、90年代学习软件工程时都会提到软件危机,软件危机的原因主要是软件的复杂性和经常在变化的用户的需求。或者说我们没有一种统一的、可以令行业人士和IT技术人士都能理解的需求。它直接导致项目不能很好完成,软件效益不高,或者说经常出现各种各样的问题。另外根本上来说不能满足需求的变化。所以重点是我们怎么做才能从软件工程的角度,找到一个正确、又能够被人们所理解,而且还能够被验证的计算机程序就成为我们的主要目标。

从通信行业来讲这个问题可能比银行、政府问题更加严重。主要存在以下现象,对于大厂商来讲,公司有成百万、千万的代码在支持运营、管理、服务。可以想见这些供应商基本不可能愿意花大量人力及时间来重构这些庞大的代码。通常这样的网络会存在很大的网络复杂性问题,大家都知道,很多情况下网络已经变得越来越不可管理,这就是08年斯坦福大学clean slate研究组教授和两位学生期望以更简单的方式描述网络的由来。

第二、从SDN角度,Openflow协议仍然面临技术上的挑战

如今,软件工程方面已经经历了多次革新,从80年代中后期的面向对象,到90年代初期的面向组件,再到现在的面向服务。这样一种越来越开放的,面向重用的一种整体的软件架构慢慢的为更多人所接受。但是我们觉得还是应该强调,没有一个很完善的方法解决所有的问题。尤其在那些大型的复杂度比较高的项目中,比如我们协议的定义不够完善。就如同Openflow这个协议本身也是从1.0、1.1再到1.2、1.3版本的不断升级。

第三、怎样以软件工程最佳实践来实现软件架构的协议

软件工程学是把做工程的办法推广到做软件的产业里。最重要的是三个方面,一个是我们能不能以系统的办法,建立一套严格的方法,用工具管理需求构建中的一整套方法作为支撑,同时我们能在设计、开发的过程中衡量我们在哪些方面取得了进步?离我们的整体目标还有多远?只有这样才能够实现一个工程的系统性。有一整套比较完善的过程定义和工具支持,另外还要可以量化所有这些环节,通过这样做工程的办法去实现软件工程。

华为:以软件工程最佳实践构建软件定义和未来网络

其实这样的做法在90年代末开始就已经出现了。我想强调的是IBM90年代中后期提出的RUP,现在叫统一过程。它强调三点:第一是以架构为中心。就是我们所设计的软件必须基于一个已经认为可行,而且能够把软件的各个层面从底层硬件支持到上层的数据管理,再到安全、集成,能够把一个软件系统的方方面面串联起来的架构。在这个基础上根据场景、业务、技术以及数据的需求提出了各种通用的组件。在组件基础上进一步发展到我们应该需要怎样的标准服务。这样我们的系统才能真正的去实现互连互通。

第一架构师的工作并不是简单的画一些框图,而是要以一种可以重复工程化的方式来实现架构和设计架构,这就是以模式驱动的架构和开发方式。我们必须有这样的开发方式来保证架构可以得到扩展和重用。而且可以把我们的设计建立在前人已经完成的工作基础之上。

第二是要以业务为驱动。要有效的把我们对业务的理解和业务需求的理解,具体到统一过程里所要实现的支持网络控制和转化分离的功能上来。以一种可以管理、可以不断更新的方式来把它描述出来,用来指导整体的架构设计以及后期其他模型的设计。

第三是不可能一下把所有工作全部做到位,要按照一定的优先级,以一种循环迭代的方式实现软件工程方面的工作。最开始统一过程是强调把最关键的技术点设计好,把圆心做出来,这样能够在最早的时间里证明我们的方案,我们的问题可解还是不可解,如果不可解或者不可行,我们能够尽早的控制风险。以上三条原则是大家需要一直遵循的。

另外,为了简化复杂度两个最重要的事情一个是抽象化。需要不断的把很多共性的东西抽象出来。还有一点是怎样把大的复杂的系统分解成小的模块来进行研究,研究系统与系统之间相关的程度,以什么样的方式进行互动。以及能不能尽可能的实现双向的从模型到代码从代码再回到模型的软件工程方式。

第四、华为在广义控制器的设计思想及成果

华为设计Lab的过程中所涉及的原则,首先是一个开放的平台。功能要能狗扩展,保证在协议改变后可以用最小代价实现新的功能。控制器系统变成一个很容易添加,从而更加可靠。第二是有效的使用基于模型驱动开发的方式来做架构组建、集成和扩展。

华为:以软件工程最佳实践构建软件定义和未来网络

另外就是重用,Openflow从08年开始到现在基于Openflow 1.3的版本,从控制器、交换机都出现很多开源代码,之前有很多博士论文专门做过相关分析。我们需要了解在某一个关键点上为何要用某种技术。因此要尽可能的重用,要利用前人做过的应用来缩短研发的周期。另外,从Openflow1.0到2011年2月份公布的1.1,再到12月份公布的1.2这之间是有很大差别的。Openflow 1.0可以看作是一种概念验证的协议,它主要的目的不是为了产业化,只是希望能在校园网络的环境下尽快的验证这种简单的思路的可行性。而Openflow 1.2需要多个控制器来管理一个大的子网。对一些新的比如IPv6的支持,人们希望能够尽量使使用现有的已经开发、编写更为成熟的技术。由于这些东西的加入。Openflow 1.1、1.2更加复杂了。

华为:以软件工程最佳实践构建软件定义和未来网络

华为:以软件工程最佳实践构建软件定义和未来网络

以软件工程的方式做软件,我们是怎么做的呢?首先是需求开始,比如说就SAAS主要的特性从协议支持、网络控制、虚拟网络支持、交换机管理和网络配置几个特性方面把一些重要的特性列出来。华为自己有一套模型,特性效果根据1.2的协议,把它需要的主要功能需求也组合到了一起。

整体架构:第一步是SOX,里面有对交换机的管理,局部化的网络信息库。另外一个是中央集中控制逻辑,包括公共的共享功能。包括底层对主机,对链路的管理、拓扑的管理,包括现在一些比较基本的路由的算法。再往上是API,再上面还有一层管理应用。这个看作控制器的话,要利用API支持上层的管理应用,我们把管理应用和控制器的组合叫做智能网络控制器操作系统,因为华为自己有一个管道操作系统。多个控制器的集群能够把网络有效的控制起来,通过基于服务的分布式管理方式,就是软件服务定义的网络,中间的一层就是网络软件服务层,通过它来实现集成。通过这种方式网络可以得到进一步扩展。

华为在去年10月份参加ONF测试中,第一次实现了Openflow 1.2的组网,并实现了自动发现网络拓扑等功能,以及交换机的学习能力和对控制器、路由表、IPv6部分的支持。当网络配置完成,可以向用户展示拓扑以及所学习能力的最终界面。

华为对SDN未来的展望

作为华为来讲,首先先要完成一个控制器集群,在现有基础上做到分布式的网络操作系统,基于完全丰富的网络信息库加上分布式的控制集群。第二是进一步提高性能。其中某几个重要的过程是把原模型或者各种支持Openflow未来协议的模型构建起来。另外是基于全网拓扑状态和流量特征的资源分配。第四是应用场景。华为希望能够从对数据中心的支持到更加复杂的校园网、企业网包括运营商更具意义的运营网络层面上来。最终希望同大家一起协作把SDN Openflow逐渐变成一种主流的,可以被更加广泛应用的优势技术。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章