networking answer 3 questions must be original

profilesmalling help
sdn.pdf

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.1

Lecture 5 Software Defined Networks (ST: Advances in Networks)

CS 6/75995 Summer 2014

H. Peyravi Department of Computer Science

Kent State University

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 1 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.2

§5.0.0 Contents Acronyms 1 Introduction

Software Defined Networks 2 Today’s Networks

Today’s Networks Limitations of Current Networks Drawbacks of Existing Networks

3 Idea: An OS for Networks Idea: An OS for Networks

4 SDN History SDN History

5 SDN Architecture SDN Architecture SDN Benefits SDN Standard Bodies SDN Paradigm

6 The Road to SDN The Road to SDN Some Basic Questions

7 OpenFlow OpenFlow Centralized vs. Distributed Control OPenFlow Protocol Messages Secure Channel (SC) Packet Matching Pipeline Processing Instructions and Action Set Actions Flow Table Entry Flow Switching/Routing Load Balancing Dynamic Flow Modification Flow Routing vs. Aggregation Reactive vs. Proactive Entries

8 Virtualization Virtualization Server Virtualization Network Virtualization Models for Network Virtualization Network Slice Model

9 Virtualizing OpenFlow Trend

10 References

The contents of this lecture have been composed from various resources including those listed at the reference section.

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 2 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.3

§5.0.0 Glossaries API Application Programming Interface 18, 23, 26

BGP Boarder Gateway Protocol 6 DiffServ Differentiated Services 6

IETF Internet Engineering Task Force 21 MPLS Multiprotocol Label Switching 6, 46

NAT Network Address Translation 6 NIC Network Interface Controller 22

ONF Open Networking Foundation 21 OSPF Open Shortest Path First 6

SDK Software Development Kit 22 SDN Software Defined Networking 14, 18, 19, 22, 24

VLAN Virtual Local Area Network 46 VM Virtual Machine 8

VPN Virtual Private Network 46 VRF Virtual Routing and Forwarding 46

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 3 / 52

Software Defined Networks

Acronyms

Introduction Software Defined Networks

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.4

Introduction Software Defined Networks

§5.1.1 Software Defined Networks

å Reading list: [3, 4, 5]

Control Control

Plane Plane

Open Interface

Plane Control

Open Interface

Merchant Switching Chips

Specialized

Current Single Vendor Ecosystem

Future Open Network Ecosystem

Vertically integrated

Closed interfaces

Proprietary

Slow innovation Rapid innovation

Open interfaces Horizontal

Apps

Specialized Hardware

PlaneControl

Specialized Features

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 4 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks Today’s Networks

Limitations of Current Networks

Drawbacks of Existing Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.5

Today’s Networks Today’s Networks

§5.2.1 Today’s Networks I

Today’s networks are statically provisioned

[1]

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 5 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks Today’s Networks

Limitations of Current Networks

Drawbacks of Existing Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.6

Today’s Networks Today’s Networks

§5.2.1 Today’s Networks II

[1]

Many complex functions are baked into infrastructure I Open Shortest Path First (OSPF), Boarder Gateway Protocol (BGP),

Differentiated Services (DiffServ), Network Address Translation (NAT), firewalls, Multiprotocol Label Switching (MPLS) etc.

How to efficiently and effectively manage such a comples system?

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 6 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks Today’s Networks

Limitations of Current Networks

Drawbacks of Existing Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.7

Today’s Networks Today’s Networks

§5.2.1 Today’s Networks III

A Box

. . .Features FeaturesFeatures

Operating System

Specialized Packet Forwarding Hardware

Million lines of source code

5400 RFCs

Barrier to entry

Billions of gates Bloated Power hungry

Routing, management, access control etc.

Devices are managed at a box level I Applications I Operating systems I Hardware

Kind of mainframe mentality

The box becomes a barrier to entry

Resources are often under-utilized

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 7 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks Today’s Networks

Limitations of Current Networks

Drawbacks of Existing Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.8

Today’s Networks Limitations of Current Networks

§5.2.2 Limitations of Current Networks I 1 Enterprise networks are difficult to manage

I We Cannot dynamically make changes according to network conditions

2 No control plane abstraction for the whole network I Like old days of computers when there were no operating systems

3 New control requirements are needed for I Greater scalability I Migration of Virtual Machines (VMs)

• Migrating operating system instances across distinct physical hosts in K Clusters K Data centers

• It allows a clean separation between hardware and software to K facilitate fault management K load balancing

4 No mix and match between various devices and interfaces 5 Lack of competition at each layer 6 Configuring such huge networks is very difficult if not impossible

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 8 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks Today’s Networks

Limitations of Current Networks

Drawbacks of Existing Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.9

Today’s Networks Drawbacks of Existing Networks

§5.2.3 Drawbacks of Existing Networks It is difficult to perform real world experiments on large scale networks I Research stagnation

• Costly equipment needed to be setup to conduct research We have a closed system I We are stuck with interfaces I Vendors have proprietary software/hardware Network equipment have been hardware centric Why? I To increase network capacity I Faster packet switching The impact has been I Slower innovation I Reducing flexibility once chips are fabricated

• Firmware provides some programmability Vendor specific software I Custom built

K Better efficiency K Increasing competitive edge

I Impact K Closed software K Non-standard interfaces

Proprietary networking devices with proprietary software and hardware resulted I Limiting innovation to vendor/ vendor partners I Major barriers for new ideas in networking

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 9 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.10

Idea: An OS for Networks Idea: An OS for Networks

§5.3.1 Idea: An OS for Networks I

Closed Boxes

Operating System

Specialized Packet Forwarding Hardware

App App App

Operating System

Specialized Packet Forwarding Hardware

App App App

Operating System

Specialized Packet Forwarding Hardware

App App App

Operating System

Specialized Packet Forwarding Hardware

App App App

Operating System

Specialized Packet Forwarding Hardware

App App App

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 10 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.11

Idea: An OS for Networks Idea: An OS for Networks

§5.3.1 Idea: An OS for Networks II Adding Network OS + Control Program

Operating System

Specialized Packet Forwarding Hardware

App App App

Operating System

Specialized Packet Forwarding Hardware

App App App

Operating System

Specialized Packet Forwarding Hardware

App App App

Operating System

Specialized Packet Forwarding Hardware

App App App

Operating System

Specialized Packet Forwarding Hardware

App App App

Control Program

Network Operating System

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 11 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.12

Idea: An OS for Networks Idea: An OS for Networks

§5.3.1 Idea: An OS for Networks III Separation of Control Panel from Data Panel: SDN [7]

Specialized Packet Forwarding Hardware

Specialized Packet Forwarding Hardware

Specialized Packet Forwarding Hardware

Specialized Packet Forwarding Hardware

Specialized Packet Forwarding Hardware

Network Operating System

Open API Control Program

Open Interface to Hardware

(OpenFlow)

Routing Traffic Security AppApp. . .Engineering

Data Plane

Control Plane

It decouples topology, traffic and inter-layer dependencies

It offers dynamic multi-layer networking

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 12 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.13

Idea: An OS for Networks Idea: An OS for Networks

§5.3.1 Idea: An OS for Networks IV

NOX: Towards an Operating System for Networks [6]

Network Operating System

Global Network View

Control Program

Protocols

Control via forwarding interface

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 13 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.14

SDN History SDN History

§5.4.1 SDN History I

Software Defined Networking (SDN) is part of a long history of efforts to make computer networks more programmable

Traditional node entity

Ethernet Switch

Control Path (Software)

Data Path (Hardware)

SDN separated control panel from data panel

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 14 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.15

SDN History SDN History

§5.4.1 SDN History II SDN Elements

Ethernet Switch

App1 App2 App3

SDN Client Data Path (Hardware)

SDN Controller (Server)Controller (Server)

SDN Protocol − Open Flow

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 15 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.16

SDN History SDN History

§5.4.1 SDN History III

Networks have various kinds of equipment I Hardware: Routers, switches, etc. I Middleware: firewalls, network address translators, load balancers,

intrusion detection systems I Software: application protocols

Switches and routers run distributed control software that is typically closed and proprietary The software implements network protocols I Tested for interoperability and standardization

Network administrators configure network devices using configuration interfaces I Vary across networks I Vary across protocols

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 16 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture SDN Architecture

SDN Benefits

SDN Standard Bodies

SDN Paradigm

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.17

SDN Architecture SDN Architecture

§5.5.1 SDN Architecture I

SDN Applications

(e.g., OpenFlow) Control & DataPlane Programmable Interface

SDN Controller

Programmable Open APIs

Business Applications

Cloud Orchestration

(e.g., OpenStack, CloudStack)L a

y e

r L

a y e

r L

a y e

r In

fr a

s tr

u c tu

re C

o n

tr o

l A

p p

li c a

ti o

n

Network Device Network Device Network Device

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 17 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture SDN Architecture

SDN Benefits

SDN Standard Bodies

SDN Paradigm

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.18

SDN Architecture SDN Architecture

§5.5.1 SDN Architecture II SDN has gained significant traction recently I Many commercial switches support the OpenFlow Application

Programming Interface (API) SDN enables innovation in how we design and manage networks I Computer networks are complex and difficult to manage

SDN has changed network management in different ways

1 SDN separates the control plane from from the data plane I Control plane ⇒ decides how to handle the traffic I Data plane ⇒ forwards traffic according to the control plane’s rules

2 SDN consolidates the control plane to control multiple data plane elements I Controls routers, switches, and other middle boxes I Using a well-defined API

K Brings network to applications K OpenFlow [7] is an example of API developed at Stanford

Û An OpenFlow switch has one or more tables of packet-handling rule Û Each rule matches a subset of traffic and performs certain actions on

the traffic – e.g., Dropping, forwarding

Û An OpenFlow switch can behave like a router, switch, firewall, network address translator, etc.

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 18 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture SDN Architecture

SDN Benefits

SDN Standard Bodies

SDN Paradigm

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.19

SDN Architecture SDN Architecture

§5.5.1 SDN Architecture III

Many different controller platforms have emerged These controlling platforms have been used to create many applications I Dynamic access control I Server load balancing I Network virtualization I Energy-efficient networking I Seamless virtual-machine migration and user mobility Major companies (Google, HP, NEC, etc.) have joined SDN industry consortium I Open Networking Foundation I Open Daylight SDN idea has its root in early telephone systems I Separation of control and data planes to

• Simplify network management • Deployment of new services

SDN also resembles past research on active networking I Programmable networks

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 19 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture SDN Architecture

SDN Benefits

SDN Standard Bodies

SDN Paradigm

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.20

SDN Architecture SDN Benefits

§5.5.2 SDN Benefits

1 It facilitates Innovations in Networks

2 It is a layered architecture with standard open interfaces I Independent innovation can be developed at each layer

3 Experiment and research can be conducted without using bulky, expensive equipment

4 Offers more accessibility since software can be easily developed by more vendors

5 Speed-to-market I There is no hardware fabrication cycles

6 Offers more flexibility with programmability

7 Ease of customization and integration with other software applications

8 Fast upgrades

9 Programming a network vs configure a network

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 20 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture SDN Architecture

SDN Benefits

SDN Standard Bodies

SDN Paradigm

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.21

SDN Architecture SDN Standard Bodies

§5.5.3 SDN Standard Bodies

1 Open Networking Foundation (ONF) I https://www.opennetworking.org/

2 OpenFlow Organization I http://www.openflow.org/

3 Clean State at Stanford I http://cleanslate.stanford.edu

4 Internet Engineering Task Force (IETF) I http://tools.ietf.org/html/draft-nadeau-sdn-problem-statement-00 I http://tools.ietf.org/html/draft-nadeau-sdn-framework-01

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 21 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture SDN Architecture

SDN Benefits

SDN Standard Bodies

SDN Paradigm

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.22

SDN Architecture SDN Paradigm

§5.5.4 SDN Paradigm

Software-Centric-Network I Network devices provide Software Development Kits (SDKs) I SDN facilitates third-party application development and integration I SDN allows software vendors to develop network applications I SDN helps evolving standards for network applications

SDN Entities

1 A general purpose commodity-off-the-shelf hardware

2 A real time optimized operating system ⇒ mostly Linux based 3 Some high end power and multi-port Network Interface Controller

(NIC) cards 4 Integration with other new trends in servers

I Virtualization I Parallelization I Modularity

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 22 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN The Road to SDN

Some Basic Questions

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.23

The Road to SDN The Road to SDN

§5.6.1 The Road to SDN I

Making networks programmable enables I Innovation in network management I Lowers the barrier to deploying new services

Historically, we have 3 stages of evolutionary activities in programmable networks I Active networks (mid-1990s to the early 2000s)

• Introduced programmable functions in the network to enable innovations I Control and data plane separation (2001 to 2007)

• Developed open interfaces between the control and data planes I OpenFlow API and network operating systems (2007 to 2010)

• Represented widespread adoption of an open interface • Making control-data plane separation scalable and practical

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 23 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN The Road to SDN

Some Basic Questions

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.24

The Road to SDN The Road to SDN

§5.6.1 The Road to SDN II

Network virtualization played an important role through the evolution of SDN I We will discuss network virtualization and its relationship to SDN

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 24 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN The Road to SDN

Some Basic Questions

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.25

The Road to SDN Some Basic Questions

§5.6.2 Some Basic Questions

1 How to obtain global information?

2 What are the configurations?

3 How to implement?

4 How is the scalability?

5 How does it really work?

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 25 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.26

OpenFlow OpenFlow

§5.7.1 OpenFlow I OpenFlow is an open API that provides a standard interface for programming the data plane switches I An standard way to control flow-tables in commercial switches and routers I Like an x86 instruction set for the network

It provides an open interface to a L2/L3 node (switches, routers) and make them visible to the network

(SW)Secure Channel

(HW)Flow Table SSL

OpenFlow Protocol

Controller

How does it separate the control plane from the data plane? I The data path consists of a Flow Table

• An action associated with each flow entry I The control path consists of a controller

• It programs the flow entry in the flow table

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 26 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.27

OpenFlow OpenFlow

§5.7.1 OpenFlow II

OpenFlow is based on an Ethernet switch with I an internal flow-table I a standardized interface to add/remove flows

OpenFlow was intended to enable innovation in campus networks I Like hardware drivers

• Interface between switches and network

It has been deployed at Stanford ⇒ http://cleanslate.stanford.edu

Some Applications

Mobility management

Network-wide energy management

New naming/addressing schemes

Network access control

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 27 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.28

OpenFlow Centralized vs. Distributed Control

§5.7.2 Centralized vs. Distributed Control

Centralized

(SW)Secure Channel

(HW)Flow Table

(SW)Secure Channel

(HW)Flow Table

(SW)Secure Channel

(HW)Flow Table

Controller

Distributed

(SW)Secure Channel

(HW)Flow Table

(SW)Secure Channel

(HW)Flow Table

(SW)Secure Channel

(HW)Flow Table

Controller

Controller

Controller

One OpenFlow switch cannot be controlled by two controllers with out additional abstractions

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 28 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.29

OpenFlow OPenFlow Protocol Messages

§5.7.3 OPenFlow Protocol Messages

Controller-to-Switch messages I Initiated by the controller I Used to directly manage or inspect the state of the switch

• Features, Config, Modify State, Read-State, Packet-Out, Barrier

Asynchronous I Asynchronous messages are sent without the controller soliciting them

from a switch • Packet-in, Flow Removed / Expiration, Port-status, Error, Barrier

Symmetric I Symmetric messages are sent without solicitation, in either direction

• Hello, Echo, Experimenter / Vendor

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 29 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.30

OpenFlow Secure Channel (SC)

§5.7.4 Secure Channel (SC)

Secure Channel is the Interface that connects each OpenFlow switch to controller

A controller configures and manages the switch, receives events from the switch, and send packets out the switch via this interface Secure Channel establishes and terminates the connection between OpenFlow Switch and the controller I Using Connection Setup and Connection Interruption procedures The Secure Channel connection is a TLS connection I Switch and controller mutually authenticate by exchanging certificates

signed by a site-specific private key

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 30 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.31

OpenFlow Packet Matching

§5.7.5 Packet Matching Packet Arrival

fields

Extract headerPacket

arrives

Match in

any tables ?

Apply actions

Updata statistics

Encapsulate and

forward to controller

Yes

No

Table Match

Table n

Match in

Start at Flow Table n=0

Packet in

o Send the packet to controller

o Drop the packet

o Continue to the next table

o Update action set

Execute Instruction Set

Update Counters and

o Update packet/match set fields

o Update metadata

Execute Action Set

Table n++

Go to

Based on table configuration, do one of the following

Yes

Yes

NoNo

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 31 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.32

OpenFlow Pipeline Processing

§5.7.6 Pipeline Processing

Steps at each stage 1 Find highest priority matching flow entry 2 Apply instructions

a Modify packet and update match fields • Apply actions instruction

b Update action set • Clear actions and/or write actions instruction

c Update metadata

3 Send match data and actions set to next table

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 32 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.33

OpenFlow Instructions and Action Set

§5.7.7 Instructions and Action Set I Each flow entry contains a set of instructions I They are executed when a packet matches the entry Instructions contain I A set of actions to add to the action set

• A list of actions to apply immediately to the packet I A set of actions to modify pipeline processing An Action set is associated with each packet I It is empty by default

Action set is carried between flow tables

A flow entry modifies action set using Write-Action or Clear-Action instruction Processing stops when: I The instruction does not contain Goto-Table I The actions in the set are executed

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 33 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.34

OpenFlow Instructions and Action Set

§5.7.7 Instructions and Action Set II

List of Instructions to modify action set

Apply Actions I Apply the specified actions immediately

Clear Actions I Clear all the actions in the set immediately

Write Actions I Merge the specified actions to the current set

Write Metadata I Write the meta data field with the specified value

Goto-Table I Indicated the next table in the processing pipeline

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 34 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.35

OpenFlow Actions

§5.7.8 Actions

Required Actions I Output ⇒ Forward a packet to the specified port I Drop I Group Optional Actions I Set-Queue I Push/Pop Tag I Set-Field

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 35 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.36

OpenFlow Flow Table Entry

§5.7.9 Flow Table Entry I

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 36 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.37

OpenFlow Flow Table Entry

§5.7.9 Flow Table Entry II

[2]

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 37 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.38

OpenFlow Flow Switching/Routing

§5.7.10 Flow Switching/Routing I

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 38 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.39

OpenFlow Flow Switching/Routing

§5.7.10 Flow Switching/Routing II

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 39 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.40

OpenFlow Load Balancing

§5.7.11 Load Balancing

Current methods use uniform distribution of traffic

It is not based on network congestion and server load More adaptive algorithms can be implemented by using OpenFlow I Monitoring the network traffic I Program flows based on demand and server capacity

Dynamic load balancing using OpenFlow

Data Forwarding

OpenFlow Switch

Data Forwarding

OpenFlow Switch

Data Forwarding

OpenFlow Switch

Network Operating System

Program Flow Entries Collect Statistics

Observed Load patterns

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 40 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.41

OpenFlow Dynamic Flow Modification

§5.7.12 Dynamic Flow Modification

A microflow rule matches on all fields

A wildcard rule can have ”dont care” bits in some fields Rules can be installed with a timeout I Delete the rule after a fixed time interval (a hard timeout) I Specified period of inactivity (a soft timeout) I The switch counts the number of bytes and packets matching each rule,

and the controller can poll these counter values

Switch MAC MAC Eth VLAN IP IP IP TCP TCP Action

Port Src Dst Type ID Src Dst Port S-port D-port

IPSrc: 192.168.*/24 IPDst: 200.12.*/24 IPDst: 300.12.*/24

Incoming Request

Server 2

Server 1

Balancing Switch

R1

R2

R1

R2

200.12.*/24

300.12.*/24

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 41 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.42

OpenFlow Flow Routing vs. Aggregation

§5.7.13 Flow Routing vs. Aggregation

Both models are possible with OpenFlow

Flow-Based Every flow is individually set up by a controller

Exact match for flow entries

Flow table contains one entry per flow

Good for fine grain control, e.g. campus networks

Aggregation-Based One flow entry covers large groups of flows

Wildcard match for flow entries

Flow table contains one entry per category of flows

Good for large number of flows, e.g. backbone

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 42 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow OpenFlow

Centralized vs. Distributed Control

OPenFlow Protocol Messages

Secure Channel (SC)

Packet Matching

Pipeline Processing

Instructions and Action Set

Actions

Flow Table Entry

Flow Switching/Routing

Load Balancing

Dynamic Flow Modification

Flow Routing vs. Aggregation

Reactive vs. Proactive Entries

Virtualization

Virtualizing OpenFlow

References 5.43

OpenFlow Reactive vs. Proactive Entries

§5.7.14 Reactive vs. Proactive Entries

Both models are possible with OpenFlow

Reactive First packet of flow triggers controller to insert flow entries

Efficient use of flow table

Every flow incurs small additional flow setup time

If control connection lost, switch has limited utility

Proactive Controller pre-populates flow table in switch

Zero additional flow setup time

Loss of control connection does not disrupt traffic

Essentially requires aggregated (wildcard) rules

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 43 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization Virtualization

Server Virtualization

Network Virtualization

Models for Network Virtualization

Network Slice Model

Virtualizing OpenFlow

References

5.44

Virtualization Virtualization

§5.8.1 Virtualization

Abstraction between the physical resources and their logical representation Virtualization can be implemented in various layers of a computer system or network 1 Storage Virtualization ⇒ OS virtual memory 2 Server Virtualization 3 Network Virtualization

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 44 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization Virtualization

Server Virtualization

Network Virtualization

Models for Network Virtualization

Network Slice Model

Virtualizing OpenFlow

References

5.45

Virtualization Server Virtualization

§5.8.2 Server Virtualization Server virtualization refers to the partitioning of the resources of a single physical machine into multiple execution environments I Each of which can host a different server Server virtualization methods 1 Partitioning

• Each virtual machine is a subset of the physical resources

Application

Guest OS

Virtual Hardware

Application

Guest OS

Virtual Hardware

Application

Guest OS

Virtual Hardware

Hypervisor or VMM

Virtual Machines (CPU, Memory, NIC, Disk)

2 Aggregation • Concatenation of physical resources

Virtual Machine

Hypervisor or VMM Hypervisor or VMM Hypervisor or VMM Hypervisor or VMM

OS

Application

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 45 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization Virtualization

Server Virtualization

Network Virtualization

Models for Network Virtualization

Network Slice Model

Virtualizing OpenFlow

References

5.46

Virtualization Network Virtualization

§5.8.3 Network Virtualization I

Network virtualization allows heterogeneous virtual networks that are isolated, independently managed to coexist over a shared physical network infrastructure Network virtualization is not a new concept I It is available in parts

• MPLS L2/L3 Virtual Private Network (VPN), Virtual Local Area Network (VLAN), Virtual Routing and Forwarding (VRF), etc.

Network virtualization can slice particular hardware resources and logically isolate them I MPLS can virtualize forwarding tables I VLANs slice the link layer

Currently there is no single technology (or clear abstraction) that will virtualize the network as a whole

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 46 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization Virtualization

Server Virtualization

Network Virtualization

Models for Network Virtualization

Network Slice Model

Virtualizing OpenFlow

References

5.47

Virtualization Network Virtualization

§5.8.3 Network Virtualization II

Switch Based Virtualization

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 47 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization Virtualization

Server Virtualization

Network Virtualization

Models for Network Virtualization

Network Slice Model

Virtualizing OpenFlow

References

5.48

Virtualization Models for Network Virtualization

§5.8.4 Models for Network Virtualization I

1 Network Slicing Model I Logically isolated network partitions are created over a shared physical

network infrastructure

2 HyperVisor Model I The model combines logical computer network resources into a single

platform appearing as a single network • HyperVisor, Vswitch

3 Hybrid Model I Combination of the above two models

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 48 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization Virtualization

Server Virtualization

Network Virtualization

Models for Network Virtualization

Network Slice Model

Virtualizing OpenFlow

References

5.49

Virtualization Network Slice Model

§5.8.5 Network Slice Model

Virtual Network 1

Physical Network

Virtual Network2

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 49 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow Trend

References

5.50

Virtualizing OpenFlow Trend

§5.9.1 Trend I

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 50 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow Trend

References

5.51

Virtualizing OpenFlow Trend

§5.9.1 Trend II

App App App App

Specialized Packet Forwarding Hardware

Specialized Packet Forwarding Hardware

App App App App

Network Operating System 1

Operating Network

System 2

Network Operating System 3

Network Operating System 4

Open Interface to Hardware

Open Interface to Hardware

Virtualization or Slicing Layer

Specialized Packet Forwarding Hardware

Specialized Packet Forwarding Hardware

Specialized Packet Forwarding Hardware

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 51 / 52

Software Defined Networks

Acronyms

Introduction

Today’s Networks

Idea: An OS for Networks

SDN History

SDN Architecture

The Road to SDN

OpenFlow

Virtualization

Virtualizing OpenFlow

References

5.52

References

§5.10.0 References

[1] http://www.excitingip.com/743/network-convergence/.

[2] http://www.ipinfusion.com/.

[3] Astuto A. Bruno, Marc Mendonca Nunes, Xuan-Nam Nguyen, Katia Obraczka, and Thierry Turletti. A survey of software-defined networking: Past, present, and future of programmable networks. IEEE Communications Surveys and Tutorials, 14:1–17, 2012. [PDF].

[4] Nick Feamster, Jennifer Rexford, and Ellen Zegura. The road to SDN. ACM Queue: Tomorrow’s Computing Today, 11(12):??–??, December 2013. [PDF].

[5] Nick Feamster, Jennifer Rexford, and Ellen Zegura. The road to sdn: An intellectual history of programmable networks. SIGCOMM Comput. Commun. Rev., 44(2):87–98, April 2014. [PDF].

[6] Natasha Gude, Teemu Koponen, Justin Pettit, Ben Pfaff, Martı́n Casado, Nick McKeown, and Scott Shenker. Nox: Towards an operating system for networks. SIGCOMM Comput. Commun. Rev., 38(3):105–110, July 2008.

[7] Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, and Jonathan Turner. Openflow: Enabling innovation in campus networks. SIGCOMM Comput. Commun. Rev., 38(2):69–74, March 2008.

(CS 6/75995: ST: Advances in Networks) Software Defined Networks Summer 2014 52 / 52

  • Introduction
    • Software Defined Networks
  • Today's Networks
    • Today's Networks
    • Limitations of Current Networks
    • Drawbacks of Existing Networks
  • Idea: An OS for Networks
    • Idea: An OS for Networks
  • SDN History
    • SDN History
  • SDN Architecture
    • SDN Architecture
    • SDN Benefits
    • SDN Standard Bodies
    • SDN Paradigm
  • The Road to SDN
    • The Road to SDN
    • Some Basic Questions
  • OpenFlow
    • OpenFlow
    • Centralized vs. Distributed Control
    • OPenFlow Protocol Messages
    • Secure Channel (SC)
    • Packet Matching
    • Pipeline Processing
    • Instructions and Action Set
    • Actions
    • Flow Table Entry
    • Flow Switching/Routing
    • Load Balancing
    • Dynamic Flow Modification
    • Flow Routing vs. Aggregation
    • Reactive vs. Proactive Entries
  • Virtualization
    • Virtualization
    • Server Virtualization
    • Network Virtualization
    • Models for Network Virtualization
    • Network Slice Model
  • Virtualizing OpenFlow
    • Trend
  • References