KR101655966B1 - Netconf 프로토콜의 rpc 계층 개선을 위한 장치 및 방법 - Google Patents

Netconf 프로토콜의 rpc 계층 개선을 위한 장치 및 방법 Download PDF

Info

Publication number
KR101655966B1
KR101655966B1 KR1020150129157A KR20150129157A KR101655966B1 KR 101655966 B1 KR101655966 B1 KR 101655966B1 KR 1020150129157 A KR1020150129157 A KR 1020150129157A KR 20150129157 A KR20150129157 A KR 20150129157A KR 101655966 B1 KR101655966 B1 KR 101655966B1
Authority
KR
South Korea
Prior art keywords
netconf
protocol
data
soap
message
Prior art date
Application number
KR1020150129157A
Other languages
English (en)
Inventor
이재기
이양민
이재혁
노종민
Original Assignee
동아대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동아대학교 산학협력단 filed Critical 동아대학교 산학협력단
Priority to KR1020150129157A priority Critical patent/KR101655966B1/ko
Application granted granted Critical
Publication of KR101655966B1 publication Critical patent/KR101655966B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • H04L67/42
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 멀티스레드 기반의 병렬 처리를 적용하여 효율성을 높인 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법에 관한 것으로, NETCONF 매니저와 NETCONF 에이전트 간의 RPC 동기화 통신 구조를 다중 파이프라인을 구성하고 병렬 명령 처리를 수행하기 위하여, 입력되는 정보를 이용하여 질의 메시지를 생성하는 NETCONF 질의 데이터 생성 모듈;응답 메시지를 받아 필요한 데이터를 추출하는 NETCONF 응답 데이터 처리 모듈;질의 또는 응답 메시지의 헤더를 확인하여 전송 프로토콜을 분류하고 전송 프로토콜을 결정하는 전송 프로토콜 선택 모듈;전송 계층에서 사용되는 프로토콜이 결정되면 단일 동기 채널, 다중 비동기 채널을 선택적으로 생성하는 전송 프로토콜 엔진;을 NETCONF 매니저가 포함하는 것이다.

Description

NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법{System and Method for Improving RPC Layer in NETCONF protocol}
본 발명은 NETCONF 프로토콜의 RPC 계층에 관한 것으로, 구체적으로 멀티스레드 기반의 병렬 처리를 적용하여 효율성을 높인 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법에 관한 것이다.
현재의 네트워크는 복잡한 구성을 가지며 현대 사회의 많은 업무들이 네트워킹과 컴퓨팅에 의존적인 경우가 많아 네트워크의 신속한 설정과 관리가 필수적이다.
제안된 NETCONF 표준은 4계층의 구조를 가지며, RPC 기반 통신 모델을 사용하고 있다.
이와 같은 RPC 통신은 클라이언트-서버(매니저-에이전트) 모델을 기반으로 하고 있고, 데이터 통신을 위한 방식과 자료구조는 선입선출을 수행하는 단순한 큐로 구성되어 있다.
즉, 요청과 응답에 의한 동기화 방식의 통신을 수행하고 있다는 것이다.
부연하면, 네트워크 장비의 데이터 처리를 위해 매니저(Manager, 클라이언트 역할)가 설치된 컴퓨터와 매니저의 작업 명령에 응답하기 위해 네트워크 장비에는 에이전트(Agent, 서버 역할)가 설치되는데 이 둘 사이에서 수행되는 1개의 작업 처리 단위가 트랜잭션(Transaction)이라는 개념이다.
종래 기술의 NETCONF 프로토콜의 문제는 트랜잭션 1개를 처리하기 위해 질의가 전송되고 응답이 돌아올 때까지 다른 트랜잭션을 수행할 수 없다는 것이다.
따라서, 네트워크 관리자가 네트워크 장비 설정의 변경을 수행할 때 응답 속도가 늦어 효율성이 떨어지고, 많은 관리자가 동시에 단일 장비에 작업을 수행하거나 또는 단일 장비에 여러 개의 트랜잭션이 수행되어야 할 경우에도 응답 속도가 늦다는 단점이 나타난다.
대한민국 공개특허 제10-2006-0087947호 대한민국 공개특허 제10-2007-0057603호
본 발명은 이와 같은 종래 기술의 NETCONF 프로토콜의 문제를 해결하기 위한 것으로, 멀티스레드 기반의 병렬 처리를 적용하여 효율성을 높인 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 매니저와 에이전트 간의 RPC 동기화 통신 구조를 파이프라인 구조로 바꾸고 추가적으로 멀티스레드(Multi-Thread) 기술을 활용한 병렬 처리 구조를 갖도록 한 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 다중 파이프라인을 구성한 후 트랜잭션 단위의 명령 처리 방식을 병렬 처리 방식으로 변경하여 단일 파이프라인에서 발생할 수 있는 병목 현상을 없애고 고속의 네트워크 장비 설정 작업 처리가 가능하도록 한 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 병렬 처리를 위한 멀티스레드와 비동기 채널 생성을 위한 모든 구조는 매니저에 포함되고, 추가로 하부 통신 프로토콜을 사용자가 임의로 선택할 수 있도록 하여 사용자에게 편리성을 제공하는 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
이와 같은 목적을 달성하기 위한 본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치는 NETCONF 매니저와 NETCONF 에이전트 간의 RPC 동기화 통신 구조를 다중 파이프라인을 구성하고 병렬 명령 처리를 수행하기 위하여, 입력되는 정보를 이용하여 질의 메시지를 생성하는 NETCONF 질의 데이터 생성 모듈;응답 메시지를 받아 필요한 데이터를 추출하는 NETCONF 응답 데이터 처리 모듈;질의 또는 응답 메시지의 헤더를 확인하여 전송 프로토콜을 분류하고 전송 프로토콜을 결정하는 전송 프로토콜 선택 모듈;전송 계층에서 사용되는 프로토콜이 결정되면 단일 동기 채널, 다중 비동기 채널을 선택적으로 생성하는 전송 프로토콜 엔진;을 포함하고 NETCONF 매니저가 구성되는 것을 특징으로 한다.
여기서, NETCONF 질의 데이터 생성 모듈은 NETCONF 매니저의 NETCONF 메시지 처리기에 구성되고, GUI 모듈이나 데이터 저장부를 통해서 입력되는 정보를 이용하여 질의 메시지를 생성하고 XDR 필터로 보내는 것을 특징으로 한다.
그리고 NETCONF 응답 데이터 처리 모듈은 NETCONF 매니저의 NETCONF 메시지 처리기에 구성되고, 응답 메시지를 받아서 XML 파서를 이용하여 필요한 데이터를 추출하고 응답 결과를 데이터 저장부에 저장하거나 GUI 모듈로 전달하는 것을 특징으로 한다.
그리고 전송 프로토콜 선택 모듈은, 질의 또는 응답 메시지의 헤더를 확인하여 NETCONF 표준 문서에서 제시하는 전송 프로토콜인 SSH, BEEP, SOAP인지를 확인하여 분류하고 전송 프로토콜을 결정하는 것을 특징으로 한다.
그리고 NETCONF 매니저는, SSH 프로토콜인 경우에 단일 채널을 생성하기 위한 SSH 단일 스레드 생성 모듈과,SOAP과 BEEP 프로토콜인 경우에 다중 채널의 생성을 하는 BEEP,SOAP 멀티스레드 생성 모듈과,SOAP 프로토콜의 수신인 경우에 SOAP 프로토콜을 따르는 XML을 처리할 SOAP 엔진을 더 포함하는 것을 특징으로 한다.
그리고 전송 프로토콜 엔진은, 전송 계층에서 사용되는 프로토콜이 SSH 프로토콜이 사용되면 단일 동기 채널을 생성하고, BEEP 또는 SOAP이 사용되면 다중 비동기 채널을 생성하는 것을 특징으로 한다.
그리고 전송 프로토콜 엔진은, 비동기적 통신 채널을 생성하고 생성되는 각 채널을 스레드 내에 생성하도록 하여 멀티스레드 통신이 구성 되도록 하는 것을 특징으로 한다.
그리고 NETCONF 매니저는, NETCONF 에이전트에 비동기적 통신을 허용할 수 있는 C 언어 기반으로 구성된 알고리즘 및 NETCONF 매니저에서 비동기적 통신을 시작시킬 수 있는 Java 언어 기반으로 구성된 알고리즘에 의해 구동되는 것을 특징으로 한다.
다른 목적을 달성하기 위한 본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 방법은 NETCONF 매니저와 NETCONF 에이전트 간의 RPC 동기화 통신 구조를 다중 파이프라인을 구성하고 병렬 명령 처리를 수행하기 위하여, 입력되는 정보를 이용하여 질의 메시지를 생성하는 단계;응답 메시지를 받아 필요한 데이터를 추출하는 단계;질의 또는 응답 메시지의 헤더를 확인하여 전송 프로토콜을 분류하고 전송 프로토콜을 결정하는 단계;전송 계층에서 사용되는 프로토콜이 결정되면 단일 동기 채널, 다중 비동기 채널을 선택적으로 생성하는 단계;를 포함하는 것을 특징으로 한다.
여기서, 질의 또는 응답 메시지의 헤더를 확인하여 전송 프로토콜을 분류하고 전송 프로토콜을 결정하는 단계에서, NETCONF 표준 문서에서 제시하는 전송 프로토콜인 SSH, BEEP, SOAP인지를 확인하여 분류하고 전송 프로토콜을 결정하는 것을 특징으로 한다.
그리고 전송 계층에서 사용되는 프로토콜이 SSH 프로토콜이 사용되면 단일 동기 채널을 생성하고, BEEP 또는 SOAP이 사용되면 다중 비동기 채널을 생성하는 것을 특징으로 한다.
또 다른 목적을 달성하기 위한 본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 방법은 NETCONF 매니저의 요청 송신 과정에서, GUI 모듈이나 데이터 저장부로부터 필요한 데이터를 입력받고 NETCONF 질의 데이터 생성 모듈에서 질의 메시지를 생성하는 단계;생성된 질의 메시지를 XDR 필터로 전달하여 인코딩하고 전송프로토콜 선택 모듈에서 프로토콜 분류를 하는 단계;SSH 프로토콜, BEEP 프로토콜, SOAP 프로토콜인지를 순차적으로 판단하는 단계;질의 메시지를 전송할 프로토콜이 SSH인 경우에는 SSH 단일 스레드 생성 모듈을 거쳐 전송 프로토콜 엔진에서 단일 동기 채널 생성 과정을 거쳐 NETCONF 에이전트로 메시지를 전달하는 단계;BEEP 또는 SOAP인 경우에는 BEEP,SOAP 멀티스레드 생성 모듈을 통하여 만들어진 스레드를 통해 요청 메시지 큐에 메시지를 인큐(Enqueue)하는 단계; 및 전송 프로토콜 엔진에서 다중 비동기 채널을 생성하고 NETCONF 에이전트와 병렬 통신을 수행하여 질의 메세지를 전송하는 단계;를 포함하는 것을 특징으로 한다.
또 다른 목적을 달성하기 위한 본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 방법은 NETCONF 매니저의 요청 수신 과정에서, 전송 프로토콜 엔진을 통한 응답 메세지를 수신하여 단일 채널 또는 다중 채널로부터 수신인가를 판단하는 단계;BEEP이나 SOAP 프로토콜인 경우 구성되어 있는 다중 채널로부터 데이터가 수신 메시지 큐에 인큐(Enqueue)되도록 하는 단계;큐에 있는 데이터를 디큐(Dequeue)하고 프로토콜 분류를 하는 단계;BEEP이 사용된 경우 디코딩 작업을 수행한 후 XML 파싱과정을 거쳐 NETCONF 메시지 처리기로 응답 메시지를 전달하는 단계;SOAP인 경우에는 디코딩 이후 SOAP 엔진을 이용하여 데이터 처리를 수행하는 단계;SSH의 경우에는 단일 채널로 수신하여 직접 XDR 필터로 데이터를 전달하여 디코딩하는 단계;XML 파서를 통해 필요한 데이터를 추출한 후 설정 저장 파일로 데이터를 기록하거나 GUI 모듈로 출력하거나 CLI로 출력하는 단계;를 포함하는 것을 특징으로 한다.
이와 같은 본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법은 다음과 같은 효과를 갖는다.
첫째, 표준 NETCONF 프로토콜의의 RPC 계층의 효율성을 개선할 수 있다.
둘째, 네트워크 장비 설정에 대한 수정 트랜잭션을 파이프라인 형태로 처리할 뿐만 아니라 동시에 처리할 수 있는 병렬화 기법을 사용하기 때문에 트랜잭션 처리 속도를 높일 수 있다.
셋째, NETCONF 에이전트와 매니저 간 통신에 적용한 멀티스레드는 각 스레드로 수립한 하나의 채널마다 다른 프로토콜을 쓸 수 있어 전송 프로토콜의 독립성을 높이는 동시에 사용자의 편의성 및 전송 효율을 증가시킨다.
넷째, NETCONF 프로토콜의 RPC 계층 개선은 NETCONF의 사용을 활성화시켜 최종적으로는 네트워크의 중앙 관리 업무 효율성 개선에도 도움을 줄 수 있다.
도 1은 멀티스레드 기술을 적용한 NETCONF 매니저와 에이전트의 동작 과정을 나타낸 구성도
도 2는 NETCONF 동작 방식을 비교한 구성도
도 3은 매니저와 에이전트 간 RPC 데이터 흐름을 나타낸 구성도
도 4는 데이터 처리에 멀티스레드를 적용한 다이어그램 구성도
도 5는 본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치의 구성도
도 6은 본 발명에 따른 NETCONF 매니저의 요청 송신 과정을 나타낸 플로우 차트
도 7은 본 발명에 따른 NETCONF 매니저의 응답 수신 과정을 나타낸 플로우차트
도 8은 NETCONF 프로토콜의 개념적 구조를 나타낸 구성도
도 9는 에이전트 서버의 가동과 접속하였을 때의 예시 화면 구성도
도 10은 매니저를 접속하였을 때 나타나는 인터페이스 정보의 예시 화면 구성도
도 11은 본 발명에 따른 다중 파이프라인과 일반적인 단일 파이프라인을 사용하였을 때 접속 시간을 비교한 그래프
이하, 본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법의 바람직한 실시 예에 관하여 상세히 설명하면 다음과 같다.
본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법의 특징 및 이점들은 이하에서의 각 실시 예에 대한 상세한 설명을 통해 명백해질 것이다.
도 1은 멀티스레드 기술을 적용한 NETCONF 매니저와 에이전트의 동작 과정을 나타낸 구성도이다.
그리고 도 2는 NETCONF 동작 방식을 비교한 구성도이고, 도 3은 매니저와 에이전트 간 RPC 데이터 흐름을 나타낸 구성도이다.
본 발명은 매니저와 에이전트 간의 RPC 동기화 통신 구조를 파이프라인 구조로 바꾸고 추가적으로 멀티스레드(Multi-Thread) 기술을 활용한 병렬 처리 구조를 갖도록 한 것으로, 다중 파이프라인을 구성한 후 트랜잭션 단위의 명령 처리 방식을 병렬 처리 방식으로 변경하여 단일 파이프라인에서 발생할 수 있는 병목 현상을 없애고 고속의 네트워크 장비 설정 작업 처리가 가능하도록 한 것이다.
이를 위한 본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법은 NETCONF 프로토콜을 이용하여 네트워크 장비에 대한 설정 작업을 수행함에 있어서, 트랜잭션을 전송하고 결과를 수신하는 구성 및 NETCONF 매니저(클라이언트)와 에이전트(서버) 사이에 연결을 수립하는데 비동기적 통신을 수립하는 구성을 포함한다.
여기서, 비동기적 통신을 수립하기 위한 모듈은 클라이언트 역할을 수행하는 NETCONF 매니저에 포함되는 구조이다.
그리고 본 발명은 비동기적 통신 채널을 생성하되 생성되는 각 채널을 스레드 내에 생성하도록 하여 멀티스레드 통신이 구성 되도록 한다.
그리고 본 발명은 NETCONF 에이전트에 비동기적 통신을 허용할 수 있는 C 언어 기반으로 구성된 알고리즘과 모듈 위치 및 모듈의 구현에 관한 구성을 포함한다.
그리고 본 발명은 NETCONF 매니저에서 비동기적 통신을 시작시킬 수 있는 Java 언어 기반으로 구성된 알고리즘과 모듈 위치 및 모듈의 구현에 관한 구성을 포함한다.
그리고 멀티스레드 기반의 통신에 의해 다중 XML 문서가 전달될 때 이를 에이전트의 큐에 저장하는 방법과 큐 내의 XML 문서를 처리하는 구성을 포함한다.
그리고 SSH, BEEP, SOAP over HTTP의 세 가지 프로토콜을 모두 사용할 수 있도록 하는 방법 및 세 가지 프로토콜 중 어느 한 종류의 프로토콜이 반드시 쓰이는 것을 보장하는 구성을 포함한다.
그리고 에이전트 큐에 전달되는 문서가 사용한 프로토콜의 종류에 따라 SSH일 경우 단일 파이프라인, BEEP이나 SOAP 일 경우 멀티파이프라인을 구별하여 생성할 수 있도록 하는 알고리즘 및 구현에 관한 구성을 포함한다.
그리고 각 청구항을 달성하기 위한 NETCONF 매니저(클라이언트)의 구조를 중심으로 하는 파이프라인 생성과 멀티스레드를 이용하는 모듈 구조 구현에 관한 구성을 포함한다.
이하에서 다중 파이프라인 구현에 관하여 구체적으로 설명한다.
본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법은 NETCONF 프로토콜 표준에서 NETCONF 매니저에 2개의 모듈을 추가하여 동기화 통신 방식을 파이프라인 비동기 통신으로 변경하고 동시에 멀티스레드를 적용하여 이것을 통해서 다중 파이프라인을 구성한다.
두 개의 모듈은 NETCONF 매니저에 구현되며, 이와 화합하기 위한 에이전트 내의 일부 모듈에 변경이 필요하다. 단 본 발명에서는 에이전트의 변경은 포함하지 않는다.
NETCONF은 한 트랜잭션이 끝나야 다음 트랜잭션이 시작되는 비효율적인 측면을 갖고 있다. 직렬 구조 방식의 특징을 가진 RPC 데이터 통신 방식에 멀티스레드를 적용하여 도 1과 같이 병렬 구조 방식으로 전송되도록 하는 것이다.
도 1은 매니저가 에이전트로 메시지를 요청하였을 때 에이전트가 응답하는 상황을 나타낸 것이다.
본 발명이 적용되는 부분은 굵은 화살로 표시한 스레드(Thread) 부분인데 특히 점선 사각형 내의 매니저 내의 멀티스레드가 핵심 구성이다.
에이전트는 장비 내에 설치되어 있는 소프트웨어로 여러 개의 모듈을 관리하게 되는데 이전의 NETCONF와는 달리 트랜잭션별로 스레드를 생성하고, 결과적으로 멀티스레드가 만들어지도록 모듈을 구성한다.
그리고 스레드별로 하나의 통신 채널을 구성하여 해당 모듈 인터페이스로 장비 설정과 관련된 연산 메시지를 XML 문서로서 전송하게 되는데 이런 채널을 다중으로 구성할 수 있도록 한다.
따라서 각 모듈로 연결되는 해당 채널이 독립적인 스레드를 기반으로 동작하기 때문에 단일 파이프라인 구조가 병렬 파이프라인 구조로 변경되고 응답 시간 및 반응성이 개선된다.
이와 같이 본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법은 멀티스레드를 적용하여 여러 개의 파이프라인 구조를 동시에 운영하는 구조를 갖는다.
도 2의 (a)는 이전의 NETCONF 프로토콜이 동작하는 방식을 나타낸 것으로, 요청에 의한 응답으로 한 트랜잭션이 끝난 다음 큐 내의 대기 데이터를 처리하는 구조로 되어 있다.
도 2의 (b)는 본 발명에 따른 비동기 방식의 파이프라인 구조와 멀티스레드를 이용하여 들어오는 명령을 대기 없이 계속적으로 처리하는 구조를 나타낸 것이다.
구체적으로, 도 2 (a)의 NETCONF 통신 방식은 매니저가 메시지 요청(①) 시 에이전트가 그에 대한 응답(②)을 보내게 되며, 하나의 통신이 트랜잭션 단위로 완료되면 다음 메시지를 처리하는 형태로 순차적으로 반복된다.
이와 같이 이전의 NETCONF 프로토콜 동작 원리는 이렇게 한 트랜잭션이 끝나야 다음 트랜잭션이 시작되는 비효율적인 측면이 있다.
이와 같은 문제를 해결하기 위하여 본 발명에서는 도 2(b)에서와 같이 파이프라인 형태의 처리를 하기 위해서 비동기적 통신을 수행할 수 있도록 트랜잭션의 처리 알고리즘의 일부를 변경한 파이프라인 기술을 적용하여 매니저가 메시지를 동시에 요청할 수 있도록 한다.(①, ②, ③)
매니저와 에이전트 간의 통신은 비동기적 통신 기법만을 적용하여도 파이프라인 구조를 달성할 수 있지만 이를 동시에 처리하기 위해서는 기존의 방식으로는 불가능하다.
따라서 이런 비동기적 파이프라인 통신 구조를 만들고, 각 통신 채널을 스레드 내부에서 실행하도록 하면 멀티스레드의 적용이 가능하고 결론적으로 다중 파이프라인이 구성된다.
NETCONF 프로토콜 내에서의 RPC 데이터 흐름은 도 3에서와 같다.
RPC(Remote Procedure Call)는 다른 주소 공간에서 서브루틴이나 프로시저를 실행시키기 위한 컴퓨터 프로그래밍 기술이다.
NETCONF 프로토콜은 이러한 RPC 기반의 통신 모델을 사용한다. RPC 계층은 설정 관리의 요청과 응답 기능을 수행한다. 애플리케이션 프로토콜에 종속되지 않는 요청과 응답의 구조를 제공하기 위해 <rpc>, <rpc-reply>를 사용한다. RPC 계층은 RPC 메시지를 인코딩하기 위해 전송계층-독립적 프레임 메커니즘을 사용하는데 <rpc>, <rpc-reply> 메시지가 여기에 해당된다.
NETCONF 매니저(200)는 요청 정보나 설정 변경을 위해 NETCONF 에이전트(100)에게 RPC 메시지를 전송할 수 있다. 에이전트는 요청에 대해 반응하고 결과를 같은 경로를 통해 매니저에게 전송한다.
도 3은 매니저와 에이전트 간 RPC 데이터 흐름의 순서를 나타낸 것이다.
먼저, 클라이언트(매니저 측) 데이터는 XDR(eXternal Data Representation) 필터를 통과해서 인코딩된 후 전달되며, XDR로 인코딩된 데이터는 네트워크를 통해 원격지 호스트로 전달된다.
데이터를 받은 서버(에이전트 측)는 XDR 필터를 통해서 디코딩하며, 디코딩된 데이터를 처리하고 결과 데이터를 XDR 필터를 통해서 인코딩한다.
인코딩된 XDR 데이터가 네트워크를 통해 클라이언트에 전달되며, 클라이언트는 XDR을 디코딩하고 결과를 처리한다.
도 4는 멀티스레드를 적용한 NETCONF 동작 순서를 다이어그램으로 나타낸 것이다.
큐에 대기되어 있는 네트워크 장비 설정 관련 연산 데이터(XML 문서)들을 하나씩 처리하는 단일 파이프라인 기법을 사용하지 않는다.
대신 하나의 트랜잭션을 하나의 스레드가 관리하는 기법을 적용한 다중 파이프라인 기법은 Data 0과 Data 1을 동시에 받아오며 나머지 데이터는 전 데이터가 처리되기까지 Idle 상태로 들어가게 된다. 이렇게 받아들인 Data 0와 Data 1은 NETCONF 매니저 (클라이언트)로부터 생성된 XML 문서이기 때문에 XML RPC Parsing 과정을 통과한다. 이후 XML 문서로부터 에이전트(서버)가 처리할 수 있는 데이터를 파싱 과정을 통해 추출하고, 이후 스레드 A와 스레드 B로 진입한다. 멀티스레드를 이용하기 때문에 이런 프로세싱을 통과하면 각각의 데이터는 구분되며, 네트워크 장비의 어떤 부분을 수정해야 하는지, 어떤 모듈이 응답해야 하는지도 구분한다.
그리고 하나의 모듈이 데이터를 이용하여 작업을 진행하는 동안 다른 모듈도 필요한 작업을 동시에 진행할 수 있게 된다.
이후 처리가 끝난 데이터를 회수할 때도 동일한 방법으로 동시에 데이터를 전달할 수 있다. 즉, 멀티스레드를 이용하여 다중 파이프라인을 사용하게 되면 CPU 점유율은 소폭 상승하지만 여러 개의 매니저와 에이전트가 있는 환경에서 매니저가 동일한 또는 다수의 에이전트에게 연속적인 명령을 내리고 응답을 기다리는 상황에서 빠른 처리 속도를 가진다.
추가적으로 응답을 대기하는 시간도 감소하며 데드 락(Deadlock)도 방지할 수 있는 구조가 된다.
도 5는 본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치의 구성도이다.
도 5에 숫자로 표기한 것은 NETCONF 매니저의 요청 송신 과정을 의미하며, 과정은 실선 화살표로 구성된다. 알파벳으로 표기한 것은 응답 수신 과정을 의미하며, 과정은 점선 화살표로 구성된다. 공통된 과정에 있는 것은 양방향 화살표로 표기되어 있다.
도 5에서 중요한 모듈은 NETCONF 메시지 처리기(210)와 전송 프로토콜 선택 모듈(57), 전송 프로토콜 엔진(59)이다.
NETCONF 메시지 처리기(210)의 NETCONF 질의 데이터 생성 모듈(53)은 모니터(50)에 연결되는 GUI 모듈(51)이나 데이터 저장부(Data Store)(220)를 통해서 입력되는 정보를 이용하여 질의 메시지를 생성하고 XDR 필터(55)로 보내는 역할을 한다.
그리고 NETCONF 메시지 처리기(210)의 NETCONF 응답 데이터 처리 모듈(52)은 응답 메시지를 받아서 XML 파서(오픈 소스)(54)를 이용하여 필요한 데이터를 추출하고 응답 결과를 데이터 저장부(220)에 저장하거나 GUI 모듈(51)로 전달하는 역할을 한다.
그리고 전송 프로토콜 선택 모듈(57)은 질의 또는 응답 메시지의 헤더를 확인하여 NETCONF 표준 문서에서 제시하는 전송 프로토콜인 SSH, BEEP, SOAP인지를 확인하고 분류하는 역할 및 전송 프로토콜을 결정하는 역할을 한다.
SSH의 경우 SSH 단일 스레드 생성 모듈(56)에서 단일 채널만 생성이 가능하고 SOAP과 BEEP은 BEEP,SOAP 멀티스레드 생성 모듈(58)에서 다중 채널의 생성이 가능하며, 수신의 경우에는 SOAP은 필요에 따라 SOAP 프로토콜을 따르는 XML을 처리할 SOAP 엔진(오픈 소스)을 사용할 수 있다.
그리고 전송 프로토콜 엔진(59)은 전송 계층에서 사용되는 프로토콜이 결정되면 동기, 비동기 채널을 선택적으로 생성하는 역할, SSH 프로토콜이 사용되면 단일 동기 채널을 생성하고 BEEP 또는 SOAP이 사용되면 다중 비동기 채널을 생성하는 역할을 수행한다.
도 5에서 매니저(200)의 요청 송신 과정을 설명하면 다음과 같다.
①또는①’처럼 GUI 모듈(51)이나 데이터 저장부(220)로부터 필요한 데이터를 입력받고 이 데이터 중 필요한 부분을 이용하여 NETCONF 질의 데이터 생성 모듈(53)에서 질의 메시지를 생성한다(②).
생성된 NETCONF 요청 메시지는 ③의 과정으로 XDR 필터(55)로 전달되어 인코딩된 후 ④의 과정을 통해 전송프로토콜 선택 모듈(57)로 전달된다. 질의 메시지를 전송할 프로토콜이 SSH인 경우에는 ⑤’의 과정으로 진행하여 SSH 단일 스레드 생성 모듈(56)로 진행되고 전송 프로토콜 엔진(59)에서 ⑦’의 단일 동기 채널 생성 과정을 거쳐 에이전트(100)로 메시지를 전달한다.
사용되는 프로토콜이 BEEP 또는 SOAP인 경우에는 ⑤의 과정으로 가서 BEEP,SOAP 멀티스레드 생성 모듈(58)을 기동하고 만들어진 스레드를 통해 요청 메시지 큐에 메시지를 Enqueue 한다(⑥). 이후 ⑦을 통해 전송 프로토콜 엔진(59)에서 다중 비동기 채널을 생성하고 에이전트(100)와 병렬 통신을 수행한다.
이와 같은 매니저의 요청 송신 과정을 구체적으로 설명하면 다음과 같다.
도 6은 본 발명에 따른 NETCONF 매니저의 요청 송신 과정을 나타낸 플로우 차트이다.
도 6에서와 같이, GUI 모듈(51)이나 데이터 저장부(220)로부터 필요한 데이터를 입력받고 이 데이터 중 필요한 부분을 이용하여 NETCONF 질의 데이터 생성 모듈(53)에서 질의 메시지를 생성한다.(S601)
생성된 NETCONF 요청 메시지는 XDR 필터(55)로 전달되어 인코딩된 후(S602) 전송프로토콜 선택 모듈(57)로 전달되어 프로토콜 분류를 한다.(S603)
프로토콜 분류는 SSH 프로토콜(S604), BEEP 프로토콜(S605), SOAP 프로토콜(S606)인지를 순차적으로 판단한다.
질의 메시지를 전송할 프로토콜이 SSH인 경우에는 SSH 단일 스레드 생성 모듈(56)로 진행되고 전송 프로토콜 엔진(59)에서 단일 동기 채널 생성 과정을 거쳐 에이전트(100)로 메시지를 전달한다.(S612)
그리고 사용되는 프로토콜이 BEEP 또는 SOAP인 경우에는 BEEP,SOAP 멀티스레드 생성 모듈(58)을 기동하고 만들어진 스레드를 통해 요청 메시지 큐에 메시지를 Enqueue 한다.(S608 ~ S609)
전송 프로토콜 엔진(59)에서 다중 비동기 채널을 생성하고 에이전트(100)와 병렬 통신을 수행하여 질의 메세지를 전송한다.(S610 ~ S613)
그리고 도 5에서 매니저의 응답 수신 과정을 설명하면 다음과 같다.
만약 BEEP이나 SOAP 프로토콜을 사용할 경우, 이미 구성되어 있는 다중 채널로부터 데이터가 수신 메시지 큐에 Enqueue 된다(ⓐ).
큐에 있는 데이터를 Dequeue 하면서 전송 프로토콜 선택 모듈(57)로 전달하는 ⓑ 과정을 거친다. 이때 전송 프로토콜 선택 모듈(57)은 BEEP인지 SOAP인지만을 구분하는데 만 사용된다.
ⓒ 과정을 통해 XDR 필터(55)로 전달된 응답 메시지는 BEEP이 사용된 경우 디코딩 작업을 수행한 후 ⓓ과정을 통해서 NETCONF 메시지 처리기(210)로 응답 메시지를 전달하고, SOAP인 경우에는 디코딩 이후 데이터의 특성에 따라 오픈 소스로 되어 있는 SOAP 엔진을 이용한 데이터 처리를 수행한다. 이 경우에는 ⓓ’의 과정을 거치지만 결국 NETCONF 메시지 처리기(210)로 진입하는 것은 동일하다.
SSH의 경우에는 단일 동기 채널로 통신을 수행하고 있으므로 ⓐ’를 통해 단일 채널로 수신하며 ⓒ’를 통해 직접 XDR 필터(55)로 데이터가 전달되고 디코딩 과정을 거친다.
이후의 동작은 프로토콜의 종류에 상관없이 XML 파서(54)를 통해 필요한 데이터를 추출한 후 ⓔ과정으로 진행하여 설정 저장 파일로 데이터를 기록하거나 ⓕ 과정을 통해서 NETCONF 응답 데이터 처리 모듈(52)을 통해 ⓖ로 이행한 후 GUI 모듈(51)로 출력하거나 ⓖ’를 통해 CLI로 출력을 할 수 있다.
이와 같은 매니저의 응답 수신 과정을 구체적으로 설명하면 다음과 같다.
도 7은 본 발명에 따른 NETCONF 매니저의 응답 수신 과정을 나타낸 플로우차트이다.
도 7에서와 같이, 전송 프로토콜 엔진을 통한 응답 메세지를 수신하면(S701), 단일 채널로부터 수신인가(S702) 아니면 다중 채널로부터 수신인가(S703)를 판단하고, 수신 메시지큐가 비었는지를 판단하여(S704) 아니면 메시지를 폐기한다.
만약 BEEP이나 SOAP 프로토콜을 사용할 경우, 이미 구성되어 있는 다중 채널로부터 데이터가 수신 메시지 큐에 Enqueue 된다.(S705)
큐에 있는 데이터를 Dequeue 하면서(S706) 전송 프로토콜 선택 모듈(57)로 전달하여 프로토콜 분류를 한다.(S707)
프로토콜 분류는 전송 프로토콜 선택 모듈(57)에서 SOAP 프로토콜인지(S708) BEEP인지를 판단한다.(S710)
프로토콜 분류가 되어 XDR 필터(55)로 전달된 응답 메시지는 BEEP이 사용된 경우 디코딩 작업을 수행한 후(S711) XML 파싱과정을 거쳐(S712) NETCONF 메시지 처리기(210)로 응답 메시지를 전달한다.(S713)
그리고 SOAP인 경우에는 디코딩 이후 데이터의 특성에 따라 오픈 소스로 되어 있는 SOAP 엔진을 이용한 데이터 처리를 수행한다.(S709)
SSH의 경우에는 단일 동기 채널로 통신을 수행하고 있으므로 단일 채널로 수신하며 직접 XDR 필터(55)로 데이터가 전달되고 디코딩 과정을 거친다.
이후의 동작은 프로토콜의 종류에 상관없이 XML 파서(54)를 통해 필요한 데이터를 추출한 후 설정 저장 파일로 데이터를 기록하거나 NETCONF 응답 데이터 처리 모듈(52)을 통해 GUI 모듈(51)로 출력하거나 CLI로 출력을 할 수 있다.(S714)
이와 같은 본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법의 구현은 다음과 일 예로 이루어질 수 있고, 이로 제한되지 않는다.
본 발명을 현재 많이 사용되는 C/C++ 언어와 Java 언어 기반으로 구성된 연구용 Yenca 소프트웨어를 통하여 실시 예를 작성할 수 있다.
에이전트의 기능 수행을 위해 C/C++ 언어로 작성된 모듈과 매니저의 기능을 수행하기 위해 Java로 구현된 모듈이 포함된다. 특히 매니저 모듈의 경우 사용자 편리성을 고려하여 Java API를 활용하여 UI 기능이 포함되어 있다.
실시 예를 생성하기 위한 환경은 <표 1>에 나타내었다.
Figure 112015088692182-pat00001
실시 예 생성에 앞서 NETCONF 프로토콜의 개념적 계층 구조는 도 8과 같으며, 동작 수순은 클라이언트-서버 시스템에서 NETCONF 메시지를 서버나 클라이언트로 전송하게 되면 전송 프로토콜 계층에서 현재 지원되는 SSH, BEEP 그리고 SOAP over HTTP 중에 대해서 하나의 전송 프로토콜의 세션을 형성하여 메시지를 전송하게 된다.
본 발명에서는 발명의 적용을 위해 NETCONF Yenca(P) 소프트웨어를 사용하였으며, 전송 프로토콜은 SSH, SOAP over HTTP로 제약하였다.
또한, 해당 각 모듈 인터페이스로 루프백(Loopback) 인터페이스(loopback 0)와 로컬 인터페이스(ethernet 0)로 2개의 모듈 인터페이스 대상으로 발명 기법에 대한 테스트를 수행하였다.
도 9는 접속 테스트 결과로써, 서버의 역할을 담당하는 네트워크 장비 내의 소프트웨어 에이전트에 매니저가 접속하였을 때의 상황을 콘솔창의 CLI 인터페이스로 보여주고 있는 것이다.
결과로서 매니저의 응답에 대한 요청 메세지를 XML 형식의 메시지 구조로 출력하고 있다.
접속에 대한 응답과 해당 모듈 인터페이스에 대한 정보의 예시는 도 10에서와 같다.
실시예의 결과는 도 11의 그래프로 나타내었다. 단일 파이프라인을 이용한 접속 시간과 멀티스레드를 적용한 기법의 다중 파이프라인을 이용한 접속 시간 비교 결과를 보여준다.
본 발명 기법에 대해 총 10회의 반복 실험을 수행하여 단일 파이프라인 사용 시 해당 인터페이스와의 접속시간 평균값과 다중 파이프라인 사용 시 해당 인터페이스와의 접속시간 평균값을 비교하였다.
도 11에서와 같이 단일 파이프라인 통신 방식보다 다중 파이프라인의 통신 방식이 해당 인터페이스와의 접속 시간이 짧은데, 이것은 명령어를 포함한 패킷을 다중 파이프라인이 보다 빨리 처리하고 있음을 알 수 있다.
즉, 이전의 NETCONF가 하나의 패킷 내 명령어에 대한 수행 결과를 기다린 후 다음 명령어를 처리하는 과정을 반복하는 것과는 달리 본 발명에 의해 개선한 NETCONF는 패킷 내부의 명령어가 처리된 결과를 기다리지 않고 다음 명령을 동일한 인터페이스로 보낼 수 있다.
도 11의 결과에서 인터페이스 루프백 0과 이더넷 0, 2개의 인터페이스 모듈만을 적용하였음에도 불구하고 기존의 단일 파이프라인 사용방식보다 멀티스레드 기술을 적용한 개선한 NETCONF에서의 평균 접속 속도가 0.0004초 빠른 것을 확인할 수 있다.
다수의 라우터와 스위치, 그리고 여러 개의 매니저가 있는 경우를 가정하면 NETCONF의 RPC 계층을 개선한 본 발명에 따른 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치 및 방법에 의한 경우 더 짧은 접속 시간으로 더 많은 패킷을 처리할 수 있음을 알 수 있다.
이상에서의 설명에서와 같이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명이 구현되어 있음을 이해할 수 있을 것이다.
그러므로 명시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 범위는 전술한 설명이 아니라 특허청구 범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
50. 모니터 51. GUI 모듈
52. NETCONF 응답 데이터 처리 모듈 53. NETCONF 질의 데이터 생성 모듈
54. XML 파서 55. XDR 필터
56. SSH 단일 스레드 생성 모듈 57. 전송 프로토콜 선택 모듈
58. BEEP,SOAP 멀티 스레드 생성 모듈 59. 전송 프로토콜 엔진

Claims (13)

  1. NETCONF 매니저와 NETCONF 에이전트 간의 RPC 동기화 통신 구조를 다중 파이프라인을 구성하고 병렬 명령 처리를 수행하기 위하여,
    입력되는 정보를 이용하여 질의 메시지를 생성하는 NETCONF 질의 데이터 생성 모듈;
    응답 메시지를 받아 필요한 데이터를 추출하는 NETCONF 응답 데이터 처리 모듈;
    질의 또는 응답 메시지의 헤더를 확인하여 NETCONF 표준 문서에서 제시하는 전송 프로토콜인 SSH, BEEP, SOAP인지를 확인하여 전송 프로토콜을 분류하고 전송 프로토콜을 결정하는 전송 프로토콜 선택 모듈;
    전송 계층에서 사용되는 프로토콜이 결정되면 단일 동기 채널, 다중 비동기 채널을 선택적으로 생성하는 전송 프로토콜 엔진;을 포함하고 NETCONF 매니저가 구성되는 것을 특징으로 하는 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치.
  2. 제 1 항에 있어서, NETCONF 질의 데이터 생성 모듈은 NETCONF 매니저의 NETCONF 메시지 처리기에 구성되고,
    GUI 모듈이나 데이터 저장부를 통해서 입력되는 정보를 이용하여 질의 메시지를 생성하고 XDR 필터로 보내는 것을 특징으로 하는 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치.
  3. 제 1 항에 있어서, NETCONF 응답 데이터 처리 모듈은 NETCONF 매니저의 NETCONF 메시지 처리기에 구성되고,
    응답 메시지를 받아서 XML 파서를 이용하여 필요한 데이터를 추출하고 응답 결과를 데이터 저장부에 저장하거나 GUI 모듈로 전달하는 것을 특징으로 하는 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치.
  4. 삭제
  5. 제 1 항에 있어서, NETCONF 매니저는,
    SSH 프로토콜인 경우에 단일 채널을 생성하기 위한 SSH 단일 스레드 생성 모듈과,
    SOAP과 BEEP 프로토콜인 경우에 다중 채널의 생성을 하는 BEEP,SOAP 멀티스레드 생성 모듈과,
    SOAP 프로토콜의 수신인 경우에 SOAP 프로토콜을 따르는 XML을 처리할 SOAP 엔진을 더 포함하는 것을 특징으로 하는 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치.
  6. 제 1 항에 있어서, 전송 프로토콜 엔진은,
    전송 계층에서 사용되는 프로토콜이 SSH 프로토콜이 사용되면 단일 동기 채널을 생성하고, BEEP 또는 SOAP이 사용되면 다중 비동기 채널을 생성하는 것을 특징으로 하는 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치.
  7. 제 1 항 또는 제 6 항에 있어서, 전송 프로토콜 엔진은,
    비동기적 통신 채널을 생성하고 생성되는 각 채널을 스레드 내에 생성하도록 하여 멀티스레드 통신이 구성 되도록 하는 것을 특징으로 하는 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치.
  8. 제 1 항에 있어서, NETCONF 매니저는,
    NETCONF 에이전트에 비동기적 통신을 허용할 수 있는 C 언어 기반으로 구성된 알고리즘 및 NETCONF 매니저에서 비동기적 통신을 시작시킬 수 있는 Java 언어 기반으로 구성된 알고리즘에 의해 구동되는 것을 특징으로 하는 NETCONF 프로토콜의 RPC 계층 개선을 위한 장치.
  9. NETCONF 매니저와 NETCONF 에이전트 간의 RPC 동기화 통신 구조를 다중 파이프라인을 구성하고 병렬 명령 처리를 수행하기 위하여,
    입력되는 정보를 이용하여 질의 메시지를 생성하는 단계;
    응답 메시지를 받아 필요한 데이터를 추출하는 단계;
    질의 또는 응답 메시지의 헤더를 확인하여 NETCONF 표준 문서에서 제시하는 전송 프로토콜인 SSH, BEEP, SOAP인지를 확인하여 전송 프로토콜을 분류하고 전송 프로토콜을 결정하는 단계;
    전송 계층에서 사용되는 프로토콜이 결정되면 단일 동기 채널, 다중 비동기 채널을 선택적으로 생성하는 단계;를 포함하는 것을 특징으로 하는 NETCONF 프로토콜의 RPC 계층 개선을 위한 방법.
  10. 삭제
  11. 제 9 항에 있어서, 전송 계층에서 사용되는 프로토콜이 SSH 프로토콜이 사용되면 단일 동기 채널을 생성하고,
    BEEP 또는 SOAP이 사용되면 다중 비동기 채널을 생성하는 것을 특징으로 하는 NETCONF 프로토콜의 RPC 계층 개선을 위한 방법.
  12. NETCONF 매니저의 요청 송신 과정에서,
    GUI 모듈이나 데이터 저장부로부터 필요한 데이터를 입력받고 NETCONF 질의 데이터 생성 모듈에서 질의 메시지를 생성하는 단계;
    생성된 질의 메시지를 XDR 필터로 전달하여 인코딩하고 전송프로토콜 선택 모듈에서 프로토콜 분류를 하는 단계;
    SSH 프로토콜, BEEP 프로토콜, SOAP 프로토콜인지를 순차적으로 판단하는 단계;
    질의 메시지를 전송할 프로토콜이 SSH인 경우에는 SSH 단일 스레드 생성 모듈을 거쳐 전송 프로토콜 엔진에서 단일 동기 채널 생성 과정을 거쳐 NETCONF 에이전트로 메시지를 전달하는 단계;
    BEEP 또는 SOAP인 경우에는 BEEP,SOAP 멀티스레드 생성 모듈을 통하여 만들어진 스레드를 통해 요청 메시지 큐에 메시지를 인큐(Enqueue)하는 단계; 및 전송 프로토콜 엔진에서 다중 비동기 채널을 생성하고 NETCONF 에이전트와 병렬 통신을 수행하여 질의 메세지를 전송하는 단계;를 포함하는 것을 특징으로 하는 NETCONF 프로토콜의 RPC 계층 개선을 위한 방법.
  13. NETCONF 매니저의 요청 수신 과정에서,
    전송 프로토콜 엔진을 통한 응답 메세지를 수신하여 단일 채널 또는 다중 채널로부터 수신인가를 판단하는 단계;
    BEEP이나 SOAP 프로토콜인 경우 구성되어 있는 다중 채널로부터 데이터가 수신 메시지 큐에 인큐(Enqueue)되도록 하는 단계;
    큐에 있는 데이터를 디큐(Dequeue)하고 프로토콜 분류를 하는 단계;
    BEEP이 사용된 경우 디코딩 작업을 수행한 후 XML 파싱과정을 거쳐 NETCONF 메시지 처리기로 응답 메시지를 전달하는 단계;
    SOAP인 경우에는 디코딩 이후 SOAP 엔진을 이용하여 데이터 처리를 수행하는 단계;
    SSH의 경우에는 단일 채널로 수신하여 직접 XDR 필터로 데이터를 전달하여 디코딩하는 단계;
    XML 파서를 통해 필요한 데이터를 추출한 후 설정 저장 파일로 데이터를 기록하거나 GUI 모듈로 출력하거나 CLI로 출력하는 단계;를 포함하는 것을 특징으로 하는 NETCONF 프로토콜의 RPC 계층 개선을 위한 방법.
KR1020150129157A 2015-09-11 2015-09-11 Netconf 프로토콜의 rpc 계층 개선을 위한 장치 및 방법 KR101655966B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150129157A KR101655966B1 (ko) 2015-09-11 2015-09-11 Netconf 프로토콜의 rpc 계층 개선을 위한 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150129157A KR101655966B1 (ko) 2015-09-11 2015-09-11 Netconf 프로토콜의 rpc 계층 개선을 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101655966B1 true KR101655966B1 (ko) 2016-09-08

Family

ID=56950613

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150129157A KR101655966B1 (ko) 2015-09-11 2015-09-11 Netconf 프로토콜의 rpc 계층 개선을 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101655966B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107819648A (zh) * 2017-11-14 2018-03-20 新华三技术有限公司 网络配置netconf连接检测方法和装置
CN114978743A (zh) * 2022-06-08 2022-08-30 杭州指令集智能科技有限公司 一种跨网络段的服务通信系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060087947A (ko) 2005-01-31 2006-08-03 인하대학교 산학협력단 통합패스의 노드범위를 이용한 엑스엠엘 인덱스 시스템 및방법
KR20070057603A (ko) 2005-12-01 2007-06-07 한국전자통신연구원 엑스패스를 이용한 접근 제어 기능을 가지는 엑스엠엘데이터 스트림 처리 시스템 및 그 방법
US20100057849A1 (en) * 2007-07-06 2010-03-04 Huawei Technologies Co., Ltd. Method and system for sending a netconf-based notification
KR20130066279A (ko) * 2011-12-12 2013-06-20 에릭슨 엘지 주식회사 네트워크 관리 시스템에서 netconf if 연동시 구성 관리 기능 자동화 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060087947A (ko) 2005-01-31 2006-08-03 인하대학교 산학협력단 통합패스의 노드범위를 이용한 엑스엠엘 인덱스 시스템 및방법
KR20070057603A (ko) 2005-12-01 2007-06-07 한국전자통신연구원 엑스패스를 이용한 접근 제어 기능을 가지는 엑스엠엘데이터 스트림 처리 시스템 및 그 방법
US20100057849A1 (en) * 2007-07-06 2010-03-04 Huawei Technologies Co., Ltd. Method and system for sending a netconf-based notification
KR20130066279A (ko) * 2011-12-12 2013-06-20 에릭슨 엘지 주식회사 네트워크 관리 시스템에서 netconf if 연동시 구성 관리 기능 자동화 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
개선된 NETCONF 프로토콜을 적용한 네트워크회선 자동 복구, 정보과학회논문지: 컴퓨팅의 실제 18(9), 2012.9, 628-638* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107819648A (zh) * 2017-11-14 2018-03-20 新华三技术有限公司 网络配置netconf连接检测方法和装置
CN114978743A (zh) * 2022-06-08 2022-08-30 杭州指令集智能科技有限公司 一种跨网络段的服务通信系统
CN114978743B (zh) * 2022-06-08 2023-07-18 杭州指令集智能科技有限公司 一种跨网络段的服务通信系统

Similar Documents

Publication Publication Date Title
CN108124003B (zh) 网络管理设备连接处理方法、装置及系统
JP7112919B2 (ja) スマート装置のタスク処理方法および装置
US9454961B2 (en) Speech recognition using loosely coupled components
EP3214542A1 (en) Voice control of interactive whiteboard appliances
JP2017184259A (ja) 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法
US10218775B2 (en) Methods for servicing web service requests using parallel agile web services and devices thereof
US20060167897A1 (en) Administration of a broker-based publish/subscribe messaging system
CA2464844A1 (en) Media foundation media processor
EP2954401B1 (en) Transmitting hardware-rendered graphical data
CN111061804A (zh) 基于大数据的异步数据处理方法、装置、设备和存储介质
US8352617B2 (en) Method and system for data processing
CN103838375B (zh) 终端输入方法及终端
KR101655966B1 (ko) Netconf 프로토콜의 rpc 계층 개선을 위한 장치 및 방법
US10341176B2 (en) System and method for network provisioning
CN107454177A (zh) 网络通信的动态实现方法
CN106992940A (zh) 报文处理方法、装置、系统及终端
CN114363269A (zh) 一种消息传输方法、系统、设备以及介质
CN108989157B (zh) 用于智能设备控制的方法、装置
WO2017167234A1 (zh) 分享移动终端内容的方法和装置
US9860326B2 (en) Duplex services residing in a messaging bus
CN109639795B (zh) 一种基于AcitveMQ消息队列的服务管理方法与装置
CN112511636A (zh) 数据传输系统、方法、装置、计算机设备及存储介质
WO2012116511A1 (zh) 基于Web的协同建模处理方法及系统
JP4049327B2 (ja) 複数のインスタント・メッセージング・ログイン・セッションのための方法、システムおよびコンピュータ・プログラム
Tambunan et al. Hidden autonomous multi-senders for kleptoware

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190926

Year of fee payment: 4

R401 Registration of restoration