KR20010018534A - Apparatus and Method for packet switching using ATM cell switching - Google Patents

Apparatus and Method for packet switching using ATM cell switching Download PDF

Info

Publication number
KR20010018534A
KR20010018534A KR1019990034518A KR19990034518A KR20010018534A KR 20010018534 A KR20010018534 A KR 20010018534A KR 1019990034518 A KR1019990034518 A KR 1019990034518A KR 19990034518 A KR19990034518 A KR 19990034518A KR 20010018534 A KR20010018534 A KR 20010018534A
Authority
KR
South Korea
Prior art keywords
cell
packet
output
queue
packet buffer
Prior art date
Application number
KR1019990034518A
Other languages
Korean (ko)
Other versions
KR100384996B1 (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 KR10-1999-0034518A priority Critical patent/KR100384996B1/en
Publication of KR20010018534A publication Critical patent/KR20010018534A/en
Application granted granted Critical
Publication of KR100384996B1 publication Critical patent/KR100384996B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • 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/3045Virtual queuing

Abstract

PURPOSE: A packet exchange structure using an ATM cell switching function and a method for processing thereof are provided to achieve a high-speed packet by making packet exchange executed by the ATM cell and to transfer traffics using a traffic control function by virtual connections. CONSTITUTION: An input cell processing part(100) is comprised of a cell header processing part(110), a routing table(130) and a header conversion table(140). The cell header processing part(110) makes an intermediate cell having information indicating an output port number and a packet buffer number and transfers it to a cell switch part(200). The routing table(130) stores information to determine an output port number and an output virtual connection number using a destination address value comprised in a packet header. The header conversion table(140) stores the output port number, the output virtual connection number and the packet buffer number. An output cell processing part(400) is composed of a queue management part(420), an index table(430), a cell scheduler(450), a packet buffer part(440) and an empty packet buffer number queue(410). The queue management part(420) stores an inputted intermediate cell in a packet buffer appointed by a cell header and, if all the cells forming a packet arrive, connects an associated packet buffer to a virtual connection queue assigned for the relevant packet. The index table(430) stores link information composing each virtual connection queue. The cell scheduler(450) determines a point of cell output time using the queue information of the index table(4300 and band width information assigned for each virtual connection and outputs a specific virtual connection cell. A plurality of packet buffers(440) store cells forming a packet. The empty packet buffer number queue(410) stores the numbers of empty packet buffers among the packet buffers.

Description

비동기 전송모드 셀 스위칭 기능을 이용한 패킷 교환기 구조 및 그 처리방법{Apparatus and Method for packet switching using ATM cell switching}Packet Switching Structure Using Asynchronous Transfer Mode Cell Switching and Its Processing {Apparatus and Method for packet switching using ATM cell switching}

본 발명은 비동기 전송모드(이하 ATM라 칭함) 셀 스위칭 기능을 이용한 패킷 교환기 구조 및 그 처리방법에 관한 것이다.The present invention relates to a structure of a packet switch using an asynchronous transmission mode (hereinafter referred to as ATM) cell switching function and a processing method thereof.

본 발명은 셀 스위칭 기술을 활용하여 패킷 교환기능을 수행하는 교환기에 관한 것으로, 셀이 출력될 출력포트를 ATM 셀 헤더의 가상채널 식별자 대신 해당 셀이 속한 패킷 헤더의 목적지 주소에 의해서 결정되도록 하며, 출력단에서 동일 목적지로 향하는 셀들을 패킷 단위로 다중화될 수 있도록 패킷단위 다중화 기능을 갖도록 한다.The present invention relates to a switch that performs a packet switching function using a cell switching technology, so that the output port to the cell output is determined by the destination address of the packet header to which the cell belongs, instead of the virtual channel identifier of the ATM cell header, A packet unit multiplexing function is provided so that cells destined for the same destination at the output terminal can be multiplexed by packet unit.

상기 ATM 셀 기반 패킷 교환을 위한 종래 기술의 하나는 셀화된 패킷을 ATM 교환기에 그대로 활용하는 방법으로서, 패킷의 목적지가 바뀔 때마다 새로운 목적지로 가상연결을 설정하고, 패킷의 전달이 종료되면 가상연결을 해제하는 복잡한 제어 과정을 필요로 한다.One of the related arts for ATM cell-based packet exchange is a method of using a cellized packet as it is in an ATM switch. Whenever the destination of a packet is changed, a virtual connection is established to a new destination, and when the delivery of the packet is terminated, the virtual connection is established. It requires a complicated control process to release it.

이러한 과정을 수행하기 위해서는 패킷의 목적지 주소에 대응된 ATM 주소를 얻은 후 ATM 주소에 대응된 목적지로 가상연결을 설정하도록 하는 추가적인 프로토콜을 적용해야 한다. 한편, Classical IP over ATM, LAN Emulation, Multi-Protocol over ATM, Multi-Protocol Label Switching, Next Hop Resolution Protocol 등은 표준화 단체에서 만든 상기와 같은 기능을 수행하는 프로토콜이다.In order to perform this process, an additional protocol that obtains an ATM address corresponding to a destination address of a packet and then establishes a virtual connection to a destination corresponding to an ATM address must be applied. Meanwhile, Classical IP over ATM, LAN Emulation, Multi-Protocol over ATM, Multi-Protocol Label Switching, and Next Hop Resolution Protocol are protocols that perform the above functions made by standardization organizations.

하나의 패킷 교환을 위한 다른 종래 기술로서 내부 스위칭은 패킷 단위로 수행하고, 입력부에서는 입력된 셀을 본래의 패킷으로 변환하며, 출력부에서는 스위칭된 패킷을 다시 셀로 변환하여 출력하는 방법으로 상기 입출력부에서 패킷-셀 변환 과정을 수행함에 따라 구성이 복잡해지고 처리 지연이 크다는 단점을 가진다.As another conventional technology for one packet exchange, the internal switching is performed on a packet basis, and an input unit converts an input cell into an original packet, and an output unit converts the switched packet back to a cell and outputs the converted input / output unit. As a result of performing the packet-cell conversion process, the configuration is complicated and the processing delay is high.

상기와 같이 패킷을 셀 단위로 교환하는 종래기술은 ATM 방식의 비연결형 서버에 적용되었으나, 이는 ATM 적응층(ATM Adaptation Layer, AAL) 3/4를 사용하는 방식으로 셀의 유료부하에 별도의 다중화 식별자를 두어 패킷에 대한 구분을 하지 않고 동일 목적지로 향하는 패킷들을 셀단위로 다중화해도 목적지에서 원래의 패킷을 복원할 수 있으나, 패킷-셀 변환 과정이 복잡하고 셀의 전달효율이 낮으므로 현재 거의 사용하지 않고 있으며, 또한 상기 종래 기술은 AAL5 규정에 따른 셀화된 패킷을 처리할 수 없는 문제점이 있다.As described above, the conventional technology of exchanging packets in cell units has been applied to an ATMless connectionless server. However, this technique uses ATM Adaptation Layer (AAL) 3/4 to multiplex the payload of a cell separately. Even if the packet is demultiplexed to the same destination by cell identifier and multiplexed to the same destination by cell unit, the original packet can be restored at the destination.However, the packet-cell conversion process is complicated and the cell transfer efficiency is low. In addition, the prior art has a problem that can not process the cellized packet according to the AAL5 specification.

도 1 은 일반적인 ATM 교환기의 구조도를 나타낸다. 상기 구조를 보면, 셀이 입력되는 입력라인 정합부(1)에서는 입력되는 셀들의 가상연결값에 따라 셀이 출력되는 출력포트 번호를 결정하여 셀 스위치부(2)로 전달하면 셀 스위치부에서는 지정된 출력포트로 전달하는 역할을 수행하며, 출력라인 정합부(3)에서는 지정된 대역폭에 따라 각 채널의 셀들을 송신하는 역할을 수행한다.1 shows a structural diagram of a general ATM switch. In the above structure, the input line matching unit 1 into which the cell is input is determined according to the virtual connection values of the input cells, and then the output port number is output to the cell switch unit 2. The output line matching unit 3 transmits the cells of each channel according to the designated bandwidth.

일반적으로 각 포트에는 다수의 가상연결이 설정되어 있으므로 가상연결별로 미리 지정된 대역폭에 따라 셀을 출력시켜야 한다.In general, each port has a plurality of virtual connections, and cells must be output according to a predetermined bandwidth for each virtual connection.

상기 문제점을 해결하기 위해 본 발명은, 패킷 교환을 ATM 셀 단위로 수행할 수 있도록 하여 하드웨어에 의한 고속 패킷이 가능하도록 하고, ATM 교환기의 가상연결별 트래픽 제어 기능을 이용하여 종단간 보장된 대역으로 트래픽을 전달할 수 있는 패킷 교환기를 제공하는 것을 목적으로 한다.In order to solve the above problems, the present invention enables a high-speed packet by hardware by performing a packet exchange in an ATM cell unit, and to the end-to-end guaranteed band by using a traffic control function for each virtual connection of an ATM switch. It is an object of the present invention to provide a packet exchanger capable of carrying traffic.

상기 목적을 달성하기 위해 본 발명은, 입력된 셀이 패킷을 구성하는 첫 번째 셀이면 셀에 포함된 목적지주소에 대응된 출력포트를 결정하고, 셀이 출력될 포트로부터 해당 패킷이 저장될 패킷버퍼번호를 받아와 헤더에 부가하여 셀스위치부로 전달하며, 첫 번째 셀이 아닐 경우는 상기 첫 번째와 동일한 출력포트의 동일한 패킷버퍼번호를 헤더에 부가하여 전달하는 입력셀 처리수단, 상기 셀 헤더의 출력포트번호값이 지정하는 포트로 셀을 전달하는 셀 스위치수단, 상기 셀 스위치수단을 통과한 셀 헤더의 패킷버퍼번호를 지정하는 버퍼에 저장하고, 하나의 패킷을 구성하는 모든 셀이 도착하면 패킷버퍼를 해당 가상연결 큐에 연결하며, 각 가상연결 큐에 있는 셀들을 지정된 대역폭으로 출력시키는 출력셀 처리수단 및 상기 입력셀 처리수단에서 특정 출력셀 처리수단의 빈패킷버퍼번호를 요구할 때마다 해당 출력셀 처리수단의 빈패킷버퍼번호 큐에서 빈패킷버퍼번호를 읽어와 제공하는 포트선택수단을 구비하여 출력셀 처리부에 일정 가상연결번호를 갖는 중간셀이 입력되었을 때 이를 처리하는 제 1 과정과, 셀의 출력을 요구받았을 경우 상기 출력셀 처리부에서 셀을 출력하는 제 2 과정을 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention, if the input cell is the first cell constituting the packet, and determines the output port corresponding to the destination address included in the cell, the packet buffer to store the packet from the port where the cell is output An input cell processing means for receiving the number and adding it to the header and transferring it to the cell switch unit, and if it is not the first cell, adding and transmitting the same packet buffer number of the same output port as the first to the header, and outputting the cell header. Cell switch means for transferring a cell to a port designated by a port number value, and stored in a buffer specifying a packet buffer number of a cell header passing through the cell switch means, and when all cells constituting one packet arrive, the packet buffer Is connected to a corresponding virtual connection queue, and output cell processing means for outputting cells in each virtual connection queue with a specified bandwidth, and the input cell processing means Each time the empty packet buffer number of the output cell processing means is requested, a port selection means for reading the empty packet buffer number from the empty packet buffer number queue of the output cell processing means is provided and provided a predetermined virtual connection number to the output cell processing unit. And a second process of processing a cell when the intermediate cell is input, and a second process of outputting a cell when the output of the cell is requested.

본 발명의 ATM 셀 기반 패킷 교환기에서는 하나의 패킷을 구성하는 다수의 셀을 패킷의 목적지 주소가 지정하는 목적지로 전달되도록 하는 기술과, 동일한 목적지로 향하는 패킷들이 여러 송신지로부터 동시에 도착하였을 경우 셀 단위가 아닌 패킷 단위의 다중화를 가능하게 하는 기술이 해결되어야 한다.In the ATM cell-based packet exchanger of the present invention, a technique for delivering a plurality of cells constituting a packet to a destination designated by a packet's destination address, and cell-by-cell when packets destined for the same destination arrive simultaneously from multiple sources A technique for enabling multiplexing of packets rather than packet must be solved.

그러므로 ATM 교환기에서는 모든 셀의 헤더에 있는 가상채널 식별자에 의해 전달될 목적지가 결정되지만 패킷 교환기에서는 패킷을 구성하는 여러 개의 셀들중 첫 번째 셀에만 목적지 주소가 실려 있으므로 첫 번째 셀을 제외한 나머지 셀들은 첫 번째 셀과 동일한 목적지로 전달되도록 해야 한다.Therefore, the ATM switch determines the destination to be delivered by the virtual channel identifier in the header of every cell. However, in the packet switch, only the first cell among the cells that make up the packet contains the destination address. It must be delivered to the same destination as the first cell.

따라서 본 발명에서는 모든 패킷이 AAL5 형태로 셀화되는 것을 가정하고, 셀 헤더의 유료부하형태 영역에 의해 패킷을 구성하는 마지막 셀을 감지하여 셀 흐름으로부터 패킷의 경계점을 찾도록 하였으며, 패킷의 마지막 셀을 감지하여 셀 흐름으로부터 패킷의 경계점을 찾도록 함과 아울러 패킷의 첫 번째 셀에 실려있는 목적지 주소값으로부터 패킷이 전달될 출력포트를 결정하는 라우팅 테이블과 라우팅 테이블로부터 검색된 출력포트 값을 저장하여 동일한 패킷을 구성하는 연속된 나머지 셀들이 동일한 목적지로 전달될 수 있도록 하는 헤더변환테이블을 구성하여 하나의 패킷을 구성하는 여러 셀들이 동일한 목적지로 전달될 수 있도록 하였다.Therefore, in the present invention, it is assumed that all packets are cellized in the form of AAL5, and the last cell constituting the packet is detected by the payload type region of the cell header to find the boundary point of the packet from the cell flow. Detects and finds the boundary of the packet from the cell flow, and stores the output port value retrieved from the routing table and the routing table that determines the output port to which the packet is forwarded from the destination address in the first cell of the packet. The header conversion table is configured to allow the subsequent consecutive cells constituting the NN to be delivered to the same destination so that several cells constituting one packet can be delivered to the same destination.

하나의 패킷을 구성하는 여러 셀들은 동일가상연결 내에서 반드시 연속되어 전달되어야 하므로 동일 목적지로 향하는 트래픽은 반드시 패킷단위로 출력큐에 넣어져야 한다.Since several cells constituting a packet must be delivered continuously in the same virtual connection, traffic destined for the same destination must be put in the output queue in packet units.

각각의 출력포트는 수 천개의 가상연결을 처리할 수 있어야 하며, 각각의 채널은 독립적인 큐를 구성하고, 각각의 큐는 패킷단위로 셀들을 저장할 수 있는 다수의 패킷 버퍼를 구비하여 서로 다른 송신지로부터 도착된 셀들을 다른 패킷 버퍼에 저장하는 복잡한 과정을 수행해야 한다.Each output port must be able to handle thousands of virtual connections, each channel forming an independent queue, and each queue has multiple packet buffers that can store cells on a packet-by-packet basis. The complex process of storing cells arriving from the network in different packet buffers must be performed.

이에 따라 본 발명에서는 셀들이 저장될 패킷버퍼의 할당을 단순화하기 위해서 입력부에 새로운 패킷이 도착될 때마다 해당 패킷이 저장될 패킷버퍼를 미리 할당하여 중간셀이 헤더에 셀이 저장될 패킷버퍼번호를 부가하여 출력부로 전달함으로써 패킷버퍼의 할당 및 패킷단위 다중화 문제를 해결하였다.Accordingly, in the present invention, in order to simplify the allocation of the packet buffer in which the cells are to be stored, whenever a new packet arrives at the input unit, the packet buffer in which the corresponding packet is to be stored is pre-allocated so that the intermediate cell receives the packet buffer number in which the cell is to be stored. In addition, it solves the packet buffer allocation and packet unit multiplexing problem by transmitting to the output unit.

도 1 일반적인 ATM 교환기의 구성도,1 is a block diagram of a general ATM switch,

도 2 는 본 발명에 따른 패킷 교환기의 구성도,2 is a block diagram of a packet switch according to the present invention;

도 3 은 본 발명이 적용되는 입력셀처리부와 출력셀처리부의 연결관계 구성 도,3 is a diagram illustrating a connection relationship between an input cell processor and an output cell processor to which the present invention is applied;

도 4 는 본 발명에 따른 입력셀처리부의 구성도,4 is a configuration diagram of an input cell processing unit according to the present invention;

도 5 는 본 발명에 따른 패킷을 고정길이의 ATM 셀로 나누는 공정 구성도,5 is a process configuration diagram of dividing a packet into fixed length ATM cells according to the present invention;

도 6 은 본 발명에 따른 입력셀처리부와 출력셀처리부간에 전달되는 중간셀 의 구성도,6 is a configuration diagram of an intermediate cell delivered between an input cell processor and an output cell processor according to the present invention;

도 7 은 본 발명에 따른 출력셀처리부의 구성도,7 is a configuration diagram of an output cell processing unit according to the present invention;

도 8 은 본 발명에 따른 출력셀처리부의 인덱스버퍼와 가상연결별 큐의 관계 구성도,8 is a configuration diagram illustrating the relationship between the index buffer and the virtual connection queue of the output cell processing unit according to the present invention;

도 9 는 본 발명에 따른 출력셀처리부에 셀이 입력되었을때의 동작흐름도,9 is an operation flowchart when a cell is input to an output cell processing unit according to the present invention;

도 10 은 본 발명에 따른 출력셀 처리부에서 셀이 출력되는 과정흐름도.10 is a flowchart illustrating a process of outputting a cell in an output cell processor according to the present invention.

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

100 : 입력셀 처리부 110 : 셀헤더 처리부100: input cell processing unit 110: cell header processing unit

120 : 헤더변환 테이블 121 : 패킷경계표시자120: header conversion table 121: packet boundary indicator

122 : 출력가상연결번호 123 : 출력포트번호122: output virtual connection number 123: output port number

124 : 패킷버퍼번호 130 : 라우팅 테이블124: packet buffer number 130: routing table

131 : 목적지주소 132 : 출력가상연결번호131: destination address 132: output virtual connection number

133 : 출력포트번호 200 : 셀 스위치부133: output port number 200: cell switch unit

300 : 포트선택부 400 : 출력셀 처리부300: port selector 400: output cell processor

410 : 빈패킷버퍼번호큐 420 : 큐관리부410: empty packet buffer number queue 420: queue management unit

430 : 인덱스 테이블 431 : 꼬리버퍼430: index table 431: tail buffer

432 : 머리버퍼 433 : 큐 계수기432: head buffer 433: cue counter

440 : 패킷버퍼 441 : 셀계수기440: packet buffer 441: cell counter

442 : 연결포인터 450 : 셀 스케쥴러442: connection pointer 450: cell scheduler

460 : 패킷 처리부460: packet processing unit

이하 첨부된 도면을 참조하여 본 발명을 상세히 설명하면 다음과 같다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 2 는 본 발명에 따른 패킷 교환기의 구성도로서, 입력된 셀이 패킷을 구성하는 첫 번째 셀이면 셀이 출력될 포트로부터 해당 패킷이 저장될 패킷번호를 받아와 헤더에 부가하여 셀 스위치부로 전달하며, 첫 번째 셀이 아니면 첫 번째와 동일한 출력포트의 동일한 패킷버퍼에 저장될 수 있도록 헤더를 만들어 전달하는 입력셀 처리부(100)와, 셀 헤더의 출력포트번호값이 지정하는 포트로 셀을 전달하는 셀 스위치부(200)와, 상기 셀 스위치부를 통과한 셀 헤더의 패킷버퍼번호를 지정하는 버퍼에 저장하며 하나의 패킷을 구성하는 모든 셀이 도착하면 패킷버퍼를 해당 가상연결의 큐에 연결하며, 각 가상연결의 큐에 있는 셀들을 지정된 대역폭으로 출력시키는 출력셀 처리부(400)와, 상기 입력셀 처리부(100)에서 특정 출력셀 처리부의 빈패킷버퍼번호를 요구할 때마다 해당 출력셀 처리부의 빈패킷버퍼번호큐에서 빈패킷버퍼번호를 읽어와 제공하는 포트선택부(300)로 구성된다.2 is a block diagram of a packet switch according to the present invention. If the input cell is the first cell constituting the packet, the packet exchanger receives the packet number to store the packet from the port where the cell is output and adds the packet number to the header to the cell switch unit. And, if it is not the first cell, the input cell processing unit 100 for creating and transmitting a header so that it can be stored in the same packet buffer of the same output port as the first cell, and delivers the cell to the port designated by the output port number value of the cell header. The cell switch unit 200 and a buffer buffer for specifying the packet buffer number of the cell header passing through the cell switch unit are stored. When all cells constituting one packet arrive, the packet buffer is connected to the queue of the virtual connection. Output cell processing unit 400 for outputting the cells in the queue of each virtual connection with a specified bandwidth, and the empty packet buffer number of the specific output cell processing unit in the input cell processing unit 100 Each time, the port selector 300 reads the empty packet buffer number from the empty packet buffer number queue of the corresponding output cell processing unit and provides the port selection unit 300.

도 3은 상기 도 2의 구성에서 입력셀 처리부(100)와 출력셀 처리부(400)의 세부 구성을 포함한 도면이다.3 is a view including the detailed configuration of the input cell processing unit 100 and the output cell processing unit 400 in the configuration of FIG.

상기 입력셀 처리부(100)는 입력된 셀의 헤더값을 이용하여 라우팅 테이블과 헤더변환 테이블을 검색하여 헤더의 가상연결 식별자를 출력될 값으로 변환하고, 셀 스위치부에서 출력될 포트를 결정하는 출력포트번호, 셀이 저장될 출력셀 처리부의 패킷버퍼번호를 나타내는 정보를 셀에 부가한 중간셀을 만들어 셀 스위치부로 전달하는 셀헤더처리부(110), 패킷 헤더에 포함된 목적지 주소값을 이용하여 출력될 셀의 출력포트번호 및 가상연결번호를 결정할 수 있는 정보를 저장하고 있는 라우팅테이블(130) 및 상기 라우팅 테이블에서 검색된 출력가상연결번호, 출력포트번호, 포트선택부를 통하여 가져온 출력셀 처리부의 패킷버퍼번호를 저장하고 있는 헤더변환 테이블(120)로 구성된다.The input cell processing unit 100 searches for a routing table and a header conversion table by using the header value of the input cell, converts the virtual connection identifier of the header into a value to be output, and determines a port to be output from the cell switch unit. Cell header processing unit 110 for creating an intermediate cell to which the port buffer and the packet buffer number of the output cell processing unit to store the cell are added to the cell and delivering the intermediate cell to the cell switch unit, and outputting the destination address value included in the packet header. Packet buffer of the output cell processing unit obtained through the routing table 130 storing information for determining the output port number and the virtual connection number of the cell to be output, and the output virtual connection number, output port number, and port selection unit found in the routing table. It consists of a header conversion table 120 that stores the number.

또한 상기 출력셀 처리부(400)는 입력된 중간셀을 셀헤더가 지정하는 패킷버퍼에 저장하고 하나의 패킷을 구성하는 모든 셀이 도착하면 해당 패킷버퍼를 해당 패킷에 할당된 가상연결큐에 연결시키는 큐관리부(420), 각 가상연결별 가상큐를 구성하는 링크 정보를 저장하고 있는 인덱스 테이블(430), 상기 인덱스 테이블의 큐의 정보와 각 가상연결에 할당된 대역폭 정보를 이용하여 셀의 출력시점을 결정하여 특정 가상연결의 셀을 출력시키는 셀스케줄러(450), 하나의 패킷을 구성하는 셀들을 저장하는 다수의 패킷버퍼(440), 상기 패킷버퍼 중 빈 패킷버퍼의 번호들을 저장하고 있는 빈패킷버퍼 번호큐(410)로 구성된다.In addition, the output cell processing unit 400 stores the input intermediate cell in a packet buffer designated by the cell header, and connects the packet buffer to the virtual connection queue allocated to the packet when all cells constituting one packet arrive. Queue management unit 420, an index table 430 storing link information constituting a virtual queue for each virtual connection, an output time point of a cell by using queue information of the index table and bandwidth information allocated to each virtual connection A cell scheduler 450 for outputting a cell of a specific virtual connection, a plurality of packet buffers 440 for storing cells constituting one packet, and an empty packet for storing the number of empty packet buffers among the packet buffers. It is composed of a buffer number queue 410.

본 발명의 패킷을 구성하는 셀들은 상기 입력셀 처리부(100)에서 해당 패킷이 저장될 패킷버퍼번호를 할당받아 출력셀 처리부(400)로 전달되므로 가상연결별, 패킷별 셀이 저장될 버퍼의 할당이 용이하므로 큐 관리기의 구성이 단순화될 뿐만 아니라, 동일 목적지로 향하는 다수 패킷의 패킷단위 다중화를 용이하게 구성할 수 있는 특징을 가진다.Cells constituting the packet of the present invention are received by the input cell processing unit 100 receives the packet buffer number to be stored in the packet is transmitted to the output cell processing unit 400, the allocation of the buffer for storing cells for each virtual connection, packet per packet This ease of configuration not only simplifies the configuration of the queue manager but also makes it easy to configure packet-by-packet multiplexing of multiple packets destined for the same destination.

도 4 는 상기 도 3의 입력셀 처리부의 상세 구성을 나타낸다. 그 구성을 보면, 헤더변환 테이블(120)은 입력셀의 가상경로 식별자/가상채널 식별자(VPI/VCI)값에 대응된 출력가상연결번호(122), 출력포트번호(123), 패킷버퍼번호(124)를 저장하고 있으며, 또한 목적지주소가 포함된 패킷의 첫번째 셀을 구분하기 위해서 유료부하형태 영역 값이 패킷의 마지막임을 표시하는 값일 경우 세트되며, 이외의 값일 경우 리셋되는 패킷경계 표시자(121)를 가지고 있다.4 illustrates a detailed configuration of the input cell processor of FIG. 3. In the configuration, the header conversion table 120 includes an output virtual connection number 122, an output port number 123, and a packet buffer number corresponding to the virtual path identifier / virtual channel identifier (VPI / VCI) value of the input cell. 124) and a packet boundary indicator 121 which is set when the value of the payload type region is a value indicating the end of the packet so as to distinguish the first cell of the packet including the destination address. Has)

또한 상기 라우팅 테이블(130)은 목적지 주소값에 대응된 출력포트번호 및 가상연결번호를 저장하고 있으며, 셀헤더처리부(110)는 셀이 입력되면 해당 가상연결의 헤더변환 테이블을 검색하며, 패킷경계 표시자가 세트되어 있으면 패킷을 구성하는 첫 번째 셀을 나타내므로 셀에서 목적지 주소값을 추출하여 이 값으로 상기 라우팅 테이블(130)을 검색하여 출력가상 연결번호(132)와 출력포트번호(133)를 읽어온다.In addition, the routing table 130 stores the output port number and the virtual connection number corresponding to the destination address value, the cell header processing unit 110 retrieves the header conversion table of the virtual connection when the cell is input, packet boundary If the indicator is set, it indicates the first cell constituting the packet. Thus, the destination address value is extracted from the cell and the routing table 130 is searched using this value to output the output virtual connection number 132 and the output port number 133. Read it.

또한 포트선택부(300)를 통해서 출력포트번호가 지정하는 출력셀 처리부(400)에서 셀이 저장될 패킷버퍼번호를 가져와 출력가상연결번호(132), 출력포트번호(133)와 함께 헤더변환 테이블(120)에 저장하며, 또한 이 값들을 헤더로 하는 중간셀을 만들어 셀 스위치부(200)로 전달한다.In addition, through the port selection unit 300, the output cell processing unit 400, which is designated by the output port number, obtains the packet buffer number in which the cell is to be stored, together with the output virtual connection number 132 and the output port number 133, together with the header conversion table. Stored in (120), and also makes an intermediate cell with these values as a header and delivers it to the cell switch unit (200).

만약 상기 헤더변환 테이블(120)을 검색하여 패킷경계표시자가 세트되어 있지 않으면 해당 셀은 패킷의 첫 번째 셀이 아님을 의미하므로 헤더변환 테이블(120)에 저장된 값을 읽어와 이를 헤더값으로 하는 중간셀을 만들어 셀 스위치부(200)로 전달한다.If the packet boundary indicator is not set by searching the header conversion table 120, it means that the cell is not the first cell of the packet. Therefore, the cell stored in the header conversion table 120 is read and stored as a header value. The cell is made and delivered to the cell switch unit 200.

이 경우 첫 번째 셀 도착시 상기 라우팅 테이블(130)과 출력셀 처리부(400)로부터 얻어온 정보를 그대로 헤더값으로 하여 전달하므로 동일한 패킷을 구성하는 다수의 셀은 동일한 목적지로 전달된다.In this case, since the information obtained from the routing table 130 and the output cell processor 400 is transmitted as a header value when the first cell arrives, a plurality of cells constituting the same packet are delivered to the same destination.

도 5 는 패킷이 AAL5 형태로 셀화되는 과정을 나타낸다. 상기 패킷은 목적지주소를 포함한 패킷 헤더와 정보영역으로 구분되며, 이 패킷은 오류검출을 위한 오류검출부호 등이 트레일러에 부가된 후 48바이트 단위로 분할되어 5바이트의 ATM 셀헤더가 부가되어 ATM 셀을 구성한다.5 shows a process in which packets are cellized in the form of AAL5. The packet is divided into a packet header including a destination address and an information area. The packet is divided into 48 byte units after an error detection code for error detection is added to the trailer, and an ATM cell header of 5 bytes is added to the ATM cell. Configure

ATM 망에서는 하나의 패킷을 구성하는 복수의 셀은 반드시 동일한 가상연결을 통하여 연속되여 전달되어야 함에 따라 하나의 가상연결에 AAL5로 셀화된 패킷이 셀단위로 다중화될 경우 목적지에서 본래의 패킷으로 복원할 수 없으므로 반드시 패킷단위로 다중화되어야 한다.In an ATM network, a plurality of cells constituting a packet must be delivered in succession through the same virtual connection. Therefore, when an AAL5 cell packetized in one virtual connection is multiplexed on a cell-by-cell basis, the original packet may be restored at the destination. Must be multiplexed by packet.

도 6 은 본 발명의 중간셀 구성을 나타내는데, 입력셀 처리부(100)에서는 입력셀의 헤더값중 가상연결번호를 출력측 가상연결번호로 변환하고, 셀 스위치부(200)에서 사용될 출력포트번호(123)와 출력셀 처리부(400)에서 사용될 패킷버퍼번호(124)를 부가한 중간셀로 만들어 셀 스위치부(200)로 전달한다.6 shows an intermediate cell configuration of the present invention, in which the input cell processing unit 100 converts the virtual connection number of the header value of the input cell into the output side virtual connection number, and output port number 123 to be used in the cell switch unit 200. And the packet buffer number 124 to be used in the output cell processing unit 400 are added to the cell switch unit 200.

도 7 은 본 발명의 출력셀 처리부의 구성도로서, 패킷처리부(460)는 중간셀이 입력되면 적절한 패킷버퍼(440)에 저장하며, 하나의 패킷을 구성하는 모든 셀들의 도착이 완료되면 해당 패킷버퍼(440k)를 가상연결큐에 연결하며, 가상연결별 큐에 저장된 셀들을 지정된 대역폭으로 셀을 출력시키고 사용이 완료된 패킷버퍼의 번호를 빈패킷버퍼번호큐(410)에 저장하는 역할을 수행한다. 이는 도 3의 큐관리부(420)와 셀스케줄러(450)의 기능을 수행한다.7 is a block diagram of an output cell processing unit according to the present invention. The packet processing unit 460 stores an intermediate cell in an appropriate packet buffer 440. When the arrival of all cells constituting one packet is completed, the packet is processed. It connects the buffer 440k to the virtual connection queue, and outputs the cells stored in the queue for each virtual connection with a specified bandwidth and stores the number of the used packet buffer in the empty packet buffer number queue 410. . This performs the functions of the queue manager 420 and the cell scheduler 450 of FIG.

상기 버퍼(440)는 출력셀 처리부(400)에서 처리가능한 가상연결의 수보다 많은 패킷버퍼(440)를 가지고 있으며 각각의 패킷버퍼는 가상연결별 큐를 구성할 때 링크되는 패킷버퍼번호를 저장할 수 있는 연결포인터(442)와 해당 패킷버퍼에 저장된 셀의 개수를 나타내는 셀계수기(441)를 가지고 있다.The buffer 440 has more packet buffers 440 than the number of virtual connections that the output cell processing unit 400 can process, and each packet buffer can store the packet buffer numbers linked when configuring the queue for each virtual connection. And a cell counter 441 indicating the number of cells stored in the packet buffer.

인덱스 테이블(430)은 각 가상연결별 가상큐의 머리와 꼬리를 구성하는 버퍼번호를 지정하는 머리버퍼 및 꼬리버퍼(431, 432), 그리고 가상연결별 가상큐에 저장된 전체 셀의 개수를 나타내는 큐 계수기(433)를 가지고 있다.The index table 430 is a queue indicating the number of head buffers and tail buffers 431 and 432 that designate a buffer number constituting the head and tail of the virtual queue for each virtual connection, and the total number of cells stored in the virtual queue for each virtual connection. It has a counter 433.

상기 큐 계수기(433)는 셀 스케줄러(450)에서 셀의 출력 순서를 결정하는데 사용될 수 있다.The queue counter 433 may be used by the cell scheduler 450 to determine the output order of cells.

빈패킷버퍼번호큐(410)는 셀이 저장되어 있지 않은 패킷버퍼(440)의 번호를 저장하고 있으며, 입력셀 처리부(100)에서 요청이 올 때마다 포트선택부(300)를 경유하여 패킷버퍼(440)의 번호를 전달한다.The empty packet buffer number queue 410 stores the number of the packet buffer 440 in which the cell is not stored, and the packet buffer passes through the port selection unit 300 whenever a request is received from the input cell processing unit 100. Pass the number of 440.

도 8 은 인덱스 테이블과 가상연결의 가상큐의 관계를 나타낸다. 가상연결번호 i의 가상큐는 인덱스 테이블(430)의 HBi는 머리를 구성하는 패킷버퍼번호를 가리키며 TBi는 꼬리를 구성하는 패킷버퍼번호를 나타낸다. 머리와 꼬리 사이의 패킷버퍼들은 각 패킷버퍼 내에 있는 연결포인터에 의해 연결된다.8 shows a relationship between an index table and a virtual queue of virtual connections. The virtual queue of the virtual connection number i indicates the packet buffer number constituting the head, and HBi of the index table 430 indicates the packet buffer number constituting the tail. The packet buffers between the head and tail are connected by connection pointers within each packet buffer.

도 9 는 본 발명에 따른 출력셀처리부에 셀이 입력되었을때의 동작흐름도로서, 먼저 가상연결번호 i인 중간셀이 출력셀 처리부(400)로 입력되면(S1) 중간셀의 헤더에 있는 패킷버퍼번호가 지정하는 패킷버퍼를 선택하고 해당 패킷버퍼내의 셀계수기가 지정하는 위치에 셀을 저장한 후(S2) 셀계수기 값을 증가시킨다(S3).9 is an operation flowchart when a cell is input to an output cell processing unit according to the present invention. First, when an intermediate cell having a virtual connection number i is input to the output cell processing unit 400 (S1), a packet buffer in the header of the intermediate cell is shown. The packet buffer designated by the number is selected, the cell is stored at the position designated by the cell counter in the packet buffer (S2), and the cell counter value is increased (S3).

만약 중간셀의 유료부하형태 값이 패킷의 마지막 셀인가 판단하여(S4) 유료부하형태 값이 마지막 셀이 아닌 경우 종료한다(S5).If it is determined whether the payload type value of the intermediate cell is the last cell of the packet (S4), it ends if the payload type value is not the last cell (S5).

상기 판단 후 유료부하형태 값이 패킷의 마지막을 나타내면 해당 패킷버퍼를 해당 가상연결의 가상큐에 연결한다.After the determination, if the payload type value indicates the end of the packet, the packet buffer is connected to the virtual queue of the virtual connection.

이때 인덱스 테이블의 해당 가상연결의 큐계수기 값이 0인지 판단하여(S6) 큐계수기 값이 0이면 가상연결의 큐가 없는 상태이므로 해당 패킷버퍼번호를 HBi와 TBi에 모두 써넣어(S7) 하나의 패킷버퍼로 해당 가상연결의 큐를 구성하도록 한다.In this case, it is determined whether the queue counter value of the corresponding virtual connection of the index table is 0 (S6). If the queue counter value is 0, the queue of the virtual connection is not present. Therefore, the packet buffer number is written to both HBi and TBi (S7). Configure the queue of the virtual connection with the packet buffer.

상기 판단 후 큐 계수기의 값이 0이 아니면 이미 큐가 설정되어 있는 상태이므로 해당 패킷버퍼번호를 TBi가 지정하는 패킷버퍼의 연결포인터에 써넣은(S8) 후 다시 TBi 값을 추가되는 패킷버퍼의 번호를 대치한다.If the value of the queue counter is not 0 after the determination, since the queue is already set, the packet buffer number is added to the connection pointer of the packet buffer designated by TBi (S8) and the TBi value is added again. Replace.

가상큐에 패킷버퍼를 추가한 후 해당 패킷버퍼의 셀계수기값을 인덱스버퍼의 해당 가상연결의 큐계수기값에 더해주어(S9) 전체 큐에 저장된 셀의 개수를 지정하도록 하며, 추가된 패킷버퍼의 셀계수기를 1로 바꾸어(S10) 해당 패킷버퍼의 셀을 출력할 때 포인터로 사용될 수 있도록 하고 종료한다(S11).After adding the packet buffer to the virtual queue, add the cell counter value of the packet buffer to the queue counter value of the corresponding virtual connection of the index buffer (S9) to specify the number of cells stored in the entire queue. The cell counter is changed to 1 (S10) to be used as a pointer when outputting the cell of the packet buffer, and the process ends (S11).

도 10 은 본 발명에 따른 출력셀 처리부에서 셀이 출력되는 과정흐름도로서, 셀 스케쥴러에서 가상연결 i의 셀 출력을 요구할 경우의 동작절차를 나타낸다.FIG. 10 is a flowchart illustrating a process of outputting a cell by an output cell processor according to an exemplary embodiment of the present invention, and illustrates an operation procedure when a cell scheduler requests a cell output of a virtual connection i.

셀스케쥴러에서 가상연결번호 i인 셀 출력이 요구되면(S12) 인덱스 테이블의 HBi가 지정하는 패킷버퍼에서 셀계수기가 지정하는 위치의 셀을 읽어 출력하고셀계수기값을 증가시켜(S13) 다음셀이 저장된 위치를 지정하도록 한 후 인덱스 테이블의 큐계수기값을 감소시켜(S14) 큐에 실제 저장된 셀의 수를 나타내도록 한다.If the cell scheduler requires cell output with virtual connection number i (S12), the cell buffer reads the cell at the location specified by the cell counter from the packet buffer designated by HBi in the index table and increases the cell counter value (S13). After specifying the stored position, the queue counter value of the index table is decreased (S14) to indicate the number of cells actually stored in the queue.

상기 출력된 셀이 패킷의 마지막 셀인가를 판단하여(S15) 만약 출력된 셀의 유료부하형태값이 패킷의 마지막 셀임을 가리키면 셀을 송신한 패킷버퍼의 연결포인터 값을 읽어와 인덱스 테이블의 HBi에 써 넣은(S16) 후 셀을 송신한 패킷버퍼의 셀계수기를 0으로 바꾼 후 패킷버퍼번호를 빈패킷버퍼번호큐에 써 넣으며 종료한 후 종료하며(S17), 상기 판단 후 출력된 셀이 마지막이 아니면 종료한다(S18).It is determined whether the output cell is the last cell of the packet (S15). If the payload type value of the output cell indicates that the packet is the last cell of the packet, the connection pointer value of the packet buffer that transmitted the cell is read to the HBi of the index table. After writing (S16), change the cell counter of the packet buffer that sent the cell to 0, write the packet buffer number to the empty packet buffer number queue, terminate and end (S17). Otherwise, it ends (S18).

상술한 바와 같이 본 발명은, ATM 방식의 입출력 인터페이스를 가지는 패킷교환기 구성에 관한 것으로 패킷의 목적지주소값에 의해 출력포트 및 출력 가상연결이 결정되면서도 모든 처리과정이 셀 단위로 이루어지므로 하드웨어 기반의 ATM 스위칭 기술을 이용하여 고속 대용량의 패킷교환기를 용이하게 구성할 수 있다.As described above, the present invention relates to the configuration of a packet switch having an ATM input / output interface. Although the output port and the output virtual connection are determined by the destination address value of the packet, all processes are performed in units of hardware. Switching technology makes it easy to configure a high-speed, high-capacity packet switch.

그리고 셀 단위 처리 방식의 문제점인 패킷단위 다중화의 어려움을 입력셀 처리부에서 저장될 패킷버퍼번호를 헤더에 부가하눈 방식을 적용함으로써, 출력셀 처리부에서는 가상연결단위의 큐잉 기능과 패킷 단위 다중화를 동시에 수행할 수 있으며, ATM 인터페이스를 가지는 패킷교환기가 셀-패킷 변환기능을 가질 필요가 없으므로 구성이 단순화되는 특징을 가진다.In addition, by applying the method of adding packet buffer numbers to be stored in the input cell processor to the header, the output cell processor simultaneously performs the queuing function of the virtual connection unit and the packet unit multiplexing. In this case, a packet switch having an ATM interface does not need to have a cell-to-packet conversion function, thereby simplifying the configuration.

또한 패킷 입출력 인터페이스를 가지는 패킷교환기에 있어서도 내부에서 셀로 변환하여 본 발명을 적용함으로써, 셀단위로 처리할 경우 패킷교환기를 용이하게 구성할 수 있는 효과를 갖는다.In addition, even in a packet exchanger having a packet input / output interface, the present invention converts a cell into an internal cell and applies the present invention, whereby the packet exchanger can be easily configured when processing on a cell basis.

Claims (10)

셀단위로 처리하는 패킷 교환기에 있어서,In the packet exchanger processing on a cell basis, 입력된 셀이 패킷을 구성하는 첫 번째 셀이면 셀에 포함된 목적지주소에 대응된 출력포트를 결정하고, 셀이 출력될 포트로부터 해당 패킷이 저장될 패킷버퍼번호를 받아와 헤더에 부가하여 셀스위치부로 전달하며, 첫 번째 셀이 아닐 경우는 상기 첫 번째와 동일한 출력포트의 동일한 패킷버퍼번호를 헤더에 부가하여 전달하는 입력셀 처리수단과;If the input cell is the first cell constituting the packet, the output port corresponding to the destination address included in the cell is determined, and the packet buffer number to store the packet from the port to which the cell is output is added to the header and added to the cell switch. An input cell processing means for transferring to the header and, if it is not the first cell, adding the same packet buffer number of the same output port as the first to the header and transmitting the same; 상기 셀 헤더의 출력포트번호값이 지정하는 포트로 셀을 전달하는 셀 스위치수단과;Cell switch means for transferring a cell to a port designated by an output port number value of the cell header; 상기 셀 스위치수단을 통과한 셀 헤더의 패킷버퍼번호를 지정하는 버퍼에 저장하고, 하나의 패킷을 구성하는 모든 셀이 도착하면 패킷버퍼를 해당 가상연결 큐에 연결하며, 각 가상연결 큐에 있는 셀들을 지정된 대역폭으로 출력시키는 출력셀 처리수단과;The packet buffer number of the cell header passing through the cell switch means is stored in a buffer, and when all cells constituting one packet arrive, the packet buffer is connected to a corresponding virtual connection queue, and cells in each virtual connection queue. Output cell processing means for outputting them with a specified bandwidth; 상기 입력셀 처리수단에서 특정 출력셀 처리수단의 빈패킷버퍼번호를 요구할 때마다 해당 출력셀 처리수단의 빈패킷버퍼번호 큐에서 빈패킷버퍼번호를 읽어와 제공하는 포트선택수단을 포함하는 것을 특징으로 하는 비동기 전송모드 셀 스위칭 기능을 이용한 패킷 교환기 구조.And a port selection means for reading and providing the empty packet buffer number from the empty packet buffer number queue of the corresponding output cell processing means whenever the input cell processing means requests the empty packet buffer number of a specific output cell processing means. Packet Switch Architecture using Asynchronous Transfer Mode Cell Switching. 제 1 항에 있어서, 상기 입력셀 처리수단은The method of claim 1, wherein the input cell processing means 입력된 셀의 헤더값을 이용하여 라우팅테이블과 헤더변환테이블을 검색하여 헤더의 가상연결 식별자를 출력될 값으로 변환하고, 셀 스위치부에서 출력될 포트를 결정하는 출력포트번호, 셀이 저장될 출력셀 처리부의 패킷버퍼번호를 나타내는 정보를 셀에 부가한 중간셀을 만들어 셀스위치부로 전달하는 셀헤더 처리부와;The routing table and the header conversion table are searched using the inputted header value of the input cell to convert the virtual connection identifier of the header to the output value, and the output port number for determining the port to be output from the cell switch unit, and the output at which the cell is stored. A cell header processing unit for creating an intermediate cell in which information indicating a packet buffer number of the cell processing unit is added to the cell and delivering the intermediate cell to the cell switch unit; 패킷헤더에 포함된 목적지 주소값을 이용하여 셀 출력될 출력포트번호 및 가상연결번호를 결정할 수 있는 정보를 저장하는 라우팅 테이블; 및A routing table storing information for determining an output port number and a virtual connection number to be outputted to a cell by using a destination address value included in the packet header; And 상기 라우팅 테이블에서 검색된 출력가상연결번호, 출력포트번호, 포트선택부를 통하여 가져온 출력셀처리부의 패킷버퍼번호를 저장하는 헤더변환테이블로 이루어진 것을 특징으로 하는 비동기 전송모드 셀 스위칭 기능을 이용한 패킷 교환기 구조.And a header conversion table for storing the output virtual connection number, the output port number, and the packet buffer number of the output cell processor obtained through the port selection unit. 제 2 항에 있어서, 상기 중간셀은The method of claim 2, wherein the intermediate cell is 입력셀 처리부에서 입력셀의 헤더값중 가상연결번호를 출력측 가상연결번호로 변환하고, 셀스위치부에서는 사용될 출력포트번호와 출력셀 처리부에서 사용될 패킷버퍼번호를 부가한 중간셀로 만들어 셀스위치부로 전달하는 것을 특징으로 하는 비동기 전송모드 셀 스위칭 기능을 이용한 패킷 교환기 구조.The input cell processing unit converts the virtual connection number from the header value of the input cell to the output virtual connection number, and the cell switch unit makes the intermediate cell with the output port number to be used and the packet buffer number to be used in the output cell processing unit and delivers it to the cell switch unit. Packet switch structure using the asynchronous transmission mode cell switching function, characterized in that. 제 2 항에 있어서, 상기 헤더변환테이블은The method of claim 2, wherein the header conversion table 입력셀의 가상연결식별자 값에 대응된 출력가상연결번호, 출력포트번호, 패킷버퍼번호와 입력된 셀의 유료부하형태 영역값이 패킷의 마지막 셀임을 표시하는 값일 경우 세트되며, 이외의 값일 경우 리셋되는 패킷경계표시자를 가지고 있는 것을 특징으로 하는 비동기 전송모드 셀 스위칭 기능을 이용한 패킷 교환기 구조.Set when the output virtual connection number, output port number, packet buffer number corresponding to the virtual connection identifier value of the input cell and the payload type area value of the input cell are the last cell of the packet. A packet switch structure using an asynchronous transmission mode cell switching function, characterized in that it has a packet boundary indicator. 제 1 항에 있어서, 상기 출력셀 처리수단은The method of claim 1, wherein the output cell processing means 입력된 중간셀을 셀헤더가 지정하는 패킷버퍼에 저장하고 하나의 패킷을 구성하는 모든 셀이 도착하면 해당 패킷버퍼를 해당 패킷에 할당된 가상연결큐에 연결시키는 큐관리기와;A queue manager for storing the input intermediate cell in a packet buffer designated by the cell header and connecting the packet buffer to a virtual connection queue assigned to the packet when all cells constituting one packet arrive; 각 가상연결별 상기 가상연결큐를 구성하는 링크 정보를 저장하고 있는 인덱스 테이블, 인덱스 테이블에 있는 가상큐 정보와 각 가상연결에 할당된 대역폭 정보를 이용하여 셀의 출력시점을 결정하여 특정 가상연결의 셀을 출력시키는 셀스케쥴러와;Index output that stores the link information constituting the virtual connection queue for each virtual connection, the virtual queue information in the index table and the bandwidth information allocated to each virtual connection to determine the output time of the cell to determine the specific virtual connection A cell scheduler for outputting a cell; 상기 하나의 패킷을 구성하는 셀들을 저장하는 다수의 패킷버퍼; 및A plurality of packet buffers storing cells constituting the one packet; And 상기 다수의 패킷버퍼 중 빈 패킷버퍼의 번호들을 저장하고 있는 빈패킷버퍼번호큐로 이루어진 것을 특징으로 하는 비동기 전송모드 셀 스위칭 기능을 이용한 패킷 교환기 구조.The packet switch structure using an asynchronous transmission mode cell switching function, characterized in that the packet packet number queue for storing the number of the empty packet buffer of the plurality of packet buffers. 제 5 항에 있어서, 상기 인덱스 테이블은The method of claim 5, wherein the index table 각 가상연결별 가상큐의 머리롸 꼬리를 구성하는 버퍼번호를 지정하는 머리버퍼 및 꼬리버퍼, 그리고 가상연결별 가상큐에 저장된 전체 셀의 개수를 나타내는 큐계수기를 구비한 것을 특징으로 하는 비동기 전송모드 셀 스위칭 기능을 이용한 패킷 교환기 구조.Asynchronous transmission mode comprising a head buffer and a tail buffer for designating the buffer number constituting the head and tail of the virtual queue for each virtual connection, and a queue counter indicating the total number of cells stored in the virtual queue for each virtual connection. Packet Switching Architecture Using Cell Switching Function. 제 5 항에 있어서, 상기 빈패킷버퍼번호큐는The method of claim 5, wherein the empty packet buffer number queue 셀이 저장되어 있지 않은 패킷버퍼의 번호를 지정하며, 상기 입력셀 처리부에서 요청이 올 때마다 포트선택부를 경유하여 패킷버퍼의 번호를 전달하는 것을 특징으로 하는 비동기 전송모드 셀 스위칭 기능을 이용한 패킷 교환기 구조.A packet switch using an asynchronous transmission mode cell switching function, which designates a packet buffer number in which a cell is not stored, and transmits the packet buffer number through a port selector whenever a request is received from the input cell processing unit. rescue. 매 패킷의 시작셀이 입력될 때마다 해당 셀이 출력될 출력포트의 패킷버퍼를 미리 할당하여 출력포트에서 패킷단위의 다중화를 용이하게 할 수 있도록 하는 방법에 있어서,In a method for facilitating multiplexing of packet units at an output port by allocating a packet buffer of an output port to which a corresponding cell is output each time a start cell of each packet is input. 출력셀 처리부에 일정 가상연결번호를 갖는 중간셀이 입력되었을 때 이를 처리하는 제 1 과정과;A first step of processing an intermediate cell having a predetermined virtual connection number in the output cell processor; 셀의 출력을 요구받았을 경우 상기 출력셀 처리부에서 셀을 출력하는 제 2 과정을 포함하는 것을 특징으로 하는 셀 기반 패킷 교환 방법.And a second process of outputting the cell by the output cell processor when the output of the cell is requested. 제 8 항에 있어서, 상기 제 1 과정은The method of claim 8, wherein the first process is 가상연결번호 i 인 증간셀이 출력셀 처리부로 입력되면 중간셀의 헤더에 있는 패킷버퍼번호가 지정하는 패킷버퍼를 선택하고 해당 패킷버퍼내의 셀 계수기가 지정하는 위치에 셀을 저장한 후 셀계수기 값을 증가시키는 제 1 단계와;When the incremental cell with virtual connection number i is inputted to the output cell processing unit, the packet buffer designated by the packet buffer number in the header of the intermediate cell is selected, the cell is stored in the position designated by the cell counter in the corresponding packet buffer, and the cell counter value A first step of increasing; 상기 중간셀의 유료부하형태 값이 마지막 셀인가 판단하여 유효부하형태 값이 마지막 셀이 아닌 경우 종료하는 제 2 단계와;Determining whether the payload type value of the intermediate cell is the last cell and ending if the effective load type value is not the last cell; 상기 판단 후 유료부하형태 값이 패킷의 마지막을 나타내면 해당 패킷버퍼를 해당 가상연결의 가상큐에 연결하는 제 3 단계와;A third step of connecting the packet buffer to the virtual queue of the virtual connection if the payload type value indicates the end of the packet after the determination; 인덱스 테이블의 상기 해당 가상연결의 큐계수기 값이 0인지 판단하여 큐계수기값이 0이면 가상연결의 큐가 없는 상태임에 따른 해당 패킷버퍼번호를 HBi 및 HBi에 모두 써넣어 하나의 패킷버퍼로 해당 가상연결의 큐를 구성하는 제 4 단계와;If the queue counter value of the corresponding virtual connection in the index table is 0, and the queue counter value is 0, the corresponding packet buffer number corresponding to the absence of the queue of the virtual connection is written in both HBi and HBi, which corresponds to one packet buffer. A fourth step of constructing a queue of virtual connections; 상기 판단 후 큐계수기값이 0이 아니면 이미 큐가 설정되어 있음에 따른 해당 패킷버퍼번호를 상기 TBi가 지정하는 패킷버퍼의 연결포인터에 써넣은 후 다시 상기 TBi 값을 추가되는 패킷버퍼의 번호로 대치하는 제 5 단계와;After the determination, if the queue counter value is not 0, the packet buffer number corresponding to the queue has already been set is written into the connection pointer of the packet buffer designated by TBi, and the TBi value is replaced with the number of the packet buffer added. A fifth step; 가상큐에 패킷버퍼를 추가한 후 해당 패킷버퍼의 셀계수기값을 인덱스 버퍼의 해당 가상연결의 큐계수기값에 더하여 전체 큐에 저장된 셀의 개수를 지정하도록 하는 제 6 단계와;Adding a packet buffer to the virtual queue and adding a cell counter value of the packet buffer to the queue counter value of the corresponding virtual connection of the index buffer to specify the number of cells stored in the entire queue; 추가된 패킷버퍼의 셀계수기를 1로 바꾸어 해당 패킷버퍼의 셀을 출력할 때 포인터로 사용될 수 있도록 하고 종료하는 제 7 단계로 이루어진 것을 특징으로 하는 셀 기반 패킷 교환 방법.And a seventh step of changing the cell count of the added packet buffer to 1 so that the packet buffer cell can be used as a pointer when outputting the cell of the packet buffer and ending. 제 8 항에 있어서, 상기 제 2 과정은The method of claim 8, wherein the second process 셀 스케쥴러에서 일정 가상연결번호를 갖는 셀 출력이 요구되면 인덱스 테이블 HBi가 지정하는 패킷버퍼에서 셀계수기가 지정하는 위치의 셀을 읽어 출력하고 셀계수기값을 증가시켜 다음셀이 저장된 위치를 지정하도록 한 후 인덱스 테이블의 큐계수기값을 감소시켜 큐에 실제 저장된 셀의 수를 출력하는 제 1 단계와;If the cell scheduler requires cell output with a certain virtual connection number, read the cell at the location specified by the cell counter from the packet buffer specified by the index table HBi, and increase the cell counter value to specify the location where the next cell is stored. Reducing the queue counter value of the index table and outputting the number of cells actually stored in the queue; 상기 출력된 셀이 패킷의 마지막 셀인다 판단하여 출력된 셀의 유료부하??태 값아 패킷의 마지막 셀임을 가리키면 셀을 송신한 패키버퍼의 연결포인터 값을 읽어와 상기 인덱스 테이블의 HBi에 써 넣고 셀을 송신한 패킷버퍼의 셀계수기를 0으로 바꾼 후 패킷버퍼번호를 빈패킷버퍼번호큐에 써 넣으며 종료하는 제 2 단계와;If it is determined that the output cell is the last cell of the packet and indicates that the payload status value of the output cell is the last cell of the packet, the value of the connection pointer of the packet buffer that transmitted the cell is read and written into the HBi of the index table. A second step of changing the cell counter of the transmitted packet buffer to 0 and writing the packet buffer number to the empty packet buffer number queue and ending; 상기 판단 후 출력된 셀이 마지막이 아닐 경우 종료하는 제 3 단계로 이루어진 것을 특징으로 하는 셀 기반 패킷 교환 방법.And a third step of terminating if the outputted cell is not the last after the determination.
KR10-1999-0034518A 1999-08-20 1999-08-20 Apparatus and Method for packet switching using ATM cell switching KR100384996B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0034518A KR100384996B1 (en) 1999-08-20 1999-08-20 Apparatus and Method for packet switching using ATM cell switching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0034518A KR100384996B1 (en) 1999-08-20 1999-08-20 Apparatus and Method for packet switching using ATM cell switching

Publications (2)

Publication Number Publication Date
KR20010018534A true KR20010018534A (en) 2001-03-05
KR100384996B1 KR100384996B1 (en) 2003-05-22

Family

ID=19607976

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0034518A KR100384996B1 (en) 1999-08-20 1999-08-20 Apparatus and Method for packet switching using ATM cell switching

Country Status (1)

Country Link
KR (1) KR100384996B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439184B1 (en) * 2001-12-24 2004-07-05 한국전자통신연구원 Apparatus for a doubleword-aligned writing buffer with 2different sized iput ports
KR100795240B1 (en) * 2006-05-22 2008-01-15 한국정보통신대학교 산학협력단 Method of generating burst in optical burst switching network system
CN100459552C (en) * 2002-08-22 2009-02-04 Lg-北电株式会社 ATM exchange device and method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3646638B2 (en) 2000-09-06 2005-05-11 日本電気株式会社 Packet switching apparatus and switch control method used therefor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH088932A (en) * 1994-06-23 1996-01-12 Hitachi Ltd Congestion control method
JP3542875B2 (en) * 1996-09-26 2004-07-14 日本電気株式会社 ATM cell rate bandwidth control method
JPH114234A (en) * 1997-06-12 1999-01-06 Toyo Commun Equip Co Ltd Multiplex switch device
JPH1168791A (en) * 1997-08-18 1999-03-09 Nippon Telecom Kk Transmission efficiency improving device in atm data transmission line

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439184B1 (en) * 2001-12-24 2004-07-05 한국전자통신연구원 Apparatus for a doubleword-aligned writing buffer with 2different sized iput ports
CN100459552C (en) * 2002-08-22 2009-02-04 Lg-北电株式会社 ATM exchange device and method
KR100795240B1 (en) * 2006-05-22 2008-01-15 한국정보통신대학교 산학협력단 Method of generating burst in optical burst switching network system

Also Published As

Publication number Publication date
KR100384996B1 (en) 2003-05-22

Similar Documents

Publication Publication Date Title
US7463633B2 (en) Packet switching system, packet switching network and packet switching method
US5513178A (en) Cell multiplexing apparatus in ATM network
US5687324A (en) Method of and system for pre-fetching input cells in ATM switch
US5991295A (en) Digital switch
EP0474429B1 (en) An asynchronous transfer mode switching arrangement providing broadcast transmission
US6907001B1 (en) Packet switch for switching variable length packets in the form of ATM cells
EP0849917B1 (en) Switching system
JP3077677B2 (en) Quality assurance node equipment
US7065089B2 (en) Method and system for mediating traffic between an asynchronous transfer mode (ATM) network and an adjacent network
US6621821B1 (en) AAL2 processing device and method for ATM network
JPH1093589A (en) Data unit receiving data packet and distributing it to packet exchange circuit, and exchange including the data unit
JPH10242999A (en) Traffic forming device
US6314098B1 (en) ATM connectionless communication system having session supervising and connection supervising functions
JP2004506343A (en) System and method for managing data traffic associated with various quality of service principles using conventional network node switches
US5892762A (en) Buffer control system
US6658014B1 (en) Packet buffer device and packet assembling method
KR100384996B1 (en) Apparatus and Method for packet switching using ATM cell switching
US7443863B2 (en) Cell switching method and system
EP1471687A1 (en) A method for realize the atm variable bit rate real-time traffic
JPH11122257A (en) Common buffer switch
JP2001024661A (en) Multicast system and exchanging method therefor
US7492790B2 (en) Real-time reassembly of ATM data
US7359385B2 (en) ATM switching apparatus and method
JP4504606B2 (en) Apparatus and method for shaping traffic in a network switch
KR20010063845A (en) A Virtual Channel Merge Apparatus MutiProtocol Label Switch System

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
LAPS Lapse due to unpaid annual fee