Junos OS를 실행하는 디바이스의 Python 모듈 개요
Python 해석기는 Junos 운영 체제(Junos OS)의 일부로 포함되어 있습니다. Junos OS 및 Junos OS Evolved에는 커밋, 이벤트, 운영 및 SNMP 자동화 스크립트를 포함하여 Python 애플리케이션에서 사용할 수 있는 많은 Python 모듈이 포함되어 있습니다. JET(Juniper Extension Toolkit) 애플리케이션, YANG 작업 및 변환 스크립트를 제공합니다. 특정 모듈의 사용은 해당 모듈을 실행하는 사용자의 권한에 따라 달라집니다.
표 1 에는 특정 릴리스의 각 모듈 업그레이드 세트에 대한 일반 업데이트 및 영향을 받는 플랫폼이 개략적으로 설명되어 있습니다. 특정 플랫폼이 특정 유형의 스크립트에 대해 특정 버전의 Python(2.7 또는 3)을 지원하는 초기 릴리스를 확인하려면 Feature Explorer 도구에서 확인하십시오.
릴리스 |
변경 사항 설명 |
지원되는 플랫폼 |
---|---|---|
Junos OS 릴리스 18.1R1 |
Python 2.7용 모듈 업그레이드 |
MX240, MX480, MX960 및 vMX 라우터 |
Junos OS 릴리스 19.2R1 |
Python 2.7용 모듈 업그레이드 |
MX 시리즈 라우터 및 QFX 시리즈 스위치 |
Junos OS 릴리스 19.4R1 |
Python 2.7용 모듈 업그레이드 Python 3.x를 위한 모듈 추가(커밋, 이벤트, 운영 및 SNMP 스크립트에만 해당) |
ACX 시리즈, MX 시리즈 및 PTX 시리즈 라우터 EX 시리즈 및 QFX 시리즈 스위치 SRX 시리즈 서비스 게이트웨이 |
Junos OS 릴리스 20.2R1 |
Python 3.x를 위한 모듈 추가 |
ACX 시리즈, MX 시리즈 및 PTX 시리즈 라우터 EX 시리즈 및 QFX 시리즈 스위치 SRX 시리즈 서비스 게이트웨이 |
Junos OS Evolved 릴리스 21.2R1 |
Python 3.x를 위한 모듈 추가 |
PTX 시리즈 라우터 |
표 2 에는 Junos OS에서 사용할 수 있는 Python 모듈과 Python 2.7 및 Python 3용 Junos OS Evolved가 개략적으로 설명되어 있습니다.
패키지/모듈 |
설명 |
지원 |
지원 |
||
---|---|---|---|---|---|
2.7 |
3.x |
2.7 |
3.x |
||
|
애플리케이션별 사용자 데이터에 적합한 플랫폼별 디렉토리로 향하는 경로를 결정합니다. |
Y |
Y |
Y |
Y |
|
ASN.1(Abstract Syntax Notation One) 구조를 구문 분석 및 직렬화하기 위한 라이브러리 |
Y |
Y |
Y |
Y |
|
모든 상용화 코드를 작성하지 않고도 클래스를 작성할 수 있는 Python 패키지입니다. |
– |
– |
– |
Y |
|
한정 상태 기계의 Python 표현 |
– |
– |
– |
Y |
|
암호 해시 및 스토리지를 위한 라이브러리. |
– |
– |
– |
Y |
|
Python을 위한 C Foreign Function Interface - Python 애플리케이션이 C 코드와 상호 작용할 수 있도록 합니다. |
Y |
Y |
Y |
Y |
|
Python 2 및 3에 대한 범용 문자 인코딩 탐지기. |
Y |
Y |
Y |
Y |
|
지속적인 지원을 상징적으로 제공하는 라이브러리. |
– |
– |
– |
Y |
|
암호화 알고리즘과 프로토콜을 구현하는 PyCrypto 패키지의 Python 모듈 모음입니다. 모듈은 다양한 보안 해시 및 암호화 기능을 제공합니다. |
Y |
Y |
Y |
Y |
|
Python에서 암호화 레시피와 프리미티브를 제공합니다. |
Y |
Y |
Y |
Y |
|
호출 가능을 비동기식으로 실행하는 인터페이스를 제공합니다. Python 3에는 표준 라이브러리의 일부로 이 패키지가 포함되어 있습니다. |
Y |
Y |
Y |
Y |
|
키 쌍을 만들고, 메시지에 서명하고, 서명을 확인하는 데 사용할 수 있는 ECDSA 암호화 구현을 제공합니다. |
Y |
Y |
Y |
Y |
|
Python 3에는 표준 라이브러리의 일부로 이 기능이 포함되어 있습니다. |
Y |
Y |
Y |
Y |
|
Twisted의 기본 RPC 프로토콜의 새 버전. |
– |
– |
– |
Y |
|
Python 2 및 Python 3 호환성 라이브러리입니다. |
– |
– |
– |
Y |
|
프로토콜 버퍼(protobuf) 작업에 대한 지원을 제공합니다. |
Y |
Y |
Y |
Y |
|
Python gRPC 도구. |
Y |
Y |
Y |
Y |
|
변화할 수 없는 URL의 Pure-Python 구현. |
– |
– |
– |
Y |
|
RFC 5891, IDNA(Internationalized Domain Name in Applications): 프로토콜에 정의된 IDNA(Internationalized Domain Name in Applications) 프로토콜에 대한 지원을 제공합니다. |
Y |
Y |
Y |
Y |
|
Python 프로젝트를 버전화하기 위한 라이브러리. |
– |
– |
– |
Y |
|
IPv4 및 IPv6 주소에서 생성, 조작 및 운영할 수 있는 기능을 제공합니다. Python 3에는 표준 라이브러리의 일부로 이 모듈이 포함되어 있습니다.
참고:
Junos OS 릴리스 19.3R1부터 Python 스크립트의 IPv6를 사용하여 업그레이드된 FreeBSD 지원과 함께 Junos OS를 실행하는 디바이스입니다. |
Y |
Y |
Y |
Y |
|
Python을 위한 빠르고 안전하며 디자이너 친화적인 템플릿 언어입니다. Jinja2에 대한 자세한 내용은 http://jinja.pocoo.org/docs/dev/. |
Y |
Y |
Y |
Y |
|
Python을 위한 마이크로프레임워크로 Junos OS를 실행하는 디바이스를 자동화할 수 있습니다. Junos PyEZ는 자동화 작업을 위해 구축된 환경에서 사용자가 Junos OS CLI(Command-Line Interface)에서 갖출 수 있는 기능을 제공하도록 설계되었습니다. 자세한 내용은 Junos PyEZ에서 확인하십시오. |
Y |
Y |
Y |
Y |
|
XML을 Python 데이터 구조로 변환하고 Python 데이터 구조를 XML로 변환하기 위한 Python 모듈입니다. 자세한 내용은 https://jxmlease.readthedocs.io/. |
Y |
Y |
Y |
Y |
|
C 라이브러리 libxml2 및 libxslt의 속도 및 XML 기능 완전성과 네이티브 Python API의 단순성을 결합한 XML 처리 라이브러리입니다. 자세한 내용은 http://lxml.de. |
Y |
Y |
Y |
Y |
|
XML, HTML 또는 XHTML 마크업 안전 문자열을 이스케이프하고 포맷하는 기능을 제공합니다. |
Y |
Y |
Y |
Y |
|
NETCONF 프로토콜을 통해 클라이언트 스크립팅 및 애플리케이션 개발을 지원합니다. 외부 API에 대한 설명서를 포함하여 에 대한 |
Y |
Y |
Y |
Y |
|
레이어 2 및 레이어 3 네트워크 주소를 처리할 수 있는 네트워크 주소 조작 라이브러리 |
Y |
Y |
Y |
Y |
|
Python 패키지를 위한 핵심 유틸리티. |
Y |
Y |
Y |
Y |
|
애플리케이션이 메시지 큐 텔레메트리 전송(MQTT) 브로커에 연결하여 메시지를 게시하고 주제를 구독하고 게시된 메시지를 수신할 수 있는 클라이언트 클래스 역할을 합니다. |
Y |
Y |
Y |
Y |
|
SSH2 프로토콜 기반 연결을 제공하는 SSH2 프로토콜 라이브러리 이 모듈은 클라이언트 및 서버 모드 모두에 대한 모든 주요 암호 및 해시 방법을 지원합니다.
참고:
|
Y |
Y |
Y |
Y |
|
Python 패키지 및 버전 종속성을 찾고 관리하고 번들 파일 및 리소스에 액세스하기 위한 API를 제공합니다. |
Y |
Y |
Y |
Y |
|
실행 중인 프로세스 및 시스템 활용도(CPU, 메모리, 디스크 및 프로세스)에 대한 정보를 검색하기 위한 라이브러리입니다.
참고:
|
Y |
Y |
Y |
Y |
|
YANG 모듈의 프로세싱, 검증 및 변환을 지원하는 확장형 YANG 검증자 및 변환기. Junos OS는 Python 3에서 지원을 |
Y |
Y |
Y |
– |
|
ASN.1(Abstract Syntax Notation One) 유형 및 BER/CER/DER 코덱(X.208)의 Python 구현 |
Y |
Y |
Y |
Y |
|
Python 클래스로 표현된 ASN.1 데이터 구조의 수집 |
– |
– |
– |
Y |
|
순수 Python으로 작성된 C 언어에 대한 파서 모듈은 C 소스 코드를 구문 분석해야 하는 애플리케이션에 통합될 수 있습니다. |
Y |
Y |
Y |
Y |
|
Python은 네트워킹 및 암호화 라이브러리(NaCl)에 바인딩합니다. |
– |
– |
– |
Y |
|
OpenSSL 라이브러리의 하위 집합에 있는 Python 래퍼 모듈 |
– |
– |
– |
Y |
|
간단한 문법을 만들고 실행하는 다른 방법을 제공합니다. |
Y |
Y |
Y |
Y |
|
날짜 시간 모듈에 대한 확장을 제공합니다. |
– |
– |
– |
Y |
|
Python을 사용하여 HTTP/1.1 요청을 전송할 수 있는 라이브러리. |
Y |
Y |
Y |
Y |
|
Paramiko 전송을 사용해 SCP 프로토콜을 통해 파일을 송수신하는 SCP 프로토콜 구현 |
Y |
Y |
Y |
Y |
|
시리얼 포트에 대한 액세스를 캡슐화하는 pySerial 패키지의 모듈 |
Y |
Y |
Y |
Y |
|
pyOpenSSL 및 암호화에 대한 서비스 식별 검증. |
– |
– |
– |
Y |
|
Python 프로젝트 패키징을 지원하도록 설계된 라이브러리입니다. |
– |
Y |
– |
Y |
|
Python 2 및 Python 3 호환성 라이브러리입니다. |
Y |
Y |
Y |
Y |
|
Apache Thrift 프레임워크에 대한 Python 바인딩을 제공합니다.
|
Y |
– |
– |
– |
|
객체 중심 상태 시스템 구현. |
– |
– |
– |
Y |
|
인터넷 애플리케이션을 위한 이벤트 기반 프레임워크. |
– |
– |
– |
Y |
|
Python을 위한 HTTP 클라이언트. |
Y |
Y |
Y |
Y |
|
YAML 형식으로 데이터를 직렬화하고 비저장화하는 데 사용되는 PyYAML 패키지의 모듈 |
Y |
Y |
Y |
Y |
|
파일을 로드하거나 덤핑할 때 매핑 순서를 유지하기 위해 객체를 사용하는 |
– |
– |
– |
Y |
|
Python 인터페이스를 지정할 수 있는 패키지입니다. |
– |
– |
– |
Y |