Junos OS

Last updated
Junos OS
Junos OS logo.png
Developer Juniper Networks
OS family Unix-like
Working stateCurrent
Source model Closed source and open source
Initial releaseJuly 7, 1998;26 years ago (1998-07-07)
Latest release 24.2R1 [1] / July 19, 2024;3 months ago (2024-07-19)
Available in English
Userland FreeBSD [2] [3] [4] or Linux [5]
Default
user interface
Command-line interface
License Proprietary, [6] FreeBSD License, GPL License
Official website juniper.net/us/en/products-services/nos/junos/

Junos OS (also known as Juniper Junos, Junos and JUNOS) is a FreeBSD-based network operating system used in Juniper Networks routing, switching and security devices. [7]

Contents

Versions

Junos OS was first made available on 7 July 1998. As of 2008, feature updates have been released quarterly. [8] As of March 2024, the latest version is Junos OS 23.2R1, released on June 23, 2023.

Architecture

Junos operating system is primarily based on FreeBSD on bare metal and later also with Linux kernel. [8] Because FreeBSD is a Unix implementation, users can access a Unix shell and execute normal Unix commands. Junos runs on most or all Juniper hardware systems. [9] After acquisition of NetScreen by Juniper Networks, Juniper integrated ScreenOS security functions into its own Junos network operating system. [10]

Junos OS has several architecture variations:

Features

Junos SDK

Junos's ecosystem includes a Software Development Kit (SDK). [7] [11] Juniper Developer Network (JDN) [12] provides the Junos SDK [13] to the 3rd-party developers who want to develop applications for Junos-powered devices such as Juniper Networks routers, switches, and service gateway systems. [14] [15] [16] [17] [18] It provides a set of tools and application programming interfaces (APIs), including interfaces to Junos routing, firewall filter, UI and traffic services functions. Additionally, Junos SDK is used to develop other Juniper's products such as OpenFlow for Junos, and other traffic services.

Command-line interface

The Junos OS command-line interface (CLI) is a text-based command interface for configuring, troubleshooting, and monitoring the Juniper device and network traffic associated with it. It supports two types of command modes.

FIPS 140-2 security compliance

Junos-FIPS 140-2 Security Compliance [21] is a variation of Junos OS, providing users with software tools to configure a network of Juniper Networks devices in a Federal Information Processing Standards (FIPS) environment.

Juniper Extension Toolkit (JET)

Junos OS offers programming interfaces and the Juniper Extension Toolkit (JET). [22] JET is a standard component of Junos OS, and it runs on all Juniper routers, switches, and security devices. JET simplifies the automation of operational, configuration, and management tasks, providing a set of open and customizable APIs for control, management, and data planes. It supports standardized programming languages for application development and communication to the Junos OS fast programmable database through standardized and open data exchange formats. It also opens up Trio and Express ASICs via a set of third-party controller-specific adapters, including SAI, OpenFlow, and P4.

Junos Fusion

Junos Fusion [23] [24] is a logical device used to reduce network complexity and operational expenses. Two different Junos Fusion architectures are available, one for provider edge and one for enterprise.

Node slicing

Node slicing [25] is a Junos OS feature that enables creating multiple partitions from one physical MX Series router. Each partition behaves as an independent router, with its own dedicated control plane, data plane, and management plane, allowing it to run multiple services on one physical router.

Routing protocols and applications

Junos OS supports a variety of routing protocols and applications. It also supports class of service (CoS), Ethernet VPN (EVPN), firewall filters and policers, flow monitoring, and Layer 2 features. The Junos OS supports high availability mechanisms that are not standard to Unix, such as Graceful Restart. [26] Junos supports a variety of routing protocols. With the introduction of the SRX and J-series (past version 9.3) platforms, it also supports "flow mode", which includes stateful firewalling, NAT, and IPsec. Junos OS generally adheres to industry standards for routing and MPLS. [27]

Secure boot

Secure boot [28] is a system security enhancement based on the Unified Extensible Firmware Interface (UEFI) standard. It works by safeguarding the Basic Input/Output System (BIOS) from tampering or modification and then maintaining that protection throughout the boot process. The secure boot process begins with secure flash, which ensures that unauthorized changes cannot be made to the firmware. Authorized releases of Junos OS carry a digital signature produced by either Juniper Networks directly or one of its authorized partners.

Related Research Articles

Darwin is the core Unix-like operating system of macOS, iOS, watchOS, tvOS, iPadOS, audioOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, other BSD operating systems, Mach, and other free software projects' code, as well as code developed by Apple.

The Open Sound System (OSS) is an interface for making and capturing sound in Unix and Unix-like operating systems. It is based on standard Unix devices system calls. The term also sometimes refers to the software in a Unix kernel that provides the OSS interface; it can be thought of as a device driver for sound controller hardware. The goal of OSS is to allow the writing of sound-based applications that are agnostic of the underlying sound hardware.

<span class="mw-page-title-main">XNU</span> Computer operating system kernel

XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which, in addition to being the basis for macOS, is also the basis for Apple TV Software, iOS, iPadOS, watchOS, visionOS, and tvOS.

<span class="mw-page-title-main">/dev/random</span> Pseudorandom number generator file in Unix-like operating systems

In Unix-like operating systems, /dev/random and /dev/urandom are special files that serve as cryptographically secure pseudorandom number generators (CSPRNGs). They allow access to a CSPRNG that is seeded with entropy from environmental noise, collected from device drivers and other sources. /dev/random typically blocked if there was less entropy available than requested; more recently it usually blocks at startup until sufficient entropy has been gathered, then unblocks permanently. The /dev/urandom device typically was never a blocking device, even if the pseudorandom number generator seed was not fully initialized with entropy since boot. Not all operating systems implement the same methods for /dev/random and /dev/urandom.

<span class="mw-page-title-main">UEFI</span> Operating system and firmware specification

Unified Extensible Firmware Interface is a specification that defines an architecture for the platform firmware used for booting a computer's hardware and its interface for interaction with the operating system. Examples of firmware that implement the specification are AMI Aptio, Phoenix SecureCore, TianoCore EDK II, InsydeH2O.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one processor architecture to run on another.

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory. Typically, it is mapped to a mount point named /proc at boot time. The proc file system acts as an interface to internal data structures about running processes in the kernel. In Linux, it can also be used to obtain information about the kernel and to change certain kernel parameters at runtime (sysctl).

In computing, ioctl is a system call for device-specific input/output operations and other operations which cannot be expressed by regular file semantics. It takes a parameter specifying a request code; the effect of a call depends completely on the request code. Request codes are often device-specific. For instance, a CD-ROM device driver which can instruct a physical device to eject a disc would provide an ioctl request code to do so. Device-independent request codes are sometimes used to give userspace access to kernel functions which are only used by core system software or still under development.

In computer networking, TUN and TAP are kernel virtual network devices. Being network devices supported entirely in software, they differ from ordinary network devices which are backed by physical network adapters.

In the context of free and open-source software, proprietary software only available as a binary executable is referred to as a blob or binary blob. The term usually refers to a device driver module loaded into the kernel of an open-source operating system, and is sometimes also applied to code running outside the kernel, such as system firmware images, microcode updates, or userland programs. The term blob was first used in database management systems to describe a collection of binary data stored as a single entity.

<span class="mw-page-title-main">Linux</span> Family of Unix-like operating systems

Linux is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution (distro), which includes the kernel and supporting system software and libraries, many of which are provided by the GNU Project.

HAL is a software subsystem for UNIX-like operating systems providing hardware abstraction.

<span class="mw-page-title-main">FreeBSD</span> Free and open-source Unix-like operating system

FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version of FreeBSD was released in 1993 developed from 386BSD and the current version runs on IA-32, x86-64, ARM, PowerPC and RISC-V processors. The project is supported and promoted by the FreeBSD Foundation.

In Unix-like operating systems, a device file, device node, or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. There are also special files in DOS, OS/2, and Windows. These special files allow an application program to interact with a device by using its device driver via standard input/output system calls. Using standard system calls simplifies many programming tasks, and leads to consistent user-space I/O mechanisms regardless of device features and functions.

<span class="mw-page-title-main">Kernel (operating system)</span> Core of a computer operating system

The kernel is a computer program at the core of a computer's operating system and generally has complete control over everything in the system. The kernel is also responsible for preventing and mitigating conflicts between different processes. It is the portion of the operating system code that is always resident in memory and facilitates interactions between hardware and software components. A full kernel controls all hardware resources via device drivers, arbitrates conflicts between processes concerning such resources, and optimizes the utilization of common resources e.g. CPU & cache usage, file systems, and network sockets. On most systems, the kernel is one of the first programs loaded on startup. It handles the rest of the startup as well as memory, peripherals, and input/output (I/O) requests from software, translating them into data-processing instructions for the central processing unit.

<span class="mw-page-title-main">NetBSD</span> Free and open-source Unix-like operating system

NetBSD is a free and open-source Unix-like operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.

NVM Express (NVMe) or Non-Volatile Memory Host Controller Interface Specification (NVMHCIS) is an open, logical-device interface specification for accessing a computer's non-volatile storage media usually attached via the PCI Express bus. The initial NVM stands for non-volatile memory, which is often NAND flash memory that comes in several physical form factors, including solid-state drives (SSDs), PCIe add-in cards, and M.2 cards, the successor to mSATA cards. NVM Express, as a logical-device interface, has been designed to capitalize on the low latency and internal parallelism of solid-state storage devices.

DNOS or Dell Networking Operating System is a network operating system running on switches from Dell Networking. It is derived from either the PowerConnect OS or Force10 OS/FTOS and will be made available for the 10G and faster Dell Networking S-series switches, the Z-series 40G core switches and DNOS6 is available for the N-series switches.

Comparison of user features of operating systems refers to a comparison of the general user features of major operating systems in a narrative format. It does not encompass a full exhaustive comparison or description of all technical details of all operating systems. It is a comparison of basic roles and the most prominent features. It also includes the most important features of the operating system's origins, historical development, and role.

References

  1. "Junos OS Dates & Milestones" . Retrieved 2023-09-18.
  2. "Migration, Upgrade, and Downgrade Instructions". 2018-09-17. Archived from the original on 2021-02-26. Retrieved 2018-09-17.
  3. "Junos kernel upgrade to FreeBSD 10+".
  4. "Upgrading and Downgrading to Junos with Upgraded FreeBSD".
  5. "Introducing Junos OS Evolved" (PDF).
  6. "Copyright and Trademark Information". Juniper Networks. Retrieved 2021-08-07.
  7. 1 2 "JUNOS Software: Network Operating System" . Retrieved 2008-11-10.
  8. 1 2 Sean Michael Kerner (18 July 2008). "JUNOS: Open, but Not Open Source". internetnews.com. Archived from the original on 2021-10-26. Retrieved 2022-09-19.
  9. "Junos Software Features" . Retrieved 2008-11-10.
  10. Musich, Paula (2008-03-17). "Juniper at Last Integrates NetScreenOS into JUNOS". eWeek. Quinstreet Enterprise. Retrieved 2008-11-10.
  11. Kerner, Sean Michael. "JUNOS: Open, But Not Open Source". Archived from the original on July 29, 2012. Retrieved 2008-11-10.
  12. "Juniper Developer Network". Juniper Networks. Retrieved 2012-05-30.[ permanent dead link ]
  13. "Junos SDK". Juniper Networks. Archived from the original on 2012-04-07. Retrieved 2012-05-30.
  14. Kelly, James; Araujo, Wladimir; Banerjee, Kallol. "Rapid Service Creation Using the Junos SDK" (PDF). Juniper Networks. Retrieved 2012-05-30.
  15. Bernier, Paula (2007-12-10). "Juniper Opens Router OS to Third-Party Developers". Archived from the original on 25 May 2010. Retrieved 2008-11-10.
  16. Hicket, Andrew R. (10 December 2007). "Juniper Opens OS To Third-Party Developers, Taking Stab At Cisco". CRN. The Channel Company. Retrieved 2008-11-10.
  17. "Juniper Accelerates Innovation with the Partner Solution Development Platform (PSDP)" (PDF). Retrieved 2008-11-10.[ dead link ]
  18. "Executive Essays on Innovation and the Partner Solution" (PDF). Juniper Networks. Archived from the original (PDF) on 2008-07-27. Retrieved 2008-11-10.
  19. "CLI User Guide" (PDF). Juniper. 2019-09-10. Retrieved 2019-09-17.
  20. "CLI User Guide" (PDF). Juniper. 2019-09-17. Retrieved 2019-09-17.
  21. "Understanding Junos OS in FIPS Mode". 2019-09-10. Retrieved 2019-09-10.
  22. "Juniper Extension Toolkit". 2019-09-10. Retrieved 2019-09-10.
  23. https://www.juniper.net/assets/us/en/local/pdf/datasheets/1000523-en.pdf [ bare URL PDF ]
  24. "Junos Fusion". 2019-09-10. Retrieved 2019-09-17.
  25. "Junos Node Slicing Feature Guide". 2019-09-10. Retrieved 2019-09-10.
  26. Sonderegger, James; Blomberg, Orin; Milne, Kieran; Palislamovic, Senad (2024-04-05). Junos High Availability (1st ed.). O'Reilly Media (published 2009-09-29). ISBN   9780596523046.
  27. "Junos OS Standards Reference" (PDF). Juniper Networks. Juniper Networks, Inc. 2024-02-01. Retrieved 2024-04-05.
  28. "Secure Boot". 2019-09-10. Retrieved 2019-09-17.