【IT168 评论】近几年兴起的SDN打破了网络原有的将软硬件捆绑在一个盒子中的状态,试图将软硬件分离,进而实现转发层面和控制层面的分离,最终实现更开放、更灵活、易管理、可扩展的网络。
SDN为人们展现的是未来的一种比较理想的网络形态,实现它的方式有很多种,比如OpenFlow、Netconf、虚拟化软件API等。但一提起SDN,人们第一个想到的就是OpenFlow,它在业界的普及程度也远远高过其他技术。“OpenFlow最大的特征就是协议本身就能控制转发层面,可以高效且严格地实现转发层面和控制层面的分离。”博科公司高级技术工程师谷增云为记者指出OpenFlow如此受欢迎的原因。但是,在SDN网络形态尚不稳定的今天,颇受欢迎的OpenFlow就一定会成为未来网络形态的灵魂技术吗?
用户派和厂商派殊途同归
早在2009年,SDN就被《MIT Technology Review》评为具有影响力的十大新兴技术之一并且引起业界的广泛关注。 而这个理念的提出又与OpenFlow的诞生不无关系。OpenFlow属于下一代网络研究范畴的产物,由斯坦福大学Nick McKeown教授、加州大学伯克利分校的Scott Shenker教授及相关研究团队于2008年的Ethane项目研究成果OpenFlow技术的基础上进一步提升出来。而Ethane项目本意是通过一个集中的控制器来定义基于网络流的安全控制策略,并应用到各个网络设备中,以实现对整个网络通信的安全控制。集中控制、流控制……这都与SDN 的理念不谋而合。
OpenFlow源于学术,不是专为网络虚拟化而生,但是能够为未来的网络虚拟化带来无限可能。全球专家都在关注OpenFlow和SDN的发展态势,据悉,即将于8月底举办的“2013全球SDN与开放网络高峰会议”邀请了业内知名专家共同探讨SDN的发展前景。2011年,开放网络基金会(Open Networking Foundation)成立,专门负责OpenFlow标准和规范的维护和发展,以及推进SDN的商业化。目前,ONF由董事会成员及会员两部分组成,已经出台了OpenFlow1.0、OpenFlow1.1、OpenFlow1.2、OpenFlow1.3、OpenFlow1.3.1等版本,其中OpenFlow1.0、OpenFlow1.3已可商用。董事会成员主要包括部分运营商、互联网及软件公司,包括德国电信、日本NTT、Facebook、谷歌、微软、Verizon、雅虎和高盛等8家成员,会员则包括网络设备商、网络运营商、服务器虚拟化厂商、网络虚拟化厂商、测试仪表厂商等在内的80多家成员。盛科网络CEO孙剑勇曾经在接受《中国计算机报》记者采访时表示,在ONF成员中,用户的声音尤为重要。由于OpenFlow标准的制定者都是网络用户,这决定了他们的标准制定有一些理想色彩。
这样看来,ONF代表的是广大网络用户的声音,将其归到“用户派”可谓实至名归。与“用户派”遥相呼应的是“厂商派”OpenDaylight,该组织成立于4月9日,受到了大多数重量级网络基础设施厂商支持,思科、博科、爱立信、思杰和SDN专业厂商Big Switch Networks等均位列其中。成立之初,该项目主持人Linux基金执行会董事表示,OpenDaylight是一个研发实体,未来将与作为标准化实体的ONF形成互补。他将该团队称为“厂商中立团队”,没有一个成员能够控制整个团队。据了解,OpenDaylight将会基于ONF于2011年推出的OpenFlow协议搭建软件定义网络的部分框架。对此,ONF负责人称,OpenDaylight是站在别人的肩膀上。此外,ONF还发表声明:“作为用户社区的‘代言人’,ONF只支持那些遵守我们指导原则的项目。”
作为在国际上最具影响力的SDN相关的两大国际组织,“用户派”ONF和“厂商派”OpenDaylight的发展轨迹大相径庭。ONF于近日宣布了其OpenFlow测试认证项目的成立,为广大网络设备商提供了证明其产品符合OpenFlow规范的机会,也有利于最终用户加快相关产品的部署。OpenDaylight的进展显然没有这么顺利,其创始人成员Big Switch对于组织“采用思科控制器作为基本代码库启动这个计划”不满而发出抗议,并声称要退出该组织。Big Switch Networks创始人Appenzeller称,OpenDaylight采取的包含思科控制器的方法不是向前发展的正确方法。
ONF和OpenDaylight,一个代表用户,一个代表厂商;一个专注于协议标准的制定,一个专注于探索SDN的商业化发展之路。虽然角度不同甚至对立,但最终都是为了定义API开放接口的标准,使网络更开放、更灵活、更易部署。
谷歌应用已经成熟
谈及基于OpenFlow的SDN网络应用案例,谷增云、孙剑勇、Ixia技术产品经理杨益锋等业内资深人士不约而同地提到了谷歌。“传统的网络设备供应商、运营商、政府、互联网企业和大学及科研机构都在积极参与研究SDN相关技术,研发相应产品。”杨益锋认为,“但是,很多最终用户还在考虑如何部署应用SDN网络。国内运营商尚处于研究和观望阶段,而国际上有些企业已经部署了基于OpenFlow的SDN网络,其中最为成熟的非谷歌莫属。”
为了高效利用耗资巨大的全球范围内的广域网,谷歌率先在其广域网中部署了基于OpenFlow的SDN网络,包括面向互联网和全球12个数据中心之间的网络,所使用的OpenFlow交换机是定制的交换机,芯片全部是商业ASIC,并且部署了集中的OpenFlow控制器,控制器之上运行着诸多应用。这是标准的基于OpenFlow的SDN网络架构。据谷歌首席工程师Amin Vahdat介绍,2010年谷歌开始这个项目的时候,市面上还没有支持OpenFlow的设备,所以使用的相关设备全是自主开发制造的。当然,他对专业厂商的OpenFlow设备持欢迎态度:“如果市面上出现的交换机产品能够提供我们需要的功能,我们会很乐意考虑选择这些产品。”
通过部署OpenFlow、周密的流量工程和优先级安排,谷歌广域网线路的利用率已经接近100%。标准网络协议试图根据本地通信来理解全球网络情况,这意味着如果想要使用标准协议来影响全球策略是根本不可能的,因为没有什么中央控制计划可供使用。OpenFlow则为谷歌提供了一个逻辑上的中央控制计划,使其能够对整个网络架构拥有全球视野,并且可以根据全球网络状态来进行计算和决策。通过这种“全球视野”和精密的流控制,即使网络发生故障时,也可以确保重要的流量传输不受影响。
在谷歌技术基础设施高级副总裁兼研究员Urs Holzle看来,OpenFlow的部署工作比预期顺利。但是,OpenFlow1.0版本也为部署工作带来了困难——不能让用户以简单的方式实现现有交换机的全部功能。当然,这个问题随着OpenFlow版本的演进也在一步步解决。“既要与现有硬件设备的功能兼容,又要突出自己的特色,这是驱动OpenFlow版本演进的主要动力。”谷增云表示。
OpenFlow已经在谷歌的数据中心得到成功应用,这更大一部分原因需要归结于谷歌强大的创新能力,它可以自己构建网络模型,制造硬件设备,这是其他大部分用户不具备的,OpenFlow和SDN在用户中如何推广还是个难题。国内某SDN资深专家告诉记者,现在国内运营商主要专注于NFV(网络功能虚拟化)的研发推广,对于OpenFlow,更关注它在云数据中心的表现。Amin Vahdat在之前受访时也透露了他在运营商那儿得来的消息:运营商认为OpenFlow很难扩展,获益更是难上加难。OpenFlow在数据中心的部署已初现端倪,将来是否能有更广泛的应用,有待考证。
杀手级应用成关键
SDN尽管已经在谷歌得到部署并且效果令人满意,但是想要在全球范围内的用户中推广并不算容易,毕竟像谷歌这样的创新力、财力、物力等兼具的最终用户少之又少。所以,人们的共识是SDN目前尚处于学术研究阶段。“SDN的孕育更多地是从学术界开始,目前正在经历产业界的发酵但尚未深入到用户层面,主要是因为目前SDN技术本身还在发展中,更重要的是缺乏杀手级的应用推动。”锐捷网络研究院SDN研发主管吴航告诉记者。
为了能够更加明确地表示杀手级应用对于SDN的重要性,谷增云举了一个很形象的案例——广告和互联网。“2000年互联网泡沫破灭,后来,用户习惯逐渐培养起来,广告的盈利模式也逐渐确定,互联网开始兴起。”他认为,OpenFlow属于下一代网络架构,但是目前厂商能够为用户提供的产品还不是很完善,不能为用户提供从底层到上层应用的完整的解决方案,杀手级应用更是没有。这些问题加起来使得SDN对用户没有什么吸引力。
要想真正实现OpenFlow的产业化,必须做到以下三点:一、为用户提供完整的基于OpenFlow的SDN解决方案;二、方案和应用要做到极致,保证良好的用户体验;三、向用户灌输OpenFlow的理念,使其对新技术有了解,并在此基础上引导用户在网络分片化的基础上提供增值服务,得到效益。
依靠分离软件,SDN能够颠覆传统网络架构,引发网络产业变革,意义重大但却任重而道远。谈到如何从现有网络过渡到SDN网络,吴航认为:“改造传统网络架构,SDN很难做到一步到位,必然是从局部开始慢慢蚕食传统的网络。例如对于园区网,可以将所有的接入交换机进行OpenFlow改造,受控于SDN控制器,控制器仅需接入设备的功能即可。而在核心、汇聚层还是沿用传统的网络设备。再如,可以将传统交换机上的某些功能采用SDN方式控制,其他功能继续沿用传统方式控制。这样可以更好、更温和地进行网络改造,用户也会在这个改造过程中增强对SDN的信心,进而形成良性循环。”
商业前景为何不明朗?
尽管诞生于学术环境,但在OpenFlow的发展过程中,斯坦福大学的Nick McKeown教授一直以让其实现商用化为目标,所以OpenFlow并不是一个只能存活于“象牙塔”中的标准。ONF目前已经推出了两个可商用化的版本:OpenFlow1.0和OpenFlow1.3。
然而,如果想在实际的商用环境中生存,OpenFlow的现状还不足以让用户感到安心。
首先,尽管ONF推出了被其视为可以长期保持稳定的版本,但从1.0版到1.3版的变化很大。由于基于不同版本设计的交换机难以互相兼容,所以OpenFlow还不具备形成商业标准的先决条件——稳定。ONF这样的标准组织之所以目前难以对产业界产生实质性影响,主要是因为ONF的成员以学术界和用户为主,在标准设计过程中缺乏对传统网络大量研究成果的继承,所以其版本的演进多是在弥补对现有网络和未来网络认知的不足,不管是业内厂商还是用户都难以承担这样的风险。
其次,OpenFlow的功能缺陷依旧很明显,即使在其最新版的标准中,一些传统网络可以实现的功能它还无法实现,对未来网络功能的设计也有很多没有考虑周全的问题,比如OpenFlow控制器的选举机制以及控制器间的东西向协议等。同时,由于OpenFlow 1.3版本之后定义的多级流表机制,使得控制器需要感知交换支持的流表形式,若要兼容多厂商设备,其实现复杂度会大幅增加。
此外,OpenFlow仅是SDN理念实现的方法之一,并非必由之路。OpenFlow当前的优势是,在当前业界的各种标准化协议中,能支持流控制的协议且认知最广的只有OpenFlow。而ONF组织更强调网络开放的标准化,对SDN在产业层面形成规模效应也有积极作用。
所以,当前业界普遍的观点是:将OpenFlow视为唯一有希望的商用标准还为时尚早。如果ONF想成为有影响力的标准组织,它必须和产业联盟有更紧密的结合模式,并且积极推动SDN的产业化。
对SDN产业化的推动力有多大?
如果SDN不能形成产业规模效应,下一代网络一定很难基于SDN理念快速演进。没有统一标准,做大产业无从谈起。ONF组织定义OpenFlow的核心前提是驱动业界提供标准的开放API,这对于生态圈的快速形成,让SDN的思想真正扩大化具有积极意义。但在现实中,ONF却陷入了“理想丰满、现实骨感”的局面。
SDN是一门生意,而OpenFlow只是一种技术。作为标准组织,刚刚起步的它就陷入了与OpenDaylight这类产业联盟的“对决”。尽管OpenDaylight组织成立不久就传出了有成员退出的消息,但这只能证明思科的凝聚力在该组织中出现了问题,却并不意味着这类组织所形成的标准没有取代OpenFlow的可能。毕竟,在对SDN理念的理解和技术实现方面,产业联盟目前的实力更胜一筹,也更适合助推SDN在用户的现有网络中“隐形”演进。
标准化和用户需求相辅相成。谷增云指出,厂商开发产品首先要看客户的想法和需求,如果OpenFlow能解决用户面临的问题,满足应用的需求,各厂商才会跟随OpenFlow做相应的产品。而且,标准要趋于稳定后,才有可能实现产品的规模化。
产业的形成需要依靠整个生态圈的推动。OpenFlow只提出了一种标准,有更多的企业跟随才具有实质性影响。但如果用户仍然不买单,设备厂商和芯片厂商对OpenFlow标准跟随的兴趣就会逐渐变淡。况且,OpenFlow还必须面对另一个残酷的现实:依靠商用芯片的设备厂商,目前在整个网络设备市场的份额仅有10%,90%的市场被思科、华为、Juniper这些有自主研发、生产芯片的能力的设备厂商所占。在产业前景不明朗的情况下,商用芯片厂商也很难有动力去开发支持OpenFlow的芯片。目前,除华为积极参与到ONF组织中外,思科和Juniper已加入另一阵营,Juniper表示,他们将成为去OpenFlow的支持者。
杀手级应用在哪里?
“如果有杀手级应用,OpenFlow的产业化会很快。”谷增云认为,OpenFlow的产业化并非没有可能,它需要业界在实验网络及用户需求的演进中找到“非常重要”的应用。除谷歌基于OpenFlow实现了业务运营网络的改造且获得成功外,业界目前可以参考的OpenFlow案例非常有限。而事实上,像谷歌这类具备强大技术研发、整合能力的“用户”也很少有。
OpenFlow所遇到的问题和发展了多年却依然难以崛起的IPv6一样,缺乏杀手级应用刺激SDN的规模化应用。“只要能用传统方案解决问题,用户就会认为没有必要冒风险。只有用户确实感受到SDN对其企业、对其业务可以带来巨大变化,让其尝到了传统技术无法带来的好处,SDN才能得到规模化的应用。”H3C专家遇惠军如是表示。
谷歌在其广域网的流量工程中,引入了对OpenFlow的尝试,是因为流量控制与其业务具有强相关性。高效流控是OpenFlow的一大优势,传统的路由协议是选择最短路径传输报文,高峰期时同一路径流量超过带宽,就会导致拥塞、丢包,影响业务。广域网的流量是一定的,想获得同等条件下更高的带宽利用率,必然需要具备实现路径重新定位的能力。谷歌对OpenFlow的实践,让其获得了流量识别能力,判断这些流量有什么用,是否来源于需要即时反应的应用,借此为流量设置传输的优先级,为不紧急的流量重新分配路径。由此可见,对谷歌这类互联网公司而言,流量控制可以被看作是OpenFlow的杀手级应用。
但国内的运营商目前还没有出现类似谷歌这样的需求,因为其业务还没有与用户的应用强相关。但未来,随着业务的发展,运营商可能会提供不同质量的带宽保障服务,这就会对OpenFlow产生业务级的强烈需要。
另外,云服务对传统数据中心的冲击主要来自于资源大集中后,虚拟化技术的规模化应用解放了物理资源,虚拟机的迁移使资源调配的灵活性更强,但传统网络却无法支撑这样的灵活性,令网络成为云计算数据中心的桎梏。网络策略不能动态跟随,就会影响业务的连续性。而随着数据中心规模的增大,管理和运营也会遇到很多挑战,SDN全局集中控制的理念可以更好地实现网络配置的自动化。这也是OpenFlow杀手级应用的落脚点之一。
在谷增云看来,杀手级应用的出现是有前提的。一定要先通过OpenFlow做到灵活控制网络,努力做好网络的分片化,然后再引导用户在网络分片化的基础上提供增值服务。
对未来网络的影响有多大?
用户对网络的实际需求完全靠OpenFlow还很难满足。但是,OpenFlow确实让业界对SDN的构想快速形成了共识。即使是与其存在“竞争关系”的OpenDaylight,也是以ONF组织提出的模型为基础对SDN展开研究的。
对整个产业界而言,最具价值的或许并不是OpenFlow,而是SDN的思想。它像是打开了潘多拉魔盒,给产业界、IT服务商和初创公司带来了可以展开无限遐想的机会。甚至过去相对封闭的传统网络厂商,在这两年也经历了从“被动抗拒”到“主动拥抱”的态度转变。完全根据OpenFlow定义的多级交换机对现有的网络芯片会产生较大影响,毕竟原有的网络芯片固化了太多的网络协议实现细节,其处理流程也更适合于传统分布式协议的网络控制方式。
吴航指出,首先,基于OpenFlow构建网络必须要考虑接入客户端以及现有网络的兼容性。因此,未来的OpenFlow交换机并不会完全摒弃现有的架构,而是会对现有芯片架构进行改良,借此赋予网络协议开发更多的灵活性和通用性。其次,基于OpenFlow构建的网络还会遇到单点性能瓶颈的问题,同时设备间的数据一致性和报文处理响应延迟也会存在较大问题。再从网络安全设备的性能上来看,若都采用OpenFlow实现方式,大部分数据报文都要被触发到控制器进行处理,这不仅增加了响应延迟,同时也会带来管理网络的瓶颈问题。此外,基于OpenFlow构建的网络存在管理和数据转发两张网的问题。管理网是基于TCP协议进行OpenFlow协议传输的,为此用户在构建OpenFlow网络时通常需要铺设两张网络,并且还可能增加了网络故障点和管理复杂度,推广起来很有难度。这些都是今后在OpenFlow网络实践过程中需要克服和面对解决的。
OpenFlow的网络功能更多依赖于控制器Controller上的网络APP,但哪些APP是必要的,哪些又是改变现有网络控制协议的,有赖于实际的应用场景。但目前,SDN网络典型的商用场景尚不明确,即使明确的也可以通过其它技术替代,而且控制器上的网络APP及基于北向接口开发的APP不够丰富。同时,控制器之间的东西向协议目前也尚未定义,如何保证网络控制面的流表及状态等数据一致性,还需要进行技术攻关。
离用户需求有多远?
SDN早期的研究者Casado等人萌生的交换应该基于通用流表来转发的思想,就是来源于实际应用需求。Casado等人在支持Federal DOD网络时发现,在保护有关国家安全和人类生活的重要信息时,难以实施安全策略和灵活的路由,部署新的应用时也要花费很大力气。为了提高网络配置管理效率和安全策略部署的灵活性,他们想到了交换设备的流转发和安全行为应该可以通过标准开放的接口来定义。从最终用户的需要出发,既是SDN的灵魂,也是OpenFlow的灵魂。
和OpenDaylight不同,ONF组织是绝对的“用户派”,它和今天的很多开源组织一样,以“不再被厂商绑定”为信念,希望按照用户的需要制定行业标准。从OpenFlow当前的发展来看,OpenFlow协议已能经支持局域网、广域网L2、L3等报文转发。其中,OpenFlow 1.0版本面向的是校园局域网,定义了单级流表、L2 IP报文匹配;OpenFlow 1.1版本进入到城域网和广域网市场,支持多表、MPLS标签/隧道、VLAN、组播表和ECMP等;OpenFlow 1.2版本,针对性能问题和与现有网络兼容问题,定义了扩展匹配机制、通用匹配和动作Instruction集,并支持IPv6基本协议;1.3版本支持流水处理的多级流表和与多控制器间的并行通道,流表的匹配通过TLV可扩展自定义,增加每流度量和每连接事件过滤等。对用户而言,SDN的价值主要有三点:开放接口、网络虚拟化和集中控制。OpenFlow目前的指导性作用主要聚焦于集中控制,还不能兼容用户的现有网络,实现平滑过渡。如果全部理想化地采用SDN的控制分离架构,中间用OpenFlow进行控制,目前连继承现有网络的功能都很难实现。
基于这些问题,ONF作为标准组织的价值多少会有些降低,一些用户甚至认为OpenFlow当前的价值仅剩下了“最终能让开放接口统一标准,不受设备厂商制约”,而非解决他们最关心的问题。而且,即使没有OpenFlow,网络也可以实现可编程和集中控制的目标。基于传统的网络架构,主流网络设备厂商所提供的开放API方案就可以做到这一点。遇惠军告诉记者,目前开放API方案对用户而言反而是解决其问题的更成熟的技术,因为在其上运行的网络协议都是经过长久实践的检验和证明的,用户的接受度更高。目前来看,这种方法唯一的局限性就是各厂商操作系统不统一带来的开放接口难以标准化的问题。除了对标准化更看重的运营商外,当前互联网企业还没有对此表现出强烈要求,他们更在乎如何解决网络运营的问题,只要厂商能提供额外的开放接口,赋予他们更强大的管理网络的能力,大多数用户会认为没必要因为跟随OpenFlow而采购新的设备。