SDN基础-OpenFlow概述

一、OpenFlow架构三个组成部分

image

  • 流表(Flow Table),每个动作(Action)关联一个流表项(Flow Entry),指示交换机如何进行流(Flow)的处理
  • 安全通道(Sccure Channel),OpenFlow交换机通过安全通道与远端控制器连接,负责控制器与交换机之间的交互
  • OpenFlow协议(Protocol),定义了一种南向接口标准,为控制器与交换机之间的通信提供了一种开放标准的方式

二、OpenFlow主要版本及特性

image

(一)OpenFlow 1.0

1.0版本中,只支持单流表。每个OpenFlow交换机中,都只有一张流表,用于数据包的查找、处理、转发。并且只能同一台控制器进行通信
流表的维护通过控制器下发相应的OpenFlow消息来实现
流表由多个流表项组成,每个流表项就是一个转发规则。
流表项有匹配字段、计数器和动作组成
由于1.0与其他版本不兼容,所以将1.0和1.3版本作为长期支持的稳定版本

(二)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个,足以满足当时的网络应用需求
OpenFlow1.3增加了计量(Meter)表,以此控制关联流表的数据包的传输效率。
于交换机和控制器根据自身需要协商支持的OpenFlow版本

(五) OpenFlow 1.4(基于1.3的改进版)

主要增加了流表同步机制,能够让多个流表可以共享相同的匹配字段。而且还可以定义不同的动作

(六)OpenFlow 1.5

主要变化是流水线的处理流程。在入向匹配的基础上增加了出向匹配的过程

单流表到多级流表的架构

image
随着越来越多样化的网络需求,流表变得十分臃肿。单流表对硬件的需求越来越高
image
多张流表串联起来形成流水线,数据包的匹配在流水线的处理过程中完成
image
该版本中增加了入向匹配和出向匹配两个阶段

posted @ 2022-09-15 21:27  lht333  阅读(784)  评论(0编辑  收藏  举报