软件定义网络(Software Defined Network,SDN)是由美国斯坦福大学clean slate研究组提出的一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
一个SDN网络主要由两种设备构成:控制器和OpenFlow交换机。其中,控制器通过收集各个OpenFlow交换机所统计的数据为SDN网络中的每一个流(flow)分配一条转发路径;OpenFlow交换机根据控制器的指示将流转发到相应的端口。一个OpenFlow交换机主要由三部分组成:流表(flow table)、安全通道以及OpenFlow协议。在流表中,每一个流都对应着一个操作,以指示交换机如何处理相应的流;安全通道用来连接交换机与远端的控制器;OpenFlow协议提供了一种标准的、开放的协议以实现控制器与交换机的通信。
虽然SDN网络近年来在计算机网络界大出风头,但笔者对SDN的本质及其下一步的发展仍有诸多疑问,概括起来,主要有三点:
(1)SDN是现有互联网络的改良,还是一种革新?SDN网络通过对交换机添加一系列的协议来实现网络控制功能与转发功能的分离,这能带来一些好处,例如,便于对新路由协议进行测试。但网络的核心协议当属路由协议,SDN本身并没有提出一个革命性的路由协议,当然,SDN网络表达出通过一种集中式方式来计算路由的倾向,但这条道路是否可行还存在疑问。因而,从路由协议的角度来讲,SDN只能算是对现有网络核心设备(路由器、交换机)的一种控制模式的改良,还算不上一种革命性的创新。
(2)路由协议的设计思想是继续秉承分布式,还是转向集中式?首先回顾一下现有的、以OSPF等为代表的路由协议,这些协议的设计初衷是建立一个分布式的网络,即使有一个或多个路由设备因各种原因(如故障、战争等)不能正常工作,数据包也可以依靠其它路由设备进行转发,网络不会因少数设备的下线而发生瘫痪。分布式模式的优点主要是鲁棒性好、可扩展性强、自愈性优。SDN网络倾向于通过集中式来解决数据流的路由问题,控制器需为进入SDN网络的每一条流选择一条数据通道,其复杂度是非常大的。这就好比为全球每个人的出行设计一条出行路线,其难度可想而知。估计这也是为什么SDN一直只停留在校园网络实验的原因,网络大了、拓扑复杂了,计算量太大。与集中式路由协议相比,分布式路由协议的主要缺点有:收敛速度慢、协议开销大。所谓收敛速度慢,是指当某条路径不通时,分布式路由协议将这条路径不通的消息转发给全网每一个路由设备所花费的时间较长。由于分布式路由协议依靠路由器之间两两交换路由信息或“泛洪”的方式来更新路由信息,故其协议开销较大。而集中式路由协议虽有计算复杂度高的不足,但其收敛速度快、协议开销小,随着云计算数据中心的发展,依靠大规模服务器集群来完成路由的计算也不是没有可能。总之,分布式路由协议是以高开销和高延时(收敛速度)来换取健壮性;集中式路由协议是以大计算量来换取低开销及低延时(收敛速度)。当前,分布式路由协议较为成熟但面临着性能瓶颈,集中式路由可能是下一步的研究方向。
(3)SDN的学术价值更大,还是商业价值更大?SDN网络是斯坦福大学的研究人员提出来的,其本意是帮助研究人员更好的搭建新路由协议的测试平台,以方便学术研究。但渐渐地,SDN网络的商业化味道越来越浓。2007年,提出SDN网络的斯坦福大学博士毕业生Casado及其导师McKeown教授共同创建了一家名为Nicira的SDN公司,2012年7月24日,这家公司被VMware以10.5亿美元现金收购。在商业化方面,SDN面临着诸多难题:如安全问题、复杂度问题以及实时性问题。由于控制器存在着单点失效问题,网络的安全性较差,一旦控制器被攻击,网络将瘫痪。同时,路径计算完全依靠中心控制器,控制器的计算量极大,同时,控制器需实时监测每一条进入网络的流且需实时为其分配一条路径,实时性能否保证还不得而知。另外,这种集中式的架构很可能导致网络被少数实体(如运营商、政府机构)所控制,因为只要控制了SDN控制器,那么每一个流的转发行为会被完全控制,很可能会造成网络资源的分配不公,如给某些用户或业务给予更高的优先级,同时打击某些用户或业务(如P2P),从而导致网络资源被人为干预的程度大大加强。对于以思科为代表的西方公司来说,推SDN可以打击其竞争对手(如华为),因为华为几乎是不可能将这类集中式的网络核心设备卖给西方国家的,尤其是美国。目前,即使是分布式的路由设备,美国、澳大利亚都在攻击华为危害网络安全,对于集中式的网络设备,美国、澳大利亚更将狙击华为,因为这种架构更易引发网络安全问题,本质上,控制器其实就是一个网络信息的收集器。从学术的角度讲,SDN只是提供了一个测试新路由协议的平台,其本身并没有太大的学术创新,集中式的路由协议能否适用于大型网络还存在着诸多疑问。总之,SDN虽然产生于校园,但其商业利益很可能高于学术价值。
SDN网络虽然风头很盛,但其仍处于发展的早期阶段,还有很多问题没有解决。对于新事物,一方面我们要看到其发展潜力,另一方面也要看清其存在的不足,然后针对其不足开展工作,最后做到为我所用。