目录
一、SDN
1、SDN 的引入
2、SDN 体系结构的特征
3、SDN 控制器
4、SDN 通用转发
二、OpenFlow
一、SDN
1、SDN 的引入
软件定义网络 (Software Defined Network)
SDN 源自美国斯坦福大学 Clean Slate 研究组提出的一种新型网络创新架构,可通过软件编程的形式定义和控制网络,具有控制平面和转发平面分离及开放性可编程的特点。
SDN 的核心理念是,希望应用软件可以参与对网络的控制管理,满足上层业务需求,通过自动化业务部署,简化网络运维。
SDN 并不是一个具体的技术,它是一种网络设计理念,规划了网络的各个组成部分(软件、硬件、转发平面和控制平面)以及相互之间的互动关系。
2、SDN 体系结构的特征
① 基于流的转发
SDN 中的分组交换机的分组转发工作,能够基于运输层、网络层或链路层首部中任意数量的首部字段值进行。
分组转发规则被精确规定在交换机的流表中,SDN 控制平面的工作是计算、管理和安装所有网络交换机中的流表项。
② 数据平面与控制平面分离
- 数据平面由网络交换机组成,该设备在它们的流表中执行匹配加操作
- 控制平面由一个 SDN 控制器和若干网络控制应用程序组成
网络控制应用程序用于决定和管理交换机的流表。
③ 网络控制功能:位于数据平面交换机外部
控制平面由一个 SDN 控制器和若干网络控制应用程序组成。
SDN 控制器:
- 维护准确的网络状态信息
- 向网络控制应用程序提供这些信息
- 向网络控制应用程序提供一些方法
④ 可编程的网络
通过运行在控制平面中的网络控制应用程序,该网络是可编程的。这些应用程序使用了由 SDN 控制器提供的 API 来定义和控制网络设备中的数据平面。
3、SDN 控制器
① 接口层:向网络控制应用提供抽象 API
② 状态管理层:负责维护网络状态一致视图
- 维护链路、交换机、服务等的状态
- 通过使用一个分布式数据库
③ 通信层: 在 SDN 控制器和受控交换设备间通信
4、SDN 通用转发
SDN 的核心思想是建立一个通用转发体系
- 每个交换设备包含一个流表 (flow table)
- 流表由一个逻辑上中心化的远程控制器来计算和分发
二、OpenFlow
起源于斯坦福大学的 Clean Slate 项目,目前得到广泛使用和认可。
是 SDN 控制器与数据平面之间的通信接口标准:
- 允许直接访问和操作网络设备的数据平面
- 分离控制平面和数据平面,二者间使用标准的协议通信
- 数据平面采用基于流的方式进行转发
OpenFlow 网络的组成:
- OpenFlow 网络设备(OpenFlow Switch)
- OpenFlow 控制器(OpenFlow Controller)
- OpenFlow 通道(OpenFlow Channel)