首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

软件定义网络(SDN)任重而道远

软件定义网络(SDN)任重而道远

[导读] 本文试图从梳理SDN技术的发展脉络入手,分析SDN技术的内涵、本质特征、应用领域、发展趋势,进而分析SDN技术发展带来的影响。
关键词: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分为三个类别,每个类别之间的开放性是递增的关系:
(1)开放控制层北向接口的SDN(可以简称为SDN-N)
          这种思路研究数据网络开放控制面与业务应用之间的北向接口,向上提供资源抽象,实现软件可编程控制的网络架构。数据网络中控制层北向接口的开放有利于互联网应用服务感知数据网络状态、优化业务应用设计、改善用户业务体验,因此得到了互联网服务提供商的支持。北向接口开放性研究发端于5年前的P2P研究热潮,为了实现P2P流量优化与数据网络流量调度之间的协调,IETF启动了ALTO、DECADE等多个工作组,随着P2P热度的消退,这些工作的研究进展缓慢,但是SDN的升温为这个研究方向注入了新的活力。但是研究北向接口的开放性,主要是要抽象不同业务应用的共性特征,及其对数据网络的承载需求,但是业务应用的多样性使得这项工作目前进展并不顺利。
  (2)开放控制层南向接口的SDN(可以简称为SDN-S)
          这种思路就是大家通常理解的SDN,即数据网络中控制平面与数据平面的分离。目前比较热的ONF的Openflow协议和IETF的Forces协议都是工作在这个层面的,都是定义控制平面与数据平面分离后,两者之间的通信协议。Openflow与Forces协议的不同点在于:Openflow所面对的转发设备硬件假设只支持十元组,Openflow可以针对十元组做各种转发规则的配置;而Forces假定所面对的转发设备硬件是协议无关的,Forces可以以XML语言的格式来任意定义底层转发设备的处理逻辑。协议无关的转发设备目前也成为了研究的热点,要做到协议无关,需要硬件具备众多的功能,看似十分困难的工作,但是一些芯片厂商和设备厂商已经研发出了协议无关的转发产品,是一个值得关注的方向。
  (3)开放控制层东西南北向接口的SDN(可以简称为SDN-SE)
          在开放了南北向接口以后,SDN发展中面临的一个问题就是控制平面的扩展性问题,也就是多个设备的控制平面之间如何协同工作,这涉及到SDN中控制平面的东西向接口的定义问题。如果没有定义东西向接口,那么SDN充其量只是一个数据设备内部的优化技术,不同SDN设备之间还是要还原为IP路由协议进行互联,其对网络架构创新的影响力就十分有限。如果能够定义标准的控制平面的东西向接口,就可以实现SDN设备“组大网”,使得SDN技术走出IDC内部和数据设备内部,成为一种有革命性影响的网络架构。目前对于SDN东西向接口的研究还刚刚起步,IETF和ITU均未涉及这个研究领域。
          从网络开放性的发展趋势来看,SDN概念对于网络设备和网络架构设计的影响还处于初级阶段,以后随着SDN中控制平面北向和东西向接口的标准化,以及SDN技术与网络虚拟化技术的融合,将使SDN技术释放出更大活力和更为深远的影响力。
返回列表