SDN(Software Defined Network) 软件定义网络学习
SDN是啥?
简单来说就是软件定义网络!其旨在对现有的网络架构进行重构,使得我们能够像安装软件一样对网络进行修改,加快部署,提高网络可编程能力。
那么为啥这么干呢?
因为现有网络架构受限于硬件的不灵活性,控制层面与硬件绑定在一起,其弊端显而易见,一旦有协议层面的修改,意味着绑定的硬件都需要进行修改,完成网络重新部署将会耗费巨大的时间和精力,进而就导致了网络设备的升级过于缓慢,且不利于技术的更新发展。
且全分布式的特征使其在修改升级时需要对每台设备进行操作,过程繁琐。
传统网络概念和结构体系
- 传统网络是分布式控制的架构,每台设备都包含独立的控制平面,数据平面。
- 传统网络的管理平面、控制平面、数据平面:
- 管理平面:管理设备(SNMP)
- 控制平面:路由协议(IGP、BGP)
- 数据平面:转发表(FIB)
- OSS:Operation Support System,运营支撑系统。
- NMS:Network Management Server,网络管理服务器
管理平面主要包括设备管理系统和业务管理系统,设备管理系统负责网络拓扑、设备接口、设备特性的管理,同时可以给设备下发配置脚本。业务管理系统用于对业务进行管理,比如业务性能监控、业务告警管理等。
控制平面负责网络控制,主要功能为协议处理与计算。比如路由协议用于路由信息的计算、路由表的生成。
数据平面是指设备根据控制平面生成的指令完成用户业务的转发和处理。例如路由器根据路由协议生成的路由表对接收的数据包从相应的出接口转发出去。
概述:SDN(Software Defined Network)软件定义网络
2006年,以斯坦福大学教授Nike Mckewn为首的团队提出了OpenFlow的概念,并基于OpenFlow技术实现网络的可编程能力(OpenFlow只是实现SDN的一个协议)
- 主要实现手段:控制与转发分离,控制与管理分离等
分类(根据实现手段分类)
- 控制与转发分离 (超广义)
- 管理与控制分离 (广义)
特征
- 转控分离:网元的控制平面在控制器上,负责协议计算,产生流表;转发平面在网络设备上。
- 集中控制:设备网元通过控制器集中管理和下发流表,无需要对设备逐一操作,只需配置控制器。
- 开放接口:第三方应用只需要通过控制器提供的开放接口,通过编程方式定义新网络功能,在控制器上运行即可。
SDN架构
由分布式控制重构为集中控制(引入一个SDN控制器)
-
基础设施层(转发层):主要为转发设备,实现转发功能,其所需的转发表项由控制层生成例如数据中心交换机。
-
控制层:由SDN控制软件组成,可通过标准化协议与转发设备进行通信,实现对基础设施层的控制,且负责处理网络状态变化事件。
-
应用层:主要是体现用户意图的各种上层应用程序,此类应用程序称为协同层应用程序,例如OSS(Operation support system 运营支撑系统)、Openstack等
-
应用程序接口(API):
- 北向接口:应用层和控制层之间的通信,应用层通过控制开放的API,控制设备转发功能
- 南向接口:基础设施层(转发层)和控制层之间的通信,控制器通过OpenFlow或其他协议下发流表
关于SDN的优化价值等方面待我深入学习之后再补充,第一次学习,先了解其主要框架
拜拜!
参考文章链接:
原文链接1:https://blog.csdn.net/AtlanSI/article/details/95613225
原文链接2:https://blog.csdn.net/weixin_45804031/article/details/122097113