12
1 Tecnologie e Protocolli per Internet 1 Prof. Stefano Salsano e-mail: [email protected] AA2012/13 – Blocco 5 v1 2 Software Defined Networks and OpenFlow

Software Defined Networks and OpenFlow - uniroma2.it Defined Networks and OpenFlow. 3 Acknowledgements •Next slides are taken from •An Experimenter’s Guide to OpenFlow - GENI

  • Upload
    vohuong

  • View
    222

  • Download
    4

Embed Size (px)

Citation preview

1

Tecnologie e Protocolli per Internet 1

Prof. Stefano Salsanoe-mail: [email protected]

AA2012/13 – Blocco 5 v1

2

Software Defined Networksand OpenFlow

3

Acknowledgements

• Next slides are taken from

• An Experimenter’s Guide to OpenFlow - GENI Engineeri ng Workshop June 2010 - Rob Sherwood (with help from many others )

• Packet and Circuit Convergence with OpenFlow - Guru [email protected] with Saurav Das (Stanford), Nick McKeown(Stanford), Preeti Singh (Ciena), Dan Getachew (Ciena ), Lyndon Ong(Ciena)

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

4

Current Internet Closed to Innovations in the Infrastructure

Closed

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

“Software Defined Networking” approachto open it

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 hardware

3. Well-defined open API2. At least one good operating system

Extensible, possibly open-source

The “Software-defined Network”

Simple Packet Forwarding Hardware

Network Operating System 1

Open interface to hardware

Virtualization or “Slicing” Layer

Network Operating System 2

Network Operating System 3

Network Operating System 4

App App App App App App App App

Many operating systems, or

Many versions

Open interface to hardware

Isolated “slices”

Simple Packet Forwarding Hardware

Simple Packet Forwarding Hardware

Simple Packet Forwarding Hardware

Simple Packet Forwarding Hardware

Open Systems

Performance Fidelity

Scale Real User Traffic?

Complexity Open

Simulation medium medium no medium yes

Emulation medium low no medium yes

Software Switches

poor low yes medium yes

NetFPGA high low yes high yes

Network Processors

high medium yes high yes

Vendor Switches

high high yes low no

gap in the tool space

none have all the desired attributes!

Million of lines

of source code5400 RFCs

500M gates

10Gbytes RAM

Bloated Power Hungry

Many complex functions baked into the infrastructureOSPF, BGP, multicast, differentiated services,

Traffic Engineering, NAT, firewalls, MPLS, redundant layers, …

An industry with a “mainframe-mentality”

We lost our way

Specialized Packet Forwarding Hardware

OperatingSystem

App App App

Routing, management, mobility management, access control, VPNs, …

9

10

Controller

OpenFlow

Switch

FlowTable

SecureChannel

PC

hw

sw

OpenFlow: Enable Innovations “within” the Infrastructure

• Add/delete flow entries• Encapsulated packets• Controller discovery

API

Net Services

OpenFlow Protocol

C C C

FLOWVISOR

OpenFlow Protocol

Research Team A

Controller

Research Team B

Controller

Production Net Controller

Isolated

Network

Slices

Physical

Infrastructure

Packet&Circuit

Switches: wired,

wireless, optical

media

Sliced and Virtualized OpenFlow Infrastructure

Control Plane

API

11

Control Plane

API

What is OpenFlow?

Short Story: OpenFlow is an API

• Control how packets are forwarded• Implementable on COTS hardware• Make deployed networks programmable

– not just configurable

• Makes innovation easier• Goal (experimenter’s perspective):

– No more special purpose test-beds– Validate your experiments on deployed hardware

with real traffic at full line speed

OpenFlow: a pragmatic compromise

• + Speed, scale, fidelity of vendor hardware• + Flexibility and control of software and

simulation• Vendors don’t need to expose implementation• Leverages hardware inside most switches

today (ACL tables)

How Does OpenFlow Work?

Ethernet Switch

Data Path (Hardware)

Control PathControl Path (Software)

Data Path (Hardware)

Control Path OpenFlow

OpenFlow Controller

OpenFlow Protocol (SSL/TCP)

Controller

PC

Hardware

Layer

Software

Layer

Flow Table

MAC

src

MAC

dst

IP

Src

IP

Dst

TCP

sport

TCP

dportAction

OpenFlow Firmware

**5.6.7.8*** port 1

port 4port 3port 2port 1

1.2.3.45.6.7.8

OpenFlow Flow Table Abstraction

OpenFlow BasicsFlow Table Entries

Switch

PortMAC

src

MAC

dst

Eth

typeVLAN

ID

IP

Src

IP

Dst

IP

Prot

TCP

sport

TCP

dport

Rule Action Stats

1. Forward packet to port(s)

2. Encapsulate and forward to controller

3. Drop packet

4. Send to normal processing pipeline

5. Modify Fields

+ mask what fields to match

Packet + byte counters

ExamplesSwitching

*

Switch

Port

MAC

src

MAC

dst

Eth

type

VLAN

ID

IP

Src

IP

Dst

IP

Prot

TCP

sport

TCP

dportAction

* 00:1f:.. * * * * * * * port6

Flow Switching

port3

Switch

Port

MAC

src

MAC

dst

Eth

type

VLAN

ID

IP

Src

IP

Dst

IP

Prot

TCP

sport

TCP

dportAction

00:20.. 00:1f.. 0800 vlan1 1.2.3.4 5.6.7.8 4 17264 80 port6

Firewall

*

Switch

Port

MAC

src

MAC

dst

Eth

type

VLAN

ID

IP

Src

IP

Dst

IP

Prot

TCP

sport

TCP

dportForward

* * * * * * * * 22 drop

ExamplesRouting

*

Switch

Port

MAC

src

MAC

dst

Eth

type

VLAN

ID

IP

Src

IP

Dst

IP

Prot

TCP

sport

TCP

dportAction

* * * * * 5.6.7.8 * * * port6

VLAN Switching

*

Switch

Port

MAC

src

MAC

dst

Eth

type

VLAN

ID

IP

Src

IP

Dst

IP

Prot

TCP

sport

TCP

dportAction

* * vlan1 * * * * *

port6,

port7,

port900:1f..

OpenFlowSwitch.org

Controller

OpenFlow

Switch

PC

OpenFlow UsageDedicated OpenFlow Network

OpenFlow

Switch

OpenFlow Switch

OpenFlowProtocol

Aaron’s code

Rule Action Statistics

Rule Action Statistics Rule Action Statistics