/
Protocol Oblivious Forwarding: Protocol Oblivious Forwarding:

Protocol Oblivious Forwarding: - PowerPoint Presentation

karlyn-bohler
karlyn-bohler . @karlyn-bohler
Follow
349 views
Uploaded On 2018-12-06

Protocol Oblivious Forwarding: - PPT Presentation

Unleash the Power of SDN through a FutureProof Forwarding Plane Haoyu Song Networks Business Unit Technology Strategy IP Research Huawei Technologies USA What Happened to Your Mobile Phone A Metaphor ID: 737260

pof forwarding instruction openflow forwarding pof openflow instruction data flow plane controller table protocol instructions sdn software network service

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Protocol Oblivious Forwarding:" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

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, USASlide2

What Happened to Your Mobile Phone: A MetaphorPreloaded with all the featuresGet new models for new appsNo way to customizeDownload only the apps you needNew features in new software releaseWrite 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

NowSlide3

Network Device

Programming ModelsControl Plane

Data

Plane

“Black Box”

Closed and proprietary design that meets the pre-defined service

requirementsDevice 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 programmabilityControlI 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.Slide4

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 couplingProtocol/instruction explosionStateless/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 serviceYesNoIdeal pathNot future-proofSlow innovation processSlide5

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 PCSimple & generic instruction setUltimate flexibility & extensibilityUpgrade only on performance

Service

Controller

Forwarding Element

Application

Operating

System

CPU system

PeripheralSlide6

Protocol Oblivious Forwarding: Core ConceptOFPAT_COPY_TTL_OUTOFPAT_COPY_TTL_INOFPAT_SET_MPLS_TTLOFPAT_DEC_MPLS_TTLOFPAT_PUSH_VLANOFPAT_POP_VLANOFPAT_PUSH_MPLSOFPAT_POP_MPLSOFPAT_SET_NW_TTLOFPAT_DEC_NW_TTLOFPAT_PUSH_PBBOFPAT_POP_PBBand on and on and on …POFAT_SET_FIELDPOFAT_ADD_FIELDPOFAT_DELETE_FIELDPOFAT_MOD_FIELDPeriod.

~40 matching header fields defined yet still many uncovered protocols/headers{offset, length} covers any frame based formatsPacket 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.MatchAction

Current OpenFlow

POF

Table search keys are defined as {offset, length}

tuples

Instructions/Actions access packet data or metadata using {offset, length} tuplesInclude other math, logic, move, branching, and jump instructionsSlide7

Is this an IP packet?Use destination IP to search FIB

Process TTLUpdate 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 packetClear Data @ {24B, 2B};Use algorithm y

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

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 controllerSlide8

Other POF Features to Enhance OpenFlowkey

metadatainstructionsFlow Entry

Table Update

Table Search

Flow

Table

Instruction

ExecutionModuleThe flow metadata and data-path table manipulation instructions enrich the forwarding plane programmability and flexibility Enable active & stateful data-pathAdd 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 offloadingSlide9

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 blockSave instruction memory and enable fast updatesTreat 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 flowsDistinguish 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)Slide10

POF-based SDN ArchitectureProgramming LanguagesCompiler

Flow Instruction SetApplication API

Programmable

Network optimized

Runtime & Remote reprogrammable

Table

driven & protocol blindFlow instruction setFlexible

GenericStandardLow level instruction setNPUCPUHigh performanceFlex 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 ElementsSlide11

ControllerForwarding ElementsBased on Floodlight with POF extensionOpen 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

POFGUIPOFManagerPMDatabaseBypass Manager ModuleFloodlight Provider(Controller)OtherOFMessageProcess Modules

Protocol

Oblivious

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

POFSwitchSlide12

Using NPU to Implement POFProprietary 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 hitCompiling 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 ModeWe see up to 30% performance loss Mainly due to table search key constructions Still satisfy typical application scenarios for the 40G line cardIt 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.Slide13

L2IPv4 IPv6 MPLS…

NVGRE VXLAN TRILLIPXFibre Channel… User DefinedSource Routing NDNCCNSCN… Network Service Enabling

VPLS,

Stateful

Firewall, DPI, L4~L7 Applications

Forwarding Protocol Enabling

Other innovation possibilities

Network processing simplification - reduce tunneling and transformationUser 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.Slide14

Define low-level instruction set FISPlatform-independent generic primitivesExpressive for a wide range of applicationsProgramming in “assembly” style Allows layered abstraction and virtualizationNo need to be the same as the chip instruction set

Standardization is the keyStabilize a future-proof OpenFlow specification (OpenFlow 2.0?)Need industry-wide collaboration involving all the playerMany hard problems (technical and non-technical) to attackWe 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.orgSlide15

POF thoroughly decouples the SDN control plane and the forwarding planeController-side software can construct flexible applications without any underlying constraintsController applies high level languages and compilers to program the FEs through the standard instruction setPOF advocates a standard, flexible and future-proof forwarding planeAllow FEs to focus on performance rather than functionalityFE will become simpler and more flexiblePOF calls for continuous research to improve

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

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. Slide16

For more information, please go to www.poforwarding.org and subscribe ONF SDN-Future Discussion Group mailing list.