KR100650741B1 - 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의동적 바인딩 처리장치 및 방법 - Google Patents

네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의동적 바인딩 처리장치 및 방법 Download PDF

Info

Publication number
KR100650741B1
KR100650741B1 KR1020050117032A KR20050117032A KR100650741B1 KR 100650741 B1 KR100650741 B1 KR 100650741B1 KR 1020050117032 A KR1020050117032 A KR 1020050117032A KR 20050117032 A KR20050117032 A KR 20050117032A KR 100650741 B1 KR100650741 B1 KR 100650741B1
Authority
KR
South Korea
Prior art keywords
service
component
network processor
binary code
network
Prior art date
Application number
KR1020050117032A
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 KR1020050117032A priority Critical patent/KR100650741B1/ko
Priority to US11/503,599 priority patent/US20070130309A1/en
Application granted granted Critical
Publication of KR100650741B1 publication Critical patent/KR100650741B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 차세대 네트워크 시스템으로 각광받고 있는 프로그래머블 라우터 및 능동형 네트워크 장치에 관한 것으로서, 네트워크 시스템 내부를 포워딩 플레인과 제어 플레인으로 구분하고 제어 플레인에는 서비스 조합 제어장치를 포워딩 플레인에는 서비스 연결 에이전트를 배치하고, 서비스단위로 응용프로그램과 네트워크 프로세서의 이진코드를 컴포넌트로 정의한다. 또한 시스템에 새로운 서비스 추가 요구가 생기면 서비스 조합 제어장치에서는 분산된 포워딩 플레인의 서비스 연결 에이전트에 서비스 추가 메시지를 전달하고 에이전트에서는 미리 정의된 기능별 컴포넌트와 네트워크 프로세서의 이진코드와의 바인딩 처리를 하게 된다. 따라서 시장에 특정 네트워크 서비스를 갖춘 장비에 대한 요구가 발생하면 본 발명을 통해 공통 플랫폼 상에 신규 서비스 기능만 추가하여 상용화가 가능하게 함으로써 개발 주기를 단축할 수 있는 효과가 있다.
라우터, 플레인, 이진코드, 컴포넌트, 바인딩, 포워딩

Description

네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리장치 및 방법{Apparatus and method for dynamically binding binary code and virtual forwarding component of network processor}
도 1은 본 발명이 적용되는 네트워크 프로세서를 이용한 네트워크 시스템에 관한 개략적인 블록도이다.
도 2는 도 1에 도시된 네트워크 시스템의 각 장치의 상세 기능 블럭도이다.
도 3은 본 발명의 바람직한 실시예에 따른 가상 네트워크 프로세서 플랫폼 구조에 관한 도면이다.
도 4는 서비스 조합 제어장치와 서비스 연결 에이전트간의 메시지 포맷에 대한 도면이다.
도 5는 본 발명의 바람직한 실시예에 따라 새로운 서비스 추가시의 이진코드 동적 바인딩 처리 방법에 관한 흐름도이다.
도 6은 본 발명의 바람직한 실시예에 따라 서비스 삭제시의 이진코드 동적 바인딩 처리 방법에 관한 흐름도이다.
*도면의 주요부분에 대한 부호의 간단한 설명*
210 : 서비스 조합 제어장치
220: 포워딩 제어 서버
230 : 응용프로그램 컴포넌트 데이터베이스
241~24N : N 개의 네트워크 프로세서 컴포넌트 데이터베이스
251~25N : N 개의 포워딩 제어 클라이언트
261~26N : N 개의 서비스 연결 에이전트
271~27N : N 개의 동적 바인더
281~28N : N 개의 네트워크 프로세서 엔진
본 발명은 네트워크 시스템에 관한 것으로서, 특정 네트워크 서비스를 갖춘 장비에 대한 새로운 서비스 요구가 발생하면 공통 플랫폼 상에 신규 서비스 모듈을 추가하거나 필요없는 서비스를 삭제하고자 하는 경우 해당 서비스 모듈을 삭제할 수 있는 프로그래머블 라우터 및 능동형 네트워크 시스템에 관련된 기술이다.
네트워크 장비 시스템은 특정 네트워크 서비스를 대상으로 모듈화 하여 새로운 네트워크 서비스를 장비에 도입하고자 하는 경우 신규 서비스에 맞게 시스템에 모듈 추가, 삭제를 통해 커스터마이징(Customizing)하는 방향으로 발전하고 있다. 현재 대부분의 네트워크 장비 시스템은 특정 네트워크 서비스를 대상으로 하여 커스터마이징된 구조를 갖도록 설계되어 있어, 새로운 네트워크 서비스를 장비에 도 입하고자 하는 경우에 신규 서비스에 맞게 시스템을 다시 커스터마이징해야 한다.
특히, 네트워크 프로세서의 이진코드와 미리 정의한 응용 프로그램 컴포넌트간의 동적 바인딩 처리 기술은 네트워크 시스템의 기능별로 모듈화하기 위한 필수 기술이다. 그리고 응용 프로그램을 컴포넌트화하여 계층적으로 조립하는 소프트 스위치와 같은 기술이 연구되고 있는데 이러한 기술을 네트워크 프로세서를 이용한 네트워크 시스템에 적용시키기는 적합하지 않다.
따라서 새로운 서비스가 추가될 때마다 네트워크 프로세서(network processor)의 제어 플레인(control plane)과 포워딩 플레인(forwarding plane)의 컴포넌트(component)를 새로 추가하는데 소요되는 개발 기간이 길고, 개발에 투입되는 인력 소모가 크다는 문제점이 대두되고 있다.
본 발명은 이와 같은 종래 기술의 문제점을 해결하기 위한 것으로서, 네트워크 프로세서의 이진코드와 응용 프로그램 컴포넌트간의 동적 바인딩 기술을 이용하여 네트워크 프로세서를 이용한 네트워크 시스템에 적용하기 위한 동적 바인딩 처리장치 및 방법을 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명에 따른 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리장치는, 다수의 분산된 네트워크 프로세서를 이용한 네트워크 시스템에 새로운 서비스의 추가 또는 기존 서비스의 삭제 요구가 있는 경우 해당 소스를 응용 프로그램과 네트워크 프로세서의 이진코드로 분리해서 컴포넌트로 구성하여 새로운 컴포넌트가 있음을 알리는 메시지를 전달하고, 상기 메시지에 대한 응답을 수신하면 응용 프로그램 컴포넌트를 로딩하는 서비스 조합 제어부; 상기 다수의 분산된 네트워크 프로세서에 대한 마스터 역할을 수행하는 포워딩 제어부; 및 상기 각 네트워크 프로세서에서 동작하는 전체 응용 프로그램 컴포넌트를 저장하는 응용 프로그램 컴포턴트 데이터베이스를 포함하여 구성된다.
이때, 상기 본 발명의 동적 바인딩 처리장치는 상기 서비스 조합 제어부로/부터의 메시지를 전달하기 위한 통신 채널 인터페이스를 제공하는 스위치 패브릭 백플레인을 더 포함할 수도 있다. 여기서, 상기 서비스 조합 제어부는 독립 서버로 구성될 수도 있다.
상기 메시지는 목적지 주소, 송신지 주소, 프로토콜 타입, 네트워크 프로세서 번호, 컴포넌트 데이트 크기드, 서비스 유형 및 컴포넌트 데이터 정보를 포함할 수 있다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리장치는, 분산된 네트워크 프로세서를 이용한 네트워크 시스템의 네트워크 프로세서의 이진코드 컴포넌트를 저장하는 N개의 네트워크 프로세서 컴포넌트 데이터베이스; 새로운 컴포넌트 구성에 대한 메시지를 수신하고 상기 메시지를 분석하여 새로운 서비스의 추가 또는 기존 서비 스의 삭제 요구시 컴포넌트를 로딩받는 N개의 서비스 연결 에이전트; 상기 새로운 서비스의 추가 요구시 상기 로딩받은 컴포넌트가 상기 네트워크 프로세서 데이터베이스에 존재하는지 검사하여, 존재하면 상기 네트워크 프로세서에 해당하는 이진코드 컴포넌트를 활성화하기 위한 메시지를 송신하고, 존재하지 않으면 상기 이진코드 컴포넌트를 상기 네트워크 프로세서 데이터베이스에 저장한 후 상기 네트워크 프로세서에 이진코드 컴포넌트를 로딩하는 N개의 동적 바인더; 및 상기 각 네트워크 프로세서의 전반적인 제어를 담당하는 N개의 네트워크 프로세서 포워딩 제어부를 포함하여 구성된다.
이때, 상기한 본 발명의 동적 바인딩 처리장치는 각 서비스 연결 에이전트로/부터의 메시지를 전달하기 위한 통신 채널 인터페이스를 제공하는 스위치 패브릭 백플레인을 더 포함할 수도 있다. 여기서, 상기 N개의 동적 바인더는 상기 기존 서비스의 삭제 요구시 상기 로딩받은 이진코드 컴포넌트가 상기 네트워크 프로세서 데이터베이스에 존재하는지 검사하여, 존재하면 상기 네트워크 프로세서에 해당하는 이진코드 컴포넌트를 비활성화하기 위한 메시지를 송신할 수 있다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리방법은,
가상 포워딩 플랫폼에서 새로운 서비스 추가 또는 삭제 요청이 발생되면, 서비스 조합 제어 장치에서 서비스에 대한 제어 플레인에 배치될 응용 프로그램 컴포넌트와 네트워크 프로세서 이진코드 컴포넌트를 생성하는 단계; 컴포넌트 생성 후, 각 서비스 연결 에이전트로 서비스 유형 정보를 포함하는 메시지를 생성하여 송신하는 단계; 각 서비스 연결 에이전트는 수신된 메시지를 분석하여 컴포넌트 아이디를 이용하여 네트워크 프로세서 데이터베이스를 검색하는 단계; 및 해당 컴포넌트 아이디를 찾은 이후, 네트워크 프로세서로 해당 컴포넌트의 이진코드 활성화 명령을 전달하는 단계를 포함하여 구성된다.
이때, 해당 컴포넌트 아이디를 찾지 못한 경우, 서비스에 해당하는 소스 데이터가 없는 상태이므로 새로 추가시키기 위해 해당 컴포넌트 아이디를 키값으로 네트워크 프로세서 컴포넌트 데이터베이스에 엔트리를 새로 추가하는 단계; 상기 추가된 엔트리에 해당하는 서비스를 이진코드로 재로딩하는 단계; 및 상기 재로딩이 완료되면 네트워크 프로세서를 초기화하기 위해 재부팅을 수행하는 단계를 더 포함할 수 있다.
또한, 본 발명의 동적 바인딩 처리방법은, 네트워크 프로세서의 이진코드 컴포넌트 활성화가 끝난 이후, 각 서비스 연결 에이전트는 서비스 조합 제어 장치로 동적 바인딩에 대한 결과를 보고하는 단계를 더 포함할 수도 있다.
또한, 본 발명의 동적 바인딩 처리방법은, 네트워크 시스템에 기존 서비스 삭제 요구가 발생되면, 서비스 조합 제어 장치에서 서비스에 대한 컴포넌트 데이터베이스에서 해당 서비스를 검색하는 단계; 삭제될 응용 프로그램 컴포넌트 정보를 제어 플레인으로 전달하는 단계; 이진코드 컴포넌트 삭제를 알리는 메시지를 생성하여 포워딩 플레인의 서비스 에이전트로 송신하는 단계; 각 서비스 연결 에이전트는 수신된 메시지를 분석하여 컴포넌트 아이디를 이용하여 네트워크 프로세서 데이 터베이스를 검색하는 단계; 및 해당 컴포넌트 아이디를 찾은 이후, 네트워크 프로세서로 해당 컴포넌트의 이진코드 비활성화 명령을 전달하는 단계를 포함할 수 있다.
나아가, 본 발명의 동적 바인딩 처리방법은, 네트워크 프로세서의 이진코드 컴포넌트 비활성화가 끝난 이후, 각 서비스 연결 에이전트는 서비스 조합 제어 장치로 동적 바인딩 해제에 대한 결과를 보고하는 단계를 더 포함할 수도 있다.
이하 본 발명의 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명한다. 이때, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다. 또한, 실시예의 설명에 있어서, 이해의 편의를 돕기 위하여 동일한 구성요소에 대해서는 다른 도면에 도시되어 있더라도 동일한 부호를 부여하였다.
본 발명은 네트워크 시스템 내부를 포워딩 플레인과 제어 플레인으로 구분하고 제어 플레인에는 서비스 조합 제어장치를 포워딩 플레인에는 서비스 연결 에이전트를 배치하고, 서비스 단위로 응용 프로그램과 네트워크 프로세서의 이진코드(binary cone)를 컴포넌트로 정의하여, 시스템에 새로운 서비스 추가 요구가 생기면 서비스 조합 제어장치에서는 분산된 포워딩 플레인의 서비스연결 에이전트에 서비스 추가 메시지를 전달하고 에이전트에서는 미리 정의된 기능별 컴포넌트와 네트워크 프로세서의 이진 코드와의 바인딩 처리를 하도록 한다. 이와 같이 구현하기 위한 본 발명의 실시예에 관한 설명을 하기로 한다.
도 1은 본 발명이 적용되는 네트워크 프로세서를 이용한 네트워크 시스템에 관한 개략적인 블록도이다. 도 1을 참조하면, 네트워크 시스템은 크게 네트워크 시스템의 제어 동작과 관련된 프로토콜을 처리하고 시스템을 관리하는 제어 플레인들(111,112)과 패킷을 해당 목적지로 포워딩하는 역할을 담당하는 포워딩 플레인들(121,122∼12N)로 구분되며, 제어 플레인과 포워딩 플레인은 스위치 패브릭(switch fabric) 백 플레인(100)을 통해 접속된다.
이하 도 2를 참조하여 상기와 같이 구성된 시스템의 각 플레인별로 상세히 설명하기로 한다.
도 2는 도 1에 도시된 네트워크 시스템의 각 부의 기능을 상세히 도시한 도면이다. 도 2에 도시된 바와 같이, 제어 플레인들(111,112)은 각각 네트워크 프로세서 제어 기능을 담당하며, 라우팅 프로토콜 및 시그널링 프로토콜 그리고 시스템 관리 모듈들(111a)을 포함한다.
상기 라우팅 프로토콜 블록은 OSPF(Open Shortest Path First) 또는 RIP(Routing Information Protocol), BGP(Boarder Gateway Protocol), LDP(Label Distribution Protocol) 등의 프로토콜 처리부로 구성된다.
상기 OSPF는 대규모 자율 네트워크에서, RIP에 우선하여 사용되는 라우팅 프로토콜이다. RIP와 마찬가지로, IETF에 의해 OSPF는 여러 개의 IGP 중 하나로 지정되었다. OSPF를 사용하면, 라우팅 테이블의 변경 사실이나, 네트워크 내의 어떤 변화를 감지한 호스트는, 즉시 그 정보를 네트워크 내의 다른 모든 호스트들에게 알림으로써, 모두 같은 라우팅 정보를 가질 수 있도록 한다. 라우팅 테이블 전체를 보내는 RIP와는 달리, OSPF를 사용하는 호스트는 오직 변경된 부분만을 보낸다. RIP에서는 매 30초마다 라우팅 테이블을 인접한 호스트에 보내지만, OSPF는 변경이 생겼을 때에만 변경된 정보를 멀티캐스트한다.
포워딩 플레인(121~12N)은 패킷 처리를 위한 이진코드를 포함한 네트워크 프로세서와 시스템 관리를 위한 에이전트로 구성된다. 제어 플레인과 포워딩 플레인의 관계는 통상 1:N 혹은 N:M의 관계이다. 여기서는 2:N (제어플레인:포워딩플레인)의 관계를 나타내며, 이들 사이에서 제어 메시지를 전달하거나 외부 시스템으로 데이터 패킷을 전달하기 위한 통신채널(130)이 존재한다.
LPM FWD 블록은 Longest Prefix Matching 방법을 수행하여 IP 주소를 찾는 역할을 한다. 결론부터 말하자면 경로 선택시 라우팅 테이블에 있는 엔트리와 패킷의 IP주소를 비교할 때 가장 많이 일치하는 엔트리를 선택해서 포워딩한다.
Meter는 TCA에 명시된 트래픽 프로파일을 준수하는지에 대한 여부를 판단하기 위해 패킷 분류기에 의해 선택된 패킷 스트림의 시간적 특성을 측정한다. Meter는 in-profile 또는 out-of-profile로 판정된 각 패킷에 대해 적절한 조치를 취하기 위해 다른 트래픽 조절 기능으로 상태 정보를 전달한다.
Shaper는 스트림이 트래픽 프로파일을 준수할 수 있도록 트래픽 스트림 내의 일부분 또는 모든 패킷들을 지연시킨다. Shaper는 일반적으로 유한한 크기의 버퍼를 가지게 되며, 지연된 패킷을 수용하기에 버퍼 공간이 부족하게 되면 패킷은 폐기 처분된다.
NAT(Network Address Translation; 네트워크 주소 변환)는 외부 네트워크에 알려진 것과 다른 IP 주소를 사용하는 내부 네트워크에서, IP 주소를 변환하는 것이다.
도 3은 본 발명의 바람직한 실시예에 따른 가상 네트워크 프로세서 플랫폼 구조에 관한 도면이다. 도 3을 참조하면, 가상 네트워크 프로세서 플랫폼은 서비스 조합 제어장치(210), 포워딩 제어 서버(220), 응용프로그램 컴포넌트 데이터베이스(230), N 개의 네트워크 프로세서(NP) 컴포넌트 데이터베이스(241~24N), N 개의 포워딩 제어 클라이언트(251~25N), N 개의 서비스 연결 에이전트(agent)(261~26N), N 개의 동적 바인더(271~27N), N 개의 네트워크 프로세서 엔진(281~28N)을 포함한다.
서비스 조합 제어장치(210)는 시스템에 새로운 서비스 추가 혹은 삭제 요구가 있는 경우, 해당 소스를 응용프로그램과 네트워크 프로세서의 이진코드로 분리하고 컴포넌트로 구성하여 서비스 연결 에이전트(261~26N)로 새로운 컴포넌트가 있음을 알리는 메시지를 전달하는 역할을 한다.
이후, 서비스 연결 에이전트(261~26N)에서 응답이 오면, 제어 플레인 측으로는 응용프로그램 컴포넌트 데이터베이스(230)로부터 해당 응용프로그램을 로딩(loading)하고, 포워딩 플레인 측으로는 네트워크 프로세서 컴포넌트 데이터베이스(241~24N)로부터 네트워크 프로세서 이진코드를 로딩하게 한다. 서비스 조합 제어장치(210)는 독립적인 서버로 존재할 수도 있고 제어 플레인의 일부로도 구성이 가능하다. 단, 제어 플레인에 서비스 조합 제어장치가 존재 할 경우, 서비스 조합 제어장치(210)는 서비스 연결 에이전트 기능을 포함하는 것이 바람직하다.
먼저 서비스 연결 에이전트(261~26N)는 서비스 조합 제어장치(210)의 메시지 를 수신하여 요구사항을 분석하고 서비스 추가 요구시, 컴포넌트를 로딩받는다. 서비스 조합 제어장치(210)와 서비스 연결 에이전트(261~26N)간의 메시지 송수신은 포워딩 제어 서버(220)와 클라이언트간의 통신채널을 통해 주고받는다.
동적 바인더(271~27N)는 서비스 연결 에이전트(261~26N)에서 로딩받은 컴포넌트가 네트워크 프로세서 데이터베이스(241~24N)에 존재하는지 검사한 후, 존재하면 네트워크 프로세서 엔진(281~28N)에 해당 컴포넌트를 활성화하기 위한 메시지를 네트워크 프로세서 엔진으로 송신한다. 존재하지 않으면 서비스 연결 에이전트에서 로딩받은 컴포넌트를 데이터베이스에 저장하고 네트워크 프로세서에도 컴포넌트를 로딩한다.
일반적으로 동적 바인더(Dynamic Binding)는 늦은 바인딩(late binding)이라고도 불리는데, 루틴이나 객체의 링킹이 실행시 그 순간의 상태에 따라 일어난다. 프로그래밍에서 변수들은 정수나 문자열 등 형태에 따라 그 변수에 저장되는 값의 저장방법이나 조작방법이 달라진다. 전통적인 컴파일러들이나 어셈블러들은 컴파일 시점에 변수의 형식을 할당하는 정적 바인딩을 제공하였으나, 객체지향 언어들은 실행시 키보드 또는 기타 다른 소스로부터 값이 변수에 들어오는 그 순간에 변수의 형식이 결정되는 동적 바인딩을 지원한다. 이른 바인딩(early binding) 또는 정적 바인딩(static binding)과 대비되는 말이다.
도 4는 서비스 조합 제어장치와 서비스 연결 에이전트간의 메시지 포맷에 대한 도면이다. 서비스 조합 제어장치와 서비스 연결 에이전트는 포워딩 제어 서버와 클라이언트간의 통신 채널을 제공하기 위해 이더넷을 이용할 수 있다.
서비스 조합 제어장치와 서비스 연결 에이전트간에 전달되는 메시지는 이더넷 헤더 필드 즉, 목적지 주소와 송신지 주소 필드와, 프로토콜 타입 필드, 포워딩 엔진 번호 필드를 포함한다. 그리고 서비스 유형 필드의 값에 따라 해당 서비스에 관한 컴포넌트 추가, 삭제, 혹은 변경인지를 판단할 수 있고, 컴포넌트 데이터 크기 필드는 해당 서비스별 가변 길이를 의미하며, 이에 대한 값은 서비스 길이 필드로 알 수 있다.
도 5는 본 발명의 바람직한 실시예에 따라 새로운 서비스 추가시의 이진코드 동적 바인딩 처리 방법에 관한 흐름도이다. 도 5에서는, 가상 포워딩 플랫폼에서 새로운 서비스 추가 요구가 발생되면, 응용프로그램과 네트워크 프로세서 이진코드를 동적 바인딩 처리하는 방법을 보여준다.
먼저, 시스템 관리자는 서비스 조합 제어 장치(210)를 통해 가상 포워딩 플랫폼에 새로운 서비스 추가 요구가 있음을 알린다. 서비스 조합 제어 장치(210)에서는 서비스에 대한 제어 플레인에 배치될 응용 프로그램 컴포넌트와 네트워크 프로세서 이진코드 컴포넌트를 생성하게 된다(S100). 컴포넌트 생성 후, 서비스 조합 제어 장치(210)에서 N개의 서비스 연결 에이전트(261~26N)로 서비스 유형 정보를 포함하는 메시지를 생성하여 송신한다(S102). 서비스 연결 에이전트(261~26N)에서는 메시지를 분석하여(S104) 새로운 서비스 추가인지 삭제인지를 판단한다(S106).
판단결과, 서비스 삭제인 경우는 B 루틴의 절차를 수행하고 서비스 추가인 경우는 각 서비스 연결 에이전트(261~26N)에서 수신된 메시지를 분석하여 컴포넌트 아이디를 가지고 네트워크 프로세서 데이터베이스(NP DB)를 검색한다(S108). 검색 하여 해당 컴포넌트 아이디를 찾게 되면(S110) 네트워크 프로세서로 해당 컴포넌트의 이진코드 활성화 명령을 전달한다(S112). 검색에 실패하면 서비스에 해당하는 소스 데이터가 없는 상태이므로 새로 추가시키기 위해 해당 컴포넌트 아이디를 키값으로 NP DB에 엔트리를 새로 추가하고 해당 이진코드를 재로딩한다(S114). 로딩이 완료되면 네트워크 프로세서를 초기화하기 위해 재부팅을 수행한다(S116). 네트워크 프로세서의 이진코드 컴포넌트 활성화가 끝나면, 서비스 연결 에이전트(210)에서는 서비스 조합 제어 장치로 동적 바인딩에 대한 결과를 보고한다(S118).
도 6은 본 발명의 바람직한 실시예에 따라 서비스 삭제시의 이진코드 동적 바인딩 처리 방법에 관한 흐름도이다. 도 6을 참조하면, 네트워크 시스템에 기존 서비스 삭제 요구가 발생됨으로써, 시스템 관리자는 서비스 조합 제어 장치를 통해 가상 포워딩 플랫폼에서 기존 서비스 삭제 요구가 있음을 알린다.
서비스 조합 제어 장치(210)에서는 서비스에 대한 컴포넌트 DB에서 해당 서비스를 검색한다(S200). 제어 플레인에는 삭제 될 응용 프로그램 컴포넌트를 포워딩 플레인에는 이진코드 컴포넌트 삭제를 알리는 메시지를 생성하여 서비스 에이전트로 메시지를 송신한다(S202). 각 서비스 연결 에이전트(261~26N)에서는 메시지를 분석하여(S204) 새로운 서비스 추가인지 삭제인지를 판단한다(S206).
판단결과, 서비스 추가인 경우는 A 루틴의 절차를 수행하고 서비스 삭제인 경우는 각 서비스 연결 에이전트에서는 수신된 메시지를 분석하여 컴포넌트 아이디를 가지고 네트워크 프로세서 데이터베이스(NP DB)를 검색한다(S208). 검색하여 해당 컴포넌트 아이디를 찾게 되면(S210) 네트워크 프로세서로 해당 컴포넌트의 이진 코드 비활성화 명령만 내리면 된다(S212). 네트워크 프로세서의 이진코드 컴포넌트 비활성화 절차가 완료되면, 각 서비스 연결 에이전트에서는 서비스 조합 제어 장치(210)로 동적 바인딩 해제에 대한 결과를 보고한다(S214).
이상 본 발명에 대하여 그 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
이상 설명한 바와 같이, 네트워크 시스템 내부를 포워딩 플레인과 제어 플레인으로 구분하고 제어 플레인에는 서비스 제어 장치를 포워딩 플레인에는 서비스연결 에이전트를 배치하고, 서비스단위로 응용 프로그램과 네트워크 프로세서의 이진코드를 컴포넌트로 정의하여, 시스템에 새로운 서비스 추가 요구가 생기면 서비스관리장치에서는 분산된 포워딩 플레인의 서비스연결 에이전트에 서비스추가 메시지를 전달하고 에이전트에서는 미리 정의된 기능별 컴포넌트와 네트워크 프로세서의 이진 코드와의 바인딩 처리를 하게 된다. 따라서, 시장에 특정 네트워크 서비스를 갖춘 장비에 대한 새로운 서비스 요구가 발생하면 본 발명을 통해 공통 플랫폼 상에 신규 서비스 기능만 추가하여 상용화가 가능하게 함으로써 개발 주기를 단축할 수 있는 효과를 기대할 수 있다.

Claims (12)

  1. 다수의 분산된 네트워크 프로세서를 이용한 네트워크 시스템에 새로운 서비스의 추가 또는 기존 서비스의 삭제 요구가 있는 경우 해당 소스를 응용 프로그램과 네트워크 프로세서의 이진코드로 분리해서 컴포넌트로 구성하여 새로운 컴포넌트가 있음을 알리는 메시지를 전달하고, 상기 메시지에 대한 응답을 수신하면 응용 프로그램 컴포넌트를 로딩하는 서비스 조합 제어부;
    상기 다수의 분산된 네트워크 프로세서에 대한 마스터 역할을 수행하는 포워딩 제어부; 및
    상기 각 네트워크 프로세서에서 동작하는 전체 응용 프로그램 컴포넌트를 저장하는 응용 프로그램 컴포턴트 데이터베이스; 를 포함하는 것을 특징으로 하는 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리장치.
  2. 제1항에 있어서,
    상기 서비스 조합 제어부로/부터의 메시지를 전달하기 위한 통신 채널 인터페이스를 제공하는 스위치 패브릭 백플레인을 더 포함함을 특징으로 하는 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리장치.
  3. 제1항에 있어서, 상기 서비스 조합 제어부는,
    독립 서버로 구성되는 것을 특징으로 하는 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리장치.
  4. 제1항에 있어서, 상기 메시지는,
    목적지 주소, 송신지 주소, 프로토콜 타입, 네트워크 프로세서 번호, 컴포넌트 데이트 크기드, 서비스 유형 및 컴포넌트 데이터 정보를 포함하는 것을 특징으로 하는 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리장치.
  5. 다수의 분산된 네트워크 프로세서를 이용한 네트워크 시스템에서의 상기 네트워크 프로세서의 이진코드 컴포넌트를 저장하는 N개의 네트워크 프로세서 컴포넌트 데이터베이스;
    새로운 컴포넌트 구성에 대한 메시지를 수신하고 상기 메시지를 분석하여 새로운 서비스의 추가 또는 기존 서비스의 삭제 요구시 컴포넌트를 로딩받는 N개의 서비스 연결 에이전트;
    상기 새로운 서비스의 추가 요구시 상기 로딩받은 컴포넌트가 상기 네트워크 프로세서 데이터베이스에 존재하는지 검사하여, 존재하면 상기 네트워크 프로세서에 해당하는 이진코드 컴포넌트를 활성화하기 위한 메시지를 송신하고, 존재하지 않으면 상기 이진코드 컴포넌트를 상기 네트워크 프로세서 데이터베이스에 저장한 후 상기 네트워크 프로세서에 이진코드 컴포넌트를 로딩하는 N개의 동적 바인더; 및
    상기 각 네트워크 프로세서의 전반적인 제어를 담당하는 N개의 네트워크 프로세서 포워딩 제어부; 를 포함하는 것을 특징으로 하는 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리장치.
  6. 제5항에 있어서,
    각 서비스 연결 에이전트로/부터의 메시지를 전달하기 위한 통신 채널 인터페이스를 제공하는 스위치 패브릭 백플레인을 더 포함함을 특징으로 하는 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리장치.
  7. 제5항에 있어서, 상기 N개의 동적 바인더는,
    상기 기존 서비스의 삭제 요구시 상기 로딩받은 이진코드 컴포넌트가 상기 네트워크 프로세서 데이터베이스에 존재하는지 검사하여, 존재하면 상기 네트워크 프로세서에 해당하는 이진코드 컴포넌트를 비활성화하기 위한 메시지를 송신하는 것을 특징으로 하는 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리장치.
  8. 가상 포워딩 플랫폼에서 새로운 서비스 추가 또는 삭제 요청이 발생되면, 서비스 조합 제어 장치에서 서비스에 대한 제어 플레인에 배치될 응용 프로그램 컴포넌트와 네트워크 프로세서 이진코드 컴포넌트를 생성하는 단계;
    컴포넌트 생성 후, 각 서비스 연결 에이전트로 서비스 유형 정보를 포함하는 메시지를 생성하여 송신하는 단계;
    각 서비스 연결 에이전트는 수신된 메시지를 분석하여 컴포넌트 아이디를 이용하여 네트워크 프로세서 데이터베이스를 검색하는 단계; 및
    해당 컴포넌트 아이디를 찾은 이후, 네트워크 프로세서로 해당 컴포넌트의 이진코드 활성화 명령을 전달하는 단계; 를 포함하는 것을 특징으로 하는 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리방법.
  9. 제8항에 있어서,
    해당 컴포넌트 아이디를 찾지 못한 경우,
    서비스에 해당하는 소스 데이터가 없는 상태이므로 새로 추가시키기 위해 해당 컴포넌트 아이디를 키값으로 네트워크 프로세서 컴포넌트 데이터베이스에 엔트리를 새로 추가하는 단계;
    상기 추가된 엔트리에 해당하는 서비스를 이진코드로 재로딩하는 단계; 및
    상기 재로딩이 완료되면 네트워크 프로세서를 초기화하기 위해 재부팅을 수행하는 단계를 더 포함하는 것을 특징으로 하는 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리방법.
  10. 제8항에 있어서,
    네트워크 프로세서의 이진코드 컴포넌트 활성화가 끝난 이후, 각 서비스 연결 에이전트는 서비스 조합 제어 장치로 동적 바인딩에 대한 결과를 보고하는 단계 를 더 포함함을 특징으로 하는 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리방법.
  11. 제8항에 있어서,
    네트워크 시스템에 기존 서비스 삭제 요구가 발생되면,
    서비스 조합 제어 장치에서 서비스에 대한 컴포넌트 데이터베이스에서 해당 서비스를 검색하는 단계;
    삭제될 응용 프로그램 컴포넌트 정보를 제어 플레인으로 전달하는 단계;
    이진코드 컴포넌트 삭제를 알리는 메시지를 생성하여 포워딩 플레인의 서비스 에이전트로 송신하는 단계;
    각 서비스 연결 에이전트는 수신된 메시지를 분석하여 컴포넌트 아이디를 이용하여 네트워크 프로세서 데이터베이스를 검색하는 단계; 및
    해당 컴포넌트 아이디를 찾은 이후, 네트워크 프로세서로 해당 컴포넌트의 이진코드 비활성화 명령을 전달하는 단계를 포함하는 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의 동적 바인딩 처리방법.
  12. 제11항에 있어서,
    네트워크 프로세서의 이진코드 컴포넌트 비활성화가 끝난 이후, 각 서비스 연결 에이전트는 서비스 조합 제어 장치로 동적 바인딩 해제에 대한 결과를 보고하는 단계를 더 포함함을 특징으로 하는 네트워크 프로세서의 이진코드와 가상 포워 딩 컴포넌트의 동적 바인딩 처리방법.
KR1020050117032A 2005-12-02 2005-12-02 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의동적 바인딩 처리장치 및 방법 KR100650741B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050117032A KR100650741B1 (ko) 2005-12-02 2005-12-02 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의동적 바인딩 처리장치 및 방법
US11/503,599 US20070130309A1 (en) 2005-12-02 2006-08-14 Apparatus and method for dynamically binding binary code and virtual forwarding component of network processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050117032A KR100650741B1 (ko) 2005-12-02 2005-12-02 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의동적 바인딩 처리장치 및 방법

Publications (1)

Publication Number Publication Date
KR100650741B1 true KR100650741B1 (ko) 2006-11-30

Family

ID=37713898

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050117032A KR100650741B1 (ko) 2005-12-02 2005-12-02 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의동적 바인딩 처리장치 및 방법

Country Status (2)

Country Link
US (1) US20070130309A1 (ko)
KR (1) KR100650741B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8687505B2 (en) 2009-12-21 2014-04-01 Electronics And Telecommunications Research Institute Apparatus and method for controlling traffic

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5051238B2 (ja) * 2007-11-13 2012-10-17 富士通株式会社 制御代理装置
US8498301B2 (en) 2010-03-31 2013-07-30 Brocade Communications Systems, Inc. Switch with packet services processing
CN114598700B (zh) * 2022-01-25 2024-03-29 阿里巴巴(中国)有限公司 通信方法及通信系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6597956B1 (en) * 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
US7246178B2 (en) * 2002-05-07 2007-07-17 Nortel Networks Limited Methods and systems for changing a topology of a network
US20040203891A1 (en) * 2002-12-10 2004-10-14 International Business Machines Corporation Dynamic service binding providing transparent switching of information services having defined coverage regions
US8194660B2 (en) * 2004-09-09 2012-06-05 Amx Llc System, method, and computer-readable medium for dynamic device discovery for servers binding to multiple masters
US8953432B2 (en) * 2004-11-01 2015-02-10 Alcatel Lucent Softrouter dynamic binding protocol

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8687505B2 (en) 2009-12-21 2014-04-01 Electronics And Telecommunications Research Institute Apparatus and method for controlling traffic

Also Published As

Publication number Publication date
US20070130309A1 (en) 2007-06-07

Similar Documents

Publication Publication Date Title
EP3435606B1 (en) Message processing method, computing device, and message processing apparatus
US20220368654A1 (en) Managing network traffic in virtual switches based on logical port identifiers
CN107624240B (zh) 用于自动的基于策略的路由的网络元件的配置
CN109547580B (zh) 一种处理数据报文的方法和装置
US9584418B2 (en) Quantized congestion notification for computing environments
CA2968964C (en) Source ip address transparency systems and methods
EP2869535B1 (en) Carrying instructions in packets in a named data network
KR101717000B1 (ko) 패킷 처리를 위한 방법 및 장치
US10742697B2 (en) Packet forwarding apparatus for handling multicast packet
JP2002232446A (ja) ダイナミック・ロード・バランサ
US20130294449A1 (en) Efficient application recognition in network traffic
US20080040306A1 (en) Techniques for remapping content requests
EP3179687B1 (en) Network flow information statistics method and apparatus
KR101578193B1 (ko) 소프트웨어 정의 네트워크 기술을 사용하는 엑세스 게이트웨이 제어시스템 및 그 제어방법
CN112887229B (zh) 一种会话信息同步方法及装置
US20160210366A1 (en) Method and apparatus for providing media resource
CN105991793B (zh) 报文转发的方法和装置
KR100650741B1 (ko) 네트워크 프로세서의 이진코드와 가상 포워딩 컴포넌트의동적 바인딩 처리장치 및 방법
US20160028628A1 (en) Communication system, control apparatus, address allocation method, and program
US9667543B2 (en) Routing requests with varied protocols to the same endpoint within a cluster
US11665131B1 (en) Stateful redundancy for deterministic carrier-grade network address translation (NAT) services
US20160269325A1 (en) Method, apparatus, and system for controlling forwarding of service data in virtual network
US10931576B2 (en) Software defined networking system for distinguishing packet-in messages
CN112165430A (zh) 数据路由方法、装置、设备以及存储介质
CN109167731B (zh) 报文发送方法及装置

Legal Events

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

Payment date: 20101101

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee