3.1数据平面的任务
- 解析数据包头
- 转发数据包到某些端口
通过查询由控制平面所生成的转发表
传统网络数据平面
- 数据包--输入端口---拆封和解析,转发策略匹配,转发调度---输出端口(协议相关,只能处理某几种特定协议的数据包;功能模块固定,支持有限的用户配置,不支持变成自定义)
1.二层表:完成MAC地址学习和查找处理
2.三层表:IP地址的学习和查找的处理
SDN数据平面架构
- 数据包--输入端口---拆封和解析,转发策略匹配,转发调度(可编程)---输出端口
1.处理过程可编程--任意定义编程
2.二层或三层被抽象成流表 - 用户定义的网络处理功能--可编程的数据转发处理
OpenFlow 交换机通用转发模型
-----------现有通用可编程数据平面代表
OpenFlow支持SDN物理交换机和虚拟交换机但是
1.未实现协议无关转发
2.不支持对数据包解析逻辑进行编程
PISA架构
----------------可编程协议无关交换机架构
数据包到达后,由可编程解析器解析,再入口侧通过一系列的匹配-动作阶段,然后经由队列系统交换,再由出口匹配-动作阶段再次处理,重新组装发送输出接口
- 设计了可编程解析器,实现了协议无关的数据包解析处理
- 在入口和出口分别设计了匹配--动作逻辑
3.2 OpenFlow交换机架构
三部分组成:
- Flow Table:指示交换机如何进行流的处理,每个动作关联一个流表项
- Security Channel:负责控制器与交换机之间的交互,通过安全通道与远端控制器连接
- OpenFlow Protocol定义了一个南向接口标准,为控制器与交换机之间的通信提供了一种开放标准