KR100541987B1 - 우선 순위에 따른 패킷 전송 장치 및 방법 - Google Patents

우선 순위에 따른 패킷 전송 장치 및 방법 Download PDF

Info

Publication number
KR100541987B1
KR100541987B1 KR1020030043839A KR20030043839A KR100541987B1 KR 100541987 B1 KR100541987 B1 KR 100541987B1 KR 1020030043839 A KR1020030043839 A KR 1020030043839A KR 20030043839 A KR20030043839 A KR 20030043839A KR 100541987 B1 KR100541987 B1 KR 100541987B1
Authority
KR
South Korea
Prior art keywords
blocks
information
block
packet
priority
Prior art date
Application number
KR1020030043839A
Other languages
English (en)
Other versions
KR20050002461A (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 KR1020030043839A priority Critical patent/KR100541987B1/ko
Priority to DE102004030337A priority patent/DE102004030337B4/de
Priority to US10/879,097 priority patent/US7436768B2/en
Publication of KR20050002461A publication Critical patent/KR20050002461A/ko
Application granted granted Critical
Publication of KR100541987B1 publication Critical patent/KR100541987B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3072Packet splitting

Landscapes

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

Abstract

제 1 포트로부터 제공되는 패킷을 복수의 블록들로 분할하여 우선 순위에 따라 상기 블록들을 제 2 포트에 전송하는 우선 순위에 따른 패킷 전송 장치에 관한 발명을 개시한다. 각 포트 제어부들은 N(N은 64이상의 정수)바이트 단위로 분할된 복수의 블록들을 제 1 포트로부터 수신하여 상기 블록들을 각기 제공하고, 상기 블록들의 우선 순위를 판단하여 상기 우선 순위 정보를 각기 제공하며, 상기 제공된 블록들을 우선 순위에 따라 제 2 포트에 각기 제공한다. 룩업부는 상기 블록들을 제공받아 소스 주소, 목적지 주소, 패킷 길이 및 맥 주소 정보를 가지는 룩업 테이블을 생성하고, 상기 생성된 룩업 테이블에 대한 정보를 제공하며, 패킷 메모리는 상기 블록들을 저장한다. 큐 매니저는 상기 패킷 메모리와 정보 교환하여 상기 패킷 메모리의 상태를 모니터하고, 상기 우선 순위 정보 및 상기 룩업 테이블에 대한 정보를 이용하여 블록 전송 신호 및 잉여 블록 전송 신호를 발생시키고, 상기 블록 전송 신호, 상기 잉여 블록 전송 신호 및 상기 패킷 메모리의 상태 정보를 제공한다. 제 1 포트로부터 제공된 상기 패킷이 동일한 크기를 가지는 복수의 블록들로 분할되므로, 상기 패킷이 우선 순위에 따라 정확하게 전송될 수 있다.
우선 순위, PRIORITY, 패킷 전송, 하이 우선 순위, 로우 우선 순위

Description

우선 순위에 따른 패킷 전송 장치 및 방법{APPARATUS FOR TRANSMITTING A PACKET ACCORDING TO PRIORITY ORDER, AND METHOD USING THE SAME}
도 1은 본 발명의 바람직한 일 실시예에 따른 우선 순위에 따른 패킷 전송 장치의 구성을 도시한 블록도이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 맥의 구성을 도시한 블록도이다.
도 3a는 본 발명의 바람직한 일 실시예에 따른 포트 제어부의 구성을 도시한 블록도이다.
도 3b는 본 발명의 일 실시예에 따른 패킷의 구성을 도시한 도면이다.
도 3c는 IEEE 802.1p에 규정된 패킷의 우선 순위를 도시한 도면이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 큐 매니저의 구성을 도시한 블록도이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 큐 메모리의 구성을 도시한 블록도이다.
도 6은 본 발명의 바람직한 일 실시예에 따른 블록 계산부의 구성을 도시한 블록도이다.
도 7은 본 발명의 바람직한 일 실시예에 따른 블록 전송부의 구성을 도시한 블록도이다.
도 8은 본 발명의 바람직한 일 실시예에 따른 패킷 전송 판단부의 구성을 도시한 블록도이다.
도 9는 본 발명의 바람직한 일 실시예에 따른 패킷 전송 과정을 도시한 순서도이다.
도 10은 본 발명의 바람직한 일 실시예에 따른 우선 순위에 따른 블록 전송을 도시한 순서도이다.
도 11은 본 발명의 바람직한 일 실시예에 따른 하이 우선 순위 블록의 전송 과정을 도시한 순서도이다.
도 12는 본 발명의 바람직한 일 실시예에 따른 로우 우선 순위 블록의 전송 과정을 도시한 순서도이다.
본 발명은 우선 순위에 따른 패킷 전송 장치 및 방법에 관한 것으로, 더욱 상세하게는 제 1 포트로부터 제공되는 패킷을 복수의 블록들로 분할하고, 우선 순위에 따라 상기 블록들을 제 2 포트에 전송하는 우선 순위에 따른 패킷 전송 장치 및 방법에 관한 것이다.
현재까지, 이더넷 스위치는 일반적으로 WRR(weighted round robin) 방식을 이용하여 제 1 포트로부터 제공되는 패킷을 제 2 포트에 전송하고 있다. 상기 WRR(weighted round robin) 방식은 하이 우선 순위 패킷과 로우 우선 순위 패킷을 가중치(weight) 비율로 전송하는 방식이다. 예를 들어, 상기 가중치(weight)를 8로 가정하면, 상기 하이 우선 순위 패킷이 8개 전송될 때, 상기 로우 우선 순위 패킷이 1개 전송된다. 그러나, 이와 같은 방식을 사용하면, 상기 로우 우선 순위 패킷의 길이가 상기 하이 우선 순위 패킷의 길이보다 상당히 긴 경우, 문제점이 발생된다. 예를 들어, 상기 전송된 8개의 하이 우선 순위 패킷의 전체 길이가 상기 전송된 1개의 로우 우선 순위 패킷의 길이와 같다면, 상기 하이 우선 순위 패킷이 실질적으로 상기 로우 우선 순위 패킷보다 우선적으로 전송되지 않는다는 문제점이 발생된다.
본 발명은 상기한 바와 같은 종래 기술의 문제점을 해결하기 위한 것으로서, 로우 우선 순위 패킷보다 하이 우선 순위 패킷을 우선적으로 전송할 수 있는 우선 순위에 따른 패킷 전송 장치 및 방법을 제안하는 것을 목적으로 한다.
본 발명의 다른 목적은 하이 우선 순위 패킷과 로우 우선 순위 패킷을 가중치에 따라 일정하게 전송할 수 있는 패킷 전송 장치 및 방법을 제안하는 것이다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 바람직한 일 실시예에 따른 우선 순위에 따른 패킷 전송 장치는 N(N은 64이상의 정수)바이트 단위로 분할된 복수의 블록들을 제 1 포트로부터 수신하여 상기 블록들을 각기 제공하고, 상기 블록들의 우선 순위를 판단하여 상기 우선 순위 정보를 각기 제공하며, 상기 제공 된 블록들을 우선 순위에 따라 제 2 포트에 각기 제공하는 복수의 포트 제어부들; 상기 블록들을 제공받아 소스 주소, 목적지 주소, 패킷 길이 및 맥 주소 정보를 가지는 룩업 테이블을 생성하고, 상기 생성된 룩업 테이블에 대한 정보를 제공하는 룩업부; 상기 블록들을 저장하는 패킷 메모리; 및 상기 패킷 메모리와 정보 교환하여 상기 패킷 메모리의 상태를 모니터하고, 상기 우선 순위 정보 및 상기 룩업 테이블에 대한 정보를 이용하여 블록 전송 신호 및 잉여 블록 전송 신호를 발생시키고, 상기 블록 전송 신호, 상기 잉여 블록 전송 신호 및 상기 패킷 메모리의 상태 정보를 제공하는 큐 매니저를 포함한다. 본 발명의 우선 순위에 따른 패킷 전송 장치는 제 1 항에 있어서, 상기 제 1 포트로부터 제공받은 패킷을 각기 신호 변환시키는 물리 계층들; 및 상기 변환된 패킷을 N바이트 단위로 분할하여 상기 포트 제어부에 제공하고, 상기 포트 제어부로부터 제공된 상기 블록들을 상기 패킷으로 합성하여 상기 제 2 포트에 각기 제공하며, 상기 포트 제어부들과 일대일 대응하는 맥들을 더 포함한다. 상기 N은 64일 수 있다. 상기 각 맥은 상기 제 1 포트로부터 제공된 상기 패킷을 상기 블록들로 분할하는 프레이머; 및 상기 포트 제어부로부터 제공된 상기 블록들을 상기 패킷으로 합성하는 합성부를 포함한다. 상기 각 포트 제어부들은 상기 맥으로부터 제공된 상기 블록들의 우선 순위를 추출하여 제공하는 우선 순위 판단부; 및 상기 블록들 및 상기 룩업 테이블에 대한 정보를 송/수신하며, 상기 블록 전송 신호 , 상기 잉여 블록 전송 신호 및 상기 패킷 메모리의 상태 정보를 수신하는 송/수신부를 포함한다. 상기 큐 매니저는 상기 룩업 테이블에 대한 정보를 이용하여 상기 제 2 포트로 전송할 블록에 대한 정보를 포트별로 우선 순위에 따라 저장하는 큐 메모리; 상기 전송 블록에 대한 정보 및 피드백 블록 정보를 이용하여 제 1 블록의 수를 계산하는 블록 계산부; 상기 제 1 블록의 수에 상응하여 상기 블록들을 전송하는 상기 블록 전송 신호를 발생시키는 블록 전송부; 상기 제 1 블록의 수에 상응하여 전송된 블록들을 이용하여 마지막으로 전송된 블록에 해당하는 패킷의 블록이 모두 전송되었는지를 판단하고, 상기 패킷 전송의 완료시까지 전송된 블록의 수를 카운트하여 제 2 블록의 수를 계산하며, 상기 제 2 블록의 수에 대한 정보를 가지는 상기 피드백 블록 정보를 제공하는 패킷 전송 판단부; 및 상기 패킷 메모리와 정보를 교환하여 상기 패킷 메모리의 상태를 모니터하는 패킷 메모리 관리부를 포함한다. 상기 큐 메모리는 복수의 포트 메모리들을 가지며, 상기 각 포트 메모리들은 해당 포트로 전송할 블록들에 대한 정보를 각기 저장한다. 상기 각 포트 메모리들은, 하이 우선 순위 블록에 대한 정보를 저장하는 하이 우선 순위 메모리; 및 로우 우선 순위 블록에 대한 정보를 저장하는 로우 우선 순위 메모리를 각기 포함한다. 상기 블록 계산부는, 상기 전송 블록에 대한 정보 및 상기 피드백 블록 정보를 수신하여 상기 정보들을 제공하는 전송 블록 판단부; 상기 피드백 블록 정보를 이용하여 상기 제 2 블록의 수에 가중치를 곱하는 곱셈기; 및 상기 피드백 블록 정보를 이용하여 상기 제 2 블록의 수를 가중치로 나누는 분배기를 포함한다. 상기 블록 전송부는, 상기 제 1 블록의 수에 해당하는 블록들을 전송하는 상기 블록 전송 신호를 발생시키는 제 1 블록 전송부; 및 상기 제 1 블록의 수에 해당하는 블록들을 전송한 후, 마지막으로 전송된 블록에 해당하는 패킷의 블록이 전송되지 않고 남은 경우, 상기 잉여 블록을 전송하는 상기 잉여 블록 전송 신호를 발생시키는 제 2 블록 전송부를 포함한다. 상기 패킷 전송 판단부는, 상기 전송된 블록의 수를 카운트하는 카운팅부; 및 상기 제 1 블록의 수에 상응하여 전송된 상기 블록들을 이용하여 마지막으로 전송된 블록에 해당하는 상기 패킷의 모든 블록이 전송되었는지를 판단하고, 판단 결과, 잉여 블록이 있는 경우, 상기 잉여 블록에 대한 정보를 제공하며, 상기 제 2 블록의 수에 대한 정보를 가지는 상기 피드백 블록 정보를 제공하는 비교 판단부를 포함한다.
본 발명의 다른 실시예에 따른 우선 순위에 따른 패킷 전송 장치는 제 1 포트로부터 제공받은 패킷을 각기 신호 변환시키는 물리 계층들; 상기 변환된 패킷을 64 바이트 단위로 분할하여 복수의 블록들을 생성하고, 상기 생성된 블록들을 제공하며, 제 2 포트로 전송될 상기 블록들을 상기 패킷으로 합성하는 복수의 맥들; 상기 분할된 복수의 블록들을 상기 맥들로부터 각기 수신하여 상기 블록들을 각기 제공하고, 상기 블록들의 우선 순위를 판단하여 상기 우선 순위 정보를 각기 제공하며, 상기 제공된 블록들을 우선 순위에 따라 상기 제 2 포트에 각기 제공하는 복수의 포트 제어부들; 상기 블록들을 제공받아 소스 주소, 목적지 주소, 패킷 길이 및 맥 주소 정보를 가지는 룩업 테이블을 생성하고, 상기 생성된 룩업 테이블에 대한 정보를 제공하는 룩업부; 상기 블록들을 저장하는 패킷 메모리; 및 상기 패킷 메모리와 정보 교환하여 상기 패킷 메모리의 상태를 모니터하고, 상기 우선 순위 정보 및 상기 룩업 테이블에 대한 정보를 이용하여 블록 전송 신호 및 잉여 블록 전송 신호를 발생시키고, 상기 블록 전송 신호, 상기 잉여 블록 전송 신호 및 상기 패킷 메모리의 상태 정보를 제공하는 큐 매니저를 포함한다. 상기 맥들은 상기 포트 제 어부들에 일대일 대응한다.
본 발명의 우선 순위에 따른 패킷 전송 방법은 (a) N(N은 64이상의 정수)바이트 단위로 분할된 복수의 블록들을 제공하는 단계; (b) 상기 제공된 블록들을 이용하여 소스 주소, 목적지 주소, 패킷 길이 및 맥 주소 정보를 가지는 룩업 테이블을 만드는 단계; (c) 상기 룩업 테이블에 대한 정보를 제공하는 단계; (d) 상기 블록들에서 우선 순위를 추출하는 단계; (e) 상기 추출된 우선 순위 정보를 제공하는 단계; (f) 상기 우선 순위 정보 및 상기 룩업 테이블에 대한 정보를 이용하여 전송할 블록에 대한 정보를 저장하는 단계; (g) 상기 전송 블록에 대한 정보를 이용하여 상기 블록들을 제 2 포트로 전송하는 단계를 포함한다. 상기 단계(g)는, (h) 상기 전송 블록에 대한 정보를 이용하여 상기 블록들을 상기 제 2 포트로 전송하는 단계; (i) 상기 전송된 블록의 수에 해당하는 정보를 가지는 피드백 블록 정보를 발생시키는 단계; (j) 상기 피드백 블록 정보를 이용하여 (g)단계에서 전송된 블록과 다른 우선 순위를 가지는 블록들을 제 2 포트로 전송하는 단계; 및 (k) 상기 (i) 단계와 (j)단계를 반복시키는 단계를 포함한다. 상기 (a)단계는, 상기 N은 64일 수 있다. 본 발명의 우선 순위에 따른 패킷 전송 방법은 제 1 포트로부터 제공된 패킷을 복수의 블록들로 분할하는 단계; 및 상기 분할된 블록들을 제공하는 단계를 더 포함한다. 상기 (d)단계는, 상기 우선 순위는 하이 우선 순위 및 로우 우선 순위로 나뉜다. 상기 (f)단계는, 전송할 블록에 대한 정보를 포트별로 우선 순위에 따라 저장하는 단계를 포함한다. 상기 (f)단계는, 하이 우선 순위 블록에 해당하는 정보를 저장하는 단계; 및 로우 우선 순위 블록에 해당하는 정보를 저장하 는 단계를 포함한다. 상기 (h)단계는, 패킷 메모리의 상태를 모니터하는 단계; 상기 전송 블록에 대한 정보를 이용하여 제 1 블록의 수를 계산하는 단계; 상기 패킷 메모리의 상태 정보 및 상기 제 1 블록의 수를 이용하여 상기 블록을 상기 제 2 포트로 전송하는 단계를 포함한다. 상기 제 1 블록의 수는, 상기 피드백 블록 정보가 로우 우선 순위 블록의 수에 대한 정보를 가지는 경우, 상기 로우 우선 순위 블록의 수에 가중치를 곱한 값이다. 상기 제 1 블록의 수는, 상기 피드백 블록 정보가 하이 우선 순위 블록의 수에 대한 정보를 가지는 경우, 상기 하이 우선 순위 블록의 수를 가중치로 나눈 값이다. 상기 (h)단계는, 상기 제 1 블록의 수에 상응하여 전송된 상기 블록들을 카운트하는 단계; 마지막으로 전송된 블록에 해당하는 패킷의 모든 블록이 전송되었는지를 판단하는 단계; 상기 패킷의 모든 블록이 전송되지 않은 경우, 남은 잉여 블록을 전송하는 단계; 상기 패킷의 모든 블록이 전송될 때까지의 블록의 수를 카운트하여 제 2 블록의 수를 생성하는 단계; 및 상기 제 2 블록의 수에 대한 정보를 가지는 상기 피드백 블록 정보를 제공하는 단계를 더 포함한다. 상기 잉여 블록을 전송하는 단계는, 상기 잉여 블록 전송 신호를 발생시키는 단계; 및 상기 잉여 블록 전송 신호에 따라 상기 패킷의 잉여 블록을 상기 제 2 포트로 전송하는 단계를 포함한다. 상기 제 2 포트로 전송하는 단계는, 상기 블록 전송 신호를 발생시키는 단계; 및 상기 블록 전송 신호를 이용하여 상기 블록을 상기 제 2 포트로 전송하는 단계를 포함한다. 상기 블록 전송 신호는 하이 우선 순위 블록을 전송시키는 정보를 가진다. 상기 블록 전송 신호는 로우 우선 순위 블록을 전송시키는 정보를 가진다. 상기 (j)단계는, 상기 제 2 블록의 수에 대한 정보를 가 지는 상기 피드백 블록 정보를 이용하여 상기 제 1 블록의 수를 계산하는 단계; 상기 패킷 메모리의 상태를 모니터하는 단계; 및 상기 패킷 메모리의 상태 정보 및 상기 제 1 블록의 수를 이용하여 상기 블록을 상기 제 2 포트로 전송하는 단계를 포함한다. 상기 제 1 블록의 수는 상기 피드백 블록 정보가 로우 우선 순위 블록의 수에 대한 정보를 가지는 경우, 상기 로우 우선 순위 블록의 수에 가중치를 곱한 값이다. 상기 제 1 블록의 수는 상기 피드백 블록 정보가 하이 우선 순위 블록의 수에 대한 정보를 가지는 경우, 상기 하이 우선 순위 블록의 수를 가중치로 나눈 값이다. 상기 (j)단계는, 상기 제 1 블록의 수에 상응하여 전송된 상기 블록들을 카운트하는 단계; 마지막으로 전송된 블록에 해당하는 패킷의 모든 블록이 전송되었는지를 판단하는 단계; 상기 패킷의 모든 블록이 전송되지 않은 경우, 남은 잉여 블록을 전송하는 단계; 상기 패킷의 모든 블록이 전송될 때까지의 블록의 수를 카운트하여 상기 제 2 블록의 수를 생성하는 단계; 및 상기 제 2 블록의 수에 대한 정보를 가지는 상기 피드백 블록 정보를 제공하는 단계를 더 포함한다. 상기 잉여 블록을 전송하는 단계는, 상기 잉여 블록 전송 신호를 발생시키는 단계; 및 상기 블록 전송 신호를 이용하여 상기 블록을 상기 제 2 포트로 전송하는 단계를 포함한다. 상기 제 2 포트로 전송하는 단계는, 상기 블록 전송 신호를 발생시키는 단계; 및 상기 블록 전송 신호를 이용하여 상기 블록을 상기 제 2 포트로 전송하는 단계를 포함한다. 상기 블록 전송 신호는 하이 우선 순위 블록을 전송시키는 정보를 가진다. 상기 블록 전송 신호는 로우 우선 순위 블록을 전송시키는 정보를 가진다.
이하에서는 첨부된 도면을 참조하여 본 발명에 따른 우선 순위에 따른 패킷 전송 장치 및 방법의 바람직한 실시예를 자세히 설명하도록 한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 우선 순위에 따른 패킷 전송 장치의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 우선 순위에 따른 패킷 전송 장치는 복수의 포트 제어부들(10, 20), 룩업부(30), 큐 매니저(40) 및 패킷 메모리(50)를 포함할 수 있다.
각 포트 제어부들(10, 20)은 제 1 포트로부터 전송되는 패킷의 블록들을 수신하고, 상기 수신된 블록들의 우선 순위를 추출하여 상기 우선 순위 정보를 제공하며, 상기 수신된 블록들을 제공하고, 제공된 블록들을 제 2 포트에 제공한다. 상기 패킷은 우선 순위 정보를 가지고 있다. 본 발명의 일 실시예에 따른 우선 순위는 하이 우선 순위와 로우 우선 순위가 있다. 상기 하이 우선 순위 블록은 상기 로우 우선 순위 블록보다 먼저 전송될 블록들이다. 상세하게는, 상기 패킷은 상기 제 1 포트로부터 전송되어 상기 제 2 포트로 제공된다. 다만, 상기 패킷의 우선 순위에 따라 전송 순서가 다르게 결정된다. 즉, 중요한 정보를 가지는 패킷이 먼저 전송된다. 또한 상기 패킷은 포트 제어부(10, 20)에 제공되기 전 복수의 블록들로 분할된다. 본 발명의 우선 순위에 따른 패킷 전송 장치는 상기 패킷을 N(N은 64이상의 정수)바이트 단위로 분할한다. 예를 들어, 상기 N은 64이다.
룩업부(30)는 포트 제어부(10, 20)로부터 제공된 상기 블록들을 제공받아 룩업 테이블을 만든다. 상기 룩업 테이블은 소스 주소, 목적지 주소, 맥 주소에 대한 정보를 기록할 수 있다. 상기 룩업 테이블에 대한 정보는 포트 제어부(10, 20)에 제공된다.
패킷 메모리(50)는 상기 블록들을 제공받아 저장한다. 상세하게는, 패킷 메모리(50)는 상기 블록들을 포트별로 다르게 저장한다.
큐 매니저(40)는 상기 우선 순위 정보 및 상기 룩업 테이블에 대한 정보를 제공받고, 상기 제공받은 정보들을 이용하여 블록 전송 신호 및 잉여 블록 전송 신호를 발생시키며, 패킷 메모리(50)와 상호 정보를 교환하여 패킷 메모리(50)의 상태를 모니터하고, 상기 블록 전송 신호, 상기 잉여 블록 전송 신호 및 상기 패킷 메모리의 상태 정보를 포트 제어부(10, 20)에 제공한다. 상세하게는, 큐 매니저(40)는 상기 우선 순위 정보 및 상기 룩업 테이블에 대한 정보를 이용하여 우선 순위에 따라 전송할 정보를 포트별로 각기 저장한다. 이에 대한 자세한 설명은 이하 첨부된 도면을 참조하여 상술하겠다.
본 발명의 다른 실시예에 따른 우선 순위에 따른 패킷 전송 장치는 복수의 포트 제어부들(10, 20), 룩업부(30), 큐 매니저(40), 패킷 메모리(50), 복수의 물리계층(60, 80) 및 복수의 맥(medium access control, 70, 90, 이하 "MAC"라 함)들을 포함할 수 있다. 포트 제어부(10, 20), 룩업부(30), 큐 매니저(40) 및 패킷 메모리(50)는 위에서 설명하였으므로, 이하에서는 물리계층(60, 80) 및 맥(70, 90)에 대하여 상술하겠다.
물리계층(60, 80)은 제공받은 상기 패킷을 신호 변환시킨다. 상세하게는, 물리계층(60, 80)은 상기 제 1 포트로부터 상기 패킷을 제공받은 경우, 아날로그 신호를 디지털 신호로 변환시키고, 상기 제 2 포트로 상기 패킷을 송신할 경우, 디지 털 신호를 아날로그 신호로 변환시킨다.
맥(70, 90)은 상기 제 1 포트로부터 상기 패킷을 제공받은 경우, 제공된 상기 패킷을 N바이트 단위로 분할하여 복수의 블록들을 생성하며, 상기 생성된 블록들을 포트 제어부(10, 20)에 제공하고, 상기 블록들을 상기 제 2 포트로 송신할 경우, 상기 블록들을 하나의 패킷으로 합성하여 상기 제 2 포트에 제공한다. 이 경우, 상기 제 1 포트로부터 제공된 패킷과 상기 합성된 패킷은 동일한 패킷이다. 또한, 맥(70, 90)은 포트 제어부(10, 20)에 일대일 대응한다.
본 발명의 우선 순위에 따른 패킷 전송 장치는 우선 순위 정보를 가지는 상기 패킷을 N바이트 단위로 나누어 복수의 블록들을 생성하고, 상기 생성된 블록들을 우선 순위 정보에 따라 상기 제 2 포트로 전송하므로, 종래의 기술보다 더 효율적으로 상기 패킷을 전송할 수 있다.
도 2는 본 발명의 바람직한 일 실시예에 따른 맥의 구성을 도시한 블록도이다.
도 2를 참조하면, 맥(70, 90)은 프레이머(framer, 100) 및 합성부(120)를 포함할 수 있다.
프레이머(100)는 상기 제 1 포트로부터 전송된 상기 패킷을 N바이트 단위로 분할한다. 그 결과, 복수의 블록들이 생성된다. 본 발명의 일 실시예에 따른 N은 64이다. 상기 패킷은 상기 우선 순위 정보를 가지고 있다. 즉, 상기 패킷은 하이 우선 순위 패킷 또는 로우 우선 순위 패킷이다.
합성부(120)는 포트 제어부(10, 20)로부터 제공된 블록들을 하나의 패킷으로 합성한다. 상기 합성된 패킷은 상기 제 1 포트로부터 제공된 상기 패킷과 동일한 패킷이다. 즉, 본 발명의 우선 순위에 따른 패킷 전송 장치는 상기 제 1 포트로부터 제공된 상기 패킷을 복수의 블록들로 분할하고, 상기 분할된 블록들을 하나의 패킷으로 합성하며, 우선 순위 정보에 따라 상기 제 2 포트로 상기 합성된 패킷을 송신한다.
도 3a는 본 발명의 바람직한 일 실시예에 따른 포트 제어부의 구성을 도시한 블록도이다.
도 3a를 참조하면, 포트 제어부(10, 20)는 우선 순위 판단부(200) 및 송/수신부(220)를 포함할 수 있다.
우선 순위 판단부(200)는 상기 분할된 블록들로부터 우선 순위를 추출하고, 상기 추출된 우선 순위 정보를 큐 매니저(40)에 제공한다.
송/수신부(220)는 상기 분할된 블록들을 룩업부(30) 및 패킷 메모리(50)에 제공하고, 패킷 메모리(50)로부터 상기 블록들을 리드(read)하며, 상기 룩업 테이블에 대한 정보 및 상기 우선 순위 정보를 큐 매니저(40)에 제공하고, 상기 큐 매니저(40)로부터 상기 블록 송신 정보 및 상기 잉여 블록 송신 정보 및 상기 패킷 메모리의 상태 정보를 수신한다. 본 발명의 일 실시예에 따른 우선 순위는 포트별로 설정될 수 있다. 그러나, 우선 순위는 다양한 방식으로 설정될 수 있고, 이러한 변형은 본 발명의 범주에 영향을 미치지 아니한다는 사실은 당업자에게 있어 자명한 사실일 것이다.
도 3b는 본 발명의 일 실시예에 따른 패킷의 구성을 도시한 도면이다.
도 3b를 참조하면, 본 발명의 패킷은 소스 주소, 목적지 주소, 패킷 길이 정보, 데이터 및 우선 순위 정보를 포함할 수 있다. 상기 우선 순위 정보는 하이 우선 순위 또는 로우 우선 순위이다.
도 3c는 IEEE 802.1p에 규정된 패킷의 우선 순위를 도시한 도면이다.
도 3c를 참조하면, IEEE 802.1p에 의하면, 상기 패킷의 우선 순위는 8단계로 표준화되어 있다. 중요한 정보는 상위 순위에 랭크되어 있다. 예를 들어, 사용자는 4단계 이하의 정보를 로우 우선 순위로 설정하고, 5단계 이상의 정보를 하이 우선 순위로 설정할 수 있다. 상기 우선 순위는 2개의 우선 순위(하이 우선 순위와 로우 우선 순위)뿐만 아니라 3개의 우선 순위(하이 우선 순위, 미들 우선 순위 및 로우 우선 순위)로 설정될 수 있고, 이러한 변형이 본 발명의 범주에 영향을 미치지 아니한다는 사실은 당업자에게 있어 자명한 사실일 것이다. 또한, 사용자는 IEEE 802.1p의 규정과 다르게 우선 순위를 설정할 수도 있을 것이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 큐 매니저의 구성을 도시한 블록도이다.
도 4를 참조하면, 큐 매니저(40)는 블록 계산부(300), 블록 전송부(320), 패킷 전송 판단부(340), 큐 메모리(360) 및 패킷 메모리 관리부(380)를 포함할 수 있다.
큐 메모리(360)는 상기 룩업 테이블에 대한 정보를 이용하여 상기 제 2 포트로 전송할 블록에 대한 정보를 우선 순위에 따라 저장한다. 상세하게는, 큐 메모리(360)는 상기 블록을 포트별로 나누어 저장한다. 또한, 큐 메모리(360)는 우 선 순위에 따라 분리하여 상기 블록을 저장한다.
블록 계산부(300)는 상기 전송 블록에 대한 정보 및 피드백 블록 정보를 이용하여 제 1 블록의 수를 계산한다. 상기 피드백 블록 정보는 다른 우선 순위를 가지는 제 2 블록의 수에 대한 정보를 가진다. 상기 제 1 블록의 수는 상기 제 2 블록의 수에 가중치(weight)를 곱하거나 상기 제 2 블록의 수를 가중치(weight)로 나눈 값이다. 상기 가중치(weight)는 하이 우선 순위와 로우 우선 순위의 비율을 의미한다. 예를 들어, 가중치가 8이면, 8개의 하이 우선 순위 블록이 전송될 때, 1개의 로우 우선 순위 블록이 전송된다. 본 발명의 일 실시예에 따른 상기 가중치는 8이다.
블록 전송부(320)는 상기 제 1 블록의 수에 상응하여 상기 블록들을 전송시키는 상기 블록 전송 신호를 발생시킨다. 또한 블록 전송부(320)는 상기 잉여 블록 전송 신호를 발생시킨다.
패킷 전송 판단부(340)는 상기 전송된 블록들을 이용하여 상기 패킷 전송이 완료되었는지를 판단하고, 마지막으로 전송된 블록이 속하는 패킷의 블록이 모두 전송되지 않았으면, 잉여 블록을 전송하고 상기 블록들의 수를 카운트한다. 상기 카운팅 값이 상기 제 2 블록의 수이다. 그런 후, 패킷 전송 판단부(340)는 상기 제 2 블록의 수에 대한 정보를 가지는 상기 피드백 블록 정보를 블록 계산부(300)에 제공하고, 상기 잉여 블록에 대한 정보를 블록 전송부(320)에 제공한다.
패킷 메모리 관리부(380)는 패킷 메모리(50)와 정보 교환하여 패킷 메모리(50)의 상태를 모니터하고, 상기 패킷 메모리의 상태 정보를 포트 제어부(10, 20)에 제공한다.
도 5는 본 발명의 바람직한 일 실시예에 따른 큐 메모리의 구성을 도시한 블록도이다.
도 5를 참조하면, 큐 메모리(360)는 N개의 포트 메모리들(400, 420)을 포함할 수 있다. 상기 각 포트 메모리들(400, 420)은 하이 우선 순위 메모리(500, 540) 및 로우 우선 순위 메모리(520, 560)를 각기 가지고 있다. 각 포트 메모리들(400, 420)은 상기 룩업 테이블에 대한 정보 및 상기 우선 순위 정보를 이용하여 상기 제 2 포트로 전송할 블록들에 대한 정보를 각기 저장하고 있다. 각 블록들은 우선 순위가 정하여져 있다. 그 결과, 상기 하이 우선 순위 블록들은 하이 우선 순위 메모리(500, 540)에 저장되고, 상기 로우 우선 순위 블록들은 로우 우선 순위 메모리(520, 560)에 저장된다. 그런 후, 큐 메모리(360)는 상기 우선 순위에 대한 정보를 블록 계산부(300) 및 포트 제어부(10, 20)에 제공한다. 상기 우선 순위에 대한 정보가 블록 계산부(300)에 제공되면, 블록 계산부(300)는 상기 제 2 포트로 전송할 블록들을 계산한다.
도 6은 본 발명의 바람직한 일 실시예에 따른 블록 계산부(300)의 구성을 도시한 블록도이다.
도 6을 참조하면, 블록 계산부(300)는 전송 블록 판단부(600), 곱셈기(620) 및 분배기(640)를 포함할 수 있다.
전송 블록 판단부(600)는 상기 블록들을 처음 전송할 때는 큐 메모리(360)로부터 상기 우선 순위에 대한 정보를 제공받고, 상기 제공받은 정보를 곱셈기(620) 또는 분배기(640)에 제공한다. 또한, 전송 블록 판단부(600)는 일단 하나의 우선 순위 블록에 대한 전송이 완료되었으면, 상기 전송된 우선 순위 블록에 대한 정보를 패킷 전송 판단부(340)로부터 제공받고, 상기 제공받은 정보를 곱셈기(620) 또는 분배기(640)에 제공한다.
곱셈기(620)는 전송 블록 판단부(600)로부터 제공받은 정보를 이용하여 상기 제 2 블록의 수에 상기 가중치(weight)를 곱한다. 이 계산 값이 상기 제 1 블록의 수이다. 상세하게는, 패킷 전송 판단부(340)로부터 제공받은 정보가 로우 우선 순위 블록에 대한 정보인 경우, 전송된 로우 우선 순위 블록의 수에 상기 가중치를 곱한다.
분배기(640)는 전송 블록 판단부(600)로부터 제공받은 정보를 이용하여 상기 제 2 블록의 수를 상기 가중치(weight)로 나눈다. 상세하게는, 패킷 전송 판단부(340)로부터 제공받은 정보가 하이 우선 순위 블록에 대한 정보인 경우, 전송된 하이 우선 순위 블록의 수를 상기 가중치(weight)로 나눈다. 다만, 상기 나눗셈의 값이 소수점으로 나올 경우, 상기 제 1 블록의 수는 나머지 값을 제외한 정수값과 동일하다.
도 7은 본 발명의 바람직한 일 실시예에 따른 블록 전송부의 구성을 도시한 블록도이다.
도 7을 참조하면, 블록 전송부(320)는 제 1 블록 전송부(700) 및 제 2 블록 전송부(720)를 포함할 수 있다.
제 1 블록 전송부(700)는 블록 계산부(300)에 의해 계산된 상기 제 1 블록의 수에 상응하여 상기 블록들을 전송시키는 상기 블록 전송 신호를 발생시키고, 상기 발생된 상기 블록 전송 신호를 포트 제어부(10, 20)에 제공한다.
제 2 블록 전송부(720)는 상기 제 1 블록의 수에 상응하여 상기 블록들을 전송시켰으나 마지막으로 전송된 블록이 속하는 패킷의 블록이 모두 전송되지 않은 경우, 상기 잉여 블록을 전송시키는 상기 잉여 블록 전송 신호를 발생시킨다. 그런 후, 제 2 블록 전송부(720)는 상기 잉여 블록 전송 신호를 포트 제어부(10, 20)에 제공한다.
도 8은 본 발명의 바람직한 일 실시예에 따른 패킷 전송 판단부의 구성을 도시한 블록도이다.
도 8을 참조하면, 패킷 전송 판단부(340)는 카운팅부(800) 및 비교 판단부(820)를 포함할 수 있다.
카운팅부(800)는 상기 제 1 블록의 수에 상응하여 상기 블록들이 전송될 때, 상기 전송되는 상기 블록들의 수를 카운트한다.
비교 판단부(820)는 상기 제 1 블록의 수에 상응하여 전송된 상기 블록들을 이용하여 마지막으로 전송된 블록이 속하는 패킷의 블록이 모두 전송되었는지를 판단한다. 상기 판단 결과, 상기 패킷에 해당하는 블록이 전송되지 않고 남은 경우, 비교 판단부(820)는 상기 잉여 블록을 전송시키기 위해 상기 잉여 블록에 대한 정보를 제 2 블록 전송부(720)에 제공한다. 결국, 상기 하나의 패킷에 해당하는 블록이 전부 전송된 경우, 상기 마지막까지 전송된 블록의 수가 상기 제 2 블록의 수이다. 비교 판단부(820)는 상기 제 2 블록의 수에 대한 정보를 가지는 상기 피드백 블록 정보를 제공한다.
도 9는 본 발명의 바람직한 일 실시예에 따른 패킷 전송 과정을 도시한 순서도이다.
도 9를 참조하면, 맥(70, 90)은 상기 제 1 포트로부터 제공되는 상기 패킷을 N바이트 단위로 분할한다(S100). 계속하여, 상기 분할된 블록들이 룩업부(30) 및 패킷 메모리(50)에 제공된다(S120). 이어서, 룩업부(30)는 상기 제공된 블록들을 이용하여 상기 룩업 테이블에 대한 정보를 생성하고, 상기 생성된 룩업 테이블에 대한 정보를 포트 제어부(10, 20)에 제공한다(S140). 포트 제어부(10, 20)는 상기 룩업 테이블에 대한 정보를 큐 매니저(40)에 제공한다. 계속하여, 상기 룩업 테이블에 대한 정보 및 상기 패킷 메모리의 상태 정보를 이용함에 의해 우선 순위에 따라 상기 블록들이 상기 제 2 포트에 전송된다(S160).
도 10은 본 발명의 바람직한 일 실시예에 따른 우선 순위에 따른 블록 전송을 도시한 순서도이다.
도 10을 참조하면, 상기 전송 블록에 대한 정보 및 상기 피드백 블록 정보에 따라 상기 제 2 포트로 전송될 블록들이 계산된다(S200). 상기 계산된 값이 상기 제 1 블록의 수이다. 계속하여, 상기 제 1 블록의 수에 해당하는 블록들이 전송된다(S220). 이어서, 상기 전송되는 블록의 수가 카운트된다(S240). 상기 마지막으로 전송된 블록이 속하는 패킷의 블록이 모두 전송되었는지를 판단한다(S260). 상기 판단 결과, 상기 패킷의 블록이 모두 전송되지 않은 경우, 상기 잉여 블록이 전송되고(S280), 상기 패킷에 포함된 블록이 모두 전송된 경우, 상기 제 2 포트로 전송 할 패킷이 모두 전송되었는지를 판단한다(S300). 판단 결과, 전송되지 않은 블록이 있는 경우, 상기 S200단계부터 반복된다. 상세하게는, S260단계에서 전송된 블록이 하이 우선 순위 블록인 경우, 상기 가중치(weight)에 따라 로우 우선 순위 블록이 차례로 전송된다. 예를 들어, 상기 가중치(weight)가 8인 경우, 8개의 하이 우선 순위 블록이 전송된 다음, 1개의 로우 우선 순위 블록이 전송된다. 다만, 마지막으로 전송된 블록이 속하는 패킷의 블록이 모두 전송되지 않아서 상기 잉여 블록이 모두 전송되고, 그 결과 상기 전송된 블록이 16인 경우, 2개의 로우 우선 순위 블록이 전송된다. 또한, 전송될 하이 우선 순위 블록이 6개인 경우, 6개의 하이 우선 순위 블록만 전송되고, 다음으로 상기 로우 우선 순위 블록이 전송된다. 상기 제 2 포트로 전송될 블록이 모두 전송될 때까지 상기와 같은 동작을 반복시킨다.
도 11은 본 발명의 바람직한 일 실시예에 따른 하이 우선 순위 블록의 전송 과정을 도시한 순서도이다.
도 11을 참조하면, 상기 전송된 로우 우선 순위 블록의 수에 따라 전송 블록의 수가 계산된다(S1000). 즉, 상기 제 1 블록의 수는 상기 제 2 블록의 수에 상기 가중치(weight)를 곱하여 계산된 값이다. 계속하여, 상기 제 1 블록의 수에 상응하여 상기 하이 우선 순위 블록이 전송된다(S1020). 이어서, 상기 전송된 하이 우선 순위 블록의 수가 카운트된다(S1040). 상기 마지막으로 전송된 블록이 속하는 패킷의 블록이 모두 전송되었는지를 판단한다(S1060). 상기 판단 결과, 상기 패킷에 포함된 블록이 모두 전송되지 않은 경우, 상기 잉여 블록이 전송되고(S1080), 상기 패킷에 포함된 블록이 모두 전송된 경우, 상기 제 2 포트로 전송될 블록이 모두 전 송되었는지를 판단한다(S1100). 판단 결과, 전송되지 않은 블록이 있는 경우, 상기 제 2 블록의 수가 제공된다(S1120).
도 12는 본 발명의 바람직한 일 실시예에 따른 로우 우선 순위 블록의 전송 과정을 도시한 순서도이다.
도 12를 참조하면, 상기 전송된 하이 우선 순위 블록의 수에 따라 전송 블록의 수가 계산된다(S1200). 즉, 상기 제 1 블록의 수는 상기 제 2 블록의 수를 상기 가중치(weight)를 나누어 계산된 값이다. 계속하여, 상기 제 1 블록의 수에 상응하여 상기 로우 우선 순위 블록이 전송된다(S1220). 이어서, 상기 전송된 로우 우선 순위 블록의 수가 카운트된다(S1240). 상기 마지막으로 전송된 블록이 속하는 패킷의 블록이 모두 전송되었는지를 판단한다(S1260). 상기 판단 결과, 상기 패킷에 포함된 블록이 모두 전송되지 않은 경우, 상기 잉여 블록이 전송되고(S1280), 상기 패킷에 포함된 블록이 모두 전송된 경우, 상기 제 2 포트로 전송할 블록이 모두 전송되었는지를 판단한다(S1300). 판단 결과, 전송되지 않은 블록이 있는 경우, 상기 제 2 블록의 수가 제공된다(S1320).
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 의한 우선 순위에 따른 패킷 전송 장 치는 제 1 포트로부터 제공된 패킷이 동일한 크기를 가지는 복수의 블록들로 분할되므로, 상기 패킷이 우선 순위에 따라 정확하게 제 2 포트로 전송되는 장점이 있다.
아울러, 제 1 포트로부터 제공된 패킷을 N바이트 단위로 분할하므로, 하이 우선 순위 패킷과 로우 우선 순위 패킷을 가중치에 따라 일정하게 전송할 수 있는 장점이 있다.

Claims (36)

  1. 각 포트에서 제공받은 패킷들을 N(N은 64 이상의 정수) 바이트 단위의 블록들로 분할하여 제공하는 맥;
    상기 블록들의 우선 순위를 판단하여 각 블록에 대한 우선 순위 정보를 제공하는 포트 제어부;
    상기 블록들의 소스 주소, 목적지 주소, 패킷 길이에 대한 정보를 기록한 룩업 테이블을 생성하고, 상기 생성된 룩업 테이블의 정보를 제공하는 룩업부;
    상기 블록들을 저장하는 메모리; 및
    상기 우선 순위 정보 및 상기 룩업 테이블의 정보를 이용하여 블록 전송 신호 및 잉여 블록 전송 신호를 발생시키는 큐 매니저를 포함하고,
    상기 포트 제어부는 상기 블록 전송 신호에 따라 로(low) 우선 순위 블록들 또는 하이(high) 우선 순위 블록들을 상기 맥에 제공하고, 상기 맥은 상기 로 우선 순위 블록들 또는 상기 하이 우선 순위 블록들을 패킷들로 합성하고, 상기 합성된 패킷들을 출력될 포트로 제공하는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 장치.
  2. 삭제
  3. 제 1 항에 있어서, 상기 N은 64인 것을 특징으로 하는 우선 순위에 따른 패킷 전송 장치.
  4. 제 1 항에 있어서, 상기 맥은 상기 각 포트들로부터 제공받은 상기 패킷들을 블록들로 분할하는 프레이머; 및
    상기 포트 제어부로부터 제공된 상기 로 우선 순위 블록들 또는 상기 하이 우선 순위 블록들을 패킷들로 합성하는 합성부를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 장치.
  5. 제 1 항에 있어서, 상기 포트 제어부는 상기 맥으로부터 제공된 상기 블록들 각각의 우선 순위를 추출하여 제공하는 우선 순위 판단부; 및
    상기 블록들 및 상기 룩업 테이블에 대한 정보를 송/수신하며, 상기 블록 전송 신호 , 상기 잉여 블록 전송 신호를 수신하는 송/수신부를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 장치.
  6. 제 1 항에 있어서, 상기 큐 매니저는 상기 룩업 테이블에 대한 정보를 이용하여 상기 블록들에 대한 정보를 상기 출력될 포트별로 우선 순위에 따라 저장하는 큐 메모리;
    상기 블록들에 대한 정보 및 피드백 블록 정보를 이용하여 제 1 블록의 수를 계산하는 블록 계산부;
    상기 제 1 블록의 수에 상응하여 상기 블록들을 전송하라는 상기 블록 전송 신호를 발생시키는 블록 전송부;
    상기 제 1 블록의 수에 상응하여 전송된 블록들을 이용하여 마지막으로 전송된 블록에 해당하는 패킷의 블록이 모두 전송되었는지를 판단하고, 상기 패킷 전송의 완료시까지 전송된 블록의 수를 카운트하여 제 2 블록의 수를 계산하며, 상기 제 2 블록의 수에 대한 정보를 가지는 상기 피드백 블록 정보를 제공하는 패킷 전송 판단부; 및
    상기 메모리와 정보를 교환하여 상기 메모리의 상태를 모니터하는 패킷 메모리 관리부를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 장치.
  7. 제 6 항에 있어서, 상기 큐 메모리는 복수의 포트 메모리들을 가지며, 상기 각 포트 메모리들은 해당 포트로 전송할 블록들에 대한 정보를 각기 저장하는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 장치.
  8. 제 7 항에 있어서, 상기 각 포트 메모리들은,
    하이 우선 순위 블록에 대한 정보를 저장하는 하이 우선 순위 메모리; 및
    로우 우선 순위 블록에 대한 정보를 저장하는 로우 우선 순위 메모리를 각기 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 장치.
  9. 제 6 항에 있어서, 상기 블록 계산부는,
    상기 블록들에 대한 정보 및 상기 피드백 블록 정보를 수신하여 상기 정보들을 제공하는 전송 블록 판단부;
    상기 피드백 블록 정보를 이용하여 상기 제 2 블록의 수에 가중치를 곱하는 곱셈기; 및
    상기 피드백 블록 정보를 이용하여 상기 제 2 블록의 수를 가중치로 나누는 분배기를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 장치.
  10. 제 6 항에 있어서, 상기 블록 전송부는,
    상기 제 1 블록의 수에 해당하는 블록들을 전송하라는 상기 블록 전송 신호를 발생시키는 제 1 블록 전송부; 및
    상기 제 1 블록의 수에 해당하는 블록들을 전송한 후, 마지막으로 전송된 블록에 해당하는 패킷의 블록이 전송되지 않고 남은 경우, 상기 잉여 블록을 전송하는 상기 잉여 블록 전송 신호를 발생시키는 제 2 블록 전송부를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 장치.
  11. 제 6 항에 있어서, 상기 패킷 전송 판단부는,
    상기 전송된 블록의 수를 카운트하는 카운팅부; 및
    상기 제 1 블록의 수에 상응하여 전송된 상기 블록들을 이용하여 마지막으로 전송된 블록에 해당하는 상기 패킷의 모든 블록이 전송되었는지를 판단하고, 판단 결과, 잉여 블록이 있는 경우, 상기 잉여 블록에 대한 정보를 제공하며, 상기 제 2 블록의 수에 대한 정보를 가지는 상기 피드백 블록 정보를 제공하는 비교 판단부를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 장치.
  12. 제 1 포트로부터 제공받은 패킷을 64 바이트 단위로 블록들로 분할하고, 제 2 포트로 전송될 상기 블록들을 상기 패킷으로 합성하고 상기 제2 포트로 제공하는 맥;
    상기 블록들을 상기 맥으로부터 수신하고, 상기 블록들을 각기 제공하고, 상기 블록들의 우선 순위를 판단하여 상기 우선 순위 정보를 각기 제공하며, 상기 제공된 블록들을 우선 순위에 따라 상기 제 2 포트에 각기 제공하는 포트 제어부;
    상기 블록들을 제공받아 소스 주소, 목적지 주소, 패킷 길이를 가지는 룩업 테이블을 생성하고, 상기 생성된 룩업 테이블에 대한 정보를 제공하는 룩업부;
    상기 블록들을 저장하는 메모리; 및
    상기 메모리와 정보 교환하여 상기 메모리의 상태를 모니터하고, 상기 우선 순위 정보 및 상기 룩업 테이블에 대한 정보를 이용하여 블록 전송 신호 및 잉여 블록 전송 신호를 발생시키고, 상기 블록 전송 신호, 상기 잉여 블록 전송 신호 및 상기 메모리의 상태 정보를 제공하는 큐 매니저를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 장치.
  13. 삭제
  14. (a) 제1 포트로부터 수신된 패킷을N(N은 64이상의 정수)바이트 단위로 분할하여 블록들을 제공하는 단계;
    (b) 상기 블록들을 이용하여 소스 주소, 목적지 주소, 패킷 길이 정보를 가지는 룩업 테이블을 만드는 단계;
    (c) 상기 룩업 테이블에 대한 정보를 제공하는 단계;
    (d) 상기 블록들의 우선 순위를 추출하는 단계;
    (e) 상기 추출된 우선 순위 정보를 제공하는 단계;
    (f) 상기 우선 순위 정보 및 상기 룩업 테이블에 대한 정보를 이용하여 전송할 블록에 대한 정보를 저장하는 단계; 및
    (g1) 상기 전송할 블록에 대한 정보를 이용하여 상기 블록들을 제 2 포트로 전송하는 단계;
    (g2) 상기 제2 포트로 전송되는 상기 블록들을 상기 패킷으로 합성하여 상기 제2 포트로 제공하는 단계를 포함하는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  15. 제 14 항에 있어서, 상기 단계(g1)는,
    (h) 상기 전송 블록에 대한 정보를 이용하여 상기 블록들을 상기 제 2 포트로 전송하는 단계;
    (i) 상기 전송된 블록의 수에 해당하는 정보를 가지는 피드백 블록 정보를 발생시키는 단계;
    (j) 상기 피드백 블록 정보를 이용하여 (g)단계에서 전송된 블록과 다른 우선 순위를 가지는 블록들을 제 2 포트로 전송하는 단계; 및
    (k) 상기 (i) 단계와 (j)단계를 반복시키는 단계를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  16. 제 14 항에 있어서, 상기 (a)단계는, 상기 N은 64인 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  17. 삭제
  18. 제 14 항에 있어서, 상기 (d)단계는, 상기 우선 순위는 하이 우선 순위 및 로우 우선 순위로 나뉘는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  19. 제 18 항에 있어서, 상기 (f)단계는,
    전송할 블록에 대한 정보를 포트별로 우선 순위에 따라 저장하는 단계를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  20. 제 19 항에 있어서, 상기 (f)단계는,
    하이 우선 순위 블록에 해당하는 정보를 저장하는 단계; 및
    로우 우선 순위 블록에 해당하는 정보를 저장하는 단계를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  21. 제 15 항에 있어서, 상기 (h)단계는,
    패킷 메모리의 상태를 모니터하는 단계;
    상기 전송 블록에 대한 정보를 이용하여 제 1 블록의 수를 계산하는 단계;
    상기 패킷 메모리의 상태 정보 및 상기 제 1 블록의 수를 이용하여 상기 블록을 상기 제 2 포트로 전송하는 단계를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  22. 제 21 항에 있어서, 상기 제 1 블록의 수는, 상기 피드백 블록 정보가 로우 우선 순위 블록의 수에 대한 정보를 가지는 경우, 상기 로우 우선 순위 블록의 수 에 가중치를 곱한 값인 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  23. 제 21 항에 있어서, 상기 제 1 블록의 수는, 상기 피드백 블록 정보가 하이 우선 순위 블록의 수에 대한 정보를 가지는 경우, 상기 하이 우선 순위 블록의 수를 가중치로 나눈 값인 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  24. 제 21 항에 있어서, 상기 (h)단계는,
    상기 제 1 블록의 수에 상응하여 전송된 상기 블록들을 카운트하는 단계;
    마지막으로 전송된 블록에 해당하는 패킷의 모든 블록이 전송되었는지를 판단하는 단계;
    상기 패킷의 모든 블록이 전송되지 않은 경우, 남은 잉여 블록을 전송하는 단계;
    상기 패킷의 모든 블록이 전송될 때까지의 블록의 수를 카운트하여 제 2 블록의 수를 생성하는 단계; 및
    상기 제 2 블록의 수에 대한 정보를 가지는 상기 피드백 블록 정보를 제공하는 단계를 더 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  25. 제 24 항에 있어서, 상기 잉여 블록을 전송하는 단계는,
    상기 잉여 블록 전송 신호를 발생시키는 단계; 및
    상기 잉여 블록 전송 신호에 따라 상기 패킷의 잉여 블록을 상기 제 2 포트로 전송하는 단계를 포함하고 있는 것을 특징으로 하는 우선 순위에 다른 패킷 전송 방법.
  26. 제 21 항에 있어서, 상기 제 2 포트로 전송하는 단계는,
    상기 블록 전송 신호를 발생시키는 단계; 및
    상기 블록 전송 신호를 이용하여 상기 블록을 상기 제 2 포트로 전송하는 단계를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  27. 제 26 항에 있어서, 상기 블록 전송 신호는 하이 우선 순위 블록을 전송시키는 정보를 가지는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  28. 제 26 항에 있어서, 상기 블록 전송 신호는 로우 우선 순위 블록을 전송시키는 정보를 가지는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  29. 제 15 항에 있어서, 상기 (j)단계는,
    상기 제 2 블록의 수에 대한 정보를 가지는 상기 피드백 블록 정보를 이용하여 상기 제 1 블록의 수를 계산하는 단계;
    상기 패킷 메모리의 상태를 모니터하는 단계; 및
    상기 패킷 메모리의 상태 정보 및 상기 제 1 블록의 수를 이용하여 상기 블록을 상기 제 2 포트로 전송하는 단계를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  30. 제 29 항에 있어서, 상기 제 1 블록의 수는 상기 피드백 블록 정보가 로우 우선 순위 블록의 수에 대한 정보를 가지는 경우, 상기 로우 우선 순위 블록의 수에 가중치를 곱한 값인 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  31. 제 29 항에 있어서, 상기 제 1 블록의 수는 상기 피드백 블록 정보가 하이 우선 순위 블록의 수에 대한 정보를 가지는 경우, 상기 하이 우선 순위 블록의 수를 가중치로 나눈 값인 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  32. 제 29 항에 있어서, 상기 (j)단계는,
    상기 제 1 블록의 수에 상응하여 전송된 상기 블록들을 카운트하는 단계;
    마지막으로 전송된 블록에 해당하는 패킷의 모든 블록이 전송되었는지를 판단하는 단계;
    상기 패킷의 모든 블록이 전송되지 않은 경우, 남은 잉여 블록을 전송하는 단계;
    상기 패킷의 모든 블록이 전송될 때까지의 블록의 수를 카운트하여 상기 제 2 블록의 수를 생성하는 단계; 및
    상기 제 2 블록의 수에 대한 정보를 가지는 상기 피드백 블록 정보를 제공하는 단계를 더 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  33. 제 32 항에 있어서, 상기 잉여 블록을 전송하는 단계는,
    상기 잉여 블록 전송 신호를 발생시키는 단계; 및
    상기 블록 전송 신호를 이용하여 상기 블록을 상기 제 2 포트로 전송하는 단계를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  34. 제 29 항에 있어서, 상기 제 2 포트로 전송하는 단계는,
    상기 블록 전송 신호를 발생시키는 단계; 및
    상기 블록 전송 신호를 이용하여 상기 블록을 상기 제 2 포트로 전송하는 단계를 포함하고 있는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  35. 제 34 항에 있어서, 상기 블록 전송 신호는 하이 우선 순위 블록을 전송시키는 정보를 가지는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
  36. 제 34 항에 있어서, 상기 블록 전송 신호는 로우 우선 순위 블록을 전송시키는 정보를 가지는 것을 특징으로 하는 우선 순위에 따른 패킷 전송 방법.
KR1020030043839A 2003-06-30 2003-06-30 우선 순위에 따른 패킷 전송 장치 및 방법 KR100541987B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020030043839A KR100541987B1 (ko) 2003-06-30 2003-06-30 우선 순위에 따른 패킷 전송 장치 및 방법
DE102004030337A DE102004030337B4 (de) 2003-06-30 2004-06-21 Vorrichtung und Verfahren zur Datenpaketübertragung
US10/879,097 US7436768B2 (en) 2003-06-30 2004-06-30 Method, apparatus and computer program for transmitting a packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030043839A KR100541987B1 (ko) 2003-06-30 2003-06-30 우선 순위에 따른 패킷 전송 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20050002461A KR20050002461A (ko) 2005-01-07
KR100541987B1 true KR100541987B1 (ko) 2006-01-10

Family

ID=33536418

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030043839A KR100541987B1 (ko) 2003-06-30 2003-06-30 우선 순위에 따른 패킷 전송 장치 및 방법

Country Status (3)

Country Link
US (1) US7436768B2 (ko)
KR (1) KR100541987B1 (ko)
DE (1) DE102004030337B4 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5104717B2 (ja) * 2008-10-23 2012-12-19 富士通株式会社 データ配信装置、中継装置、データ配信方法およびデータ配信プログラム
CN105471824A (zh) * 2014-09-03 2016-04-06 阿里巴巴集团控股有限公司 实现浏览器调用本地业务组件的方法、装置及系统
US9705709B2 (en) 2014-12-22 2017-07-11 Exara, Inc. Recipient-driven traffic optimizing overlay systems and methods
US9544242B2 (en) 2015-02-20 2017-01-10 Exara, Inc. Network data prioritizer
US9722680B2 (en) * 2015-06-25 2017-08-01 Telefonaktiebolaget Lm Ericsson (Publ) Signaling of antenna associations
KR102509487B1 (ko) * 2018-02-13 2023-03-14 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481312A (en) * 1994-09-12 1996-01-02 At&T Corp. Method of and apparatus for the transmission of high and low priority segments of a video bitstream over packet networks
KR19990022705A (ko) * 1995-06-08 1999-03-25 밀러 럿셀 비 고속 및 효율적인 패킷 전송 시스템 및 그 방법
KR20010045783A (ko) * 1999-11-08 2001-06-05 윤종용 이더넷 스위치에서의 흐름제어 방법 및 장치
KR20020055358A (ko) * 2000-12-28 2002-07-08 엘지전자 주식회사 파장분할 다중화 방식을 채용한 네트워크 시스템기반QoS 가능한 매체접근 제어 디바이스
KR20030034871A (ko) * 2001-10-29 2003-05-09 엘지전자 주식회사 통신 장비의 버퍼 스케쥴링 장치 및 방법
KR20040039522A (ko) * 2002-11-01 2004-05-12 삼성전자주식회사 패킷 플로우 제어 장치 및 방법
KR20050002500A (ko) * 2003-06-30 2005-01-07 삼성전자주식회사 대역폭 제어 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001045061A (ja) * 1999-08-02 2001-02-16 Hitachi Ltd 通信ノード装置
US7215637B1 (en) * 2000-04-17 2007-05-08 Juniper Networks, Inc. Systems and methods for processing packets
WO2003043272A1 (en) * 2001-11-13 2003-05-22 Transwitch Corporation Overcoming access latency inefficiency in memories for packet switched networks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481312A (en) * 1994-09-12 1996-01-02 At&T Corp. Method of and apparatus for the transmission of high and low priority segments of a video bitstream over packet networks
KR19990022705A (ko) * 1995-06-08 1999-03-25 밀러 럿셀 비 고속 및 효율적인 패킷 전송 시스템 및 그 방법
KR20010045783A (ko) * 1999-11-08 2001-06-05 윤종용 이더넷 스위치에서의 흐름제어 방법 및 장치
KR20020055358A (ko) * 2000-12-28 2002-07-08 엘지전자 주식회사 파장분할 다중화 방식을 채용한 네트워크 시스템기반QoS 가능한 매체접근 제어 디바이스
KR20030034871A (ko) * 2001-10-29 2003-05-09 엘지전자 주식회사 통신 장비의 버퍼 스케쥴링 장치 및 방법
KR20040039522A (ko) * 2002-11-01 2004-05-12 삼성전자주식회사 패킷 플로우 제어 장치 및 방법
KR20050002500A (ko) * 2003-06-30 2005-01-07 삼성전자주식회사 대역폭 제어 장치 및 방법

Also Published As

Publication number Publication date
DE102004030337B4 (de) 2009-09-10
KR20050002461A (ko) 2005-01-07
US20040264459A1 (en) 2004-12-30
US7436768B2 (en) 2008-10-14
DE102004030337A1 (de) 2005-01-27

Similar Documents

Publication Publication Date Title
US6654701B2 (en) Method and apparatus for measuring protocol performance in a data communication network
US9654419B2 (en) Fabric channel control apparatus and method
US7647472B2 (en) High speed and high throughput digital communications processor with efficient cooperation between programmable processing components
US6553029B1 (en) Link aggregation in ethernet frame switches
US8391139B2 (en) Dynamic load balancing using quality/loading bands
JP3168235B2 (ja) 高速パケット交換装置およびデータパケットの経路指定方法
US6535504B1 (en) Link aggregation path selection method
Weller et al. Scheduling nonuniform traffic in a packet-switching system with small propagation delay
US7418523B2 (en) Operation of a multiplicity of time sorted queues with reduced memory
US6996126B2 (en) Performance improvements for ATM AAL2/5 to IP packet processing
US10298500B2 (en) Using consistent hashing for ECMP routing
JP2000503828A (ja) データネットワーク上でデータパケットをスイッチングする方法および装置
CN103166874A (zh) 一种报文转发方法及设备
JP2009524356A (ja) 通信ネットワークを通じたトラフィック分配を向上させる方法およびシステム
JPH06203001A (ja) 電子メッセージ通信の経路選択方法
JP3505118B2 (ja) トラフィックシェーパ
KR100541987B1 (ko) 우선 순위에 따른 패킷 전송 장치 및 방법
US7330481B2 (en) Highly channelized port polling in a telecommunications switch
US5450400A (en) Traffic generator
WO2002007391A1 (en) Apparatus and method for buffer-free evaluation of packet data bytes with multiple min terms
JP3820272B2 (ja) 交換装置
JP2008199162A (ja) 多重化されたtdm回線の回線エミュレーション方法及び受信側装置
CN113473267B (zh) 数据传输方法、装置及通信装置
US20050262127A1 (en) Method and system for determining conformance of a data key with rules by means of memory lookups
CN109120545B (zh) 数据包传输方法及装置

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee