openflow初学者入门笔记二(openflow 1.0 and openflow 1.3)

一.消息列表:

OF 协议支持三种消息类型:controller-to-switchasynchronous(异步)和 symmetric (对称),每一类消息又有多个子消息类型

1.controller-to-switch(controller发起,用来管理和获取Switch信息)

 

Features 在建立传输层安全会话(Transport Layer Security Session)的时候,控制器发送feature请求消息给交换机,交换机需要应答自身支持的功能。(用于询问交换机的功能)

Configuration 控制器设置或查询交换机上的配置信息。交换机仅需要应答查询消息。

Modify-state 控制器管理交换机流表项和端口状态等。(操作flow table or group table or port属性)

Read-state 控制器向交换机请求一些诸如流、网包等统计信息。(又比如Counter)

Packet-out 控制器通过交换机指定端口发出网包(数据报文)

Barrier控制器确保消息依赖满足,或接收完成操作的通知(保证消息的不同顺序)

Asynchronous-Configuration 用于告诉交换机,它对哪些交换机发送来的消息感兴趣

Role-Request 当交换机有多个角色时,Controller用这个消息向交换机宣告自己的角色


2.Asynchronous(异步)

   又称switch-to-controller由switch 发起,用来将网络事件或交 换机状态变化更新到控制器

 

Packet-in 交换机收到一个网包,在流表中没有匹配项,则发送 Packet-in 消息给控制器。如果交换机缓存足够多,网包被临时放在缓存中,网包的部分内容(默认 128 字节)和在交换机缓存中的的序号也一同发给控制器;如果交换机缓存不足以存储网包,则将整个网包作为消息的附带内容发给控制器。

Flow-removed 交换机中的流表项因为超时或修改等原因被删除掉,会触发 Flow-removed 消息告诉Controller

Port-status 交换机端口状态发生变化时(例如 down 掉),触发 Port-status 消息。

Error 交换机发生问题时触发消息通知Controller

 

3.Symmetric(同步)

Hello 交换机和控制器用来建立连接。(初始建立对话时,相互发送hello进行初始化)

Echo 交换机和控制器均可以向对方发出 Echo 消息,接收者则需要回复 Echo reply。该消 息用来测量延迟、是否连接保持等。 (用于确认交换机和控制器的连通性和延迟,每5s一次)

建立连接 

   Openflow Switch                                            Controller    

                 1.Hello     -------------------------------->

                                <--------------------------------     2.Hello

                                <--------------------------------    3.Features Request

 4.Features Reply    -------------------------------->

                               <--------------------------------     5.Set Config

       6.Package In    -------------------------------->  

                               <--------------------------------     7.Package Out

      8.Package In     -------------------------------->  

                               <--------------------------------     9.Package Out

    10.Port Status      -------------------------------->

     

注释:  1&2:协商版本号    

        3:询问交换机的信息

        4:交换机状态信息发送给控制器   

        5:设置交换机(1-5为交换机和控制器相互认识的过程)

        6:交换机第一次将包上传给控制器

        7:控制器下发包的处理信息(动作等)

        10:状态更新(流表端口等变化)上传给控制器

 

信息交互:

例:在SDN简单拓扑下,h1 ping h2

拓扑如图:


交互过程:

 

ARP 协议中:

 openflow初学者入门笔记二(openflow 1.0 and openflow 1.3)_第1张图片

ICMP协议中:

 openflow初学者入门笔记二(openflow 1.0 and openflow 1.3)_第2张图片

 

  

你可能感兴趣的:(switch,open,flow,sdn,OpenFlow入门,SDN入门)