1、传统网络存在的问题
- 只可配置,不可编程
- 数据平面和控制平面的紧耦合
网络设备的三个功能平面:
- 控制平面:根据不同的协议计算生成各种表项,如指导数据链路层报文转发的MAC表、指导网络层报文转发的路由表等。
- 管理平面:负责设备的配置与管理。
- 数据平面(或转发平面):负责具体报文的转发。
2、概念
软件定义网络(Software Defined Network,SDN)是一种新型网络创新架构,是网络虚拟化的一种实现方式,可通过软件编程的形式定义和控制网络,具有数据平面和控制平面分离及开放性可编程的特点。
其核心技术OpenFlow通过将网络设备的控制平面与数据平面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能,为核心网络及应用的创新提供了良好的平台。
3、三层网络架构
- 应用层:包含了网络所要承载的多元业务与应用
- 控制层:对应用层提供北向接口,对基础设施层提供南向接口(如OpenFlow)。可类比为计算机的操作系统。
- 基础设施层:非传统的网络设备,只承担包转发功能。可类比为计算机的裸机。
4、四个平面
- 数据平面
- 控制平面
- 应用平面
- 管理平面
5、两个接口
- 南向接口(SouthBound Interface,SBI):转发行为控制、设备性能查询、统计报告、事件通知等。
- 北向接口(NorthBound Interface,NBI):向应用层提供抽象的网络视图,使应用能直接控制网络的行为。
6、SDN的核心思想
- 解耦:数据平面与控制平面的解耦
- 抽象:转发抽象、发布状态抽象、配置抽象
- 可编程:北向接口(如REST API)和南向接口(如Open Flow)