OpenFlow is a communications protocol that gives access to the forwarding plane of a network switch or router over the network. It defines communications between controllers and switches. Controllers communicate with switches using OpenFlow messages to read, modify and write flow tables that determine how the switch forwards packets. Popular OpenFlow controllers include NOX, Beacon, Floodlight, Ry