Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos OS Evolved Overview

With Junos OS Evolved, you can enable higher availability, accelerate your deployments, innovate more rapidly, and operate your network more efficiently. We've aligned Junos OS Evolved with Junos OS so that you can seamlessly continue to manage and automate your network.

Benefits

The development of Junos OS Evolved provides several benefits to Juniper Networks customers:

  • It runs natively on Linux, providing direct access to all the Linux utilities and operations. With Linux integration you can use standard Linux and open-source tools to speed up onboarding, accelerate feature adoption with a smooth upgrade process, and enjoy enhanced debugging capabilities for streamlined qualification and deployment.
  • Support for 3rd party applications and tools. You can run Linux applications directly on Junos OS Evolved using Docker containers, or create custom applications for advanced networking solutions. Existing Linux tools and procedures can be utilized to create custom functions on a developer-friendly platform with a short learning curve. This versatility allows you to create the solution that best fits your needs through simple third-party application integration and the ability to implement the components required for specific use cases.
  • All statistics and states are modeled and all states can be uniformly accessed. There is a central database that is used by Junos native applications through APIs. You have access to deep insights into the system state through tools like the timeline view of object state in the Distributed Data Store (DDS), which allows a historical view of object changes over time. Statistics and state information allows for improved troubleshooting, monitoring, and fault analysis.
  • Fully distributed general-purpose software infrastructure that leverages all the compute resources on the network element. For example, CPUs in the Routing Engines, CPUs in the line cards, and potentially other attached x86 CPUs. This helps to provide increased scale and resiliency while reducing hardware costs.
  • Enhanced security at all OS layers. Junos OS Evolved uses an integrity solution called Integrity Measurement Architecture (IMA), and a companion mechanism called the Extended Verification Module (EVM). These open source protections are part of a set of Linux Security Modules that are industry-standard and consistent with the trust mechanisms specified by the Trusted Computing Group. Junos OS Evolved also supports other security features such as TPM infrastructure, hardened secure BIOS, and secure boot. Security is a core design principle for Junos OS Evolved and Juniper Networks is committed to maintaining a strong security infrastructure to keep your network safe and protected.
  • Nearly all of the CLI and user interfaces are identical to those provided in Junos OS, meaning you can pick up Junos OS Evolved with a minimal learning curve. This provides simplicity and operational consistency, minimizing the effort required to implement, maintain, and customize your end-to-end solution.

Native Linux Base

Whereas Junos OS runs over an instance of the FreeBSD operating system on a specific hardware element (for example, the CPU on the Routing Engine), Junos OS Evolved runs over a native Linux system. Having Linux as a base leverages a much wider, dynamic, and active development community. The Linux system also contains multiple third-party applications and tools developed for Linux that Junos OS Evolved can integrate with minimal effort.

The Junos OS Evolved infrastructure is a horizontal software layer that decouples the application processes from the hardware on which they run. Effectively, this creates a general-purpose software infrastructure spanning all the different compute resources on the system (Routing Engine CPUs, line card CPUs, and possibly others). Application processes (protocols, services, and so on) run on top of this infrastructure and communicate with each other by publishing and consuming (that is, subscribing to) state.

Central Database for State

State is the retained information or status about physical or logical entities that is preserved, shared across the system, and supplied during restarts. State includes both operational and configuration state, including committed configuration, and interface state, routes, and hardware state. In Junos OS Evolved, all state is held in a central database called the Distributed Data Store (DDS).

The DDS does not interpret state. Its only job is to hold state received from subscribers and propagate state to consumers. It implements the publish-subscribe messaging pattern for communicating state between applications that are originators of a state to applications that are consumers of that state (see Figure 1). Each application publishes state to and subscribes to state from the DDS directly, making applications independent of each other.

Figure 1: Publish-Subscribe ModelPublish-Subscribe Model

Decoupling applications in this manner isolates the failure of one application from others. The failing application can restart using the last known state of the system held in the state database.

Modular Design

Junos OS Evolved is composed of components with well-defined interfaces. This modular design means you replace at a component level, resulting in flexible packaging and faster upgrades. Applications can be individually restarted without requiring a system reboot. Restarted applications reload the state that is preserved in the DDS.

Distributed Infrastructure

In Junos OS Evolved, a node is an entity composed of a physical compute resource such as a Routing Engine CPU or Line Card CPU or other x86 compute resource. Each node runs base Linux OS, state distribution pub-sub infrastructure, and applications that use this infrastructure.

The Junos OS Evolved infrastructure brings together multiple nodes into a single resource pool (that is. a distributed OS) wherein a Junos application can run on any node it is assigned to run on. This capability enables optimal resource utilization within an Junos Evolved system, and opens the door to new paradigms. Traditionally, the Routing Engines have x86 CPUs where Junos OS runs, and line cards, like FPCs or MPCs, have a general-purpose processor where the Junos Microkernel runs for Packet Forwarding Engine related functions. But in newer generations of x86 based line cards, a complete Linux operating system (OS) instance can be executed.