SDN定义
软件定义网络(Software Defined Network, SDN ),是Emulex网络一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制。
我觉得这一段对于计算机的发展历程的描述,其实也是一段对于集中式与分布式的很好的论断。用“水”来比喻计算机资源确是一个很精妙的想法。从人类对于水资源 的处理历史来看,可以发现这样一个有趣的现象:人们首先是依赖于水源,然后又自己钻井来获取水源,到最后又由统一的工厂来集中管理水源。这种模式对于网络 存储而言,就是这样:最早的计算机统一存储信息,用户受网络性能影响,再到后面,个人计算机发展,整个网络资源彼此分布在各家各户的计算机硬盘之中,而到了现在,存储云端化则又是将整个资源集中化,这种现象其实就是一个由集中式到分布式再到集中式的过程。可以发现,集中与分布的概念往往出现在对于资源的管 理上,当许多资源集中在一个地方是,这是集中式;而当资源分散在不同地方是,这便是分布式。对于集中式与分布式,它们各自有各自的优缺点。后面会结合具体 的网络实际进行分析。
那么,对于整个网络环境来说,我们又应该怎样看待网络的集中式与分布式呢?在这里,我们所说的网络的集中式与分布式通常指的是控制平面的结构。下图是《SDN—软件定义网络》一书中对于控制平面与数据平面分布式选项的谱系图。
从上面的谱系图,我们可以看出,作者认为网络控制平面的体系有三种不同模型,一种是严格的集中式,另一种是半集中式或逻辑集中式,最后一种是完全分布式。
对于严格集中式控制平面,其有以下特点:
1.最常用于实验性的SDN控制器;
2.统一配置平台;
3.单点故障;
4.难以横向扩展。
而对于半集中式或逻辑集中式的控制平面,其特点为:
1.现代SDN控制器的典型方案;
2.统一配置平面,需要与幕后的其他控制平面实例进行同步,但需花费一段时间;3.可恢复多点故障,但仍易受与其他控制平面实例状态同步的影响;4.易于横向扩展,仅需部署控制平面的新实例。
对于完全分布式的控制平面,其特点为:
1.典型的方法;
2.每个(逻辑的或真实的)设备上有一个控制平面的实例;
3.已证明对故障的高可恢复性;
4.可能有收敛上的困难;
5.需要配置和管理N个实例;
6.难以横向扩展,横向扩展时需要增加新的设备。
那么在SDN中,我们应该怎样决定控制平面的放置位置呢?Ken Gray提出了一个很有趣的概念:革命(revolution)、演进(evolution)、传统(tradition)。
那么什么是革命方式呢?革命方式提出了将网络的控制平面完全采用集中式这样一种推倒重来的全新方案。在这一模型中,设备上并不具有控制平面的功能,这种模型 中的设备都是傻的速度很快的交换设备,被位于远端的集中式控制平面完全控制。在这里,对于鲁棒性问题,其在OpenFlow中其实已经有了一个很好的解决 方案,即同时采用多个控制器(OpenFlow在网元设备与控制器建立通信时提到了这个方案)来处理控制器异常情况。对于多个控制器之间的共存方 式,OpenFlow提出了两种模式,一种是对等模式(Equal),另一种是主从模式(Master/Slave)。关于这两种模式的不同,在后面关于 OpenFlow协议以及SDN控制器方面还会有一个详细的讲解。
演进方式指的是谱系图中间的半集中式控制平面模型,它着眼于一般定义下的网络域。这种模式通常能以某种形式和分布式的控制平面一起工作,这意味着设备还保留 了一些传统的控制平面功能(如ARP处理或MAC地址学习),同时允许一个集中式的控制器来操控其他功能,即采用集中式操作范式更方便的那些功能,这种观 点往往被当作混合模式或“承载/叠加”的概念,即分布式控制平面作为承载,而集中式控制平面在利用承载网进行网络传输的基础上,在逻辑上叠加新的功能。对 于这种模式,我们常常需要考虑到这样一个问题,如何实现“承载/叠加”?在OpenFlow白皮中,定义了两种不同的交换机,一种是OpenFlow专用 交换机(Dedicated OpenFlow Switch),另外一种是兼容OpenFlow交换机(OpenFlow- Enabled Switch)。其实,在这里,兼容OpenFlow交换机就是演进方式下的产品。兼容OpenFlow的交换机与OpenFlow专用 交换机的不同在于两个方面:一是兼容型交换机有一个Normal预留端口(Resevered Port);二是兼容型交换机支持从正常处理管线转发数据 包的数据包处理方式。由于这种交换机只需在传统交换机上兼容OpenFlow协议,因此可以作为由完全分布式到严格集中式的有效过渡。
传统方式,顾名思义,几十只目前大多数商用交换机所采用的控制层面模式,即完全分布式。在这个模型中,每个设备除了拥有至少一个数据平面外,还要拥有一个完整的控制平面。而且,在该模型中每一个独立的控制平面必须与其他控制平面合作,以支持一个整体的、可运行的网络。显然,这个方案并没有新意,既不是革命性的,也不是演进性的。
SDN最能引起人们共鸣的三个概念是:可编程、控制平面与数据平面分离,以及用与网络瞬时状态管理的集中式控制模型。而具体而言,网络控制层面体系模型的确立是 控制平面与数据平面分离后整个网络体系结构组成的核心思想之一。
分布式到集中式的转变,意味着集中式控制层面必须要解决其不足之处,同时尽量多的发挥出集 中式的优势。对于集中式控制层面而言,控制层面的集中化必然会便于网络管理者管理和配置整个网络,合理的调动网络资源,进一步地优化网络,提高网络有效利用率。同时,利用资源集中化优势,可以更好地实现网络可编程化。但是,其鲁棒性的劣势需要合理地进行相关保护措施,保障控制层面的安全,并且采用多种措施 来解决其扩展性问题。谢谢阅读,希望能帮到大家,请继续关注武林网,我们会努力分享更多优秀的文章。
新闻热点
疑难解答