瞻博分享
BobMuglia
Visitor
‎01-30-2013 03:39 AM
‎01-30-2013 03:39 AM

在过去的一年中,软件定义网络(SDN)一直是网络界的讨论重点。但从很多方面来说,网络一直被软件定义着。软件渗透在所有影响我们生活的技术中,而网络也没有什么不同。然而,网络受软件配置、交付和管理方式的限制——从字面上来说,就是需要通过在1980年代微型计算机和DOS时期使用的命令行进行整体更新和管理。

 

网络软件的挑战

 

在行业中,网络软件一直是创新的累赘。因为每一个网络设备必须单独配置——通常是手工完成;就是指通过键盘——网络无法跟上现代云系统所需的快速变化。亚马逊或谷歌等互网络公司投入数百名工程师建立自己的云系统,以作为应对网络配置的解决方案。但对于大多数企业来说,建立自己的私有云不是一个合理的方法。随着虚拟化和云计算彻底改变了计算与存储方式,网络已经远远落后。

 

在服务供应商的环境中,配置和管理自己的网络往往使运营商焦头烂额。就像谷歌,他们也为配置自己的网络建立了运营支持系统,但这些系统就像用了20多年之久,常常因网络软件带来的负担而崩溃。对于服务供应商来说,网络是他们的业务,为了实现新的业务机会,他们必须向网络供应商推出新的功能。于是,网络软件再一次使网络行业败象毕露——被开发为一个整体式嵌入系统,而不具备应用程序的概念。每一个新功能都需要软件堆栈的整体更新。想象一下,这就像每一次加载新应用都需要更新智能手机上的操作系统。而这就是网络行业强加给其客户的。更糟糕的是,每一次更新往往带有很多其它的变化——这些变化有时候会产生新的问题。因此,在引进到网络之前,服务供应商必须认真、彻底地测试每一个更新。

 

什么是SDN?

 

企业和服务供应商都在寻求应对网络挑战的解决方案。他们希望网络能根据自己的业务政策进行动态的调整和响应。他们希望这些政策能实现自动化,从而减少手工作业和运行网络的人员成本。他们希望能在网络内部和顶部快速部署和运行新的应用,以便能够交付业务成果。同时,他们希望以一种在引进新功能的同时无需中断业务的方式做到这些。这是一项艰巨的任务,但SDN有希望为这些挑战提供解决方案。SDN如何做到这一点?为了解码并理解SDN,我们必须理解网络软件。从这样的认识中,我们可以推导出解决这些问题的原则。这就是SDN的全部意义所在。

 

以下是SDN的六个原则及相应的客户利益:

 

1. 将网络软件清晰地划分为四个层:管理、服务、控制和推进——提供支撑架构来实现网络内每一层的优化

2. 将管理、服务和控制软件的相应部分进行集中化处理,以简化网络设计并降低运营成本。

3. 使用云来获得弹性扩展和灵活部署,推动基于使用的定价机制以降低维护时间,并将成本与价值关联

4. 创建一个平台,用于网络应用、服务以及与管理系统的整合,推动新的业务解决方案。

5. 推动协议标准化,实现供应商之间的互操作和多样化支持,提供更多选择并降低成本。

6. 将SDN原则广泛应用于所有的网络和网络服务中,包括网络安全——从数据中心、企业园区到服务供应商使用的移动和有线网络

 

网络的四个层

 

在每一个networkplanes.jpg网络和安全设备——每一个交换机、路由器和防火墙——中,你都可以将软件划分为四个层。当涉及到SDN,这些层需要更清晰地理解和划分。为了建立下一代高度可扩展的网络,这是绝对必要的。

 

推进。底层是推进,负责在路线上完成发送网络数据包的繁重任务。底层经过优化后能以尽可能最快的速度移动数据。推进层可以在软件中实现,但通常是用以此为目设计的专用集成电路(ASIC’s)构建的。第三方供应商为交换、路由和防火墙市场的某些部分提供ASIC’s。对于高性能和高标准的系统,推进ASIC’s趋向于专业化,而每个供应商的实施情况则具有差异性。有人猜测,SDN会将交换、路由和防火墙硬件商品化。然而,数以千计的新消费和商业应用产生了对网络容量似乎永远无法满足的需求,这些需求为硬件和网络系统的差异化创造了重大的机遇。实际上,通过开放创新,SDN将与这些由供应商建立的系统产生更多的差异。

 

 

控制。如果推进层是网络的肌肉,那控制就是大脑。控制层了解网络的拓扑结构,并对网络流量的走向作出决策。控制结构如同交通警察,理解并解码网络协议,确保交通能顺畅运行。非常重要的是,通过与其它设备中的对应物沟通,控制平面能知道一切需要了解的有关网络的内容。这就是帮助互网络应对故障的魔法,即使像桑迪那样的大风暴破坏了数以千计的网络设备,网络也能保持流通。

 

服务。有时候,网络流量需要更多的处理过程,而服务层就负责这方面的工作。并非所有网络设备都有一个服务层——简单的交换中不会有这个层。但对于许多路由器和所有防火墙来说,服务层负责深层次的思考,对网络数据进行推进硬件无法完成的复杂操作。服务层就是防火墙拦截坏蛋并执行家长控制的地方。它可以在支持智能手机浏览网页或缓冲视频的同时确保正确地对权限计费。服务层的创新时机已然成熟。

 

管理。如同所有的电脑,网络设备需要配置,或管理。管理层为网络设备如何与网络的其它部分互动提供基本的指导。控制层能从网络中自学到一切所需的东西,而管理层必须被告知该做什么。当今的网络设备通常接受单独配置,常常通过一个仅少数网络专家理解的深奥的命令行界面(CLI)进行手动配置。手动配置会频繁产生错误,这些错误有时会产生严重的后果——切断整个数据中心的流量或阻断一个跨国网络公路的流量。服务供应商担心挖土机会切割光纤电缆,但更常见的是,工程师在复杂的CLI上配置网络路由器或安全防火墙时出现的一个简单的错误导致电缆被以一种虚拟的方式切断。

 

networkdevicessmall.jpg

推进层采用具有特殊用途的硬件完成工作,而控制、服务和管理层能在一个或多个通用计算机上运行。这些的复杂性和类型有所不同,从消费设备中非常便宜的处理器到用于大型运营商级系统的高效高端服务器。在当前的所有情况下,这些通用电脑使用的专用软件具有固定的功能,专门用于完成手边的任务。这种不灵活性正是人们对于SDN产生兴趣的根源。

 

 

 

如果现在通过软件进入路由器或防火墙,你将找到全部四个层。但现在软件上的网络代码是整体建立的,不具备层与层之间清晰的定义界面。我们现在拥有的是安装了统一软件,必须手动配置的独立设备。这使一切在实际操作上变得更难。

 

集中化

所以如果今天的网络软件是问题的根源所在,那么改进软件则是前方出路,而且也恰恰是软件定义网络(SDN)的用武之地。我们如何能够从今天的网络软件转变为现代架构?首先,我们要看看云供应商采用何种方式构建软件。亚马逊、谷歌和脸谱网采用多机架式工业标准x86服务器,这些服务器上运行的软件可以在需要增加运算能力时增加服务器,以实现横向扩展。现代高可用性系统正是通过使用行业标准的x86硬件和横向扩展软件而建立起来的。

 

SDNtablechinese.jpg与大多数的云应用不同,网络具有天然的分离性。这恰恰是网络的特点——将数据从一处转移到另一处。所以虽然脸谱网可以在为数不多的大型数据中心运行,但是网络是分布式的——遍布整个数据中心、在一个校园内、在一座城市中。如果是因特网,则会覆盖全球。因此,网络的建立始终是一系列相互分离、各自独立、单独管理设备的集合。但是,集中化具有强大的生命力;这正是SDN的关键原则,并且将集中化应用于网络软件再合适不过。然而,过犹不及。只有在高度互联、高度调节的地理区域内,例如,在一个数据中心,在校园当中,集中化才能实现,对于服务供应商来说,则只有在一个城市内,集中化才能发挥作用。即便是在这种集中化的情况下,网络设备本身仍然是分布式的,并且他们必须具有局部智能。

 


当您将集中化的概念引入到网络软件当中时,四个控制平面就会略有调整。不管分布式的设备数量有多少,您都希望将网络作为一个系统来管理,而集中化管理则会代您完成这项工作。当您实现集中化管理时,那么这个时候它就成了配置主机;所有的设备只保留一份副本。这和出版物与智能手机以及平板电脑之间的相互作用相似。如果您在iPad上运行《纽约时报》应用,它会显示今天的报纸内容。在这一天中,它会始终检查更新,并且在出现更新后开始下载。这和集中化管理的运行方式相类似;全部真相会留在数据中心,而且在网络设备当中只存储了一组配置数据。

 

服务向来是在每个网络和安全设备内部提供,而通过利用SDN,则可以将服务转移到中心,由中心为所有设备提供。然而,这只有在高度互联、高度调节的地理区域内方能实现。如果您正通过智能手机登陆因特网,那么您希望的是从所在城市进入因特网高速公路,而不是在所在国家某个不方便进入的地方半路插入。

 

当SDN成为画面的一部分,并且有些要素已经集中化,那么此时控制平面修改起来会相当复杂。控制平面好比是指挥交通流量的警察。控制平面工作方式是,每个网络设备和与其直接相连的网络设备进行对话。它们会告诉对方自己对这一网络的认知。可以将其想象为电子版的烟雾信号。每个设备将有关网络的信息传递给下一个设备。在高度互联的网络环境里这种传递进行得相当顺利。网络界多年的工作积累可以保证,即使出现故障,网络仍然能继续运转。当一个主路由器掉线时,网络设备之间仍然存在着“低声交谈”,它们会迅速调整自己对整个网络的认知,并且使您始终保持连接。

 

但是有些时候,总体宏观地监督流量也很有意义。这正是集中化控制器的意义所在。集中化控制器对于整个网络有着宏观的把握,可以把各种要素连接在一起,优化整体流量。

 

在SDN世界里,转发层是一种始终处于分布式状态的平面。之所以可以如此,是因为转发层实际上就是负责移动数据——而这理所当然的属于分离式结构。

 

从现在到未来

那么,我们如何实现从完全分散的网络向SND集中化的新转变?我们不能一切重头开始,因为网络已经积极运行,必须在SDN引入后继续运行。这样看来,SND更像是一种改造,需要一步一个脚印。像大多数改造一样,获得SDN结果的途径不只一个,但要达到目标需要采取一系列合理的步骤:

 

Step1.jpg步骤1:管理是最好的开端,因为它能带来最大的收益。其关键在于将网络管理、分析和配置功能集中化,通过总体控制来设置所有的网络设备。这既可以降低经营成本,又可以使客户从网络中获得业务洞察。

 

管理集中化分为几个部分,每个部分都意义重大。首先,你需要建立一个集中管理系统。和云应用程序类似,这个集中管理系统被封装于行业标准服务器上运行的x86虚拟机(VM’s)内。这些虚拟机通过常用编制系统,如VMware的vCloud Director、微软系统中心或OpenStack来协调工作。

 

服务供应商方面,其操作和业务系统连接于集中管理虚拟机上,虚拟机负责配置网络。同样,在数据中心内部,同一个数据中心协调系统(VMware vCloud Director、 OpenStack等)可以直接管理网络。

 

配置是通过已发布的API和协议进行的,而这些协议通常符合行业标准。由于SDN还处于初级发展阶段,仍有新的行业标准协议产生,但重要的是,随着SDN发展,标准将最终逐渐创建出来。

 

网络和安全设备产生大量的网络相关数据,而通过分析数据可以了解很多情况。正如其他方面的业务一样,应用于网络和安全数据的“大数据”分析技术可以改变我们对业务的理解。

 

要建立应用程序平台,首先要把管理从网络设备转移到集中服务中来。当务之急是简化企业和服务供应商操作系统的连接。当然,随着平台的形成,新的应用也会随之出现。分析可以帮助我们深入了解网络内部情况,从而实现更好的业务决策和新的应用程序,以动态调整基于商业政策的网络。集中管理则可以加速改变,让服务供应商有机会尝试新的应用程序、新的软件包和方案,迅速决定取舍。实际上,正如我们近些年来所接触的其他新平台一样,一切可能性都会存在,而最有意义的应用程序只有在平台就位后才会产生。

 

Step2.jpg

 

 

步骤2:服务在网络中远没有得到应有的重视,因此通过创建服务虚拟机把服务从网络和安全设备中抽离出来至关重要。通过行业标准的x86硬件并根据解决方案的需求,实现网络和安全设备的独立扩展。

 

通过现代x86虚拟机提供服务的平台创建为我们开辟了一个充满可能性的新世界。例如,当今的安全防火墙的能力完全被单一网络设备的通用处理能力所限制,而推进层面则要快一个数量级以上。因此,如果把安全设备从中抽离,然后在廉价的x86服务器上运行,便可以极大地提高其容量和灵活性。

 

首先,你可以把这些服务“拴在”或连接到一个单一网络设备上,把x86服务器并列放在网络设备旁边,或者作为服务器叶片装载在同一个网络设备中。无论采取哪种方式,都有可能创造出一套全新的网络应用程序。

 

 

Step3.jpg

 

 

 

 

 

步骤3:集中化控制器的创建迈出了重要一步。它可以在将网络内的多个网络和安全设备进行串联。这种方式被称为“SDN业务链”,即通过软件将业务虚拟化插入网络流量。现在,借助分离式网络和安全设备业务链功能基本能够在当今的现实场景得以实现。当今的业务链所采用的物理方法实际上相当不成熟;分离的设备通过以太网电缆连接到一起;每个设备必须单独配置,以建立业务链。有了SDN业务链,网络便可以联机重新配置,动态响应业务需求。SDN业务链将大大降低客户用于设计、测试和交付新网络和安全业务的时间、成本和风险。

 

 

 

 

 

 

SDN业务链的使用分几种情况。第一种是因特网和Web服务器之间的云数据中心连接。在这种情况下,状态防火墙服务保护应用程序,应用交付控制器用于保持web服务器中多个单位间的负载平衡。SDN业务链允许链内服务按需求弹性扩展;SDN业务链可随服务流动动态调整链接。

 

                                                      SDNServiceChain1small.jpg

 

 

SDNServiceChain2.jpg第二种情况是云应用程序内两个组件间的连接,即web服务器和中间层应用程序虚拟机间的连接。应用程序组件间的通信必须与云数据中心内其他通信相隔离,需要平衡应用交付控制器服务的应用程序负载。在SDN业务链中,所有事务都是在软件中完成的,业务链形成了一个虚拟网络,其端点由服务器管理程序内的虚拟交换机构成,运行虚拟机的应用程序。当数据中心协调系统把虚拟机从一台物理服务器转移到另一台服务器时,SDN业务链会动态调整链中的链接。当然,SDN业务链下还有一个物理网络,但它并不需要在SDN业务链发生改变时重新配置。

 

 

尽管在前两种情况中,SDN业务链应用于云数据中心,但第三种应用是完全不同的领域,即移动服务供应商边缘。在这种情况下,网络流量来自移动电话发射台,穿过边缘路由器,然后一系列处理步骤才可执行。封包核心网路从连接到移动电话发射台基站的网络隧道中提取网络协议(IP),这一网络通信便立即通过状态防火墙进行分析和保护。深度包检测用于确定通信量流动模式,并生成分析信息。政策计费&执行功能用于执行用户政策,如加强高级用户的服务质量等。最终,通信流流向 因特网,运营商级网络地址转换(NAT)为此通信提供IP地址。

 

                                                      SDNServiceChain3.jpg

 

 

在第三种情况下,SDN业务链的两个端点均由边缘路由器构成。虽然移动服务供应商边缘的特定应用程序与数据中心非常不同,但SDN业务链结构是完全一样的。

 

SDN业务链大大提高了业务部署的灵活性。最重要的是,SDN业务链可以独立于业务对其网络和安全设备进行管理和升级。有了SDN业务链,业务就像你智能手机上的应用程序一样,新业务安装后网络仍然可以操作。这在现有情况下是一个巨大的进步,升级是对现有状况的高度重塑,因此需要巨大的关注和规划。

 

SDN业务链是一种创新,因此对现有协议的扩展和新协议的增加是必不可少的。重要的是,这些协议将确立行业标准以满足多厂商间的互通性。

 

Step4.jpg

 

步骤4:优化网络和安全硬件的最后步骤可以和其他三个步骤同时进行。由于业务是从设备中分离出来的,并且SDN业务链已经建立,网络和安全硬件可以用于优化基于解决方案需求的性能。网络和安全硬件将继续提供10倍或更高的转发性能,远远超过软件自身的能力。优化的硬件与SDN业务链相结合,能够帮助客户建立最好的网络。

 

四个层面的分离有助于识别功能,以优化转发硬件。这也为ASIC’s内部创新,以及网络和安全设备的系统设计开发了巨大的潜力。虽然x86是通用选择,但网络设备内部的ASIC’s优化可在极高的速度推进网络通信。硬件将更加功能强大——每次从软件向ASIC的传送,其性能都可以达到原先的10倍甚至更高水平。这就要求ASIC设计、硬件系统和团建本身之间要密切协调。随着SDN的日益普及,硬件性能的优化将为网络和安全系统供应商创造出更多机会。

 

 

 

 总结

SDN是网络和安全行业的重大转折点,其影响要远远超过数据中心,也远远超出了人们的预期。SDN将创造新的赢家和输家。我们将目睹新公司脱颖而出,也会见证老公司的挣扎与转型。但正如任何重大的行业发展趋势一样,客户是最终的受益者,而我们面临着重要的转折——技术转移势在必行。

 

 

The English version of this blog can be found here.