OpenFlow 消息

OpenFlow 的消息共分为三类:

Controller-to-Switch
顾名思义,此类消息是由控制器主动发出

Features 用于获取交换机特性

Configuration 用于配置 OpenFlow 交换机

Modify-State (用来修改交换机状态修改流表)

Read-States 用来获取交换机状态

Send-Packet 用来发送数据包

Barrier 阻塞消息

Asynchronous
异步消息,此类消息由交换机主动发出

Packet-in 用来告知控制器交换机接收到数据包

Flow-Removed 用来告知控制器交换机的流表被删除

Port-Status y用来告知控制器交换机端口状态更新

Error 用来告知控制器交换机发生错误

Symmetric
对称消息,控制器和交换机都可以发起

Hello 用来建立 OpenFLow 连接

Echo 用来确认控制器与交换机之间的连接状态

Vendor 厂商自定义消息

消息格式

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

OpenFlow Header的结构:

struct ofp_header { uint8_t version; /*OpenFlow 协议的版本*/ uint8_t type; /*消息类型*/ uint16_t length; /*整个数据包的长度*/ uint32_t xid; /*这个数据包的标识id*/ }

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

OpenFlow message

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxzwj.html