一:OpenFlow概述

二:交换机模型架构

(一)OpenFlow构架三个组成成分

三:OpenFlow 1.0版本

自OpenFlow1.0发布以来,目前已经有多个版本的OF规范版本被发布

四:OpenFlow主要版本及特性

(一)OpenFlow 1.0

.0版本中,只支持单流表。每个OpenFlow交换机中,都只有一张流表,用于数据包的查找、处理、转发。
并且只能同一台控制器进行通信

流表由多个流表项组成,每个流表项就是一个转发规则。
流表项有匹配字段、计数器和动作组成

(二)OpenFlow 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

该版本中增加了入向匹配和出向匹配两个阶段

软件定义网络基础---OpenFlow概述的更多相关文章

  1. 软件定义网络基础---OpenFlow流表

    一:流表 (一)流的概念 我们把同一时间经过同一网络中,具有某种共同特征或属性的数据,抽象为一个流 比如:我们将访问同一个地址的数据视为一个流 流一般是由网络管理员定义的,可以根据不同的流执行不同的策 ...

  2. 软件定义网络基础---OpenFlow协议

    一:OpenFlow协议概述 OpenFlow协议为控制器与交换机之间的通信,提供了一种开放标准的方式.OpenFlow交换机通过安全通道与控制器进行信息交互 二:OpenFlow消息类型 (一)co ...

  3. 软件定义网络基础---REST API概述

    一:什么是REST API REST API是北向接口的主流设计方式 API是应用程序编程接口,是预先定义好的函数,可以供应用程序或开发人员访问调用 年 Roy Thomas Fielding 的博士 ...

  4. 软件定义网络基础---SDN控制平面

    一:SDN控制平面 一个或多个SDN控制器组成,是网络的大脑.  对底层网络交换设备进行集中管理,状态监测.转发决策以及处理和调 度数据平面的流量:  通过北向接口向上层应用开放多个层次的可编程能 ...

  5. Linux系统学习 四、网络基础—互联网概述,互联网接入方式

    互联网概述 WWW:万维网 FTP:文件传输协议 E-MAIL:电子邮件 WWW 典型的C/S架构 URL:统一资源定位 协议+域名或IP:端口+网页路径+网页名 http://www.xxx.com ...

  6. 软件定义网络基础---REST API的设计规范

    一:REST API的设计 REST API是基于HTTP协议进行设计的,由HTTP动词+URI组成 (一)HTTP动词 (二)资源的原型 文档(Document): 文档是资源的单一表现形式: 集合 ...

  7. 软件定义网络基础---SDN数据平面

    主要介绍SDN架构和转发模型 一:传统网络设备 (一)传统设备控制平面和数据平面 (二)数据平面的任务 数据平面对数据包的处理,主要通过查询由控制平面所生成的转发信息表来完成 (三)传统网络数据平面数 ...

  8. 软件定义网络基础---SDN的核心思想

    一:SDN包含的核心思想:解耦,抽象,可编程 二:解耦 (一)SDN网络解耦思想 解耦是指将控制平面和数据平面进行分离,主要为了解决传统网络中控制平面和数据平面在物理上紧耦合导致的问题 控制平面和数据 ...

  9. 软件定义网络基础---SDN的主流构架

    一:基于不同标准的主流构架 二: ONF定义的SDN基本构架 (一) 四个平面.两大接口 三:四个平面 (一)数据平面 数据平面是由若干网元(Netword Element)构成,每个网元包括一个或多 ...

随机推荐

  1. 《CoderXiaoban》第八次团队作业:Alpha冲刺1

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验十二 团队作业8:软件测试与ALPHA冲刺 团队名称 Coderxiaoban团队 作业学习目标 (1)掌握软件测试基 ...

  2. DTCMS

    DTCMS数据表: http://www.cnblogs.com/hifor/p/4560882.html DTCMS系统框架: http://www.cnblogs.com/hifor/p/4561 ...

  3. 第122题:买卖股票的最佳时机II

    一. 问题描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交 ...

  4. c++中如何使用memset()

    转载链接1 转载链接2

  5. 要求用Windows下批处理和Linux下的shell脚本完成,两文本交替输出

    两个短文件 两个空文件 一空一短 两长

  6. linux下Boost序列化问题解决

    由于项目需要,要使用boost,所以在网上找了一些例子帮助理解,其中遇到很多问题,再次总结记录一下.#include <boost/archive/text_oarchive.hpp> # ...

  7. [TypeScript] Optional Chaining with TypeScript 3.7

    TypeScript 3.7 adds support for optional chaining. This lesson shows you how to use it in your code ...

  8. Spring asm

    Spring 获取类的详细信息,以及方法时候,是通过asm 字节码进行获取的,在平时中我们也可以依赖spring 进行处理我们的类 //可以获取类的详细信息,比如父类上谁,类上面的注解 ,是否上接口 ...

  9. Acwing P298 围栏

    Analysis ①首先将所有粉刷匠,按照必须刷的小木块Si从小到大排序. 上面这个操作为了保证我们可以顺序处理. ②我们可以设f[i][j]表示为,前i个粉刷匠,刷了前i个木块.可以有些木块选择不刷 ...

  10. PHP 将某一字符串转化为变量

    1. $test = 'test'; $var = 'test'; echo  $$var 运行结果为test 2. $this->test = 'test'; $var = 'test'; e ...