I have two questions ::

  1. I have read some papers on Software defined network. Every time I see that they work with switches. I want to know Cant we implement SDN with routers ?
  2. What are the metrics of a routing algorithm. ( I want to develop one for SDN based network )


  • "What are the metrics of a routing algorithm." That question (although written as a statement, not a question) is really too broad. Each routing protocol has different metrics, from a simple hop count to a complex set of attributes.
    – Ron Maupin
    May 19, 2017 at 15:27

4 Answers 4


Software Defined networks do not have a device explicitly named as router. The Network is generally made of switches and controllers. However, can sdn networks achieve functionality of routing ? Definitely!

Sdn uses controllers. In a very broad sense controllers work on the principle of match criteria and corresponding action . The controller uses the match criteria to instruct the switch what it should do with the packet. Hence switches in sdn are sometimes referred as dumb switches.

The match criteria can be destination mac - so it behaves as a switch - L2.

It can be destination IP . so it acts as a router. It can be source MAC or source IP . which is a part of policy based routing .

Or it can be any header field from l2-l5.

It can even determine the action by using the application layer data

Hence a controller in sdn can be a router but it's capable of much more than that .

But you wont find the word router used much in the context of sdn

Hope it helps

To answer the second question . Sdn gives you the control of packets forwarding. So using controller APIs you can implement practically any algorithm which may be the exact routing algorithm we use now like ospf , a modification of them or a new concept altogether that suits your Network.

  1. Yes you can. Check out i.e Contrail or NorthStar controller solutions from Juniper.
  2. Tremendously broad question which involves a) routing b)algorithms , this will take you both time to study.

Just to add to Johns answer.

Routers implement decentralised routing algorithms, that is, they talk to each other and over time converge towards the best routing path. In the event of a router failing or being added to the network, the network self heals and again over time converges towards the best routing path.

SDN implements centralised routing, that is it assumes a central controller that knows where all the switches and end hosts are and can map the shortest path across the network. It will then install rules on the switches involved that allow flows to traverse that path without further contact with the controller (the controller typically sees the first packet).

One slight caveat, on the border of an SDN network, you still need a router to communicate with your neighboring network. Your SDN controller will not have knowledge of their network, nor write permissions to their switches.


SDN architectures separate control and data, and can be achieved by GRE overlay tunneling all packets back to a controller or by using a remote control protocol such as OpenFlow®.

"SDN compatible" networking devices don't really technically exist. In other words, in the wireless networking world we have WiFi Compatible access points - a special stamp/logo that results from interoperability testing. There is no such thing in the SDN world. SDN is all marketechture. Every networking manufacturer markets their own flavor of SDN, e.g. Cisco ACI, Cisco Meraki, Juniper OpenContrail, and VMware NSX.

Regarding the metrics for a routing algorithm, if you plan on developing a custom routing algorithm you would create that. Not sure I understand this second question...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.