implementing a programmable service edge › wp-content › uploads › ... · ipv4/ipv6 routing...

23
Implementing a Programmable Service Edge ONF Connect 2018 H.J. Kolbe and L. Nobach, Deutsche Telekom

Upload: others

Post on 10-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Implementing a Programmable Service EdgeONF Connect 2018H.J. Kolbe and L. Nobach, Deutsche Telekom

Page 2: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Access 4.0 mission statement

2

”We develop a cost-efficient, lean-to-operate and scalableaccess platform to deliver Gigabit products.”

Page 3: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Recap from 2017: Access 4.0 is the Design of a new access platform with tight coupling to a cost model

3

e.g. located in the CO

FTTH/xPON

FTTB/G.Fast

FTTC/xDSL

4G / 5GAccess 4.0

Design

Cost Case

A4-PoD1)

1) Access 4.0 Point of delivery: production of broadband IP

BackboneIP

• Cost model developed from day one

• Strong interworking between architecture / design and Cost modelling

• Comprehensive application of Design-to-costmethods

Gigabit ready Technology Cost model

production of Gigabit IP

Hybrid

Page 4: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Introwhat is Access 4.0 / A4?

4

BackboneB/OSS

Spine-Switch Spine-Switch

Leaf /ToR Service Edge

Local Management

Control x86

WDM

Control x86 Control x86

GPON LT

GPON LT

GPON LT

GPON LT

GPON LT

GPON LT

XGS-PON LT

XGS-PON LT

WDM

GPON LT

GPON LT

GPON LT

XGS-PON LT

XGS-PON LT

Leaf /ToRService Edge

Leaf /ToR Service Edge

Central EMS

x 900

x 1

GPON LT

ONT

DPU

Scope of Access 4.0

Extensive D2C project for FTTH/B

Everything monitored in a comprehensive Cost Model

Design and engineering using bare metal / OCP hardware, lots of open-source software as well as merchant silicon

Application of data center principles, leaf/spine fabric, CI/CD, …

Clean IT architecture (Las Vegas principle)

Objectives of Access 4.0

Save CapEx and OpEx

Reduce vendor lock; bring in new players

Drive automation

Time-to-Market for services (keep business logic SW in house)

Increase flexibility for capacity mgmt, change-over, migration, …

Page 5: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

a4-Related work at the onf

5

Page 6: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Relevant Streams

6

Reference Designs & Exemplar ImplementationsOperator-driven, consensus amongst operators

SEBA: SDN Enabled Broadband Access UPAN: Unified, Programmable & Automated Network

Page 7: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Core Technologies in SEBA and Access 4.0

7

• SDN Control & Apps (incl. DT PPA)

• Open Hardware

• OLT, Switch, DPU, …

• Automation, CI/CD

• Network Management & IT Abstraction

• “Las Vegas Principle“ at DT

• Service Edge & Router (BNG)

Page 8: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Key component: bng

broadbandnetworkgateway

8

Page 9: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Broadband Network Gateway

9

Access Device Access Node Aggregation BNG IP Routers

Terminates subscriber tunnels and sessions (PPPoE / IPoE o L2)Applies per subscriber servicesServes as full PE router

Page 10: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Evolution of BNG

10

BRAS BNG vBNG

Subscriber TerminationPer Subscriber Services

+ PE Router+ Single Service Creation Point

+ virtualized+ runs in DCs+ CP/UP split

Growing Complexity. Growing Throughput

Page 11: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Growing Complexity?? Growing Throughput ??

11

• Complexity Issue

• “Single service creation point”

• SDN-Traffic steering to service edge.

• IP Routing in fabric

• Performance Issue

• “x86 user plane performance through NFVI… well…”

• Offload user plane to PNF

• Cost and power per bit/s …..

• Quite some #ASICs on the wayto reach a VNF…

OLT

SDN Control & Routing

SE #1

SE #2

SE Control Plane

SE User Plane

x86

ASIC

Page 12: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Offloading the bng user plane work load

12

Page 13: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

A BNG / SE on Merchant Silicon: at DT, soon at ONF

13

Project: Develop core protoype on merchant silicon: done

Deutsche Telekom, TU Darmstadt (pioneering work)rtbrick (productization)

Page 14: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

BNG/SE data plane on merchant silicon? Works!

14

P4 prototype: supporting PPP, L2TP work in progress

https://github.com/opencord/p4se/

Work is not at all limited to P4-programmable devices

Works on two types of chipsets

Productizing SE nowCLI

Speedtest

Prototype: Full chain ONT-OLT-Fabric with SEBare metal hardware + VOLTHA + our code + BNG CP

Page 15: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

challengescommon baseline at onf (?)

Deployment Options and Dependencies

The order of processing does matter

Shapers and accounting closely related

Dual-chip vs. single chip

Distributed approach

E.g. separate QoS from session termination to allow multi-edge

Involve OLT (?)

Data Path

Tunnel termination (VLAN/SR)

Session termination (PPP, IPoE) incl. OAM

Tunnel switching (L2TP LAC)

ACL per subscriber

Accounting based on ACL

Legal Intercept

H-QoS per sub

Multicast

Uplink encap/decap to MPLS-based fabric

+ operator-specific functions

15

Page 16: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

P4SE PIPELINE PACKET FORMAT

16

Page 17: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

The Generic P4se Pipeline

17

UPSTREAM /

DOWNSTREAM?

LINE MAPChecks if TR-101-over-MPLS*2 line is enabled

Trapping ethernet packets except MPLS

ANTISPOOF MACChecks PPPoE session ID and source MAC of valid PPPoE sessions

Trap non-PPPoE packets or anyPPPoE ctrl packets

ANTISPOOF IPV4/IPV6 (RPF)Checks if IP source address belongs to the subscriber‘s networks

Upstream Downstream

IPV4/IPV6 ROUTINGSimple L3 routing based on dest address. Also used for ACL and trapping

Trap local addresses

Egress handling: Set src/dest MAC, then output Egress handling: Set PPPoE payload length, set src/dest MAC, then output

IPV4/IPV6 ROUTINGMatching destination IP address to authenticated subscribers‘ networks

Trap local addresses

METERING-BASED QOSBest-effort and priority traffic management based on ToS and source address

Apply PPPoE header, exchange MPLS labels

Page 18: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

P4SE USER PLANE PIPELINE ON GITHUB

• Two variants, generic and fabric

• generic: Stand-alone SE, e.g. attached to separate fabric leafswitch

• fabric: a CORD-like leaf switch with integrated SE functionality

• Control plane (CP) currently missing (except UP test stubs)

• Idea to implement the CP in golang

• Two-tiered architecture: use-case-specific mediation layer

• CP uses P4Runtime or Thrift for UP communication

We are actively seeking for feedback and interest in thecommunity!

18

https://github.com/opencord/p4se

SE CONTROL PLANEHandles CP packets, decides about table modifications

SE CP/P4 MEDIATION LAYERTranslates between P4Runtime and SE-specific events

SE-specific interface (Go)

P4 HARDWARE ABSTRACTION LAYER

P4Runtime / Thrift (TBD)

ControlPacketInterface(SOCK_RAW)

Page 19: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

The big picture

19

Page 20: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Towards a common subscriber edge

20

Page 21: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Platform Compatibility Framework with standard set of APIs▪ avoids hardware lock-in▪ provides compatibility to apps/features

through common protocol and data model for forwarding▪ provides compatibility of management tools and practices

Anything south of the line to be provided by hardware vendor

Design paradigm: Control plane / user plane splitno fragmentation, please…

21

Forwarding Plane

Control Plane

CP/UP Mediation LayerDrivers

D1 D2 D4D3

D1 D2 D4D3

App1 App2 App3 Fixed / mobile or converged control applications (usually on x86)

Programmable hardware on bare metal(Differentiate through performance & exposed feature sets)

Page 22: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

Implementing the a Programmable Service Edge

22

At Deutsche Telekom

▪ SE running in first field trial

▪ Developing a product grade solution (accounting, L2TP, QoS,…)

▪ Move in stages into the field

▪ Defining APIs – stay tuned.

▪ Fully decouple hardware from software

▪ Keep space for competition on silicon level

In the Community

▪ Published P4 code at DT site as well as ONF

▪ Provided Deployment Options to ONF

▪ Integration to ONF (SEBA / UPAN) as Reference Implementation (?)

▪ Define minimum requirements at ONF SEBA

▪ Go beyond “just” subscriber termination

▪ Work on APIs between CP and UP for real disaggregation (once the “homework” is done)

Proposal: Reference Implementation at ONF since there is no „one sitze fits all“ + agree on APIs

Page 23: Implementing a Programmable Service Edge › wp-content › uploads › ... · IPV4/IPV6 ROUTING Simple L3 routing based on dest address. Also used for ACL and trapping Trap local

fin

23