JUNOS Overview

JUNOS software is cool. It just is. The designers of JUNOS software put tremendous thought into making a stable, robust, and scalable operating system that would be a positive for the router. They were able to learn from previous vendors’ mistakes, and created an OS that other companies will forever use as their model.

The core philosophy of JUNOS software was to create a modular and stable operating system. The modularization was created by the use of software daemons, and the stability was achieved by choosing a well-known, open source, and stable kernel of FreeBSD. This kernel is usually hidden to the user, but many features of FreeBSD have been ported to the command line of JUNOS. The kernel also maintains the forwarding table synchronization between the RE and the PFE.

Riding on top of the kernel are all the fully independent software processes for routing, CLI, interfaces, and so forth. Figure 1-2 shows a small subset of these processes; you can show a complete list in the router by issuing a show system processes command. These processes are fully independent, so a failure of one process will not affect the other. For example, Figure 1-2 shows the Simple Network Management Protocol (SNMP) process pulling information from the interface, chassis, and routing processes. If this SNMP process fails or contains a software bug, it affects only this process and not the others. This is a major shift from other routing vendors that operated monolithic code where one change in the interface code could affect just about anything without reason.

JUNOS software architecture

Figure 1-2. JUNOS software architecture

Every Juniper Networks router is created from the same code base, so all run JUNOS software. Since the J-series did not contain any ASICs for the PFE and certain interface drivers such as high-speed OC-192 links were deemed unnecessary, a new image had to be created for these devices. This is still JUNOS, however, with almost the same feature set as the ASIC-driven image.

Tip

This means that there is a single image per version for all M/T-series routers regardless of model number, and a single image per version for all J-series routers. The days of creating and maintaining large spreadsheets or lists per router are now gone.

The major difference in the J-series image is the inclusion of a new software process called fwdd (forwarding devices daemon), which acts as the virtualized PFE. It is essentially a series of real-time threads operating over the kernel, as shown in Figure 1-3. Instead of an ASIC providing the functionality of the PFE, sockets and APIs will interface with the kernel, providing a deterministic performance.

J-series software architecture

Figure 1-3. J-series software architecture

Get JUNOS Enterprise Routing now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.