이 페이지 내용
JET 개요
JET(Juniper Extension Toolkit)는 Junos 디바이스의 타사 애플리케이션 개발자를 위한 최신 프로그래밍 인터페이스를 제공합니다. 이 솔루션은 관리 및 컨트롤 플레인 기능을 사용자 지정할 수 있도록 주니퍼 네트웍스 Junos 운영체제(Junos OS) 및 진화한 Junos OS에 표준 기반 인터페이스를 제공하는 데 중점을 둡니다.
또한 JET에는 개발자가 온디바이스 JET 애플리케이션을 작성할 수 있도록 라이브러리 및 기타 도구와 함께 도구 체인이 포함되어 있습니다.
JET의 장점
-
모든 Junos 디바이스와 상호 작용할 수 있는 API를 제공합니다.
-
여러 언어로 API 개발을 지원합니다.
-
Junos 디바이스에서 실행되는 애플리케이션을 개발하기 위한 도구를 제공합니다.
-
JET 애플리케이션이 선택된 시스템 이벤트에 응답할 수 있도록 하는 이벤트 알림 방법을 사용합니다.
JET 아키텍처
JET는 개발자가 Junos OS 및 Junos OS Evolved의 기능을 확장하는 애플리케이션을 만들 수 있도록 지원하는 프레임워크입니다. 예를 들어, JET 애플리케이션은 애플리케이션별 상태를 표시하는 새로운 운영 명령을 추가하여 Junos CLI를 확장할 수 있습니다. JET 애플리케이션은 Junos 디바이스 또는 운영 환경의 다른 디바이스에서 실행할 수 있으며 네트워크를 통해 Junos 디바이스에 연결할 수 있습니다.
JET 애플리케이션은 표준 기반 전송 채널에서 요청-응답 및 알림 서비스를 통해 Junos OS 및 Junos OS Evolved와 상호 작용합니다. 그림 1 은 요청-응답 및 알림 서비스를 보여 줍니다.
표 1에서는 요청-응답 및 알림 서비스에 대해 설명합니다.
| 서비스 |
묘사 |
|---|---|
| 요청-응답—애플리케이션은 요청을 발행하고 Junos OS의 응답을 기다릴 수 있습니다. |
Junos OS에서 실행되는 JET 서비스 프로세스(jsd)는 요청-응답 서비스를 제공합니다. jsd가 요청을 수신하면(기본적으로 TCP 포트 32767에서) JET 애플리케이션을 서비스하기 위해 새 세션을 만듭니다. 클라이언트와 서버가 모두 작동 중이고 서로 통신하는 한 세션은 활성 상태로 유지됩니다. 세션의 수명 동안 jsd는 여러 API를 실행할 수 있습니다. JSD는 최대 8개의 활성 클라이언트 세션을 지원하고 이러한 세션에서 API를 병렬로 실행할 수 있습니다.
메모:
jsd와의 보안 통신을 위해 RSA 인증서, 특히 TLSv1.2(최소)를 사용합니다. |
| 알림 - 애플리케이션은 Junos OS에서 발생하는 이벤트에 대한 비동기 알림을 수신할 수 있습니다. |
JET는 게시-구독 기반 메시징 프로토콜과 알림 브로커를 제공합니다. JET 애플리케이션은 알림 브로커에 등록하고 메시지를 수신하기 위해 관심 있는 주제에 대해 브로커에 알릴 수 있습니다. 브로커는 메시지 주제에 따라 관심 있는 클라이언트에게 메시지를 배포하는 일을 담당합니다. Junos OS 프로세스는 이벤트(예: eventd)를 게시하고, 게시자로 브로커에 연결하고, 이벤트를 게시합니다. JET는 MQTT(Message Queue Telemetry Transport) 프로토콜( https://mqtt.org/ 참조) 메서드를 사용하여 알림 서비스를 구현합니다. |
JET 및 gRPC
JET는 RPC(원격 프로시저 호출)에 대한 gRPC 프레임워크를 지원합니다. JET는 요청-응답 서비스를 사용하도록 설정하는 메커니즘으로 언어 간 서비스에 gRPC를 사용합니다. 또한 gRPC는 프로그래밍 언어에 구애받지 않는 API를 정의하는 메커니즘을 제공합니다. 자세한 내용은 https://www.grpc.io/ 를 참조하십시오.