18

Towards a Reliable SDN Firewall

Embed Size (px)

Citation preview

Page 3: Towards a Reliable SDN Firewall

SFA: Stateful Forwarding Abstraction in SDN Data Plane

Shuyong Zhu, Jun Bi*, Chen Sun

Tsinghua University, China

Open Networking Summit 2014

2014.03.03

Page 4: Towards a Reliable SDN Firewall

Problem Statement

• “Traditional” SDN data plan paradigm, i.e., OpenFlow paradigm

• Powerful enough as abstraction of most data plan functions

• Simple enough for implementing an unified data plan device

• Other advantages……………………………..

Action

Page 5: Towards a Reliable SDN Firewall

Problem Statement

• “Traditional” SDN data plan paradigm, i.e., OpenFlow paradigm

• However, could we still improve the paradigm towards improving programmability in data plan ?

• Limited support for stateful functions in this data plane paradigm – “Complex” data plan functions have to be implemented as APPs sitting on

top of the controller

– Scalability issue: controller has to maintain states in data plan, the communication bottleneck between control plan and data plan

– Feedback loop issue: processing delay between control plan and data plan

Action

Page 6: Towards a Reliable SDN Firewall

Our Proposed Solution

• “Traditional” SDN data plan paradigm, i.e., OpenFlow paradigm

• “New” SFA paradigm (adding Abstraction for Stateful Forwarding)

Action

Action

Page 7: Towards a Reliable SDN Firewall

Solution Design

• Adding new functional elements • FP (Forwarding Processor), in addition to normal FE (Forwarding

Engine)

• ST (State Table), in addition to normal FT (Flow Table)

Controller

State

table

Flow

Table

0

Flow

Table

1

Flow

Table

n

Perform

action

set

Packet

in

Switch

Packet

out

……

Datapath

FP

Input Output

• SFA architecture

Page 8: Towards a Reliable SDN Firewall

Solution Implementation

• New functional elements • FP (Forwarding Processor): CPU, CPU+ASIC (for simple

functions such as table look-up), …., new silicon?

• ST (State Table): RAM, TCAM, ….

Controller

State

table

Flow

Table

0

Flow

Table

1

Flow

Table

n

Perform

action

set

Packet

in

Switch

Packet

out

……

Datapath

FP

Input Output

• SFA architecture

Page 9: Towards a Reliable SDN Firewall

Solution Prototype

• New functional modules (Red: done, Blue: ongoing) • FP (Forwarding Processor): CPU, CPU+ASIC (for simple

functions such as table look-up), …., new silicon?

• ST (State Table): RAM, TCAM, ….

Controller

State

table

Flow

Table

0

Flow

Table

1

Flow

Table

n

Perform

action

set

Packet

in

Switch

Packet

out

……

Datapath

FP

Input Output

• SFA architecture

Page 10: Towards a Reliable SDN Firewall

Solution Details

Page 11: Towards a Reliable SDN Firewall

Definitions

• Concept of state − Critical information of flows or packets that influence subsequent

operations on those flows or packets in the same flow.

− Examples: Sequence number in AH/ESP, SA in IPSEC, State in stateful firewall, etc.

• Concept of SFA for SDN data plan − Abstraction for packet processing

− The datapath maintains states for flows or packets, and the state influences how subsequent packets in the flow will be processed.

− The state is updated according to: the current state, incoming packet, and internal /external event

Page 12: Towards a Reliable SDN Firewall

Proposed SDN Device Architecture

• The new modules

are in orange

color in the picture

Page 13: Towards a Reliable SDN Firewall

SFA Instruction Set

• Control instructions • to control the interaction between controller, flow table and FP

• GOTO, UPDATE_CONFIG, etc.

• State Operating instructions • for FP to operate the state table

• INIT, CLEAR, FIND, INSERT, UPDATE, ERASE, ISEMPTY, SIZE, etc.

• Processing instructions • to process flows or packets

• MATCH, ADD, DELETE, MODIFY, DROP, OUTPUT,PARSE,QUEUE, etc.

Page 14: Towards a Reliable SDN Firewall

Forwarding Processor Controller

State

table

Flow

Table

0

Flow

Table

1

Flow

Table

n

Perform

action

set

Packet

in

Switch

Packet

out

……

Datapath

FP

Input Output

GOTO_FP GOTO

MATCH

ADD

• Control Instructions

• Processing Instructions

• State Operating Instructions

Page 15: Towards a Reliable SDN Firewall

Use Case and Evaluation

• Using FP to maintain IPSEC sequence number and SA in data plane

SwitchSwitch

Controller

IPsecState

Table

Flow

Table

Controller

IPsec

State

Table

Flow

Table

SAD,sequence number

SAD,

sequence number

Based on “traditional”

SDN architecture

Based on SFA

Page 16: Towards a Reliable SDN Firewall

Use Case and Evaluation

• SFA implemented based on Huawei POF open source code

• Packet forwarding latency

• Packet loss rate

10000 20000 30000 40000 500000

0.5

1

1.5

2x 10

6

Number of Packets

Forw

ard

ing L

ate

ncy (

ms)

SFA architecture

Traditional SDN architecture

0 1 2 3 40

0.2

0.4

0.6

0.8

1

Data input Rate (Mb/s)

Pac

ket

Loss

Rat

e

SFA architecture

Traditional SDN architecture

Page 17: Towards a Reliable SDN Firewall

Conclusion

• Problem of current typical SDN data plan paradigm

• Proposed SFA paradigm • SFA solution: architecture, instruction set, etc.

• SFA Implementation and prototype

• SFA use case and preliminary evaluation

• Future Work • Implementation: CPU+FPGA

• Solution: Extending instruction set

• Use case and evaluation: more

Page 18: Towards a Reliable SDN Firewall

Thank you!