SDN
1 前言
SDN起源于2006年斯坦福大学的Clean Slate研究课题。2009年,Mckeown教授正式提出了SDN概念。
可通过软件编程的形式定义和控制网络,其控制平面和转发平面分离及开放性可编程的特点,被认为是网络领域的一场革命 。
2 传统网络
2.1 网络架构
传统网络是分布式控制架构,指的每台设备(如路由器和交换机)都拥有自己的控制平面和数据平面。
- 独立性:每台设备根据自己的控制平面(如路由协议)计算路由信息,并维护自己的转发表。即每台设备独立工作,拥有自己得决策和转发逻辑。
- 网络动态性:使网络能够在不同设备间进行动态路由和负载均衡,在网络规模扩展和弹性上有一定优势。倘若设备故障时,需要重新计算路由,会导致短时间的性能下降。
2.2 网络划分
传统网络也可以划分为管理平面、控制平面、数据平面三部分。
-
管理平面
1)设备管理系统:负责网络拓扑、设备接口和特性管理,能够下发配置脚本(如使用SNMP协议)。
2)业务管理系统:用于业务监控、性能管理和告警管理。
-
控制平面
负责网络协议处理,用于生成路由表并进行路由信息的计算 。
-
数据平面
根据控制面的指令执行用户数据的转发和处理。
传统网络架构虽然能满足基本的网络需求,但在动态变化的环境中,其独立计算的方式可能导致效率低下和协调性不足。以下是一些传统网络的局限性:
-
流量路径调整的灵活性不足
调整流量路径需要通过登陆网元设备的命令行界面(CLI),配置策略实现,对于大型网络的流量调整,繁琐且容易出现错误
-
网络协议复杂,运维难度高
传统网络协议较复杂,有IGP、BGP、MPLS、组播协议等 ,同时厂商为了设备的管理、配置和互操作性,提供一些私有的协议扩展,导致设备操作命令繁多,且不同厂商设备界面差异大,运维难度颇高
-
设备管理难度高
网管系统,控制面和数据面分散个在各个设备上,管理难度非常高
3 SDN(Software-defined networking )
是对传统网络的一次重构,由原来反不是控制的网络架构重构为集中控制的网络架构。
3.1 三层模型
SDN的整体架构由下到上(由南到北)分为数据平面、控制平面和应用平面,主要包括 SDN 网络应用、北向接口、 SDN 控制器、南向接口和 SDN 数据平面共五部分 。
[补图]
-
控制面与数据面分离
双方只需要遵顼统一的开发接口进行通信即可,两个平面之间不在相互依赖,可以独立完成体系结构的演进。
转发平面由受控转发的设备组成,转发方式以及业务逻辑由运行在分离出去的控制面上的控制应用所控制。
-
网络开放可编程
建立了新的网络抽象模型,为用户提供了一套完整的通用 API,使用户可以在控制器上编程实现对网络的配置、 控制和管理, 从而加快网络业务部署的进程
-
逻辑上集中控制
对分布式网络状态的集中管理
- 控制器会担负起收集和管理所有网络状态信息的重任
- 控制平面可以控制多个转发面设备,也就是控制整个物理网络,因而可以获得全局的网络状态视图,并实现对网络的优化控制
- 集中控制为软件编程定义网络提供了架构基础,为网络自动化管理提供了可能
优势
- 硬件只需关注转发和存储能力,与业务特性解耦,可以采用相对廉价的商用的架构来实现。
- 网络设备的种类及功能由软件配置而定,对网络的操作控制和运行由服务器作为网络操作系统(Network OS)来完成。
- 对业务响应相对更快,可以定制各种网络参数,如路由、安全、策略、QoS等,并实时配置到网络中,开通具体业务的时间将缩短。
3.2 商业价值
-
简化网络
能够消除了很多IETF的协议。协议的去除,意味着学习成本的下降,运行维护成本下降,业务部署快速提升。
得益于网络集中控制,被SDN控制器所控制的网络内部不需要一些协议,比如RSVP协议、LDP协议、MBGP协议、PIM组播协议等等。原因是网络内部的路径计算和建立全部在控制器完成,控制器计算出流表,直接下发给转发器就可以了,并不需要协议。
-
业务自动化
整个网络归属SDN控制器来控制,它能够自己完成网络业务部署,提供各种网络服务,如L2VPN、L3VPN等,屏蔽网络内部细节,提供网络自动化能力。
-
网络路径流量优化
传统路由协议计算出的"最优路径",由于网络设备分散控制,缺乏全局视图,在网络延迟、路由的重新计算等意外情况下,导致"最优路径"上流量拥塞。
采用SDN架构时,控制器能够根据网络流量状态智能调整,提高网络利用率。
-
网络业务快速创新
由于SDN控制器的集中管理,管理员可以在几分钟内创建和配置这些服务(比如虚拟私有网络(VPN)或防火墙 ),而不需要手动调整每个网络设备。
-
网络设备白牌化
指使用通用硬件平台而非特定厂商的专有硬件来构建网络设备。利于系统各个部分的独立演进和更新,提高产品的灵活性、可扩展性,同时促进竞争,促使采购价格下降。