presentation title - lacnic - slidesslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... ·...

25
State of the Open Source & Disaggregated Ecosystem Russ White

Upload: lytu

Post on 28-Jun-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

State of the Open Source & Disaggregated EcosystemRuss White

Page 2: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Software Defined

White Box

Open SourceHyper Scale

We Live in “Interesting Times”

Page 3: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Software Defined

White Box

Open SourceHyper Scale

Page 4: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Parts

in th

e ec

osys

tem

Routing Stack

Fan/LED/etc.Phy

Hardware Abstraction (HAL)

RIB

BGP IS-IS Configured Routes

. . .

Platform Abstraction (PAL)

Kernel

Forwarding ASIC

Page 5: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Whi

te/B

right

Box

Page 6: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Vend

or S

oftw

are

Stac

ks

Page 7: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Platform Abstraction Layer•Often one of the hardest components to source•Must connect your hardware platform with your chosen stack and O/S•Provided byHardware vendorSoftware vendorConsulting companies will also write these

Component Basics

Page 8: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

ASIC Hardware AbstractionSAI • Supports (pretty much) all chip vendors

• Pluggable architectureOpenNSL • Broadcom only

P4 • Barefoot Networks• Programming language rather than an API

asicd • Snaproute’s interface to a wide variety of asicsswtichd • Cumulus’s interface to a wide variety of asics

fd.io • Based on DPDK• Largely focused on accelerated NICs, rather

than network switching hardware

Component Basics

Page 9: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Rout

ing

Stac

ks

GOBGP

open

sou

rce

com

mer

cial

commercial/open source

Page 10: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Rout

ing

Stac

ks

Page 11: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Stab

le 2

.0

BGPPerformance & Scale fixesAddPath SupportRemote-AS internal/external SupportBGP Hostname supportUpdate GroupsRFC 5549 (unnumbered) SupportNexthop tracking32-bit route-tags

RIB (Zebra)MPLS Support IPv4/v6 for static LSPs 32-bit route-tagsNexthop TrackingRFC 5549 (unnumbered) Support

OSPF (v2/v3)OpenBSD Support restored32-but route-tagsRFC 5549 (unnumbered) Support

LDPRFC 5036 (LDP Specification)RFC 4447 (Pseudowire Setup and Maintenance using LDP)RFC 4762 – (Virtual Private LAN Service (VPLS) using LDP)RFC 6720 - The Generalized TTL Security Mechanism (GTSM) for LDPRFC 7552 - Updates to LDP for IPv6

OthersJSON SupportVRF Lite Snapcraft Packaging

STABLE 2.0

Page 12: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Next

Ver

sion

3.0

BGPBGP Shutdown MessageLarge Communities (RFC8092)eVPN (partial) (RFC 7432)IDR Tunnel (draft-ietf-idr-tunnel-encaps-03#section-3.2.1)IPv6 VPN (misc fixes)IPv4/IPv6 VPN Graceful Restart

PIMUnnumbered interfacesMSDP (RFC4611)Sparse Mode (RFC4601)

NHRPNHRP (RFC2332)(Linux only, for NBMA-GRE tunnels; no ATM; not supported on BSD)

Label Manager

LDPUnnumbered interfacesCapabilities (RFC5561)Typed wildcard FEC (RFC5918, RFC6667)Advertisement completion (RFC5919)Controlling State Advertisements (RFC7473)

IS-ISSPF Backoff

OSPFv3Authentication/Confidentiality (RFC4552)

CLIParser rewritten in BisonLexer rewritten in FlexDefinition grammar overhauled

NEXT VERSION 3.0

Page 13: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

FRR - What’s different?•Methodical vetting of submissions•Extensive automated testing of contributions•Git Pull Requests•Github centered development•Elected Maintainers & Steering Committee•Common Assets held in trust by Linux Foundation

Page 14: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

FRR – How to get it•Binary packageSnap package available now

Snap is a new universal package format – see snapcraft.ioFRR 2.0 in stable channel and FRR 3.0 in beta channel

Debian / Ubuntu / RedHat packages coming soonOther packages will follow•SourceGithub ( https://github.com/FRRouting/frr )

Branch stable/2.0 Released Version 2.0Branch stable/3.0 Version 3.0 (upcoming release)Branch master Latest development (“unstable”)

Page 15: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Some Architectures

Page 16: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Open

Net

work

Lin

ux

SAIFBOSS

OpenNSL SONIC …

Cont

rol

Plan

eBGP IS-IS …

Switch Hardware ASIC

Kernel

ONL Platform APIs

CLIREST …

Open Route Cache

Zebra

Page 17: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Orchestration/Automation

Cont

rol

Plan

e

BGP IS-IS …

Switch Hardware ASIC

Kernel

OpenStack

VMWare NSX

SwitchD

Zebra

Puppet

Chef

collectd

Page 18: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Switch Hardware ASIC

asicd

SAISoftSwitch

OpenNSL Vendor …

thrift rpc

RIB ARP

BGP IS-IS …

systemd LACP/LLDP/etc.

thrift rpc

configdREST Config

CLI Netconf Ansible Chef

Page 19: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

configuration and management tools

SONiC Base

network applications

TelemetryPuppet ChefAnsible

Utility

Platform

SYNCD

LLDP

RedisDB

More appsSNMP BGP DHCP IPv6

SWSS

Database

third party & custom

OCPBusiness Applicatio

n

. . .

Page 20: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Network Applications

Switch Services (SWSS)

Object Library

AppDB SAIDB

Orchestration

synchd SAI ASIC

redisdb w/object library

persist SAI objectspersist app objects

synchs SAI objects from software to hardware

• translation between apps and SAI objects• resolution of dependency and conflict

Page 21: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Challenges

Page 22: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

“One Neck to Choke”•Also known as…A “single point of failure”“my vendor makes all of my architectural decisions”•Do you really have this today?Be honest!

Page 23: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Market Challenges•This is an immature marketVendors and projects are in fluxProjects are often based on small communities•Skill set often == unicornsThere are no certifications, paths, etc.You have to be an engineer/architect

Rather than “just” a CLI/vendor jockeyYou have to be “full stack”

Integrate business architecture with network architectureUnderstand applications, how they use the network, etc.Know the bits and pieces of a router, what they all mean, etc.Keep up with ten different sources, rather than one

Page 24: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Hardware Challenges•Silicon supportRoute countQueue depth/bufferingLabel imposition depthMany others—this is an area where you must be careful•Project/Vendor overlapMost ASICs are supported by most every option covered here

System/support chipsets are a different storyFans, LEDs, CPUs, other components

Be very careful to ask about this when building a system

24

Page 25: Presentation Title - LACNIC - SLIDESslides.lacnic.net/wp-content/uploads/2017/09/2017-09-15... · PPT file · Web view2017-09-21 · Component Basics. Routing Stacks. GOBGP. open

Other Challenges•We ain’t got no featuresBut part of the point is to stop throwing features and nerd knobs at every imaginable problem

•No tech support unless you buy it•You must be an educated consumerParticipate in open standardsPay attention to provider venues, papers, etc.Much is under NDA• If you’re using open source, you should be a part of the community