• Controller与Switch建立连接


    连接建立


    控制器和交换机认识的过程。

    1. 用于交互Openflow版本,如果不同则没有后续。
    2. 同1。
    3. 特征请求,控制器询问交换机的特征信息。
    4. 交换机回复控制器,相当于把整个交换机的所有配置都告诉控制器了。
    5. 控制器对交换机的简单设置。
    6. 由于交换机刚开启时没有Flow Table,当交换机收到包的时候不知道怎么办,它会把这个包通过packet in的方式交给控制器,询问控制器怎么做。
    7. 对于6的计算结果回复。
    8. 同6。
    9. 同7。
    10. 端口状态,如果交换机端口状态变动,通过这个包来告诉控制器,控制器及时更新数据库。

    消息列表


    Controller to Switch消息 备注
    Feature Controller用这个消息类型询问交换机支持的功能(feature request/reply)
    Configuration Controller用这个消息类型配置或查询交换机参数(get/set config)
    Moddify-State 操作流表和group表或者port属性
    Read-State 获取交换机的各种状态信息,比如Counter
    Packet-out 向外发送匹配某条流表项的数据报文
    Barrier 保证不同消息的顺序
    Role-request 当交换机有多个Controller时,Controller用这个消息向交换机宣告自己的角色
    Asynchronous-Configuration 用于告诉交换机,它对哪些交换机发送过来的消息感兴趣
    Switch to Controller消息 备注
    Packet-in 当有报文匹配某条流表项,该项action是output to Controller-port时或交换机的流表为空时,这个报文就通过Packet-in的消息送到Controller
    Flow-removed 当某条流表项被删除的时候,则Flow-removed消息告知Controller
    Port-status 当端口状态变化时,交换机用这个消息类型向Controller通告状态变化
    Error 当交换机出现错误的,用这个消息类型告知Controller
    symmetric消息 备注
    Hellow Controller和Switch初始建立会话的,相互发送hello初始化
    Echo 用于确认Controller和Switch的连通性和延迟每5s
    Experimenter 实验位,可以让厂商有各自的私有扩展

    协议交互


    • h1通过ARP协议获得h2的MAC地址,然后向h2发数据包,下面是过程。

    • 交换机没有大脑(傻逼),只要不能匹配流表项,就要向Controller询问。
    • ICMP

  • 相关阅读:
    委托&指针函数&回调函数
    Unity animation笔记1
    hadoop源码编译
    protocbuf的安装
    学习hadoop不错的一些文章
    moven的安装
    在Linux上安装与配置Hadoop
    linux tar命令详解
    How to contribute to hadoop common
    Ubuntu下SVN的安装
  • 原文地址:https://www.cnblogs.com/031602523liu/p/8984801.html
Copyright © 2020-2023  润新知