KR100566996B1 - 엠피엘에스 네트워크에서 엘이알의 패킷 데이터 쉐이핑장치 및 그 방법 - Google Patents

엠피엘에스 네트워크에서 엘이알의 패킷 데이터 쉐이핑장치 및 그 방법 Download PDF

Info

Publication number
KR100566996B1
KR100566996B1 KR1020040092474A KR20040092474A KR100566996B1 KR 100566996 B1 KR100566996 B1 KR 100566996B1 KR 1020040092474 A KR1020040092474 A KR 1020040092474A KR 20040092474 A KR20040092474 A KR 20040092474A KR 100566996 B1 KR100566996 B1 KR 100566996B1
Authority
KR
South Korea
Prior art keywords
packet
unit
output
ler
mpls network
Prior art date
Application number
KR1020040092474A
Other languages
English (en)
Inventor
이섭노
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020040092474A priority Critical patent/KR100566996B1/ko
Application granted granted Critical
Publication of KR100566996B1 publication Critical patent/KR100566996B1/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/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues

Landscapes

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

Abstract

본 발명은 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치 및 그 방법을 제공하기 위한 것으로, 패킷을 저장하는 버퍼부와; 상기 버퍼부에서 설정된 대역으로 스케줄링하는 스케줄러부와; 상기 스케줄러부에서 스케줄링된 패킷 데이터가 패킷 단위로 출력되도록 제어하는 패킷단위 출력제어부와; 상기 패킷단위 출력제어부의 제어를 받아 상기 스케줄러부에서 스케줄링된 데이터를 패킷 단위로 출력하는 출력부를 포함하여 구성함으로써, MPLS 네트워크에서 패킷 단위로 출력을 제어하여 패킷 트래픽을 피크 레이트로 효과적으로 쉐이핑 할 수 있게 되는 것이다.

Description

엠피엘에스 네트워크에서 엘이알의 패킷 데이터 쉐이핑 장치 및 그 방법{Apparatus and method for packet data shaping of LER in MPLS network}
도 1은 일반적인 MPLS 네트워크의 블록구성도이고,
도 2는 일반적인 MPLS 네트워크에서의 패킷 데이터 쉐이핑을 위한 블록구성도이며,
도 3은 일반적인 MPLS 네트워크의 LER에 입력되고 출력되는 패킷의 트래픽 형태를 보인 개념도이고,
도 4는 종래 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치의 블록구성도이며,
도 5는 도 4에 적용되는 예를 보인 개념도이고,
도 6은 도 4 및 도 5에서 리어셈블부의 상세개념도이며,
도 7은 본 발명에 의한 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치의 블록구성도이고,
도 8은 도 7의 적용례를 보인 개념도이며,
도 9는 본 발명에 의한 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 방법을 보인 흐름도이고,
도 10은 본 발명에서 사용하는 스케줄러부 내에 있는 패킷 간격을 보인 표이 며,
도 11은 전송하려고 하는 패킷에 대해 이상적인 쉐이핑 형태와 본 발명에 의한 쉐이핑 형태를 비교한 개념도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
11 : LER 12 : LSR
100 : 버퍼부 110 : 제 1 버퍼
120 : 제 2 버퍼 130 : 제 3 버퍼
200 : 스케줄러부 300 : 패킷단위 출력제어부
310 : 분할부 320 : 레이트 설정부
330 : 출력 결정부 340 : 데이터간격 저장부
400 : 출력부
본 발명은 MPLS(Multi Protocol Label Switching) 네트워크에서 LER(Label Edge Router)의 패킷 데이터 쉐이핑(Packet Data Shaping)에 관한 것으로, 특히 MPLS 네트워크에서 패킷 단위로 출력을 제어하여 패킷 트래픽(Packet traffic)을 피크 레이트(Peak rate)로 효과적으로 쉐이핑하기에 적당하도록 한 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치 및 그 방법에 관한 것이다.
기존의 IP(Internet Protocol, 인터넷 프로토콜) 백본 네트워크는 IP 데이터 그램 라우터들로 구성(코어와 에지 모두 라우터로 구성)하여 순수 라우터 기반 구조로 이루어져 있었으며, 여기에서의 라우팅 구조는 네트워크 내의 모든 라우터에서 매 패킷 마다 계층 3 패킷 포워딩(Layer 3 packet forwarding) 기능을 수행한다. 그리고 기존의 라우터는 소프트웨어 기반으로 패킷의 넥스트-홉(Next-hop)을 찾으므로, 네트워크 링크 속도가 증가하면서 이 포워딩 기능이 전체 네트워크 성능 저하의 주된 요소가 된다.
그래서 MPLS(Multi-Protocol Label Switch, IETF) 기술은 기존의 라우팅 방식을 기반으로 ATM(Asynchronous Transfer Mode, 비동기 전송 방식)의 고속 멀티 서비스 교환 기능을 결합하여 IP 패킷을 전달하는 방식으로서, 대규모의 망에서 고속의 데이터 전송과 QoS(Quality of Service) 등의 기능 제공을 목적으로 패킷 전달을 고속화하기 위해 ATM이나 프레임 중계기(Frame Relay)와 같은 계층 2(Layer 2)의 교환 기술을 사용하고, 망의 확장성을 제공하기 위해서 계층 3의 라우팅 기능을 접목한 계층 3 스위칭 기술의 일종이다.
이러한 MPLS에서는 짧고 고정된 길이의 레이블을 기반으로 패킷을 전송하는 레이블 교환(Label Switching) 방식을 이용한다. 그러므로 IP 패킷을 목적지까지 전송하기 위해 필요한 IP 헤더 처리 과정이 모든 홉에서 수행될 필요 없이 MPLS 네트워크에 진입하는 시점에서 단 한 번만 수행된다. 그리고 이 시점에서 IP 패킷이 하나의 레이블로 매핑됨으로써 스위칭 기술을 이용한 고속의 계층 2 데이터 전송이 이루어지며, 경우에 따라서는 트래픽 엔지니어링(Traffic Engineering)이나 VPN(Virtual Private Network)과 같은 다양한 부가 서비스도 제공할 수 있다.
도 1은 일반적인 MPLS 네트워크의 블록구성도이다.
여기서 참조번호 11은 인그레스 노드(Ingress node)와 이그레스 노드(Egress node)인 LER이고, 12는 LSR이다.
그래서 MPLS 네트워크는 MPLS 네트워크의 에지에 위치하여 non-MPLS 네트워크와 연동하는 LER(Label Edge Router)(11)과 MPLS 네트워크의 코어에 위치하는 LSR(Label Switch Router)(12)로 구성된다.
그리고 인그레스 LER(11)은 non-MPLS 네트워크로부터 전달되어 오는 패킷의 헤더(destination IP address 등)를 분석하여 이 패킷이 전달될 LSP(12)를 결정한다. 또한 해당 발신 인터페이스(outgoing interface, 계층 2)에 따라 패킷을 인캡슐레이션(링크계층에 따라 다른 포맷의 레이블을 부착하는 것) 하게 된다.
또한 LSR(12)은 LER(11)로부터 레이블화된 패킷이 들어오면 그 레이블만 검사하여, 레이블 값을 바꾸고 정해진 발신 인터페이스로 전달한다. 또한 ATM에서 VPI/VCI(Virtual Path Identifier / Virtual Channel Identifier, 가상경로 식별번호 / 가상채널 식별번호) 검색 테이블을 ATM 시그널링 프로토콜이 생성하듯이, MPLS에서는 LDP(Label Distribution Protocol) 프로토콜이 룩업 테이블(Label Information Base, LIB)을 생성한다.
또한 이그레스 LER(Egress LER)에서는 도착한 패킷에서 레이블을 제거하고 그 패킷의 목적지로 패킷을 전달한다.
그래서 MPLS 네트워크의 LER(11)에서는 계층 3 패킷 포워딩(Layer 3 packet forwarding)이 수행되고 코어의 LSR(12)에서는 계층 2 포워딩(Layer 2 forwarding, 스위칭) 기능을 수행된다. 이 때 LER(11)과 LSR(12)에서 검색 테이블은 LDP 프로토콜이 생성한다.
도 2는 일반적인 MPLS 네트워크에서의 패킷 데이터 쉐이핑을 위한 블록구성도이다.
여기서 참조번호 21은 포워딩 엔진이고, 22는 연결별 버퍼이며, 23은 스케줄러 및 쉐이퍼이고, 24는 물리층(Phy) 보드이며, 25는 출력 포트이다.
그래서 입력되는 트래픽을 연결별로 설정된 형태로 스케줄링 하기 위해서는 도 2와 같은 기본적인 형태의 구성이 필요하다.
도 3은 일반적인 MPLS 네트워크의 LER에 입력되고 출력되는 패킷의 트래픽 형태를 보인 개념도이다.
따라서 MPLS 네트워크에서 LER에는 도 3과 같은 형태로 패킷 트래픽이 유입되고 또한 출력된다.
도 4는 종래 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치의 블록구성도이다.
이에 도시된 바와 같이, 연결 종류별로 패킷을 저장하는 버퍼부(30)와; 상기 버퍼부(30)에서 연결별로 설정된 대역으로 스케줄링하는 스케줄러부(40)와; 상기 스케줄러부(40)에서 바이트 단위로 스케줄링된 패킷을 재조립하는 리어셈블(Reassembler)부(50)와; 상기 리어셈블부(50)에서 재 조립된 패킷을 출력포트를 통해 전송하는 출력부(60)로 구성된다.
도 5는 도 4에 적용되는 예를 보인 개념도이다.
그래서 버퍼부(30)는 연결 종류별로 패킷을 저장하도록 제 1 내지 제 3 버퍼(31 ~ 33)가 있다.
도 6은 도 4 및 도 5에서 리어셈블부의 상세개념도이다.
그래서 리어셈블부(50)는 연결 종류별로 패킷을 저장하는 제 1 내지 제 3 버퍼(51 ~ 53)가 있고, 이를 재조립하는 결합부(54)가 있다.
이러한 종래 기술의 동작을 설명하면 다음과 같다.
먼저 버퍼부(30)에서는 연결 종류별로 저장을 한다.
그러면 스케줄러부(40)에서는 각 큐별로 설정된 대역에 맞게 스케줄링 하기 위해서 바이트 단위로 데이터를 스케줄링하여 출력한다.
그리고 물리층 보드의 출력 포트로 구성된 출력부(60)의 전단에는 패킷을 리어셈블 하는 리어셈블부(50)가 있어서 설정된 대역으로 스케줄링된 패킷을 다시 조립하여 출력 포트로 전송하게 된다.
이에 따라 출력부(60)에서는 바이트 단위로 스케줄링된 다음 재 조립된 패킷을 출력시키게 된다.
그러나 이러한 종래 기술은 다음과 같은 문제점이 있었다.
1) 패킷의 스케줄링을 수행할 때 설정된 대역에 맞게 정확하게 스케줄링 하기 위해서 종래에는 바이트 단위로 스케줄링을 하게 되는데, 이때 바이트 단위의 처리를 하다 보니 처리 시간이 길어져서 전체 성능이 떨어지는 단점이 있었다.
2) 바이트 단위로 스케줄링된 패킷을 재조립하는 리어셈블부가 필요하여 하드웨어적으로 복잡도가 증가하고 단가가 상승하는 요인이 되었다.
여기서 리어셈블부가 꼭 필요한 이유는 패킷은 출력시 분할되어서는 안되고 하나의 온전한 패킷 단위로 출력되어야만 하는 전제 조건을 만족해야 하기 때문이다.
3) 처리의 복잡성으로 인하여 오류 발생 확률이 높은 문제점도 있었다.
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 MPLS 네트워크에서 패킷 단위로 출력을 제어하여 패킷 트래픽을 피크 레이트로 효과적으로 쉐이핑 할 수 있는 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치 및 그 방법을 제공하는데 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 의한 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치는,
패킷을 저장하는 버퍼부와; 상기 버퍼부에서 설정된 대역으로 스케줄링하는 스케줄러부와; 상기 스케줄러부에서 스케줄링된 패킷 데이터가 패킷 단위로 출력되도록 제어하는 패킷단위 출력제어부와; 상기 패킷단위 출력제어부의 제어를 받아 상기 스케줄러부에서 스케줄링된 데이터를 패킷 단위로 출력하는 출력부를 포함하여 이루어짐을 그 기술적 구성상의 특징으로 한다.
상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 의한 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 방법은,
버퍼부에 저장된 각 연결의 대역 비율을 통해 주기를 계산한 다음 스케줄러부에서 패킷 간격 표를 보고 다음 전송할 연결을 선택하는 제 1 단계와; 상기 제 1 단계 후 해당 큐의 패킷을 블록 단위로 분할하는 제 2 단계와; 상기 제 2 단계 후 패킷 전송 간격을 계산하여 다음 패킷이 패킷 전송 간격 뒤에 출력되도록 하는 제 3 단계를 포함하여 수행함을 그 기술적 구성상의 특징으로 한다.
이하, 상기와 같은 본 발명, MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치 및 그 방법의 기술적 사상에 따른 일실시예를 도면을 참조하여 설명하면 다음과 같다.
도 7은 본 발명에 의한 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치의 블록구성도이고, 도 8은 도 7의 적용례를 보인 개념도이다.
이에 도시된 바와 같이, 패킷을 저장하는 버퍼부(100)와; 상기 버퍼부(100)에서 설정된 대역으로 스케줄링하는 스케줄러부(200)와; 상기 스케줄러부(200)에서 스케줄링된 패킷 데이터가 패킷 단위로 출력되도록 제어하는 패킷단위 출력제어부(300)와; 상기 패킷단위 출력제어부(300)의 제어를 받아 상기 스케줄러부(200)에서 스케줄링된 데이터를 패킷 단위로 출력하는 출력부(400)를 포함하여 구성된다.
상기에서 패킷단위 출력제어부(300)는, 상기 출력부(400)에서 출력될 패킷 데이터를 일정 크기의 블록으로 분할하는 분할부(310)와; 상기 출력부(400)에서 출력될 패킷 데이터를 연결 종류별로 레이트(Rate)를 설정하는 레이트 설정부(320)와; 상기 레이트 설정부(320)에서 연결 종류별로 설정된 레이트에 맞게 연산하여 출력 여부를 결정하는 출력 결정부(330)와; 상기 레이트 설정부(320)에서 설정된 레이트에 맞추어 다음 번에 출력될 데이터의 간격을 저장하는 데이터간격 저장부 (340)를 포함하여 구성된다.
상기에서 출력 결정부(330)는, 상기 출력 여부 결정시, 패킷의 블록개수와 마지막 블록의 바이트 수를 이용하여 패킷 전송 간격을 계산하는 것을 특징으로 한다.
상기에서 출력 결정부(330)는, 상기 패킷 전송 간격은 "반올림[(블록개수 * 주기) - ((마지막 블록 바이트 수)/64) * 주기)]"에 의해 계산하는 것을 특징으로 한다.
여기서 미설명부호 110 내지 130은 상기 버퍼부(100) 내에서 연결 종류별로 패킷을 저장하는 제 1 내지 제 3 버퍼이다.
도 9는 본 발명에 의한 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 방법을 보인 흐름도이다.
이에 도시된 바와 같이, 버퍼부(100)에 저장된 각 연결의 대역 비율을 통해 주기를 계산한 다음 스케줄러부(200)에서 패킷 간격 표를 보고 다음 전송할 연결을 선택하는 제 1 단계(ST1)(ST2)와; 상기 제 1 단계 후 해당 큐의 패킷을 블록 단위로 분할하는 제 2 단계(ST3)(ST4)와; 상기 제 2 단계 후 패킷 전송 간격을 계산하여 다음 패킷이 패킷 전송 간격 뒤에 출력되도록 하는 제 3 단계(ST5 ~ ST7)를 포함하여 수행한다.
상기에서 제 2 단계는, 상기 제 1 단계 후 해당 큐의 패킷을 64 바이트 단위로 분할하는 것을 특징으로 한다.
상기에서 제 2 단계는, 상기 분할 시 블록의 개수를 파악하여 저장하고, 마 지막 블록에서는 바이트 수를 저장하는 것을 특징으로 한다.
상기에서 제 3 단계는, 상기 패킷 전송 간격 계산 시 패킷의 블록 개수와 마지막 블록의 바이트 수를 이용하여 상기 패킷 전송 간격을 계산하는 것을 특징으로 한다.
상기에서 제 3 단계는, 상기 패킷 전송 간격은 "반올림[(블록개수 * 주기) - ((마지막 블록 바이트 수)/64) * 주기)]"에 의해 계산하는 것을 특징으로 한다.
이와 같이 구성된 본 발명에 의한 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치 및 그 방법의 동작을 첨부한 도면에 의거 상세히 설명하면 다음과 같다.
먼저 본 발명은 MPLS 네트워크에서 패킷 단위로 출력을 제어하여 패킷 트래픽을 피크 레이트로 효과적으로 쉐이핑 하고자 한 것이다.
그래서 도 1과 같은 MPLS 시스템에서는 도 3과 같은 데이터가 패킷 형태로 유입되어 패킷 형태로 출력된다.
이때 하나의 패킷은 분할되어 출력되어서는 안되고, 패킷단위로 최종 출력되어야 한다. 또한 각 패킷의 사이즈는 가변이다.
그래서 특정 연결(특정 목적지를 향하는 데이터의 집합)의 데이터를 필요에 의해서 일정 레이트(Rate)로 제한하여 출력해야 하는 경우에(이런 경우는 시스템간의 대역을 서로 계약에 의해서 설정하고 계약된 대역을 초과해서는 안 되는 형태로 서비스가 이루어진다.) 간단하고 효과적으로 설정된 대역에 맞게 출력할 수 있어야 한다.
이를 위해 본 발명은 버퍼부(100), 스케줄러부(200), 패킷단위 출력제어부 (300), 출력부(400)를 포함하여 구성한다.
그래서 버퍼부(100)에서는 제 1 내지 제 3 버퍼부(110 ~ 130)를 구비하여 연결 종류별로 패킷을 저장한다.
또한 스케줄러부(200)는 버퍼부(100)에서 설정된 대역으로 스케줄링한다.
또한 패킷단위 출력제어부(300)는 스케줄러부(200)에서 스케줄링된 패킷 데이터가 패킷 단위로 출력되도록 제어한다.
이러한 패킷단위 출력제어부(300)에서 분할부(310)는 출력부(400)에서 출력될 패킷 데이터를 일정 크기의 블록으로 분할한다. 이때는 64바이트 단위로 분할한다.
또한 레이트 설정부(320)에서는 출력부(400)에서 출력될 패킷 데이터를 연결 종류별로 레이트(Rate)를 설정한다.
또한 출력 결정부(330)는 레이트 설정부(320)에서 연결 종류별로 설정된 레이트에 맞게 연산하여 출력 여부를 결정한다. 그래서 출력 결정부(330)는 패킷의 블록개수와 마지막 블록의 바이트 수를 이용하여 패킷 전송 간격을 계산한다. 이때 패킷 전송 간격은 "반올림[(블록개수 * 주기) - ((마지막 블록 바이트 수)/64) * 주기)]"에 의해 계산한다. 그래서 출력 결정부(330)는 계산된 패킷 전송 간격을 패킷 간격표에 저장하고, 다음 패킷이 이 패킷 전송 간격 뒤에 출력되도록 한다.
데이터간격 저장부(340)는 레이트 설정부(320)에서 설정된 레이트에 맞추어 다음 번에 출력될 데이터의 간격을 저장한다.
또한 출력부(400)는 출력 포트로 이루어지고, 패킷단위 출력제어부(300)의 제어를 받아 스케줄러부(200)에서 스케줄링된 데이터를 패킷 단위로 출력한다.
도 10은 본 발명에서 사용하는 스케줄러부 내에 있는 패킷 간격을 보인 표이며, 도 11은 전송하려고 하는 패킷에 대해 이상적인 쉐이핑 형태와 본 발명에 의한 쉐이핑 형태를 비교한 개념도이다.
그래서 도 11과 같이 출력될 데이터를 일정 크기의 바이트로 분할하여 해당 연결의 패킷을 설정된 레이트에 맞게 출력될 수 있도록 하고 있다.
그리고 도 11에서는 64바이트를 사용했다. 그래서 1) 전송하려고 하는 패킷은 패킷#1과 패킷#2가 있는 예를 든 것으로, 전송하려고 하는 패킷(사이즈 : 320 바이트)은 64바이트로 분할 시 5개의 블록으로 분할이 가능하다. 그리고 이상적인 쉐이핑 형태에서는 블록 타입 슬롯(연결 대역 : 전체 1/4 대역)이 도 11의 2)와 같고, 본 발명에 의한 쉐이핑 형태에서는 블록 타입 슬롯(연결 대역 : 전체 1/4 대역)이 도 11의 3)과 같이 된다.
여기서 일정 바이트로 나누어 계산하는 이유는 종래 기술에서와 같이 각 바이트 단위로 연산을 수행하게 되면 하드웨어의 복잡성으로 인하여 출력효율이 떨어져 큰 링크대역에서는 사용 될 수 없기 때문이다.
따라서 약간의 오차를 감수하더라도 일정 블록 사이즈 간격으로 연산을 수행함으로써 연산의 부하를 줄이고 성능을 최대한 높일 수 있도록 한다.
이러한 본 발명의 동작을 좀더 상세히 설명하면 다음과 같다.
먼저 버퍼부(100)에 저장된 각 연결의 대역 비율을 통해 주기를 계산한다(ST1).
이때 정확도를 높이기 위해 주기를 소수점 둘째 자리까지 계산할 수 있다. 예를 들어 해당 연결의 트래픽이 전체 대역의 25%인 1/4이라고 가정할 때 주기는 3이 되어, 3 블록 만큼 후에 다시 트래픽을 전송하도록 한다.
그리고 스케줄러부(200)에서는 패킷 간격 표를 보고 다음 전송할 연결(큐)을 선택한다(ST2). 이때의 패킷 간격 표의 예를 도 10과 같다.
그런 다음 버퍼부(100)의 큐에 있는 전송할 패킷의 사이즈를 확인하고 해당 패킷이 속한 연결 대역을 확인한다. 그래서 해당 큐의 패킷을 블록 단위(64 바이트) 단위로 분할하여 전송한다(ST3).
이때 최종 블록을 전송하기 전까지는 패킷 사이즈마다 설정된 BLOCK_SIZE(64) 만큼씩 빼서 전송 중에 패킷의 남은 바이트 수를 연산한다. 이는 연속해서 패킷을 내보내기 때문에 다음 패킷이 출력될 블록 타임을 연산하는 것이다. 그래서 도 11을 참조하여 보면, 도 11의 2)와 같이 블록 단위로 뛰어서 패킷을 전송하는 것이 아니라, 도 11의 3)과 같이 순간적으로 최대 라인 레이트로 한 개의 패킷을 중간에 끊어지지 않도록 전송한다.
그리고 분할시 블록의 개수를 파악하여 저장하고, 마지막 블록에서는 자투리가 생기므로 바이트 수를 저장한다(ST4).
그런 다음 블록 개수와 마지막 블록의 바이트 수를 출력 결정부(330)에 입력하여, 출력 결정부(330)에서 패킷의 블록 개수와 마지막 패킷의 자투리 바이트 수를 이용하여 다음 패킷이 출력될 간격을 계산하도록 한다(ST5).
그러면 출력 결정부(330)는 다음과 같은 공식으로 패킷 전송 간격을 계산한 다(ST6).
패킷 전송 간격 = 반올림[(블록개수 * 주기) - ((마지막 블록 바이트 수)/64) * 주기)]
그리고 출력 결정부(330)는 계산된 패킷 전송 간격을 패킷 간격표에 저장하고, 다음 패킷이 이 간격 뒤에 출력되도록 한다(ST7).
그래서 스케줄러부(200)는 패킷 전송 간격을 도 10의 패킷 간격표에 업데이트 하고, 이후 스케줄러부(200)는 해당 큐에 패킷이 입력되고 패킷 간격표에 있는 다음 패킷 전송 간격의 시간 만큼 시간이 흐르면 해당 큐의 다음 패킷을 전송하게 된다.
이와 같은 방식으로 다음에 올 패킷의 다음 전송 간격을 계산하여 블록 단위로 패킷을 출력시키게 된다.
이러한 본 발명의 동작을 실제 예를 들어 설명하면 다음과 같다.
먼저 출력부(400)의 최대 대역폭이 100Mbps라고 가정하자. 또한 특정연결을 "테스트 연결"이라고 정의하고, 이 테스트 연결의 트래픽은 25Mbps라고 가정하자.
이런 가정이라면 이론적으로 테스트 연결은 전체 링크 대역의 25/100 = 0.25 에 해당하는 비율이다. 이는 결국 25%에 해당하는 대역을 테스트 연결의 트래픽이 점유할 수 있고 최대 점유율이 이 값을 넘어서는 안 된다.
그리고 해당 링크에는 다른 종류의 여러 연결이 있을 것이고 각 연결마다 설정된 대역이 있는 상황에서 여러 연결의 트래픽을 각각 설정된 대역에 맞게 출력해야 한다. 물론 모든 연결의 설정 대역의 합이 전체 링크 대역인 100Mbps를 초과 할 수는 없다.
1) 위 예에서 전체 대역의 25%로 해당 연결의 트래픽을 출력하기 위해서는 테스트 연결의 블록 데이터를 출력하고 3블록 만큼 후에 다시 테스트 연결의 트래픽을 전송해야 한다. 이는 그림 11과 같은 형태의 출력이 되게 된다.
2) 따라서 블록간 간격은 3으로 설정하여 블록간의 간격을 세팅하고, 각 블록을 전송하면서 다음 패킷이 전달될 간격을 계산한다.
3) 계산하는 방법은 해당 패킷이 320바이트라고 할 때, 64바이트 블록의 5배에 해당하므로 해당 패킷 전체를 링크대역으로 연속해서 보내는 대신 전체대역의 25%를 보내야하는 전체 조건을 만족하기 위해서 다음 패킷은 15블록 타임 뒤에 보내게 된다. 결국 이 패킷이 전송되는 시점에는 전체 대역을 순간적으로 100% 모두 점유하게 되지만 초과 점유된 시간 만큼 다음 패킷을 보낼 때 간격을 두고 보내게 된다.
4) 해당 패킷을 전송하게 되면 최종적으로 다음 패킷을 보낼 간격인 15블록타임이 계산되게 되고, 이 값을 도 10의 패킷 간격표에서 "다음 패킷 전송 간격(블록 타임)" 항목에 입력하게 된다.
5) 스케줄러부(200)는 다음 패킷을 전송시 이 "다음 패킷 전송 간격"의 값을 이용하여 해당 패킷의 전송시간을 결정하게 된다.
이러한 본 발명은 종래 기술과 다음과 같은 차이점이 있다.
첫째, 종래 기술에서는 패킷 스케줄링시 설정된 대역에 맞게 정확하게 스케줄링 하기 위해서 바이트 단위로 스케줄링을 하여 전송하게 되는데 이때 바이트 단 위의 처리를 하다 보니 처리 시간이 길어져서 전체 성능이 떨어지는 단점이 있게 되나, 본 발명에서는 64바이트 단위인 블록단위로 전송하여 전체 성능 저하를 방지할 수 있게 된다.
둘째, 전송 방법에 있어서 종래 기술은 여러 개의 큐에 데이터가 있을 때 각 큐에서 계산에 의해 한 바이트 씩 뽑아내서 전송하게 되는데 이 때문에 바이트 단위로 스케줄링된 패킷을 재조립하는 리어셈블부가 필요하고 이로 인해 하드웨어적으로 복잡도가 증가하고 단가가 상승하는 요인이 발생하였으나(리어셈블부가 꼭 필요한 이유는 패킷은 출력시 분할되어서는 안되고 하나의 온전한 패킷단위로 출력되어야만 하는 전제 조건을 만족해야 하기 때문이다), 본 발명에서는 비록 패킷을 64바이트로 나누어서 계산하지만 전송시에는 한 개의 패킷을 도 11의 3)에서와 같이 모두 붙여서 전송하게 되므로 종래 기술에서 요구되던 리어셈블부가 필요하지 않게 된다.
셋째, 종래 기술은 처리의 복잡성으로 인한 오류 발생 확률이 높고 성능저하의 원인이 되었지만, 본 발명은 오류발생 가능성이 적고 구성을 단순화하여 성능을 크게 향상시킬 수 있게 된다.
이처럼 본 발명은 MPLS 네트워크에서 패킷 단위로 출력을 제어하여 패킷 트래픽을 피크 레이트로 효과적으로 쉐이핑 하게 되는 것이다.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위 의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.
이상에서 살펴본 바와 같이, 본 발명에 의한 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치 및 그 방법은 MPLS 네트워크에서 패킷 단위로 출력을 제어하여 패킷 트래픽을 피크 레이트로 효과적으로 쉐이핑 할 수 있는 효과가 있게 된다.
또한 본 발명은 전체 대역에서 각 연결별로 패킷이 차지하는 대역에 맞게 전송하기 위하여 매 바이트마다 계산을 수행함으로써 성능이 저하되는 것을 방지할 수 있는 효과도 있게 된다.
더불어 본 발명은 쉐이핑 과정에서 한 개의 패킷을 동시에 전송함으로써 물리계층 블록에서 각 연결별로 따로 버퍼를 두고 재조립해야 하는 복잡성을 해결할 수 있게 된다.
나아가 본 발명은 재조립을 위한 리어셈블부가 불필요하게 됨으로써 생산 단가를 줄일 수 있는 장점도 있게 된다.
또한 본 발명은 패킷 데이터의 쉐이핑 처리를 위한 구조를 단순화하여 오류발생 가능성을 줄인 효과도 있게 된다.

Claims (9)

  1. 패킷을 저장하는 버퍼부와;
    상기 버퍼부에서 설정된 대역으로 스케줄링하는 스케줄러부와;
    상기 스케줄러부에서 스케줄링된 패킷 데이터가 패킷 단위로 출력되도록 제어하는 패킷단위 출력제어부와;
    상기 패킷단위 출력제어부의 제어를 받아 상기 스케줄러부에서 스케줄링된 데이터를 패킷 단위로 출력하는 출력부를 포함하여 구성된 것을 특징으로 하는 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치.
  2. 제 1 항에 있어서, 상기 패킷단위 출력제어부는,
    상기 출력부에서 출력될 패킷 데이터를 일정 크기의 블록으로 분할하는 분할부와;
    상기 출력부에서 출력될 패킷 데이터를 연결 종류별로 레이트를 설정하는 레이트 설정부와;
    상기 레이트 설정부에서 연결 종류별로 설정된 레이트에 맞게 연산하여 출력 여부를 결정하는 출력 결정부와;
    상기 레이트 설정부에서 설정된 레이트에 맞추어 다음 번에 출력될 데이터의 간격을 저장하는 데이터간격 저장부를 포함하여 구성된 것을 특징으로 하는 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치.
  3. 제 2 항에 있어서, 상기 출력 결정부는,
    상기 출력 여부 결정시, 패킷의 블록개수와 마지막 블록의 바이트 수를 이용하여 패킷 전송 간격을 계산하는 것을 특징으로 하는 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치.
  4. 제 3 항에 있어서, 상기 출력 결정부는,
    상기 패킷 전송 간격은 "반올림[(블록개수 * 주기) - ((마지막 블록 바이트 수)/64) * 주기)]"에 의해 계산하는 것을 특징으로 하는 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 장치.
  5. 버퍼부에 저장된 각 연결의 대역 비율을 통해 주기를 계산한 다음 스케줄러부에서 패킷 간격 표를 보고 다음 전송할 연결을 선택하는 제 1 단계와;
    상기 제 1 단계 후 해당 큐의 패킷을 블록 단위로 분할하는 제 2 단계와;
    상기 제 2 단계 후 패킷 전송 간격을 계산하여 다음 패킷이 패킷 전송 간격 뒤에 출력되도록 하는 제 3 단계를 포함하여 수행하는 것을 특징으로 하는 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 방법.
  6. 제 5 항에 있어서, 상기 제 2 단계는,
    상기 제 1 단계 후 해당 큐의 패킷을 64 바이트 단위로 분할하는 것을 특징 으로 하는 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 방법.
  7. 제 5 항에 있어서, 상기 제 2 단계는,
    상기 분할 시 블록의 개수를 파악하여 저장하고, 마지막 블록에서는 바이트 수를 저장하는 것을 특징으로 하는 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 방법.
  8. 제 5 항에 있어서, 상기 제 3 단계는,
    상기 패킷 전송 간격 계산 시 패킷의 블록 개수와 마지막 블록의 바이트 수를 이용하여 상기 패킷 전송 간격을 계산하는 것을 특징으로 하는 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 방법.
  9. 제 5 항 내지 제 8 항 중 어느 한 항에 있어서, 상기 제 3 단계는,
    상기 패킷 전송 간격은 "반올림[(블록개수 * 주기) - ((마지막 블록 바이트 수)/64) * 주기)]"에 의해 계산하는 것을 특징으로 하는 MPLS 네트워크에서 LER의 패킷 데이터 쉐이핑 방법.
KR1020040092474A 2004-11-12 2004-11-12 엠피엘에스 네트워크에서 엘이알의 패킷 데이터 쉐이핑장치 및 그 방법 KR100566996B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040092474A KR100566996B1 (ko) 2004-11-12 2004-11-12 엠피엘에스 네트워크에서 엘이알의 패킷 데이터 쉐이핑장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040092474A KR100566996B1 (ko) 2004-11-12 2004-11-12 엠피엘에스 네트워크에서 엘이알의 패킷 데이터 쉐이핑장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR100566996B1 true KR100566996B1 (ko) 2006-04-04

Family

ID=37180190

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040092474A KR100566996B1 (ko) 2004-11-12 2004-11-12 엠피엘에스 네트워크에서 엘이알의 패킷 데이터 쉐이핑장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100566996B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100973082B1 (ko) 2008-05-28 2010-07-29 전자부품연구원 더블 레귤레이터를 이용한 패킷 쉐이퍼 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010057766A (ko) * 1999-12-23 2001-07-05 오길록 멀티프로토콜 레이블 스위칭 망의 에지 라우터에서의분리/재결합 패킷 메모리 제어장치
KR20010063768A (ko) * 1999-12-24 2001-07-09 오길록 다중프로토콜 레이블 스위치 시스템의 가입자 정합장치
KR20010063845A (ko) * 1999-12-24 2001-07-09 오길록 다중채널 레이블 스위치 시스템의 가상채널 머지 장치
KR20020053581A (ko) * 2000-12-27 2002-07-05 오길록 엠피엘에스 에지 라우터에서 모의 전용선 서비스 패킷들의분류 및 전달을 위한 큐오에스 에프이씨 구성 및 패킷검색 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010057766A (ko) * 1999-12-23 2001-07-05 오길록 멀티프로토콜 레이블 스위칭 망의 에지 라우터에서의분리/재결합 패킷 메모리 제어장치
KR20010063768A (ko) * 1999-12-24 2001-07-09 오길록 다중프로토콜 레이블 스위치 시스템의 가입자 정합장치
KR20010063845A (ko) * 1999-12-24 2001-07-09 오길록 다중채널 레이블 스위치 시스템의 가상채널 머지 장치
KR20020053581A (ko) * 2000-12-27 2002-07-05 오길록 엠피엘에스 에지 라우터에서 모의 전용선 서비스 패킷들의분류 및 전달을 위한 큐오에스 에프이씨 구성 및 패킷검색 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100973082B1 (ko) 2008-05-28 2010-07-29 전자부품연구원 더블 레귤레이터를 이용한 패킷 쉐이퍼 장치 및 방법

Similar Documents

Publication Publication Date Title
US7212490B1 (en) Dynamic load balancing for dual ring topology networks
US7126918B2 (en) Micro-flow management
US7406088B2 (en) Method and system for ethernet and ATM service interworking
US7190695B2 (en) Flexible application of mapping algorithms within a packet distributor
US7333508B2 (en) Method and system for Ethernet and frame relay network interworking
JP4547339B2 (ja) 送信制御機能を備えるパケット中継装置
EP1013049B1 (en) Packet network
US6553030B2 (en) Technique for forwarding multi-cast data packets
US7978609B2 (en) Systems and methods for improving packet scheduling accuracy
US20040213264A1 (en) Service class and destination dominance traffic management
US20110019544A1 (en) Systems for scheduling the transmission of data in a network device
US7499449B2 (en) Virtual Ethernet MAC switching
US7417995B2 (en) Method and system for frame relay and ethernet service interworking
US20020085565A1 (en) Technique for time division multiplex forwarding of data streams
CN101002438A (zh) 码率整形器算法
JPH1041947A (ja) Atm網における仮想送信端末/仮想受信端末
JP2002044139A (ja) ルータ装置及びそれに用いる優先制御方法
US7362749B2 (en) Queuing closed loop congestion mechanism
CN111147381B (zh) 流量均衡方法和装置
US9197438B2 (en) Packet forwarding node
JP5083323B2 (ja) ラベルスイッチングネットワークにおける通信装置
KR100566996B1 (ko) 엠피엘에스 네트워크에서 엘이알의 패킷 데이터 쉐이핑장치 및 그 방법
US20210281524A1 (en) Congestion Control Processing Method, Packet Forwarding Apparatus, and Packet Receiving Apparatus
Wang et al. Mpcr: Multi-path credit reservation protocol
Hong et al. The internetworking of connectionless data networks over public ATM: connectionless server design and performance

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

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee