You are on page 1of 57

VNU University of Engineering and Technology

Faculty of Electronics and Telecommunications

======================

SOFTWARE DEFINED NETWORKS

Lecture 5: SDN Challenges and Scalability

References: Lecture Notes from CIS5930 Software Defined Networking

Page 1 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU UET
SDN challenges

Deployment challenges
 Device heterogeneity
 Interoperation with legacy systems
 Controller and apps scalability
Infrastructure research challenges
 NOS issue: network abstraction
 To make SDN accessible to a typical user
• Programming abstraction
• Configuration abstraction
 Programming abstraction support
• Update abstraction
• Modular composition abstraction
• Correctness verification, debugging, and testing
 Security
Page 2 > Software Defined Networks
Dr. Dinh Thi Thai Mai – VNU - UET
Device heterogeneity

Heterogenous switches
 Number of packet-handling rules
 Range of matches and actions
 Multi-stage pipeline of packet processing
 Offload some control-plane functionality
Legacy systems: how to interoperate

access MAC IP
control look-up look-up

Page 3 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET3
SDN Scalability

Controller scalability
 Controller is much slower than the switch (in processing packets)
 Processing packets leads to delay and overhead
 Need to keep most packets in the “fast path”

packets
Page 4 > Software Defined Networks
Dr. Dinh Thi Thai Mai – VNU - UET4
SDN scalability: distributed controller, distributed apps

For scalability
Controller and reliability Controller
Application Application

Partition and replicate state


Network OS Network OS

Page 5 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET5
NOS: Network abstraction

Centralized network view (global network graph)


Levels of details:
 Topology, flows, link usage statistics, where to cut off?
 Frequency of control updates, collecting statistics introduces overhead
 Does the data structure for NIB make a difference?

Page 6 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Programming Abstractions

Controller APIs are low-level


 Thin veneer on the underlying hardware
Need better languages
Controller
 Algorithmic programming
 Composition of modules
 Managing concurrency
 Querying network state
 Network-wide abstractions
 Debugging and testing
 Formal verification
Switches

Page 7 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET7
Configuration abstraction?

Is programming abstraction in its perfect form good enough?


Users are system administrators.

Page 8 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Implementation software challenges: Update abstraction

How to install new rules and remove old rules so that a packet will only experience
one consistent network state?
 Need theory (update consistency model) and implementation (working system
based on theory)
Example:

Page 9 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Update abstraction

1. update I to forward S traffic to F3 while continuing to forwarding U and G traffic to


F1 and F traffic to F3
2. Wait until in-flight packets have been processed by F2
3. update F2 to deny SSH packets
4. update I to forward G traffic to F2 while continuing to forwarding U traffic to F1 and
S and F traffic to F3.
Page 10 > Software Defined Networks
Dr. Dinh Thi Thai Mai – VNU - UET
Composition of modules

Many network tasks: routing, access control, traffic monitoring, etc


All require packet handling rules installed in the same flow table
 These rules may interact with one another, making it very difficult to decoupling
the high level tasks from implementation.
Significant challenges in specifying the tasks and realizing the tasks.

Page 11 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Testing and Debugging

OpenFlow makes programming possible


 Network-wide view at controller
 Direct control over data plane
Plenty of room for bugs
 Still a complex, distributed system
Need for testing techniques
 Controller applications
 Controller and switches
 Rules installed in the switches

Page 12 > Software Defined Networks


12
Dr. Dinh Thi Thai Mai – VNU - UET
SDN security issues

Can the SDN programming system provide some security features, what should they
be?

Can NOS provide process like protection among SDN applications?

Can we have an integrated security mechanism for SDN?

Page 13 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
SDN controller scalability issue

Fundamental issue: the speed gap between data plane and control plane.

SDN controller

Switch OS Switch OS
Switch OS
Switch HW Switch HW
Switch HW
10-100 Gbps 10-1000Mbps
???
Page 14 > Software Defined Networks
Dr. Dinh Thi Thai Mai – VNU - UET
SDN controller scalability issue

Control plane
1. Stress controller resources

2. Stress the control channel


Data plane

Data plane can overwhelm control plane by design


o Control channel or controller resources
SDN controller has a fundamental scalability issue

Page 15 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Solutions 1: Increase controller capacity - distributed
controllers

Control
Controlplane
plane
Control plane
1. Stress controller resources

2. Stress the control channel


Data plane

Flat structure multiple controllers


 ONIX (OSDI’10)
 ONOS(HostSDN’14)

Page 16 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Solutions 2: reduce traffic to controller -- Hierarchical controller

Root Control
Control plane 1. Stress controller resources

Local Control
2. Stress the control channel
Data plane Data plane

Hierarchical controller design


 Kandoo (HotSDN’12)

Page 17 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Solutions 2: Reduce traffic to controller – offload control to
switch

Root Control
Control plane 1. Stress controller resources

offload Control
2. Stress the control channel
Data plane Data plane

Offload to switch control plane


 Diffane (SIGCOMM’10)
 DevoFlow(SIGCOMM’11)

Page 18 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
ONIX

ONIX’s view of network components


 Physical infrastructure: switches, routers, etc
 Connectivity infrastructure: channels for messages.
 Onix: A distributed system running the controller
 Control logic: network management applications running on top on Onix

Page 19 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Onix architecture

Page 20 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Onix NIB

Holds a collection of network entities


 Can be viewed as a centralized graph with notification mechanism
Updates to the NIB are asynchronous.

Page 21 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Onix NIB API

Query: find entities


Create/destroy: create and remove entities
Access attributes: inspect and modify entities
Notification: receive update about changes
Synchronize: wait for updates being export to network elements and controllers
Configuration: configure how state is imported to and exported from the NIB
Pull: ask entities to be imported on-demand

Page 22 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Onix abstraction

Global view: Observe and control a centralized


network view (NIB) which contains all physical
network elements
Flow: the first packet and subsequent packets with
the same header are treated in the same way.
Switch: with flow tables <header: counters, actions>
Event-based operation: the controller operations are
triggered by routers or applications.

Page 23 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Onix API

The global view is represented as a network graph


Nodes represent physical network entities
Developers program over the network graph

• Write flow entry


• List ports
• Register for updat
……

Page 24 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Network Information Base

The NIB is the focal point of the system


 State for applications to access
 External state changes imported into it
 Local state changes exported from it

Page 25 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Onix scalability

A single physical controller won’t work for large network


 NIB will overrun the memory in one server
 CPU and bandwidth for one server will not be enough
Onix solution: Partition, aggregation, and consistency.
 Partition:
• Each Onix instance may have connections to a subset of network
elements
• Network control logic can configure to keep a subset of the NIB in
memory

Page 26 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Onix scalability

Partition, aggregation, and consistency.


 Aggregation:
• Each Onix instance can be configured to expose a subset of elements in
its NIB as an aggregate element (reduce fidelity) to another Onix
instance.
 Consistency and durability
• Control logic dictates the consistency requirement of the network state it
manages
 Two storage options
» Replicated transactions (SQL) storage
» One-hop memory-based DHT
• Control logic resolve conflicts when necessary.

Page 27 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Onix reliability

Network element and link failures


 Control logic reconfigures to deal with such failures
Management connectivity infrastructure failures
 Assumed reliable (remember Google B4 issue?)
Onix failures:
 Distributed coordination facilities to provide failover

Page 28 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Onix Summary

Onix provides state distribution capability


The developers of management applications still have to understand the scalability
implications of their design

One of the earlier SDN controllers: the controller functionality and application
functionality are not clearly partitioned.

Page 29 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Distributed SDN controller Research issues?

Page 30 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Distributed SDN research issues

Network abstraction for distributed SDN


 Need concrete understanding of network abstraction in the current systems
Exploit existing distributed system techniques to address distributed network
abstraction issues
 Consistency, usability, synchronization, fault tolerance, etc
Adapting distributed system techniques specifically to SDN controller
 No need to reinvent the wheel

Page 31 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
ONOS: Towards an Open, Distributed SDN OS

Earlier NOS dodges the distributed system issues.


Earlier distributed NOS may try to reinvent the wheel.
ONOS is a second generation of distributed NOS, separating distributed systems
issues with network management issues
 We know how to distribute and maintain information in a distributed manner.
Many systems are available.
 Distributed NOS can utilize the existing distributed information systems and
focus on network management issues.

Page 32 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Distributed system building blocks

Distributed storage system


 Cassandra
 RAMcloud (in memory storage)
Distributed graph database (Titan)
Distributed event notification(HazelCast)
Distributed coordination service (Zookeeper)
Distributed system data structures and algorithms
 Distributed hash table (DHT)
 Consensus algorithm
 Failure detector
 Checkpointing
 Transaction

Page 33 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Onos architecture

Page 34 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Onos abstraction: Global network view

Page 35 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Onos summary

Use existing distributed system infrastructure.


Focus on making it efficient with known distributed system applications.
 E.g. how to maintain, lookup, and update the topology effectively

Page 36 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Kandoo: A framework for efficient and
scalable offloading of control applications

Page 37 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Local Apps

Page 38 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Local Apps

Page 39 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Where to run the local apps

Page 40 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Kandoo

Page 41 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
An example: Elephant flow rerouting

Page 42 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
An example: Elephant flow rerouting

Page 43 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Kandoo variations

Page 44 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Kandoo summary

2 levels of controller
Deal with the scalability issue by moving software closer to the data plane
Future: a generalized hierarchy
 Filling the gap between local and non-local apps
 Finding the right scope is quite challenging

Page 45 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Devoflow

DevoFlow: scaling flow management for high-performance networks,


SIGCOMM’2011.

OpenFlow is good; but fine-grain per flow management creates too much overhead
 Flow setup
 Statistics collection
Devoflow – a new paradigm to reduce the control and overhead while providing fine
control for important flows.

Page 46 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Dilemma

Control dilemma:
 Role of controller: visibility and mgmt capability
however, per-flow setup too costly
 Flow-match wildcard (existing hardware), hash-based:
much less load, but no effective control
Statistics-gathering dilemma:
 Pull-based mechanism: counters of all flows
full visibility but demand high BW
 Wildcard counter aggregation: much less entries
but lose trace of elephant flows
Aim to strike in between

Page 47 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Main Concept of DevoFlow

Devolving most flow controls to switches


 Use the default wildcard match
Maintain partial visibility
Keep trace of significant flows
Default v.s. special actions:
 Security-sensitive flows: categorically inspect
 Normal flows: may evolve or cover other flows
become security-sensitive or significant
 Significant flows: special attention
Collect statistics by sampling, triggering, and approximating

Page 48 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Design Principles of DevoFlow

Try to stay in data-plane, by default


Provide enough visibility:
 Esp. for significant flows & sec-sensitive flows
 Otherwise, aggregate or approximate statistics
Maintain simplicity of switches

Page 49 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Mechanisms

Control
 Rule cloning
 Local actions
Statistics-gathering
 Sampling
 Triggers and reports
 Approximate counters

Page 50 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Rule Cloning – identify elephant flow

ASIC clones a wildcard rule as an exact match rule for new microflows
 Timeout or output port by probability

Page 51 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Rule Cloning

ASIC clones a wildcard rule as an exact match rule for new microflows
 Timeout or output port by probability

Page 52 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Rule Cloning

ASIC clones a wildcard rule as an exact match rule for new microflows
 Timeout or output port by probability

Page 53 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Local Actions

Rapid re-routing: fallback paths predefined


Recover almost immediately
Multipath support: based on probability dist.
Adjusted by link capacity or loads

Page 54 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Statistics-Gathering

Sampling
 Pkts headers send to controller with1/1000 prob.
Triggers and reports
 Set a threshold per rule
 When exceeds, enable flow setup at controller
Approximate counters
 Maintain list of top-k largest flows

Page 55 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
DevoFlow Summary

Per-flow control imposes too many overheads


Balance between
 Overheads and network visibility
 Effective traffic engineering, network management
Switches with limited resources
 Flow entries, control-plane BW
 Hardware capability, power consumption

Page 56 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET
Thank you for your attention!

Page 57 > Software Defined Networks


Dr. Dinh Thi Thai Mai – VNU - UET

You might also like