openflow的核心思想是将所有的协议都抽象出来,抽象成公共的flow概念。协议抽象:数据,函数(对数据的处理方式),逻辑(数据与处理的对应关系,函数之间的交互行为与时序)
push,match,pop
协议可以用RESTful API快速实现,不一定要单独定义OF的数据

有多个流表和一个组表组成,决定了报文匹配与转发,以及与控制器建立连接的tunnel。
交换机和控制器通过openflow协议通信,控制器通过openflow协议控制交换机
控制器可以增删改交换机中流表的流表项:主动和被动
报文通过流表项进行匹配和执行
流表项按照优先级对报文进行匹配
如果报文匹配了一个流表项,那么报文将会执行流表项中的指令集
没有匹配流表项,默认动作处理:丢弃保温,对下一张刘表进行匹配,转发给控制器
流表项可以设置动作,转发到哪个端口,将报文定向到一个组上,

端口:

  • 物理:对应具体的物理设备
  • 逻辑:抽象,非OF口(tunnel口)
  • 保留:特殊代号(controller、all…)

pipeline:OpenFlow在交换机里处理的流程

  1. 找到最高优先的匹配项
  2. 将指令应用到packet、match、action上,更新对应信息
  3. 将匹配项和动作集送往下一个table
    4.发往controller

对报文根据某些字段进行匹配,取出匹配优先级最大的并计数,然后对这个报文做instructions。有timeout,过一会儿会消失,需要重新去问controller来获得新的流表项。流的cookie即唯一标识符。

Table-miss:
每个流表都有的一条默认规则。当一个报文进入一张流表但是没有任何flow entry 匹配时,就会默认进入table-miss规则(优先级0)。
默认行为:drop、发给controller、发给另一张表
可以被controller动态控制,被送往controller时必须标明是table-miss事件。

Instructions:
在流表里,某个报文匹配到了一条flow,那么就会执行flow entry中写好的instructions,可以是修改报文字段,改metadata,增加删除action set。

OpenFlow了解相关推荐

  1. mininet报错解决:Exception: Could not find a default OpenFlow controller和Cannot find required executable

    早上在使用mininet的时候报错如下: Traceback (most recent call last):File "simple.py", line 63, in myTes ...

  2. 《软件定义网络:基于OpenFlow的SDN》一一2.5 本章总结

    本节书摘来自华章计算机<软件定义网络:基于OpenFlow的SDN>一书中的第2章,第2.5节,作者:Siamak Azodolmolky,更多章节内容可以访问云栖社区"华章计算 ...

  3. ubuntu 14.04设备OVS虚拟OpenFlow交换机配置汇总

    一.设备OVS sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source ( ...

  4. OpenFlow Switch —— 软件架构

    目录 文章目录 目录 OpenFlow Switch 架构 OpenFlow Switch 架构 OpenFlow Controller:SDN 网络将传统的网络结构划分成了 Control Plan ...

  5. OpenFlow Switch — 1.3 规范

    目录 文章目录 目录 OpenFlow 标准和规范 OpenFlow 的端口(Port) OpenFlow 的流表(Flow Table) OpenFlow 的组表(Group Table) Open ...

  6. OVS openflow(二十四)

    OpenFlow 是用于管理交换机流表的协议,ovs-ofctl 则是 OVS 提供的命令行工具.在没有配置 OpenFlow controller 的模式下,用户可以使用 ovs-ofctl 命令通 ...

  7. pox 中 openflow.webservice 组建的学习与使用

    Openflow的一个简单JSON-RPC-ish web service交互式接口,由of_service信息服务派生而来,依赖于webcore组件.可以使用HTTP POST方式发送JSON进行访 ...

  8. ios+openflow 问题

    环境:xcode5.1+ios7.1 需求:A试图 的scroll加入 B视图:[A addSubview:B.view] 问题: 1.B视图载入到A视图上了,但Openflow的图片未载入.后经调试 ...

  9. SDN和OpenFlow的区别—Vecloud微云

    SDN(软件定义网络),顾名思义,通过软件来控制或驱动整个网络.SDN的核心概念有两个,第一是转发面与控制面的分离;第二是开放的可编程接口.另外,SDN强调集中式控制,通过软件来控制整个网络,但这并不 ...

  10. 一种基于openflow的虚拟化层软件flowvisor的API测试

    注明:本文并不对openflow进行分析,本人也是略略知道这个概念,对flowvisor也只是对其API有所测试,更深的源码并未涉及,只是希望该文能对以后的flowvisor研究者提供些许帮助. 一: ...

最新文章

  1. mysql中关于count(*) count(id)的误区
  2. 怪自己,好好的服务器,装啥播放器。。。
  3. 收集网络状态(Ping),并用邮件通知管理员
  4. weblogic概览下的上下文根配置_weblogic创建域
  5. http协议组成(请求状态码)
  6. PAT甲题题解-1077. Kuchiguse (20)-找相同后缀
  7. 假显卡测试软件,如何使用软件检测真假显卡软件验证方法简介
  8. WIN10笔记本电脑右键桌面一直转圈 [解决]
  9. Tony.SerialPorts.RS232串口模块(二)
  10. Linux | CentOS系统时钟校正
  11. hive向mysql导数据_Mysql Hive 导入导出数据
  12. GlusterFS概述
  13. 架构基础 - WAL在各种数据系统的应用
  14. 行内元素、块元素、行内块
  15. 如果你的男朋友是学计算机的,有一个学计算机的男朋友是种怎样的体验?
  16. BD错误集锦2——VM下的centos启动后无法通过mtputty进行远程登陆
  17. 帝国理工学院计算机相关,帝国理工学院计算机
  18. 基于USB3.0、DP1.2的网络隔离数据安全传输方案
  19. C#做一个简单的串口收发上位机
  20. 关于“测试缺陷报告”日常总结

热门文章

  1. 像计算机科学家一样思考python 百度网盘_像计算机科学家一样思考Python PDF_Python教程...
  2. 学生HTML网页作业作品:HTML+CSS网站设计与实现【红色喜庆邀请函 3页】
  3. sessionId在每次request请求时变化的问题处理
  4. 居然还有人在手写测试数据?
  5. 计算机专业打眼会不会有影响,激光打眼后遗症
  6. 关于弹性盒flex布局overflow无作用问题
  7. Linux查看CPU核心数
  8. 神奇宝贝java路径_【NDS地图制作教程零一】如何打开工具——JAVA第一课
  9. 解决django项目中删除数据库表时无法再迁移出来的问题
  10. Python的格式化输出方式