OpenFlow is the protocol that lets controllers talk to switches. It defines how the controller installs flow rules and how switches report back.
OpenFlow components:
Flow tables. Rules in the switch with match fields, priority, and actions.
Secure channel. TLS-encrypted connection between switch and controller.
Common messages:
- Packet-In: Switch sends unmatched packet to controller
- Packet-Out: Controller tells switch how to handle a packet
- Flow-Mod: Controller installs or modifies flow rules
- Stats-Request/Reply: Query switch statistics