OpenFlow promises to make networking more programmable, and one early user is reaping the initial benefits.
Genesis Hosting Solutions of Lake Zurich, Ill., implemented OpenFlow in February to make its network more flexible and easier to configure. It helps the hosting provider deal with a large number of VLANs and overcome the challenges of Spanning Tree's reconvergence time in a network. OpenFlow also helps Genesis establish redundant connections while maintaining performance.
"It basically creates a network without loops in a mesh configuration, but without Spanning Tree," says Genesis CEO Eric Miller. "That was really exciting to us."
OpenFlow is a protocol that enables software-defined networking, which means that users can define flows and determine what paths those flows take through a network, regardless of the underlying hardware. OpenFlow can take control of how traffic flows through a network out of the hands of the infrastructure -- the switches and routers -- and put it in the hands of the network owner, individual users or individual applications.
This capability could allow users to craft policies that find paths with available bandwidth, less latency or congestion, and fewer hops. OpenFlow proponents say it is particularly useful for load balancing, flow control and virtual networking in data centers, private clouds and campus LANs where devices are multiplying and straining network topologies like Spanning Tree, which can take tens of seconds to reconverge after a topology change.
OpenFlow, the result of a six-year research collaboration between Stanford University and the University of California at Berkeley, uses a centralized controller to process those reconfigurations on behalf of OpenFlow-enabled switches.
Genesis finds that OpenFlow can reroute traffic around deactivated links between cascaded switches, or around some anomaly downstream that can't be detected through link "beaconing" techniques, which ping for link status but might lack rerouting capabilities. With an API into switch tables, OpenFlow controllers allow Genesis to easily steer traffic around trouble spots and overly congested links, and control the entire switch fabric "from a bird's eye view," Miller says.
INSTANT EXPERT: All you need to know about OpenFlow
OpenFlow also allows Genesis to create policies based on its hosting customers. These policies can be easily added to or removed from the entire switching fabric so provisioning and de-provisioning of network resources for customers can be achieved through a single API call, Miller says.
Miller says that capability "was exciting to hear" when he was initially evaluating OpenFlow. "You hear about a technology and you ask, 'How well accepted is it, how implemented is it?' We would implement it in a small forum just to see how well it worked."
So far, it's working as advertised, he says. Genesis has two NEC ProgrammableFlow controllers -- one for redundancy -- in its Chicago data center governing two NEC 48-port, 1Gbps Ethernet ProgrammableFlow switches. The environment is supporting 2,500 virtual machines.
The hosting provider plans to duplicate this setup in a second data center in Mount Prospect, Ill., and establish a point-to-point Layer 2 link between the Chicago and Mount Prospect controllers for failover capability, among other functions. Genesis is looking to create a federation of OpenFlow controllers that will operate independently of each other, yet share tables only for specific traffic or flows. Key to this will be a memory-mirroring capability NEC is working on that will allow two controllers to maintain state.
Currently, failover between one controller and another takes a few seconds, which requires controllers to re-create tables once they come back up. Memory mirroring could solve this by replicating the flow table between the two or more controllers, which would expedite failover, Miller says.
Even though the implementation is running smoothly, there were a few initial hiccups, Miller reports. For example, Common Address Redundancy Protocol, or CARP, advertisements from redundant routers to the Genesis VLANs were disrupting the operations of one of the default OpenFlow controllers. Miller, though, says this was minor and quickly corrected.
Another potential concern is that OpenFlow controllers are a single point of computation in the network and are designed to re-establish interrupted flows by creating a tunnel through all of the network paths, Miller says. There has been some industry discussion that computations involved in creating those tunnels on the fly may overwhelm the controller, he says.
"But we personally haven't seen any limitations yet," Miller says. "We haven't maxed it out in terms of flow creation."
The next step for Genesis will be to replace 30 legacy edge switches with 24/48-port 1G edge switches that are OpenFlow-capable to enable the hosting provider's entire network to be OpenFlow software programmable. Currently, these switches support 1,200 Gigabit Ethernet ports, and NEC only manufactures OpenFlow core switches.
"We're gracefully doing that for obvious reasons, because it is a new technology," Miller says. "We want to have the ability to fail back to our legacy network under the worst of circumstances."
But so far, the hosting provider has had no major issues with OpenFlow and is looking forward to broadening its implementation.
"Treating the network as a single entity, not a large number of individual switches, is the goal that we're after," Miller says.