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