文章目录

  • 1 OpenFlow协议概述
  • 2 OpenFlow消息类型
    • 2.1 controller-to-switch消息
    • 2.2 asynchronous信息(异步)
    • 2.3 symmtric消息(对称)
  • 3 Openflow消息格式
    • 3.1 OpenFlow头部
    • 3.2 OpenFlow消息体
  • 4 OpenFlow协议的主要通信流程
  • 5 OpenFlow通信流程详解

1 OpenFlow协议概述

OpenFlow协议为控制器与交换机之间的通信,提供了一种开放标准的方式。OpenFlow交换机通过安全通道与控制器进行信息交互。

2 OpenFlow消息类型

2.1 controller-to-switch消息

由控制器发起,可能会要求交换机回复对应的消息

  • Features消息:在建立传输安全会话时,控制器主动向交换机发Feature_Request消息,请求交换机的特性信息,交换机通过Feature_Reply消息回复所支持的功能特性
  • Modify-state消息:修改状态消息主要用于增加、修改、删除交换机的流表项、组表项及端口状态
  • Send-packet消息:一般用于响应Packet-in消息的处理,Packet-out信息必须携带一个Buffer_id,来定位缓存在交换机上的数据包
  • Barrier消息:用于告知控制器该报文之前的动作均已执行

2.2 asynchronous信息(异步)

用于告知控制器新数据包的到达和交换机状态的改变
这类消息的触发不是由控制器触发,而是有交换机主动发起的,用于告知控制器新数据包的到达,和交换机状态的改变

2.3 symmtric消息(对称)

由控制器或交换机任意一方发送,无需对方的许可或请求

3 Openflow消息格式

3.1 OpenFlow头部

Openflow协议数据包:Openflow Header和Openflow Message组成

3.2 OpenFlow消息体

与具体的消息类型有关,消息类型是一种枚举类型,每种消息类型被定义为一个常数

4 OpenFlow协议的主要通信流程

  1. 控制器和交换机连接的建立
  2. 双方建立TLS隧道后,方法发送hello消息进行版本协商,如果协议版本协商成功,则连接建立。否则发送Error消息描述协商失败原因,并终止连接
  3. 协商完成后,控制器和交换机之间发送Features消息,获取交换机参数,参数包括支持的buffer数目、流表数、Actions等
  4. 控制器发送SET_CONFIG消息向交换机发送配置参数
  5. 通过GET_CONFIG消息得到交换机修改后的配置信息
  6. 制器与OpenFlow交换机之间,发送PACKET_OUT和PACKET_IN消息,通过PACKET_OUT中内置的LLDP包进行网络拓扑的探测
  7. 控制器通过FLOW_MOD向控制器下发流表操作

    举例:

5 OpenFlow通信流程详解

五、南向接口协议(二)—— OpenFlow协议相关推荐

  1. Openflow协议读书笔记

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/jk19920523/article/d ...

  2. OpenFlow协议原理及基本配置-网络测试仪实操

    一.OpenFlow协议原理 1.OpenFlow技术背景 ●转发和控制分离是SDN网络的本质特点之一.在SDN网络架构中,控制平面与转发平面分离,网络的管理和状态在逻辑上集中到一起,底层的网络基础从 ...

  3. OpenFlow:简述对OpenFlow协议1.0的认识

    OpenFlow:简述对OpenFlow协议1.0的认识 <OpenFlow:简述对OpenFlow协议的认识> <OpenFlow:简述OpenFlow协议的演进> < ...

  4. 【重识云原生】第四章云网络4.8.2.2节——OpenFlow协议详解

    2 OpenFlow协议详解 2.1 OpenFlow协议简介 OpenFlow协议是基于网络中"流"的概念设计的南向接口协议.在OpenFlow引入了"流"的 ...

  5. OpenFlow网络、OpenFlow交换机及OpenFlow协议的知识总结

    目录 OpenFlow起源与发展 OpenFlow网络 1.OpenFlow交换机: 2.FlowVisor: 3.Controller: OpenFlow交换机 分类 安全通道 流表 OpenFlo ...

  6. 五、南向接口协议概述(一)

    文章目录 1 南向接口协议概述 1.1 什么是南向接口协议 1.2 南向接口协议的设计目标 1.3 南向接口协议有哪些 1.3.1 OpenFlow协议 1.3.2 OF-Config协议 1.3.3 ...

  7. 生动的SDN基础内容介绍(二)--OpenFlow协议

    生动的SDN基础内容介绍(二)--OpenFlow协议 背景 OpenFlow OpenFlow的基础概念 流表项 流表 漏表 流表项的下发 流表项的删除 计量表 组表 控制器与交换机的通信 总结 背 ...

  8. SDN的南向接口协议

    SDN的南向接口协议 OpenFlow协议的消息类型 1.controller-to-switch 消息 2.asynchronous消息 3.symmetric消息 通信流程

  9. 深入分析OpenFlow协议

    文章目录 OpenFlow是什么??? OpenFlow的起源与发展 OpenFlow工作原理 OpenFlow组件 OpenFlow控制器 1.NOX/POX 2.ONOS 3.OpenDaylig ...

最新文章

  1. 数字取整或保留小数四舍五入的正确写法
  2. 数据存储之SharedPreferences
  3. MySQL初识-架构-安装-初始化-连接-管理工具-数据文件
  4. 原来热加载如此简单,手动写一个 Java 热加载吧
  5. CentOS添加明细路由
  6. linux find返回数据不一样,请问一个linux的find的问题,如何让find的返回结果不显示“Perm...
  7. PullToRefresh使用详解(四)--利用回调函数实现到底加载
  8. yum 安装jenkins
  9. windows10应用商店加速方法
  10. hive编程指南电子版_2020浙江省太阳能利用及节能技术重点实验室开放基金课题申请指南...
  11. pr下载与安装(含安装包百度网盘链接)
  12. oracle的number类型
  13. 物联网技术技术架构以及物联网应用领域的介绍
  14. 网站的友情链接是什么?
  15. OSChina 周三乱弹 —— 致力于做一名优秀的女程序员鼓励师
  16. tree是不是动词_【大年初五】暑假里必须复习的40个重点知识点,不看就亏大了!...
  17. html项目符号正方形,html 项目符号
  18. Java成长第五集--面向对象设计的五大原则
  19. windows系统卸载VMware Workstation 并删除注册表残留信息
  20. c语言使用time函数计时,C语言中的计时方法:time

热门文章

  1. 关于VR视频的分辨率、码率、帧率
  2. python画图goto的意思_在python中怎么实现goto功能
  3. Java 四种访问修饰符区别_四种访问修饰符的区别
  4. 疫情肆虐全球,哪些中国科技公司最受影响?
  5. 学习、奋斗、理想、自强、习惯、志趣、踏实、吃苦、读书
  6. 光安检场景下危险品检测
  7. VERITAS存储管理产品:Global Data Manager
  8. kafka版本兼容问题随笔
  9. wavework.m
  10. 底层软件研发推荐软件