博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenFlow消息
阅读量:5302 次
发布时间:2019-06-14

本文共 1547 字,大约阅读时间需要 5 分钟。

☞Openflow消息总共分为三大类:

   1、Controller‐to‐Switch
        控制器至交换机消息此类消息由控制器主动发出
    Features 用来获取交换机特性
    Configuration 用来配置Openflow交换机
    Modify‐State 用来修改交换机状态(修改流表)
    Read‐Stats 用来读取交换机状态
    Send‐Packet 用来发送数据包
    Barrier 阻塞消息
 2、Asynchronous
   异步消息此类消息由交换机主动发出
    Packet‐in 用来告知控制器交换机接收到数据包
    Flow‐Removed 用来告知控制器交换机流表被删除
    Port‐Status 用来告知控制器交换机端口状态更新
    Error 用来告知控制器交换机发生错误
 3、Symmetric
   对称消息,可以由控制器或交换机主动发起
    Hello 用来建立Openflow连接
    Echo 用来确认交换机与控制器之间的连接状态
    Vendor 厂商自定义消息

☞Openflow消息格式

  Openflow协议数据包由Openflow Header和Openflow Message两部分组成

   Openflow header的结构:

    

   Openflow Message结构与具体消息类型有关:

   Openflow消息类型:

    

☞Openflow Channel

  openFlow Channel是指交换机跟Controller之间的连接通道,可以是外带管理通道(交换机面板上跟Console口在一起的那个单独的Ethernet端口,物理上跟业务端口分离),也可以是带内管理口(复用业务端口),现在常见的都是带外管理口,主要原因是简单,用带内口需要配置交换芯片和协议栈。

  openFlow Channel连既可以是TCP连接,也可以是加密的TLS连接,由设备商或者用户自行决定用哪种。使用TCP/TLS连接主要是为了保证可靠性。如果交换机连接了多个Controller,那么会创建多条TCP/TLS连接。

☞Controller角色和选举

  一台openFlow交换机可以同时连接到多个Controller,这些Controller有三种角色,分别是Master、Slave和Equal。

  Master----一台交换机连接到的所有Controller中,只有一个Master,它对交换机拥有完全的操作控制权。
  Slave-----一台交换机所连接到的所有Controller中,可以有多个Slave,它们对交换机只有读取交换机状态和被动收取交换机消息的权限,不能对交换机进行配置,一旦Master宕掉,其中一台Slave就会被选举为Master。每个Slave可以接收不同的消息类型,从而在多个Slave之间进行负载分担。
  Equal----又的网络中可能希望有多个Controller都能对交换机进行配置,以便进行负载分担。这种情况下这些Controller可以被配置为Equal角色,一台交换机允许同时连接到多个Equal角色的Controller,这些Controller对交换机拥有和Master一样的功能。
  这些角色初始的时候都是管理员配置的。当Master出故障后,Slave可以通过选举的方式变为Master。交换机没有决定权。OpenFlow标准并没有定义如何进行选举。

转载于:https://www.cnblogs.com/zhanglei93/p/5003326.html

你可能感兴趣的文章
找工作 做一些关于面试的笔记
查看>>
English trip -- VC(情景课)1 C What's your name?(review)
查看>>
redirect的错误用法asp.net怎么使用自定义错误
查看>>
在MyEclipse下统计工程的代码(package、行数、类个数)
查看>>
Erlcron分析学习
查看>>
idea 快捷键
查看>>
SimpleDateFormate的使用
查看>>
菜鸟运维笔记:Windows上用Xshell管理你的云主机
查看>>
JavaScript中的this
查看>>
Activity生命周期
查看>>
jsp
查看>>
OpenNI / NITE的Stable版更新
查看>>
03 基本数据结构 - 栈
查看>>
Hyper-V虚拟机上安装一个图形界面的Linux系统
查看>>
微信小程序之随笔
查看>>
每秒处理10万高并发订单的乐视集团支付系统架构分享
查看>>
Lua_02
查看>>
ios蓝牙详解
查看>>
安装MySQL5.7.18遇到的坑
查看>>
React Native在Android平台运行gif的解决方法转载
查看>>