• openflow控制器和交换机之间的消息


    openflow控制器和交换机之间的消息

    消息格式

    openflow消息由64bit,8个字节组成

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

    Openflow头

    所有的open flow消息都是从open flow头开始,其格式如下

    wireshark分析如下

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

    Openflow消息类型:

    安全通道的建立和初始化设置

    安全通道建立的步骤

    1.由OpenFlow交换机对OpenFlow控制器建立未加密的TCP连接或基于
    TLS的连接
    2.确定安全通道中要使用的OpenFlow版本
    3.握手
    4.交换其他必要的设置等(任意)

    确定要使用的openflow版本

    建立安全通道后,要确定通过安全通道进行交换的OpenFlow协议的版本。安全通道建立后的初始动作如下图

    建立安全通道后,为了确定将要使用的版本,OpenFlow交换机和OpenFlow控制器都将发送Hello消息。Hello消息仅由OpenFlow头构成。

    发送的Hello消息中携带各自支持的最大版本号。安全通道中要使用的版本号就是基于这些信息确定的。具体而言,就是将采用OpenFlow交换机和OpenFlow控制器所发送的版本号中较小的那一个版本。
    对于要使用的OpenFlow版本未取得相一致的意见时,需要发送包含OFPET_HELLO_FAILED的Error 消息

    握手

    通过交换Hello消息建立安全通道后,执行OpenFlow 控制器和OpenFlow交换机的握手。OpenFlow 控制器通过握手掌握OpenFlow交换机的相关信息后,即可对OpenFlow交换机进行控制。握手之前的步骤皆为建立安全通道后的初始设置。

    OpenFlow 控制器向OpenFlow交换机发送问询功能的Features请求消息,OpenFlow交换机返回Features响应消息,从而完成握手。与Hello消息相同,Features请求消息也仅由OpenFlow头构成。

    Features响应消息中包含的各字段内容如表2.11所示。从表2.11可知,Features响应消息把与OpenFlow交换机相关的基本信息都提供给了OpenFlow控制器。OpenFlow控制器可获知OpenFlow交换机支持的行动、传输容量以及存在什么样的物理端口等信息。

    SET_CONFIG、GET_CONFIG

    请求消息规范中虽未规定握手后必须这样做,但OpenFlow控制器有时会向OpenFlow
    交换机发送SET_CONFIG消息以发送设置信息,或发送GET_CONFIG请求消息以查询OpenFlow交换机的设置状态。

    Flow-Mod消息

    packet-in

    packet-out

    port-status

    在OpenFlow交换机中添加、删除或修改物理端口时,需要发送Port-
    Status 消息来通知OpenFlow 控制器。
    Port-Status消息的结构如图2.20所示。作为表示发送该消息理由的reason,定义了OFPPR_ADD(0)、OFPPR_DELETE(1)、OFPPR_MODIFY(2)
    这3种数值。ofp phy port结构体与图2.12所示相同。

    Flow-Removed 消息

    当OpenFlow交换机中设置的流表项超时时,OpenFlow交换机要向OpenFlow控制器发送Flow-Removed消息。为确保OpenFlow控制器收到该消息,仅在其发出请求时才发送。

    Error 消息

    Error 消息的作用是通知出现了某种错误。OpenFlow交换机和OpenFlow控制器都可发送Error消息

    Barrier消息

    在OpenFlow协议中,并非每一个通过安全通道进行交换的消息都需要响应。例如,初始设置后有时会使用的SETCONFIG消息就并不需要响应。因此,使用安全通道发送消息的一方有时并不知道接收信息方处理消息的程度。
    为了解决类似问题,在OpenFlow协议中备有称为Barrier消息的机制。Barrier消息的目的是掌握消息的处理程度,虽然很普通,但却是OpenFlow协议的重要消息机制之一

    Echo 消息

    OpenFlow 控制器和OpenFlow交换机可通过发送Echo请求消息来确认二者之间是否连接、检测通信延迟、测量通信带宽等。接收Echo请求消息的一方会向对方返回Echo响应消息(图2.24)。

    相关链接

    OpenFlow 交换机与控制器交互步骤

    Openflow协议详解

  • 相关阅读:
    吴恩达深度学习与神经网络
    吴恩达机器学习的ppt以及作业编程练习题答案(别人总结的)
    关于机器学习的小科普
    质因数分解
    FFT
    Luogu P1262 间谍网络
    关于次短路
    Luogu P1955 [NOI2015]程序自动分析
    Luogu P1041传染病控制
    Bzoj 1731 POJ 3169 Luogu P4878 Layout
  • 原文地址:https://www.cnblogs.com/mrwuzs/p/10369889.html
Copyright © 2020-2023  润新知