一:OpenFlow概述
二:交换机模型架构
(一)OpenFlow构架三个组成成分
三:OpenFlow 1.0版本
自OpenFlow1.0发布以来,目前已经有多个版本的OF规范版本被发布
四:OpenFlow主要版本及特性
(一)OpenFlow 1.0
1.0版本中,只支持单流表。每个OpenFlow交换机中,都只有一张流表,用于数据包的查找、处理、转发。 并且只能同一台控制器进行通信
流表由多个流表项组成,每个流表项就是一个转发规则。 流表项有匹配字段、计数器和动作组成
(二)OpenFlow 1.1
1.1版本支持多级流表,形成流水线处理流表匹配的各个过程,能够避免单流表过度膨胀问题(太长的问题)
,也能更好的利用硬件内部固有的多标特性
1.1和1.0不兼容,但是后续版本都是基于1.1版本
(三)OpenFlow 1.2
下发的匹配字段不再是固定长度的结构,而是采用TLV结构 //<---TLV(Type,Length,Value)三元组--->
定义匹配字段,称为OpenFlow可扩展匹配
同时,该协议规定一台交换机可以和多态controller连接,增强可靠性。 可以通过controller命令消息变换角色。 并且从OpenFlow1.2开始支持IPV6协议
(四)OpenFlow 1.3(长期支持稳定版)
支持的匹配关键字增加到40个,足以满足当时的网络应用需求
(五) OpenFlow 1.4(基于1.3的改进版)
主要增加了流表同步机制,能够让多个流表可以共享相同的匹配字段。而且还可以定义不同的动作
(六)OpenFlow 1.5
主要变化是流水线的处理流程。在入向匹配的基础上增加了出向匹配的过程
(七)由于1.0与其他版本不兼容,所以将1.0和1.3版本作为长期支持的稳定版本
后续版本的发展,要维持版本的一个兼容性
五:单流表到多级流表的构架(对四的整理回顾)
(一)单流表---OpenFlow 1.0
随着越来越多样化的网络需求,流表变得十分臃肿。单流表对硬件的需求越来越高
(二)多级流表+组表---OpenFlow 1.1-1.4
多张流表串联起来形成流水线,数据包的匹配在流水线的处理过程中完成
(三)出入向匹配---OpenFlow1.5
该版本中增加了入向匹配和出向匹配两个阶段