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;25 years ago (1998-07-07)
Latest release 23.2R1 [1] / June 23, 2023;10 months ago (2023-06-23)
Available in English
Userland FreeBSD 12 [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

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.

Darwin is the core Unix operating system of macOS, iOS, watchOS, tvOS, iPadOS, 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 macOS is also the basis for the Apple TV Software, iOS, iPadOS, watchOS, visionOS, and tvOS OSes.

<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 the architecture of the platform firmware used for booting the computer 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. UEFI replaces the BIOS which was present in the boot ROM of all personal computers that are IBM PC compatible, although it can provide backwards compatibility with the BIOS using CSM booting. Intel developed the original Extensible Firmware Interface (EFI) specification. Some of the EFI's practices and data formats mirror those of Microsoft Windows. In 2005, UEFI deprecated EFI 1.10.

ifconfig Network administration utility

ifconfig is a system administration utility in Unix-like operating systems for network interface configuration.

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.

There are a number of Unix-like operating systems based on or descended from the Berkeley Software Distribution (BSD) series of Unix variant options. The three most notable descendants in current use are FreeBSD, OpenBSD, and NetBSD, which are all derived from 386BSD and 4.4BSD-Lite, by various routes. Both NetBSD and FreeBSD started life in 1993, initially derived from 386BSD, but in 1994 migrated to a 4.4BSD-Lite code base. OpenBSD was forked from NetBSD in 1995. Other notable derivatives include DragonFly BSD, which was forked from FreeBSD 4.8.

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. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses and recommends the name "GNU/Linux" to emphasize the use and importance of GNU software in many distributions, causing some controversy.

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 x86, 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">Unix</span> Family of computer operating systems

Unix is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.

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

NetBSD is a free and open-source Unix 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.

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.

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.