Junos OS Evolved Components and Processes
A Junos OS Evolved system is comprised of one or more Linux nodes, coupled together with an efficient communications substrate, and supplied with a distributed application launcher. A horizontal software layer decouples application processes from the specific hardware node where they can be run. Applications use the Distributed Data Store (DDS) to share state, and state is synchronized between nodes. A high-level description of the various software components is listed below.
Linux Kernel
Junos OS Evolved is built on top of a stock Linux kernel. Functionality performed by the router like configuration management, interface management and routing are processes that run as Linux processes. All applications run natively on the Linux kernel, including Juniper and non-Juniper applications.
Initialization Process
When the device boots, an initialization process (init) starts and monitors all the other software processes.
If a software process terminates or fails to start when called, the init process attempts to restart it a limited number of times and logs any failure information for further investigation.
System Epoch Management Process
The system epoch management process (SysEpochMan) is responsible for organizing the various Linux nodes into a cohesive system, and to monitor the system to ensure integrity if any nodes fail. If the system needs to be restarted, SysEpochMan ensures a clean transition from the previous system state to the new system state.
System Manager Process
The system manager process (SysMan) is responsible for the launching, coordination, and monitoring of applications in Junos OS Evolved. The SysMan Master oversees the placement of applications on nodes as specified by each application, and communicates its decisions to the local SysMan instances. If an application fails, the local SysMan process will detect the failure, and take corrective action based on what is specific for the application.
Management Process
The management process (mgd) manages the configuration of the router and all user commands. The management process is responsible for managing all user access to the device and for notifying other processes when a new configuration is committed. A dedicated management process handles Junos XML protocol XML requests from its client, which might be the CLI or any Junos XML protocol client.
Routing Protocol Process
Within Junos OS Evolved, the routing protocol process (rpd) controls the routing protocols that run on the device. The rpd process starts all configured routing protocols and handles all routing messages. It maintains one or more routing tables, which consolidate the routing information learned from all routing protocols. From this routing information, the routing protocol process determines the active routes to network destinations and installs these routes into the Routing Engine’s forwarding table. Finally, rpd implements routing policy, which enables you to control the routing information that is transferred between the routing protocols and the routing table. Using routing policy, you can filter and limit the transfer of information as well as set properties associated with specific routes.
Interface Process
The Junos OS Evolved interface process (Ifmand) is responsible managing all interfaces on the device. Ifmand creates all the operational state related to interfaces (IFD, IFL, IFF, IFA) as well as the necessary interface specific routes and nexthops.
Ifmand enables you to configure and control the physical interface devices and logical interfaces present in a network device. You can configure interface properties such as the interface location, for example, in which slot the Flexible PIC Concentrator (FPC) is installed and in which location on the FPC the Physical Interface Card (PIC) is installed, as well as the interface encapsulation and interface-specific properties. You can configure the interfaces currently present in the device, as well as interfaces that are not present but that you might add later.
Distributor Process
The distributor process is responsible for holding the Distributed Data Store (DDS) and coordinating with individual applications for delivery of their state. The distributor process synchronizes state across the system.
SNMP and MIB II Processes
Junos OS Evolved supports the Simple Network Management Protocol (SNMP), which helps administrators monitor the state of a device. The software supports SNMP version 1 (SNMPv1), version 2 (SNMPv2, also known as version 2c, or v2c), and version 3 (SNMPv3).
Process Limits
There are limits to the total number of Junos OS Evolved processes that can run simultaneously on a device. There are also limits set for the maximum number of iterations of any single process. The limit for iterations of any single process can only be reached if the limit of overall system processes is not exceeded.