KR20010057772A - A apparatus for high speed ip header lookup control in mpls label edge router - Google Patents

A apparatus for high speed ip header lookup control in mpls label edge router Download PDF

Info

Publication number
KR20010057772A
KR20010057772A KR1019990061178A KR19990061178A KR20010057772A KR 20010057772 A KR20010057772 A KR 20010057772A KR 1019990061178 A KR1019990061178 A KR 1019990061178A KR 19990061178 A KR19990061178 A KR 19990061178A KR 20010057772 A KR20010057772 A KR 20010057772A
Authority
KR
South Korea
Prior art keywords
header
packet
lookup
label
information
Prior art date
Application number
KR1019990061178A
Other languages
Korean (ko)
Other versions
KR100310303B1 (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 KR1019990061178A priority Critical patent/KR100310303B1/en
Publication of KR20010057772A publication Critical patent/KR20010057772A/en
Application granted granted Critical
Publication of KR100310303B1 publication Critical patent/KR100310303B1/en

Links

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/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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

Landscapes

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

Abstract

PURPOSE: An apparatus for controlling a lookup of a high-speed IP(Internet Protocol) header in an edge router of an MPLS(Multi-Protocol Label Switching) network, is provided to improve lookup process efficiency, by processing the lookup based on hardware in parallel using a control circuit, and expanding an IP lookup table without connection of each device in series. CONSTITUTION: An IP packet header receiver(301) receives IP packet information and IP header information. An IP packet header test part(302) recognizes a packet type of the packet information. An IP header label extraction part(303) recognizes an IP header area, and thereby extracts an IP header and an MPLS label. An IP packet header test part(304) performs a test function. A lookup data/control generation part(306) controls a control signal for performing the lookup, an IP target place address and an originating place address. A lookup device interface part(307) provides a function for interfacing with a lookup device. A label information interface part(308) fetches label information from a label information table, and then stores it in a storage part(309). A transmission header change sort part(310) extracts desired information, and sorts it.

Description

멀티프로토콜 레이블 스위칭 망의 에지 라우터에서의 고속 인터넷프로토콜 헤더의 룩업 제어장치{A APPARATUS FOR HIGH SPEED IP HEADER LOOKUP CONTROL IN MPLS LABEL EDGE ROUTER}A look-up control device for a high-speed Internet protocol header in an edge router of a multiprotocol label switching network {A APPARATUS FOR HIGH SPEED IP HEADER LOOKUP CONTROL IN MPLS LABEL EDGE ROUTER}

본 발명은 멀티프로토콜 레이블 스위칭(MPLS: Multi Protocol Label Switching) 망의 에지 라우터에서 다양한 패킷 유형을 가지는 인터넷프로토콜(IP) 패킷에 대하여 하드웨어적으로 고속의 인터넷프로토콜(IP) 룩업 제어를 수행할 수 있는 룩업 제어장치에 관한 것이다.The present invention can perform high-speed Internet Protocol (IP) lookup control in hardware for Internet Protocol (IP) packets having various packet types in an edge router of a Multi Protocol Label Switching (MPLS) network. A look-up control device.

종래에는 IP 헤더에 대한 룩업 제어를 고성능 중앙처리장치(CPU)를 사용하여 소프트웨어적인 방법에 의해 처리하고, 룩업 자체도 메모리 저장된 엔트리를 검색하는 알고리즘 방식을 많이 사용하였다.Conventionally, a look-up control for an IP header is processed by a software method using a high performance CPU, and the look-up itself uses many algorithms for retrieving entries stored in memory.

이와 같이 고성능 중앙처리장치(CPU)를 사용하여 헤더를 처리하는 방법은 어느 정도 그 속도를 향상시킬 수 있으나, 근본적으로 중앙처리장치(CPU)의 명령어를 처리하는데 소요되는 시간이 하드웨어에 의한 것보다 많이 소요되며, 이것은 CPU 자체가 명령어를 수행하는 과정이 시간상 순차적으로 수행되는데 있다.This method of processing headers using a high performance CPU can improve the speed to some extent, but the time required to process the CPU's instructions is fundamentally higher than that of hardware. This takes a lot of time, and the CPU itself executes instructions sequentially in time.

따라서, 본 발명의 목적은 다양한 패킷 형태 즉, PPP 프로토콜, RFC1483 패킷 유형, MPLS 레이블 삽입된 IP 패킷에 대한 IP 헤더 추출과 IP 패킷 헤더처리를 CPU를 사용하지 않고, 하드웨어 기반의 룩업을 위한 제어 회로를 사용하여, 병렬로 처리하도록 하고, IP 룩업 테이블의 확장 연결을 위하여 각 소자를 직렬로 연결하지 않고 병렬로 처리하도록 하여 룩업 처리 효율을 향상시킨 룩업 제어장치를 제공하는데 있다.Accordingly, an object of the present invention is to provide a control circuit for hardware-based lookup without using a CPU for IP packet extraction and IP packet header processing for various packet types, that is, PPP protocol, RFC1483 packet type, and MPLS-labeled IP packet. In order to provide a look-up control apparatus that performs parallel processing and improves look-up processing efficiency by processing each element in parallel without connecting in series for expansion connection of an IP lookup table.

도1은 본 발명이 적용되는 에지 라우터의 룩업 관련 기능 블록 구성도.1 is a block diagram of a look-up related function of the edge router to which the present invention is applied.

도2는 패킷 유형별 패킷 헤더의 상세 구조도.2 is a detailed structural diagram of a packet header for each packet type.

도3은 본 발명에 따른 IP 룩업 제어부의 블록 구성도.3 is a block diagram of an IP lookup control unit according to the present invention;

도4는 길이 옵셋 값 발생 구조 및 출력 값 테이블을 나타낸 도면.4 is a diagram showing a length offset value generation structure and an output value table.

도5는 본 발명에 따른 IP 룩업 제어장치의 동작을 설명하기 위한 흐름도.5 is a flowchart for explaining the operation of the IP lookup control apparatus according to the present invention;

*도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

301 : IP 패킷 헤더 수신부 302, 304 : IP 패킷 헤더 검사부301: IP packet header receiver 302, 304: IP packet header checker

303 : IP 헤더/레이블 추출부 305 : CPU 정합 및 중재부303: IP header / label extraction unit 305: CPU matching and arbitration unit

306 : 룩업 데이타/제어신호 발생부 307 : 룩업 수행장치 정합부306: lookup data / control signal generator 307: lookup device matching unit

308 : 레이블정보(LIB) 정합부 309 : 레이블정보(LIB) 저장부308: label information (LIB) matching unit 309: label information (LIB) storage unit

310 : 송신헤더 변경 및 정렬부 311 : IP패킷헤더 송신부310: transmission header change and alignment unit 311: IP packet header transmission unit

상기 목적을 달성하기 위한 본 발명은, 룩업수행장치와 레이블정보 테이블을 포함하는 멀티프로토콜 레이블 스위칭(MPLS) 망의 에지 라우터에서의 인터넷프로토콜(IP) 패킷의 룩업제어장치에 있어서, 인터넷프로토콜 패킷 헤더를 수신하여, 패킷의 유형 및 에러 유무를 검사하고, 분석된 패킷의 유형에 따라 수신된 패킷의 헤더 및 레이블을 추출하는 패킷 헤더의 수신 및 처리수단; 상기 수신 및 처리수단으로부터 IP 헤더와 에러 유무 신호를 입력받아 룩업 수행을 위한 제어신호와 IP 주소를 상기 룩업수행장치로 제공하는 룩업데이타/제어신호 발생수단; 상기 룩업수행장치로부터 룩업 수행의 결과로 인덱스를 수신하여, 상기 인덱스에 대응되는 레이블 정보를 상기 레이블정보 테이블로부터 페치하여 저장하는 레이블정보 페치수단; 및 상기 레이블정보 페치수단에 의해 저장된 레이블정보로부터 각 종 정보를 추출하여 송신 패킷의 헤더 포맷에 맞추어 재 정렬함과 동시에 새로운 헤더에 대한 체크섬 정보 및 옵셋을 삽입하여 전송하는 헤더 정렬 및 송신수단을 포함하는 것을 특징으로 한다.The present invention for achieving the above object, in the look-up control apparatus of the Internet Protocol (IP) packet in the edge router of the multi-protocol label switching (MPLS) network including a look-up apparatus and a label information table, the Internet protocol packet header Receiving and processing means for receiving a packet, checking a type and an error of a packet, and extracting a header and a label of a received packet according to the type of the analyzed packet; Lookup data / control signal generating means for receiving an IP header and an error presence signal from the receiving and processing means and providing a control signal and an IP address for performing a lookup to the lookup performing apparatus; Label information fetching means for receiving an index as a result of performing a lookup from the lookup performing apparatus, fetching and storing label information corresponding to the index from the label information table; And header alignment and transmission means for extracting various types of information from the label information stored by the label information fetching means, rearranging the information according to the header format of the transmission packet, and inserting and inserting checksum information and offset for the new header. Characterized in that.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도1은 본 발명이 적용되는 에지 라우터의 룩업 관련 기능블록의 구성도로서,이는 본 발명인 IP 룩업 제어장치(100)와, 룩업수행장치(110) 및 레이블정보테이블(120)을 포함한다. 룩업 수행장치(110)는 계층3 룩업부(113), 계층4 룩업부(112), MPLS 레이블 비교부(111)로 구성된다. 계층3 룩업부(113)는 IP 헤더 영역의 목적지 주소를 참조하여 일치된 데이타가 있는 엔트리 주소를 검색하는 기능을 수행하며, 계층4 룩업부(112)는 IP 헤더 영역의 목적지 주소와 발신지 주소, 그리고 TCP 헤더의 목적지 포트와 발신지 포트 주소를 이용하여 일치된 데이타가 있는 엔트리 주소를 검색한다. MPLS 레이블 비교부(111)는 MPLS 영역으로부터 수신된 패킷의 헤더가 MPLS 패킷 형태의 인캡슐레이션된 헤더로 되어 있는 경우 MPLS 레이블과 일치되는 엔트리 주소를 검색하는 기능을 수행한다. 도면에서 부호 130은 장치 관리부로부터의 레이블 정보 테이블과 룩업 수행장치에 필요한 정보를 송수신하는 정합부를 나타낸다.FIG. 1 is a block diagram of a lookup-related functional block of an edge router to which the present invention is applied, which includes an IP lookup control apparatus 100, a lookup performing apparatus 110, and a label information table 120. The lookup performing apparatus 110 includes a layer-3 lookup unit 113, a layer4 lookup unit 112, and an MPLS label comparison unit 111. The layer 3 lookup unit 113 searches for an entry address with matched data by referring to a destination address in the IP header area, and the layer 4 lookup unit 112 performs a destination address, a source address, The destination address and source port address of the TCP header are used to retrieve the entry address with the matched data. The MPLS label comparison unit 111 searches for an entry address that matches the MPLS label when the header of the packet received from the MPLS region is an encapsulated header in the form of an MPLS packet. In the drawing, reference numeral 130 denotes a matching unit for transmitting and receiving a label information table from the device manager and information required for the lookup apparatus.

IP 룩업 제어장치(100)가 룩업 수행장치(110)로 전달하는 정보 제어 과정은 다음과 같다.The information control process delivered by the IP lookup control apparatus 100 to the lookup performing apparatus 110 is as follows.

입력 패킷 헤더 정보를 수신한 룩업 제어장치(100)는 패킷 유형을 검사하고 MPLS 레이블이 삽입된 패킷인 경우에는 MPLS 레이블 비교부(111)로 레이블 정보를 전달하고, 상기 MPLS 레이블 비교부(111)로부터 전달된 일치되는 엔트리 인덱스를 페치하여 레이블 정보 테이블(120)로부터 해당하는 정보를 가져온다. 한편 MPLS 레이블이 삽입된 패킷이 아니고 PPP 또는 RFC1483 유형 정보가 삽입된 패킷이 경우 계층4에 해당하는 정보와 계층3에 해당하는 정보를 추출하여 동시에 계층4 룩업부(112), 계층3 룩업부(113)로 전달한다. 만약, 계층4 룩업부(112)로부터 일치된 결과가 있을 경우 계층3 룩업부(113)의 결과는 참조하지 않고, 계층4 룩업부(112)의 인덱스를 참조하여 레이블 정보 테이블(120)의 정보를 페치한다. 그러나, 계층4 룩업부(112)의 일치된 엔트리가 존재하지 않으면 계층3 룩업부(113)의 일치된 인덱스를 참조하여 레이블 정보 테이블(120)의 해당 정보를 페치한다.Upon receiving the input packet header information, the look-up control apparatus 100 checks the packet type and, in the case of a packet having an MPLS label inserted therein, transfers label information to the MPLS label comparator 111, and the MPLS label comparator 111. The corresponding entry index passed from is fetched to obtain corresponding information from the label information table 120. On the other hand, if the packet is not an MPLS-labeled packet and PPP or RFC1483 type information is inserted, the layer 4 lookup unit 112 and the layer 3 lookup unit are simultaneously extracted by extracting information corresponding to layer 4 and information corresponding to layer 3. 113). If there is a match result from the layer 4 lookup unit 112, the result of the layer 3 lookup unit 113 is not referred to, and the information of the label information table 120 is referred to by referring to the index of the layer 4 lookup unit 112. Fetch However, if a matched entry of the layer 4 lookup unit 112 does not exist, the corresponding information of the label information table 120 is fetched by referring to the matched index of the layer 3 lookup unit 113.

종래에는 계층4 룩업을 먼저 수행하고 일치된 결과가 없는 경우 계층3 룩업을 수행하는 순차적인 방법을 사용하였으나, 본 발명에서는 하드웨어적인 제어 기법을 이용하여 계층4 룩업부와 계층3 룩업부를 동시에 수행하도록 함으로써, 룩업 처리를 보다 고속으로 수행할 수 있다.Conventionally, a sequential method of performing a layer 4 lookup first and performing a layer 3 lookup when there is no match is used. However, in the present invention, the layer 4 lookup unit and the layer 3 lookup unit are simultaneously executed using a hardware control technique. By doing so, the lookup process can be performed at a higher speed.

도2는 IP 룩업 제어장치(100)로 송수신되는 패킷 유형별 헤더의 상세 포맷들을 나타낸다.2 shows detailed formats of a header for each packet type transmitted and received to the IP lookup control apparatus 100.

도면에서 201은 룩업 제어장치로 송수신되는 패킷 헤더 데이타를 나타내고 있으며, 첫 4바이트는 IP 패킷에 대한 채널 정보, 패킷 유형 정보, 주소 옵셋에 대한 정보를 가지며, 두 번째 영역은 패킷 유형에 따른 길이가 다른 다양한 형태의 삽입된 정보 영역을 가지며, 세 번째 영역은 IP 헤더 영역을 나타낸다. 그리고, 부호 202는 4바이트로 구성된 패킷 정보들을 나타내는 영역으로, 채널 식별자 정보, 패킷 유형, 주소 옵셋에 대한 정보가 포함된다. 203, 204, 205는 패킷 유형별 삽입되는 데이타 정보를 나타내고 있으며, 패킷 유형마다 그 길이가 다르다. 그 뒤로 프로토콜별 패킷 헤더 정보가 들어 있다. 203은 PPP 프로토콜 상에 IP 패킷이 전달되는 경우 LLC, NLPID, PID들로 삽입되는 데이타 정보를 나타내며 6 바이트로 구성된다. 204는 RFC1483 프레임 형태로, IP 패킷이 전달되는 경우 LLC, SNAP,PID들로 삽입되는 데이타 정보를 나타내며 10 바이트로 구성된다. 그리고 205는 MPLS 영역으로부터 유입되는 MPLS 프로토콜로 IP 패킷이 전달되는 경우 레이블 정보, CoS, S, TTL 들로 삽입되는 데이타 정보를 나타내며, 스택이 n일 경우에는 최상위 스택 표시 (S=1)와 함께 하위 스택에 대한 4바이트 삽입 데이타 정보들이 연속된다. 206은 IP 헤더 데이타 정보를 나타내며, 버젼, 헤더 길이, 서비스 유형 등을 포함하여 목적지 주소, 발신지 주소, 옵션 영역들로 구성되어 있으며 24 바이트의 영역을 가진다.In the figure, 201 shows packet header data transmitted / received to the lookup controller, and the first 4 bytes have channel information, packet type information, and address offset of the IP packet, and the second area has a length corresponding to the packet type. There are other various types of embedded information areas, and the third area represents an IP header area. Reference numeral 202 denotes packet information composed of 4 bytes and includes channel identifier information, packet type, and address offset information. 203, 204, and 205 indicate data information to be inserted for each packet type, and their lengths differ for each packet type. It then contains packet header information for each protocol. 203 indicates data information inserted into LLCs, NLPIDs, and PIDs when an IP packet is delivered on the PPP protocol, and consists of 6 bytes. 204 denotes data information inserted into LLC, SNAP, and PIDs when an IP packet is delivered in the form of an RFC1483 frame, and is composed of 10 bytes. 205 denotes data information inserted into label information, CoS, S, and TTL when the IP packet is transmitted to the MPLS protocol flowing from the MPLS region. When the stack is n, the 205 indicates the top stack indication (S = 1). Four bytes of insert data information for the lower stack are contiguous. 206 represents IP header data information, and consists of a destination address, a source address, and optional areas, including a version, header length, service type, and the like, and has an area of 24 bytes.

도3은 본 발명에 따른 IP 룩업 제어장치의 기능 블록 구성도이다.3 is a functional block diagram of an IP lookup control apparatus according to the present invention.

IP 룩업 제어장치는 IP 패킷 헤더 수신부(301), IP 패킷 헤더 검사부(302), IP 헤더/레이블 추출부(303), IP 패킷 헤더 검사부(304), 룩업 데이타/제어 신호 발생부(306), CPU 정합 및 중재부(305), 룩업 수행장치 정합부(307), 레이블정보(LIB) 정합부(306), 레이블정보(LIB) 저장부(309), 송신 헤더 변경 및 정렬부(310), IP 패킷 헤더 송신부(311)를 포함한다.The IP lookup controller includes an IP packet header receiver 301, an IP packet header inspector 302, an IP header / label extractor 303, an IP packet header inspector 304, a lookup data / control signal generator 306, CPU matching and arbitration unit 305, lookup performing unit matching unit 307, label information (LIB) matching unit 306, label information (LIB) storage unit 309, transmission header change and alignment unit 310, An IP packet header transmitter 311 is included.

IP 패킷 헤더 수신부(301)는 IP 패킷의 패킷 정보 및 IP 헤더 정보가 들어 있는 패킷 헤더 영역을 수신하는 기능으로 32비트 데이타를 받아들인다. IP 패킷 헤더 검사부(302)는 패킷의 정보 중 패킷 유형 즉, PPP, RFC1483, MPLS 패킷 등을 인식하는 기능을 한다. IP 헤더 및 레이블 추출부(303)에서는 패킷 헤더 유형에 따라 시작되는 IP 헤더 영역을 인식하여 IP 헤더 또는 MPLS 레이블을 추출한다. IP 패킷 헤더 검사부(304)에서는 IP 헤더 내에 포함되어 있는 IP 버전, 체크섬 등의 검사 기능을 수행한다. 룩업 데이타/제어 신호 발생부(306)에서는 룩업 수행을위한 제어신호와 IP 목적지 주소 및 발신지 주소를 제어한다. 룩업 수행장치 정합부(307)는 룩업 수행장치와의 정합 기능을 제공한다. 레이블정보(LIB) 정합부(308)는 룩업 수행장치로부터 수신된 인덱스를 참조하여 레이블정보테이블로부터 레이블정보(LIB)를 페치하여 레이블정보(LIB) 저장부(309)에 저장한다. 이와 같이 페치 및 저장이 CPU의 개입 없이 직접 하드웨어적으로 이루어지므로 보다 빨리 룩업 결과 데이타를 페치할 수 있다.The IP packet header receiving unit 301 receives 32-bit data as a function of receiving a packet header area including packet information and IP header information of an IP packet. The IP packet header checker 302 functions to recognize a packet type, ie, PPP, RFC1483, MPLS packet, etc. among the packet information. The IP header and label extractor 303 recognizes an IP header region starting according to the packet header type and extracts an IP header or an MPLS label. The IP packet header checker 304 performs a check function such as an IP version and a checksum included in the IP header. The lookup data / control signal generator 306 controls the control signal for performing the lookup, the IP destination address, and the source address. The lookup performing apparatus matching unit 307 provides a matching function with the lookup performing apparatus. The label information LIB matching unit 308 fetches the label information LIB from the label information table with reference to the index received from the lookup performing apparatus and stores the label information LIB in the label information LIB storage unit 309. This fetch and save is done directly in hardware without CPU intervention, so the lookup result data can be fetched faster.

송신 헤더 변경 및 정렬부(310)에서는 저장된 레이블정보(LIB)로부터 TOS, TTL, 레이블 정보, 채널 식별자, 송신 패킷 유형 등의 정보를 추출하고, 송신 패킷의 헤더 포맷에 맞추어 재 정렬한다. 이때, 변경된 IP 헤더에 대한 IP 헤더 체크섬을 다시 계산한다. 그리고, 패킷 유형이 바뀜에 따라 IP 헤더 앞에 삽입되는 패킷 유형 정보 영역의 길이가 달라지는데, 이를 하드웨어적으로 옵셋을 계산하여 그 영역에 삽입한다. 이때 옵셋은 비교기를 사용하여 간단하게 계산한다.The transmission header change and alignment unit 310 extracts information such as TOS, TTL, label information, channel identifier, transmission packet type, and the like from the stored label information LIB and rearranges the header according to the header format of the transmission packet. At this time, the IP header checksum for the changed IP header is recalculated. As the packet type is changed, the length of the packet type information field inserted before the IP header is changed. The offset is calculated by hardware and inserted into the area. The offset is simply calculated using a comparator.

도4는 상기 송신헤더변경 및 정렬부(310)를 보다 구체적으로 설명하기 위한 길이 옵셋 값 발생 구조 및 출력 값 테이블을 나타낸 도면으로, 이는 비교기(401)를 사용하여 생성되는 길이 옵셋 값을 발생시킨다. 402는 각 패킷 유형별 정해진 값을 나타내고 있으며, 403은 송수신 서비스 유형간 패킷 길이에 대한 옵셋값을 나타내고 있다. 여기서, 패킷 길이를 참조하여 그 값이 0보다 큰 경우는 패킷 헤더 길이가 늘어났음을 의미하고, 0보다 작은 경우는 패킷 헤더 길이가 줄어들었음을 의미한다. 따라서, 패킷 헤더 부분이 변경되어 다시 패킷 메모리에 저장될 경우 옵셋이 0보다 큰 경우는 그 패킷이 저장된 시작 주소가 앞으로 이동하였고, 0보다작은 경우에는 패킷이 저장된 시작 주소가 뒤로 이동하였음을 의미한다.4 is a diagram illustrating a length offset value generation structure and an output value table for explaining the transmission header change and alignment unit 310 in more detail. This generates a length offset value generated using the comparator 401. . 402 denotes a predetermined value for each packet type, and 403 denotes an offset value for packet length between transmission and reception service types. If the value is greater than 0 with reference to the packet length, the packet header length is increased. If the value is smaller than 0, the packet header length is reduced. Therefore, when the packet header part is changed and stored in the packet memory again, if the offset is larger than 0, the start address where the packet is stored moves forward, and when the packet header part is smaller than 0, the start address where the packet is stored has moved backward. .

IP 패킷 헤더 송신부(311)는 정렬된 데이타를 송신 클럭에 동기시켜 전송한다.The IP packet header transmitter 311 transmits the aligned data in synchronization with the transmission clock.

도5는 본 발명에 따른 IP 룩업 제어장치의 동작을 설명하기 위한 패킷 처리 흐름도를 나타낸다.5 is a flowchart illustrating a packet processing for explaining the operation of the IP lookup control apparatus according to the present invention.

룩업 제어장치의 IP 패킷 헤더 수신부(301)는 IP 패킷 헤더 정보가 도착되면 패킷 헤더 영역을 32 비트 레지스터들에 저장하고, 전체 헤더 정보가 수신될 때까지 수신 클럭에 동기시켜 수신되는 데이터를 쉬프트시킨다. 그리고, 제1 IP 패킷 헤더 검사부(302)는 상기 IP 패킷 헤더 수신부에 의해 저장된 패킷 헤드 정보의 패킷 유형 영역을 추출하여, 실제 IP 헤더 영역을 추출한다. 그리고, 제2 IP 패킷 헤더 검사부(304)는 IP 헤더내의 TTL, 버젼, 체크섬 등을 각각 추출하여 검사한다. 제2 IP 패킷 헤더 검사부(304)의 검사결과, 에러가 발생된 헤더에 대해서는 룩업 과정을 더 이상 진행시키지 않도록 하기 위해 에러 상태 정보 플래그를 설정한다. 하지만, 에러가 없으면 룩업 데이터/제어신호 발생부(306)는 룩업수행장치 정합부(307)를 통해 내용번지메모리(CAM) 기반의 하드웨어적인 룩업 제어를 위한 제어 신호와 IP 헤더/레이블 추출부(303)에 의해 추출된 IP 주소를 룩업 수행장치로 전달한다. 레이블정보 정합부(308)는 룩업 수행 결과로부터 인덱스 주소를 래치하고, 인덱스 주소를 참조하여 레이블정보 테이블의 해당 정보를 페치하여, 레이블정보 저장부(309)에 저장시킨다. 그리고, 송신헤더 변경 및 정렬부(310)에서는 레이블정보 저장부(309)에 저장된 레이블 정보로부터 채널 식별자, 송신 패킷 유형, 레이블 정보를 분석하여, 송신 패킷 유형으로부터 삽입되는 패킷 유형 정보를 생성하고, 송신 패킷 유형과 수신 패킷 유형으로부터 변경되는 길이 옵셋에 대한 값을 생성한다. 여기서 TTL, 체크섬 값 등을 다시 계산하여 송신 패킷 헤더를 다시 정렬한다. 그리고, IP 패킷헤더 송신부(311)는 송신헤더 변경 및 정렬부(310)에 의해 정렬된 IP 패킷 헤더를 송신한다.When the IP packet header information arrives, the IP packet header receiving unit 301 of the lookup control device stores the packet header area in 32-bit registers, and shifts the received data in synchronization with the reception clock until the entire header information is received. . The first IP packet header checker 302 extracts a packet type region of the packet head information stored by the IP packet header receiver, and extracts an actual IP header region. The second IP packet header checker 304 extracts and checks a TTL, a version, a checksum, and the like in the IP header, respectively. As a result of the inspection by the second IP packet header inspecting unit 304, an error status information flag is set to prevent the lookup process from proceeding with respect to the header in which the error occurs. However, if there is no error, the lookup data / control signal generator 306 may control the control signal and IP header / label extractor for hardware lookup control based on the content address memory (CAM) through the lookup apparatus matching unit 307. The IP address extracted by 303 is transferred to the lookup performing device. The label information matching unit 308 latches the index address from the result of the lookup, fetches corresponding information in the label information table with reference to the index address, and stores the index information in the label information storage unit 309. The transmission header change and alignment unit 310 analyzes a channel identifier, a transmission packet type, and label information from the label information stored in the label information storage unit 309 to generate packet type information inserted from the transmission packet type. Generates a value for the length offset that changes from the transmit packet type and the receive packet type. Here, the TTL, checksum value, etc. are recalculated to rearrange the transmission packet header. The IP packet header transmitter 311 then transmits the IP packet header arranged by the transmitter header change and alignment unit 310.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.

상기와 같이 이루어지는 본 발명에 의하면, MPLS 망에서 다양한 패킷 유형에 대하여 CPU가 관여하여 PPP, RFC1483, MPLS 레이블의 삽입된 형태를 검색하지 않고 하드웨어적으로 인식 및 분석하도록 하며 룩업 수행부로 제어 신호와 데이타를 전달하도록 하여 IP 패킷의 포워딩의 속도를 증가시켜 성능을 향상시킬 수 있다.According to the present invention made as described above, the CPU is involved in various packet types in the MPLS network to recognize and analyze in hardware without searching the inserted form of the PPP, RFC1483, MPLS label, and the control signal and data to the lookup performer It can increase the speed of IP packet forwarding to improve performance.

Claims (6)

룩업수행장치와 레이블정보 테이블을 포함하는 멀티프로토콜 레이블 스위칭(MPLS) 망의 에지 라우터에서의 인터넷프로토콜(IP) 패킷의 룩업제어장치에 있어서,In the look-up control apparatus of the Internet Protocol (IP) packet in the edge router of a multi-protocol label switching (MPLS) network comprising a look-up device and a label information table, 인터넷프로토콜 패킷 헤더를 수신하여, 패킷의 유형 및 에러 유무를 검사하고, 분석된 패킷의 유형에 따라 수신된 패킷의 헤더 및 레이블을 추출하는 패킷 헤더의 수신 및 처리수단;Receiving and processing means for receiving an Internet Protocol packet header, checking the type and error of the packet, and extracting a header and a label of the received packet according to the type of the analyzed packet; 상기 수신 및 처리수단으로부터 IP 헤더와 에러 유무 신호를 입력받아 룩업 수행을 위한 제어신호와 IP 주소를 상기 룩업수행장치로 제공하는 룩업데이타/제어신호 발생수단;Lookup data / control signal generating means for receiving an IP header and an error presence signal from the receiving and processing means and providing a control signal and an IP address for performing a lookup to the lookup performing apparatus; 상기 룩업수행장치로부터 룩업 수행의 결과로 인덱스를 수신하여, 상기 인덱스에 대응되는 레이블 정보를 상기 레이블정보 테이블로부터 페치하여 저장하는 레이블정보 페치수단; 및Label information fetching means for receiving an index as a result of performing a lookup from the lookup performing apparatus, fetching and storing label information corresponding to the index from the label information table; And 상기 레이블정보 페치수단에 의해 저장된 레이블정보로부터 각 종 정보를 추출하여 송신 패킷의 헤더 포맷에 맞추어 재 정렬함과 동시에 새로운 헤더에 대한 체크섬 정보 및 옵셋을 삽입하여 전송하는 헤더 정렬 및 송신수단Header sorting and transmitting means for extracting various kinds of information from the label information stored by the label information fetching means, rearranging the information according to the header format of the transmission packet, and inserting and inserting checksum information and offset for the new header. 을 포함하는 멀티프로토콜 레이블 스위칭(MPLS) 망의 에지 라우터에서의 인터넷프로토콜(IP) 패킷의 룩업제어장치.Device for lookup control of Internet Protocol (IP) packet in the edge router of a multi-protocol label switching (MPLS) network comprising a. 제 1 항에 있어서,The method of claim 1, 상기 룩업수행장치와 정합하기 위한 룩업수행장치 정합수단을 더 포함하는 것을 특징으로 하는 멀티프로토콜 레이블 스위칭(MPLS) 망의 에지 라우터에서의 인터넷프로토콜(IP) 패킷의 룩업제어장치.And a lookup performer matching means for matching with the lookup performer. 10. A lookup control apparatus for an Internet Protocol (IP) packet in an edge router of a multiprotocol label switching (MPLS) network. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 패킷 헤더의 수신 및 처리수단은,Receiving and processing means of the packet header, 인터넷프로토콜 패킷 정보 및 헤더 영역을 수신하는 패킷 헤더 수신수단;Packet header receiving means for receiving Internet protocol packet information and a header area; 상기 패킷 헤더 수신수단으로부터 입력된 패킷 헤더의 유형을 검사하는 제1 패킷헤더검사수단;First packet header checking means for checking a type of a packet header input from the packet header receiving means; 상기 수신된 패킷 헤더내에 포함된 버젼, 체크섬을 검사하여, 에러 유무를 확인하는 제2 패킷헤더검사수단; 및Second packet header checking means for checking a version and a checksum included in the received packet header to confirm an error; And 상기 제1 패킷헤더검사수단에 의해 확인된 패킷의 유형에 따라 시작되는 헤더 영역을 인식하여, 인터넷프로토콜 헤더 또는 레이블을 추출하는 헤더/레이블 추출수단Header / label extraction means for recognizing a header area starting from a type of a packet identified by said first packet header checking means, and extracting an Internet protocol header or label 을 포함하는 것을 특징으로 하는 멀티프로토콜 레이블 스위칭(MPLS) 망의 에지 라우터에서의 인터넷프로토콜(IP) 패킷의 룩업제어장치.Device for lookup control of the Internet Protocol (IP) packet in the edge router of the multi-protocol label switching (MPLS) network comprising a. 제 3 항에 있어서,The method of claim 3, wherein 상기 패킷 헤더 수신수단은,The packet header receiving means, 쉬프트 레지스터를 포함하여, 전체 헤더 정보가 수신될 때까지 수신 클럭에 동기시켜 수신되는 데이터를 쉬프트시켜 저장하는 것을 특징으로 하는 멀티프로토콜 레이블 스위칭(MPLS) 망의 에지 라우터에서의 인터넷프로토콜(IP) 패킷의 룩업제어장치.Internet Protocol (IP) packet in edge router of multiprotocol label switching (MPLS) network, including shift register, shifting and storing received data in synchronization with reception clock until full header information is received Lookup control device. 제 3 항에 있어서,The method of claim 3, wherein 상기 레이블정보 페치수단은,The label information fetch means, 상기 룩업수행장치 정합수단을 통해 상기 룩업수행장치로부터 전달된 인덱스를 이용해 상기 레이블정보 테이블로부터 대응되는 레이블 정보를 페치하는 레이블정보 정합수단; 및Label information matching means for fetching corresponding label information from the label information table using an index transmitted from the look-up performing apparatus through the look-up performing apparatus matching means; And 상기 레이블정보 정합수단에 의해 페치된 레이블정보를 일시 저장하는 레이블정보 저장수단Label information storage means for temporarily storing label information fetched by the label information matching means 을 포함하는 것을 특징으로 하는 멀티프로토콜 레이블 스위칭(MPLS) 망의 에지 라우터에서의 인터넷프로토콜(IP) 패킷의 룩업제어장치.Device for lookup control of the Internet Protocol (IP) packet in the edge router of the multi-protocol label switching (MPLS) network comprising a. 제 5 항에 있어서,The method of claim 5, 상기 헤더 정렬 및 송신수단은,The header alignment and transmission means, 상기 레이블정보 저장수단에 저장된 레이블정보로부터 TOS, TTL, 레이블정보, 채널 식별자, 송신 패킷의 유형 정보를 추출하고, 송신 패킷의 헤더 포맷에 대응시켜 재 정렬하되, 이때 변경된 헤더에 대한 헤더 체크섬을 계산하여 삽입하고, 패킷 유형에 따라 변하는 패킷 유형 정보 영역에 옵셋을 계산하여 삽입하는 송신헤더 변경 및 정렬수단; 및Extract TOS, TTL, label information, channel identifier, and type information of the transmission packet from the label information stored in the label information storage means, and rearrange them according to the header format of the transmission packet, wherein the header checksum for the changed header is calculated. Transmission header change and alignment means for inserting the data into the packet type information area and inserting the data into the packet type information area according to the packet type; And 상기 송신헤더 변경 및 정렬수단에 의해 정렬된 헤더를 송신 클럭에 동기시켜 송신하는 송신수단Transmitting means for transmitting the header aligned by the transmitting header changing and sorting means in synchronization with a transmitting clock; 을 포함하는 것을 특징으로 하는 멀티프로토콜 레이블 스위칭(MPLS) 망의 에지 라우터에서의 인터넷프로토콜(IP) 패킷의 룩업제어장치.Device for lookup control of the Internet Protocol (IP) packet in the edge router of the multi-protocol label switching (MPLS) network comprising a.
KR1019990061178A 1999-12-23 1999-12-23 A apparatus for high speed ip header lookup control in mpls label edge router KR100310303B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990061178A KR100310303B1 (en) 1999-12-23 1999-12-23 A apparatus for high speed ip header lookup control in mpls label edge router

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990061178A KR100310303B1 (en) 1999-12-23 1999-12-23 A apparatus for high speed ip header lookup control in mpls label edge router

Publications (2)

Publication Number Publication Date
KR20010057772A true KR20010057772A (en) 2001-07-05
KR100310303B1 KR100310303B1 (en) 2001-09-28

Family

ID=19628829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990061178A KR100310303B1 (en) 1999-12-23 1999-12-23 A apparatus for high speed ip header lookup control in mpls label edge router

Country Status (1)

Country Link
KR (1) KR100310303B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020067469A (en) * 2002-07-25 2002-08-22 크로스반도체기술 주식회사 System and method for destination address look-up of IP packet
KR20030018269A (en) * 2001-08-27 2003-03-06 한국전자통신연구원 Apparatus of IP lookup using cache forwarding table in router system, its method
KR100492490B1 (en) * 2002-10-31 2005-06-02 크로스반도체기술 주식회사 System and method for calculating checksums of TCP segments/UDP datagrams in IPv4/IPv6 protocol translation
KR100856095B1 (en) * 2006-12-13 2008-09-03 에스케이텔레시스 주식회사 Packet processing device of radio access station in wireless broadband internet system and packet processing method thereof
KR101021422B1 (en) * 2003-12-01 2011-03-14 주식회사 케이티 Method for service traffic classification for the Ethernet Line service
KR101034430B1 (en) * 2005-06-24 2011-05-12 주식회사 케이티 Method for Analyzing customer traffic flow in the MPLS VPN network
KR101045098B1 (en) * 2004-02-05 2011-06-29 주식회사 케이티 SYSTEM AND METHOD FOR PROCESSING CLASS OF IP QoS

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240055419A (en) 2022-10-20 2024-04-29 박서윤 A Vibration Isolation Mount

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030018269A (en) * 2001-08-27 2003-03-06 한국전자통신연구원 Apparatus of IP lookup using cache forwarding table in router system, its method
KR20020067469A (en) * 2002-07-25 2002-08-22 크로스반도체기술 주식회사 System and method for destination address look-up of IP packet
KR100492490B1 (en) * 2002-10-31 2005-06-02 크로스반도체기술 주식회사 System and method for calculating checksums of TCP segments/UDP datagrams in IPv4/IPv6 protocol translation
KR101021422B1 (en) * 2003-12-01 2011-03-14 주식회사 케이티 Method for service traffic classification for the Ethernet Line service
KR101045098B1 (en) * 2004-02-05 2011-06-29 주식회사 케이티 SYSTEM AND METHOD FOR PROCESSING CLASS OF IP QoS
KR101034430B1 (en) * 2005-06-24 2011-05-12 주식회사 케이티 Method for Analyzing customer traffic flow in the MPLS VPN network
KR100856095B1 (en) * 2006-12-13 2008-09-03 에스케이텔레시스 주식회사 Packet processing device of radio access station in wireless broadband internet system and packet processing method thereof

Also Published As

Publication number Publication date
KR100310303B1 (en) 2001-09-28

Similar Documents

Publication Publication Date Title
KR102402176B1 (en) Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in software-defined network engine
US6650642B1 (en) Network relaying apparatus and network relaying method capable of high-speed routing and packet transfer
US7050394B2 (en) Framer
US7299282B2 (en) State processor for pattern matching in a network monitor device
US6954789B2 (en) Method and apparatus for monitoring traffic in a network
US6771646B1 (en) Associative cache structure for lookups and updates of flow records in a network monitor
US8503450B2 (en) TCP receiver acceleration
US7095742B2 (en) Packet processing unit
US7916632B1 (en) Systems and methods for handling packet fragmentation
US6683885B1 (en) Network relaying apparatus and network relaying method
US7936758B2 (en) Logical separation and accessing of descriptor memories
WO2018178906A1 (en) Flexible processor of a port extender device
KR100798926B1 (en) Apparatus and method for forwarding packet in packet switch system
DE69837272D1 (en) MECHANISM FOR REPLACING A PACKAGE FIELD IN A MULTILAYER TRANSMISSION NETWORK ELEMENT
CA2311078A1 (en) Multithreaded address resolution system
JP2001251351A (en) Input packet processing system for packet switch
US20160028860A1 (en) Method for parsing network packets having future defined tags
US8009673B2 (en) Method and device for processing frames
KR100310303B1 (en) A apparatus for high speed ip header lookup control in mpls label edge router
US7937495B2 (en) System and method for modifying data transferred from a source to a destination
US7616662B2 (en) Parser for parsing data packets
KR100524035B1 (en) Packet distributor for distributing IP fragment packets to protocol processors without IP reassembly
US6671277B1 (en) Network relaying apparatus and network relaying method capable of high quality transfer of packets under stable service quality control
US20050141557A1 (en) Method and apparatus for parallel processing of communication protocols
US7751422B2 (en) Group tag caching of memory contents

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: 20120910

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee