你肯定听过,但这个值得反复强调,即网络是私有云中的瓶颈问题。现在,服务器和存储技术已经发展成共享资源,云管理员可以自由地调用这些资源,但是网络却仍然是手动的。为了提高灵活性,私有云网络必须进行虚拟化,而软件定义网络(SDN)是一个性价比不错的方法。
“企业需要像服务供应商一样,为内部客户迅速做出反应。为此,企业需要启用自助式IT,而实现这一目的的最大障碍就是网络,”正在开发基于SDN网络虚拟化技术的日本初创公司Midokura的首席战略官Ben Cherian表示,“具备CCIE资格认证的很多员工可能花了数周时间才对交换机和路由器做出些许改变,而与此同时,在很多情况下,云服务供应商只需要一个按钮就可以进行更改。”
从本质上讲,SDN技术从单个网络设备的数据转发平面解耦和集中了控制平面。通过集中控制平面(通常位于基于服务器的SDN控制器上),网络变得更加可编程化,而这将创造一个更动态和可靠的私有云网络。
“我们经历的大部分中断都源自于人为配置错误,”肯塔基大学网络架构师Brent Salisbury表示,“如果我们能够让网络更改变成可编程且可更新的,这将为我们创造很大的价值,同时避免人为错误。”Salisbury一直在其测试和开发环境测试SDN与私有云技术。
OpenFlow协议是解耦和集中网络控制平面的最知名的方法,但主流商业版OpenFlow友好型交换机的可用性很有限,并且,目前世界上最大的交换机供应商思科公司的大多数数据产品还没有支持这项技术。因此,SDN供应商采取了不同的方式来将这项技术推向市场。例如,美国NEC公司为其OpenFlow控制器制造了自己的交换机。而另一方面,Big Switch Networks和Nicira Networks(最近被Vmware收购)则是通过集中基于管理程序的虚拟交换机的控制平面来创建SDN覆盖,然后通过采用VXLAN(虚拟可扩展局域网)和NVGRE(使用通用路由封装的网络虚拟化)等协议的物理网络来进行通信。
某公司基于SDN的私有云网络
荷兰IT管理和咨询公司Schuberg Philis曾面临私有云网络问题:该公司通过灵活的计算资源池建立了内部云,但却手动配置的网络。Schuberg Philis公司关键任务工程师Hugo Prippaers表示:“很长一段时间以来,我们都是通过虚拟主机来建立私有云,虚拟主机具有很大的灵活性,但每次我们开始使用这种灵活性时,我们都发现我们不得不求助于网络工程师,‘在我们使用云服务之前,我们需要另一个虚拟局域网络或者另一个VLAN中配置的另一个端口’。”
现在,该公司正在基于SDN技术来构建其内部云。这种新的云基础设施包括一个高速2层网络,Arista交换机和Nicira的网络虚拟化平台(NVP)。该公司从小处入手,配有双10千兆位以太网Arista交换机的两个服务器机架,交换机都上行链路到一对列末交换机。
Prippaers表示:“在物理网络使用Nicira解决方案,你唯一需要做的事情是快速交换,而Arista是我们发现的最快的交换机,它是一个完全平面的2层网络,只有很少的VLAN来连接到公共互联网。”
Nicira的NVP技术在服务器机架中的管理程序主机上的虚拟交换机和物理2层网络之间形成了一个SDN覆盖,这个网络覆盖将2层网络作为IP骨干,让3层网络流量和其他网络服务通过它。因此,Schuberg Philis管理员可以在启动云服务时通过单击按钮来更改SDN覆盖,而无需对底层物理网络进行更改。
“通过Nicira解决方案,网络人员可以按照我们想要的方式来建立整个网络基础设施,而无需重新配置物理设备,这为我们节省了很多时间,”Prippaers表示,“我们的网络工程师现在能够专注于网络的核心工作,确保互连的完善以及2层网络交换的速度。他们现在只需要关注最重要的事情,而不再是更改端口配置等琐碎的事情。”
SDN云网络:编排需要北向API
虽然SDN技术可以虚拟化网络以及简化私有云中的网络管理,但网络操作仍然可以与云基础设施团队的其他工作保持分离。专家称,为了简化操作,SDN必须集成到云编排框架中。
451 Group网络研究主管Eric Hanselman表示,SDN中管理起来可能更复杂,“在较低水平,OpenFlow可用,但对于Big Switch、NEX和Nicira,真正的价值在于较高层控制能力。没有人想要通过数吨的Python脚本来进行网络控制。如果你希望SDN成为顶层控制环境的一部分,只有将SDN集成到较高水平才能发挥真正的价值。”
管理OpenFlow发展的开放网络基金会(ONF)最近承认了这种集成的必要,他们宣布将其SDN标准化范围扩展到专注于北向API。OpenFlow被认为是一个南向协议,它允许SDN控制器与下面的交换基础设施进行通信,并且控制这些基础设施。但北向API是连接控制器到应用以及上面的编排框架。例如,北向API允许云编排系统通过OpenFlow控制器来操纵网络。
Hanselman表示:“OpenFlow承诺应用基础设施本身(无论是实际应用还是启动应用的管理环境)将能够动态控制网络的配置、连接方式、以及分配什么样的功能和容量。我们必须采用可编程的方式将网络资源与计算和存储一起分解成可消耗的资源,并且这完全不需要知道硬件是什么”肯塔基大学的Salisbury表示,“我们并不是打算在SDN中开始编程静态流,但这比静态路由更糟糕,即一百万倍的细粒度化,我认为北向应用是将SDN集成到云编排的唯一方式。”
Nicira加上OpenStack来应对多租户私有云网络
为了解决其私有云中北向API的问题,Schuberg Philis集成了Nicira的技术与CloudStack—由Citrix公司创建的开源云编排框架。这种集成允许该公司在其私有云中创建和管理多租户网络。“通过云管理系统,我们可以创建多租户环境,每个租户都能够创建多个网络,”该公司的Prippaers表示,“我们集成了Nicira解决方案,这样,CloudStack提供给你一个网络,然后它使用Nicira的API(应用编程接口)来创建逻辑交换机。接着,网络中启动的每台虚拟机将被分配一个逻辑端口,并且连接到虚拟交换机。”
具有专有SDK的可编程性是可行的,但SDN更好
多年来,网络供应商尝试过提供某种程度的可编程性—通常是通过建立在其操作系统上的软件开发工具包(SDK)。例如,思科的SDN战略包括One Platform Kit(onePK),这是针对其所有网络设备的SDK,它有可编程性。然而,Salisbury不想要基于“运行在专有硬件上的专有软件中的专有API”的可编程云网络。
Salisbury表示:“通过OpenFlow,现在你将对转发平面拥有更好的能见度和更多控制。”他希望思科和Juniper等公司能够完全支持OpenFlow,以便让客户自由地建立他们想要的网络。他指出,在这方面,谷歌并没有坐以待毙,而是建立了自己的OpenFlow设备,包括交换机和控制器等。
有些人怀疑SDN集中化概念
对于OpenFlow支持,整个行业一直比较保守,因为SDN中控制平面的集中化问题仍然存在疑问。一些供应商和网络工程师质疑集中化控制的可扩展性和安全性。Salisbury表示:“一些供应商始终保持分布,因为他们认为集中化就是行不通。”但他指出,在无线LAN市场,集中的基于控制器的网络似乎很好用。对于Salisbury而言,现在的网络架构过于复杂,而无法满足私有云环境的需求。
“我们采用互联网的架构,将其应用到企业网络,”Salisbury说:“我们采用互联网巨大的协议堆栈,以及巨大的分布式计算模型,心想,‘这适用于成百上万的自主管理域,我们将相同的架构放在一个管理域中应该可行。’但这变得非常复杂,我认为SDN是不可避免的,我们已经落后10年,现在我们得到了发展路线图,唯一的问题是,我们能比x86市场更快地实现这一目的吗?”