building a router

26
Building a Router Hannes Gredler [email protected] Pravin S Bhandarkar [email protected]

Upload: hannes-gredler

Post on 21-Apr-2017

5.944 views

Category:

Internet


0 download

TRANSCRIPT

Page 2: Building a Router

RtBrick positioning

Page 3: Building a Router

Mission & Vision: Interwork Applications & Network

Southbound APIForwarding State, Policy

Northbound APITelemetry, Topology

Data

Page 4: Building a Router

Our view of the network: HYBRID

Controller:Southbound API

Routing Protocols:IGP, BGP, SR

Page 5: Building a Router

• Our Toolkits (=Bricks) are enabler for DevOps models• Accelerated Adoption, rather than building software from scratch

• Our Toolkits (=Bricks) are purpose-build for:• Flexibility• Speed of deployment

• Eliminate the “old” Network paradigm• No closed-systems, no curated release model

• Fast Forward IETF Network Apps (BGP, IS-IS, Segment-Routing …) • Create your own Network Apps by your needs

• Or let us customize the Applications for you• Open Source Network Test environment

• Leverage our work for acceptance testing

RtBrick = acceleration for building network devices

Page 6: Building a Router

What Problem does RtBrick solve ?

Time to Revenue (TTR) O(months)

Development SQA-Test Acceptance-Test

Deploy

Vendor Service Provider

Dev Test Deploy

Time to Revenue (TTR) O(days)

Vendor & Service Provider

Page 7: Building a Router

How ?

Databasecentric

ModularCode

OpenTest

OpenHardware

Page 8: Building a Router

1. Database centric / Distributed Data Store

bds://local/bgp.neighbor

bds://local/isis.adj

bds://local/isis.lsdb.l2

bds://217.160.181.216/bgp.rib-in

PUBSUB

Page 9: Building a Router

2. Modular Code

IS-ISBGP

RSVP

LDPNetflo

wSflow

OSPF

Trill

STP

PIM

L3VPN

L2VPN

Core infra (BDS, IPC, DPKG)

IS-IS Netflow

SRBGP

SR

Statically CompiledMonolithic NOS

Dynamic Loaded LibraryModular NOS

Page 10: Building a Router

3. Open Test, Pull

Page 11: Building a Router

3. Open Test, Push

Page 12: Building a Router

4. Open Hardware / White Boxes

• Economy of scale will ultimately render custom-ASICs obsolete• Cost/Bit favorable on Merchant Silicon

• FY2016 systems shipping:• 3TBit/s, > 128K FIB entries• 800 Gbit/s, > Full Tables, Large Buffers, MPLS, indirection

• Feature Gap gets closed• Cannibalizing Edge Router Business …

• RtBrick “Full Stack” makes no Hardware assumptions• Unbounded Configuration Possibilities:• Single Switch, Cluster of Switches, Co-located x86 Rack Servers ….• Large FIBs, Small FIBs, SW-based forwarders & Combos thereof

Page 13: Building a Router

System ArchitectureRoute Reflector

Page 14: Building a Router

• Control plane server• 24 Core Dual Socket Intel XEON 3.3 Ghz• 256 GB RAM• 512 GB SSD for Snapshots for “antifragile” daemon restart• 2 Port 10 GBit/s (Intel XL710) DPDK compatible NIC card

SYSTEM LAYOUT

Page 15: Building a Router

System ArchitecturePeering router

Page 16: Building a Router

PEERING ROUTER

Page 17: Building a Router

FWDD PLUGIN ARCHITECTURE

Page 18: Building a Router

FORWARDING CAPABILITIES

• Forward transit traffic from the NPU• Import / Export ACLs• Punt host path traffic using GRE/MPLS from NPU to server

• Dynamic Control Plane Protection on NPU for host traffic• Data plane policies installed on the NPU for transit traffic via

firewall filters• Fwdd on NPU-CPU to have:

• VPP based software forwarder to interface with backstore• Chipset specific plug-in that programs the ASIC

• Bypass NPU-CPU processor for packet processing

Page 19: Building a Router

System ArchitectureSpine router

Page 20: Building a Router

• Three Levels of Routing• BGP (eBGP, iBGP)• IGP (IS-IS)• Fabric Discovery Protocol

(=Multi Instance IS-IS, Instance-ID 0xfabd)

• Use multi-level route resolution to tie it all together

• Three Levels of Forwarding• Inter-domain: IPv4 / IPV6 /

MPLS• Intra-domain: MPLS (Segment

Routing)• Intra-Fabric: MPLS Segment

Routing

RECURSIVE ARCHITECTURE

Page 21: Building a Router

DISCRETE SPINE ROUTER

Page 22: Building a Router

System ArchitectureSuper Spine router

Page 23: Building a Router

• Embedded Control Board• Control Plane hosting control

plane, user interface & Policy• Multi linecard switch

• OCP 800 (26 Tbit/s)• OCP 1600 (52 Tbits/s) • Linux container (LXC) containing

etc, sample, fwd• Fwd: chipset specific adaptation

Tomahawk

SPINE ROUTER

Page 24: Building a Router

Licencing Options

Page 25: Building a Router

• Consumer / Developer License• Consumer: Access to package binaries• Developer: Access to Protocol (BGP, OSPF) code• Full-Stack Developer: Access to Protocol and Infrastructure code

• Annual / Perpetual License• Per Node / Enterprise (All you can eat) license

• Pay as you grow, vs. one off• Maintenance & Support

PROPOSED LICENCING OPTIONS

Page 26: Building a Router

WE’LL BE ANSWERING QUESTIONS NOW

Q A&

THANK YOU FOR YOUR TIME

Q & A SESSION