一: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. 《你说对就队》第九次团队作业:【Beta】Scrum meeting 2

    <你说对就队>第九次团队作业:[Beta]Scrum meeting 2 项目 内容 这个作业属于哪个课程 [教师博客主页链接] 这个作业的要求在哪里 [作业链接地址] 团队名称 < ...

  2. simple模式下rabbitmq的代码

    simple模式代码 package RabbitMQ import ( "fmt" "github.com/streadway/amqp" "log ...

  3. img src防缓存

    //加时间戳防缓存 var imgurl = "/pcms/headImg/${sessionScope.accountInfo.accountId}_cut.jpg?time=" ...

  4. mage Ansible学习1 常用模块

    一.Ansible特点 二.Ansible架构 1.core modules实现常用模块 2.Custom modules实现自定义模块 3.Connection Plugins 连接插件,可通过SS ...

  5. qDeleteAll与clear

    qDeleteAll:专门用于指针容器,对容器或者迭代器中的每个对象进行delete操作,而不是从容器中移除对象.源代码如下: void qDeleteAll(ForwardIterator begi ...

  6. 【转】SignalR与ActiveMQ结合构建实时通信

    一.概述 本教程主要阐释了如何利用SignalR与消息队列的结合,实现不同客户端的交互 SignalR如何和消息队列交互(暂使用ActiveMQ消息队列) SignalR寄宿在web中和其他Signa ...

  7. word 新建一行文字不能左对齐

  8. python 链表的反转

    code #!/usr/bin/python # -*- coding: utf- -*- class ListNode: def __init__(self,x): self.val=x self. ...

  9. Java 基础:Map的一家

    0.Java中的集合框架 1.Map--接口 public interface Map<K,V> 包:java.util.Map Map提供了一种映射关系,其中的元素是以键值对(key-v ...

  10. localstorage和cookie的设置方法和获取方法

    1.设置localStorage window.localStorage.setItem(vm.mobileSelf,JSON.stringify(contactInfo)); vm.mobileSe ...