KR100637933B1 - Packet forwarding method and apparatus in router of subscriber access network - Google Patents

Packet forwarding method and apparatus in router of subscriber access network Download PDF

Info

Publication number
KR100637933B1
KR100637933B1 KR1020050093167A KR20050093167A KR100637933B1 KR 100637933 B1 KR100637933 B1 KR 100637933B1 KR 1020050093167 A KR1020050093167 A KR 1020050093167A KR 20050093167 A KR20050093167 A KR 20050093167A KR 100637933 B1 KR100637933 B1 KR 100637933B1
Authority
KR
South Korea
Prior art keywords
packet
forwarding
information
subscriber
head
Prior art date
Application number
KR1020050093167A
Other languages
Korean (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 KR1020050093167A priority Critical patent/KR100637933B1/en
Application granted granted Critical
Publication of KR100637933B1 publication Critical patent/KR100637933B1/en

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
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority

Landscapes

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

Abstract

A packet forwarding method in a subscriber access network connecting device and an apparatus thereof are provided to extract an IP(Internet Protocol) head of a packet one time only, and to process QoS(Quality of Service) profile information acquisition, forwarding information acquisition, and virtual queue number acquisition in parallel by using multiple engines, thereby improving data processing performance. A receiving buffer(31) receives inputted packets. A head extractor(32) extracts a head from the buffer(31). The first to third forwarding engines(33-35) take charge of packet classification, forwarding information acquisition, and packet queueing information acquisition, then simultaneously acquire classification, forwarding information, and queueing information for predetermined packets if head information of the packets is delivered, and configure meta data of the packets. A meta data storage(36) stores metal data structures for each packet configured by the acquired information. A transmission buffer(37) stores the packets processed into the data, before the packets are outputted to a switch fabric. A scheduler(38) determines a transmission sequence of the stored packets by using the meta data.

Description

가입자 액세스망 접속 장비에서의 패킷 포워딩 방법 및 장치{Packet forwarding method and apparatus in router of subscriber access network}Packet forwarding method and apparatus in apparatus of router access subscriber

도 1은 가입자 액세스 망에서 패킷 포워딩을 수행하는 접속 장비의 일반적인 구성을 나타낸 블럭도이다.1 is a block diagram illustrating a general configuration of an access device that performs packet forwarding in a subscriber access network.

도 2는 패킷 포워딩을 위한 종래의 패킷 처리 절차를 나타낸 데이터 흐름도이다.2 is a data flow diagram illustrating a conventional packet processing procedure for packet forwarding.

도 3은 본 발명에 의한 패킷 포워딩 장치의 구성을 나타낸 기능 블록도이다.3 is a functional block diagram showing the configuration of a packet forwarding apparatus according to the present invention.

도 4는 본 발명에 의한 패킷 포워딩 방법에 있어서, 가입자측으로부터 수신된 패킷의 처리 절차를 보인 플로우챠트이다.4 is a flowchart showing a processing procedure of a packet received from a subscriber in the packet forwarding method according to the present invention.

도 5는 본 발명에 의한 패킷 포워딩 방법에 있어서, 가입자측으로 송신되는 패킷의 처리 절차를 보인 플로우챠트이다.5 is a flowchart illustrating a packet processing procedure transmitted to a subscriber side in the packet forwarding method according to the present invention.

도 6은 본 발명에 의한 패킷 포워딩 방법에 있어서, 큐잉 과정을 설명하는 모식도이다.6 is a schematic diagram illustrating a queuing process in the packet forwarding method according to the present invention.

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

31: 수신 버퍼31: Receive Buffer

32: 헤드 추출부32: head extraction unit

33 ~ 35: 제1~제3 포워딩 엔진33 to 35: 1st to 3rd forwarding engine

36: 메타 데이터 저장부36: metadata storage

37: 송신 버퍼37: Send buffer

본 발명은 가입자와 연결된 가입자 액세스 망에서의 패킷 포워딩에 있어서 대용량의 데이터를 고속으로 처리할 수 있으며 가입자 간에 공평한 서비스를 제공할 수 있도록 한 가입자 액세스 망에서의 패킷 포워딩 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for packet forwarding in a subscriber access network capable of processing a large amount of data at high speed in packet forwarding in a subscriber access network connected to a subscriber and providing a fair service among subscribers.

다수의 가입자 단말을 코어망(예를 들어, 인터넷(internet)등)으로 연결하기 위한 가입자 액세스 망에는, 다수 가입자 단말의 송수신 패킷을 적절한 경로로 전달하기 위한 접속 장비가 구비되며, 이러한 접속 장비를 라우터(Router)라 한다.The subscriber access network for connecting a plurality of subscriber stations to a core network (for example, the Internet, etc.) is provided with access equipment for transmitting and receiving packets of the multiple subscriber stations through an appropriate path. This is called a router.

도 1은 상술한 라우터 시스템에 있어서 포워딩 처리를 위한 일반적인 구성을 나타낸 블록도로서, 하드웨어적인 구성은 크게 코어망 혹은 가입자측에 연결되어 패킷의 송수신 및 포워딩을 수행하는 다수의 라인 카드(10)와, 상기 다수의 라인 카드(10) 간의 데이터 교환을 수행하는 스위치 패브릭(13)과, 상기 다수 라인 카드(10)의 포워딩을 제어하는 마이크로프로세서(MPU)(14)로 이루어진다.FIG. 1 is a block diagram illustrating a general configuration for forwarding processing in the above-described router system. The hardware configuration includes a plurality of line cards 10 connected to a core network or a subscriber and performing packet transmission and forwarding. And a switch fabric 13 for performing data exchange between the plurality of line cards 10 and a microprocessor (MPU) 14 for controlling forwarding of the plurality of line cards 10.

상기 라인 카드(10)는 실제 패킷 포워딩을 수행하는 부분으로써, 패킷의 포워딩을 담당하는 네트워크 프로세서(11)와, 네트워크 및 가입자와의 접속을 담당하는 물리계층처리부(12)로 구성되며, 상기 네트워크 프로세서(11)에는 패킷 포워딩 처리를 위해 포워딩 엔진(PFE: Packet Forwarding Engine)(11a)이 구성되어 있으며, 상기 마이크로프로세서(14)에는 라우팅 기능과 장비의 OAM(Operation and Management) 기능을 수행하는 라우팅 엔진(15)이 구성된다.The line card 10 is a part that actually performs packet forwarding. The line card 10 includes a network processor 11 that is responsible for forwarding packets and a physical layer processor 12 that is connected to a network and a subscriber. The processor 11 is configured with a packet forwarding engine (PFE) 11a for packet forwarding processing, and the microprocessor 14 has a routing function that performs a routing function and an operation and management (OAM) function of the equipment. The engine 15 is configured.

상기 라인 카드(10) 간의 데이터 교환은 스위치 패브릭(13)을 통해 이루어지며, 상기 포워딩 엔진(11)과 라우팅 엔진(15) 간의 제어 패킷은 내부 LAN(Local Area Network)을 통해 이루어진다.The data exchange between the line card 10 is made through the switch fabric 13, the control packet between the forwarding engine 11 and the routing engine 15 is via an internal local area network (LAN).

도 2는 상술한 라우터 시스템에 있어서, 종래의 포워딩 방법에 따라서 상기 라인카드(10)의 입력단과 출력단 사이에서 이루어지는 데이터 처리 절차를 보인 것이다.2 illustrates a data processing procedure performed between the input terminal and the output terminal of the line card 10 according to the conventional forwarding method in the above-described router system.

상기 라인 카드(10)에서 이루어지는 절차는 크게 네트워크와 연결되는 미디어장치로부터 패킷을 입력받아 스위치 패브릭(13)으로 출력하는 입력(ingress) 데이터 처리와, 스위치 패브릭(13)으로부터 입력받아 네트워크로 패킷을 출력하는 출력(egress) 데이터 처리로 구분할 수 있다.The procedure of the line card 10 is largely based on ingress data processing for receiving a packet from a media device connected to a network and outputting the packet to the switch fabric 13, and receiving a packet from the switch fabric 13 to the network. It can be classified into output egress data processing.

상기 입력 데이터 처리절차는 다음과 같이 이루어진다. 미디어 장치(도시생략)로부터 패킷을 수신하면(S211), 데이터 프레임으로 조립을 한 후(S212), QoS 정보를 획득하기 위해 상기 패킷의 헤드로부터 6-투플(tuple)을 추출하여 이에 따라 서 패킷을 분류한다(S213). 이때 패킷의 플로우별로 패킷 전송률과 데이터의 크기에 따라 분류하여, 각 분류된 패킷의 컬러를 green, yellow, red로 표시한다.The input data processing procedure is performed as follows. When receiving a packet from a media device (not shown) (S211), after assembling into a data frame (S212), 6-tuples are extracted from the head of the packet to obtain QoS information, and thus the packet To classify (S213). At this time, each packet flow is classified according to the packet transmission rate and data size, and the color of each classified packet is displayed as green, yellow, and red.

다음으로, 수신한 패킷에 대한 미터링 및 통계 정보를 수집하여 통계 정보를 처리한 후(S214), 수신 패킷의 착신측 주소에 따라서 패킷 포워딩 정보를 룩-업한다(S215).Next, after the metering and statistical information on the received packet is collected and the statistical information is processed (S214), the packet forwarding information is looked up according to the destination address of the received packet (S215).

이어서, 패킷의 폭주를 방지하기 위하여 패킷을 미리 폐기하는 RED(Random Early Discard)/WRED (Weighted RED)를 수행한 후(S216), 큐 스케줄링 및 큐 관리를 통하여 상기 수신된 패킷을 소정 순서로 스위치 패브릭(13)에 연결된 출력 포트로 송신한다(S217,S218). 이때 스위치 인터페이스가 CSIX(Common Switch Interface)이므로, 상기 패킷은 고정된 크기의 셀 단위인 "C-frame" 포맷으로 전달된다.Subsequently, after performing RED (Random Early Discard) / WRED (Weighted RED) to discard the packet in advance in order to prevent the congestion of the packet (S216), the received packet is switched in a predetermined order through queue scheduling and queue management. Transmission to the output port connected to the fabric 13 (S217, S218). At this time, since the switch interface is CSIX (Common Switch Interface), the packet is delivered in a "C-frame" format, which is a cell unit of fixed size.

다음으로, 출력 데이터 처리 과정은 다음과 같다.Next, the output data processing process is as follows.

스위치 패브릭(13)으로부터 패킷이 입력되면(S221), 상기 패킷에 대하여 상술한 입력 데이터 처리에서와 마찬가지로 미터링 과정과 통계 정보를 수집한 후 RED/WRED에 의한 폭주 제어 과정을 수행한다(S222~S223).When a packet is input from the switch fabric 13 (S221), the metering process and statistical information are collected in the same manner as in the input data processing described above with respect to the packet, and then the congestion control process by RED / WRED is performed (S222 to S223). ).

그리고 상기 폭주 제어 과정에서 폐기되지 않은 패킷은 L2(Layer 2) 헤드 정보를 갱신 및 부가하여 캡슐화한 후(S224), 스케줄링 및 큐 관리를 통해 소정 순서로 미디어 장치로 송신한다(S225,S226).The packet not discarded in the congestion control process is encapsulated by updating and adding L2 (Layer 2) head information (S224), and then transmitting the packet to the media device in a predetermined order through scheduling and queue management (S225, S226).

상술한 입력/출력 데이터 처리에 있어서, 스케줄링시 보통, 포트 간에는 WRR (Weighted Round Robin), 큐 간에는 DRR (Deficit Round Robin) 알고리즘을 적용한 다. 또한, 상기 통계 정보 처리는 플로우 단위로 송수신한 패킷의 수와 바이트의 수를 계산하고, 포트 및 인터페이스 단위로 전송한 패킷의 수, 바이트의 수, 그리고, 패킷 도착 간격 시간을 수집한다.In the above-described input / output data processing, a WRR (Weighted Round Robin) algorithm is generally used between ports and a DRR (Deficit Round Robin) algorithm is used between queues. The statistical information processing calculates the number of packets transmitted and received in units of flows and the number of bytes, and collects the number of packets transmitted in units of ports and interfaces, the number of bytes, and the packet arrival interval time.

상술한 바와 같이, 종래의 포워딩 절차는, 수신된 패킷의 IP 헤드를 추출하여 패킷을 분류해서 QoS 프로파일 정보를 알아낸 다음, 다시 수신된 패킷의 IP 헤드에서 목적지 주소를 추출한 후 이를 이용한 룩-업을 통하여 포워딩 정보를 알아내는 식으로, 순차적인 흐름으로 데이터를 처리하였다.As described above, the conventional forwarding procedure extracts the IP head of the received packet, classifies the packet to find QoS profile information, and then extracts a destination address from the IP head of the received packet and then looks up using the same. In this way, the forwarding information was found out, and the data was processed in a sequential flow.

그렇기 때문에, 패킷의 헤드를 추출하는 과정이 중복 수행되었으며, 또한 패킷 분류 후에 포워딩을 위한 룩-업을 수행하기 때문에 패킷 처리의 지연 시간이 증가하였다.Therefore, the process of extracting the head of the packet is repeatedly performed, and the delay time of packet processing is increased because the look-up for forwarding is performed after packet classification.

또한, 종래에는 패킷 송신을 위한 큐 관리에 있어서, 패킷이 수신되는 순서로 큐잉하는 방식을 사용하였기 때문에, 망의 폭주시에 많은 트래픽을 사용하는 가입자와 적은 트래픽을 사용하는 가입자에 관계없이 모두 같은 양의 패킷 손실이 나타난다. 따라서, 가입자 간에 공평한 데이터 트래픽을 제공할 수 없었다.In addition, in the conventional queue management for packet transmission, since a method of queuing the packets in the order in which they are received is used, both subscribers that use a lot of traffic and subscribers that use less traffic during network congestion are the same. Positive packet loss is seen. Therefore, it was not possible to provide fair data traffic between subscribers.

본 발명은 상술한 종래의 문제점을 해결하기 위하여 제안된 것으로서, 그 목적은 가입자 액세스 망에서의 패킷 포워딩에 있어서 대용량의 데이터를 고속으로 처리할 수 있으며 가입자 간에 공평한 서비스를 제공할 수 있도록 한 가입자 액세 스 망에서의 패킷 포워딩 방법 및 장치를 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been proposed to solve the above-mentioned conventional problems, and an object thereof is to provide a service that is capable of processing a large amount of data at high speed in packet forwarding in a subscriber access network and providing a fair service among subscribers. It is to provide a packet forwarding method and apparatus in a network.

상술한 목적을 달성하기 위한 구성수단으로서, 본 발명은 외부 네트워크와 연결되어 패킷의 송수신 및 포워딩 처리를 수행하는 다수의 라인 카드와, 상기 다수 라인 카드 간에 패킷을 전달하는 스위치 패브릭을 포함하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법에 있어서, 외부 네트워크로부터 패킷을 수신하면, 상기 수신된 패킷의 IP 헤드를 추출하는 단계; 다중 엔진을 통해 상기 추출된 IP 헤드 정보를 이용하여, QoS 및 보안을 위한 프로파일 정보 획득, 포워딩 정보의 획득, 및 가상 큐 인덱스 획득을 병렬로 수행하는 단계; 상기 획득한 QoS 프로파일 정보, 포워딩 정보, 및 가상 큐 인덱스 정보로 해당 패킷을 설명하는 메타 데이터를 설정하는 단계; 및 상기 설정된 메타 데이터를 참조하여, 수신된 패킷의 큐잉 및 스케줄링을 수행하여 스위치 패브릭으로 전달하는 단계를 포함함을 특징으로 하는 한다.As a means for achieving the above object, the present invention provides a subscriber access including a plurality of line cards connected to an external network to perform transmission and reception of packets, and a switch fabric for transferring packets between the plurality of line cards. A packet forwarding method in a network access device, the method comprising: extracting an IP head of the received packet when receiving a packet from an external network; Using the extracted IP head information through multiple engines, acquiring profile information for QoS and security, obtaining forwarding information, and obtaining a virtual queue index in parallel; Setting metadata describing the packet with the obtained QoS profile information, forwarding information, and virtual queue index information; And performing queuing and scheduling of the received packet with reference to the set metadata, and delivering the received packet to the switch fabric.

또한, 상기 목적을 달성하기 위한 다른 구성수단으로서, 본 발명은, 수신된 패킷을 저장하는 수신 버퍼; 상기 수신 버퍼에 저장된 패킷의 IP 헤드를 추출하는 헤드 추출부; 각각 QoS 및 보안을 위한 패킷 분류, 포워딩 정보 획득, 패킷 큐잉 정보 획득을 담당하여 상기 헤드 추출부로부터 수신 패킷의 헤드 정보가 전달되면, 각각 상기 헤드정보를 이용하여 해당 패킷에 대한 분류, 포워딩 정보 및 큐잉 정보를 획득하여 해당 패킷의 메타 데이터에 설정하는 제1~제3 포워딩 엔진; 패킷별 메 타 데이터를 저장하는 메타 데이터 저장부; 상기 제1~제3 포워딩 엔진에서 처리된 패킷을 송신하기 전까지 저장하는 송신 버퍼; 및 상기 메타 데이터 저장부에 저장된 메타 데이터의 스케줄링 정보를 참조하여, 송신 버퍼에 저장된 패킷 간의 송신 순서를 결정하여 송신시키는 스케줄러를 포함하는 것을 특징으로 한다.In addition, as another configuration means for achieving the above object, the present invention, a receiving buffer for storing the received packet; A head extracting unit extracting an IP head of a packet stored in the receiving buffer; When the head information of the received packet is transmitted from the head extractor to obtain packet classification, forwarding information acquisition, and packet queuing information for QoS and security, respectively, classification, forwarding information, and First to third forwarding engines which acquire queuing information and set the metadata of the corresponding packet; Meta data storage unit for storing the packet-specific metadata; A transmission buffer for storing the packets processed by the first to third forwarding engines before transmission; And a scheduler for determining and transmitting a transmission order between packets stored in a transmission buffer by referring to scheduling information of metadata stored in the metadata storage unit.

도 3은 본 발명에 의한 패킷 포워딩 장치를 나타낸 기능 블럭도로서, 이는 도 1에 보인 라우터 시스템에 있어서 네트워크 프로세서(11) 내에 적용된다.3 is a functional block diagram showing a packet forwarding apparatus according to the present invention, which is applied in the network processor 11 in the router system shown in FIG.

도 3을 참조하면, 본 발명에 의한 패킷 포워딩 장치는, 미디어 장치로부터 입력된 패킷을 수신하는 수신 버퍼(31)와, 상기 수신 버퍼(31)에서 헤드를 추출하는 헤드 추출부(32)와, 각각 QoS 및 보안을 위한 패킷 분류, 포워딩 정보 획득, 패킷 큐잉 정보 획득을 담당하여 상기 헤드 추출부(32)로부터 소정 패킷의 헤드 정보가 전달되면, 해당 패킷에 대한 분류, 포워딩 정보 및 큐잉 정보를 동시에 획득하여 해당 패킷의 메타 데이터를 구성하는 제1~제3 포워딩 엔진(33~35)과, 상기 제1~제3 포워딩 엔진(33~35)에 의해 획득된 정보로 구성된 패킷별 메타 데이터 자료구조체를 저장하는 메타 데이터 저장부(36)와, 상기 제1~제3 포워딩 엔진(33~34)에서 데이터 처리된 패킷을 스위치 패브릭(13)으로 출력하기 전까지 저장하는 송신 버퍼(37)와, 상기 메타 데이터 저장부(36)에 구성된 메타 데이터를 이용하여 상기 송신 버퍼(37)에 저장된 패킷의 송신 순서를 결정하는 스케줄러(38)를 포함한다.Referring to FIG. 3, the packet forwarding apparatus according to the present invention includes a receiving buffer 31 for receiving a packet input from a media device, a head extracting unit 32 for extracting a head from the receiving buffer 31, Responsible for packet classification, forwarding information acquisition, and packet queuing information acquisition for QoS and security, respectively, and when head information of a predetermined packet is transferred from the head extractor 32, the classification, forwarding information, and queuing information for the corresponding packet are simultaneously Packet-specific metadata data structure comprising first to third forwarding engines 33 to 35 to acquire and configure metadata of the corresponding packet, and information obtained by the first to third forwarding engines 33 to 35. A meta data storage unit 36 for storing the data, a transmission buffer 37 for storing the data processed by the first to third forwarding engines 33 to 34 until output to the switch fabric 13, and In the metadata storage unit 36 Using the metadata includes a scheduler 38 for determining a transmission order of the packets stored in the transmission buffer (37).

상술한 구성의 패킷 포워딩 장치는, 다중 엔진을 이용하여, 패킷의 헤드를 한번만 추출하여, 패킷의 분류, 포워딩 정보 획득을 위한 룩-업, 큐잉 정보 획득을 동시에 수행함으로써, 헤드의 중복 추출 및 패킷 포워딩 처리의 지연을 방지한 것으로서, 그 상세 작용은 다음과 같다.The packet forwarding apparatus having the above-described configuration extracts the head of a packet only once using multiple engines, simultaneously performs classification of the packet, look-up for acquiring forwarding information, and acquiring queuing information. As a delay of the forwarding process is prevented, the detailed action is as follows.

미디어 장치를 통해 외부 네트워크(또는 가입자망)에서 수신된 패킷이 도 1의 네트워크 프로세서(10)로 입력되면, 상기 패킷은 포워딩을 위한 데이터 처리가 완료되기까지 상기 수신 버퍼(31)에 순서대로 저장되고, 헤드 추출부(32)는 상기 수신 버퍼(31)에 저장된 수신 패킷의 헤드에서 필요 정보를 추출하는데, 이때, 수신 패킷의 IP 헤드중 6-투플(tuple)을 추출하여 복수의 포워딩 엔진, 즉, 제1~제3 포워딩 엔진(33~35)으로 전달한다.When a packet received from an external network (or subscriber network) through a media device is input to the network processor 10 of FIG. 1, the packet is sequentially stored in the reception buffer 31 until data processing for forwarding is completed. The head extractor 32 extracts the necessary information from the head of the received packet stored in the receive buffer 31. At this time, a 6-tuple of the IP heads of the received packet is extracted to extract a plurality of forwarding engines; That is, it transfers to the 1st-3rd forwarding engines 33-35.

상기 헤드 추출부(32)에서 추출되는 6-투플에는 근원지 IP 주소, 목적지 IP 주소, 근원지 포트, 목적지 포트, 프로토콜, DSCP(Differentiated Service Code Point)가 해당된다.The six-tuple extracted by the head extractor 32 corresponds to a source IP address, a destination IP address, a source port, a destination port, a protocol, and a differentiated service code point (DSCP).

제1 포워딩 엔진(33)은 상기와 같이 추출된 6-투플로 해시 키를 계산하고, 상기 계산된 해시키를 이용하여 QoS 프로파일 테이블을 검색하여, 완전 매칭되는 엔트리의 QoS 프로파일 정보를 획득하며, 완전 매칭되는 엔트리가 없는 경우에는 라우팅 시스템에서 설정된 디폴트 QoS 프로파일 정보를 획득하며, 제2 포워딩 엔진(34)은 상기와 같이 추출된 6-투플 중에서 목적지 IP 주소를 이용하여 포워딩 테이블을 룩업하여 포워딩 정보를 획득하며, 제3 포워딩 엔진(33)은 상기 추출된 6-투플 중에서 근원지 IP 주소를 이용하여 가입자별로 가상 큐 번호를 획득한다.The first forwarding engine 33 calculates the 6-to-flow hash key extracted as described above, retrieves the QoS profile table using the calculated hash, and obtains QoS profile information of a perfectly matched entry, If there is no perfect match, the default QoS profile information set in the routing system is obtained, and the second forwarding engine 34 looks up the forwarding table using the destination IP address among the 6-tuples extracted as described above. The third forwarding engine 33 obtains a virtual queue number for each subscriber using the source IP address among the extracted 6-tuples.

상기에서, QoS 프로파일 테이블과 포워딩 테이블은 상기 라우팅 프로세서 (15)에서 구성되어, 다수의 네트워크 프로세서(11)로 제공되어, 네트워크 프로세서(11)내에 저장된 것이다.In the above, the QoS profile table and the forwarding table are configured in the routing processor 15 and provided to a plurality of network processors 11 and stored in the network processor 11.

상기 제1~제3 포워딩 엔진(33~35)는 각각 QoS 프로파일 정보, 포워딩 정보, 가상 큐 번호가 획득되면, 이를 메타 데이터 저장부(36)에 저장하여, 해당 패킷을 설명하는 메타 데이타를 구성한다.When the first to third forwarding engines 33 to 35 respectively acquire QoS profile information, forwarding information, and virtual queue number, the first to third forwarding engines 33 store these in the metadata storage 36 to configure metadata describing the corresponding packet. do.

이때, 상기 제1~제3 포워딩 엔진(33~35)은 메타 데이터 저장부(36)라는 동일한 메모리에 정보를 설정해야 하므로, 제1~제3 포워딩 엔진(33~35) 간에 동기화가 필요하다. 이를 위한 가장 기본적인 방법은, 제1~제3 포워딩 엔진(33~35)의 복잡도에 따라서 메타 데이터 저장부(36)에 접근하는 순서를 가상 큐 번호 획득을 담당하는 제3 포워딩 엔진(35), QoS 프로파일 정보 획득을 담당하는 제1 포워딩 엔진(33), 포워딩 정보 획득을 담당하는 제2 포워딩 엔진(34) 순으로 정하는 것이다. In this case, since the first to third forwarding engines 33 to 35 need to set information in the same memory as the metadata storage unit 36, synchronization between the first to third forwarding engines 33 to 35 is necessary. . The most basic method for this purpose, according to the complexity of the first to third forwarding engine (33 to 35), the third forwarding engine (35) responsible for obtaining the virtual queue number in order of access to the metadata storage (36), The first forwarding engine 33 in charge of obtaining QoS profile information and the second forwarding engine 34 in charge of obtaining forwarding information are determined in this order.

더하여, 상기 제1~제3 포워딩 엔진(33~35) 간에 정보를 전달할 수 있는 레지스터를 두고, 메타 데이터를 구성했는 지의 여부를 0 또는 1로 표시하도록 하고, 상기 제1~제3 포워딩 엔진(33~35)이 각각 우선 접근 순위를 갖는 포워딩 엔진에 대한 플래그가 1로 될 경우에만 메타 데이타에 접근하도록 하며, 이 경우, 제1~제3 포워딩 엔진(33~35)에 대한 세 플래그가 모두 1로 된 경우, 메타 데이타의 구축이 완료된 것으로 판단할 수 있다.In addition, a register for transferring information between the first to third forwarding engines 33 to 35 is provided, and whether or not metadata is configured is displayed as 0 or 1, and the first to third forwarding engines ( 33 to 35 access metadata only when the flag for the forwarding engines having priority accesses becomes 1, in which case, all three flags for the first to third forwarding engines 33 to 35 are all. If it is 1, it can be determined that the construction of the metadata is completed.

상기와 같이 제1~제3 포워딩 엔진(33~35)에 의하여 메타 데이타의 구성이 완료되면, 해당 수신된 패킷은 송신 버퍼(37)에 저장되고, 이후 스케줄러(38)를 통해 설정된 스위치 패브릭 포트로 출력된다. 상기 스케줄러(38)는 메타 데이터 저장부(36)에 저장된 메타 데이터를 통해 해당 패킷의 스케줄링 정보를 참조하여, 각 패킷별 우선 순위에 따라서 순차적으로 스위치 패브릭(13)으로 출력한다.When the configuration of the meta data is completed by the first to third forwarding engines 33 to 35 as described above, the received packet is stored in the transmission buffer 37 and then the switch fabric port set through the scheduler 38. Is output. The scheduler 38 refers to scheduling information of a corresponding packet through metadata stored in the metadata storage 36, and sequentially outputs it to the switch fabric 13 according to the priority of each packet.

다음의 표 1은 라우터 시스템의 네트워크 프로세서(11)에서 패킷이 입력되어 출력될 때까지, 해당 패킷의 정보를 설명하기 위해 구성된 상술한 메타 데이터(meta data)의 자료 구조를 나타낸 것이다. 메타 데이터는 일반적으로 32비트 사이즈의 8개의 워드(LW : Long Word)로 구성되어, 패킷의 버퍼, 크기에 대한 정보, 포워딩 정보, QoS 프로파일 정보 등을 갖는다.Table 1 below shows the data structure of the above-described metadata configured to describe the information of the packet until the packet is input and output from the network processor 11 of the router system. Meta data is generally composed of eight words (LW: Long Word) having a 32-bit size, and has a buffer, size information, forwarding information, QoS profile information, and the like.

LWLW 비트beat 사이즈size 필드명Field name 설명Explanation 00 31:031: 0 3232 buffer_nextbuffer_next 패킷 체인에서 구동할 다음 버퍼Next buffer to drive in the packet chain 1One 31:1631:16 1616 buffer_sizebuffer_size 버퍼 사이즈[바이트]Buffer size [bytes] 15:015: 0 1616 offsetoffset 버퍼안에서 데이터의 시작 오프셋값[바이트]The starting offset of the data in the buffer [bytes] 22 31:1631:16 1616 packet_sizepacket_size 모든 체인연결된 버퍼를 포함한 총 패킷 사이즈Total packet size including all chained buffers 15:1215:12 44 free_list_idfree_list_id 버퍼를 위한 프리 리스트 IDFree list ID for buffer 11:811: 8 44 rx_startrx_start 수신 상태 플래그Receive Status Flag 7:07: 0 88 header_typeheader_type 패킷안의 오프셋 바이트에서의 헤더 타입Header Type in Offset Bytes in Packet 33 31:1631:16 1616 input_portinput_port 입력측 네트워크 프로세서의 입력포트Input port of input side network processor 15:015: 0 1616 output_portoutput_port 패킷이 전송되고자 하는 라인 카드의 출력 포트 번호The output port number of the line card to which the packet is to be sent. 44 31:1631:16 1616 next_hop_idnext_hop_id 넥스트 홉 IP 노드의 식별자Identifier of Next Hop IP Node 15:815: 8 88 fabric_portfabric_port 목적지 방향을 구분하기 위한 스위치 패브릭의 출력 포트Output port on switch fabric to differentiate destination directions 7:47: 4 44 reservedreserved 현재 사용되지 않음Not currently used 3:03: 0 44 nexthop_id_typenexthop_id_type next_hop_id를 룩업하는 테이블에서의 ID 명시Specify an ID in the table that looks up next_hop_id 55 31:031: 0 3232 flow_idflow_id 플로우 ID(QoS 플로우 ID 또는 MPLS 레이블/플로우 ID)Flow ID (QoS Flow ID or MPLS Label / Flow ID) 66 31:1631:16 1616 class_idclass_id 출력포트에 연결된 큐의 관계 식별자Relation identifier of the queue connected to the output port 15:215: 2 1414 queue_idqueue_id 가상 큐 구분자Virtual queue separator 1:01: 0 22 color_idcolor_id 패킷 드롭 처리 레벨(green, yellow, red)Packet drop processing level (green, yellow, red) 77 31:031: 0 3232 packet_nextpacket_next 다음 패킷의 지시자(셀 모드에서는 사용안됨)Indicator of next packet (not used in cell mode)

상술한 구조의 메타 데이터에 있어서, 포워딩 정보에는, output_port, next_hop_id, fabric_port 가 해당되며 이는 상기 포워딩 룩업을 담당하는 제2 포워딩 엔진(34)에 의해서 획득된다. 이때 상기 next_hop_id는 패킷이 네트워크 프로세서의 출력단에서 망으로 전송될 때 다음 전송위치를 알기 위해 패킷에 필요한 정보로서, 이더넷 헤드와 같은 L2 정보 테이블의 인덱스이고, fabric_port는 해당 패킷이 전송되고자 하는 스위치 패브릭(13)의 포트 번호이다.In the metadata of the above-described structure, forwarding information corresponds to output_port, next_hop_id, and fabric_port, which are obtained by the second forwarding engine 34 in charge of the forwarding lookup. In this case, the next_hop_id is information necessary for the packet to know the next transmission position when the packet is transmitted from the output terminal of the network processor. The next_hop_id is an index of an L2 information table such as an Ethernet head, and fabric_port is a switch fabric to which the packet is to be transmitted. 13) port number.

그리고 QoS 프로파일 정보에는, flow_id와, class_id와, color_id가 해당되며, 이는 QoS 프로파일 정보 획득을 담당하는 제1 포워딩 엔진(33)에 의해서 획득된다. 이때 flow_id는 해당 패킷의 플로우 구분자로 트래픽의 대역(bandwidth)을 나타내며, class_id는 패킷 스케줄링시의 우선순위(priority)를 나타내고, color_id는 폭주 제어시에 패킷의 폐기에 대한 우선순위를 나타내는 인자이다.The QoS profile information corresponds to flow_id, class_id, and color_id, which are obtained by the first forwarding engine 33 responsible for obtaining QoS profile information. At this time, flow_id is a flow delimiter of the corresponding packet, and represents a bandwidth of traffic, class_id represents a priority during packet scheduling, and color_id is a factor representing priority of discarding a packet during congestion control.

그리고 큐잉 및 스케줄링 정보에는, queue_id와, class_id가 해당되며, 이때 queue_id는 가입자 단위로 가상 큐를 설정하기 위한 큐 구분자를 나타내고, class_id는 패킷 스케줄링의 등급을 나타낸다. 여기서, class_id는 상기 제1 포워딩 엔진(33)에 의해서 획득되며, 나머지 queue_id는 가상 큐 번호 설정을 담당하는 제3 포워딩 엔진(35)에 의해서 획득된다. The queue_id and the class_id correspond to the queuing and scheduling information. In this case, the queue_id represents a queue identifier for setting a virtual queue on a subscriber basis, and the class_id represents a class of packet scheduling. Here, class_id is obtained by the first forwarding engine 33, and the remaining queue_id is obtained by the third forwarding engine 35 in charge of setting the virtual queue number.

본 발명이 적용될 경우, 도 1의 네트워크 프로세서(11)는 제1~제3 포워딩 엔진(33~35)의 동시 동작을 통해서 상술한 구조의 메타 데이터를 설정하며, 이와 같이 설정된 정보를 이용하여 패킷의 포워딩을 수행하게 된다. 상술한 바에 의하면, 패킷의 IP 헤드의 중복 추출이 제거되며, QoS 프로파일 테이블 및 포워딩 테이블의 룩업이 동시에 수행됨으로써, 포워딩 절차의 시간 지연을 상당히 감소시킬 수 있다.When the present invention is applied, the network processor 11 of FIG. 1 sets the metadata of the above-described structure through simultaneous operations of the first to third forwarding engines 33 to 35, and uses the information set as described above. Will be forwarded. As described above, duplicate extraction of the IP head of the packet is eliminated, and the lookup of the QoS profile table and the forwarding table is performed simultaneously, thereby significantly reducing the time delay of the forwarding procedure.

도 4는 본 발명에 의한 패킷 포워딩 방법을 나타낸 플로우챠트로서, 이는 네트워크 프로세서(11)에서 입력 데이터 처리 과정에 해당된다.4 is a flowchart illustrating a packet forwarding method according to the present invention, which corresponds to an input data processing process in the network processor 11.

도 4를 참조하면, 본 발명이 적용되는 경우 도 1에 보인 라우터 시스템의 네트워크 프로세서(11)는 미디어 장치를 통해 외부에서 패킷이 수신되면(S300), 수신된 패킷의 IP 헤드 중에 6-투플을 추출한다(S310).Referring to FIG. 4, when the present invention is applied, when the network processor 11 of the router system shown in FIG. 1 receives a packet from the outside through a media device (S300), the 6-tuple of the received IP packet is received. Extract (S310).

그리고, 다중 엔진을 통해, 상기 추출된 6-투플을 이용한 QoS 프로파일 테이블의 룩업 및 정보의 획득, 포워딩 테이블의 룩업 및 정보 획득, 그리고 가상 큐 번호(queue id)의 획득을 동시에 수행한다(S320, S330, S340).Then, through the multiple engines, the lookup and information acquisition of the QoS profile table using the extracted 6-tuple, the lookup and information acquisition of the forwarding table, and the acquisition of the virtual queue number (queue id) are performed simultaneously (S320, S330, S340).

상기 중에서 QoS 프로파일 정보 획득 과정(S320)은, 상기 추출된 6 투플을 해시 계산하여 해시 키를 얻은 후(S321), 상기 계산된 해시 키로 QoS 프로파일 테이블을 검색하여 완전 매칭(exact matching)되는 프로파일 정보를 찾는다(S322). 상기 검색 결과, 완전 매칭되는 QoS 프로파일이 존재하면, 해당 QoS 프로파일 정보(flow_id, class_id, color_id)를 획득하여 메타 데이터에 설정하고, 완전 매칭되는 QoS 프로파일이 존재하지 않으면, 디폴트 QoS 프로파일 정보로 설정된 값을 메타 데이터에 설정한다.(S323~S325).In the process of obtaining the QoS profile information (S320), after hashing the extracted 6 tuples to obtain a hash key (S321), profile information that is completely matched by searching the QoS profile table with the calculated hash key Find (S322). As a result of the search, if there is a perfectly matched QoS profile, the corresponding QoS profile information (flow_id, class_id, color_id) is obtained and set in the metadata, and if the completely matched QoS profile does not exist, the value set as default QoS profile information Is set in the metadata (S323 to S325).

상기 중에서 포워딩 테이블의 룩업 과정(S330)은, 상기 추출된 6-투플 중에서 목적지 IP 주소를 얻어, LPM(Longest Prefix Match) 방식으로 포워딩 테이블을 검색한다(S332). 상기 검색결과, 포워딩 테이블 내에 매칭되는 엔트리가 존재하면, 해당 엔트리에서 넥스트홉 정보(next_hop_id, output_port, fabric_port)를 획득하여 메타 데이타내에 설정한다(S333,S334). 반대로, 포워딩 테이블 내에 매칭되는 엔트리가 존재하지 않으면, 해당 예외 상황에 대한 인터럽트를 라우팅 프로세서(15)로 보내거나, 수신된 패킷을 폐기시킨다(S335).In the lookup process of the forwarding table (S330), the destination IP address is obtained from the extracted 6-tuple, and the forwarding table is searched by a longest prefix match (LPM) method (S332). As a result of the search, if there is a matching entry in the forwarding table, the next hop information (next_hop_id, output_port, fabric_port) is obtained from the entry and set in the metadata (S333, S334). On the contrary, if there is no matching entry in the forwarding table, an interrupt for the corresponding exceptional situation is sent to the routing processor 15 or the received packet is discarded (S335).

상기 중에서, 가상 큐 번호 획득 과정(S340), 상기 추출된 6-투플 중에서 근원지 IP 주소를 얻어(S341), 상기 근원지 주소에 해당하는 가입자에게 설정된 가상 큐 번호를 검색하고(S342), 상기 검색에 의해 가입자별로 설정된 가상 큐 번호(queue_id)를 획득하여 메타 데이터에 설정한다(S343). 현재의 메타데이타 구조는 상기 표 1에 나타낸 바와 같이 가상 큐 번호(queue_id)를 위해 14 비트의 가상 큐 인덱스를 사용한다. 따라서, 대략 16000 개의 가입자를 구분할 수 있다. 그러나, 상기 라우팅 시스템에서 수용하는 가입자의 수가 더 늘어날 경우, 상기 메타 데이타의 구조를 확장해야 한다.In the above, the virtual queue number acquisition process (S340), the source IP address is obtained from the extracted 6-tuple (S341), the virtual queue number set to the subscriber corresponding to the source address (S342), and the search The virtual queue number queue_id set for each subscriber is obtained and set in the metadata (S343). The current metadata structure uses a 14-bit virtual queue index for the virtual queue number (queue_id) as shown in Table 1 above. Thus, approximately 16000 subscribers can be distinguished. However, if the number of subscribers to be accommodated in the routing system increases, the structure of the metadata should be extended.

이때, 다중 엔진간의 동기화를 위하여 메타 데이터 자료 구조에 대한 접근 순서를 일정하게 설정하는 것이 바람직하며, 본 실시예에서는 상기 과정(S320,S330,S340)을 수행하는 엔진별 복잡도에 따라서 메타 데이터 자료 구조에 대한 접근 순서를 가상 큐 번호 설정, QoS 프로파일 정보 설정, 넥스트 홉 정보 설정 순으로 정한다.In this case, it is preferable to set the order of access to the metadata data structure in order to synchronize the multiple engines, and in the present embodiment, the metadata data structure according to the complexity of each engine performing the process (S320, S330, S340). The order of access is determined in order of virtual queue number setting, QoS profile information setting, and next hop information setting.

상술한 과정(S320,S330,S340)에 의해서, 수신된 패킷의 정보를 나타내는 메타 데이터의 구축이 완료되면(S350), 미터링(metering)을 통해 해당 패킷의 트래픽 대역폭(메타 데이터의 flow_id로부터 확인가능함)이 가용한 대역인지를 검사하고(S360), 상기 검사결과 가용한 대역내에 포함되는 경우, 스케줄링을 통해 해당 패킷을 스위치 패브릭(13)의 출력 포트로 패킷을 전달한다(S380). 상기에서 스케줄링은 메타 데이터내의 스케줄링 정보(class_id)에 따른 우선순위를 판단하여, 우선 순위가 높은 순으로 출력시킨다.By the above-described processes (S320, S330, S340), when the construction of the metadata indicating the information of the received packet is completed (S350), it is possible to check the traffic bandwidth (measurement from the flow_id of the meta data) through the metering. Check whether the band is available (S360), and if the check result is included in the available band, the packet is delivered to the output port of the switch fabric 13 through scheduling (S380). In the above scheduling, the priority is determined according to scheduling information (class_id) in the meta data, and is output in the order of high priority.

더하여, 본 발명은 라우터 시스템에서의 패킷 포워딩을 수행하는데 있어서, 가입자별 공평성을 확보하기 위하여, 패킷의 수신되는 순서대로 큐잉하는 종래 방식과는 달리, 가입자별로 가상 큐를 할당하여, 가입자 간에 공평한 데이터 트래픽을 제공할 수 있도록 한다. 가상 큐 할당은 라인카드(10)의 입력단(ingress) 데이터 처리 및 출력단(egress) 데이터 처리 모두의 큐잉 단계에 적용될 수 있다.In addition, the present invention, in order to ensure fairness for each subscriber in performing packet forwarding in the router system, unlike the conventional method of queuing packets in order of receiving the packets, assigning a virtual queue for each subscriber so that the data is fair among the subscribers. To provide traffic. The virtual queue assignment can be applied to the queuing step of both the ingress data processing and the egress data processing of the line card 10.

도 5는 본 발명에 의하여 가입자별로 가상 큐를 할당하기 위한 포워딩 절차를 나타낸 플로우챠트로서, 여기서는 스위칭 패브릭(13)으로부터 입력된 데이터를 미디어 장치를 통해 가입자 측으로 전달하는 출력 데이터 처리를 예로 든다. 도 6은 도 5의 플로우챠트에 보인 가상 큐 할당과정의 처리를 그림으로 나타낸 것이다. FIG. 5 is a flowchart showing a forwarding procedure for allocating virtual queues for each subscriber according to the present invention, and exemplifies output data processing for transferring data input from the switching fabric 13 to a subscriber through a media device. FIG. 6 is a diagram illustrating the processing of the virtual queue allocation process shown in the flowchart of FIG. 5.

도 5를 참조하면, 상기 네트워크 프로세서(11)는 스위치 패브릭(13)으로부터 C-frame 포맷의 패킷을 수신하고(S510), 해당 패킷의 메타 데이타로부터 상기 도 4의 가상 큐 번호 획득 과정(S340)을 통해 가입자별로 구분되어 설정된 가상 큐 번호(queue_id)를 얻어, 가입자 단위로 가상 큐를 할당한다(S520). 이와 같이 가입자별로 가상 큐를 할당함으로써 가입자별 버퍼 수는 동일하게 설정된다.Referring to FIG. 5, the network processor 11 receives a packet having a C-frame format from the switch fabric 13 (S510), and acquires the virtual queue number of FIG. 4 from metadata of the corresponding packet (S340). In operation S520, a virtual queue number (queue_id), which is set separately for each subscriber, is obtained, and a virtual queue is allocated for each subscriber. By allocating a virtual queue for each subscriber in this way, the number of buffers for each subscriber is set to be the same.

그리고, 가입자 별로 할당된 가상 큐내에서 품질 서비스와 일반 서비스를 구분하여 가중치를 설정한다(S530).Then, the weight is set by dividing the quality service and the general service in the virtual queue allocated to each subscriber (S530).

도 6을 예로 들면, 가입자 1과 가입자 2는 품질 서비스(QoS 서비스)와 일반 서비스 2개에 등록한 가입자이고, 가입자 n은 품질 서비스는 등록하지 않고 일반 서비스에만 등록한 가입자이다. 여기서, 품질 서비스는 IP 방송, VoD, 화상전화, VoIP 등의 대역, 지연변이, 손실율 등에 민감한 영향을 받는 품질이 보장되어야 하는 서비스이고, 일반 서비스는 P2P등과 같이 대역, 지연, 손실등에 민감한 영향을 받지 않는 일반 인터넷 서비스를 말한다. 상기 도 6의 실시 예에서는, 품질 서비스에 대하여 일반 서비스의 5배의 가중치를 할당하여, 일반 서비스보다 우선적으로 서비스되도록 한다.6, for example, subscribers 1 and 2 are subscribers who have registered quality service (QoS service) and two general services, and subscriber n is a subscriber who has only registered quality service without registering quality service. Here, quality service is a service that must be guaranteed quality sensitive to the band, delay variation, loss rate, etc. of IP broadcasting, VoD, video call, VoIP, etc., and general service is sensitive to band, delay, loss, etc. like P2P. It does not receive general Internet service. In the embodiment of FIG. 6, a weight of five times the general service is assigned to the quality service, so that the service is given priority over the general service.

즉, 상술한 바에 의하면, 가입자마다 가상 큐를 할당하여 버퍼의 수를 동일하게 설정함으로써, 가입자간의 공평성을 유지하면서, 일반 서비스보다 품질 서비스를 우선적으로 처리할 수 있도록 한다. 이때, 일반 서비스는 망의 자원이 허용하는 범위에서 최선(BE : best-effort) 전송 방식으로 서비스한다.That is, according to the above, by allocating virtual queues for each subscriber and setting the same number of buffers, quality services can be preferentially processed over general services while maintaining fairness among subscribers. At this time, the general service serves as a best-effort (BE) transmission method within a range allowed by network resources.

상기와 같이, 큐잉을 수행한 후, 스케줄링을 수행하여 우선순위가 높은 패킷을 송신한다(S540,S550)As described above, after performing queuing, scheduling is performed to transmit a packet having a high priority (S540 and S550).

이때, 스케줄링 방식은 종래와 마찬가지로 가입자 간에 공평성을 최대로 보장하면서, 구현도 용이한 WRR(Weight Round Robin)과 DRR(Deficit Round Robin) 알고리즘을 적용할 수 있다.At this time, the scheduling scheme can be applied to the WRR (Weight Round Robin) and DRR (Deficit Round Robin) algorithm that can be easily implemented, while ensuring maximum fairness among subscribers.

이러한 가입자별 가상 큐 할당 및 서비스별 가중치 적용은 미디어 장치에서 입력되어 스위치 패브릭으로 출력되는 패킷에 대해서도, 상기 도 4의 방법에 의해 구성된 메타 데이터의 플로우 식별자(flow_id) 및 클래스 식별자(class_id)에 따라서 동일한 방법으로 적용할 수 있다.Such subscriber-specific virtual queue allocation and service-specific weighting are applied to packets input from the media device and output to the switch fabric according to the flow identifier (flow_id) and the class identifier (class_id) of the metadata configured by the method of FIG. The same can be applied.

상술한 바와 같이, 본 발명은 가입자 액세스 망의 QoS를 보장하는 포워딩을 수행하는데 있어서, 패킷의 IP 헤드를 한 번만 추출하고, 다중 엔진을 이용하여 QoS 프로파일 정보 획득, 포워딩 정보 획득, 가상 큐 번호 회득을 병렬로 처리함으로써 데이터 처리 성능을 향상시켜 고속 데이터 처리가 가능해지는 우수한 효과가 있다.As described above, the present invention, in performing the forwarding to guarantee the QoS of the subscriber access network, extracts the IP head of the packet only once, obtains QoS profile information, obtains the forwarding information, and obtains the virtual queue number using multiple engines. By processing the data in parallel, there is an excellent effect of improving data processing performance and enabling high-speed data processing.

또한, 가입자 주소를 이용한 가입자별 가상 큐 설정을 통해 가입자 단위로 가상 큐를 할당하여 망에서 가입자 간의 큐 선점에 대한 공평성을 제공할 수 있으며, 이를 통해 가입자 단위의 패킷에 대한 통계 데이터를 수집하거나 가입자가 사용하는 서비스를 분석 및 파악할 수 있다.In addition, by setting a virtual queue for each subscriber using a subscriber address, a virtual queue can be allocated to each subscriber to provide fairness for queue preemption between subscribers in the network. Analyze and understand the services used by

Claims (15)

외부 네트워크와 연결되어 패킷의 송수신 및 포워딩 처리를 수행하는 다수의 라인 카드와, 상기 다수 라인 카드 간에 패킷을 전달하는 스위치 패브릭을 포함하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법에 있어서,A packet forwarding method in a subscriber access network access equipment comprising a plurality of line cards connected to an external network and performing packet transmission and forwarding processing, and a switch fabric for transferring packets between the plurality of line cards, 상기 라인 카드가 패킷을 수신하면, 상기 수신된 패킷의 IP 헤드를 추출하는 단계;If the line card receives a packet, extracting an IP head of the received packet; 다중 엔진을 통해 상기 추출된 IP 헤드 정보를 이용하여, QoS 및 보안을 위한 프로파일 정보 획득, 포워딩 정보의 획득, 및 가상 큐 인덱스 획득을 병렬로 수행하는 단계; 및Using the extracted IP head information through multiple engines, acquiring profile information for QoS and security, obtaining forwarding information, and obtaining a virtual queue index in parallel; And 상기 획득한 QoS 프로파일 정보, 포워딩 정보, 및 가상 큐 인덱스 정보로 해당 패킷을 설명하는 메타 데이터를 설정하는 단계; 및Setting metadata describing the packet with the obtained QoS profile information, forwarding information, and virtual queue index information; And 상기 설정된 메타 데이터를 참조하여, 수신된 패킷의 큐잉 및 스케줄링을 수행하는 단계를 포함함을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법.And queuing and scheduling received packets with reference to the set metadata. 제1항에 있어서, 상기 메타 데이터를 설정하는 단계는The method of claim 1, wherein the setting of the metadata is performed. 가상 큐 인덱스 정보, QoS 프로파일 정보, 포워딩 정보 순으로 설정하는 것을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법.The packet forwarding method in the subscriber access network access equipment, characterized in that the virtual queue index information, QoS profile information, forwarding information. 제1항에 있어서, 상기 IP 헤드를 추출하는 단계는The method of claim 1, wherein extracting the IP head 수신된 패킷에서 근원지 IP 주소, 목적지 IP 주소, 근원지 포트, 목적지 포트, 프로토콜, 및 DSCP(Differentiated Service Code Point)의 6-투플을 추출하는 단계임을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법.Extracting a source IP address, a destination IP address, a source port, a destination port, a protocol, and 6-tuple of a differential service code point (DSCP) from a received packet. . 제3항에 있어서,The method of claim 3, 상기 QoS 및 보안을 위한 프로파일 정보 획득은, 상기 추출된 6-투플로 계산된 해시 키로 완전 매칭에 의해 QoS 프로파일 테이블을 검색하여, 완전 매칭되는 QoS 프로파일 정보를 획득하는 것임을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법.The profile information acquisition for QoS and security is performed by searching the QoS profile table by perfect matching with the extracted 6-tuple calculated hash key to obtain completely matched QoS profile information. Packet forwarding method on the device. 제3항에 있어서, The method of claim 3, 상기 포워딩 정보의 획득은, 상기 추출된 6-투플 중에서 목적지 IP 주소로 포워딩 테이블을 검색하여, 매칭되는 포워딩 정보를 획득하는 것임을 특징으로 하는 가입자 액세스망 접속 장치에서의 패킷 포워딩 방법.The acquiring of the forwarding information includes searching for a forwarding table with a destination IP address among the extracted 6-tuples to obtain matching forwarding information. 제3항에 있어서, The method of claim 3, 상기 가상 큐 인덱스 정보의 획득은, 상기 추출된 6-투플 중에서 근원지 IP 주소를 이용하여 가입자 단위로 설정된 가입자 큐 번호 리스트를 검색하여, 매치하는 가입자 큐 번호를 획득하는 것임을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법.The acquiring the virtual queue index information may include retrieving a subscriber queue number set in units of subscribers from the extracted 6-tuple by using a source IP address to obtain a matching subscriber queue number. Packet forwarding method on the device. 제4항에 있어서, The method of claim 4, wherein 상기 QoS 프로파일 정보는, 트래픽 대역을 나타내는 패킷의 플로우 식별자(flow_id), 패킷 스케줄링의 등급을 나타내는 클래스 식별자(class_id), 폭주 제어 과정에서 패킷을 폐기하는 경우의 우선순위를 나타내는 인자(color_id)를 포함하는 것을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법.The QoS profile information includes a flow identifier (flow_id) of a packet indicating a traffic band, a class identifier (class_id) indicating a class of packet scheduling, and a factor (color_id) indicating a priority when discarding a packet in a congestion control process. Packet forwarding method in a subscriber access network access equipment, characterized in that. 제5항에 있어서, The method of claim 5, 상기 포워딩 정보는, 패킷이 라인카드에서 망으로 전달되는 경우의 넥스트 홉 식별값 (next_hop_id), 패킷이 전송되고자 하는 라인카드의 출력 포트 번호(output_port), 패킷이 전송되고자 하는 스위치 패브릭의 포트 번호(fabric_port)를 포함하는 것을 특징으로 하는 가입자 액세스망 접속 장치에서의 패킷 포워딩 방 법.The forwarding information includes a next hop identification value (next_hop_id) when a packet is transmitted from a line card to a network, an output port number (output_port) of a line card to which a packet is to be transmitted, and a port number of a switch fabric to which the packet is to be transmitted ( packet forwarding method in a subscriber access network access device comprising: fabric_port). 제6항에 있어서, The method of claim 6, 상기 가상 큐 인덱스 정보는, 가입자 단위로 가상 큐 설정을 위한 큐 구분자(queue_id)인 것을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법.The virtual queue index information is a packet forwarding method in a subscriber access network access equipment, characterized in that the queue identifier (queue_id) for setting a virtual queue on a subscriber basis. 제1항에 있어서, 상기 패킷의 큐잉 및 스케줄링을 수행하는 단계는The method of claim 1, wherein performing queuing and scheduling of the packet comprises 상기 라인카드가 패킷을 수신하면, 상기 수신된 패킷에 설정된 메타 데이터의 가상 큐 인덱스 정보를 참조하여, 가입자 단위로 가상 큐를 할당하는 단계; 및When the line card receives a packet, allocating a virtual queue on a subscriber basis by referring to virtual queue index information of metadata set in the received packet; And 상기 가입자 단위로 할당된 가상 큐를 스케줄링하여, 스케줄링 순서에 따라서 각 가상 큐에 할당된 패킷을 송신하는 단계를 포함하는 것을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법.Scheduling the virtual queue allocated by the subscriber, and transmitting the packet allocated to each virtual queue according to a scheduling order. 제10항에 있어서, The method of claim 10, 상기 가입자 단위로 설정된 가상 큐의 패킷에 대하여, 품질 서비스와 일반 인터넷 서비스를 구분하여 가중치를 할당하는 단계를 더 포함하고,And assigning weights to the packets of the virtual queue set in the subscriber unit by dividing the quality service and the general internet service. 상기 가중치에 따라서 품질 서비스 패킷을 일반 서비스 패킷에 우선하여 스케줄링하는 것을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법.And scheduling the quality service packet in preference to the general service packet according to the weight. 수신된 패킷을 저장하는 수신 버퍼;A reception buffer for storing the received packet; 상기 수신 버퍼에 저장된 패킷의 IP 헤드를 추출하는 헤드 추출부;A head extracting unit extracting an IP head of a packet stored in the receiving buffer; 각각 QoS 및 보안을 위한 패킷 분류, 포워딩 정보 획득, 패킷 큐잉 정보 획득을 담당하여 상기 헤드 추출부로부터 수신 패킷의 헤드 정보가 전달되면, 각각 상기 헤드정보를 이용하여 해당 패킷에 대한 분류, 포워딩 정보 및 큐잉 정보를 획득하여 해당 패킷의 메타 데이터에 설정하는 제1~제3 포워딩 엔진;When the head information of the received packet is transmitted from the head extractor to obtain packet classification, forwarding information acquisition, and packet queuing information for QoS and security, respectively, classification, forwarding information, and First to third forwarding engines which acquire queuing information and set the metadata of the corresponding packet; 패킷별 메타 데이터를 저장하는 메타 데이터 저장부;A metadata storage unit for storing packet-specific metadata; 상기 제1~제3 포워딩 엔진에서 처리된 패킷을 송신하기 전까지 저장하는 송신 버퍼; 및A transmission buffer for storing the packets processed by the first to third forwarding engines before transmission; And 상기 메타 데이터 저장부에 저장된 메타 데이터의 스케줄링 정보를 참조하여, 송신 버퍼에 저장된 패킷 간의 송신 순서를 결정하여 송신시키는 스케줄러를 포함하는 것을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 장치.And a scheduler for determining and transmitting a transmission order between packets stored in a transmission buffer with reference to scheduling information of metadata stored in the metadata storage unit. 제12항에 있어서, The method of claim 12, 상기 제1~제3 포워딩 엔진은, The first to third forwarding engine, 패킷 큐잉 정보 획득을 담당하는 제3 포워딩엔진, 패킷 분류를 담당하는 제1 포워딩 엔진, 포워딩 정보 획득을 담당하는 제2 포워딩 엔진 순으로 메타 데이터 저장부에 접근하는 것을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 장치.Subscriber access network access equipment, characterized in that to access the metadata storage in order of the third forwarding engine responsible for packet queuing information acquisition, the first forwarding engine responsible for packet classification, the second forwarding engine responsible for forwarding information acquisition Packet forwarding device in. 제13항에 있어서, The method of claim 13, 상기 메타 데이터 저장부는, 제1~제3 포워딩 엔진 각각에 대한 접근 여부를 표시하는 제1~제3의 플래그를 구비하여,The metadata storage unit includes first to third flags indicating whether access to each of the first to third forwarding engines is provided. 상기 제1~제3 포워딩 엔진이 각각 제1~제3의 플래그 값을 참조하여 순서대로 메타 데이터의 정보를 설정하는 것을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 장치.And the first to third forwarding engines set metadata information in order with reference to the first to third flag values, respectively. 제13항에 있어서, The method of claim 13, 상기 헤드 추출부는 수신된 패킷의 IP 헤드에서 근원지 IP 주소, 목적지 IP 주소, 근원지 포트, 목적지 포트, 프로토콜, 및 DSCP(Differentiated Service Code Point)의 6-투플을 추출하여, 제1~제3 포워딩 엔진에 전달하는 것을 특징으로 하는 가입자 액세스망 접속 장비에서의 패킷 포워딩 장치.The head extracting unit extracts 6-tuples of a source IP address, a destination IP address, a source port, a destination port, a protocol, and a differentiated service code point (DSCP) from the IP head of the received packet, and includes first to third forwarding engines. Packet forwarding apparatus in subscriber access network access equipment, characterized in that delivered to.
KR1020050093167A 2005-10-04 2005-10-04 Packet forwarding method and apparatus in router of subscriber access network KR100637933B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050093167A KR100637933B1 (en) 2005-10-04 2005-10-04 Packet forwarding method and apparatus in router of subscriber access network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050093167A KR100637933B1 (en) 2005-10-04 2005-10-04 Packet forwarding method and apparatus in router of subscriber access network

Publications (1)

Publication Number Publication Date
KR100637933B1 true KR100637933B1 (en) 2006-10-24

Family

ID=37621806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050093167A KR100637933B1 (en) 2005-10-04 2005-10-04 Packet forwarding method and apparatus in router of subscriber access network

Country Status (1)

Country Link
KR (1) KR100637933B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101544592B1 (en) 2013-12-10 2015-08-17 한국전기연구원 Dynamic Queue Allocation Scheme Method and Apparatus for High Availability Distributed Embedded Network Transmission
CN107332787A (en) * 2017-06-29 2017-11-07 北京奇艺世纪科技有限公司 A kind of message distributing method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101544592B1 (en) 2013-12-10 2015-08-17 한국전기연구원 Dynamic Queue Allocation Scheme Method and Apparatus for High Availability Distributed Embedded Network Transmission
CN107332787A (en) * 2017-06-29 2017-11-07 北京奇艺世纪科技有限公司 A kind of message distributing method and device

Similar Documents

Publication Publication Date Title
US8064344B2 (en) Flow-based queuing of network traffic
US8229705B1 (en) Performance monitoring in computer networks
US8228929B2 (en) Flow consistent dynamic load balancing
EP1694006B1 (en) Multi-part parsing in a network device
EP1670187B1 (en) Tagging rules for hybrid ports
EP1158728A2 (en) Packet processor with multi-level policing logic
TWI313118B (en) Cut-through switching in a network edvice
JP3788803B2 (en) L2 switch
US20020089929A1 (en) Packet processor with multi-level policing logic
US20090010262A1 (en) Network routing apparatus
US9590910B1 (en) Methods and apparatus for handling multicast packets in an audio video bridging (AVB) network
US20090292575A1 (en) Coalescence of Disparate Quality of Service Matrics Via Programmable Mechanism
US8451730B2 (en) Apparatus and method for implementing multiple high speed switching fabrics in an ethernet ring topology
JP2002314571A (en) Classification and tagging rules for switching nodes
EP1417795B1 (en) Switching node with classification-dependent mac buffer control
JP2002044139A (en) Router and priority control method used for it
EP1241843A2 (en) Multi-contract rate policing
US8218440B2 (en) High speed transmission protocol
KR100637933B1 (en) Packet forwarding method and apparatus in router of subscriber access network
CN106899514B (en) Queue scheduling method for guaranteeing multimedia service quality
JP3950895B2 (en) Communication system and communication method
JP3950907B2 (en) Communication system and communication method
EP4181479A1 (en) Method for identifying flow, and apparatus
JP2003018187A (en) Random early discard for cell-switched data switch
US20060187948A1 (en) Layer two and layer three virtual private network support in a network device

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130923

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee