Applying Hyper-scale Design Patterns to Routing

Similar documents
Applying Hyper-scale Design Patterns to Routing

Introduction to Cisco IoT Tools for Developers IoT 101

Stateless Multicast with Bit Indexed Explicit Replication

Cisco Tetration Analytics

Building Applications with IOx

Benefits of SDN Modeling and Analytics tool for complex Service Provider Network

Introduction to OpenConfig

Stateless Multicast with Bit Indexed Explicit Replication

OpenStack Enabling DevOps Shannon McFarland CCIE #5245 Distinguished DEVNET-1104

Intuit Application Centric ACI Deployment Case Study

Migrating Applications with CloudCenter

NXOS in the Real World Using NX-API REST

VRF, MPLS and MP-BGP Fundamentals

Cisco VIRL. The Swiss-Army Knife of Network Simulators. Simon Knight, Software Engineer Brian Daugherty, Technical Leader.

Catalyst 9K High Availability Lab

TRex Realistic Traffic Generator

Whitebox and Autonomous Networks

Tetration Hands-on Lab from Deployment to Operations Support

CloudCenter for Developers

Virtualized Video Processing: Video Infrastructure Transformation Yoav Schreiber, Product Marketing Manager, Service Provider Video BRKSPV-1112

Multi-Cloud and Application Centric Modeling, Deployment and Management with Cisco CloudCenter (CliQr)

Automation and Programmability using Cisco Open NXOS and DevOps Tools

Building an Open, Transparent NOS and Ecosystem Using Linux as the Key

Advanced CSR Lab with High Availability and Transit VPC

Kuber-what?! Learn about Kubernetes

APIC-EM / EasyQoS - End to End Orchestration of QoS in Enterprise Networks

PSOACI Why ACI: An overview and a customer (BBVA) perspective. Technology Officer DC EMEAR Cisco

PSOACI Tetration Overview. Mike Herbert

Container Adoption for NFV Challenges & Opportunities. Sriram Natarajan, T-Labs Silicon Valley Innovation Center

Transformation through Innovation

Cisco Virtualized Infrastructure Manager

BGP-TE APPLICATION LEVEL TOPOLOGY INTELLIGENCE

Cisco IOS XR Programmability for Cloud-Scale Networking

Your API Toolbelt Tools and techniques for testing, monitoring, and troubleshooting REST API requests

DevNet Workshop-Hands-on with CloudCenter and Jenkins

Cisco Unified Computing System

The CCIE Candidate s Introduction to MPLS L3VPN Networks

Cisco WAN Automation Engine (WAE) Network Programmability with Segment Routing

Resilient WAN and Security for Distributed Networks with Cisco Meraki MX

Building a Big IaaS Cloud. David /

Cisco Integrated System for Microsoft Azure Stack

Introduction to Aruba Dik van Oeveren Aruba Consulting System Engineer

Hybrid Cloud Automation using Cisco CloudCenter API

Software Defined Networks and OpenFlow. Courtesy of: AT&T Tech Talks.

Cisco Firepower NGIPS Tuning and Best Practices

Intelligent WAN Sumanth Kakaraparthi Principal Product Manager PSOCRS-2010

A configuration-only approach to shrinking FIBs. Prof Paul Francis (Cornell)

40 Gbps IPsec on Commodity Hardware. Jim Thompson Founder & CTO Netgate

BGP in the Enterprise for Fun and (fake) Profit: A Hands-On Lab

Partially FIBing. Joel Jaeggli

Introduction to Segment Routing Santiago Álvarez, Distinguished Technical Marketing Engineer BRKRST-2124

Cisco Container Platform

Introduction to Python Network Programming for Network Architects and Engineers

Customer s journey into the private cloud with Cisco Enterprise Cloud Suite

Optimizing the Usability of YANG Models for Network Automation

Empower your testing with Cisco Test Automation Solution Featuring pyats & Genie

Extreme Networks How to Build Scalable and Resilient Fabric Networks

Cisco Cloud Architecture with Microsoft Cloud Platform Peter Lackey Technical Solutions Architect PSOSPG-1002

Git, Atom, virtualenv, oh my! Learn about dev tools to live by!

Please give me your feedback

MidoNet Scalability Report

Cisco UCS Director and ACI Advanced Deployment Lab

Transforming Networks for Higher Performance. Technologies and Strategies for Service Providers

Software defined networking

On-Premises Cloud Platform. Bringing the public cloud, on-premises

NetDevOps Style Configuration Management for the Network

Kubernetes Integration with Virtuozzo Storage

2018 Cisco and/or its affiliates. All rights reserved. Cisco Public

DMVPN for R&S CCIE Candidates Johnny Bass CCIE #6458

Software-Defined Networking (SDN) Overview

DevOps CICD for VNF a NetOps Approach

Routing Resiliency Latest Enhancements

PUSHING THE LIMITS, A PERSPECTIVE ON ROUTER ARCHITECTURE CHALLENGES

Why Scale Matters & How the Cloud Really is Different

Simulating Networks Using Cisco Modelling Labs

#techsummitch

Cisco Modelling Labs Lessons from a Virtual World

The Next Opportunity in the Data Centre

SRv6: Network as a Computer and Deployment use-cases

Introduction to Cisco Virtual Topology System DP Ayyadevara, Product Manager, Cloud Virtualization Cisco PSOSDN-1050

The cri(cal role of Maximum SID Depth (MSD) hardware limita(ons in Segment Rou(ng ecosystem and how to work around those

Intro to Software as a Service (SaaS) and Cloud Computing

Cisco Nexus 9200 Switch Datasheet

Introduction to Database Services

SDN Controllers in the WAN: protocols and applications

IBGP internals. BGP Advanced Topics. Agenda. BGP Continuity 1. L49 - BGP Advanced Topics. L49 - BGP Advanced Topics

AMP for Endpoints & Threat Grid

www. .org New Quagga fork with open development and community Martin Winter

Data Centers. Tom Anderson

BIER. Bit Indexed Explicit Replica0on. MBONED, IETF 92 Greg Shepherd

Insights into your WLC with Wireless Streaming Telemetry

Hands On Exploration of NETCONF and YANG

Optimising SP Networks with WAN Automation Engine

Design a Remote-Office or Branch-Office Data Center with Cisco UCS Mini

IP Fast Reroute Applicability. Pierre Francois Institute IMDEA Networks

Demystifying Machine Learning

Oracle IaaS, a modern felhő infrastruktúra

Cisco Hosted Collaboration Solution (HCS) and Cisco Collaboration Cloud

DMVPN for R&S CCIE Candidates

Privacy Requirements Scoping

Transcription:

Applying Hyper-scale Design Patterns to Routing Hannes Gredler, CTO RtBrick Inc. DEVNET-2064 2

Who am I? CTO at RtBrick, Inc. Past stint: Distinguished Engineer with the other router-vendor 18 Years working experience, developing, deploying and supporting Routing Software Expertise BGP, IS-IS, MPLS 20+ Patents 20+ Proposed Standards http://www.arkko.com/tools/allstats/hannesgredler.html IETF WG co-chair (IS-IS) DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 3

>2013 exposure to Data Center Networks & SR New large-scale data-center network model emerging [draft-ietf-rtgwg-bgp-routing-large-dc] End-to-End Layer-3 routing Fixes issues with L2 switching data plane. Hierarchical Topology CLOS-based Max 5-stages Use of aggregation at TORs DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 4

Got a couple of inconvenient insights Networks have become Anti-Moore direct sourcing from OEM manufacturers in Taiwan Hardware is a Commodity Cost per Bit dropping sharply (USD 400 / 100GBE port) Boutique ASICs viable in 5 years from now? Curated Software Release models approaching EOL Modularization or Custom package selection desired (no-pim, no RSVP, etc.) Pay per-use Different model (node vs. system) for Resiliency Open sourcing of components the new normal Integration of components becomes core competency DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 5

1) The network is the computer John Gage Sun Microsystems DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 6

2) Is it possible to construct a router based on the web 2.0 mindset? Hannes Gredler, 2015 DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 7

Agenda Introduction Multi-Level Architecture Micro-services & APIs Commoditization & Unit Economics Resiliency, system coupling and state recovery Open Source Development & Test Conclusion

Multi-Level Architecture

Hyper-scale Multi-level Architecture DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 10

Forwarding node Translates RIB Objects to local OS representation Tables Routes Nexthops Hardware Prefix Caching Aggregate FIB table (filter specifics) Localize fwd table VPNs DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 11

Protocol I/O node Schema driven protocol serializer /de-serializer Keep alive delegation /absorption Terminal Communication point for Sockets, stdio & file I/O Pre-processing protocol stream (filter BGP PA128) Queuing machinery & Routing Protocol update generation Interface state handling DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 12

Application (route computation) node Data Structure Schema input_proc add: bgp_filter_input chg: bgp_filter_input del: - IB: pre-filter Nbr Neighbor 193.203.0.40 pre-filter Ipv4 RIB Schema driven Data Structure Server Stores Applications Objects Routes, Nexthops, Tables Triggered execution (Add, Chg, Del) of internal/external Application code Python functions C/C++ library calls Executables vfork() APPd DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 13

Putting it all together DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 14

Micro-Services & APIs

Build a system of little components Micro-service architecture is like a UNIX pipeline model Small pieces of software, serving a unique purpose Easy transfer of state from one brick to next Source Filter Sort Filter Sink curl http://192.168.1.1/bds/object grep Received-From: sort grep foo > out DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 16

REST/JSON based APIs DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 17

Database centric / Distributed Data Store bds://local/isis.adj bds://local/bgp.neighbor PUBSUB bds://217.160.181.216/bgp.rib-in bds://local/isis.lsdb.l2 DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 18

Open IPC format = BSON/JSON Binary JSON for memory and I/O efficiency JSON conversion on the fly possible DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 19

Table replication & state flow within a system DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 20

Commoditization & Unit Economics

Compute Strategy: Yahoo vs. Google Few Big vs. Many Small DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 22

Commodity data plane = White-boxes Economy of scale will ultimately render custom-asics obsolete FY2016 systems shipping: 100GB, > 128K FIB entries Disintegration happening soon to enter the Edge Router Business For ease of integration makes no Hardware, no locality, no OS assumptions Unbounded Configuration Possibilities: Single Switch, Cluster of Switches, Co-located x86 Rack Servers. Large FIBs, Small FIBs, SW-based forwarders & Combos thereof DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 23

Commodity control plane = 1RU Rack Servers 16-32 CPU Cores, 64 GB RAM, Solid State Disks app USD 3000 Runs stock Ubuntu / Centos Linux Containers (LXC) dependency management Para-Virtualization DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 24

Resiliency, system coupling and state recovery

Hyper-scale Multi-level Architecture DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 26

Resiliency DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 27

Resiliency snapshot DB to disk DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 28

Resiliency (2) restart based on disk snapshot DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 29

Open Source Development & Test

Open Development Open Source 100 eyes better than 4 eyes, Network effects Long term Maintenance Open Source means sharing of not just Code: Code Test Build Documentation DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 31

Open development (1) Use what is usable No needs to re-invent Linux, event-loops, memory managers Kernel based networking stacks are not usable for a router Debugging hard (GDB live attachment) Experimental forwarding code with no fault-domains in your kernel, really? TCP snapshots / restart. In 2016Q1 we did not have a packet forwarding core Cisco did release fd.io / VPP User space DPDK design aligned with our (religious) believes Most feature complete open-source L3 forwarder Engineered for performance and maintainability DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 32

Open development (2) Kick-ass VPP crew Helped us to implement necessary core-features (indirect next-hop) within two weeks. Good balance between Stability and feature velocity Excellent Continuous Integration & Test Automation (untypical for FLOSS projects) DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 33

Open Development (3) - Ostinato DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 34

Open Development (4) VPP Internet stream generator DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 35

Conclusion

In Conclusion Network Equipment design got to be Distributed, Multi-level Architecture Micro-service based Running on Commodity Hardware System Resilient Open Development / Open Test Cisco Vector Packet Processing (VPP) Best code in the industry (why is this free?) Good Code Governance Establishment of an innovative ecosystem around VPP underway DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 37

rtbrick demo at fd.io booth

Demo hosted at EC2 instance DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 39

Demo dashboard DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 40

Thank you

Complete Your Online Session Evaluation Give us your feedback to be entered into a Daily Survey Drawing. A daily winner will receive a $750 Amazon gift card. Complete your session surveys through the Cisco Live mobile app or from the Session Catalog on CiscoLive.com/us. Don t forget: Cisco Live sessions will be available for viewing on-demand after the event at CiscoLive.com/Online DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 42

Continue Your Education Demos in the Cisco campus Walk-in Self-Paced Labs Lunch & Learn Meet the Engineer 1:1 meetings Related sessions DEVNET-2064 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 43