主要介绍SDN架构和转发模型
一:传统网络设备
(一)传统设备控制平面和数据平面
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003165538487-766452906.png)
(二)数据平面的任务
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003165657805-1305337133.png)
数据平面对数据包的处理,主要通过查询由控制平面所生成的转发信息表来完成
(三)传统网络数据平面数据包的处理流程
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003165943286-1676510551.png)
(四)传统网络数据转发处理特点
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003170028161-635745241.png)
比如某一设备的数据平面,只能对某几种特定协议的数据包进行解析
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003170146655-1091017108.png)
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003170253863-786379408.png)
二:SDN数据平面架构
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003170417354-1327911330.png)
(一)主要变化
第一:在该SDN数据平面中,包处理流程中的所有模块,包括解析、转发和调度,都是可编程、协议无关的
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003170638507-2071190226.png)
第二:传统网络设备中的二层或三层转发表被抽象成流表
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003170759900-1594091718.png)
三:OpenFlow转发模型
(一)SDN数据平面实现的一次尝试
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003171032992-1311432999.png)
(二)OpenFlow交换机转发模型
在该转发模型中,OpenFlow交换机将传统网络数据平面中的各种查找表抽象成一种通用的流表结构。
同时将数据转发处理,抽象成通用的匹配-动作过程(Match-Action过程)
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003171402325-1267335159.png)
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003171457140-992945276.png)
(三)OpenFlow交换机通用转发模型---代表性和缺点
代表性
OpenFlow交换机转发模型是现有通用可编程数据平面中的代表。目前主流SDN物理交换机和虚拟交换机都实现了对OpenFlow的支持
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003171754993-2120850024.png)
缺点
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003171853993-1711228403.png)
四:可编程协议无关交换机架构(PISA架构)
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003172123648-704546609.png)
(一)与OpenFlow相比
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003172409685-665506624.png)
改进了OpenFlow交换机在支持新网络协议方面的不足(可编程可以实现对新网络协议的支持--动态)
![](https://img2018.cnblogs.com/blog/1309518/201910/1309518-20191003172521746-174660448.png)
注:解析器和匹配-动作单元只有在被编程后,才能做具体的数据包处理工作。PISA芯片在没有配置前,不会实现任何的数据平面协议,所以说PISA是协议无关的架构