OpenFlow了解
openflow的核心思想是将所有的协议都抽象出来,抽象成公共的flow概念。协议抽象:数据,函数(对数据的处理方式),逻辑(数据与处理的对应关系,函数之间的交互行为与时序)
push,match,pop
协议可以用RESTful API快速实现,不一定要单独定义OF的数据
有多个流表和一个组表组成,决定了报文匹配与转发,以及与控制器建立连接的tunnel。
交换机和控制器通过openflow协议通信,控制器通过openflow协议控制交换机
控制器可以增删改交换机中流表的流表项:主动和被动
报文通过流表项进行匹配和执行
流表项按照优先级对报文进行匹配
如果报文匹配了一个流表项,那么报文将会执行流表项中的指令集
没有匹配流表项,默认动作处理:丢弃保温,对下一张刘表进行匹配,转发给控制器
流表项可以设置动作,转发到哪个端口,将报文定向到一个组上,
端口:
- 物理:对应具体的物理设备
- 逻辑:抽象,非OF口(tunnel口)
- 保留:特殊代号(controller、all…)
pipeline:OpenFlow在交换机里处理的流程
- 找到最高优先的匹配项
- 将指令应用到packet、match、action上,更新对应信息
- 将匹配项和动作集送往下一个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了解相关推荐
- 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 ...
- 《软件定义网络:基于OpenFlow的SDN》一一2.5 本章总结
本节书摘来自华章计算机<软件定义网络:基于OpenFlow的SDN>一书中的第2章,第2.5节,作者:Siamak Azodolmolky,更多章节内容可以访问云栖社区"华章计算 ...
- ubuntu 14.04设备OVS虚拟OpenFlow交换机配置汇总
一.设备OVS sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source ( ...
- OpenFlow Switch —— 软件架构
目录 文章目录 目录 OpenFlow Switch 架构 OpenFlow Switch 架构 OpenFlow Controller:SDN 网络将传统的网络结构划分成了 Control Plan ...
- OpenFlow Switch — 1.3 规范
目录 文章目录 目录 OpenFlow 标准和规范 OpenFlow 的端口(Port) OpenFlow 的流表(Flow Table) OpenFlow 的组表(Group Table) Open ...
- OVS openflow(二十四)
OpenFlow 是用于管理交换机流表的协议,ovs-ofctl 则是 OVS 提供的命令行工具.在没有配置 OpenFlow controller 的模式下,用户可以使用 ovs-ofctl 命令通 ...
- pox 中 openflow.webservice 组建的学习与使用
Openflow的一个简单JSON-RPC-ish web service交互式接口,由of_service信息服务派生而来,依赖于webcore组件.可以使用HTTP POST方式发送JSON进行访 ...
- ios+openflow 问题
环境:xcode5.1+ios7.1 需求:A试图 的scroll加入 B视图:[A addSubview:B.view] 问题: 1.B视图载入到A视图上了,但Openflow的图片未载入.后经调试 ...
- SDN和OpenFlow的区别—Vecloud微云
SDN(软件定义网络),顾名思义,通过软件来控制或驱动整个网络.SDN的核心概念有两个,第一是转发面与控制面的分离;第二是开放的可编程接口.另外,SDN强调集中式控制,通过软件来控制整个网络,但这并不 ...
- 一种基于openflow的虚拟化层软件flowvisor的API测试
注明:本文并不对openflow进行分析,本人也是略略知道这个概念,对flowvisor也只是对其API有所测试,更深的源码并未涉及,只是希望该文能对以后的flowvisor研究者提供些许帮助. 一: ...
最新文章
- mysql中关于count(*) count(id)的误区
- 怪自己,好好的服务器,装啥播放器。。。
- 收集网络状态(Ping),并用邮件通知管理员
- weblogic概览下的上下文根配置_weblogic创建域
- http协议组成(请求状态码)
- PAT甲题题解-1077. Kuchiguse (20)-找相同后缀
- 假显卡测试软件,如何使用软件检测真假显卡软件验证方法简介
- WIN10笔记本电脑右键桌面一直转圈 [解决]
- Tony.SerialPorts.RS232串口模块(二)
- Linux | CentOS系统时钟校正
- hive向mysql导数据_Mysql Hive 导入导出数据
- GlusterFS概述
- 架构基础 - WAL在各种数据系统的应用
- 行内元素、块元素、行内块
- 如果你的男朋友是学计算机的,有一个学计算机的男朋友是种怎样的体验?
- BD错误集锦2——VM下的centos启动后无法通过mtputty进行远程登陆
- 帝国理工学院计算机相关,帝国理工学院计算机
- 基于USB3.0、DP1.2的网络隔离数据安全传输方案
- C#做一个简单的串口收发上位机
- 关于“测试缺陷报告”日常总结
热门文章
- 像计算机科学家一样思考python 百度网盘_像计算机科学家一样思考Python PDF_Python教程...
- 学生HTML网页作业作品:HTML+CSS网站设计与实现【红色喜庆邀请函 3页】
- sessionId在每次request请求时变化的问题处理
- 居然还有人在手写测试数据?
- 计算机专业打眼会不会有影响,激光打眼后遗症
- 关于弹性盒flex布局overflow无作用问题
- Linux查看CPU核心数
- 神奇宝贝java路径_【NDS地图制作教程零一】如何打开工具——JAVA第一课
- 解决django项目中删除数据库表时无法再迁移出来的问题
- Python的格式化输出方式