An overview of SDN & Openflow

22
An overview of SDN & Openflow Peyman Faizian – Feb 2015

Transcript of An overview of SDN & Openflow

Page 1: An overview of SDN & Openflow

An overview of SDN & Openflow

Peyman Faizian – Feb 2015

Page 2: An overview of SDN & Openflow

2

Overview Current State in Networking What is SDN? SDN Abstractions SDN Architecture & Layers Cross-Layer Issues

Page 3: An overview of SDN & Openflow

3

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

Page 4: An overview of SDN & Openflow

4

What is SDN?Network Architecture with four characteristics:

1. Control and data planes are decoupled2. Forwarding decisions are flow based instead

of destination based3. Control logic is moved to SDN controller or

Network Operating System4. Network is programmable through software

applications

Page 5: An overview of SDN & Openflow

5

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

Page 6: An overview of SDN & Openflow

6

SDN Architecture

Page 7: An overview of SDN & Openflow

7

Layer 1: 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

Page 8: An overview of SDN & Openflow

8

SDN Data Plane Devices

Page 9: An overview of SDN & Openflow

9

Layer 2: 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

Page 10: An overview of SDN & Openflow

10

Layer 4: Network Operating Systems

Operating System

CPU NetworkMemoryStorage

App

1

App

2

App

N

Operating System Model

Page 11: An overview of SDN & Openflow

11

Layer 4: Network Operating Systems

Network Operating System

Forwarding Device

Forwarding Device

Forwarding Device

Forwarding Device

Net

App

1

Net

App

2

Net

App

N

SDN Model

Page 12: An overview of SDN & Openflow

12

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

Page 13: An overview of SDN & Openflow

13

SDN Controller Parts

Page 14: An overview of SDN & Openflow

14

SDN Controller Parts: Core Services Topology Statistics Notifications and device management Shortest path forwarding Security mechanisms

Page 15: An overview of SDN & Openflow

15

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

Page 16: An overview of SDN & Openflow

16

SDN Controller Parts: West/Eastbound Only in distributed controllers import/export data between controllers algorithms for data consistency models monitoring/notification capabilities

Page 17: An overview of SDN & Openflow

17

Architecture and Design of SDN Controllers

Page 18: An overview of SDN & Openflow

18

Layer 5: Northbound Interfaces 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

Page 19: An overview of SDN & Openflow

19

Layer 7: 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

Page 20: An overview of SDN & Openflow

20

Layer 8: 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, …

Page 21: An overview of SDN & Openflow

21

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

Page 22: An overview of SDN & Openflow

22

Reference Software defined networking: A comprehensive survey; Diego Kreutz,

Fernando Ramos, Pauolo Verissimo, Christian Esteve Rothenberg, Siamak Azodolmolky, Steve Uhlig, Oct 2014.