日本p4ユーザー会 2019 cloud-grade routing stack for … · 2019-10-18 · netconf,...
TRANSCRIPT
© 2019 Juniper Networks
日本P4ユーザー会 2019
CLOUD-GRADE ROUTING STACK FOR P4/STRATUM
Oct-11, 2019
Juniper Networks,Systems Engineer, Junya Arimura
© 2019 Juniper Networks
AGENDA
2
• Juniper Strategy
• JP4 Agent
• cRPD + Stratum
© 2019 Juniper Networks
FLEXIBILITY FOR INFRASTRUCTURE TRANSFORMATION
3
Flexible Silicon Options
or
Flexible Junos Options
Integrated HW + SW
StandaloneJunos SW
3rd-PartyWhite BoxHW
or +Custom Silicon
PentaTriton
Merchant SiliconQumran 2Jericho 2
© 2019 Juniper Networks
JUNOS EVOLUTIONTowards Open, Scalable and Flexible Software Architecture
Junos
CPU
• 32 bit FreeBSD
• CLI/XML• Combined
Control plane and platform code
• 64 bit FreeBSD• Virtualized Junos
over Linux • Multi-core SMP
capability• Netconf/Yang API
Linux
Junos VM
CPU CPU CPU CPU
• Separate control plane & platform code
• Rich and extensive APIs
Linux
Platform Software
PFE Software
APIs
Junos CP VM
(RPD, CoS, DCD, ….)
CPU CPU CPU CPU…
• Code in self-contained applications• High horizontal & vertical scale • Application level HA• Fine-grained and pervasive telemetry• Model driven API’s and software
Linux
Platform Software
PFE SoftwareAPIs RPD
CPU CPU CPU CPU…CPU CPU CPU CPUCPU
Distributed State Infrastructure
CoS DCD …
MGD PPMD
90’s - 2012 2012 2015 2017 and beyond
© 2019 Juniper Networks
Native integration of customer applications • Config and telemetry agents and tools • Linux based OS
Controller based operations • Data models for Config and State
Granular visibility and telemetry• Centralized State DB• Streaming and batch telemetry
Whitebox and new programming paradigms• Platform and API abstractions• P4, Openflow and others
Modular upgrades and resiliency• Componentized software • Lean packaging
State DB and Pub/Sub
RoutingMgmt
Linux with ONIE boot
Fwd
Platform 3rd
Party
Hardware – Juniper/3rd Party
Mgmt Plane API(SNMP, CLI, NETCONF,
OpenConfig)
External Tooling and Controllers
Control Plane API(JET)
Forwarding Plane API(P4, OpenFlow, AFT)
Streaming telemetry
NW Agent
JUNOS EVOLUTIONMICRO-SERVICES, CONTAINERIZATION, HA, SCALE-OUT AND MORE
© 2019 Juniper Networks
JUNIPER FORWARDING INTERFACE TOOLKIT
6
https://forums.juniper.net/t5/Industry-Solutions-and-Trends/Juniper-Forwarding-Interface/ba-p/310823Juniper Forwarding Interface
© 2019 Juniper Networks
JP4 AGENT – JUNIPER P4 AGENT
7
https://github.com/Juniper/JP4Agent
© 2019 Juniper Networks
JP4 AGENT – JUNIPER P4 AGENT - CONT
8
https://forums.juniper.net/t5/Engineering-Simplicity/Juniper-Advancing-Disaggregation-Through-P4-Runtime-Integration/ba-p/319195Juniper Advancing Disaggregation Through P4 Runtime Integration
© 2019 Juniper Networks
JP4AGENT ARCHITECTURE
9
Virtual Control PlaneJUNOS
Virtual Forwarding PlaneVirtual ASIC
© 2019 Juniper Networks
CRPD – CONTAINER ROUTING PROTOCOL DAEMON
10
• Can program Linux FIB: IPv4, IPv6, MPLS• Routing Components
• RPD (Protocols + RIB)• BFD (BFD sessions)• PPMD (Protocol Keepalives)
• Management Components• MGD (Configuration manager)• CLI (Commands, Show)• Netconf, OpenConfig• Automation• Telemetry• Programmability
ManagementNETCONF, OpenConfig, YANG, SSH,
SNMP
Routing ProtocolsBGP, OSPF, IS-IS, LDP, SR, Static
Routing InfrastructureRIB Manager, Label Manager, BFD
FIB Adaptation LayerNetlink, rtsock, FPM
AutomationAnsible, Chef, PyEZ
TelemetrygNMI, Jvision
BMP
ProgrammabilitygRIBI, JET
Docker Container
Kernel, Forwarding Plane
RPD
OCP Global Summit 2019cRPD: Cloud-Grade routing for microservice environment https://www.youtube.com/watch?v=VYyLYr0rNg0&feature=youtu.be
© 2019 Juniper Networks
THE STRATUM PROJECT
11
https://www.opennetworking.org/stratum/
© 2019 Juniper Networks
STRATUM USE CASES
12
https://www.opennetworking.org/wp-content/uploads/2018/12/Stratum_-An-Overview.pdf
© 2019 Juniper Networks
Stratum
CRPD + STRATUMPROGRAMMABLE SWITCH WITH CRPD AS CONTROL PLANE
13
FRR + Stratumhttps://www.opennetworking.org/wp-content/uploads/2018/12/Stratum_-An-Overview.pdf
cRPD
Kernel routing table
netlink
netlink/StratumMapper
netlink
P4 Runtime gNMI
P4 enabled ASIC/NIC/SoftSwitch
• cRPD provides IPv4/v6 routing/control plane stack
• Stratum provides the data plane agent• P4 allows specification of switch pipeline (ASIC
config)• P4 runtime provides API to manipulate FIB• P4 agent programs FIB state on ASIC
© 2019 Juniper Networks
USE CASE – EPE /EGRESS PEER ENGINEERING
14
P4 enabled Device
cRPD
P4 enabled Device
cRPD
MPLS, SR,
Peer
Peer
Peer
ControllerPCEP, BGP SR-TENetconf
TelemetryFlowTelemetry
FlowTelemetry
EPE:100
EPE:200EPE:300
PayloadEPE Label
MPLS Label
ISIS/OSPF SR
BGP-LS
cRPD
Collector
Collector
© 2019 Juniper Networks
THANK YOU