KR20020087472A - 네트워크 프로세서에서 매개변수를 커스터마이징하고전송하기 위한 방법 및 장치 - Google Patents

네트워크 프로세서에서 매개변수를 커스터마이징하고전송하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20020087472A
KR20020087472A KR1020027013291A KR20027013291A KR20020087472A KR 20020087472 A KR20020087472 A KR 20020087472A KR 1020027013291 A KR1020027013291 A KR 1020027013291A KR 20027013291 A KR20027013291 A KR 20027013291A KR 20020087472 A KR20020087472 A KR 20020087472A
Authority
KR
South Korea
Prior art keywords
target
frame type
gpp
frame
address
Prior art date
Application number
KR1020027013291A
Other languages
English (en)
Other versions
KR100543732B1 (ko
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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20020087472A publication Critical patent/KR20020087472A/ko
Application granted granted Critical
Publication of KR100543732B1 publication Critical patent/KR100543732B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Acyclic And Carbocyclic Compounds In Medicinal Compositions (AREA)
  • Medicines Containing Plant Substances (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

본 발명은 분산형 네트워크 환경에 하나 이상의 네트워크 프로세서 디바이스를 제어하기 위한 여러개의 범용 프로세서(즉, 제어 포인트 프로세서)와, 이 여러개의 범용 프로세서를 통해 처리 작업을 분산시키는 메커니즘과, 대형 네트워킹 환경에서 규정된 범용 프로세서가 특정 연산을 취급할 수 있도록 네트워크 프로세서를 구성하기 위한 인터페이스를 채용하여, 각각의 범용 프로세서에 복수의 프로토콜 스택을 설치해야 할 필요성을 줄일 수 있다.

Description

네트워크 프로세서에서 매개변수를 커스터마이징하고 전송하기 위한 방법 및 장치{METHOD AND APPARATUS FOR CUSTOMIZING AND FORWARDING PARAMETERS IN A NETWORK PROCESSOR}
도 1은 단일 범용 프로세서(GPP: Gerneral Purpose Processor) 제어 디바이스(15)가 다수개의 네트워크 프로세서 디바이스(25a, …,25n)를 제어하는 통상의 네트워킹 구성(10)을 도시하고 있다. GPP가 모든 특정 데이터 패킷(프레임) 타입[예, 포인트-투-포인트(PPP) 제어 프레임 또는 미지의 프레임]을 취급하므로 시스템(10)의 GPP에서는 처리 병목 현상이 종종 발생한다.
도 2는 다수개의 범용 프로세서 제어 디바이스(15a, …, 15n)를 구현하는 더욱 분산된 네트워킹 구성을 도시하고 있다. 이 구성에서, 처리를 위해 네트워크 프로세서가 특정 프레임 타입을 GPP에 전송하기 위해서는, 이 네트워크 프로세서가 특정 프레임을 특정 GPP에 보내는 방법을 해석할 능력이 없기 때문에 각 GPP에는 처리해야 하는 각각의 프로토콜에 대한 프로토콜 스택이 필요하게 된다. 각각의GPP에는 네트워크 프로세서에 의해 취급되는 각 프로토콜에 대한 완전한 프로토롤 스택을 필요로 하기 때문에 메모리의 요구 사양은 늘어나고 성능은 떨어지게 된다.
본 발명은 일반적으로 네트워크 프로세서 디바이스에 관한 것이며, 더욱 구체적으로는 여러개의 범용 프로세서(즉, 제어 포인트 프로세서)를 통해 처리 작업을 분산시키기 위한 메커니즘에 관한 것이다.
다음의 도면을 참조하여 이제 본 발명의 양호한 실시예들을 예시적으로 설명한다.
도 1은 단일 범용 프로세서(GPP) 디바이스가 복수의 네트워크 처리 디바이스를 제어하도록 구성된 분산형 네트워크 처리 환경의 일반적인 블록도이다.
도 2는 복수의 범용 프로세서(GPP) 디바이스가 복수의 네트워크 처리 디바이스를 제어하도록 구성된 분산형 네트워크 처리 환경의 일반적인 블록도이다.
도 3은 본 발명의 양호한 실시예에 따라 특정의 프레임 타입을 전송하기 위한 예시적인 커스터마이징 가능 테이블(100)을 도시하는 도면이다.
도 4는 본 발명의 양호한 실시예에 따라 여러개의 범용 프로세서를 통해 처리가 분산되는 방법을 나타내는 흐름도이다.
따라서, 본 발명은 적어도 하나의 네트워크 프로세서(NP) 디바이스를 제어하는 하나 이상의 범용 제어 프로세서를 포함하는 분산형 네트워킹 환경에서 상기 NP 디바이스에 의해 수신된 특정 데이터 프레임을 분산 처리하기 위한 시스템을 제공하는데, 상기 시스템은, 상기 적어도 하나의 NP 디바이스로 구현된 구성 가능한 테이블을 포함하여 상기 NP 디바이스에 수신된 특정 데이터 프레임 타입을 상기 특정 프레임을 취급할 수 있는 타깃 GPP에 연관된 타깃 어드레스와 타깃 포트 어드레스로 매핑하고, 상기 NP 네트워크 프로세서는 수신된 데이터 프레임을 분류하여 각각의 상기 프레임을 상기 구성 가능한 테이블의 엔트리와 비교하기 위한 메커니즘을 포함하며, 상기 NP 디바이스는 상기 테이블에 대응 엔트리가 있는 상기 분류된 프레임 타입에 응답하는 수단을 포함하여 대응 타깃 포트 어드레스를 통해 상기 타깃 GPP에 상기 프레임을 전송하며, 상기 타깃 GPP는 상기 특정 데이터 프레임 타입의 전송을 취급하기 위해 설치된 것이다.
양호한 실시예에 따른 분산형 네트워킹 환경의 GPP 구성에서는 각각의 GPP 디바이스에 대해 완전한 세트의 프로토콜 스택을 설치할 필요가 없다.
양호하게는, 분산형 네트워킹 환경에서 GPP를 구성하여 지정된 특정 프레임 타입을 취급하고 특정 프레임 타입을 네트워크 프로세서에 의해 특정하게 구성된 GPP에 분산시킬 수 있는 기능을 제공할 수 있는 메커니즘이 제공된다.
또한, 여러개의 범용 프로세서(즉, 제어 포인트 프로세서)를 통해 처리 작업을 분산시키고 네트워크 프로세서로 하여금 특정 연산을 취급하도록 구성 가능한 애플리케이션 프로그램 인터페이스(API)와 방법이 제공된다.
또다른 특징에 있어서, 본 발명은 하나 이상의 네트워크 프로세서(NP) 디바이스를 제어하는 하나 이상의 범용 제어 프로세서(GPP)를 포함하는 분산형 네트워킹 환경에서 상기 NP 디바이스에 의해 수신된 특정 데이터 프레임을 분산 처리하는 방법을 제공한다. 상기 방법은,
(a) 상기 NP 디바이스에서 구현되는 테이블을 제공하여 상기 NP 디바이스에 수신된 특정 데이터 프레임 타입을 상기 특정 프레임 타입을 처리할 수 있는 타깃 GPP에 연관된 타깃 어드레스와 타깃 포트 어드레스로 매핑시키는 단계와;
(b) 상기 NP 네트워크 프로세서에서 데이터 프레임 타입의 데이터 프레임을 수신하는 단계와;
(c) 수신된 데이터 프레임을 분류하고 각각의 상기 프레임을 상기 테이블의 엔트리와 비교하는 단계 및;
(d) 상기 분류된 프레임 타입이 상기 테이블에 대응 엔트리를 가진다면, 대응하는 타깃 포트 어드레스를 통해 상기 특정 데이터 프레임을 상기 타깃 GPP에 전송하는 단계를 포함하고, 상기 타깃 GPP는 상기 특정 데이터 프레임 타입의 전송을 취급하기 위해 설치된다.
유리하게는, 상기 방법에 의해 네트워트 프로세서는 여러개의 범용 프로세서(즉, 제어 포인트 프로세서)를 통해 처리 작업을 분산시킬 수 있고 대형네트워킹 환경에서 프로세서로 하여금 특정 연산을 취급하도록 구성할 수 있으므로, 각각의 범용 제어 프로세서상에 유지될 필요가 있는 프로토콜 스택의 수를 줄일 수 있다.
본 발명의 특징에 있어서, 본 발명은 하나 이상의 네트워크 프로세서(NP) 디바이스를 제어하는 하나 이상의 범용 제어 프로세서(GPP)를 포함하는 분산형 네트워킹 환경에서 상기 NP 디바이스를 구성하기 위한 애플리케이션 프로그래밍 인터페이스를 제공하며, 상기 인터페이스는 상기 NP 디바이스에 대한 입력 데이터 구조를 생성하기 위한 메커니즘 - 상기 데이터 구조는 특정 프레임 타입을 취급할 수 있는 상기 네트워킹 환경에서 GPP에 연관된 특정 프레임 타입과, 연관된 타깃 어드레스 및 타깃 포트 어드레스를 규정하는 하나 이상의 엔트리를 가진다 - 과, 상기 생성된 데이터 구조로부터 커스터마이징된 테이블을 생성하여 상기 커스터마이징된 테이블을 NP 디바이스 메모리에 입력하기 위한 디바이스를 포함함으로써, 상기 테이블에서 후속의 테이블 룩업이 수행되어 타깃 포트 어드레스를 통해 연관된 GPP에 특정의 프레임 타입이 전송된다.
본 발명의 특징에 있어서, 본 발명은, 하나 이상의 네트워크 프로세서(NP) 디바이스를 제어하는 하나 이상의 범용 제어 프로세서(GPP)를 포함하는 분산형 네트워킹 환경에서 동작하는 NP 디바이스를 구성하기 위한 방법의 단계들을 수행하기 위해 머신에 의해 실행 가능한 명령어들의 프로그램을 유형적으로 구현하고 그 머신에 의해 판독 가능한 프로그램 기억 디바이스를 제공하는데, 상기 방법의 단계들은,
(a) 상기 NP 디바이스에 대한 입력 데이터 구조는 생성하는 단계 - 상기 데이터 구조는 특정 프레임 타입을 취급할 수 있는 상기 네트워킹 환경에서 연관된 GPP에 연관된 특정의 프레임 타입과, 연관된 타깃 어드레스 및 타깃 포트 어드레스를 규정하는 하나 이상의 엔트리를 가진다 - 와;
(b) 상기 생성된 데이터 구조로부터 커스터마이징된 테이블을 생성하여, 상기 커스터마이징된 테이블을 NP 디바이스 메모리에 입력하는 단계를 포함함으로써, 상기 테이블에서 후속의 테이블 룩업이 수행되어 타깃 포트 어드레스를 통해 연관된 GPP에 특정 프레임 타입이 전송된다.
양호하게는, 데이터 구조는 태그형 리스트 값의 스트링을 포함하며, 각각의 태그형 리스트 값은 상기 테이블에 포함될 특정 프레임 타입을 나타내는 속성 필드와, 상기 태그형 리스트 값의 길이를 나타내는 길이 필드 및 특정 프레임 타입에 대한 타깃 관련 타깃 어드레스와 타깃 포트 어드레스를 규정하는 값 필드를 포함한다.
본 발명의 양호한 실시예에 따르면, 분산형 네트워킹 환경에서 동작하는 범용 프로세서(GPP) 제어 디바이스(예컨대, 외장형 GPP 네트워크 프로세서에 내장된 GPP 등)에 의해 구현되는 애플리케이션 프로그램 인터페이스(API)를 제공하여, 네트워크 프로세서(NP) 디바이스가 특정의 데이터 패킷(프레임) 타입의 전송을 취급할 수 있도록 네트워크 프로세서 디바이스의 커스터마이징과 구성을 가능하게 한다. 예시적으로, 1999년 8월 27일에 출원하여 현재 계류 중에 있는 본 출원과 동일 양수인 소유의 미국 특허 출원 일련 번호 제09/384,691호[발명의 명칭 "NETWORK PROCESSOR PROCESSING COMPLEX AND METHODS"]에 개시되어 있는 하나의 네트워킹 프로세서 기반의 디바이스와 시스템을 참조할 수 있으며, 이 문헌은 본 명세서에 참조 문헌으로 포함된다. 그러나, 본 발명은 다양한 하드웨어/소프웨어 설계의 다른 네트워크 기반의 디바이스에서 이용될 수 있다.
일반적으로, 상기 현재 계류 중인 미국 특허 출원에 개시되어 있는 바와 같이, NP 디바이스에 수신된 데이터 제어 프레임의 일반적인 흐름은 다음과 같다. 네트워크 접속, 예컨대 이더넷 MAC으로부터 수신된 프레임은 정규 데이터 프레임 또는 시스템 프레임(가이드형 프레임)으로서 식별된다. 양호한 실시예의 관점에서,정규 데이터 프레임으로서 식별된 프레임은, 복수의 피코프로세서(picoprocessor), 예컨대 프로토콜 프로세서를 포함하는 내장형 프로세서 컴플렉스(EPC : Embedded Processor Complex)에 인큐(enqueue)되며, 상기 프로세서들은 수신된 프레임 헤더를 참조하여 그 프레임에 따라 무슨 작업(전송, 변경, 필터링 등)을 할지를 결정할 수 있는 로직[피코코드(picocode)]을 실행한다. EPC는 여러개의 룩업 테이블에 액세스할 수 있고, 분류 하드웨어 피코프로세서가 네트워크 프로세서의 고대역 요구 조건에 맞도록 지원한다. 분류 하드웨어 지원 디바이스는 특히, 기지(旣知)의 프레임 형식의 프레임을 분류하기 위해 설치된다. 내장형 처리 컴플렉스(EPC)는 특히 NP 디바이스 칩의 프로그램 능력(programmability)을 제공하여 제어하고 다른 구성 소자(메모리, 디스패처, 인터페이스 등) 중에서 공통 명령어 메모리에 저장되어 있는 피코코드를 동시에 실행시키는 하나 이상의 처리 유닛을 포함한다. 각각의 처리 유닛은, 예컨대 3단 파이프라인과 범용 레지스터 및 ALU로 구성된 처리 유닛 코어를 포함하는 것이 좋다. 연산시에, 분류 하드웨어 지원 디바이스에서 이루어진 분류 결과는 프레임 디스패치 동안에 하나 이상의 처리 유닛에게 패스된다. 특히 일반 데이터 핸들러(GDH)라고 불리는 하나의 처리 유닛은 풀 처리 유닛(full processing unit)과, 본 발명의 양호한 실시예에 따라 프레임을 전송하는 데 주로 사용되는 하나 이상의 보조 처리 디바이스를 포함한다.
특히, GPP는 양호한 실시예의 API를 이용하여 특정 네트워크 프로세서에서 실행되는 피코코드가 소정의 패킷 타입을 보내는 장소에 영향을 미치는 매개변수를 구성한다. 이 API에 의해 최종 사용자는 대응하는 특정 프레임을 취급하기 위해 설치된 타깃 GPP로 특정 프레임 타입을 상호 참조하는 커스터마이징 가능 테이블을 구성할 수 있다. 이 방법에서는, 각각의 GPP에 프로토콜 스택을 설치할 필요가 없다.
도 3은 특정 프레임 타입을 API를 통해 사전에 지정된 GPP에 전송하기 위한 예시적인 커스터마이징 가능한 테이블(100)을 도시하고 있다. 양호한 실시예에 있어서, 이 커스터마이징 가능한 테이블(100)은 NP 디바이스 메모리로 구성된 플랫 테이블로서, 포인트-투-포인트(PPP) 제어 타입(102), 미지의 데이터 프레임 타입(105)(즉, NP 디바이스가 인식하지 못하는 프레임), IP 프레임 타입(107) 및 랩 타입(warp type)(110) 프레임(즉, NP의 출력측에서의 스위치 구성으로부터 수신된 프로토콜 프레임)을 포함하는 분류된 특정 프레임에 대응하는 엔트리를 포함하지만, 이러한 타입들에 한정되지는 않는다. 예컨대, 계층 3 프로토콜과 같은 부가적인 특정 프레임 타입은 도 3에 도시되는 커스터마이징된 테이블로 특정 GPP 목적지에 대해서 매핑될 수 있다. 또한, 커스터마이징된 테이블(100)이 다수개의 프레임 타입 엔트리를 갖는 대형 사이즈라면, 그 테이블은 테이블 룩업을 용이하게 하기 위해 NP의 메모리에 이진 트리 형태로 구성될 수 있다. 특정 프레임 타입으로서 분류된 각각의 프레임에 있어서, 타깃 "블레이드(blade)" 어드레스(115), 즉 특정 프레임 타입을 취급하기 위한 목적지 GPP에 연관된 인쇄 회로 기판 소자의 어드레스와, 목적지 GPP에 접속되는 NP 디바이스의 포트 어드레스(120)를 포함하는 대응 엔드리가 제공된다. 몇몇 실시예에서의 테이블(100)은 또한 부가적인 매핑 데이터를 포함한다.
양호한 실시예에 있어서, 커스터마이징 가능 테이블(100)은 GPP에서 API를 통해 시스템(100)의 각각의 네트워크 프로세서(125a, …, 125n)에 다운로드된다. 다음은 플랫 테이블을 구성하기 위해 구현된 예시적인 API이다.
이제 예시적인 API를 이하에서 세부적으로 설명한다. 상세하게 설명하면, API는 프로시저 호출np_ims_customizedParms_configure를 구현하며, 일실시예에서는 상기 호출이 C/C++ 언어로 실행되어 도 3의 커스터마이징 테이블을 구성하기 위한 사용자 규정 매개변수를 수신한다. 사용자 규정 매개변수는 예컨대, TLV 리스트에 제공된 태그형 리스트 값(TLVs)의 개수를 표시하며, 테이블에 구성될 특정 프레임 타입수의 초기값을 제공하는np_unit32number-TLVs입력과, TLV 값 스트링(string)에 대한 포인터를 표시하는np_TLV_s*tlv입력 및 API가 NP에 대한 테이블을 커스터마이징하는 것을 완료했다는 통보와 같은, 비동기 시스템 응답에 대한 제어 정보를 표시하는np_msg_ctrl_info_s ctrl_info입력을 포함한다. TLV 값 스트링을 참조하여, 각각의 스트링은 상기와 같은 형태, 즉
이면 바람직하며, 여기서 Attr#은 구성될 특정 프로토콜, 예컨대 PPP 프로토콜을 기술하는 속성수(1이상의 옥텟)를 표시하고, length는 값의 물리적 길이를 표시하며, Value는 프로토콜 프레임 타입의 실제 값을 표시하고 NP "블레이드" 어드레스를 나타내는 예컨대, 2 바이트의 바이트수와, 타깃 GPP에 연관된 NP 포트를 나타내는 또다른 바이트수(예컨대, 2 바이트)를 포함한다. 이들 값은 기억을 위해 가변 길이 필드로 다운로드된다. 도 3의 커스터마이징 테이블에 따라 가능한 수의 TLV를 검색하기 위해 참조될 수 있는 헤더 파일 np_types.h은, 2 바이트 NP 어드레스 + 2 바이트 포트 어드레스를 포함하는 NP_ATTRNUM_PPPCONTROL_ADDR, NP_ATTRNUM_IP_ADDR, NP_ATTRNUM_UNKNOWN_DATA_ADDR 및 NP_ATTRNUM_WRAP_ADDR와 같은 NP_ATTRNUM_'s를 포함한다. API를 통해 다운로드하기 위해 구성된 다른 데이터는 예컨대, 네트워크의 각 NP들이 커스터마이징 테이블로 구성되어 있다라는, API를 경유한 통보와 같은, 예상되는 비동기 응답 특성을 지정하기 위한 제어 정보를포함한다.np_return_code_t라고 불리는 API의 반환 매개변수는 예컨대, 특정 서브 시스템이 적합하게 초기화되지 않았음을 표시하는 NP_RC_NOT_READY; 불량 매개변수가 통과되었음을 표시하는 NP_RC_BADPARMS; 테이블 구성 도중에 발생된 에러를 표시하는 NP_RC_MISCERR 및; NP 구성이 성공적임을 표시하는 NP_RC_SUCCESS와 같은 값을 반환한다.
분산형 네트워크에서 각각의 네트워크 프로세서의 EPC를 구성했으면, 도 4를 참조하면서 양호한 실시예에 따라 여러개의 범용 프로세서를 통해 처리 작업을 분산시키는 분산형 처리의 프로세스(200)를 설명한다.
도 4에 도시되는 바와 같이, 네트워크 프로세서가 네트워크로부터 프레임을 수신하는 제1 처리 단계 203가 도시된다. 단계 205에서, 수신된 프레임 타입은 네트워크 프로세서 디바이스의 하드웨어 분류기에 의해 분류되고, 그 프레임은 GDH에서 실행되는 NP의 피코코드에 전송된다. 하드웨어 분류기가 프레임을 분류할 수 없다면, 피코코드가 그것을 분류한다. 분류에 기초하여, 단계 210에서 피코코드는 로직을 실행시켜 네트워크 프로세서의 데이터 저장부에 로드된 커스터마이징 테이블(100)[도 3]의 룩업 작업을 수행한다. 프레임 타입은 테이블(100)에서 인덱스로서 이용되는 것이 좋다. 이어서, 단계 213에서, 매칭이 이루어지는 지에 대한, 즉 프레임이 그 프레임의 타입에 따라 전용 처리하는 특정 GPP에 전송되는지의 여부를 판단한다. 단계 213에서, 매칭이 이루어진다고 판단하면, 그 프레임 타입에 대한 타깃 GPP 어드레스와 포트 어드레스를 판단하기 위해 단계 218에서 커스터마이징 테이블(100)의 룩업이 수행되며, 단계 220에서 특정 프레임은 그것의 매개변수를 이용해서 적절한 GPP에 전송된다. 도 4와 관련하여 설명한 처리 작업은 4개의 가능한 결과를 생성한다. 1) 패킷이 네트워크 프로세서에서 처리되기 위해 전송된다. 2) 패킷이 처리 작업에 적합한 GPP로 다시 전달된다. 3) 패킷이 드롭(drop)된다. 4) 패킷이 드롭되어 불필요한 메시지가 GPP에 전달된다.
도 4에 도시하는 양호한 실시예의 방법을 사용한 예시를 포인트-투-포인트 프로토콜(PPP) 프레임의 처리를 포함하는 경우에 대해 설명한다. PPP 프레임은 네트워크 프로세서에 의해 처리된다. 프레임이 PPP 제어 프레임이면, 프레임은 커스터마이징 룩업 테이블(도 3)에 기초해서 구성된 GPP에 전송된다. 프레임이 계층 3 프레임이면, 계층 2 네트워크 프로세서 피코코드는 프레임을 적절한 네트워크 프로세스 구성 소자에 전송한다. 계층 3 프로토콜이 피코코드에 의해 취급되지 않으면, 프레임은 룩업 테이블에서 규정된 바와 같이 그 프로토콜에 맞게 구성된 GPP에 전송된다. 프로토콜이 허용되지 않았다면, 프레임은 도시 생략된 폐기 큐에 인큐된다. 프레임이 인식형 계층 3 프레임이 아니고 폐기형 미지의 PPP 프레임이 구성되면, 그 프레임은 폐기 큐에 인큐된다. 그렇지 않다면, 프레임은 룩업 테이블에서 규정되는 바와 같이 미지/미인식 PPP 프레임에 맞게 구성된 GPP에 전송된다.
다음의 표는 예시적인 액션을 요약한 것이다.
프로토콜 액션
PPP 제어 프레임 구성된 GPP로 다시 전달
IP PCT에서 허용된 IP라면 NP IP 계층 3으로 진행
미지 미지의 PPP 프레임이 PCT에 설정되지 않으면 구성된 GPP (미지 데이터)로 다시 전달
각각의 GPP가 도 3에 예시하는 커스터마이징 테이블에 따라 NP에 의해 전송된 특정 프레임만 취급하도록 장착된다면, 네트워크 프로세서로 하여금 여러 범용 프로세서를 통해 처리를 분산시키고, NP가 대형 네트워킹 환경에서 특정 연산을 취급하도록 구성하는 기능을 제공함으로써, 유리하게는 각각의 범용 프로세서에서 소수개의 프로토콜 스택만이 필요하게 된다.

Claims (13)

  1. 적어도 하나의 네트워크 디바이스(NP)를 제어하는 하나 이상의 범용 제어 프로세서(GPP)(15a, 15b, …, 15n)를 포함하는 분산형 네트워킹 환경에서 네트워크 프로세서(NP) 디바이스(25a, 25b, 25c, …, 25n)가 수신한 특정 데이터 프레임의 처리 작업을 분산시키기 위한 시스템으로서,
    상기 시스템은 상기 적어도 하나의 NP 디바이스로 구현되는 구성 가능한 테이블(100)을 포함하여 상기 NP 디바이스에서 수신된 특정 데이터 프레임 타입을 상기 특정 프레임 타입을 취급할 수 있는 타깃 GPP에 연관된 타깃 어드레스(115)와 타깃 포트 어드레스(120)로 매핑하며, 상기 NP 네트워크 프로세서는 수신된 데이터 프레임을 분류하여 각각의 상기 프레임을 상기 구성 가능한 테이블의 엔트리와 비교하기 위한 메커니즘을 포함하고, 상기 네트워크 처리 디바이스는 상기 테이블에 대응 엔트리가 있는 상기 분류된 프레임에 응답하는 수단을 포함하여 대응하는 타깃 포트 어드레스를 통해 상기 프레임을 상기 타깃 GPP에 전송하며, 상기 타깃 GPP는 상기 특정 데이터 프레임 타입의 전송을 취급하기 위해 설치되는 것인 분산 처리 시스템.
  2. 제1항에 있어서, 상기 GPP를 통해 상기 타깃 어드레스와 타깃 포트 어드레스 엔트리로 상기 NP 디바이스로 상기 구성 가능한 테이블을 커스터마이징하기 위한 애플리케이션 프로그래밍 인터페이스를 더 포함하는 것인 분산 처리 시스템.
  3. 제1항 또는 제2항에 있어서, 특정 데이터 프레임 타입은 상기 NP 디바이스가 인식할 수 없는 프토토콜의 데이터 프레임을 포함하는 것인 분산 처리 시스템.
  4. 제1항 또는 제2항에 있어서,
    상기 NP 디바이스가 인식할 수 없는 프로토콜의 프레임 타입을 폐기 큐에 인큐하기 위한 구성 가능한 수단을 포함하는 분산 처리 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 구성 가능한 테이블은 상기 NP 디바이스의 메모리로 구성된 플랫 테이블인 것인 분산 처리 시스템.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 구성 가능한 테이블은 상기 NP 디바이스의 메모리로 구성된 이진 트리 디자인인 것인 분산 처리 시스템.
  7. 적어도 하나의 네트워크 프로세서(NP) 디바이스(25a, 25b, 25c, …, 25n)를 제어하는 하나 이상의 범용 제어 프로세서(GPP)(15a, 15b, …, 15n)를 포함하는 분산형 네트워킹 환경에서 네트워크 프로세서(NP) 디바이스가 수신한 특정 데이터 프레임의 처리 작업을 분산시키기 위한 방법으로서,
    (a) 상기 NP 디바이스로 구현되는 테이블(100)을 제공하여 상기 NP 디바이스에 수신된 특정 데이터 프레임을 상기 특정 프레임 타입을 처리할 수 있는 타깃GPP에 연관된 타깃 어드레스(115) 및 타깃 포트 어드레스(120)로 매핑하는 단계와;
    (b) 상기 NP 네트워크 프로세서에서 데이터 프레임 타입의 데이터 프레임을 수신하는 단계(203)와;
    (c) 수신된 데이터 프레임을 분류하고 각각의 상기 프레임을 상기 테이블의 엔트리와 비교하는 단계(205) 및;
    (d) 상기 분류된 프레임 타입이 상기 테이블에 대응 엔트리를 가진다면, 대응하는 타깃 포트 어드레스를 통해 상기 타깃 GPP에 상기 특정 데이터 프레임을 전송하는 단계를 포함하고, 상기 타깃 GPP는 상기 특정 데이터 프레임 타입의 전송(220)을 취급하기 위해 설치되는 것인 특정 데이터 프레임 분산 처리 방법.
  8. 제7항에 있어서, 상기 NP 디바이스가 인식할 수 없는 프로토콜의 프레임 타입을 폐기큐에 인큐할 수 있는 구성 가능한 옵션을 제공하는 단계를 포함하는 것인 특정 데이터 프레임 분산 처리 방법.
  9. 제7항 또는 제8항에 있어서, 상기 단계 (a)는 각각의 특정 프레임 타입 엔트리에 대한 타깃 GPP에 연관된 상기 타깃 어드레스와 타깃 포트 어드레로 상기 테이블을 구성하기 위한 애플리케이션 프로그래밍 인터페이스를 구현하는 단계를 포함하는 것인 특정 데이터 프레임 분산 처리 방법.
  10. 적어도 하나의 네트워크 프로세서(NP) 디바이스(25a, 25b, 25c, …, 25n)를제어하는 하나 이상의 범용 제어 프로세서(GPP)(15a, 15b, …, 15n)를 포함하는 분산형 네트워킹 환경에서 동작하는 NP 디바이스를 구성하기 위한 애플리케이션 프로그래밍 인터페이스로서,
    상기 NP 디바이스에 대한 입력 데이터 구조를 생성하기 위한 메커니즘 - 상기 데이터 구조는 특정 데이터 프레임 타입을 취급할 수 있는 상기 네트워크 환경에서 GPP에 연관된 특정 프레임 타입과 연관된 타깃 어드레스(115) 및 타깃 포트 어드레스(120)를 규정하는 하나 이상의 엔트리를 가진다 - 과;
    상기 생성된 데이터 구조로부터 커스터마이징 테이블(100)을 생성하고, 상기 커스터마이징 테이블을 NP 디바이스 메모리에 입력하기 위한 디바이스를 포함함으로써, 상기 테이블에서 후속의 테이블 룩업이 수행되어 타깃 포트 어드레스를 통해 연관된 GPP에 특정 프레임 타입이 전송되는 것인 애플리케이션 프로그래밍 인터페이스.
  11. 제10항에 있어서, 상기 데이터 구조는 태그형 리스트 값의 스트링을 포함하고, 각각의 태그형 리스트 값은 상기 테이블에 포함될 특정 프레임 타입을 표시하는 속성 필드와, 상기 태그형 리스트 값의 길이를 표시하는 길이 필드 및 상기 특정 프레임 타입에 대한 타깃 관련 타깃 어드레스와 타깃 포트 어드레스를 규정하는 값 필드 포함하는 것인 애플리케이션 프로그래밍 인터페이스.
  12. 하나 이상의 네트워크 프로세서(NP) 디바이스(25a, 25b, 25c, …, 25n)를 제어하는 하나 이상의 범용 제어 프로세서(GPP)(15a, 15b, …, 15n)를 포함하는 분산형 네트워킹 환경에서 동작하는 NP 디바이스를 구성하기 위한 방법의 단계들을 수행하기 위해 머신에 의해 실행가능한 명령어들의 프로그램을 유형적으로 구현하며 상기 머신에 의해 판독 가능한 프로그램 기억 디바이스로서, 상기 방법의 단계들은
    (a) 상기 NP 디바이스에 대한 입력 데이터 구조를 생성하는 단계 - 상기 데이터 구조는 특정 프레임 타입을 취급할 수 있는 상기 네트워킹 환경에서 연관된 GPP에 연관된 특정 프레임 타입과, 연관된 타깃 어드레스(115) 및 타깃 포트 어드레스(120)를 규정하는 하나 이상의 엔트리를 가진다 - 와;
    (b) 상기 생성된 데이터 구조로부터 커스터마이징된 테이블(100)을 생성하고, 상기 커스터마이징 테이블을 NP 디바이스 메모리에 입력하는 단계를 포함함으로써, 상기 테이블에서 후속의 테이블 룩업이 수행되어 타깃 포트 어드레스를 통해 연관된 GPP에 특정 프레임 타입이 전송되는 것인 머신에 의해 판독 가능한 프로그램 기억 디바이스.
  13. 제12항에 있어서, 상기 데이터 구조는 태그형 리스트 값의 스트링을 포함하고, 각각의 태그형 리스트 값은 상기 테이블에 포함될 특정 프레임 타입을 표시하는 속성 필드와, 상기 태그형 리스트 값의 길이를 표시하는 길이 필드 및, 상기 특정 프레임 타입에 대한 타깃 관련 타깃 어드레스 및 타깃 포트 어드레스를 규정하는 값 필드 포함하는 것인 머신에 의해 판독 가능한 프로그램 기억 디바이스.
KR1020027013291A 2000-04-06 2001-04-05 네트워크 프로세서에서 매개변수를 커스터마이징하고전송하기 위한 방법 및 장치 KR100543732B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/544,588 US6675221B1 (en) 2000-04-06 2000-04-06 Method and apparatus for customizing and fowarding parameters in a network processor
US09/544,588 2000-04-06

Publications (2)

Publication Number Publication Date
KR20020087472A true KR20020087472A (ko) 2002-11-22
KR100543732B1 KR100543732B1 (ko) 2006-01-23

Family

ID=24172803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027013291A KR100543732B1 (ko) 2000-04-06 2001-04-05 네트워크 프로세서에서 매개변수를 커스터마이징하고전송하기 위한 방법 및 장치

Country Status (14)

Country Link
US (1) US6675221B1 (ko)
EP (1) EP1293067B1 (ko)
JP (1) JP3730921B2 (ko)
KR (1) KR100543732B1 (ko)
CN (1) CN1165144C (ko)
AT (1) ATE331370T1 (ko)
AU (1) AU2001248517A1 (ko)
CA (1) CA2407060C (ko)
DE (1) DE60120970T2 (ko)
ES (1) ES2264443T3 (ko)
HK (1) HK1053025B (ko)
MY (1) MY129249A (ko)
TW (1) TW501024B (ko)
WO (1) WO2001077849A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100720190B1 (ko) * 2004-01-14 2007-05-22 노키아 인크 임의적인 ip 범위 구성에 의한 고속의 규칙 검색

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973503B2 (en) 2002-05-23 2005-12-06 International Business Machines Corporation Preventing at least in part control processors from being overloaded
DE10260604B4 (de) 2002-12-23 2006-09-21 Infineon Technologies Ag Multikanal-Prozessor
CN100440824C (zh) * 2003-01-28 2008-12-03 华为技术有限公司 数字传送网上不同的数据帧接入和传送的方法
US7281247B2 (en) * 2003-06-24 2007-10-09 Microsoft Corporation Software image creation in a distributed build environment
US7974272B2 (en) 2004-07-29 2011-07-05 Conexant Systems, Inc. Remote control of a switching node in a stack of switching nodes
CN1294728C (zh) * 2004-08-05 2007-01-10 华为技术有限公司 边缘路由器提供服务质量保证的方法及系统
US20060165121A1 (en) * 2005-01-27 2006-07-27 Alcatel Communication protocol interface systems and methods
KR100726175B1 (ko) * 2005-12-09 2007-06-11 한국전자통신연구원 무선 휴대 인터넷 시스템에서 상위 프로토콜 메시지의 방송 전송 방법 및 장치
US7990974B1 (en) 2008-09-29 2011-08-02 Sonicwall, Inc. Packet processing on a multi-core processor
CN101964759B (zh) * 2010-11-10 2012-03-28 中国人民解放军国防科学技术大学 支持多用户的高速报文分流方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2094097C (en) 1992-04-30 2000-05-30 Ray Balogh Multi-equipment routing method and master station for layered protocol communication network system
US5570084A (en) 1994-06-28 1996-10-29 Metricom, Inc. Method of loose source routing over disparate network types in a packet communication network
US5485460A (en) 1994-08-19 1996-01-16 Microsoft Corporation System and method for running multiple incompatible network protocol stacks
US6463078B1 (en) * 1998-07-22 2002-10-08 Microsoft Corporation Method for switching protocols transparently in multi-user applications
US6424621B1 (en) * 1998-11-17 2002-07-23 Sun Microsystems, Inc. Software interface between switching module and operating system of a data packet switching and load balancing system
US6272522B1 (en) * 1998-11-17 2001-08-07 Sun Microsystems, Incorporated Computer data packet switching and load balancing system using a general-purpose multiprocessor architecture
US6426944B1 (en) * 1998-12-30 2002-07-30 At&T Corp Method and apparatus for controlling data messages across a fast packet network
US6473434B1 (en) * 2001-04-20 2002-10-29 International Business Machines Corporation Scaleable and robust solution for reducing complexity of resource identifier distribution in a large network processor-based system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100720190B1 (ko) * 2004-01-14 2007-05-22 노키아 인크 임의적인 ip 범위 구성에 의한 고속의 규칙 검색

Also Published As

Publication number Publication date
JP2003530744A (ja) 2003-10-14
CN1165144C (zh) 2004-09-01
TW501024B (en) 2002-09-01
EP1293067B1 (en) 2006-06-21
MY129249A (en) 2007-03-30
CN1422474A (zh) 2003-06-04
CA2407060C (en) 2007-10-16
AU2001248517A1 (en) 2001-10-23
CA2407060A1 (en) 2001-10-18
US6675221B1 (en) 2004-01-06
HK1053025A1 (en) 2003-10-03
ATE331370T1 (de) 2006-07-15
KR100543732B1 (ko) 2006-01-23
HK1053025B (zh) 2005-02-25
DE60120970T2 (de) 2007-01-04
DE60120970D1 (de) 2006-08-03
ES2264443T3 (es) 2007-01-01
WO2001077849A3 (en) 2002-04-18
JP3730921B2 (ja) 2006-01-05
WO2001077849A2 (en) 2001-10-18
EP1293067A2 (en) 2003-03-19

Similar Documents

Publication Publication Date Title
US6907468B1 (en) Packet processing using encapsulation and decapsulation chains
CN107070674B (zh) 处理数据包的方法和网络装置
WO2003017620A1 (en) Protocol processor
US7974999B2 (en) Software architecture for managing a system of heterogenous network processors and for developing portable network processor applications
JP2002538724A (ja) マルチプロセッサコンピュータでネットワークトラフィック処理を分散する方法および装置
US9590922B2 (en) Programmable and high performance switch for data center networks
EP2795874A1 (en) Controller for flexible and extensible flow processing in software-defined networks
KR100543732B1 (ko) 네트워크 프로세서에서 매개변수를 커스터마이징하고전송하기 위한 방법 및 장치
US20060218300A1 (en) Method and apparatus for programmable network router and switch
JP2000092118A (ja) プログラマブルネットワーク
US6763375B1 (en) Method for defining and controlling the overall behavior of a network processor device
JP2007202153A (ja) ネットワークプロセッサーのキュー管理装置及びその方法
CN115174474B (zh) 一种私有云内基于SRv6的SFC实现方法及装置
CN111541688B (zh) 一种兼容多协议的嵌入式系统、数据处理方法及装置
US7826355B2 (en) Reducing overhead when setting up multiple virtual circuits using signaling protocols
US7653718B2 (en) Shell specific filtering and display of log messages
Wijekoon et al. High performance flow matching architecture for OpenFlow data plane
CN109644158B (zh) 区分报文进入消息的软件定义网络系统
CN109379342A (zh) 基于udp网络协议的上位机与dsp数据传输方法
US20230396551A1 (en) Traffic Shaping Offload on a Network Interface Controller
US6918026B2 (en) External device transmission system and a fast pattern processor employing the same
CN112804185A (zh) 不重新组装的情况下的ipv6中ipv4片段的防假冒检查

Legal Events

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

Payment date: 20121226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131226

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141224

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee