Openflow流表学习

OpenFlow是一种新型的网络协议,它是控制器和交换机之间的标准协议。自2009年底发布1.0版本后,OpenFlow协议又经历了1.1、1.2、1.3及1.4版本的演进过程,目前使用和支持最多的是1.0和1.3版本。
OpenFlow1.3在1.0版的基础上进一步优化及升级,其中添加了很多新的特性及消息,如支持多个流表(flow table)、组表(group table),支持多控制器等。一个流表中包含多个流表项。
OpenFlow v1.3中流表项主要由7部分组成,分别是匹配域(用来识别该条表项对应的flow)、优先级(定义流表项的优先顺序)、计数器(用于保存与条目相关统计信息),指令(匹配表项后需要对数据分组执行的动作)、Timeouts、Cookie、Flags,如下图所示。


首先交换机解析进入设备的数据分组,然后从table 0开始匹配,按照优先级高低依次匹配该流表中的流表项,一个数据分组在一个流表中只会匹配上一条流表项。通常根据数据分组的类型,分组头的字段例如源MAC地址、目的MAC地址、源IP地址、目的IP地址等进行匹配。也可以通过数据分组的入端口或元数据信息来进行数据分组的匹配,一个流表项中可以同时存在多个匹配项,一个数据分组需要同时匹配流表项中所有匹配项才能匹配该流表项。数据分组匹配按照现有的数据分组字段进行,比如前一个流表通过apply actions改变了该数据分组的某个字段,则下一个表项按修改后的字段进行匹配。如果匹配成功,则按照指令集里的动作更新动作集,或更新数据分组/匹配集字段,或更新元数据和计数器。根据指令是否继续前往下一个流表,不继续则终止匹配流程执行动作集,如果指令要求继续前往下一个流表则继续匹配,下一个流表的ID需要比当前流表ID大。当数据分组匹配失败了,如果存在无匹配流表项(table miss)就按照该表项执行指令。一般是将数据分组转发给控制器、丢弃或转发给其他流表。如果没有table miss表项则默认丢弃该数据分组。

Openflow流表学习相关推荐

  1. 软件定义网络SDN基础实验:MiniNet常用命令、创建网络拓扑、OpenFlow流表操作

    此实验基于<软件定义网络实验1-5>,主要内容为: MiniNet常用命令 如何创建网络拓扑 OpenFlow流表操作 00x1 搭建SDN环境 SDN 环境配置:Mininet + Ry ...

  2. ovs 删除openflow流表

    有如下三种方法可以删除openflow流表: a. controller/ovs-ofctl主动发命令(OFPFC_DELETE or OFPFC_DELETE_STRICT)删除流表.OFPFC_D ...

  3. openflow流表超时时间

    插入openflow流表时,如果超时时间不为0,则将rule插入超时链表 ofproto_rule_insert__const struct rule_actions *actions = rule_ ...

  4. Neutron系列 : Neutron OVS OpenFlow 流表 和 L2 Population(8)

    问题导读: 1.怎样使用arp_responder ? 2.怎样搭建l2pop环境? 3. ARP Responder arp_responder 的原理不复杂.Neutorn DB 中保存了所有的端 ...

  5. 【SDN】OpenDaylight下发OpenFlow流表实现Mininet主机通信

    目录 方式1:通过OpenFlow保留端口(NORMAL),实现传统交换机的模式. 方式2:通过match中in-port字段匹配端口,然后,实现instruction字段指定动作,将数据包通过端口转 ...

  6. openflow协议的工作原理及流表的基本操作

    openflow协议的工作原理及流表的基本操作 1.openflow协议的工作原理 首先看一下python文件中的拓扑图,主机h1如果要与h3进行通信,h1向网络发送数据包,这里数据包发送给交换机s1 ...

  7. Openlab实验平台实验--使用Postman下发流表

    任务目的 1.掌握OpenFlow流表相关知识,理解SDN网络中L2,L3,L4层流表的概念. 2.学习并熟练掌握Postman工具下发L2,L3,L4层流表. 任务环境 注:系统默认的账户为root ...

  8. OpenDayLight+Mininet+Postman下发流表实验

    OpenDayLight+Mininet+Postman下发流表实验 VM实验环境 笔记本环境 Tips1 Tips2 任务目的 任务内容 实验原理 一. 流表结构 二. 匹配域解析流程 三. Ope ...

  9. Open vSwitch流表应用实战

    本文参考:Open vSwitch流表应用实战 一个通过改变流表下发而实现的互相通信实验. 实验目的: 掌握Open vSwitch下发流表操作: 掌握添加.删除流表命令以及设备通信的原理. 原理:. ...

最新文章

  1. Windows PE第九章 线程局部存储
  2. [YTU]_2627 (职工工资统计)
  3. 查看linux电脑总内存,如何查看Linux系统中的内存使用情况的命令呢?
  4. C#.NET验证码智能识别学习笔记---05C#.Net图片预处理
  5. EF架构~DefaultValue让我的UnitOfWork更可读
  6. 基于arduino ws2812b简单的渐变代码
  7. RELYUM—针对关键系统的物联网和网络安全解决方案 (一)
  8. 安尼泰科T1行车记录仪说明书
  9. Mapwingis添加图层,实现label
  10. 各大EMM厂商功能比较 第三部分 Network Gateway比较
  11. 将android程序写入内存,android中将数据写入手机内存和sdcard中的文件
  12. 某工厂配电线路及变电所设计
  13. 《概率论与数理统计》再学习之事件的互斥(互不相容)和独立的关系
  14. CTFshow命令执行29-123
  15. 网站服务器怎么屏蔽ip段,iis屏蔽ip段,网站禁止ip访问
  16. Origin作图流程
  17. vr虚拟现实视频是什么?vr视频软件哪个比较好
  18. Dextran-Azide,Dextran-N3结构式;叠氮修饰的葡聚糖 科研用试剂说明
  19. 微信多开txt_电脑上登录多个微信(微信多开)教程
  20. 2015年的计算机二级考试题,2015年计算机二级《MSOffice》试题及答案

热门文章

  1. 浏览器的一些滚动行为鉴赏
  2. 【CV】Sobel算子简介
  3. 如何让Div中的Table居中
  4. 从Kenshi身上能够学到什么
  5. ConstraintLayout
  6. Python 爬取 42 年高考数据,告诉你高考为什么这么
  7. 使用SSH传输文件/文件夹
  8. Ruoyi数据权限功能实现
  9. python函数返回值
  10. java中的super关键字