KR20040073856A - 효율적인 패킷 메모리 관리 장치를 가지는 패킷 포워딩시스템 및 그의 동작방법 - Google Patents

효율적인 패킷 메모리 관리 장치를 가지는 패킷 포워딩시스템 및 그의 동작방법 Download PDF

Info

Publication number
KR20040073856A
KR20040073856A KR1020030009601A KR20030009601A KR20040073856A KR 20040073856 A KR20040073856 A KR 20040073856A KR 1020030009601 A KR1020030009601 A KR 1020030009601A KR 20030009601 A KR20030009601 A KR 20030009601A KR 20040073856 A KR20040073856 A KR 20040073856A
Authority
KR
South Korea
Prior art keywords
header
packet
trailer
buffer
packet memory
Prior art date
Application number
KR1020030009601A
Other languages
English (en)
Other versions
KR100518813B1 (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 삼성전자주식회사
Priority to KR10-2003-0009601A priority Critical patent/KR100518813B1/ko
Priority to EP20040003163 priority patent/EP1447997A3/en
Priority to US10/777,150 priority patent/US7961730B2/en
Priority to CNB2004100312086A priority patent/CN1281037C/zh
Priority to JP2004038944A priority patent/JP3899078B2/ja
Publication of KR20040073856A publication Critical patent/KR20040073856A/ko
Application granted granted Critical
Publication of KR100518813B1 publication Critical patent/KR100518813B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9021Plurality of buffers per packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0062Provisions for network management

Landscapes

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

Abstract

효율적인 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법이 개시된다. 패킷 포워딩 시스템은, 전송 단위로 데이터가 입력되는 입력부와, 데이터를 IP 패킷으로 조합하여 패킷 메모리에 기록하며 결정된 전송 순서 대로 IP 패킷의 헤더 및 상기 헤더와 연결된 트레일러의 위치정보를 상기 패킷 메모리에서 독출하는 패킷 메모리 관리부와, 독출된 상기 헤더를 이용하여 패킷 분류 및 전송 목적지를 결정하고, 헤더에 연결된 상기 트레일러의 위치정보를 상기 패킷 메모리 관리부에 재전송하는 헤더처리부, 및 헤더처리부에서 전송된 헤더와 헤더에 연결된 트레일러의 위치정보에 기초하여 패킷 메모리 관리부에서 독출된 상기 트레일러을 전송 단위의 데이터로 분할하여 채널 경로로 출력하는 출력부를 갖는다.

Description

효율적인 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법{Packet forwarding system having efficient recevie data processor and a method processing thereof}
본 발명은 전송된 패킷을 목적지에 고속으로 전달하기 위한 패킷 포워딩 시스템(Packet Forwarding system)에 관한 것으로, 보다 상세하게는 효율적인 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법에 관한 것이다.
도 1은 종래의 패킷 포워딩 시스템의 패킷 메모리 관리 장치에 대한 개략적인 블록도이다.
패킷 메모리 관리 장치는 패킷조합부(110), 컨트롤러(130), 엠프티 큐(150), 전송 큐(170), 및 패킷 메모리(190)를 갖는다.
패킷 조합부(110)는 데이터 전송 단위(예컨데, ATM 셀)로 입력되는 데이터를 조합하여 IP 패킷(Internet Protocol packet)을 생성하며, IP 패킷은 적어도 하나 이상의 일정한 길이를 갖는 서브 패킷(sub packet)으로 조합된다.
컨트롤러(130)는 서브 패킷을 패킷 메모리(190)에 리드 및 라이트하기 위해 엠프티 큐(150) 및 전송 큐(170)를 제어하며, 조합된 IP 패킷을 정해진 전송 순서대로 전달되도록 전반적인 패킷 메모리(190)를 제어한다.
엠프티 큐(Empty Queue)(150)는 패킷 메모리(190)의 빈 방 즉, 빈 버퍼의 위치 정보를 가지며, 엠프티 큐(150)는 헤드 엔트리(head entry)부터 트레일러 엔트리(tail entry)까지의 상호간에 연결정보를 갖는 스택(stack)형태로 동작한다.
전송 큐(TX Queue)(170)는 IP 패킷의 전송 순서에 대응하여 IP 패킷의 헤더 및 트레일러의 위치정보가 기록되며 FIFO 형태로 동작한다.
도 3은 도2의 종래의 전송 큐(170)에 대한 개념도이다. 전송 큐(170)는 최대 N개의 IP 패킷 헤더의 위치정보를 기록할 공간이 필요하고, 또한, IP 패킷의 최대 크기인 트레일러의 위치정보를 기록할 공간이 필요하다. 즉, 컨트롤러(130)는 전송 큐(170)에 기록된 IP 패킷의 헤더 및 트레일러 위치정보에 기초하여 패킷 메모리(190)에 기록된 IP 패킷의 헤더 및 트레일러를 각각 전송한다.
일반적으로 엠프티 큐(150)와 전송 큐(170)의 저장매체는 랜덤 동작에 성능이 우수한 SRAM을 사용하며, 패킷 메모리(190)의 저장매체는 버스트 동작에 성능이 우수한 DRAM을 사용한다. 즉, IP 패킷이 패킷 메모리(190)에 기록되는 특성을 보면, IP 패킷의 헤더는 랜덤하게 기록되나, IP 패킷의 헤더에 따른 트레일러는 상호 연결정보를 갖고 버스트하게 기록된다.
따라서, 저장매체의 특성 및 저장매체에 기록되는 데이터의 특성에 따라서 종래의 전송 큐(170)의 사용 효율이 저하되는 문제점을 갖는다.
또한, 비용면에서도 큰 용량의 전송 큐, SRAM을 사용함에 따라서 역시, 비효율적이다.
상기와 같은 문제점을 해결하기 위한 본 발명에 따른 목적은, 패킷 메모리에숨겨진 IP 패킷의 트레일러 큐를 제안함으로써 효율적인 패킷 메모리 관리가 가능한 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법을 제공하는 것이다.
도 1은 종래의 패킷 메모리 관리 시스템에 대한 블록도,
도 2는 도 1의 전송 큐에 대한 개념도,
도 3은 본 발명에 따른 패킷 포워딩 시스템에 대한 개략적인 블록도,
도 4는 도 3의 패킷 메모리 관리부(400)에 대한 개략적인 블록도,
도 5는 도 4의 엠프티 큐에 대한 구조 및 특성을 설명하기 위한 개념도,
도 6은 도 4의 전송 헤더큐에 대한 구조 및 특성을 설명하기 위한 개념도,
도 7a는 도 4의 패 킷 메모리에 대한 구조도,
도 7b는 도 4의 버퍼내 기록되는 디스크립터 및 태그 포맷을 나타낸 도,
도 8은 본 발명에 따른 패킷 메모리의 관리방법을 설명하기 위한 개념도, 그리고,
도 9는 본 발명에 따른 패킷 메모리의 관리방법에 대한 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
400 : 패킷 메모리 관리부 410 : 패킷조합부
430 : 컨트롤러 450 : 엠프티 큐
470 : 전송 헤더큐 490 : 패킷 메모리
491 : 트레일러큐 600 : 헤더처리부
800 : 출력부
상기 목적을 달성하기 위한 본 발명에 따른 효율적인 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템은, 전송 단위로 데이터가 입력되는 입력부와, 상기 데이터를 IP 패킷으로 조합하여 패킷 메모리에 기록하며 결정된 전송 순서 대로 상기 IP 패킷의 헤더 및 상기 헤더와 연결된 트레일러의 위치정보를 상기 패킷 메모리에서 독출하는 패킷 메모리 관리부와, 독출된 상기 헤더를 이용하여 패킷 분류 및 전송 목적지를 결정하고, 상기 헤더에 연결된 상기 트레일러의 위치정보를 상기 패킷 메모리 관리부에 재전송하는 헤더처리부, 및 상기 헤더처리부에서 전송된 상기 헤더와 상기 헤더에 연결된 상기 트레일러의 위치정보에 기초하여 상기 패킷 메모리 관리부에서 독출된 상기 트레일러을 상기 전송 단위의 데이터로 분할하여 채널 경로로 출력하는 출력부를 갖는다.
상기 패킷 메모리 관리부는, 입력되는 데이터를 이용하여 상기 IP 패킷으로 조합하는 패킷조합부와, 상기 IP 패킷을 기록하는 다수의 버퍼를 가지며 상기 버퍼 내에는 상기 버퍼의 속성정보 및 상기 헤더와 연결된 상기 트레일러의 위치정보가 기록되는 패킷 메모리와, 상기 IP 패킷의 전송순서에 대응하여 상기 헤더의 위치정보가 기록되는 전송 헤더큐, 및 상기 전송 헤더큐에서 의해 결정된 전송순서에 대응하여 상기 헤더 및 상기 헤더와 연결된 트레일러의 위치정보를 상기 패킷 메모리에서 독출하여 상기 헤더처리부에 전송하는 컨트롤러를 갖는다.
상기 컨트롤러는, 상기 헤더처리부로부터 상기 헤더와 연결된 상기 트레일러의 위치정보가 재전송되는 경우 상기 트레일러의 위치정보에 대응하는 버퍼에서 상기 헤더와 연결된 상기 트레일러를 독출하여 상기 출력부에 전송한다.
또한, 상기 컨트롤러는, 상기 트레일러의 위치정보에 대응하는 버퍼의 속성정보를 이용하여 상기 트레일러와 연결되는 다른 트레일러의 유무를 확인하여 상기 다른 트레일러가 존재하는 경우 상기 다른 트레일러를 독출하여 상기 출력부에 전송한다.
상기 버퍼의 속성정보는, 상기 버퍼와 전후에 연결된 버퍼의 위치정보, 및 상기 버퍼에 기록된 상기 트레일러 다음에 연결되는 상기 다른 트레일러가 존재여부에 대한 정보를 갖는다.
한편, 본 발명에 따른 패킷 포워딩 방법은, 전송 단위로 데이터가 입력되는 단계; 상기 데이터를 IP 패킷으로 조합하여 패킷 메모리에 기록하며, 결정된 전송 순서 대로 상기 IP 패킷의 헤더 및 상기 헤더와 연결된 트레일러의 위치정보를 상기 패킷 메모리에서 독출하여 전송하는 패킷 메모리 관리단계; 독출된 상기 헤더를 이용하여 패킷 분류 및 전송 목적지를 결정하고, 상기 헤더에 연결된 상기 트레일러의 위치정보를 상기 패킷 메모리 관리단계에 재전송하는 헤더처리단계; 및 상기 헤더처리단계에서 전송된 상기 헤더와 상기 헤더에 연결된 상기 트레일러의 위치정보에 기초하여 상기 패킷 메모리 관리단계에서 독출된 상기 트레일러을 상기 전송 단위의 데이터로 분할하여 채널 경로로 출력하는 출력단계;를 가지는 것을 특징으로 한다.
상기 패킷 메모리 관리단계는, 입력되는 데이터를 이용하여 상기 IP 패킷으로 조합하는 단계; 상기 IP 패킷을 다수의 버퍼에 기록하며 상기 버퍼 내에는 상기 버퍼의 속성정보 및 상기 헤더와 연결된 상기 트레일러의 위치정보를 기록하는 단계; 결정된 전송순서에 대응하여 상기 헤더 및 상기 헤더와 연결된 트레일러의 위치정보를 상기 패킷 메모리에서 독출하여 상기 헤더처리단계로 전송하는 단계;를 갖는다.
상기 패킷 메모리 관리단계는, 상기 헤더처리단계로부터 상기 헤더와 연결된 상기 트레일러의 위치정보가 재전송되는 경우, 상기 트레일러의 위치정보에 대응하는 버퍼에서 상기 헤더와 연결된 상기 트레일러를 독출하여 상기 출력단계에 전송하는 단계;를 갖는다.
또한, 상기 패킷 메모리 관리단계는, 상기 트레일러의 위치정보에 대응하는 버퍼의 속성정보를 이용하여 상기 트레일러와 연결되는 다른 트레일러의 유무를 확인하여 상기 다른 트레일러가 존재하는 경우 상기 다른 트레일러를 독출하여 상기 출력단계에 전송하는 단계;를 갖는다.
따라서, 헤더 큐 및 트레일러 큐의 동작 특성에 맞는 저장매체를 사용함으로써 패킷 메모리 관리을 보다 효율적으로 수행할 수 있다. 또한, 고속의 패킷 처리가 필요한 패킷 포워딩 시스템에서 헤더처리에 걸리는 시간적 문제로 인한 성능저하를 해결할 수 있다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 3은 본 발명에 따른 패킷 포워딩 시스템(Packet forwarding system)에 대한 개략적인 블록도이다. 패킷 포워딩 시스템은 입력부(200), 패킷 메모리 관리부(400), 헤더처리부(600), 및 출력부(800)로 구성된다.
입력부(200)는 외부 디바이스와 패킷 포워딩 시스템이 연결되는 인터페이스이며, 소정의 데이터 전송 단위로 데이터가 입력된다. 여기서, 소정의 데이터 전송 단위는, 예컨데, ATM 셀(cell)단위 이다.
패킷 메모리 관리부(400)는 입력되는 전송 데이터 단위의 데이터, 예컨데, ATM 셀의 헤더를 제거하고, 헤더가 제거된 ATM 셀을 조합하여 IP 패킷을 생성한다. 생성된 IP 패킷를 관리하여 전송 순서를 정하고 정해진 전송 순서대로 IP 패킷을 출력한다. 본 발명에 따른 패킷 메모리 관리부(400)는 상세하게 후술된다.
헤더처리부(600)는 패킷 메모리 관리부(400)로부터 제공되는 IP 패킷의 헤더를 이용하여 패킷 분류 및 전송할 목적지를 결정한다. IP 패킷의 헤더에는 목적지 어드레스, 발신지 어드레스 또는 기타 데이터에 따라 다양한 형태의 서비스가 제공된다. IP 패킷의 헤더에 포함된 목적지 어드레스를 이용하여 전송할 목적지를 결정한다.
출력부(800)는 헤더처리부(600) 및 패킷 메모리 관리부(800)에서 각각 제공되는 IP 패킷의 헤더 및 트레일러를 소정의 데이터 전송 단위, 예컨데, ATM 셀 단위로 분할한다. 분할된 각각의 ATM 셀에 ATM 헤더를 생성하여 채널 경로로 출력한다.
도 4는 본 발명에 따른 패킷 메모리 관리부(400)에 대한 상세한 블록도이며,도 5 내지 도 7b를 참조하여 상세하게 설명한다.
패킷 메모리 관리부(400)는 패킷 조합부(410), 컨트롤러(430), 엠프티 큐(450), 전송 헤더큐(470), 및 패킷 메모리(490)를 갖는다.
패킷 조합부(410)는 데이터 전송 단위(예컨데, ATM 셀)로 입력되는 데이터를 조합하여 IP 패킷을 생성하며, IP 패킷은 적어도 하나 이상의 일정한 길이를 갖는 서브 패킷(sub packet)을 갖는다.
컨트롤러(430)는 서브 패킷을 패킷 메모리(490)에 리드 및 라이트하기 위해 엠프티 큐(450) 및 전송 헤더큐(470)를 제어하며, 전송 헤더큐(470)에 의해 정해진 IP 패킷의 헤더를 전송 순서대로 헤더처리부(600)로 전송한다. 또한, 헤더와 연결되는 트레일러의 위치정보를 가지는 태그를 생성하여 헤더처리부(600)에 헤더를 전송할 때, 해당 헤더의 태그를 함께 전송한다.
엠프티 큐(450)는 패킷 메모리(490)의 빈 방 즉, 빈 버퍼의 위치 정보를 갖는다. 엠프티 큐(450)의 구조 및 특성은, 도 5에 도시된 바와 같이, 엠프티 큐(450)의 헤드 엔트리 Empty_Link_Head(0h)부터 테일 엔트리 Empty_Link_Tail(N-1h)까지의 상호 연결정보를 갖는 스택(stack)형태로 동작한다.
전송 헤더큐(470)는 IP 패킷의 전송 순서에 대응하는 IP 패킷의 헤더의 위치 정보가 기록된다. 전송 헤더큐(470)의 구조 및 특성은, 도 6에 도시된 바와 같이, 전송해야 할 IP 패킷의 헤더 정보가 FIFO 형태로 동작한다. 한편, 트레일러큐(491)는 패킷 메모리(490)에 포함된다.
패킷 메모리(490)는 다수의 버퍼를 가지며, 엠프티 큐(450)에서 제공되는 빈버퍼의 위치정보에 기초하여 IP 패킷은 서브 패킷 단위로 기록된다. 한편, 트레일러 큐(491)를 갖는다. 패킷 메모리(490)에 포함된 트레일러 큐(491)는 도 7a 및 도 7b를 참고하여 설명한다.
도 7a 및 도 7b는 패킷 메모리(490)에 대한 일 예를 도시한 도이다. 도 7a는 버퍼(B) 크기가 512byte인 N개(N= 128K)의 버퍼(B)를 갖는 패킷 메모리(490)를 도시한 것이며, 도 7b는 각각의 버퍼(B)에 포함된 디스크립터(D:descriptor) 및 태그(T:tag)에 대한 포맷을 도시한 것이다. 도 7a 및 도 7b에 도시된 패킷 메모리(490)에 포함된 트레일러 큐(491)에 대한 설명을 위한 것이며, 구조 및 설계는 다양하게 될 수 있다.
도 7b에 도시된 바와 같이, 태그(T) 내에는 트레일러의 위치 정보(Trailer buffer pointer)가 포함되며, 디스크립터(D) 내에는 해당 버퍼 이후에 트레일러가 존재하는지에 대한 정보 N(Next Trailer exist)를 갖는다. 즉, 해당 버퍼 이후에 트레일러가 존재하는 경우, 다음의 버퍼 위치 정보(next buffer pointer)는 이후의 트레일러가 존재하는 버퍼의 위치 정보가 된다. 이와 같은 방식에 의해 패킷 메모리(490)내의 트레일러 큐(491)가 동작된다.
따라서, 패킷 메모리(490)에 사용되는 버스트한 동작 특성을 갖는 DRAM을 사용하여 버스트한 동작 특성을 갖는 트레일러 큐의 동작시킴으로써 보다 효율적으로 패킷 메모리를 관리할 수 있게 된다. 또한, 전송 헤더큐(470)에 사용되는 비용이 비싼 SRAM의 용량을 줄임으로써 경제적인 면에서도 보다 효율적이다.
더불어, 종래의 전송 큐 방식을 갖는 패킷 포워딩 시스템은헤더처리부(600)에서 IP 패킷의 헤더 뿐만아니라 사용되지 않는 트레일러까지 전송됨에 따른 헤더처리에 걸리는 불필요한 시간소비에 따른 성능저하의 문제를 해결할 수 있게 된다. 즉, 본 발명에 따른 전송 헤더큐(470)는 IP 패킷의 헤더 만을 헤더처리부(600)에 전송하며, 함께 전송된 태그에 의해 헤더와 연결된 트레일러를 패킷 메모리(490)에서 독출하여 직접 출력부(800)로 전송함으로써 헤더처리에 걸리는 불필요한 시간소비를 막을 수 있게 된다.
도 8 및 도 9를 참조하여 본 발명에 따른 패킷 포워딩 시스템에서 효율적으로 패킷 메모리를 관리하는 방법을 상세하게 설명한다.
패킷 조합부(410)에서 조합된 IP 패킷(A)은 서브 패킷 A1, A2, A3로 이루어진다(S811). 컨트롤러(430)는 엠프트 큐(450)에서 제공하는 패킷 메모리(490)의 버퍼 중 빈 버퍼의 위치 정보에 기초하여 서브 패킷 A1, A2, A3을 할당된 버퍼(B0, B2, B6)에 각각 기록한다. 이때, 각각의 버퍼(B0, B2, B6)내의 디스크립터 및 태그에 서브 패킷 A1, A2, A3의 상호 연결정보를 기록한다(S813).
즉, IP 패킷의 헤더인 서브 패킷 A1의 태그에는 연결된 트레일러인 서브 패킷 A2이 기록된 버퍼 B2의 위치 정보를 기록한다. 또한, 트레일러 A2가 기록된 버퍼 B2의 디스크립터에는 이후에 연결된 트레일러의 존재여부에 대한 정보(N)를 기록하고, 버퍼 B2에 연결된 버퍼 B6의 위치 정보를 기록한다. 이와 같이, 패킷 메모리(490)에 기록되는 서브 패킷 A1, A2, A3는 상호 연결 정보를 갖는다.
패킷 메모리(490)에 기록된 서브 패킷 A1, A2, A3 중 IP 패킷의 헤더인 A1의 위치 정보는 전송 헤더큐(470)에 기록된다.
이후, 이상과 같은 과정을 반복하여 전송 헤더큐(470)에 전송 순서가 결정된 헤더의 위치 정보가 모두 기록되면 컨트롤러(430)는 전송 헤더큐(470)의 헤드 엔트리의 위치 정보를 이용하여 해당하는 헤더를 독출하여 헤더처리부(600)에 전송한다(S815). 예컨데, 전송 헤더큐(470)의 헤드 엔트리가 헤더 A1이 기록된 버퍼 B0의 위치 정보인 경우, 컨트롤러(430)는 헤더 A1을 헤더처리부(600)에 전송하고, 또한, 버퍼 B0의 태그를 헤더 A1과 함께 헤더처리부(600)에 전송한다. 헤더 A1이 헤더처리부(600)에 전송됨과 동시에 컨트롤러(430)는 헤더 A1이 기록되었던 버퍼 B0의 위치 정보을 엠프티 큐(450)에 업데이트한다.
이 후, 헤더처리부(600)에서는 IP 패킷(A)의 헤더 A1에 포함된 다양한 정보를 이용하여 패킷 분류 및 전송할 목적지를 결정한다. 헤더처리부(600)의 동작이 종료되면, 헤더처리부(600)는 태그에 포함된 헤더 A1과 연결된 트레일러 A2가 기록된 버퍼 B2의 위치 정보(Trailer buffer pointer)를 패킷 메로리 관리부(400)의 컨트롤러(430)에 재전송함으로써 헤더 A1에 연결된 트레일러 A2를 요청하게 된다(S817). 물론, 헤더에 연결된 트레일러가 없을 경우에는 트레일러 요청 이하의 동작은 생략된다.
컨트롤러(430)는 재전송된 버퍼 B2의 위치 정보를 이용하여 트레일러 A2를 독출하고, 버퍼 B2의 디스크립터에 포함된 N(Next Trailer exist) 및 next buffer pointer를 이용하여 버퍼 B6의 위치 정보를 얻을 수 있다. 이에 의해 버퍼 B6에 기록된 트레일러 A3를 독출한다(S819). 이때, 컨트롤러(430)는 버퍼 B2 및 B6의 위치 정보는 엠프티 큐(450)에 업데이트한다.
이렇게 패킷 메모리(490)에 포함된 트레일러 큐에 의해 독출된 트레일러 A2, A3는 출력부(800)에 전송되며, 헤더 A1은 헤더처리부(600)에서 처리된 후 출력부(800)에 전송된다.
출력부(800)는 제공된 IP 패킷을 데이터 전송 단위로 분할하여 채널 경로로 출력한다.
따라서, 헤더 큐 및 트레일러 큐의 동작 특성에 맞는 저장매체를 사용함으로써 패킷 메모리 관리을 보다 효율적으로 수행할 수 있다.
또한, 고속의 패킷 처리가 필요한 패킷 포워딩 시스템에서 헤더처리에 걸리는 시간적 문제로 인한 성능저하를 해결할 수 있다.
본 발명에 따르면, 첫째, 패킷 메모리의 관리를 보다 효율적으로 할 수 있고, 둘째, 패킷 메모리의 구현에 있어 비용을 절감할 수 있다.
세째로, 고속의 패킷 처리가 필요한 패킷 포워딩 시스템에서 헤더처리에 걸리는 시간적 문제로 인한 성능저하를 해결할 수 있다. 이에 따라서, 전체 IP 패킷 중 헤더 만을 헤더처리부에 보내어 헤더를 처리함으로써 고속으로 패킷을 포워딩할 수 있다. 이에 의해 라우터, 스위치, 게이트웨이 등에서 향상된 성능을 얻을 수 이다.
이상에서는 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.

Claims (10)

  1. 전송 단위로 데이터가 입력되는 입력부;
    상기 데이터를 IP 패킷(Internet Protocol packet)으로 조합하여 패킷 메모리에 기록하며, 결정된 전송 순서 대로 상기 IP 패킷의 헤더 및 상기 헤더와 연결된 트레일러의 위치정보를 상기 패킷 메모리에서 독출하는 패킷 메모리 관리부;
    독출된 상기 헤더를 이용하여 패킷 분류 및 전송 목적지를 결정하고, 상기 헤더에 연결된 상기 트레일러의 위치정보를 상기 패킷 메모리 관리부에 재전송하는 헤더처리부; 및
    상기 헤더처리부에서 전송된 상기 헤더와, 상기 헤더에 연결된 상기 트레일러의 위치정보에 기초하여 상기 패킷 메모리 관리부에서 독출된 상기 트레일러을 상기 전송 단위의 데이터로 분할하여 채널 경로로 출력하는 출력부;를 포함하는 것을 특징으로 패킷 포워딩 시스템.
  2. 제 1항에 있어서,
    상기 패킷 메모리 관리부는,
    입력되는 데이터를 이용하여 상기 IP 패킷으로 조합하는 패킷조합부;
    상기 IP 패킷을 기록하는 다수의 버퍼를 가지며, 상기 버퍼 내에는 상기 버퍼의 속성정보 및 상기 헤더와 연결된 상기 트레일러의 위치정보가 기록되는 패킷 메모리;
    상기 IP 패킷의 전송순서에 대응하여 상기 헤더의 위치정보가 기록되는 전송 헤더큐; 및
    상기 전송 헤더큐에서 의해 결정된 전송순서에 대응하여 상기 헤더 및 상기 헤더와 연결된 트레일러의 위치정보를 상기 패킷 메모리에서 독출하여 상기 헤더처리부에 전송하는 컨트롤러;를 포함하는 것을 특징으로 하는 패킷 포워딩 시스템.
  3. 제 2항에 있어서,
    상기 컨트롤러는,
    상기 헤더처리부로부터 상기 헤더와 연결된 상기 트레일러의 위치정보가 재전송되는 경우, 상기 트레일러의 위치정보에 대응하는 버퍼에서 상기 헤더와 연결된 상기 트레일러를 독출하여 상기 출력부에 전송하는 것을 특징으로 하는 패킷 포워딩 시스템.
  4. 제 2항에 있어서,
    상기 컨트롤러는,
    상기 트레일러의 위치정보에 대응하는 버퍼의 속성정보를 이용하여 상기 트레일러와 연결되는 다른 트레일러의 유무를 확인하여 상기 다른 트레일러가 존재하는 경우 상기 다른 트레일러를 독출하여 상기 출력부에 전송하는 것을 특징으로 하는 패킷 포워딩 시스템.
  5. 제 2항에 있어서,
    상기 버퍼의 속성정보는,
    상기 버퍼와 전후에 연결된 버퍼의 위치정보, 및 상기 버퍼에 기록된 상기 트레일러 다음에 연결되는 상기 다른 트레일러가 존재여부에 대한 정보를 포함하는 것을 특징으로 하는 패킷 포워딩 시스템.
  6. 전송 단위로 데이터가 입력되는 단계;
    상기 데이터를 IP 패킷으로 조합하여 패킷 메모리에 기록하며, 결정된 전송 순서 대로 상기 IP 패킷의 헤더 및 상기 헤더와 연결된 트레일러의 위치정보를 상기 패킷 메모리에서 독출하여 전송하는 패킷 메모리 관리단계;
    독출된 상기 헤더를 이용하여 패킷 분류 및 전송 목적지를 결정하고, 상기 헤더에 연결된 상기 트레일러의 위치정보를 상기 패킷 메모리 관리단계에 재전송하는 헤더처리단계; 및
    상기 헤더처리단계에서 전송된 상기 헤더와, 상기 헤더에 연결된 상기 트레일러의 위치정보에 기초하여 상기 패킷 메모리 관리단계에서 독출된 상기 트레일러을 상기 전송 단위의 데이터로 분할하여 채널 경로로 출력하는 출력단계;를 포함하는 것을 특징으로 패킷 포워딩 방법.
  7. 제 6항에 있어서,
    상기 패킷 메모리 관리단계는,
    입력되는 데이터를 이용하여 상기 IP 패킷으로 조합하는 단계;
    상기 IP 패킷을 다수의 버퍼에 기록하며, 상기 버퍼 내에는 상기 버퍼의 속성정보 및 상기 헤더와 연결된 상기 트레일러의 위치정보를 기록하는 단계; 및
    결정된 전송순서에 대응하여 상기 헤더 및 상기 헤더와 연결된 트레일러의 위치정보를 상기 패킷 메모리에서 독출하여 상기 헤더처리단계로 전송하는 단계;를 포함하는 것을 특징으로 하는 패킷 포워딩 방법.
  8. 제 7항에 있어서,
    상기 패킷 메모리 관리단계는,
    상기 헤더처리단계로부터 상기 헤더와 연결된 상기 트레일러의 위치정보가 재전송되는 경우, 상기 트레일러의 위치정보에 대응하는 버퍼에서 상기 헤더와 연결된 상기 트레일러를 독출하여 상기 출력단계에 전송하는 단계;를 더 포함하는 것을 특징으로 하는 패킷 포워딩 방법.
  9. 제 7항에 있어서,
    상기 패킷 메모리 관리단계는,
    상기 트레일러의 위치정보에 대응하는 버퍼의 속성정보를 이용하여 상기 트레일러와 연결되는 다른 트레일러의 유무를 확인하여 상기 다른 트레일러가 존재하는 경우 상기 다른 트레일러를 독출하여 상기 출력단계에 전송하는 단계;를 더 포함하는 것을 특징으로 하는 패킷 포워딩 방법.
  10. 제 7항에 있어서,
    상기 버퍼의 속성정보는,
    상기 버퍼와 전후에 연결된 버퍼의 위치정보, 및 상기 버퍼에 기록된 상기 트레일러 다음에 연결되는 상기 다른 트레일러가 존재여부에 대한 정보를 포함하는 것을 특징으로 하는 패킷 포워딩 방법.
KR10-2003-0009601A 2003-02-15 2003-02-15 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법 KR100518813B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR10-2003-0009601A KR100518813B1 (ko) 2003-02-15 2003-02-15 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법
EP20040003163 EP1447997A3 (en) 2003-02-15 2004-02-12 Packet forwarding system having a packet management unit and an operating method thereof
US10/777,150 US7961730B2 (en) 2003-02-15 2004-02-13 Packet forwarding system having an efficient packet management unit and an operation method thereof
CNB2004100312086A CN1281037C (zh) 2003-02-15 2004-02-15 具有有效分组管理单元的分组转发系统及其操作方法
JP2004038944A JP3899078B2 (ja) 2003-02-15 2004-02-16 パケットフォワーディングシステムおよびその動作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0009601A KR100518813B1 (ko) 2003-02-15 2003-02-15 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법

Publications (2)

Publication Number Publication Date
KR20040073856A true KR20040073856A (ko) 2004-08-21
KR100518813B1 KR100518813B1 (ko) 2005-10-05

Family

ID=32677880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0009601A KR100518813B1 (ko) 2003-02-15 2003-02-15 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법

Country Status (5)

Country Link
US (1) US7961730B2 (ko)
EP (1) EP1447997A3 (ko)
JP (1) JP3899078B2 (ko)
KR (1) KR100518813B1 (ko)
CN (1) CN1281037C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10187330B2 (en) 2016-11-10 2019-01-22 Korea University Research And Business Foundation High-speed packet processing system and control method thereof

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100518813B1 (ko) * 2003-02-15 2005-10-05 삼성전자주식회사 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법
US7733907B2 (en) 2006-04-07 2010-06-08 Microsoft Corporation Combined header processing for network packets
US8160084B2 (en) * 2006-09-22 2012-04-17 Nokia Corporation Method for time-stamping messages
JP5517305B2 (ja) * 2008-03-10 2014-06-11 コーニンクレッカ フィリップス エヌ ヴェ 充電ドッキングステーションを持つecg監視システム
CN102467471A (zh) * 2010-11-04 2012-05-23 瑞昱半导体股份有限公司 存储器存取装置及方法
US10367752B2 (en) * 2016-11-18 2019-07-30 International Business Machines Corporation Data packet management in a memory constrained environment

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446900A (en) * 1992-07-24 1995-08-29 Microtec Research, Inc. Method and apparatus for statement level debugging of a computer program
US6046999A (en) * 1996-09-03 2000-04-04 Hitachi, Ltd. Router apparatus using ATM switch
US6791947B2 (en) * 1996-12-16 2004-09-14 Juniper Networks In-line packet processing
US7167927B2 (en) * 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
KR100450942B1 (ko) * 1999-11-22 2004-10-02 삼성전자주식회사 이더넷 스위치에서의 어드레스 서치 장치 및 방법
KR100579139B1 (ko) * 1999-12-24 2006-05-12 한국전자통신연구원 비동기전송모드 기반의 스위칭 시스템을 위한 고속 인터넷프로토콜 패킷 포워딩 장치 및 그 방법과 그를 이용한 라우팅 시스템
KR100310288B1 (ko) * 1999-12-24 2001-09-28 오길록 라우터 시스템에서의 파이프 라인 룩업 처리를 위한포워딩 엔진장치
JP4294821B2 (ja) * 2000-01-26 2009-07-15 株式会社日立製作所 ネットワーク中継装置
US6977930B1 (en) * 2000-02-14 2005-12-20 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US6704794B1 (en) * 2000-03-03 2004-03-09 Nokia Intelligent Edge Routers Inc. Cell reassembly for packet based networks
US6381242B1 (en) * 2000-08-29 2002-04-30 Netrake Corporation Content processor
KR100358153B1 (ko) * 2000-12-18 2002-10-25 한국전자통신연구원 서비스 품질을 지원하는 아이피 패킷 포워딩 분산 처리장치 및 그 방법
US20020078246A1 (en) * 2000-12-19 2002-06-20 Ing-Simmons Nicholas K. Method and system for network protocol processing
US6539460B2 (en) * 2001-01-19 2003-03-25 International Business Machines Corporation System and method for storing data sectors with header and trailer information in a disk cache supporting memory compression
EP1382165A2 (en) * 2001-04-13 2004-01-21 MOTOROLA INC., A Corporation of the state of Delaware Manipulating data streams in data stream processors
DE10119754B4 (de) * 2001-04-23 2007-11-29 Infineon Technologies Ag Verfahren und Vorrichtung zum Speichern von Datenpaketen
US7085850B2 (en) * 2001-08-22 2006-08-01 International Business Machines Corporation Stateless message processing scheme for network processors interactions
US7487264B2 (en) * 2002-06-11 2009-02-03 Pandya Ashish A High performance IP processor
KR100518813B1 (ko) * 2003-02-15 2005-10-05 삼성전자주식회사 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법
KR100489685B1 (ko) * 2003-02-20 2005-05-17 삼성전자주식회사 패킷 제어기와 네트워크 프로세서간의 패킷 전송을 위한패킷 송수신 장치와 그 방법
KR100512949B1 (ko) * 2003-02-28 2005-09-07 삼성전자주식회사 필드레벨 트리를 이용한 패킷분류장치 및 방법
US20040184450A1 (en) * 2003-03-19 2004-09-23 Abdu H. Omran Method and system for transport and routing of packets over frame-based networks
KR100548214B1 (ko) * 2003-12-10 2006-02-02 삼성전자주식회사 복수의 인터페이스를 통해 패킷을 전송하기 위한 정보 독출을 미리 수행하여 패킷 전송을 빠르게 수행하는 패킷 포워딩 시스템 및 그 방법
US7519699B2 (en) * 2004-08-05 2009-04-14 International Business Machines Corporation Method, system, and computer program product for delivering data to a storage buffer assigned to an application
US8199781B2 (en) * 2004-12-14 2012-06-12 Samsung Electronics Co., Ltd Device and method for demultiplexing received transport stream in digital broadcasting receiver
US7523179B1 (en) * 2004-12-14 2009-04-21 Sun Microsystems, Inc. System and method for conducting direct data placement (DDP) using a TOE (TCP offload engine) capable network interface card
KR100675850B1 (ko) * 2005-10-12 2007-02-02 삼성전자주식회사 AXI 프로토콜을 적용한 NoC 시스템
US7644343B2 (en) * 2006-01-17 2010-01-05 Rajugopal Gubbi Error resilience methods for multi-protocol encapsulation forward error correction implementations
KR100831983B1 (ko) * 2006-12-08 2008-05-23 한국전자통신연구원 이동통신 시스템에서 상향링크 프레이밍 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10187330B2 (en) 2016-11-10 2019-01-22 Korea University Research And Business Foundation High-speed packet processing system and control method thereof

Also Published As

Publication number Publication date
EP1447997A2 (en) 2004-08-18
JP2004248302A (ja) 2004-09-02
US7961730B2 (en) 2011-06-14
CN1281037C (zh) 2006-10-18
JP3899078B2 (ja) 2007-03-28
EP1447997A3 (en) 2005-06-01
US20040215814A1 (en) 2004-10-28
CN1531283A (zh) 2004-09-22
KR100518813B1 (ko) 2005-10-05

Similar Documents

Publication Publication Date Title
US11916781B2 (en) System and method for facilitating efficient utilization of an output buffer in a network interface controller (NIC)
US6343072B1 (en) Single-chip architecture for shared-memory router
US20030061269A1 (en) Data flow engine
US20070159970A1 (en) Power reduction in switch architectures
US20080240110A1 (en) Memory system with apparatus and method to enable balanced bandwidth utilization
US11425057B2 (en) Packet processing
US20170153852A1 (en) Multi-port memory controller capable of serving multiple access requests by accessing different memory banks of multi-bank packet buffer and associated packet storage design
EP0935403A2 (en) ATM communication apparatus and recording medium therefor
US5864553A (en) Multiport frame exchange system
KR100518813B1 (ko) 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법
JPH10224380A (ja) アドレスを備えたヘッダと音声またはビデオなどのストリーミングデータを構成するペイロードとを有するセルを非同期転送モード(atm)で転送するための電気通信システムおよび方法
US7580410B2 (en) Extensible protocol processing system
KR950026148A (ko) 버퍼를 갖는 링 통신망 노드장치 및 그 제어 방법
US6968391B2 (en) Switch with compressed packet storage
US7756131B2 (en) Packet forwarding system capable of transferring packets fast through interfaces by reading out information beforehand for packet forwarding and method thereof
US9055008B1 (en) Device and process for efficient multicasting
US8782287B2 (en) Methods and apparatus for using multiple reassembly memories for performing multiple functions
US6301259B1 (en) Switch and switching method
US20230388253A1 (en) Packet forwarding system and associated packet forwarding method
JP2017212487A (ja) Ipフラグメント装置、ipデフラグメント装置、ipフラグメントパケット通信システム、ipフラグメントパケット送信方法、ipフラグメントパケットのデフラグメント方法、ipフラグメントパケットの通信方法及びプログラム
US20070133604A1 (en) Virtual network adapter for automatically maximizing frame sizes and avoiding physical network IP fragmentation
US7293130B2 (en) Method and system for a multi-level memory
CN117201641A (zh) 封包转送系统及封包转送方法
CN115580584A (zh) 一种报文处理方法以及装置
KR20030069671A (ko) 통신 시스템에서 셀 전송 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
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: 20080708

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee