310 likes | 687 Views
Software-Defined Networking. Technical Forum – Nov. 2013. Agenda. Limitations of traditional networking Definition of SDN SDN components SDN benefits Enabling network virtualization Easier orchestration with SDN Defining service paths with SDN. Problems with traditional networking.
E N D
Software-Defined Networking Technical Forum – Nov. 2013
Agenda • Limitations of traditional networking • Definition of SDN • SDN components • SDN benefits • Enabling network virtualization • Easier orchestration with SDN • Defining service paths with SDN
Problems with traditional networking • Packets are processed by each node forwarding logic independently of other nodes • In large IP networks it is difficult to provide a deterministic path end to end (exception: MPLS-TE w/ FRR) • Tight coupling of control plane and data plane • Control plane: protocols/processes which assist the node to make forwarding decisions • Data plane: protocols/processes which make forwarding decisions • Orchestration is difficult
Traditional network orchestration • To put it into perspective….. • In most networks routers and switches are individually managed using SSH or telnet • In multivendor environments unifying the orchestration component is impossible • Each vendor has a different interfaces • Different interface naming conventions • Different supported routing protocols • Different supported L2 protocols (TRILL, shortest path bridging, STP, RSTP, MSTP, static RBridge, ……) • Result: Pretty much impossible to know every protocol on every OS from every vendor!
Lack of end to end path control in traditional networking • In IP, only the destination IP address is evaluated against the forwarding table • One improvement is policy-based routing which can evaluate multiple criteria (port numbers, source IP address, ingress interface, etc) • Difficult to scale • Same problem with Ethernet • By definition, Frame Relay provides better deterministic path control
What is SDN? • SDN (Software Defined Networking) is really just three things: • Removing the control plane from nodes; • Implementing the control plane logic on a centralised controlled, and; • Providing an interface between the controller (the control plane) and each node (the data plane)
So what does this get us? • Network virtualization • Easier orchestration • Centralized policy • Enables application to define SLAs of the network rather than the network force SLAs on the applications • Faster deployment of networks • (can be) cheap!
Network virtualization • Network virtualization is the idea of bolting the network on top of the hardware • Means the physical network does not define the logical network • With a homogeneous set of physical servers, a complete SDN solution can be made very easily
Network virtualization • Step 1: Buy a bunch of x86 servers running some flavour of Linux
Network virtualization • Step 2: Install openvswitch (an open source multilayer virtual switch) on all servers
Network virtualization • Install an SDN controller on one or two nodes
Network virtualization • Now, the virtual network can defined ontop of the physical hardware; i.e. we have an SDN • OpenDaylight holds all the policies about how traffic should flow through the network • OpenFlow is the control plane protocol which pushes the policy to the nodes • OpenVSwitch is the data plane protocol which implements the policy on the servers
Easier orchestration • OpenFlow provides a mechanism to program TCAMs, route caches, etc • If a network vendor supports OpenFlow (preferably OFv1.2 or better), this means they have exposed an API which allows an SDN controller to create forwarding logic on their equipment using the OpenFlow protocol • To create a service path through an entire network can all be done through the SDN controller rather than individually typing in the commands on each node • No need to know absolutely every command for every vendor we support!
Forwarding flexibility • Typical IP forwarding is destination based only • OpenFlow can forward traffic based on: • Source/Destination MAC addresses • EtherType • VLAN ID • 802.1Q CoS • Source/Destination IP addresses • Source/Destination port numbres • Protocol • Ingress interface • IP QoS
Forwarding flexibility • Not only can it match on these things, it can take the following actions on matched traffic: • Set a VLAN ID / set a new VLAN ID • Set 802.1p bits • Strip VLAN header • Modify either/both MAC addresses • Modify either/both IP addresses • Modify IP QoS bits • Modify either/both TCP/UDP ports • Send the data through a specific service path
Smarter networking • OpenDaylight supports REST which can allow applications to tell the controller that they will need to start sending traffic and have certain requirements: • Bandwidth • Latency • Number of hops • Etc.. • The SDN controller defines the service path through the network based on the current network climate and program the nodes using OpenFlow to start forwarding traffic down this path with priority