我们平时讲的OpenFlow南向接口,就是指Controller和交换机之间的标准消息接口。
Controller和交换机之间的消息分为三大类,分别是Controller-to-Switch消息、Asynchronous(异步)消息(也就是Switch-to-Controller消息)、Symmetric(对称)消息。
1. Controller-to-Switch消息
这种类型的消息是从Controller发往Switch,包括以下几种子类型:
(1)Features:Controller用这个消息询问交换机能支持的功能。
(2)Configuration:Controller用这个消息类型去配置交换机或者查询交换机配置参数。
(3)Modify-State:Controller用这个消息类型来操作流表(add/delete/modify)和group表,以及Port属性等。
(4)Read-State:Controller用这个消息类型来获取交换机各种状态信息,比如Counter。
(5)Packet-out:Controller用这个消息类型向外发送匹配某条流表项的数据报文。
(6)Barrier:Controller用这个消息类型来保证一些其他消息之间的顺序,比如A和B两个消息有依赖关系,B依赖A。为了保证这个顺序,Controller先朝交换机发送消息A,然后再发送一个Barrier消息,交换机要等消息A被执行之后才发送一个对Barrier消息的回复,Controlle