一、传统网络体系
1.1、分布式架构
1)传统网络采用分布式架构,即控制平面(协议计算)和数据平面(报文转发)位于同一台设备中,如上图。比如:二层交换机基于MAC地址表进行转发。路由器基于路由表结合性转发。而各种转发表是由设备的控制平面,基于不同的策略生成的
2)拓扑变化后,每台设备都要重新进行路由计算过程,称之为分布式控制过程
3)每台设备独立收集网络信息,独立计算,并且都只关心自己的选路,弊端就是所有设备在计算路径时缺乏统一性
1.2、管理平面、控制平面和数据平面
管理平面:主要包括设备管理系统(SNMP)和业务管理系统。
1)设备管理系统负责网络拓扑、设备接口、设备特性的管理,同时可以给设备下发配置脚本;
2)业务管理系统用于对业务进行管理,比如业务性能监控、业务告警管理等。
控制平面:负责网络控制,主要功能为协议处理与计算。比如路由协议(IGP、BGP)的路由信息的计算、路由表的生成。
数据平面:设备根据控制平面生成的指令完成用户业务的转发和处理。例如路由器根据路由协议生成的路由表对接收的数据包从相应的出接口转发出去
1.3、局限性
1)传统网络通常部署网管系统作为管理平面,而控制平面和数据平面分布在每个设备上运行。
2)流量路径的灵活调整能力不足。流量路径的调整需要通过在网元上配置流量策略来实现,但对于大型网络的流量进行调整,不仅繁琐而且还很容易出现故障;当然也可以通过部署TE隧道来实现流量调整,但由于TE隧道的复杂性,对于维护人员的技能要求很高。
3)网络协议实现复杂,运维难度较大。传统网络协议较复杂,有IGP、BGP、MPLS、组播协议等,而且还在不断增加。设备厂家除标准协议外都有一些私有协议扩展,不仅设备操作命令繁多,而且不同厂家设备操作界面差异较大,运维复杂。
4)网络新业务升级速度较慢。传统网络中由于设备的控制面是封闭式的,且不同厂家设备实现机制也可能有所不同,所以一种新功能的部署可能会造成周期较长;且如果需要对设备软件进行升级,还需要在每台设备上进行操作,大大降低了工作效率。
二、SDN
2.1、定义
SDN ( Software Defined Networking )即软件定义网络。是由斯坦福大学Clean Slate研究组提出的一种新型网络创新架构。 核心理念通过将网络设备控制平面与数据平面分离,从而实现了网络控制平面的集中控制。
2.2、特征
三个特征:转控分离 、 集中控制 和 开放可编程接口
OpenFlow:一种网络通信协议,应用于SDN架构中控制器和转发器之间的通信。
要实现转、控分离,就需要在控制器与转发器之间建立一个通信接口标准,允许控制器直接访问和控制转发器的转发平面,OpenFlow引入了"流表",转发器通过流表来指导数据包的转发。控制器通过OpenFlow提供的接口在转发器上部署相应的流表,从而实现对转发平面的控制。
2.3、转发方式的对比 2.4、架构
协同应用层:比如用户希望部署一个安全APP,这个安全APP不关心设备具体部署位置,只是调用了控制器的北向接口,然后控制器会给各网络设备下发指令。
控制器层:SDN网络架构下最核心的部分。控制层是SDN系统的大脑,其核心功能是实现网络业务编排。
设备层: 网络设备接收控制器指令,执行设备转发。
NBI北向接口: 北向接口为控制器对接协同应用层的接口,主要为RESTful。
SBI南向接口: 南向接口为控制器与设备交互的协议。