software defined networking (sdn)

56
Software Defined Networking (SDN) - “The Future of Networking”

Upload: milstein-munakami

Post on 20-Aug-2015

2.897 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Software Defined networking (SDN)

Software Defined Networking (SDN)

- “The Future of Networking”

Page 2: Software Defined networking (SDN)

Introduction

Milson Munakami– 5 years Developer Evangelist – No Cable guy– @milson

Page 3: Software Defined networking (SDN)

Agenda• What is SDN?• Hype and Confusion• Key Concept of SDN• OpenFlow• Future of SDN• Mininet At A Glance• Demo• Q & A

Page 4: Software Defined networking (SDN)

What is SDN?Introduce and demystify Software-Defined Networking

(SDN)

Page 5: Software Defined networking (SDN)

What is Networking?

end-hosts want to communicate?

Page 6: Software Defined networking (SDN)

What is Networking?

Ethernet switches connects them

Page 7: Software Defined networking (SDN)

What is Networking?

Which decide how packets should be forwarded

Page 8: Software Defined networking (SDN)

What is Networking?

And actually forward them

Page 9: Software Defined networking (SDN)

How is Networking evolving?• Plug-and-play• Mobility and wireless• Structured and optimized topologies• More complex servers – cloud• Routers and wifi • Inter-domain routers• Gateways – bridge• Middleboxes - NAT• Firewall – malicious traffic• Load balancing • Virtualizations

Page 10: Software Defined networking (SDN)

The Network is Being Pushed to Its Limits…

80% of Enterprise Apps are Deployed in

the Cloud

1.1 Billion Smartphones

Projected to Ship in 2014

2.5 billion Internet users in the world! Expect 5 billion by

2023!

Unending, exponential growth in the people, devices and servers connecting to the network requires a new approach

This is Where Software-Defined Networking (SDN) Comes In…

Page 11: Software Defined networking (SDN)

Need to Innovate in the Network

Revenues from Cloud Innovation Could

Reach $1.1 Trillion Per Year by 2015

15K New Applications Are

Added Every Week!

83% of Companies Believe Mobility Will Significantly Affect

Their Business

We’ve seen tons of innovation in applications, devices, computing and storage,

… yet the underlying network that connects everything has remained unchanged!

Page 12: Software Defined networking (SDN)

So what we need?

Page 13: Software Defined networking (SDN)

Specialized Packet Forwarding Hardware

App

App

App

Specialized Packet Forwarding Hardware

App

App

App

Specialized Packet Forwarding Hardware

App

App

App

Specialized Packet Forwarding Hardware

App

App

App

Specialized Packet Forwarding Hardware

OperatingSystem

OperatingSystem

OperatingSystem

OperatingSystem

OperatingSystem

App

App

App

Network Operating System

App App App

Closed SystemCustom hardwareFeatures - apps

Page 14: Software Defined networking (SDN)

App

Simple Packet Forwarding Hardware

Simple Packet Forwarding Hardware

Simple Packet Forwarding Hardware

App App

Simple Packet Forwarding Hardware Simple Packet

Forwarding Hardware

Network Operating System

1. Open interface to packet forwarding

3. Well-defined open API 2. At least one good operating systemExtensible, possibly open-source

Page 15: Software Defined networking (SDN)

Unified Data and Control

The world today

vs.

Add feature here?!?!

Control + Data Separation

Controller

DataControl

AppApp App

Today, new features are implemented as fully distributed algorithms at a protocol level rather than centralized applications. Spanning tree is a great example…

Page 16: Software Defined networking (SDN)

Hype and Confusion

Page 17: Software Defined networking (SDN)
Page 18: Software Defined networking (SDN)

Current Networking Scheme• Fully distributed protocols - hard to add a feature to a

network• Network is closed for research and innovation• Network administrators, Experts and Researchers can only configure devices• Increased Complexity and changes – error prone• Vendor Specific Solutions• Lots of Challenges and difficulties

Page 19: Software Defined networking (SDN)

Mitigation approach • Open Development environment for Networking • Isolation:

• regular production Network untouched

• Virtualized and Programmable networks

Software Defined Networking (SDN)

Page 20: Software Defined networking (SDN)

Scenario

App AppAppAppApp App

Network

Dynamic IT Environment

Static Provisioning

Static Network Model

Scalability

Web Speed

Flexibility

Dynamic Services Model

Page 21: Software Defined networking (SDN)

Key Concept of SDN

Page 22: Software Defined networking (SDN)

Windows

(OS)

Windows

(OS)

Linux

MacOS

x86(Computer)

Windows

(OS)

AppApp

Linux

Linux

MacOS

MacOS

Virtualization layer

App

Computer Industry

Controller 1

AppApp

Controller2

Virtualization or “Slicing”

App

OpenFlow

Controller 1

NOX(Network OS)

Controller2

Network OS

Network Industry

Page 23: Software Defined networking (SDN)

Vertically integratedClosed, proprietary

Slow innovationSmall industry

SpecializedOperatingSystem

SpecializedHardware

AppAppAppAppAppAppAppAppAppAppApp

SpecializedApplications

HorizontalOpen interfacesRapid innovation

Huge industry

Microprocessor

Open Interface

LinuxMacOS

Windows(OS) or or

Open Interface

Page 24: Software Defined networking (SDN)

Vertically integratedClosed, proprietary

Slow innovation

SpecializedOperatingSystem

SpecializedHardware

AppAppAppAppAppAppAppAppAppAppApp

SpecializedApplications

HorizontalOpen interfacesRapid innovation

Control

Plane

Control

Plane

ControlPlane or or

Open Interface

MerchantSwitching Chips

Open Interface

Page 25: Software Defined networking (SDN)

Core Concept of SDN• Separate Control(brains) plane and Data(muscle) plane entities

• Network intelligence and state are logically centralized• The underlying network infrastructure is abstracted from the

applications

• Execute or run Control plane software on general purpose hardware

• Decouple from specific networking hardware• Use commodity servers

• Have programmable data planes - APIs• Maintain, control and program data plane state from a central entity

• An architecture to control not just a networking device but an entire network – efficient orchestration and automation of network services

Page 26: Software Defined networking (SDN)

Key Abstraction

Network Operating System

Routing Traffic Engineering

Other Applications

Well-defined API

Forwarding

Forwarding

Forwarding

Forwarding

Network Virtualization

Network Map Abstraction

Separation of Data and Control Plane

1.<Match, Action>

2.<Match, Action>

3.<Match, Action>

4.<Match, Action>

5.<Match, Action>

6.…7.… OpenFlow –

OF Data Plane Abstraction

Page 27: Software Defined networking (SDN)

Key Benefits• Efficiency: optimize existing applications, services, and

infrastructure• Agility: enabling organizations to rapidly deploy applications,

services, and infrastructure to meet needs• Scale: automate and optimize new and existing applications

and services• Innovation: allowing organizations to create and deliver new

types of applications, services and business models • Centralized Control• Reduced Complexity through Automation• Increased Network Reliability and Security

Page 28: Software Defined networking (SDN)

OpenFlow

“OpenFlow is an open standardto deploy innovative protocols

in production networks”

openflow.org

Page 29: Software Defined networking (SDN)

OpenFlow Protocol (TCP/SSL)

Data Path (Hardware)

Control Path OpenFlowEthernet Switch

Network OS

Control Program A Control Program B

Page 30: Software Defined networking (SDN)

What is OpenFlow?• OpenFlow is similar to an x86 instruction set for the network to

program the forwarding behavior of the switch• Provide open interface to “black box” networking node

• (ie. Routers, L2/L3 switch) to enable visibility and openness in network

• OpenFlow is based on an Ethernet switch, with an internal flow-table, and a standardized interface to add and remove flow entries

• Controller or control software uses OpenFlow protocol to provide programmable interface to switches & routers

Page 31: Software Defined networking (SDN)

Programming SDN with OpenFlow• The Good

– Network-wide visibility– Direct control over the

switches– Simple data-plane abstraction• The Bad– Low-level programming interface– Functionality tied to hardware– Explicit resource control

• The Ugly– Non-modular, non-compositional– Challenging distributed

programming

Page 32: Software Defined networking (SDN)

OF building blocks

ControllerNOX

SlicingSoftwareFlowVisor

FlowVisorConsole

ApplicationsLAVIENVI (GUI) Expedientn-Casting

NetFPGASoftware Ref. Switch

Broadcom Ref. Switch

OpenWRTPCEngine

WiFi AP

Commercial SwitchesStanford Provided

OpenFlowSwitches

ONIX

Stanford Provided

Monitoring/debugging toolsoflopsoftrace openseer

Open vSwitchHP, NEC, Pronto, Juniper..

and many more

Beacon Trema Maestro

Page 33: Software Defined networking (SDN)

OpenFlow Specification Basics• Open standard defined by the Open Networking

Foundation (ONF)• Consists at least three parts

• Flow Table – define how the switch will process each flow entries

• Secure Channel – to connect to controller• OpenFlow Protocol(API)

•Flow table are set up on switches•Controller talk to the switch via the OpenFlow protocol

Page 34: Software Defined networking (SDN)

Layered Architecture for SDNSouthbound API– includes OpenFlow but not limited to itSouthbound API offer L1/L2/L3 forwarding abstraction.

The Promise of SDN

Separation of forwarding and control planesOpen and vendor agnostic interface (e.g. OpenFlow)Well defined control plane abstractions to enable rapid innovation

Open Scalable Secure Agile Consistent

Page 35: Software Defined networking (SDN)

3rd partycomponents

Network OS

Apps Apps

Network OS

Apps Apps

OpenVendor Agnostic

Interfaces & Standards

Open Interfaces

Open Interfaces

SDN Controller LogicallyCentral

Separationof Control &Forwarding

Forwarding plane tier

Controller tier

Application tier

SDN Architecture

Page 36: Software Defined networking (SDN)

Components of OpenFlow Network• Controller

• OpenFlow protocol messages • Controlled channel

• OpenFlow switch• Secure Channel (SC)• Flow Table• Flow entry• Processing

• Pipeline Processing• Packet Matching• Instructions & Action Set

Page 37: Software Defined networking (SDN)

OpenFlow Controller

37

Name Lang Platform(s) License OriginalAuthor

Notes

OpenFlow Reference

C Linux OpenFlow License

Stanford/Nicira not designed for extensibility

NOX Python, C++

Linux GPL Nicira actively developed

Beacon Java Win, Mac, Linux, Android

GPL (core), FOSS Licenses for your code

David Erickson (Stanford)

runtime modular, web UI framework, regression test framework

Maestro Java Win, Mac, Linux

LGPL Zheng Cai (Rice) Focuses on achieving better performance using multithreading

Trema Ruby, C Linux GPL NEC includes emulator, regression test framework

Floodlight Java Linux Apache Big Switch Actively developed, open sourced

OpenDayLight Java Linux Apache Linux Foundation

Actively developed, open sourced

Page 38: Software Defined networking (SDN)

OpenFlow Switch

Components:Flow table & Group table- Perform packet lookups and forwarding

OpenFlow channel- Interface that connects a switch to a

controller

Pipeline process- Maintains sending of packets between flow tables by matching flow entries.

Two types

OpenFlow-Capable/ hybrid

OpenFlow-only/ pure

Page 39: Software Defined networking (SDN)

Secure Channel (SC)• SC is the interface that connects each OpenFlow switch to controller

• A controller configures and manages the switch via this interface.• Receives events from the switch • Send packets out the switch

• SC establishes and terminates the connection between OpenFlow Switch and the controller using the procedures

• Connection Setup • Connection Interrupt

• The SC connection is a TLS connection. Switch and controller mutually authenticate by exchanging certificates signed by a site-specific private key.

Page 40: Software Defined networking (SDN)

Flow Table• Flow table in switches, routers, and chipsets

Rule(exact & wildcard)

Action Statistics

Rule(exact & wildcard)

Action Statistics

Rule(exact & wildcard)

Action Statistics

Rule(exact & wildcard)

Default Action Statistics

Flow 1.

Flow 2.

Flow 3.

Flow N.

Page 41: Software Defined networking (SDN)

Flow table Entry• Flow table consists of set of entries to compare incoming

packets against• Each flow entry consist of match fields, counters, actions• Matching starts at the first flow table• Flow entries match in priority order• Match found

• Apply the instructions

• Match not found• forwarded to the controller over the OpenFlow channel,• dropped• may continue to the next flow table

Page 42: Software Defined networking (SDN)

Flow Entry• A flow entry consists of

In Port Src MAC

Dst MAC

Eth Type Vlan Id IP Tos IP

Proto IP Src IP DstTCP Src

Port

TCP Dst Port

1. Forward packet to port(s)2. Encapsulate and forward to controller3. Drop packet 4. Send to normal processing pipeline5. Vendor specific extensions

1. Packet2. Byte counters

•Per table•Per flow

Match Fields

1. Match fields -Match against packets

Action(s)

2. Action-Modify the action set or pipeline processing

Stats

3. Stats -Update the matching packets

Page 43: Software Defined networking (SDN)

Workflow

Encapsulates packets and sends to controller

Drops

Packet arrives at switch

Header fields compared to flow table entries

Forwarded to specified port

DroppedOR

Controller decides

Make new entry in flow table

OR

Match FoundMatch Not Found

Page 44: Software Defined networking (SDN)

OpenFlow Protocol Message Types• Controller-to-switch

• To directly manage or inspect the state of the switch• may or may not require a response from the switch• Operations/msg types: features, configuration, Ready-State, Modify-State,

barrier

• Asynchronous• To update the controller of network events and changes to the switch state.• sent without the controller soliciting them from a switch• To tell controller a packet arrival, switch state change, or error• Msg. types: Packet-in, Flow-Removed, Port-status, Error

• Symmetric • Hello message, Echo request/reply

Page 45: Software Defined networking (SDN)

Future of SDN

Page 46: Software Defined networking (SDN)

Future of SDN

Early Market Mature Market

Custom

Solutions

Tailored

Solutions

Packaged Software

SDN Today

Page 47: Software Defined networking (SDN)

SDN EcosystemMore Start-Ups and VC investment too!

Chip vendors Equipment vendors Software vendorsVendors

Page 48: Software Defined networking (SDN)

Growing CommunityVendors and start-ups Providers and business-unit

More... More...

Page 49: Software Defined networking (SDN)

Mininet At A Glance

Page 50: Software Defined networking (SDN)

Mininet At A Glance• CONVENIENT REALISTIC EMULATOR FOR SOFTWARE-DEFINED NETWORKS

• Mininet creates a realistic OpenFlow network, running real kernel, switch and application code, on a single machine (VM, cloud or native), in seconds, with a single command

• Network emulator• Designed for emulating SDN networks• Easy to use• High performance (100 nodes on a laptop)

Page 51: Software Defined networking (SDN)

What You Can Do?• Rapidly prototype, develop and test

• Interestingly-sized networks (16-100 nodes) start up in seconds

• No lengthy lab reconfiguration or rebooting required

• Always-accessible network resources, in any topology, at essentially no cost

• Designs that work on Mininet transfer seamlessly to hardware for full speed operation

• Runs your choice of software switch• Stanford’s reference OpenFlow switch• OpenVSwitch

Easily and inexpensively demonstrate

and share

Quickly get up and running

Repeatedly test, analyze, and predict network behavior

Page 52: Software Defined networking (SDN)

Demo

Page 53: Software Defined networking (SDN)

Experimental Setup

H1 S1

SDN Controller: NOX

H2S2 S3

S4

Page 54: Software Defined networking (SDN)

Resources1. OpenFlow Tutorials:

http://archive.openflow.org/wk/index.php/OpenFlow_Tutorial2. Open Networking Foundation (ONF) :ONF is a user-driven organization dedicated to the promotion and adoption of Software-Defined Networking (SDN) through open standards development.https://www.opennetworking.org/

ONF has taken on the responsibility to drive the standardization of the OpenFlow protocol and have many member companies.3. SDNCentral is the leading centralized source of news and resources for network virtualization and software-defined networking (SDN).  http://www.sdncentral.com/-The independent community & #1 resource for SDN and NFV4. Mininethttp://mininet.org/

Page 55: Software Defined networking (SDN)

Q&A

Page 56: Software Defined networking (SDN)

Thank you!