OpenFlow and Software Defined Networking: Is it Routing or Switching ?

The answer is: NEITHER.

Short Version

Openflow works by updating entries to the FORWARDING table in your router or switch. Therefore it is not a routing or switching protocol at all.

Longer Answer

The architecture of networking equipment is often described as having three planes of operation – management, control and data planes and often represented by the following diagram:

Mgmt control forwarding planes 1

The Management Plane handles functions such device management, firmware updates, SNMP and external configuration via the CLI. The Data Plane refers to packet and frame forwarding through the device. The Control Plane is routing protocols such as BGP & OSPF and switching protocols such as STP & TRILL..

The control plane will use the routing table to build the forwarding table used by data plane. The forwarding table is delivered to the data plane by the management plane as part of the device operating system. Thus when an Ethernet frame arrives on the switch interface, the data plane then forwards it to output port.

OpenFlow is a new method of control for flows in the network. To date, networking has always focussed on managing frames and packets with routing protocols, but applications don’t use single packets to deliver services. Rather, they exchange data between server and client, they create a stream of packets from a source to destination that is commonly known as flow. As a metaphor, this flow is to packets as apples are to apple pie. A pie is what you are eating, not apples.

OpenFlow defines a standard for sending flow rules to network devices so that the Control Plane can add them to the forwarding table for the Data Plane. These flow rules contains fields for elements such as source & destination MAC, Source & destination IP, source and destination TCP, VLAN, QoS and MPLS tags and more. The flow rules are then added to the existing forwarding table in the network device.

The forwarding table is what all routers and switches use to dispatch frame and packets to their egress ports.

OpenFlow value is realised in the Controller, and the most interesting changes are because the Controller will get new capabilities and truly granular control of the traffic flows.

Therefore, OpenFlow is neither routing or switching, it’s about forwarding.

Of course, the next question is “How should I forward frames and packets ?” but that’s another day.

  • Jason Edelman

    Great post and look forward to follow-ons.
    I love this topic simply b/c it leads to default gateway conversations.  In any of these newer technologies/protocols (VXLAN, OTV, FP/TRILL, etc.), it’s even more important IMHO to know where your default gateway is…and where the backup is ( preventing traffic tromboning,etc.). 

    Same holds true for OF…or does it? Being that we don’t necessarily have to talk L2/L3 in an OpenFlow enabled network because we are talking about flows or the apple pie, who really needs a default gateway?  Forget it because it complicates connectivity anyway.  A controller can simply look at the destination IP address and modify flows accordingly in all switches (and OF enabled devices) in the transit path between the source and destination.  I could have saved 100s of hours not worrying about default gateways in the past year!This is why SDN could really change everything.  As I usually say when talking about this stuff, OF/SDN will change Layer 2 and Layer 3 as we know it today.Regards,@jedelman8:twitter   

  • ioshints

    You see what you get when marketing starts overloading terminology to suit the product push needs.

    • Jason Edelman


      I don’t think it’s 100% marketing.  As far as OpenFlow/SDN goes (or any new technology), because generally speaking it is a different and new architecture, it is imperative for us or those designing networks to draw comparisons and analogies to what everyone knows…which is bridging/routing or whatever the norm is for that technology.  I’ll take .0001% away from marketing 😉 Yes, even with OpenFlow right now, it is forwarding.  This is forwarding of *legacy* frame/packet structures which devices are optimized for already.  OF will be trying to use these frames/packets, but who knows, I wouldn’t be surprised if much of that changes over time if OF really takes off.  It is 1s, 0s, and will all be merchant silicon anyway, right?BTW, nice rant from the past!

  • Anonymous

    Router vendors (cisco, juniper) must be poopin their pants just a little. I know they are “showing support” for the openflow standard but when I can easily have granular control of the forwarding tables of my routers, from an inexpensive controller, then the value of their more expensive appliances is gone. Then it all depends upon the speeds and feeds of the routers because the forwarding decisions are being provided by the controller.

  • Pingback: Show 82 – Security Failures, No IPv6, No Network Management – Another Good Year()

  • Pingback: Defining Flow Forwarding instead of Switch or Routing — My EtherealMind()

  • Pingback: Enterprise Wireless and Wired: A Byte is a Byte (Part 2)()