Professional Documents
Culture Documents
Outline
! Control & Data Plane
! Programming Languages, Verification, Consistent
Network Update
! Debugging, Fault-Tolerance, Security
! Monitoring & Traffic Engineering
! SDN in WAN
! Network Function Virtualization (NFV)
! Data plane
! Switches are considered to be simple forwarding devices
! Forwards flows according to the decision made by the
control plane
Conventional Architecture
3. Consistent, up-to-date global network view
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
4
Limitations of Conventional
Architecture
! Scalability
! Controller: flow setup requests served per second
! Control plane traffic: the first packet of each new flow is
forwarded to the controller
! Flow table size: each switch has a limited flow table size & if
the table is full the switch will drop packets
Limitations of Conventional
Architecture (cont)
! Single vs. multiple controllers
! A single controller causes
! Single point of failure
! Scaling limitations
! In case of multiple controllers
! How to maintain a consistent state across the network?
! How many controllers are sufficient to meet user
requirements?
! Where to place the controllers?
Limitations of Conventional
Architecture (cont)
! Distribution of network state and configuration data
! How to store this information?
! Strong vs. weak consistency?
! What level of security is required?
! Failure resilience
! Controller and switch failures
Proposals
! Hierarchically distributed controllers
! Kandoo
Kandoo
! Two level of
controllers
! Local controllers
handle frequent
events
! Root (centralized)
controller handles
rare events
! Root controller
installs rules through
local controllers
9
Onix
Onix (cont)
DIFANE
! DIFANE recognizes some switches as authority switches
! They can cache rules for other switches
Research Challenges
! Achieving scalability
! Controller, control traffic, switch flow table
! Ensuring QoS
! Translating user requirements into suitable rule distribution
13
14
Outline
! Control & Data Plane
! Programming Languages, Verification, Consistent
Network Update
! Debugging, Fault-Tolerance, Security
! Monitoring & Traffic Engineering
! SDN in WAN
! Network Function Virtualization (NFV)
15
Programming Languages
! Programming languages provide higher-level
abstractions
! Control applications can be developed much easily in a
higher-level language (compared to OpenFlow) like:
! Pyretic, Nettle, Procera, etc.
16
Verification
! Verification tools can detect and avoid
! Forwarding loops
! Black holes
17
Verification Tools
! Test packet generators test all possible events, corner
cases, and race conditions
! NICE, OFLOPS
18
VeriFlow
! VeriFlow sits between the
controller and the network
devices
! Checks every rule entering the
network
! If a rule violates any invariants
then it is rejected and the
violation logged.
19
Network Update
! Traffic flows within a network are constantly changing
due to
! Switch failure/upgrade
! VM migration
! Traffic engineering
! Optimization
20
Research Challenges
! OpenFlow is similar to assembly language
! Mimics the behavior of the hardware
! Developers need to spend too much time on details
! Overlapping rules
! Priority ordering of rules
! Transient inconsistencies when flow rules are being installed
! Network update
! Tradeoff between fast update & sporadic packet forwarding
! How to perform atomic updates across multiple switches?
22
Outline
! Control & Data Plane
! Programming Languages, Verification, Consistent Network
Update
! Debugging, Fault-Tolerance, Security
! Monitoring & Traffic Engineering
! Software Defined Infrastructure (SDI)
! SDN in WAN
! Network Function Virtualization (NFV)
23
Debugging
! A Software Defined Network (SDN) is run by software
! We should be able to debug a SDN similar to a program
! Available tools
! ndb
! NetSight
! DEFINED, etc.
24
ndb
! ndb supports
! Network breakpoint
! Packet backtracking
! Network breakpoints are implemented as special rules that
forward a copy of a matching packet to the postcard
collector
! The postcard collector stores the packet headers along with
the timestamp
! Programmer can analyze the postcards to find the root
cause
25
Fault-Tolerance
! There are multiple approaches to fault-tolerance
! Hardware (server, switch or link) failure
! A highly explored area in traditional networking
! SDN might provide more flexible ways to achieve faulttolerance
! Software failure
! The controller itself may fail
! One or more modules of the controller may fail
! One or more control applications may fail
26
FatTire
! A programming language for writing fault-tolerant network
programs
! Regular expression based Programming constructs for
! Specifying a set of paths packets may take
! The degree of required fault tolerance
! Utilizes the in-network fast-failover mechanisms of OpenFlow
! A FatTire program is compiled to OpenFlow switch
configurations
27
FatTire (cont)
! An example FatTire program
28
FatTire (cont)
! OpenFlow fast-failover
29
Security
! There are two aspects of security in SDN
! Using SDN to improve network security
! Improving the security of SDN itself
Research Challenges
! Debugging
! Tradeoff between accuracy & network load
! Depending on debugging objectives what kind of statistics
should be collected
! Scalability for large scale networks
! Fault-Tolerance
! Detect faults quickly
! Reactive vs. proactive selection of failover element
! Tradeoff between fast failover vs. optimal failover element
31
32
Outline
! Control & Data Plane
! Programming Languages, Verification, Consistent Network
Update
! Debugging, Fault-Tolerance, Security
! Monitoring & Traffic Engineering
! Software Defined Infrastructure (SDI)
! SDN in WAN
! Network Function Virtualization (NFV)
33
Monitoring
! Monitoring is crucial for network management
! SDN (OpenFlow) provides flexible mechanisms to collect
statistics from the network devices
! One common feature provided by almost all OpenFlow
controllers is the collection of connectivity information
! An OpenFlow switch maintains two counters
! How many packets matched a flow entry
! How many bytes were forwarded by a flow entry
34
Proposals
! Most of the works in SDN monitoring focus on optimizing
resource utilization
! FlowSense
! Measures link utilization with zero overhead
! Collected data is not accurate
! Payless
! Provides adaptive sampling for measuring link utilization
! Tradeoff between accuracy & network overhead
35
FlowSense
! Passive monitoring
! Parser module captures control traffic and
sends it to the utilization monitor
! The utilization monitor updates utilization
values at every checkpoint
! The utilization table keeps track of link
utilization for all links
36
FlowSense
Payless
! Active monitoring framework
! Payless provides API to develop
monitoring apps
! It collects flow statistics at different
aggregation levels
! flow, packet and port
Traffic Engineering
! Traffic Engineering (TE) is done for different objectives
!
!
!
!
39
Proposals
! Google deployed the B4 network for their inter data
center communication
! Other proposals include:
! Hedera
! QNOX
! Aster*x
! MicroTE
40
Aster*x
! Aster*x is a load balancer
! Content requests are load balanced
among the servers
! It has 3 main components
! Host Manager: tracks server state
and load.
! Net Manager: tracks topology
and link utilization
! Flow Manager: routes flows based
on network state and server load
Client
Content Servers
41
42
! Dynamism
! Large number of component failures
! Virtual Machine (VM) migration
! Traffic characteristics
! High traffic volume and dense traffic matrix
! Volatile, unpredictable traffic patterns
! Performance requirements
! Delay-sensitive applications
! Resource isolation between tenants
43
Outline
! Control & Data Plane
! Programming Languages, Verification, Consistent
Network Update
SDN in WAN
! SDN mostly used in data center networks
! Possibility of SDN in a WAN gained a lot of momentum
after Google deployed the B4 network
! In a WAN environment SDN is used for
! Traffic steering
! Achieving high link utilization
! Implementing advanced policies
! e.g., application specific peering between ISPs
45
Proposals
! Googles B4 network for inter data center
communication
! MSRs Software-Driven WAN (SWAN)
! A system to boost the utilization of inter-datacenter network
! Re-configures the networks data plane to match current
traffic demand
! Avoids transient congestion during rule updates by
leveraging a small amount of scratch capacity on links
! Updates are applied in a congestion-free manner
46
B4
! World-wide deployment
47
B4 (cont)
! Each site represents a DC
! Traffic demands and
current network state is
collected by Central TE
! Central TE analyses the
data and takes traffic
steering decisions
! These decisions are
forwarded to the site
controllers through the
gateway
48
Research Challenges
! SDN in WANs faces new challenges
! Switches can be located at far away locations in the
network
! Controller to switch propagation latency can be huge
Outline
! Control & Data Plane
! Programming Languages, Verification, Consistent Network
Update
! Debugging, Fault-Tolerance, Security
! Monitoring & Traffic Engineering
! Software Defined Infrastructure (SDI)
! SDN in WAN
! Network Function Virtualization (NFV)
50
51
Virtualization
Platform
53
Proposals
! OpenNF [SIGCOMM 14]
! A control plane for NFV
! Triggers auto scaling
! Orchestrates VNF state migration
! Collaborates with SDN controller for network provisioning
54
55
Proposals
! Bari et al. On orchestrating Virtual Network Functions,
CNSM 15
! Optimally place a set of VNF chains while satisfying traffic
demand (NP-hard problem)
! Dynamically adapt chain placement to network traffic dynamics
56
Proposals
! NetVM [NSDI 14]
! Modified hypervisor that reduces VM-to-VM communication
overhead by offloading the NIC
58
Summary
! Covered some key research topics in SDN & NFV
! Detailed exploration in coming weeks
! SDN & NFV are both active research areas
! Many key issues need to be solved
! New research directions are yet to be discovered
59