连接建立


Controller与Switch建立连接-LMLPHP

消息列表


Controller与Switch建立连接-LMLPHP

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

协议交互


Controller与Switch建立连接-LMLPHP

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

Controller与Switch建立连接-LMLPHP

Controller与Switch建立连接-LMLPHP

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

Controller与Switch建立连接-LMLPHP

05-25 20:07