SDN
LAYERS
S O F T WA R E - D E F I N E D N E T W O R K I N G L AY E R S
BY : A B D U L L A H I B R A H I M A H M A D
OVERVIEW
• Current State in Networking
• What is SDN?
• SDN Abstractions
• SDN Architecture & Layers
• Cross-Layer Issues
STATE OF QUO IN NETWORKING
• Planes of functionality:
– Management (Define the network
policy)
– Control (Enforce the policy)
– Data (Execute the policy)
• Control & data planes are tightly
coupled
– Difficult to add new functionality
• Decentralized structure
– Network resilience
– Complex and Static Architecture
WHAT IS SDN?
Network Architecture with four
characteristics:
1. Control and data planes are
decoupled
2. Forwarding decisions are flow
based instead of destination
based
3. Control logic is moved to SDN
controller or Network
Operating System
4. Network is programmable
through software applications
SDN ABSTRACTIONS
• What do we do when dealing with
complex problems?
– Decompose it to simpler problems
– Define an abstraction for each
component
• SDN Abstractions:
– Forwarding
– Distribution
– Specification
SDN ARCHITECTURE
SDN LAYERS
NETWORK INFRASTRUCTURE
• Switches, routers, …
• No embedded control software
• Include open and standard interfaces (e.g.
OpenFlow, POF, …)
• A data plane device is a hardware or software
element specialized in packet forwarding based
on a pipeline of flow tables
SDN DATA PLANE DEVICES
SOUTHBOUND INTERFACE
• APIs connecting and separating control and
forwarding elements
• Openflow is the most widely accepted
• Openflow provides three information sources
for NOS:
• Event-based messages when a port or link
changes
• Flow statistics
• Packet-in messages when forwarding
device doesn’t know what to do
NETWORK HYPERVISOR
• Network-wide software layer
• Under network control applications
• On top of distributed networking devices
• Multiplex, demuiltiplex and monitor
• Implemented via distriputed system
• Distribute networks states and loads
• Logically centralized (huge difference)
• Partition resources through multiple contexts
• Distribute logical context over multiple physical
devices
NETWORK OPERATING SYSTEM
Operating System Model
NETWORK OPERATING SYSTEM
SDN Model
NETWORK OPERATING SYSTEM
Types of SDN Controllers(NOSs)
• Existing controllers can be categorized based
on many aspects
• Centralized vs Distributed
• Centralized
• Single point of failure
• Scaling limitations
• Can be highly parallelized to overcome
above limitations
• Distributed
• Scalable
• Fault tolerant
• May offer weak consistency
SDN CONTROLLER PARTS
SDN CONTROLLER PARTS: CORE
SERVICES
• Topology
• Statistics
• Notifications and device management
• Shortest path forwarding
• Security mechanisms
SDN CONTROLLER PARTS: SOUTH AND
NORTHBOUND
• Southbound:
– Common interface for upper layers while allowing different southbound APIs
– Can be seen as device drivers
• Northbound:
– Ad hoc APIs
– RESTful APIs
– File systems
SDN CONTROLLER PARTS:
WEST/EASTBOUND
• Only in distributed
controllers
• Import/export data
between controllers
• Algorithms for data
consistency models
• Monitoring/notificatio
n capabilities
ARCHITECTURE AND DESIGN OF SDN
CONTROLLERS
NORTHBOUND INTERFACE
• Mostly a software ecosystem
• Can be compared to POSIX standard in
operating systems
• No de facto standard as of right now
• Each controller defines its own northbound
APIs
• NOSIX is an attempt in this direction
LANGUAGE-BASED VIRTUALIZATION
• Capability of expressing modularity
• Allowing different levels of abstractions while
still guaranteeing desired properties
• Allow different views of a single physical
infrastructure
• One virtual “big switch” could represent a
combination of several underlying
forwarding devices
• Simplifies the task of application
developers
• See the network as a simple “big switch”
• Simplify the development and deployment of
complex network applications
PROGRAMMING LANGUAGES
• Current state in network programming
languages:
• Openflow: same as Assembly language
• Mimic hardware
• Too much low-level details
• No modular code
• No code reuse
• Thus we are moving to higher level
programming languages
• FatTire (functional): uses reg exp to
describe network paths
• FML (dataflow, reactive): high level policy
description language
• Procera (functional, reactive): high level
abstractions to describe reactive and
temporal behaviors
NETWORK APPLICATIONS
• “Network brains”
• Implement control-logic which dictate the
forwarding device behavior
• Traffic engineering
• Routing, load balancing, scheduling, …
• Mobility and wireless
• Interference management, wireless
network modeling, …
• Measurement and monitoring
• Measuring link utilization, traffic
monitoring, …
• Security
• Attack detection, access control, flow-
rule enforcement
• Data center networking
• Optimizing network utilization, predict
application workloads, …
CROSS-LAYER ISSUES
• Debugging and troubleshooting
– Runtime debugging
• Ndb(same as gdb): breakpoints, watch, back-trace, …
– Post-mortem analysis
• Record and replay network events
• Testing and verification
– Verification
• Connectivity, loop-freedom, access control
– Testing
• Generate streams of packets and test as many events as possible
• Simulation and emulation
– Mininet: prototype and evaluate SDN protocols and applications
REFERENCES
• Kreutz, D., Ramos, F. M., Verissimo, P. E., Rothenberg, C. E., Azodolmolky, S., & Uhlig, S.
(2015). Software-defined networking: A comprehensive survey. Proceedings of the
IEEE, 103(1), 14-76.

Software-Defined Networking Layers presentation

  • 1.
    SDN LAYERS S O FT WA R E - D E F I N E D N E T W O R K I N G L AY E R S BY : A B D U L L A H I B R A H I M A H M A D
  • 2.
    OVERVIEW • Current Statein Networking • What is SDN? • SDN Abstractions • SDN Architecture & Layers • Cross-Layer Issues
  • 3.
    STATE OF QUOIN NETWORKING • Planes of functionality: – Management (Define the network policy) – Control (Enforce the policy) – Data (Execute the policy) • Control & data planes are tightly coupled – Difficult to add new functionality • Decentralized structure – Network resilience – Complex and Static Architecture
  • 4.
    WHAT IS SDN? NetworkArchitecture with four characteristics: 1. Control and data planes are decoupled 2. Forwarding decisions are flow based instead of destination based 3. Control logic is moved to SDN controller or Network Operating System 4. Network is programmable through software applications
  • 5.
    SDN ABSTRACTIONS • Whatdo we do when dealing with complex problems? – Decompose it to simpler problems – Define an abstraction for each component • SDN Abstractions: – Forwarding – Distribution – Specification
  • 6.
  • 7.
  • 8.
    NETWORK INFRASTRUCTURE • Switches,routers, … • No embedded control software • Include open and standard interfaces (e.g. OpenFlow, POF, …) • A data plane device is a hardware or software element specialized in packet forwarding based on a pipeline of flow tables
  • 9.
  • 10.
    SOUTHBOUND INTERFACE • APIsconnecting and separating control and forwarding elements • Openflow is the most widely accepted • Openflow provides three information sources for NOS: • Event-based messages when a port or link changes • Flow statistics • Packet-in messages when forwarding device doesn’t know what to do
  • 11.
    NETWORK HYPERVISOR • Network-widesoftware layer • Under network control applications • On top of distributed networking devices • Multiplex, demuiltiplex and monitor • Implemented via distriputed system • Distribute networks states and loads • Logically centralized (huge difference) • Partition resources through multiple contexts • Distribute logical context over multiple physical devices
  • 12.
  • 13.
  • 14.
    NETWORK OPERATING SYSTEM Typesof SDN Controllers(NOSs) • Existing controllers can be categorized based on many aspects • Centralized vs Distributed • Centralized • Single point of failure • Scaling limitations • Can be highly parallelized to overcome above limitations • Distributed • Scalable • Fault tolerant • May offer weak consistency
  • 15.
  • 16.
    SDN CONTROLLER PARTS:CORE SERVICES • Topology • Statistics • Notifications and device management • Shortest path forwarding • Security mechanisms
  • 17.
    SDN CONTROLLER PARTS:SOUTH AND NORTHBOUND • Southbound: – Common interface for upper layers while allowing different southbound APIs – Can be seen as device drivers • Northbound: – Ad hoc APIs – RESTful APIs – File systems
  • 18.
    SDN CONTROLLER PARTS: WEST/EASTBOUND •Only in distributed controllers • Import/export data between controllers • Algorithms for data consistency models • Monitoring/notificatio n capabilities
  • 19.
    ARCHITECTURE AND DESIGNOF SDN CONTROLLERS
  • 20.
    NORTHBOUND INTERFACE • Mostlya software ecosystem • Can be compared to POSIX standard in operating systems • No de facto standard as of right now • Each controller defines its own northbound APIs • NOSIX is an attempt in this direction
  • 21.
    LANGUAGE-BASED VIRTUALIZATION • Capabilityof expressing modularity • Allowing different levels of abstractions while still guaranteeing desired properties • Allow different views of a single physical infrastructure • One virtual “big switch” could represent a combination of several underlying forwarding devices • Simplifies the task of application developers • See the network as a simple “big switch” • Simplify the development and deployment of complex network applications
  • 22.
    PROGRAMMING LANGUAGES • Currentstate in network programming languages: • Openflow: same as Assembly language • Mimic hardware • Too much low-level details • No modular code • No code reuse • Thus we are moving to higher level programming languages • FatTire (functional): uses reg exp to describe network paths • FML (dataflow, reactive): high level policy description language • Procera (functional, reactive): high level abstractions to describe reactive and temporal behaviors
  • 23.
    NETWORK APPLICATIONS • “Networkbrains” • Implement control-logic which dictate the forwarding device behavior • Traffic engineering • Routing, load balancing, scheduling, … • Mobility and wireless • Interference management, wireless network modeling, … • Measurement and monitoring • Measuring link utilization, traffic monitoring, … • Security • Attack detection, access control, flow- rule enforcement • Data center networking • Optimizing network utilization, predict application workloads, …
  • 24.
    CROSS-LAYER ISSUES • Debuggingand troubleshooting – Runtime debugging • Ndb(same as gdb): breakpoints, watch, back-trace, … – Post-mortem analysis • Record and replay network events • Testing and verification – Verification • Connectivity, loop-freedom, access control – Testing • Generate streams of packets and test as many events as possible • Simulation and emulation – Mininet: prototype and evaluate SDN protocols and applications
  • 25.
    REFERENCES • Kreutz, D.,Ramos, F. M., Verissimo, P. E., Rothenberg, C. E., Azodolmolky, S., & Uhlig, S. (2015). Software-defined networking: A comprehensive survey. Proceedings of the IEEE, 103(1), 14-76.