Introduction to OpenFlow -...

Post on 27-Apr-2018

255 views 6 download

Transcript of Introduction to OpenFlow -...

© 2013 Cisco and/or its affiliates. All rights reserved. 1

Introduction to OpenFlowPresented by:Shangxin Du – TAC DC Solution

20 April, 2015

© 2013 Cisco and/or its affiliates. All rights reserved. 2

Forget everything you know about:

• Transparent Bridging

• STP

• L2 Forwarding

• IP Routing

• L3 Forwarding

• And so on …

© 2013 Cisco and/or its affiliates. All rights reserved. Cisco Public 3

Open Networking Foundation

© 2013 Cisco and/or its affiliates. All rights reserved. 4

• Control plane is decoupled from data plane; centralized and given span of control over multiple data plane switch elements

• Controller manages switch flow table using OpenFlow protocol

Add, update, delete flow entries, both reactively and proactively

I/O Module (Line Card)

OpenFlow Controller

I/O Module (Line Card)

I/O Module (Line Card)

I/O Module (Line Card)

I/O Module (Line Card)

I/O Module (Line Card)

DPID:0001000573ff61e0DPID:0001000573ff58e0

OpenFlow Protocol

© 2013 Cisco and/or its affiliates. All rights reserved. 5

I/O Module (Line Card)

• Traditional captive control plane/data plane components co-exist with OpenFlow Switch capabilities

• OpenFlow defines logical “ports” for passing packets to traditional and OpenFlow pipelines

Supervisor

I/O Module (Line Card)

I/O Module (Line Card)

OpenFlow Controller

Hybrid Switch A

OF Agent

I/O Module (Line Card)

Supervisor

I/O Module (Line Card)

I/O Module (Line Card)

Hybrid Switch A

OF Agent

OpenFlow Protocol

© 2013 Cisco and/or its affiliates. All rights reserved. 6 6

Controller port

Physical Port

Logical Port

(representing link bundle)

LOCAL “Port”

NORMAL “Port”

Flow Tables

Normal

Switch

stage

Logical Port (representing a VLAN)OpenFlow

Switch

stage

Log. Port (Tunnel)

Logical Port (representing a VLAN)

© 2013 Cisco and/or its affiliates. All rights reserved. 7

• Each OpenFlow Switch has a single flow table, which is used for packet lookup and forwarding

• Packets not matching an entry in the flow table are punted to the controller

flow 0

flow 1

flow 2

flow 3

flow 4

flow 5

Table N

© 2013 Cisco and/or its affiliates. All rights reserved. 8

• A flow table consists of one or more flow entries

• Each entry consists of one row in the flow table

flow 0

flow 1

flow 2

flow 3

flow 4

flow 5

Table N

• match fields: ingress port + packet headers

• priority: precedence of the flow entry

• counters: updated for each matching packet

• timeouts: maximum amount of time or idle time before flow entry expires

• action(s): one or more actions to take on match packets

• cookie: opaque data chosen by controller

Match Fields Priority Counters Timeouts CookieAction(s)

© 2013 Cisco and/or its affiliates. All rights reserved. 9

Flow Table in more detail…

FLOW TABLE

HEADER FIELDS COUNTERS ACTIONS

… …

… …

Ingress

Port

Source

MAC

Dest

MAC

Ether

Type

VLAN

IDVLANPriority

IP

SRC

IP

DEST

IP

Proto

IP

TOS

TCP/

UDP

SRC

TCP/

UDP

DEST

OF1.0 HEADER FIELDS

This is the “Famous” OpenFlow 12 Tuple

1 2 3 4 5 6 7 8 9 10 11 12

© 2013 Cisco and/or its affiliates. All rights reserved. 10

Data Data Data

Sw

itch

FLOW

TABLE

SWITCH FORWARDING

ENGINE

OPENFLOW CONTROLLER

** CPU

**OpenFlow 1.0 supports a lookup into a single flow table

© 2013 Cisco and/or its affiliates. All rights reserved. 11

Data Data Data

FLOW

TABLE

SWITCH FORWARDING

ENGINE

CPU

Lookup Key

Header fields used to build lookup key

Sw

itc

h

© 2013 Cisco and/or its affiliates. All rights reserved. 12

Sw

itc

h

FLOW

TABLE

SWITCH FORWARDING

ENGINE

OPENFLOW CONTROLLER

CPU

Data Data Data

If no match, Controller may

receive packet and program

the flow table

© 2013 Cisco and/or its affiliates. All rights reserved. 13

Data Data

Sw

itc

h

FLOW

TABLE

SWITCH FORWARDING

ENGINE

OPENFLOW CONTROLLER

Forwarding Engine forwards packets

CPU

© 2013 Cisco and/or its affiliates. All rights reserved. 14

FLOW TABLE

HEADER FIELDS COUNTERS ACTIONS

… …

… …

Several important OF1.0 Actions

Let us explore in more detail…

© 2013 Cisco and/or its affiliates. All rights reserved. 15

Sw

itch

FLOW

TABLE

SWITCH

FORWARDING

ENGINE

OPENFLOW

CONTROLLER

CPU

1

Packet

© 2013 Cisco and/or its affiliates. All rights reserved. 16

Sw

itch

FLOW

TABLE

SWITCH

FORWARDING

ENGINE

OPENFLOW

CONTROLLER

CPU

Packet

2

© 2013 Cisco and/or its affiliates. All rights reserved. 17

Sw

itch

FLOW

TABLE

SWITCH

FORWARDING

ENGINE

OPENFLOW

CONTROLLER

CPU

Packet

3

© 2013 Cisco and/or its affiliates. All rights reserved. 18

Sw

itch

FLOW

TABLE

SWITCH

FORWARDING

ENGINE

OPENFLOW

CONTROLLER

CPU

Packet4

© 2013 Cisco and/or its affiliates. All rights reserved. 19

Sw

itch

FLOW

TABLE

SWITCH

FORWARDING

ENGINE

OPENFLOW

CONTROLLER

CPU

5Packet

© 2013 Cisco and/or its affiliates. All rights reserved. 20

Sw

itch

FLOW

TABLE

SWITCH

FORWARDING

ENGINE

OPENFLOW

CONTROLLER

CPU

Packet

6

© 2013 Cisco and/or its affiliates. All rights reserved. 21

Sw

itch

FLOW

TABLE

SWITCH

FORWARDING

ENGINE

OPENFLOW

CONTROLLER

CPU

Packet

7

© 2013 Cisco and/or its affiliates. All rights reserved. 22

Sw

itch

FLOW

TABLE

SWITCH

FORWARDING

ENGINE

OPENFLOW

CONTROLLER

CPU

Packet

8

© 2013 Cisco and/or its affiliates. All rights reserved. 23

FLOW

TABLE

SWITCH

FORWARDING

ENGINE

OPENFLOW

CONTROLLER

7

2

8

CPU

1

45

6

Important Actions

1 Forward to all ports

except input

2 Redirect to Controller

3 Output from Controller

4 Forward to local CPU

5 Rewrite Packet Header

6 Forward to input port

7 Forward to dest port

8 Drop packet

3

© 2013 Cisco and/or its affiliates. All rights reserved. 24

Dec 2009

OF 1.0

Feb 2011

OF 1.1

• Single flow

Table

• L2, IPv4

focused

matching

• Basic actions

• Multiple flow tables

• Group table

• Packet processing

options

• MPLS

• VLAN

© 2013 Cisco and/or its affiliates. All rights reserved. 25

Dec 2009

OF 1.0

Feb 2011

OF 1.1 OF 1.2

Dec 2011

• Single flow

Table

• L2, IPv4

focused

matching

• Basic actions

• Group table

• Multiple flow

tables

• Packet

Processing

Options

• MPLS, VLAN

• IPv6

• Extensible

matching

© 2013 Cisco and/or its affiliates. All rights reserved. 26

Dec 2009

OF 1.0

Feb 2011

OF 1.1 OF 1.2 OF 1.3.0

Dec 2011 Apr 2012

• Single flow

Table

• L2, IPv4

focused

matching

• Basic actions

• Group table

• Multiple flow

tables

• Packet

Processing

Options

• MPLS, VLAN

• IPv6

• Extensible

matching

• IPv6 Extended Headers

• Meter table

• Auxiliary Connections

• Advanced MPLS

• PBB

• Version negotiation

• Controller connections

OF 1.3.1

(stability)

Sep 2012 Apr 2013

OF 1.3.2

© 2013 Cisco and/or its affiliates. All rights reserved. 27

OF 1.0

stability

Cisco

OF 1.1 OF 1.2 OF 1.3

stability

Cisco

• Table sync

• Non-Ethernet

• Flow monitoring

• Generic

tunnels

• “Split brain”

OF 1.4

Aug 2013 in progress

OF 1.5

28© 2013 Cisco and/or its affiliates. All rights reserved.

© 2013 Cisco and/or its affiliates. All rights reserved. 29

C, JAVA Program

onePK API Presentation

onePK API Infrastructure

IOS / XE

(Catalyst, ISR,

ASR1K)

NX-OS

(Nexus Platforms)

IOS-XR

(ASR 9K, CRS)

© 2013 Cisco and/or its affiliates. All rights reserved. 30

Application -> OpenFlow Agent

onePK API Presentation -> Native NOS and Container

onePK API Infrastructure -> Native NOS

IOS / XE

(Catalyst)

NX-OS

(Nexus Platforms)

IOS XR

(ASR 9K)

© 2013 Cisco and/or its affiliates. All rights reserved. 31

IOS / XE NX-OS IOS-XR

onePK API Infrastructure

Application Framework / XNC Controller

onePK SDK

Applications

Network Device

onePK transport

OpenFlow

OpenFlow

Agent

OpenFlow 1.0/1.3

© 2013 Cisco and/or its affiliates. All rights reserved. 32

OF Switch 30

OF Switch 10

OF Switch 20

Supervisor OF Agent

OpenFlow Controller

OpenFlow Controller

CID=10

CID=20

CID=30

© 2013 Cisco and/or its affiliates. All rights reserved. 33

Pure OpenFlow* Ships in the Night Integrated

• All ports are OpenFlow only

• All forwarding decisions by Controller

• Example: Network Monitoring

* There still may be some non OpenFlow ports for connecting to management device or initial setup

• OF co-exists with normal forwarding

• Port segregation

• No traffic flow between domains

• Example:Network Slicing

• Packet may traverse OpenFlowpipeline and normal pipeline

• Output to NORMAL and Logical ports

• Example: Traffic Steering

34© 2013 Cisco and/or its affiliates. All rights reserved.

© 2013 Cisco and/or its affiliates. All rights reserved. 35

Visibility Tools Production Network

Wireshark

Video

Monitor

SPAN Ports

Dynamic Filter and

Forwarding Event

Driven / Real Time

Replaces Matrix Network withNexus 3000s, Controller, and Monitor Manager App

With XNC Monitor Manager Solution

OpenFlow

Enabled

Nexus 3000s

Java and

RESTful

NEW CUSTOM

TOOLS

Extensible

Network

Controller

© 2013 Cisco and/or its affiliates. All rights reserved. 36

Objective: Establish a flow

to bypass the

firewall for

trusted traffic

to improve

application

performance

Firewall Trusted Flow Acceleration

Trusted Flow Path

Accelerated Flows and “Science DMZ” Slice

External Resourcesor Networks

Controller

© 2013 Cisco and/or its affiliates. All rights reserved. 37

Transit Selection: Network Parameter Driven (Latency)

2 ms

OpenFlow / onePK

Cisco XNC

Controller

Other Transit Selection Parameters Also Possible

© 2013 Cisco and/or its affiliates. All rights reserved. 38

Site 1 / Branch Site 2 / DC

Transit Selection

MPLS

PUBLIC

CAMPUS /

INTERNAL

Cisco XNC

Controller

Control egress path based on application requirement and prioritySimple forwarding rules help improve WAN utilization

© 2013 Cisco and/or its affiliates. All rights reserved. 39

SDN Application

XNC ControllerPCE (Cariden)

Existing

Functionality

New Functionality

15

4

2

State Report

Traffic steering Path Request from Application

Tunnel Create

Request

MPLS-TE LSP

RSVP

Signaling

3

Traffic Engineering with PCE and OpenFlow

© 2013 Cisco and/or its affiliates. All rights reserved. 40

• A Linux Foundation Project

• Industry-Supported

© 2013 Cisco and/or its affiliates. All rights reserved. 41

© 2013 Cisco and/or its affiliates. All rights reserved. 42

Thank you.