软件定义网络(SDN)任重而道远
扫描二维码
随时随地手机看文章
当前,软件定义网络(SDN)成为业界一个时髦的话题,SDN技术及其可能带来的影响受到了学术界和产业界的高度重视,同时也存在着对SDN不同的理解和认识。本文试图从梳理SDN技术的发展脉络入手,分析SDN技术的内涵、本质特征、应用领域、发展趋势,进而分析SDN技术发展带来的影响。
一、“众说纷纭”SDN
目前对SDN关注度比较高的专家大致可以分为三类:IDC设计与运维人员、数据设备设计研发人员、未来网络研究与试验人员。这三类专家关注SDN的出发点及对SDN的认识不一样,对SDN的发展愿景和期待也各不相同。一项新技术出现后,对于追溯这个概念最早是谁提出、何时提出以及是不是一个新概念等种种讨论通常只具有学术意义,对于认识新技术的本质并无实质性帮助。讨论SDN概念还是要从其真正市场需求入手。
(1)SDN商用需求最早出现在数据中心内部
IDC内部网络为了支持应用服务器上虚拟机的迁移,通常是一个二层网络,因为如果采用三层组网,那么虚拟机迁移时,虚拟机对应的应用服务的IP地址要跟着变化,带来业务部署和管理的困难,而二层网络则没有这个问题。
但是,在IDC内部直接应用既有的二层网络技术,则会主要带来以下两方面的问题:一个是在二层网络中,为了消除广播包的环路,通常采用生成树(STP)协议,在网络节点之间构建一棵逻辑树,节点之间的流量按照这个“树状”拓扑来传递,即使网络节点之间有多个物理链路,也只有一条链路真正传递数据,其他链路都是空闲的(只起备份作用)。但是,在IDC内部,多个服务器之间存在着频繁的数据交换需求,基于STP的树状网络拓扑不能高效支持这种“横向”流量,服务器之间的空闲链路也造成了网络资源的大量浪费,因此基于STP的二层网络对于IDC来说过于简单,需要进行变革,尤其是随着云计算的发展,这种IDC内部二层组网需求越来越迫切。另一个问题是通常IDC内部的应用服务器众多,有的达到上万台,甚至十几万台,二层交换机需要利用ARP等协议,学习接收到的数据包的源地址来建立MAC地址表,由于应用服务器多,所以MAC地址表项也多,通常会超过常规二层交换机MAC地址表的容量,则造成大量MAC地址无法进入MAC地址表,二层交换机对于无法在MAC地址表中查到的MAC地址对应的数据帧进行二层域内的广播,造成二层网络内部的流量泛滥,影响IDC内部网络效率。
造成上述两个问题的根本原因是,传统的二层网络设计的过于简单,二层交换机只会学习MAC地址,不会基于MAC地址来规划数据转发路径,也就是说传统二层网络中没有一个控制平面(或者说控制平面的功能非常非常弱,且与转发功能融合在一起),只有数据平面(负责数据帧的转发)。因此在二层网络中增加控制平面(或者说强化控制平面功能),负责较大的二层网络内部节点间的流量调度和管理成为了一种迫切需求。目前较为主流的解决思路,就是利用IS-IS路由协议的变种来构建控制平面路由功能;利用Openflow来定义控制平面与转发平面之间的接口。这就引出了控制平面与转发平面分离的概念。但这只是二层网络中的控制平面与转发平面的分离。
(2)SDN商用需求来自于路由器内部功能优化
在传统路由器中,负责路由规划、选路策略的控制平面与负责数据封装、高速转发的数据平面之间的接口是不开放的,是紧耦合在一起的。每个厂家都通过自有的协议或接口来连接控制平面和转发平面,这也是CISCO、JUNIPER等优势厂商维持技术壁垒、排挤新兴厂商的优势所在。
但是,有两方面的力量正在悄悄地对这种模式提出挑战:一个是大型互联网企业,他们有自建企业网络的需求,而且这些互联网企业认为目前自己企业网络的通信需求有特异性,而传统路由器的功能太复杂,有80%以上的功能和特性在自己的网络中用不到,但是在购买这些路由器时却要为这些无用的功能买单,感觉比较“冤”,所以存在自主设计实现简洁高效路由器的需求,这也是Facebook、Google、Yahoo等公司发起成立ONF(开放网络论坛),研制SDN标准的初衷之一。由于这些互联网企业具有在IDC内部大量采用自己定制的应用服务器的成功经验,所以他们对于自主研发高效的路由器有着良好的期待。另一个力量是新兴的数据设备厂商,他们试图通过打破路由器内部控制平面与数据平面之间的紧耦合,形成一个开放的、标准的设备接口,这样可以把控制功能集中而且单独剥离出去,这样数据转发设备可以做得更加通用和简单,成本可以做得更低,有助于打破CISCO、JUNIPER等厂商的垄断地位,这些厂商可以从中获得新的发展机遇。
基于这种考虑,IETF较早的就开展了路由器内部控制平面与转发平面分离的研究工作,成立了FORCES工作组,定义了路由器内部控制平面与转发平面之间的通信协议。这虽然同样引出了控制平面与转发平面分离的概念,但这是三层网络中的控制平面与转发平面的分离。
(3)SDN商用需求来自未来网络研究与试验
目前,为了解决IP网络面临的网络地址空间不足、服务质量难以保证、安全可信机制缺乏、网络管控能力差等问题,未来网络研究人员一方面积极研究新型网络体系结构和关键技术,试图解决这些问题,目前虽然研究方向众多,但并未形成清晰的、共识的技术路线;另一方面,在技术路线不清楚,新方案层出不穷的情况下,有必要建立一个超大规模的未来网络新技术的试验验证环境(试验网络),在这个试验网络上灵活地为各种技术方案提供资源独立的试验环境,从而孵化出优选技术。美欧等国分别建立了GENI和FIRE网络,目的就在于此。在试验网络建设过程中,设计人员希望能够在网络节点上灵活的控制和部署路由协议,实现高效的转发,因此形成了越来越强烈的、实验网节点上控制平面和转发平面分离的需求。通过控制平面的分离,可以实现网络控制功能的智能和集中,以及网络转发功能的协议无关和高效。
在实验网节点上控制平面和转发平面分离的情况下,每出现一种新的网络体系结构和解决方案,就可以在实现节点上以软件的形式来设计和配置,快速实现新的网络形态,高效支持网络技术创新与验证。
除了上述三种SDN需求以及对应的三类专家以外,还有一些专家将SDN理解为统一智能网管,致力于实现一个网管系统可以统一、智能地管理多台网络设备的目的,如在LTE的部署中可以在IP RAN的设计中,通过一个综合网管系统来配置和管理多台简化边缘路由器,从而提高网络策略部署效率。但是这种理解,是把管理平面从控制平面和数据平面中分离,不是控制平面和转发平面的分离,不应理解为是SDN技术。
二、“正本清源”SDN
上面分析了SDN的三种发展需求,综合来看,这些需求所追寻的都是网络“开放”的理念。
网络的开放是产业发展的必然趋势,不但能够带来相应设备和网络的高效,而且可以进一步细分产业链,带来新的产业发展机遇。当年,机械零件之间的“开放”,实现了零件之间的标准互换,细化了机械加工的产业链,提高了成品机械的生产效率,极大地推动了工业革命的发展。在网络通信领域,通过SDN技术可以实现类似的期待。
在数据设备内,可以概括为两个平面,如下图所示:
从网络开放性的角度来理解SDN,我们可以把SDN分为三个类别,每个类别之间的开放性是递增的关系: