implementing a programmable service edge

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

Upload: others

Post on 28-Jan-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementing a Programmable Service Edge

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

Page 2: Implementing a Programmable Service Edge

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

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

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

a4-Related work at the onf

5

Page 6: Implementing a Programmable Service Edge

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

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

Key component: bng

broadbandnetworkgateway

8

Page 9: Implementing a Programmable Service Edge

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

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

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

Offloading the bng user plane work load

12

Page 13: Implementing a Programmable Service Edge

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

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

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

P4SE PIPELINE PACKET FORMAT

16

Page 17: Implementing a Programmable Service Edge

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

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

The big picture

19

Page 20: Implementing a Programmable Service Edge

Towards a common subscriber edge

20

Page 21: Implementing a Programmable Service Edge

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

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

fin

23