Protocol Oblivious Forwarding: Unleash the Power of SDN through a Future-Proof Forwarding Plane

tastefulsaintregisΔίκτυα και Επικοινωνίες

27 Οκτ 2013 (πριν από 3 χρόνια και 5 μήνες)

100 εμφανίσεις

HUAWEI TECHNOLOGIES CO., LTD.

www.huawei.com

Protocol Oblivious Forwarding:

Unleash the Power of

SDN through
a Future
-
Proof Forwarding Plane

Haoyu
Song

Networks Business Unit, Technology Strategy, IP Research

Huawei

Technologies, USA

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

2

What Happened to Your Mobile Phone: A Metaphor


Preloaded with all the features


Get new models for new apps


No way to customize


Download only the apps you need


New features in new software release


Write your own apps

Decoupling the platform and the apps is the key for smart phone’s
success. The real value exists in services provided by software. Better
hardware can carry and deliver the value better.

Past

Now

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

3

Network Device
Programming
Models

Control
Plane

Data
Plane

“Black Box”

Closed and proprietary
design that meets the pre
-
defined service
requirements

Device Vendor
-
driven
Programmability

Management

I can only

use the
device as
-

is.

Device Vendor/Service
Provider Split Programmability

Control Plane



Data Plane

OpenFlow 1.x

“Gray Box”

Open interface using existing
technology building blocks for
limited programmability

Control

I can do what
the device has
supported.

Service Provider
-
driven
Programmability

Control Plane



Data Plane

Open interface using generic
network programming model,
enabling full programmability

“White Box”

Program

OpenFlow
+

I can do
whatever

I
want.

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

4

Protocol
-
specific semantics forces the forwarding elements (FE) to
understand the packet formats and retain the specific packet processing
knowledge. The reactive evolving path needs incessant standard
revisions to accommodate new features and new protocols.


Plane coupling


Protocol/instruction explosion


Stateless/Limited expressivity

Current
OpenFlow
-
enabled
Device is a “Gray Box


New service required

Does the OF

Spec. support it?

Wait for new revision of
OF

Spec.

Wait for the device upgrade to
support the new spec.

Deploy the software to enable the
service

Yes

No

Ideal path


Not future
-
proof


Slow innovation process

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

5

SDN

Computer System

API

Sys. Call

Driver

Instruction Set

Computer system components have been decoupled from the vertical
integration model. SDN is on the track to mimic this transition. But

current OpenFlow still doesn’t embrace this model to the full extent.

SDN: Operate your
Network Device
like a PC


Simple & generic
instruction
set


Ultimate
flexibility &
extensibility


Upgrade
only on
performance

Service

Controller

Forwarding
Element

Application

Operating

System

CPU system

Peripheral

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

6

Protocol Oblivious Forwarding: Core Concept

OFPAT_COPY_TTL_OUT

OFPAT_COPY_TTL_IN

OFPAT_SET_MPLS_TTL

OFPAT_DEC_MPLS_TTL

OFPAT_PUSH_VLAN

OFPAT_POP_VLAN

OFPAT_PUSH_MPLS

OFPAT_POP_MPLS

OFPAT_SET_NW_TTL

OFPAT_DEC_NW_TTL

OFPAT_PUSH_PBB

OFPAT_POP_PBB

and on and on and on …

POFAT_SET_FIELD

POFAT_ADD_FIELD

POFAT_DELETE_FIELD

POFAT_MOD_FIELD

Period.

~40 matching header
fields defined yet still
many

uncovered
protocols/headers

{offset, length} covers
any

frame based
formats

Packet field parsing and handling are abstracted as generic instructions
to enable flexible and future proof forwarding elements. This is simple yet
has profound implications to SDN.

Match

Action

Current OpenFlow

POF


Table search keys
are defined as {offset,
length}
tuples


Instructions/Actions
access packet data or
metadata using
{offset, length}
tuples


Include other math,
logic, move,
branching, and jump
instructions

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

7

Is this an IP
packet?

Use destination IP
to search FIB

Process TTL

Update Checksum

Data @ {12B, 2B} = 0x0800?

Extract Data @ {30B, 4B};

Use it as key to search LPM
table
x

Decrement Data @ {22B,
1B};

If result is 0, drop the packet

Clear Data @ {24B, 2B};

Use algorithm
y

to calculate
checksum over Data @
{14B, 20B}; Write result @
{24B, 2B}

DMAC

S
MAC

Type

Payload

FCS

Conventional FE
Forwarding Flow

POF Forwarding
Flow

Ethernet/IPv4 Packet Format

OpenFlow’s

high level semantics (“what”) is simple in communication but
demands forwarding plane intelligence; POF’s low level semantics (“how”)
moves all the intelligence up to the controller

How to Ask a Dumb FE to Do Smart Things


The fine
-
grained
bit
-
level manipulations
used to be hardcoded or
micro
-
coded in the FE are now explicitly described by controller

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

8

Other POF Features to Enhance OpenFlow


k
ey

metadata

instruction
s

Flow Entry

Table Update

Table Search

Flow

Table

Instruction

Execution

Module

The flow metadata and data
-
path table manipulation instructions enrich
the forwarding plane programmability and flexibility


Enable active &
stateful

data
-
path


Add general flow
-
based metadata beyond counters



Statistics



Time stamps



Anomaly



Flow states


Add data
-
path instructions that can create and modify flow tables



MAC learning



Active firewall



Dynamic load balancing



Controller offloading

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

9

Other POF Features to Enhance OpenFlow (cont’d)

These new features facilitate the efficient hardware implementation,
otherwise it would be difficult or even impossible for FE to figure out the
optimization opportunities.


Add entry
-
specific parameters and allow multiple flow entries
share the same instruction block


Save instruction memory and enable fast updates


Treat statistics counters and flow metadata as shared resource
pool and assign the resource to flow entries on demand


Aggregated and multi
-
purpose counters for statistics


Message communication vehicle for flows


Distinguish logical tables and physical tables


The same physical table used by multiple logical tables (e.g. IP/RPF, MAC
Learning/forwarding)


One physical table resource shared by multiple unrelated logical tables (
e.g

TCAM, Hash)

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

10

POF
-
based SDN Architecture

Programming
Languages

Compiler

Flow Instruction

Set

Application

API


Programmable


Network
optimized


Runtime & Remote
reprogrammable


Table
driven

&
protocol blind


Flow instruction set


Flexible


Generic


Standard


Low level
instruction
set

NPU

CPU


High
performance

Flex Flow

Processor

ASIC

Novel
Applications
&
Services

Protocol Specific

Application

Protocol Agnostic

Tables/Instructions

Controller

Flow

Tables

POF

Instructions

POF Data Path

OpenFlow+

Hardware

Abstraction Layer

Driver

Controller

Forwarding Elements

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

11

Controller

Forwarding Elements


Based on Floodlight with POF
extension


Open
source, cross platform,
Apache licensed, and Java
-
based
software

POF System
Prototypes


NP
-
based hardware
implementation on
NE5000E or
NE40E router platform


Open source software switch on
Linux server

POFGUI

POFManager

PMDatabase

By pass
Manager
Module

Floodlight Provider

(Controller)

Other

OFMessage

Process Modules

Protocol

Obliv ious

Forwarding

Controller

Controller

OpenFlow

Connection Management


Forwarding Engine Driver

Forwarding

Engine

OpenFlow

Connection Management

OpenFlow

Parse

OpenFlow

Encap

Resouce

of
POFSwitch

Forwarding

Engine

MPU

LPU

Switch Control Module

Resouce

Module

Datapath

Module

HUAWEI Core Router

OpenFlow

Parse

OpenFlow

Encap

HAL of POF

POFSwitch

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

12

Using NPU to Implement POF


Proprietary NPU runs in RTC (Run To Completion) programming model


Two modes for POF implementation


Function Mode: Each FIS instruction is implemented in FE NPU as a function written in
micro
-
code. Each instruction is essentially a function call.


Simple but has a performance hit


Compiling Mode: Controller or the FE driver compiles the FIS instructions into NPU micro
-
code directly and load the code to the program memory.


Better performance but more complex


Current prototype used Function Mode and we are working on Compiling Mode


We see up to 30% performance loss


Mainly due to table search key constructions


Still satisfy typical application scenarios for the 40G line card

It is feasible to use NPU to implement POF, in the long run we prefer to
have some POF
-
optimized silicon to reduce the cost and boost the
performance.

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

13

L2

IPv4

IPv6

MPLS



NVGRE

VXLAN

TRILL

IPX

Fibre

Channel



User Defined

Source Routing

NDN

CCN

SCN



Network Service Enabling

VPLS,
Stateful

Firewall, DPI, L4~L7 Applications

Forwarding Protocol Enabling

Other innovation possibilities

Network processing simplification
-

reduce tunneling and transformation

User defined scratch space in packets
for in
-
band info communication (OAM)

POF Use Cases

POF offers unmatched flexibility
to
the forwarding plane. With it, we can
either
deploy
sophisticated network services or greatly simplify the
network forwarding process.

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

14


Define low
-
level instruction set FIS


Platform
-
independent generic primitives


Expressive for a wide range of applications


Programming in “assembly” style


Allows layered abstraction and virtualization


No need to be the same as the chip instruction set


Standardization is the key


Stabilize a future
-
proof OpenFlow specification (OpenFlow 2.0?)


Need industry
-
wide collaboration involving all the player


Many hard problems (technical and non
-
technical) to attack


We publish the open
-
source website to advocate open research and
encourage contributions and adoptions





POF has the potential to truly commoditize the forwarding elements while
nourishing
an
independent controller/application software market.

How to realize POF

www.poforwarding.org

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

15


POF thoroughly decouples the SDN control plane and the forwarding plane


Controller
-
side software can construct flexible applications without any underlying
constraints


Controller applies high level languages and compilers to program the FEs through the
standard instruction set


POF advocates a standard, flexible and future
-
proof forwarding plane


Allow FEs to focus on performance rather than functionality


FE will become simpler and more flexible


POF calls for continuous research to improve


Standardize the interface and the FIS, leave the other details for innovation

Conclusions

Service providers will benefit from this technology through:

(1) using standard, simple, and future
-
proof FEs to save CAPEX/OPEX

(2) quickly deploying customized and innovative services in the form of
application software to generate new revenues.

Thank you

www.huawei.com

Copyright©
2013

Huawei

Technologies

Co
.
,

Ltd
.

All

Rights

Reserved
.

The

information

in

this

document

may

contain

predictive

statements

including,

without

limitation,

statements

regarding

the

future

financial

and

operating

results,

future

product

portfolio,

new

technology,

etc
.

There

are

a

number

of

factors

that

could

cause

actual

results

and

developments

to

differ

materially

from

those

expressed

or

implied

in

the

predictive

statements
.

Therefore,

such

information

is

provided

for

reference

purpose

only

and

constitutes

neither

an

offer

nor

an

acceptance
.

Huawei

may

change

the

information

at

any

time

without

notice
.


For more information, please go to
www.poforwarding.org

and
subscribe ONF SDN
-
Future Discussion Group mailing list.