© 2019 Juniper Networks: Juniper Business Use Only
© 2019 Juniper Networks: Juniper Business Use Only
Junos evolved.
Presenter: Aldrin Isaac, Product Management
Any statements of product direction contained in this presentation sets forth Juniper
Networks’ current intention and is subject to change at any time without notice. No
purchases are contingent upon Juniper Networks delivering any feature or functionality
depicted in this presentation.
Copyright 2019 Juniper Networks, Inc. All rights reserved. Juniper Networks, the Juniper
Networks logo, Juniper, Junos, and NXTWORK are registered trademarks of Juniper Networks,
Inc. in the United States and other countries. All other trademarks, service marks, registered
marks, or registered service marks are the property of their respective owners. Juniper
Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks
reserves the right to change, modify, transfer, or otherwise revise this publication without notice.
• 32 bit FreeBSD • 64 bit FreeBSD • Separate control plane & • Linux native applications
• CLI/XML • Multi-core SMP platform software • Granular self-contained functions
• Combined capability • Rich and extensive APIs • Logically centralized app-agnostic state DB
control plane • Junos code in kernel • Streaming telemetry • High horizontal & vertical scale
and platform loadable modules • Application/process based HA
SW • Virtualized Junos • Fine-grained system telemetry
over Linux • Model driven API’s and functions
• Netconf/Yang API • Support of 3rd party software
Streaming Mgmt Plane API JET Control Consistent control, management and data plane
Forwarding Plane API
telemetry (SNMP, CLI, NETCONF, Plane API
(OpenFlow, P4, AFI) • RPD, MGD, L2 apps
OpenConfig)
• PFE 2.0 (AFT) for custom ASIC based HW
Openness
• Linux native platform and apps
Mgmt Routing
3rd • Support for 3rd party software and tools
Party
Modularity
Platform • Component level design with resiliency
Fwd • Support for hitless component upgrade
Sensors
Logically Centralized Database
State DB
• All state modelled and API Accessible
Linux • Pub-sub communication between components
• Strong fault isolation between components
Hardware • Improved diagnostics for rapid debugging
Peering & L2
Core, PTX 10003 PTX 10008 PTX 10008 PTX 10001 PTX 10003
8T / 16T, 3RU 14.4T LC (BT) 4.8T LC (BT) 9.6T, 1RU (BT) 28.8T, 3RU (BT)
Spine (ZX)_
ACX ACX
Metro 600G 1RU (Q-2A) 600G 1RU (Q-2A)
2.4T 3RU (J2-2C) 2.4T 3RU (J2-2C)
4.8T 5RU (J2) 4.8T 5RU (J2)
250000
Artificial AR/VR
200000 Intelligence
150000
100000
0
2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022
15 years
11 years
Vendor-1 Vendor-2 EVO
Linux as base OS
• Leverage wide support and vast developer base.
…….
• Use open source tools wherever possible.
RPD MGD Platform Fabric PFE • Support standard Linux tools
• Native Linux applications
Pub-sub state system Remove state from kernel
• No kernel state repository and state propagation.
• Minimize changes to kernel.
Linux Kernel • Separate logic from state
Modularity
ASIC • Formalized interfaces between components.
• Pub-sub communication between components
• Clear separation / fault isolation between components.
• Lego blocks to support different use cases.
• Support component upgrade without system reboot.
………
Symmetric Infrastructure
Platform ……… MGD Fabric
RPD
• Applications can run anywhere and use the
pub-sub state Distributed Distributed pub-sub state same infrastructure.
transport M transport
• Auto node discovery and organization.
Linux Kernel E
S
Linux Kernel • Message bus for transport of distributed state
S • Utilize all compute resources
Routing engine A Routing engine • Add resources for scale and convergence
G • Support simple and complex topologies –
E single node, chassis, VC, VM cluster, etc.
3. Restarted components
reconcile state from DDS and
continue with the functionality.
Upgrade only the affected Upgrade to new hardware Introduce new features by
applications while retaining Junos release upgrade the related
applications only
App App
Linux API RPD Junos toolchain to build custom application
Linux API
intercept
intercept on host)
✓ Secure Boot
o Guarantee the integrity up to Kernel in the boot chain
• Customers will import their keys into EVO, sign their application with their keys &
Level 2: Signed run them on the device
Customer Software • An add-on package installed on top of the “Level 3” will enable this functionality
Ship
• An open customer development system.
• Linux kernel and Juniper software is protected from inadvertent overwrite
Level 1: Unsigned • Ideal for closed labs, to develop and test custom applications.
Customer Software • Not ideal for exposed production systems.
• Juniper is not responsible for the security posture of these devices
(Current Status)
• Tool arguments and output differences – (ex: top, ps, netstat, ifconfig)
• Tool usage differences (ex: “chvrf; ping <ip>” in Linux versus custom “ping –I <intf> -U <vrf>” in
Junos FreeBSD)
Linux OS vs FreeBSD • Linux tools in EVO are unmodified vs Junos (ex: Linux ping vs Juniper ping)
• System states (ex: processes, files, devices, networking stack)
• Linux FS directory layout vs FreeBSD. However config and log files are in same location
• https://www.juniper.net/documentation/en_US/junos/topics/reference/general/evo-how-it-
CLI differences currently at differs-from-junos.html
▪ Support of new cloud-driven operational models. • Native Linux infra and applications
▪ New infra required for improved quality and faster time to market • Exposes all state via central state DB
▪ Ability to pivot to new consumption models such as white-box and • Facilitates feature velocity improvements
disaggregation of key software components such as routing • Allows easy 3rd party apps/customization
applications • Supports DC scale and modularity requirements
• Supports hitless patching and upgrades
• Key components single sourced with Junos
• Facilitates lean packaging