bluebay2014 - Fotolia
Corsa Technology has added SDN BGP routing to its OpenFlow data plane devices, giving service providers more fine-grained, programmable control over BGP-routed networks.
Corsa builds OpenFlow-based data plane appliances based on field-programmable gate array silicon. They contain multiple, highly programmable flow tables that can support more than a million flow entries.
Corsa data planes use a pipeline approach to flow-based networking, with each flow table in the pipeline applying different sets of flow-forwarding rules, said Carolyn Raab, Corsa's vice president of product management. The first few flow tables in the pipeline groom and normalize packets, making it easier for flow tables further down the line to do more sophisticated tasks, she said.
"In network packet processing, we've tended to use the OSI model of keeping everything nice and segregated and layering stuff," said Eric Hanselman, chief analyst for 451 Research. In the case of BGP routing, this means that a router often discards a lot of the BGP messages it receives that are not relevant to the BGP routing rules that an engineer has configured. Reachability updates, route table updates and autonomous system exchanges are discarded so that the router doesn't waste processing power on them.
With Corsa's new SDN BGP routing pipeline, the company's data plane devices keep all this information so that it can be used for more fine-grained, flow-based routing. An SDN controller can push down commands via OpenFlow to program the BGP pipeline.
"In our BGP pipeline, the first couple tables normalize traffic flow, so you can do things like MAC destination address checks against the rules for that," Raab said. "And then you get to what really matters for the BGP routing functions -- this massive table that contains all the IP information, all the Internet routes. And that number has to be around 500,000 [routes] because that's where we are at this point. That's been a big sticking point for OpenFlow switches. Other gear has collapsed under this 500,000 number."
Keeping all of this information also allows service providers to do more granular, policy-based routing. With all of the BGP messages that are traditionally discarded, engineers can do things like path reliability computations and path capacity computations, Hanselman said. "You could go beyond the typical 'Hey, which direction do I go?' to 'What's the state of my exchange with a BGP peer?'" he said.
"Traditionally BGP routers were used at the borders of autonomous systems, and you lost a whole bunch of information [at those borders]," Raab said. "Now you can pass information through that allows you to do peering arrangements and meet SLAs [service level agreements] and do time-of-day routing based at a per-route level. Before you could only weight things at a very high-level, macro way. You can start to meet SLAs across gateways."
In practice, network engineers could automate things like time-of-day routing by writing scripts on routing configuration tools, Hanselman said. But the process has never been easy.
"When you put software control around [BGP] and create some programming abstractions to make it easier to use, you open the door to a lot of things," he said.
Find out how BGP fits into Juniper's SDN controller Contrail.