I'm trying to dive into these new concepts, SDN and OpenFlow. One thing that is not clear to me, is how the traditional routing (OSPF, BGP etc.) done in SDN, or it is completely gone and replaced with some lightweight mechanisms instead?
I would appreciate any hints, links to get better understanding on this. Thanks!
Mark
Software-Defined Networking (SDN) is an approach to networking that uses software-based controllers or application programming interfaces (APIs) to communicate with underlying hardware infrastructure and direct traffic on a network.
An example of an SDN in action is the recent deployment at Tribune Media, which transferred more than 140 applications to the company's new SDN infrastructure using VMware NSX.
A typical representation of SDN architecture includes three layers: the application layer, the control layer and the infrastructure layer.
SDN consolidates network intelligence, which provides a holistic view of the network configuration and activity. Programmability. The ability to directly program network features and configure network resources quickly and easily through automated SDN services. Open connectivity.
In the SDN world the controller sets up the data plane in each router and switch to ensure flows are forwarded in some desirable way. The controller needs to be given the logic to make these routing decisions. If you would like to use a traditional mechanism such as OSPF you can install something like RouteFlow on your controller (https://sites.google.com/site/routeflow/). Alternatively though you may decide to use some other more relevant or desirable mechanism. SDN opens up a new world of possibilities.
For example imagine you have two routes between two locations. One route is extremely expensive to run but is also low latency and gets the traffic across more quickly. the other route is longer and has higher latency however it is very cheap to run. You may decide that you want to route specific traffic flows via one path rather than another. Eg. your bosses traffic takes the fast route (so he doesn't beat you up all the time) but your colleagues traffic takes the slower route (after all he did steal the cookies you left on your desk!). Or, your email traffic takes the slower route and your trading/real time application traffic takes the fast route.
With SDN, each switch/router basically becomes a "dumb" device that only does what it is told to do. A centralized SDN server will have all the required information about the whole network to be able to determine and configure the required routing/switching tables for all switches/routers involved.
Therefore, I guess the answer to your question is that the traditional dynamic routing will not be done in SDN.
In SDN, controllers are used to provide functionality to the openflow switches(dumb).
Consider these two parts,
1) Controllers: These are the programs that run on any device with the logic may be l2/l3 and make the switches connected to it according to the algorithms defined in the controller. There are some controller APIs like POX,NOX,PYRETIC, FLOODLIGHT on different languages, in market that you can implement to write your own controller.
2) Switches: The controllers control the switches. Fine! But how? There must be some protocol that is used to provide communication between them, this is what we call OpenFlow Protocol. The controller implements the functionality say OSPF/BGP using the controller's API and the openFlow API together.
Finally this is the structure that comes in imagination.
Controller(at some IP say 192.168.56.101) providing OSPF/firewall/URL filtering or any functionality to the openflow switches >> OpenFlow Switch or switches(dumb) used for connectivity of hosts >> then there is/are Host(s): that are normally linux based if you use mininet emulator.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With