The Junos SDK enables developers to build applications that run directly on Juniper networking devices and extend their capabilities. It provides APIs and tools to create applications that operate in the control plane or services plane. Applications can enhance device management, implement new protocols and services, or process traffic inline at high speeds. The SDK supports development for all Juniper products on a common Junos platform.
My INSURER PTE LTD - Insurtech Innovation Award 2024
Junos SDK enables developers to innovate networks
1. DATASHEET
JUNOS SDK
Product Description
Product Overview
The new network is open and characterized by innovative applications. Juniper Networks®
Junos® Software Development Kit (SDK) is the product that developers use to build these
Juniper Networks Junos SDK enables
applications to run at the network device layer on the Junos OS platform. Applications
developers to innovate on top of
running on the Junos operating system enhance the network at its most intimate layer
Juniper systems and the Junos
as they run in the control and services planes directly on the systems that connect the
operating system by building, deploying,
network. The APIs exposed in the Junos SDK allow applications to use the network and its
and validating innovative network
traffic in new and dynamic ways.
applications. The Junos SDK challenges
the paradigm of the industry’s existing The common set of tools and APIs for rapid development across all Juniper systems is
network offerings based on closed inherited from the “one Junos” story—a single network operating system unified across
and nonextensible software powering the Juniper routing, switching, and security portfolio. The Junos SDK further evolves Junos
network devices. OS, a proven, carrier-grade, high-performance network operating system, into a platform
whose popularity can be tapped by application developers. A trusted platform is crucial.
Through programmability with the
The Junos SDK exposes platform and system functions without compromise, while in fact
Junos SDK, systems running Junos
enhancing the robustness and security that have always been paramount to the Junos
OS can host customized software
operating system.
applications that expand upon the
network’s abilities and open it to Network programmability is the essence of the new network open to applications
innovation. Offering the opportunity to that amplify feature velocity and the innovation quotient for network operators. The
build on top of a unified carrier-grade contributions of applications bring smarter functions to the network for its users and more
platform, the Junos SDK brings to life efficient differentiated use of the network and its services, ultimately allowing operators
the promise of extracting more value to lower total cost of ownership and extract more value. Juniper now actively develops
from a new intelligent network. internally with the Junos SDK.
Applications embedded in the network Architecture and Key Components
are contributing tremendous value for
Routing Engine SDK—The Routing Engine SDK APIs and tools are used to build
the users and operators of networks
applications to extend the control plane software on Routing Engines. Because a Routing
through new and optimized services and
Engine is always present in any device, Routing Engine SDK-based applications are always
by offering new business opportunities.
deployable without the addition of any extra hardware or software.
Applications can programmatically manipulate the platform software in dynamic ways in
the form of daemons and other ephemeral processes that run as utilities. User interface
extensions usually accompany such software so that applications can be configured and
administered in the same ways as the Junos platform applications.
1
2. Services SDK—The Services SDK encompasses the APIs and tools any one of the Junos platform user interfaces such as Juniper
to build applications that run on the services hardware modules. Networks Junos Space, or with Junos OS scripting technologies.
Applications may resemble control plane-based components SNMP and system logging extensions are implemented directly
or tap directly into the services plane with “zero-copy” packet through the programs themselves.
manipulation APIs that can access selected packet streams
Service plane programs—Service plane programs operate with
from the packet forwarding engine (data plane). Applications in
many real-time POSIX threads, each executing a packet polling
the services plane can take on two roles related to inline packet
loop. They are granted exclusive use of an entire multiprocessing
processing—transforming and monitoring.
services engine on a services hardware module. Applications are
generally optimized for low latency and high throughput for their
Application Components
important task of receiving, processing, and sending packets.
Control plane programs—These central control-style applications
can access Junos operating system state, as well as routing, Service plane plug-ins—Service plane plug-ins are also
switching, and security features. components that can access packets at line speeds. Their packet,
event-driven model allows for application chaining within a
User interface extensions—User interface plug-ins can seamlessly
single services engine. These components can be developed
extend the user interface with new operational commands and
more quickly as well by taking advantage of generic session
object nodes in the configuration database. This capability allows
management infrastructure and APIs.
the operator to administer an application with new syntax through
Features and Benefits
FEAtURE BEnEFitS
Platform routing, switching, and Two API sets enable two classes of applications to dynamically manipulate platform and system features
security C and C++ APIs with POSIX with high performance at scale.
compliance • New management, UI, signaling, and protocols can run in the control plane.
• Inline traffic processing and monitoring along with signaling can run in the services plane.
• Many APIs are common to both sets and useful for both styles of applications.
Junos SDK plug-in for the Eclipse A plug-in for the Eclipse development environment greatly facilitates the coding through debugging
development environment workflows.
Install wizard The installer tool sets up and helps to maintain the Junos SDK APIs and tools so that developers can get
productive as quickly as possible without cumbersome administration.
Application build and simulation tools Tools to build, package, sign, test, and debug applications for Junos OS are included, as well as tools to
simulate the Junos OS user interface with newly developed extensions.
Virtual build environment A virtual machine image runs a build environment and the user interface testing tools.
Learning and support The Junos SDK offers comprehensive topical and reference documentation. Online and live training as well as
a development support staff are also available to developers.
Program information About Juniper networks
For more information on the Junos SDK, please visit Juniper Networks is in the business of network innovation. From
www.juniper.net/developer. devices to data centers, from consumers to cloud providers,
Juniper Networks delivers the software, silicon and systems that
transform the experience and economics of networking. The
company serves customers and partners worldwide. Additional
information can be found at www.juniper.net.
Corporate and Sales Headquarters APAC Headquarters EMEA Headquarters To purchase Juniper Networks solutions,
Juniper Networks, Inc. Juniper Networks (Hong Kong) Juniper Networks Ireland please contact your Juniper Networks
1194 North Mathilda Avenue 26/F, Cityplaza One Airside Business Park representative at 1-866-298-6428 or
Sunnyvale, CA 94089 USA 1111 King’s Road Swords, County Dublin, Ireland
authorized reseller.
Phone: 888.JUNIPER (888.586.4737) Taikoo Shing, Hong Kong Phone: 35.31.8903.600
or 408.745.2000 Phone: 852.2332.3636 EMEA Sales: 00800.4586.4737
Fax: 408.745.2100 Fax: 852.2574.7803 Fax: 35.31.8903.601
www.juniper.net
Copyright 2011 Juniper Networks, Inc. All rights reserved. Juniper Networks, the Juniper Networks logo, Junos,
NetScreen, and ScreenOS are registered trademarks of Juniper Networks, Inc. in the United States and other
countries. All other trademarks, service marks, registered marks, or registered service marks are the property of
their respective owners. Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper
Networks reserves the right to change, modify, transfer, or otherwise revise this publication without notice.
1000386-001-EN July 2011 Printed on recycled paper
2