Jump to content

Junos OS: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m v2.04b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation)
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5) (Pancho507 - 22020
 
(37 intermediate revisions by 26 users not shown)
Line 1: Line 1:
{{Short description|Real-time operating system (RTOS) software}}
{{about|Junos OS|the Austrian liberal youth organization|JUNOS – Young liberal NEOS|the Canadian music awards|Juno Award|pluralized Juno|Juno (disambiguation)}}
{{About|Junos OS|the Austrian liberal youth organization|JUNOS – Young liberal NEOS|the Canadian music awards|Juno Award|pluralized Juno|Juno (disambiguation)}}
{{Advert|date=May 2020}}
{{Infobox OS
{{Infobox OS
| name = Junos OS
| name = Junos OS
| logo = Junos sw logo.jpg
| logo = Junos OS logo.png
| logo caption =
| logo caption =
| logo size =
| logo alt =
| logo alt =
| screenshot =
| screenshot =
| caption =
| caption =
| screenshot_size =
| screenshot_alt =
| screenshot_alt =
| collapsible =
| version of = <!-- For articles about releases of operating systems ONLY -->
| developer = [[Juniper Networks]]
| developer = [[Juniper Networks]]
| family = [[FreeBSD]] and [[Linux]]
| family = [[Unix-like]]
| working state = Current
| working state = Current
| source model = [[Closed source]] and [[Open-source software|open source]]
| source model = [[Closed source]] and [[Open-source software|open source]]
| released = {{Start date and age|1998|07|07|df=no}}
| released = {{Start date and age|1998|07|07|df=no}}
| discontinued =
| discontinued = <!-- DON'T use this for articles about releases of operating systems -->
| latest release version = 24.2R1<ref>{{cite web |url=https://support.juniper.net/support/eol/software/junos/|title=Junos OS Dates & Milestones |access-date=2023-09-18}}</ref>
| RTM date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} ONLY for articles about OS releases -->
| GA date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} ONLY for articles about OS releases -->
| latest release date = {{Start date and age|2024|07|19|df=no}}
| latest release version = 21.2R1<ref>{{cite web |url=https://support.juniper.net/support/eol/software/junos/|title=Junos OS Dates & Milestones |access-date=2021-08-07}}</ref>
| latest release date = {{Start date and age|2021|06|29|df=no}}
| latest preview version =
| latest preview version =
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| latest preview date = <!-- {{Start date and age|2022|mm|dd}} -->
| marketing target =
| marketing target =
| programmed in =
| programmed in =
Line 32: Line 26:
| supported platforms = <!-- IA-32, x64, Itanium, ARM, etc. -->
| supported platforms = <!-- IA-32, x64, Itanium, ARM, etc. -->
| kernel type = <!-- Hybrid, Monolithic, Microkernel, Exokernel, Nanokernel, etc. -->
| kernel type = <!-- Hybrid, Monolithic, Microkernel, Exokernel, Nanokernel, etc. -->
| userland = [[FreeBSD]] 12<ref>{{cite web |url=https://www.juniper.net/documentation/en_US/junos/information-products/topic-collections/release-notes/17.4/topic-122328.html |title=Migration, Upgrade, and Downgrade Instructions |date=2018-09-17 |access-date=2018-09-17}}</ref><ref>{{cite web |url=https://apps.juniper.net/feature-explorer/feature-info.html?fKey=6880&fn=Junos%20kernel%20upgrade%20to%20FreeBSD%2010%2B |title=Junos kernel upgrade to FreeBSD 10+}}</ref><ref>{{cite web |url=https://www.juniper.net/documentation/us/en/software/junos/junos-install-upgrade/topics/topic-map/upgrading-and-downgrading-to-upgraded-bsd.html |title=Upgrading and Downgrading to Junos with Upgraded FreeBSD}}</ref> or [[Linux]]<ref>{{cite web |url=https://www.juniper.net/documentation/us/en/software/junos/evo-overview/evo-overview.pdf |title=Introducing Junos OS Evolved}}</ref>
| userland = [[FreeBSD]]<ref>{{cite web |url=https://www.juniper.net/documentation/en_US/junos/information-products/topic-collections/release-notes/17.4/topic-122328.html |title=Migration, Upgrade, and Downgrade Instructions |date=2018-09-17 |access-date=2018-09-17 |archive-date=2021-02-26 |archive-url=https://web.archive.org/web/20210226155148/https://www.juniper.net/documentation/en_US/junos/information-products/topic-collections/release-notes/17.4/topic-122328.html |url-status=dead }}</ref><ref>{{cite web |url=https://apps.juniper.net/feature-explorer/feature-info.html?fKey=6880&fn=Junos%20kernel%20upgrade%20to%20FreeBSD%2010%2B |title=Junos kernel upgrade to FreeBSD 10+}}</ref><ref>{{cite web |url=https://www.juniper.net/documentation/us/en/software/junos/junos-install-upgrade/topics/topic-map/upgrading-and-downgrading-to-upgraded-bsd.html |title=Upgrading and Downgrading to Junos with Upgraded FreeBSD}}</ref> or [[Linux]]<ref>{{cite web |url=https://www.juniper.net/documentation/us/en/software/junos/evo-overview/evo-overview.pdf |title=Introducing Junos OS Evolved |access-date=2021-08-07 |archive-date=2021-08-07 |archive-url=https://web.archive.org/web/20210807182452/https://www.juniper.net/documentation/us/en/software/junos/evo-overview/evo-overview.pdf |url-status=dead }}</ref>
| ui = [[Command-line interface]]
| ui = [[Command-line interface]]
| license = [[Proprietary software|Proprietary]],<ref>{{cite web|url=https://www.juniper.net/documentation/en_US/release-independent/information-products/topic-collections/network-management/j-web/copyright.html|title=Copyright and Trademark Information|publisher=Juniper Networks|access-date=2021-08-07}}</ref> [[FreeBSD License]], [[GNU_General_Public_License|GPL License]]
| license = [[Proprietary software|Proprietary]],<ref>{{cite web|url=https://www.juniper.net/documentation/en_US/release-independent/information-products/topic-collections/network-management/j-web/copyright.html|title=Copyright and Trademark Information|publisher=Juniper Networks|access-date=2021-08-07}}</ref> [[FreeBSD License]], [[GNU General Public License|GPL License]]
| preceded by =
| preceded by =
| succeeded by =
| succeeded by =
| website = {{URL|https://www.juniper.net/us/en/products/network-operating-system/junos-os.html}}
| website = {{official website|https://juniper.net/us/en/products-services/nos/junos/|juniper.net/us/en/products-services/nos/junos/}}
| support status = <!-- For articles about releases of operating systems ONLY -->
| other articles =
| other articles =
}}
}}


'''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.<ref name="juniper.net Junos">{{cite web|url=https://www.juniper.net/products_and_services/junos/|title=JUNOS Software: Network Operating System|accessdate=2008-11-10}}</ref>
The Junos [[operating system]] '''(Junos OS''') used in [[Juniper Networks]] network devices creates an environment for accelerating the deployment of services and applications over a single network.


==Versions==
== One Operating System ==
Junos OS was first made available on 7 July 1998. As of 2008, feature updates have been released quarterly.<ref name="open-not-open-source">{{cite web|url=https://www.internetnews.com/developer/junos-open-but-not-open-source/ |title=JUNOS: Open, but Not Open Source |author=Sean Michael Kerner |accessdate=2022-09-19| website=internetnews.com |date=18 July 2008 |archive-url=https://web.archive.org/web/20211026221335/https://www.internetnews.com/developer/junos-open-but-not-open-source/ |archive-date=2021-10-26 |url-status=live}}</ref> {{As of|2024|march}}, the latest version is Junos OS 23.2R1, released on June 23, 2023.
Unlike other network operating systems that share a common name but splinter into many different programs, Junos OS is a single, cohesive operating system that is shared across all network devices and product lines. Junos OS allows Juniper Networks engineers to develop software features once and share these features across all product lines simultaneously, thus reducing the training for each product and interoperability in production environments.


==CLI==
==Architecture==
Junos operating system is primarily based on [[FreeBSD]] on [[bare metal]] and later also with [[Linux]] [[Kernel (operating system)|kernel]]. <ref name="open-not-open-source" /> 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.<ref>{{cite web|url=http://www.tutorialsweb.com/networking/routers/junos-networking-software.htm|title=Junos Software Features|accessdate=2008-11-10}}</ref> After acquisition of NetScreen by Juniper Networks, Juniper integrated ScreenOS security functions into its own Junos network operating system.<ref>{{cite web|url=http://www.eweek.com/c/a/IT-Infrastructure/Juniper-at-Last-Integrates-NetScreenOS-into-JUNOS/|title=Juniper at Last Integrates NetScreenOS into JUNOS|last1=Musich|first1=Paula|date=2008-03-17|website=eWeek|publisher=Quinstreet Enterprise|accessdate=2008-11-10}}</ref>
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.
* Operational Mode—Monitors hardware status and displays information about network data that passes through or into the hardware.<ref>{{Cite web|url=https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.pdf|title=CLI User Guide|date=2019-09-10|website=Juniper|access-date=2019-09-17}}</ref>
* Configuration Mode—Configures the Juniper router, switch, or security device, by adding, deleting, or modifying statements in the configuration hierarchy.<ref>{{Cite web|url=https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.pdf|title=CLI User Guide|date=2019-09-17|website=Juniper|access-date=2019-09-17}}</ref>


Junos OS has several architecture variations:
==FIPS 140-2 Security Compliance==
* Junos OS FreeBSD 6 on bare metal. This is Junos OS based on a FreeBSD 6 kernel.
For advanced network security, a special version of Junos OS called Junos-FIPS 140-2 Security Compliance<ref>{{cite web |url=https://www.juniper.net/documentation/en_US/junos-fips18.1/topics/reference/general/switches/18.1/qfx5100-qfx5200-ex4600/fips-mode-ex-series.html|title=Understanding Junos OS in FIPS Mode|date=2019-09-10|access-date=2019-09-10}}</ref> is available, providing customers with software tools to configure a network of Juniper Networks devices in a [[Federal Information Processing Standards]] (FIPS) environment.


* Junos OS FreeBSD 10 or later on bare metal. This is Junos OS based on an upgraded FreeBSD kernel. Starting with Junos OS Release 15.1, certain hardware platforms run Junos OS with upgraded FreeBSD. Starting in Junos OS Release 16.1, Junos OS with upgraded FreeBSD can run as a guest virtual machine (VM) on a Linux VM host.
==Juniper Extension Toolkit (JET)==
Junos OS offers programming interfaces and the Juniper Extension Toolkit (JET)<ref>{{cite web |url=https://www.juniper.net/documentation/product/en_US/juniper-extension-toolkit|title=Juniper Extension Toolkit|date=2019-09-10|access-date=2019-09-10}}</ref> for developing applications that unlock more value from the network. 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 rich 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 (programming language)|P4]].


* Junos OS Evolved runs natively on Linux kernel, providing direct access to all the Linux utilities and operations. With Linux integration and boot up times significantly shortened.
==Junos Fusion==
Junos Fusion<ref>{{cite web |url=https://www.juniper.net/documentation/product/en_US/junos-fusion-enterprise#cat=all_validated_solutionstechnology|title=Junos Fusion|date=2019-09-10 |access-date=2019-09-17}}</ref> helps reduce network complexity and operational expenses by enabling multiple distributed devices to be managed as a single, logical device. Two different Junos Fusion architectures are available, one for provider edge and one for enterprise.


==Features==
==Junos Node Slicing==
{{Advert|section|date=September 2022}}
Node slicing<ref>{{cite web |url=https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-node-slicing/junos-node-slicing.html|title=Junos Node Slicing Feature Guide |date=2019-09-10 |access-date=2019-09-10}}</ref> is a Junos OS feature that enables creating multiple partitions from a single 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 a single physical router.
{{Primary sources|date=September 2022}}


===Junos SDK===
==Routing Protocols and Applications==
Junos's ecosystem includes a [[Junos#Junos SDK|Software Development Kit (SDK)]].<ref name="juniper.net Junos"/><ref name="eswp-junos-open">{{cite web|url=http://www.enterprisenetworkingplanet.com/news/article.php/3759876|archive-url=https://archive.today/20120729134454/http://www.enterprisenetworkingplanet.com/news/article.php/3759876|url-status=dead|archive-date=July 29, 2012|title=JUNOS: Open, But Not Open Source|last1=Kerner|first1=Sean Michael|accessdate=2008-11-10}}</ref> Juniper Developer Network (JDN)<ref>{{cite web|url=http://developer.juniper.net/|title=Juniper Developer Network|publisher=Juniper Networks|accessdate=2012-05-30}}{{Dead link|date=April 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> provides the Junos SDK<ref>{{cite web|url=https://developer.juniper.net/content/jdn/en/develop-overview/junos-sdk/getting-started.html|title=Junos SDK|publisher=Juniper Networks|accessdate=2012-05-30|archive-date=2012-04-07|archive-url=https://web.archive.org/web/20120407023738/https://developer.juniper.net/content/jdn/en/develop-overview/junos-sdk/getting-started.html|url-status=dead}}</ref> to the 3rd-party developers who want to develop applications for Junos-powered devices such as Juniper Networks routers, switches, and service gateway systems.<ref>{{cite web|url=http://conferences.sigcomm.org/sigcomm/2009/workshops/presto/papers/p7.pdf|title=Rapid Service Creation Using the Junos SDK|last1=Kelly|first1=James|last2=Araujo|first2=Wladimir|last3=Banerjee|first3=Kallol|publisher=Juniper Networks|accessdate=2012-05-30}}</ref><ref>{{cite web|url=http://www.xchangemag.com/hotnews/7ch1071110.html|title=Juniper Opens Router OS to Third-Party Developers|last1=Bernier|first1=Paula|date=2007-12-10|accessdate=2008-11-10|archive-url=https://web.archive.org/web/20100525143715/http://www.xchangemag.com/hotnews/7ch1071110.html|archive-date=25 May 2010|url-status=live}}</ref><ref>{{cite web|url=http://www.crn.com/news/networking/204800583/juniper-opens-os-to-third-party-developers-taking-stab-at-cisco.htm|title=Juniper Opens OS To Third-Party Developers, Taking Stab At Cisco|last1=Hicket|first1=Andrew R.|website=CRN|date=10 December 2007 |publisher=The Channel Company|accessdate=2008-11-10}}</ref><ref>{{cite web|url=http://www.juniper.net/company/presscenter/presscoverage/idc_psdp_eventflash_209828.pdf|title=Juniper Accelerates Innovation with the Partner Solution Development Platform (PSDP)|accessdate=2008-11-10}} {{Dead link|date=November 2015}}</ref><ref>{{cite web|url=http://www.juniper.net/solutions/literature/white_papers/200262.pdf|title=Executive Essays on Innovation and the Partner Solution|publisher=Juniper Networks|accessdate=2008-11-10|archiveurl=https://web.archive.org/web/20080727133947/http://www.juniper.net/solutions/literature/white_papers/200262.pdf|archivedate= 2008-07-27}}</ref> It provides a set of tools and [[application programming interface]]s (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.
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. It's a flexible routing policy language that is used for controlling route advertisements and path selection. Junos OS generally adheres to industry standards for routing and Multiprotocol Label Switching ([[MPLS]]). The Junos OS supports high availability mechanisms that are not standard to [[Unix]], such as graceful restart.


===Command-line interface===
==Secure Boot==
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.
Secure boot<ref>{{cite web |url=https://apps.juniper.net/feature-explorer/feature-info.html?fKey=7360&fn=Secure%20Boot|title=Secure Boot|date=2019-09-10 |access-date=2019-09-17}}</ref> is a significant system security enhancement based on the [[Unified Extensible Firmware Interface|UEFI standard]]. It works by safeguarding the BIOS itself 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.
* Operational Mode – Monitors hardware status and displays information about network data that passes through or into the hardware.<ref>{{Cite web|url=https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.pdf|title=CLI User Guide|date=2019-09-10|website=Juniper|access-date=2019-09-17}}</ref>
* Configuration Mode – Configures the Juniper router, switch, or security device, by adding, deleting, or modifying statements in the configuration hierarchy.<ref>{{Cite web|url=https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.pdf|title=CLI User Guide|date=2019-09-17|website=Juniper|access-date=2019-09-17}}</ref>


===FIPS 140-2 security compliance===
==Architecture==
Junos-FIPS 140-2 Security Compliance<ref>{{cite web |url=https://www.juniper.net/documentation/en_US/junos-fips18.1/topics/reference/general/switches/18.1/qfx5100-qfx5200-ex4600/fips-mode-ex-series.html|title=Understanding Junos OS in FIPS Mode|date=2019-09-10|access-date=2019-09-10}}</ref> 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.
Junos OS has two different architecture variations:

* Junos OS is based on the [[FreeBSD]] operating system and can run as a guest [[virtual machine]] on a [[Linux]] VM host.
===Juniper Extension Toolkit (JET)===
* Junos OS Evolved<ref>{{Cite web|title=Junos OS Evolved Overview {{!}} Introducing Junos OS Evolved {{!}} Juniper Networks TechLibrary|url=https://www.juniper.net/documentation/us/en/software/junos/evo-overview/topics/concept/evo-overview.html|access-date=2021-08-07|website=www.juniper.net}}</ref> is based on [[Linux]] operating system, and provides direct access to Linux utilities and operations.
Junos OS offers programming interfaces and the Juniper Extension Toolkit (JET).<ref>{{cite web |url=https://www.juniper.net/documentation/product/en_US/juniper-extension-toolkit|title=Juniper Extension Toolkit|date=2019-09-10|access-date=2019-09-10}}</ref> 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 (programming language)|P4]].
Both operating systems use the same command-line interface (CLI) user interface, the same applications and features, and the same management and automation tools—but Junos OS Evolved infrastructure has been entirely modernized to enable higher availability, accelerated deployment, greater innovation, and improved operational efficiencies.

===Junos Fusion===
Junos Fusion<ref>https://www.juniper.net/assets/us/en/local/pdf/datasheets/1000523-en.pdf {{Bare URL PDF|date=September 2022}}</ref><ref>{{cite web |url=https://www.juniper.net/documentation/product/en_US/junos-fusion-enterprise#cat=all_validated_solutionstechnology|title=Junos Fusion|date=2019-09-10 |access-date=2019-09-17}}</ref> 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<ref>{{cite web |url=https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-node-slicing/junos-node-slicing.html|title=Junos Node Slicing Feature Guide |date=2019-09-10 |access-date=2019-09-10}}</ref> 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.<ref>{{Cite book |title=Junos High Availability |last=Sonderegger |first=James |date=2024-04-05 |publisher=[[O'Reilly Media]] |isbn=9780596523046 |edition=1st |publication-date=2009-09-29 |last2=Blomberg |first2=Orin |last3=Milne |first3=Kieran |last4=Palislamovic |first4=Senad}}</ref> Junos supports a variety of [[routing protocol]]s. With the introduction of the SRX and J-series (past version 9.3) platforms, it also supports "flow mode", which includes stateful firewalling, [[Network address translation|NAT]], and [[IPsec]]. Junos OS generally adheres to industry standards for routing and [[Multiprotocol Label Switching|MPLS]].<ref>{{Cite web |url=https://www.juniper.net/documentation/us/en/software/junos/standards/standards.pdf |title=Junos OS Standards Reference |access-date=2024-04-05 |website=Juniper Networks |publisher=Juniper Networks, Inc. |publication-date=2024-02-01}}</ref>

===Secure boot===
{{Main|Unified Extensible Firmware Interface#Secure Boot}}
Secure boot<ref>{{cite web |url=https://apps.juniper.net/feature-explorer/feature-info.html?fKey=7360&fn=Secure%20Boot|title=Secure Boot|date=2019-09-10 |access-date=2019-09-17}}</ref> 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.


== References ==
== References ==
{{Reflist|30em}}
{{Reflist|30em}}

== External links ==
* {{official website|https://juniper.net/us/en/products-services/nos/junos/}}
* [http://www.prnewswire.com/news-releases/juniper-networks-to-use-oracler-berkeley-db-in-junos-software-58962997.html Juniper Networks to Use Oracle Berkeley DB in JUNOS Software]


{{Juniper Networks}}
{{Juniper Networks}}
Line 95: Line 96:
[[Category:Network operating systems]]
[[Category:Network operating systems]]
[[Category:1998 software]]
[[Category:1998 software]]
[[Category:IA-32 operating systems]]
[[Category:X86-64 operating systems]]

Latest revision as of 07:54, 6 December 2024

Junos OS
DeveloperJuniper Networks
OS familyUnix-like
Working stateCurrent
Source modelClosed source and open source
Initial releaseJuly 7, 1998; 26 years ago (1998-07-07)
Latest release24.2R1[1] / July 19, 2024; 5 months ago (2024-07-19)
Available inEnglish
UserlandFreeBSD[2][3][4] or Linux[5]
Default
user interface
Command-line interface
LicenseProprietary,[6] FreeBSD License, GPL License
Official websitejuniper.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]

Versions

[edit]

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

[edit]

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:

  • Junos OS FreeBSD 6 on bare metal. This is Junos OS based on a FreeBSD 6 kernel.
  • Junos OS FreeBSD 10 or later on bare metal. This is Junos OS based on an upgraded FreeBSD kernel. Starting with Junos OS Release 15.1, certain hardware platforms run Junos OS with upgraded FreeBSD. Starting in Junos OS Release 16.1, Junos OS with upgraded FreeBSD can run as a guest virtual machine (VM) on a Linux VM host.
  • Junos OS Evolved runs natively on Linux kernel, providing direct access to all the Linux utilities and operations. With Linux integration and boot up times significantly shortened.

Features

[edit]

Junos SDK

[edit]

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

[edit]

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.

  • Operational Mode – Monitors hardware status and displays information about network data that passes through or into the hardware.[19]
  • Configuration Mode – Configures the Juniper router, switch, or security device, by adding, deleting, or modifying statements in the configuration hierarchy.[20]

FIPS 140-2 security compliance

[edit]

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)

[edit]

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

[edit]

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

[edit]

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

[edit]

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

[edit]

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.

References

[edit]
  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). Archived from the original (PDF) on 2021-08-07. Retrieved 2021-08-07.
  6. ^ "Copyright and Trademark Information". Juniper Networks. Retrieved 2021-08-07.
  7. ^ a b "JUNOS Software: Network Operating System". Retrieved 2008-11-10.
  8. ^ a b 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.