Junos OS Routing Engine Components and Processes
Junos OS also runs on the Routing Engine. Junos OS consists of software processes that support Internet routing protocols, control router interfaces and the router chassis, enable router system management, and much more. Junos OS processes run on top of a kernel, which enables communication between processes and provides a direct link to the Packet Forwarding Engine software. Junos OS can be used to configure routing protocols and router interface properties, as well as to monitor and troubleshoot protocol and network connectivity problems.
The Routing Engine software consists of several software processes that control router functionality and a kernel that provides the communication among the processes. Following is a listing of the major Routing Engine-related processes.
Routing Engine Kernel
The Routing Engine kernel provides the underlying infrastructure for all Junos OS processes, including providing the link between the routing tables and the Routing Engine’s forwarding table. The kernel is also responsible for all communication with the Packet Forwarding Engine, which includes keeping the Packet Forwarding Engine’s copy of the forwarding table synchronized with the master copy in the Routing Engine.
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.
Management Process
The management process (mgd) manages the configuration of the router and all user commands. The management process is responsible 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.
Process Limits
There are limits to the total number of Junos OS 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.
Access methods such as telnet and SSH spawn multiple system processes for each session created. For this reason, it might not be possible to simultaneously support the maximum number of access sessions for multiple services.
Routing Protocol Process
Within Junos OS, 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 interface process 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.
The Junos OS interface process communicates through the Junos OS kernel with the interface process in the Packet Forwarding Engine, enabling Junos OS to track the status and condition of the network device’s interfaces.
Chassis Process
The Junos OS chassis process (chassisd) enables you to configure and control the properties of the device, including conditions that trigger alarms. The chassisd on the Routing Engine communicates directly with its peer processes running on the Packet Forwarding Engine.
SNMP and MIB II Processes
Junos OS 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). The Junos OS implementation of SNMP does not include any of the security features that were originally included in the IETF SNMP drafts but were later dropped. The SNMP software is controlled by the Junos OS SNMP and Management Information Base II (MIB II) processes, which consist of an SNMP master agent and various subagents.