With all the hoopla surrounding SDN, in all of it’s forms, I thought it would be interesting to look at a possible predecesor to OpenFlow, at least in spirit: The ForCES protocol. From RFC 5810, we have the following description of ForCES:
Forwarding and Control Element Separation (ForCES) defines an architectural framework and associated protocols to standardize information exchange between the control plane and the forwarding plane in a ForCES Network Element (ForCES NE).
For OpenFlow, if we look at wikipedia for a quick definition, we see the below:
OpenFlow is a communications protocol that gives access to the forwarding plane of a network switch or router over the network.1 In simpler terms, OpenFlow allows the path-of-network-packets-through-the-network-of-switches to be determined by software running on a separate server. This separation of the control from the forwarding allows for more sophisticated traffic management than feasible using access control lists (ACL)s and routing protocols.
In essence, what OpenFlow is proposing (separation of control and forwarding plane), was proposed years earlier by ForCES. While ForCES has been around in the IETF for years (there are even old mailing list archives here), it has never achieved OpenFlows level of celebrity. I guess, even for network protocols, timing is everything.