内容: 记录SDN的概念
SDN(Software Defined Network):软件定义网络
1、SDN是一种新型的网络架构,它的设计理念是将网络的控制平面与数据转发平面进行分离,从而通过集中的控制器中的软件平台去实现可编程化控制底层硬件,实现对网络资源灵活的按需调配。在SDN网络中,网络设备只负责单纯的数据转发,可以采用通用的硬件;而原来负责控制的操作系统将提炼为独立的网络操作系统,负责对不同业务特性进行适配,而且网络操作系统和业务特性以及硬件设备之间的通信都可以通过编程实现。2、SDN字面意思是软件定义网络,其试图摆脱硬件对网络架构的限制,这样便可以像升级、安装软件一样对网络进行修改,便于更多的应用程序能够快速部署到网络上。如果把现有的网络看成手机,那SDN的目标就是做出一个网络界的Android系统,可以在手机上安装升级,同时还能安装更多更强大的手机APP。3、SDN的本质是网络软件化,提升网络可编程能力,是一次网络架构的重构,而不是一种新特性、新功能。SDN将比原来网络架构更好、更快、更简单的实现各种功能特性。4、SDN最重要的三个概念是:可编程(开放的API)、控制平面与数据平面分离、集中式控制模型。SDN解决的问题:
1、现在的IP网络管理多复杂,各厂家的网络设备也非常复杂。你要维护复杂的网络,需要掌握的命令行非常多,因为不同网络设备有不同的命令行。同时你要阅读非常多的RFC文档,因为他有着各种网络设备都遵循的规则,这样你才能管理复杂的网络布局。2、当网络布局或者转发规则你希望改变为更适合你的规则时,非常难,因为你的网络设备是各个厂家定做的,并且设备的工作规则一般是不可修改的,也就是比如,交换机会有学习和转发机制,但是他的学习规则和转发规则已经定好的了,极难按照你的想法去修订。传统网络局限性:
1、流量路径的灵活调整能力不足。2、网络协议实现复杂,运维难度较大。3、网络新业务升级速度较慢。4、传统网络通常部署网管系统作为管理平面,而控制平面和数据平面分布在每个设备上运行。5、流量路径的调整需要通过在网元上配置流量策略来实现,但对于大型网络的流量进行调整,不仅繁琐而且还很容易出现故障。SDN与传统网络相比的特点:
* SDN控制与转发:1、控制与转发分离。转发平面由受控转发的设备组成,转发方式以及业务逻辑由运行在分离出去的控制面上的控制应用所控制。2、控制平面与转发平面之间的开放接口。SDN 为控制平面提供开放可编程接口。通过这种方式,控制应用只需要关注自身逻辑,而不需要关注底层更多的实现细节。3、逻辑上的集中控制。逻辑上集中的控制平面可以控制多个转发面设备,也就是控制整个物理网络,因而可以获得全局的网络状态视图,并根据该全局网络状态视图实现对网络的优化控制。* 传统网络数据控制与转发:1、传统网络是分布式控制的架构,每台设备都包含独立的控制平面,数据平面。2、用于协议计算的控制平面和报文转发的数据平面位于同一台设备中。3、路由计算和拓扑变化后,每台设备都要重新进行路由计算过程。4、在传统IP网络中,每台设备都是独立收集网络信息,独立计算,并且都只关心自己的选路。5、所有设备在计算路径时缺乏统一性。6、传统网络及其设备的只可配置、不可编程7、传统网络中由于设备的控制面是封闭式的,且不同厂家设备实现机制也可能有所不同,所以一种新功能的部署可能会造成周期较长;且如果需要对设备软件进行升级,还需要在每台设备上进行操作,大大降低了工作效率8、设备厂家除标准协议外都有一些私有协议扩展,不仅设备操作命令繁多,而且不同厂家设备操作界面差异较大,运维复杂。
SDN框架结构:
SND层次框架图
* 应用层:这一层主要是体现用户意图的各种上层应用程序,此类应用程序称为协同层应用程序,典型的应用包括OSS(Operation support system 运营支撑系统)、Openstack等。传统的IP网络同样具有转发平面、控制平面和管理平面,SDN网络架构也同样包含这3个平面,只是传统的IP网络是分布式控制的,而SDN网络架构下是集中控制的。* 控制层:控制层是系统的控制中心,负责网络的内部交换路径和边界业务路由的生成,并负责处理网络状态变化事件。* 数据转发层:转发层主要由转发器和连接器的线路构成基础转发网络,这一层负责执行用户数据的转发,转发过程中所需要的转发表项是由控制层生成的。* 当前的SDN网络一般都是如下形式:有一个控制器(或集群),他负责收集整个网络的拓扑、流量等信息,计算流量转发路径,通过openflow协议将转发表项下发给交换机,交换机按照表项执行转发动作。和控制器对应,执行转发动作的交换机一般称为转发器。控制面从传统网络的单个设备上剥离,集中到了控制器上,转发面由转发器构成。
SDN接口框架图:
SDN的优点: