什么是软件定义网络?

软件定义网络(Software-Defined Network),又有人称为可编程网络,就是将网络设备配置平面从嵌入式节点独立出来到软件平台,由软件驱动的中央控制平台自动化控制网络架构服务。软件定义网络是新的网络控制平面实现方法,它适应了降低网络复杂度、虚拟化和云计算的网络需求。它的发展是对传统网络厂家封闭、专有、不够灵活的控制平面技术所产生的“破坏性创新”,将对网络厂商的变革产生巨大推力和影响。控制平面和转发平面分离,转发平面特性减少,专注而简单,减少了设备硬件从而减少了资本性支出(CapEx),运营性支出 Opex的减少是因为集中的、横向扩展和自动化简化了网络运行管理,减少人工支出。

 

图1 软件定义网络示意图

实际上,软件定义网络的核心技术本身并没有什么创新,传统交换或路由设备也都有独立转发平面或强大控制平面,只不过传统模式的转发平面是通过在同一个机箱的不同接口模块去完成,控制平面由机箱的路由交换模块完成,缺点当然是开放性不够、及时响应动态变化的能力有限,如图1所示。原因是比如设备无法做到第三方编程自动化集成,每个设备需要单独维护自己的地址表,有限的CPU和内存却需要全网实时计算和动态处理。

传统网络每个设备多少有点儿智能,但是非常有限,它们只能根据本节点的进出数据流做出被动响应,无法知道其他节点的动态状况。各个网络节点离散式自我控制,只见个别树木或树叶,没有大家统一协调的控制平面,不见整个网络森林,所以对整个网络来讲,尽管实现了动态路由协议,其架构基本是固定和静态的。传统网络所谓动态调度实现基础也就是二层和三层实现链路资源动态分配,而对于四到七层与二三层是否相匹配而进行调度,则心有余而力不足。即便有折中解决方案,也需要在固定位置安装昂贵的负载均衡或安全设备。

理想的软件定义网络模式下,独立的离散式智能从分支节点上回收到中央控制节点,中央枢纽保持全网流量监视和控制,从OSI 2层到7层实时把握网络整体状况,即时控制和调度,建立强大的中央智能,对全网和100%垂直完整做出有效反应。在软件定义网络环境下,中央控制节点可以根据相应算法、逻辑、分析和规则,以软件定义规范方式将配置信息推到交换和路由节点,完成路由或交换从中央控制节点接受特定格式指令规则过程,交换和路由节点更新数据转发平面落地规则,完成数据转发。中央控制节点针对每个细分的网络路径,按照一条条“信息流”细分,每个“信息流”数据落地转发由每个特定交换或路由节点完成。当计算或存储资源变化时,中央控制节点根据分析结果重新调整节点配置规则,这样就实现了虚拟化和云计算网络所需要的自动化和精细化动态配置管理。

常见的专有软件定义网络有VMware vSphere体系架构。vShpere可以通过虚拟化交换机控制平面管理VLAN、QoS和ACL策略,网络厂家根据API开发与专有固件互动功能,当虚拟机移动或变化时,vSphere指挥网络节点调度网络资源。Dell Force10边缘交换机FTOS也支持VMware和Citrix平台,可以安装相关插件到虚拟操作系统,实现应用和工作负载感知,当虚拟控制平台移动虚拟机时,通知插件以Hyperlink方式在目的交换机FTOS上运行配置脚本,自动配置与虚拟机所匹配的网络资源。另外Cisco Nexus 系列、Juniper QFabric也可实现类似的专有架构。

OpenFlow开源软件定义网络

自从开放式网络基金会Open Networking Foundation(ONF)今年成立以来,OpenFlow得到主流网络厂家追捧,尤其是今年六月在Las Vegas召开的Interop 2011大会上,OpenFlow可谓是大出风头。究其原因,其背后的基本理念是软件定义网络。OpenFlow规范实际上是一整套软件应用程序接口,OpenFlow网络控制节点可以通过规范与支持OpenFlow交换节点沟通配置信息,决定数据转发平面的转发表,控制器与转发节点间通过SSL加密传输,如图2所示。OpenFlow支持定义的“信息流”包括从1层到4层的信息,和与之对应的动作配置,如图3所示。

 

图3 OpenFlow“信息流”定义

OpenFlow独立控制平面的出现,使得TRILL或最短路径桥接(Shortest Path Bridging)协议变得不是那么重要,因为OpenFlow控制器可以拥有有全网视图,可以动态防止环路发生。OpenFlow不但增加了传统转发平面的效率,在提供高级网络服务方面还可以展现独特价值,比如多对一网络虚拟化、分布式负载均衡和分布式防火墙或入侵检测。每一类分布式网络资源服务与每个云租户对应,每个云租户都有独立的虚拟网络架构,把硬件细节隐藏起来了,比如不同数目地理位置无关的虚拟端口交换机。在产品化方面,NEC公司第一个推出了OpenFlow交换机PF5240,带有48个千兆和4个万兆上联端口,还开发了OpenFlow控制软件支持OpenFlow兼容交换机。


相关内容