对SDN发展的探索

时间:2022-10-29 07:48:29

对SDN发展的探索

中图分类号:TP393.03 文献标志码:A 文章编号:1009-6868 (2013) 05-0042-05

摘要: OpenFlow是一种支持网络创新研究的新型网络模型,该模型通过开放的流表支持用户对网络处理行为进行控制,从而为新型互联网体系结构研究提供新的途径。而基于OpenFlow的sdn,实质是对互联网现有技术的继承、发展和创新,它的定位是创造出新的分组数据网,实质性地改造和改变IP网,是网络层革命性创新的工具和手段。认为SDN技术目前还处于初步发展的阶段,还有很大的开拓空间。

关键词: 软件定义网络;软件驱动网络;下一代网;未来网络

Abstract: OpenFlow is a new network model that supports innovative network research. With an open flowtable, OpenFlow enables a user to control the behavior of network processing and provides a new way researching new Internet architecture. The essence of an OpenFlow based software-defined network is inheritance, development, and innovation of existing internet technology. The goal of OpenFlow SDN is to create a new packet data network and substantively change the IP network. OpenFlow is a revolutionary tool for the network layer. SDN technology is still in its initial stage of development and there is still much work much to do.

Key words: software-defined networks; software-driven networks; next generation network; future network

1 互联网的现状

互联网是以IP网为基础的,电信网与所有的大小专网(包括:军网、大、中、小型企业网、工业控制网等)都建立在IP网之上。IP网已经是国家信息通信的基础设施。40多年来,互联网取得了长足的进展,互联网技术的进展主要集中在业务和应用方面。在IP网技术方面,40年来尽管局部修改不断,但却没有实质性的改变,存在的问题没有得到很好地解决,这些问题已经成为互联网发展的瓶颈。图1是一张引用得十分广泛的图,它形象地指出IP网已经成为互联网发展的瓶颈。

2000年美国国防部明确提出:现有的互联网已经不能适应未来发展的需要,必须要设计新的体系来取代它。新的互联网必须解决安全问题、服务质量(QoS)问题和商业赢利问题。从2002年起,美国及世界各国都开始了对下一代互联网的研究工作。

2 OpenFlow的提出

互联网已凸显出太多亟待解决的问题,如:危险性高,恶意攻击、病毒、木马每年会造成上千亿的损失;过于脆弱,无标度的特性让整个网络可以在精心设计的少数攻击下很快崩溃;随意性强,对等网络(p2p)等应用的出现一度造成各大互联网服务提供商(ISP)网络堵塞,严重影响传统正常的访问;反应较迟钝,现代臃肿的路由机制不能支持快速更新,即便发现问题也无法快速反应,运营商只得忙于扩容[1]。

针对上述问题,美国斯坦福大学于2007年提出了OpenFlow。这是一种支持网络创新研究的新型网络模型,该模型通过开放的流表支持用户对网络处理行为进行控制,从而为新型互联网体系结构研究提供新的途径。在OpenFlow中,流表是一个重要的内容,流表中每一个条目包含3个部分:规则,操作,状态。流表的改动,可以生成新的网络。OpenFlow中的流表如图2所示。

OpenFlow研究组主要致力于5个问题的研究,分别为:是否继续采用分组交换;是否要改变端对端原理;是否要分开路由和包转发;拥塞控制和资源管理;身份认证和路由问题。OpenFlow研究组从2006年开始工作,预期到2014年可以完成,研究工作分3个阶段进行,计划的成果是一套网络研究的基础平台。从2007年到现在,OpenFlow已经在硬件和软件支持方面取得了长足的发展。2009年12月,OpenFlow规范了具有里程碑意义的、可用于商业化产品的1.0版本。如OpenFlow在Wireshark抓包分析工具上的支持插件、OpenFlow的调试工具(liboftrace)、“OpenFlow虚拟计算机仿真”(OpenFlowVMS)等也已日趋成熟。OpenFlow提出后得到学术界和工业界的广泛关注。

3 软路由器和SDN

目前SDN是各国网络界的研究热点,其外延也越来越泛化。提到SDN一定也会提到其控制与转发相分离的特征,其实控制与转发相分离早就存在,最典型的是存在于软路由器中。从外形上来看,软路由器和基于OpenFlow的SDN是十分相似,图3是两者的外形图。两者外部特征看上去并无差异,但实际上却有着本质的区别。软路由器是普通路由器在物理形态上的简单改变,一个普通的路由器是由主控板(CPU板)、总线和数据转发板组成。主控板负责路由计算,产生路由表和转发表;主控制板通过总线将转发表传给数据转发板;然后数据转发板再根据分组中的目的地址实现转发。在控制和转发一体的普通路由器中,主控板仅有1套软件,该软件主要用于负责计算本机的路由,产生本机的路由表和本机所属数据转发板的转发表。软路由器做的工作是:一方面将主控板从路由器中分离并集中起来,成为路由控制设备;另一方面把数据转发板变成数据转发设备,路由控制设备通过网络将转发表下传给数据转发设备。通过这种变化,就成为控制与转发相分离的软路由器。可以看出软路由器与普通路由器相比,实质没有改变,只是物理形态上发生改变[2]。

在1个基于OpenFlow的SDN的控制器中有1套基础软件,主要是用于进程调度、收集网络设备(数据转发设备)的连接状态信息和建立网络的基础拓扑关系,而不用于计算路由,不产生本网络(SDN)的路由表和本网络所属数据转发设备的转发表。在不加载路由或其他网络软件前,网络是不会工作的。当加载网络软件后(例如:加载全套IPv4的路由网络软件,当然也可以是其他网络软件或者是完全创新的软件),它就可以启动相应的进程来运行这个软件,计算路由,并产生本网络的路由表和本网络所属数据转发设备的转发表(假如该网络软件是IPv4/6的网络软件),然后通过OpenFlow协议与相关网络,将转发表发给数据转发设备。如果流程只到此为止,那么OpenFlow的SDN与软路由器并无本质上的区别。基于OpenFlow的SDN与软路由器的本质区别是:该网络软件可以不是IPv4/6的网络软件,而是一个完全新的网络软件;它的分组报文的报头中的字段是可以自定义的,字段的作用也是可以自定义的;生成的是流表而不是简单的转发表,可以用于控制整个数据转发设备也可以控制部分数据转发设备(虚拟数据转发设备)。在一个基于OpenFlow的SDN的控制器中可以同时运行多种网络软件,形成多种性能和习性不同的网络,从而为网络发展提供了很好的想象空间和门槛很低的开发环境。

4 SDN的机遇和挑战

4.1目标和概念

目前SDN的目标扩展为:简化网络操作,提升网络性能,提供网络创新平台,研究下一代网络技术。SDN目前可以是:软件定义网络(Software- Define Networks)、软件定义组网(Software-Define Networks)或 软件驱动网络(Software-Driven Networks)的缩写形式。

SDN可以分为两类:其中一类是用于创新网络,即基于OpenFlow的软件定义网络,从本质来说它的真正用途应该是软件定义流表,并下发流表生成新的网络;另一类是用于简化网络操作,提升网络性能,包括软件定义组网和软件驱动网络。

网络发展的过程有的是做加法,有的是做减法。做加法,就是原有保持基本不变,要增加能力,就需要原有的基础上增加复杂度。到目前为止,对IP网我们一直在做加法,把一个原本非常简单的IP网变成为目前无比复杂的IP网,原本仅1万行源代码的路由器变成超过1 000万行源代码的路由器。做加法的根本原因是网络没有顶层设计,想到一点加一点,一般来说加法对局部是有效的,对全局往往是无效的。举一个例子来说,对IP网做的最大的一次加法是多协议标签交换(MPLS),实际上MPLS的基本理念和IP网的基本理念是相反的。IP网的基本理念是要做大网,网络必须是不面向连接的,所以IP网建立在不面向连接技术之上的。IP网取得了巨大的成功,但同时不面向连接也带来很多问题,如服务质量问题、安全可信问题等。为了解决IP网的问题,MPLS则走了一条完全相反的路——采用面向连接的技术,结果是路由器中既有不面向连接的IP网络协议,又有面向连接的MPLS网络协议,复杂度大大增加了。MPLS在局部范围内使用的确能解决一些问题,但范围一大效果则较差,这就是做加法的结果。对于IP网来说,它做了无数的加法,网络协议越来越复杂,网络越来越低效。

做减法则要困难得多,但同时也将有效得多,甚至可能会实现突破性的发展。要做减法,首先需要非常清楚网络的需求,并根据需求做好网络的顶层设计,只有拥有顶层设计才能做减法,否则就不知道如何减、减什么。当然做减法需要对网络技术有深入的理解和研究,才有可能在顶层设计指导下提出切实可行的方案。

4.2 SDN的分类

在ITU-T SG13 的下一代网络(NGN)体系中首先提出了网络的北向接口。图4给出了NGN的体系架构。

在ITU-T SG13 的NGN体系中有网络连接控制功能(NACF)和资源访问控制功能(RACF)两个功能模块,这是业务层和传送层之间的纽带,它的作用如同SDN中提到的北向接口的作用。在互联网的设计中,业务层和传送层彻底分离,两者完全不关联,这导致的后果是:互联网业务均是OTT业务,互联网业务无法承诺最低质量,并且业务的商业模型单一,由此严重影响互联网的发展和互联网中的用户体验。北向接口的提出表明互联网界已经认识到业务层和传送层关联的必要性。

SDN可以分为以下两类。

第1类是基于OpenFlow的SDN。虽然在一些简单的应用中,也有使用OpenFlow协议,但仅用于传送转发表,从本质来说基于OpenFlow的SDN真正用途应该是传送流表并生成新的网络。第1类SDN主要用于生成新的网络,具体步骤是:提出对新型网络的技术需求,提出新型网络的完整体系架构和总体技术要求(即完成网络的顶层设计),设计流表,开发软件,生成新型网络,能力开放,北向接口开放,以及在控制器中增加软件定义能力。其应用场景主要有以下两个方面:

(1)网络技术的创新平台。网络的创新平台是第1类SDN的主要应用场景。创新平台最成功的案例是IP网(TCP/IP),这是一个业务与应用的创新平台,由于它的简单、开放以及其巨大的规模,在其(IP网)上开发业务和应用几乎不需要投入。因此它成功造就了互联网业务和应用的繁花似锦。另一个成功案例是Planetlab,这是一个网络层以上的创新平台,由于使用的人数不多,因此并不广为人知,但它在P2P开发中的成功应用,极大地加速了P2P应用的开发。开发者只要将P2P等的软件加载至Planetlab的节点中去,就可以获得大规模网络中的测试和试运行,从而大大降低开发门槛,促进P2P技术发展。网络技术40多年没有实质性的改变,主要因为网络的开发投入非常高。正因为如此,网络创新需要开放的创新平台。基于OpenFlow的SDN可以用作创新平台,尽管它还没有那样完善,但它具备了网络创新平台很大一部分能力,具有很大的潜力。届时网络创新的门槛将大为降低,一个普通的研究人员就有可以创造出全新的网络。

(2)研究和生成新型网络。目前研究新型网络必须是自行设计、开发并制造特定的硬件和软件的。要构成一个完整的网络,所需网络设备的种类较多,技术研究门槛极高。硬件的标准化、模块化有利于降低网络研究和开发门槛。本场景应用相当广泛,特别是在做小型试验运行网时将特别有效。目前也有厂家特别是一些IT的厂家,试图将网络中的设备的硬件都模块化和标准化,所有的网络工作都由软件来完成。这种思路是否可行,特别是在高速网和大网上,目前还没有答案。

第2类SDN与OpenFlow没有必然的关联关系。尽管在很多场合还是使用了OpenFlow,但不用OpenFlow也完全不影响它的工作。在第2类的SDN中又可以分为软件驱动网络和软件定义组网两类。

软件驱动网络的设想是很合理的,它的基础就是图4 的NGN的体系架构,在图4中明确揭示NGN必须要将业务层和传送层关联起来,因此网络的北向接口必不可少。目前互联网产生种种问题的原因就是因为其体系中没有网络的北向接口。从表面上来看,这个问题解决起来似乎很简单。但实际上,当网络规模不大时,只要做加法即可;但随着网络的扩大,就会产生很多问题,目前所想到的办法都存在着严重的扩展性问题,因此是无法真正实现的。由于IP网机理中的基因缺陷,北向接口做起来很难,IP网没有顶层设计,所做的改进都在做加法,但加法对局部是会有一定效能,但从整体而言,效果比较差。

软件定义组网所包含的就更宽了,包括:智能网管+QoS路由+软路由器;网管能力开放,并增加软件定义能力;网管智能化,网络能力虚拟化和智能化等。目前提出的绝大多数的SDN应用场景都属于这一类,对于这类场景,一般来说对局部、小范围均会有效,但整体和规模大了都将无明显效果。所做的工作还是目前在做的工作,实质并无改变,只是加了一个SDN的包装。

第2类SDN适用于:改造现有网络,简化网络操作,提升网络性能,提升网络能力。对已有网络而言,基本上不作本质上的改变,只是增加一些网络智能:如网管智能,网络检测能力的智能,网络资源管理能力的智能等。所有的工作主要是做加法,网络的总体复杂度将会有进一步的提升。

4.3 对SDN的建议

SDN 是以“推倒重来”的态势提出的,改变流表就意味着可创造一个新的网络,它可以完全不是IP网,因此的确有颠覆性的创新能力。但再进一步研究我们可以发现,SDN并非是将一切都,进行任意颠覆性的工作,而是在认真总结已有的、全部技术的基础上,有继承、有发展、有创新的变革。OpenFlow的研究者在认真研究和分析后认定:网络的分组化是方向,业务网和承载网相分离的基本理念是正确的。互联网的主要问题是其存在的问题长期未得到解决,因此需要研究出新型分组数据网来。因此,基于OpenFlow的SDN,实际上是对现有技术的继承、发展和创新,它的定位是创造出新的分组数据网,实质性地改造和改变IP网,是网络层革命性创新的工具和手段,要解决的是网络层(与IP网同一层面)的技术问题。它的特点是突出网络虚拟化能力,通过控制器,用软件来改变虚拟面中数据流的转发特性。新型分组数据网的研究和开发的门槛很高,特别是要拥有规模的网络验证。使用 SDN技术可以构建分组数据网的创新平台。但目前的SDN不是目标网络,而是创新平台,目前的所有应用只是中间产品。

中国在网络技术的掌握和控制上虽已处于世界第二位,但却一直处于跟随者的位置;美国在网络技术的掌握和控制上处于世界第一位,是真正的技术创造者和技术核心资源的拥有者。第二与第一相比有着实质上的差距,不在同一个量级。但是经过了20—30年的努力,在网络技术方面尤其是在下一代网技术的研究上,随着中国的产业发展,中国和国际是同步的;在下一代数据网(IP网也是一种数据网)技术上,中国是领先的,技术上已有突破。在网络技术上对新技术采用长期跟踪的策略,是对自主创新技术的漠视以及技术自信心不足的表现。目前中国新技术自主创新的做法和20世纪80年代对国产网络设备态度相仿,即相信国际上技术或概念;而采用中国的技术,往往是得不到认可的。其实跟踪是有代价的,有时其代价比自主技术所需要付出的代价更高。要确认中国的自主技术也要有一个过程。目前,业界特别缺乏一个第三方独立、权威的新技术的评测、评估体系,更缺乏新技术的推进和推广体系。

SDN技术体系结构、协议及使用案例均过于简单,但同时在体系结构、协议及在硬件上都有很大的开拓空间。对于SDN来说,真正的困难源于对网络的理解,需要对网络的顶层设计有着清晰明确的理解,因此,SDN中最大、最难的问题是software的设计和开发。对SDN而言机遇与挑战共存,机遇大于挑战,我们需要做的是明确方向,摆脱跟随思维,走自己的路。

蒋林涛,信息产业部电信研究院科技委主任、教授级高工,IP与多媒体标准技术工作委员会主席,ITU-T SG13副主席,国家“863”通信主题多媒体专业专家组一、二、三届成员;长期从事多媒体、数据通信、IP技术的研究开发和标准制订工作;1992年获国务院颁发的政府特殊津贴,1996年获“中华人民共和国有突出贡献的中青年科学技术专家”称号。

上一篇:基于翻译的IPv6过渡关键技术及部署 下一篇:近场通信技术