This document discusses OpenFlow protocols, including OpenFlow switch and controller communication. It describes the different OpenFlow message types - controller-to-switch messages which manage switch state, asynchronous messages from switch to controller about network events, and symmetric messages that can be sent in either direction. It provides packet structure examples and discusses how OpenFlow channels are used to exchange messages over TLS or TCP. The document explains that switches can communicate with a single or multiple controllers for reliability.