KR100429907B1 - Router and routing method for combined unicast and multicast traffic - Google Patents
Router and routing method for combined unicast and multicast traffic Download PDFInfo
- Publication number
- KR100429907B1 KR100429907B1 KR10-2002-0025629A KR20020025629A KR100429907B1 KR 100429907 B1 KR100429907 B1 KR 100429907B1 KR 20020025629 A KR20020025629 A KR 20020025629A KR 100429907 B1 KR100429907 B1 KR 100429907B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- switching
- connection
- packets
- input
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000015654 memory Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000003139 buffering effect Effects 0.000 description 4
- 239000004744 fabric Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 패킷 통신망에서 고속으로 라우팅 서비스를 할 수 있는 라우터 및 라우팅 방법, 그리고 라우터의 패킷 입출력 설정 방법에 관한 것이다. 본 발명에 따른 라우터 패킷 입출력 설정 방법은 (a) 스케쥴링 시점인지를 확인하여 입력단의 스위칭 대상 패킷이 존재하는 지의 여부를 확인하고, (b) 위 스위칭 대상 패킷을 해당 출력단으로 스위칭하기 위한 최소완료시간을 계산하고, (c) 계산된 최소완료시간 내에 스위칭을 수행하기 위하여 상기의 패킷상태 정보 메시지의 값을 조정하고, (d) 우선적으로 스위칭할 대상을 결정하고, (e) 상기 결정된 스위칭의 우선 연결 대상에 대하여 배당이 가능한 최대한의 양의 스위칭을 결정하는 단계를 포함한다.The present invention relates to a router capable of performing a routing service at a high speed in a packet communication network, a routing method, and a packet input / output setting method of a router. In the router packet input / output setting method according to the present invention, (a) checking whether the switching target packet exists by checking whether it is a scheduling time point, and (b) minimum completion time for switching the switching target packet to the corresponding output terminal. (C) adjust the value of the packet state information message to perform the switching within the calculated minimum completion time, (d) determine the object to be switched preferentially, and (e) the priority of the determined switching. Determining the maximum amount of switching that is available for allocation to the connection object.
본 발명에 의하면 멀티캐스트 패킷에 대한 서비스를 효율적으로 수행할 수 있어 기존 라우터의 처리 시간 문제를 현저히 개선할 수 있는 효과가 있다.According to the present invention, it is possible to efficiently perform a service for a multicast packet, thereby remarkably improving the processing time problem of the existing router.
Description
본 발명은 패킷 통신망에 이용되는 고속 라우터 구조 및 이를 이용한 라우팅 방법에 대한 것으로서, 보다 상세하게 설명하면, 패킷의 원활한 입출력 단의 연결을 위한 스위칭 연결망(switching fabric)의 구조와 이를 활용하여 모든 패킷의 연결 처리시간을 최소화할 수 있는 입출력 단간의 패킷 연결 방법 및 이에 대응하는 연결 설정 장치에 관한 것이다.The present invention relates to a high-speed router structure used in a packet communication network and a routing method using the same. More specifically, the present invention relates to a structure of a switching fabric for smooth connection of an input / output terminal of a packet and the use of the same for all packets. The present invention relates to a packet connection method between input and output terminals capable of minimizing connection processing time, and a connection setting apparatus corresponding thereto.
라우터(router)는 패킷의 입출력을 담당하는 입출력단, 입력 단에서 패킷의 출력 단 번호를 구분하여 스위칭 연결망(switching fabric)에 전달해 주는 포워딩 엔진(forwarding engine), 포워딩 엔진으로부터 전해받은 각 패킷을 출력단과 연결해 주는 스위칭 연결망으로 구성된다.A router is an input / output terminal that handles the input / output of a packet, a forwarding engine that distinguishes the output terminal number of the packet from the input terminal, and delivers it to the switching fabric, and outputs each packet transmitted from the forwarding engine It consists of a switching network that connects to.
고속 라우터를 위해서는 라우팅 정보를 정확하고 빨리 파악할 수 있는 포워딩 엔진이 있어야 한다. 만약, 정확한 출력단의 파악이 안되는 경우에는 모든 출력단으로 방송(broadcasting)을 하게 되어 불필요한 부하(load)와 입출력단 간의 연결 지연을 유발한다.High speed routers require a forwarding engine to quickly and accurately understand routing information. If the correct output stage is not known, broadcasting is performed to all output terminals, causing unnecessary load and connection delay between the input and output terminals.
또한 종래 기술에 따른 라우터의 입출력단 간의 패킷 연결 방법은, 유니캐스트 트래픽과 멀티캐스트 트래픽을 구분하지 않으므로 멀티캐스트 트래픽의 처리를 위해서는 입력단의 수만큼으로 같은 패킷을 복사해서 각 입력단에 전달함으로서 유니캐스트 패킷과 같은 형태로 서비스되는 방식을 취하고 있는데, 이로 인하여 불필요한 라우터의 부하가 증가되고 처리 시간이 지연되기 때문에 출력단 충돌(blocking) 현상이 발생하여 연결을 필요로 하는 모든 패킷에 바로 연결 설정을 못하게 된다.In addition, the packet connection method between the input and output terminals of the router according to the prior art does not distinguish between unicast traffic and multicast traffic, so that the same packets are copied to each input terminal and transmitted to each input terminal for multicast traffic processing. It takes a packet-like service, which increases the load on unnecessary routers and delays processing time, resulting in output blocking, which prevents the connection establishment directly on all packets requiring a connection. .
이와 같은 패킷 간 충돌 현상을 줄이면서 패킷 연결량(throughput)을 증대하기 위하여 입력 버퍼링(input-buffering) 방식 및 라우팅 방안이 제안되었다. 입력 버퍼링 방식은 입력단에 버퍼를 두어 패킷을 일시적으로 보관하는 것으로서, 스위칭 연결망의 교환 속도와 버퍼 메모리의 읽기 및 쓰기 속도가 전송 링크의 속도로 동작하기 때문에 고속 스위치를 구현하기에 적합하지만, 한 입력단에서 하나의 패킷 만이 전송 가능하며 한 출력단에서도 하나의 패킷만을 받아들인다.In order to reduce such packet collisions and increase packet throughput, an input buffering scheme and a routing scheme have been proposed. The input buffering method is to temporarily store packets by buffering at the input stage, which is suitable for implementing a high-speed switch because the switching speed of the switching network and the reading and writing speed of the buffer memory operate at the speed of the transmission link. Only one packet can be sent in the network, and only one packet is accepted at one output.
이로 인하여, 입력단(input-buffering) 충돌 및 출력단(output-buffering) 충돌 현상 등과 같은 문제점이 발생한다. 여기서의 출력단 충돌이란, 특정한 한 출력단으로 동시에 여러 개의 입력단에서 패킷을 보내고자 하는 경우에 발생하는 충돌이며, 입력단 충돌이란 하나의 입력 단에서 대기중인 패킷들 중 각각의 출력단으로 연결이 가능한 데도 불구하고 하나의 입력단에서는 하나의 패킷만을 처리할 수 있다는 제한 때문에 연결을 못하는 상황을 의미한다.As a result, problems such as an input-buffering collision and an output-buffering collision phenomenon occur. In this case, the output collision is a collision that occurs when several inputs are sent to a specific output at the same time, and the input collision is an output collision. This means that a connection cannot be made due to the limitation that only one packet can be processed at one input terminal.
기존의 라우팅 방식은 매 패킷을 연결할 때마다 입출력 연결 라우팅 방안을 수행하는 방식으로, 이는 매 패킷 별 라우팅을 찾기 위한 처리 시간의 지연이 발생하므로 전송 품질을 나쁘게 하는 요인으로 작용한다.The conventional routing method performs an I / O connection routing method for every packet connection, which causes a deterioration in transmission quality because of a delay in processing time to find routing for every packet.
상기한 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은 입력단에 유니캐스트 패킷 트래픽을 위한 여러 개의 VOQ(Virtual Output Queue : 가상 출력 대기 행렬, 이하 VOQ라 함) 이외에 별도의 멀티캐스트 트래픽을 위한 VOQ를 하나 갖는 구조의 VOQ 방식의 패킷 대기메모리 구조를 활용하고, 유니캐스트 패킷 연결 서비스를 위해서는 하나의 크로스바 스위치(cross-bar switch)를 사용하고 멀티캐스트 패킷 연결 서비스를 위해서는 복수 개의 버스(bus)를 활용하는 라우터 구조를 개발함으로써, 효율적인 멀티캐스트 패킷 연결 서비스를 해줄 뿐만 아니라, 유니캐스트 연결 서비스 처리 양의 감소로 인하여 전체적인 패킷 연결 서비스 처리 시간을 감소시키기 위한 것이다.An object of the present invention for solving the above problems of the prior art is a VOQ for separate multicast traffic in addition to a plurality of VOQ (Virtual Output Queue, VOQ) for unicast packet traffic at the input terminal It utilizes VOQ type packet standby memory structure with one structure, uses one cross-bar switch for unicast packet connection service, and uses multiple buses for multicast packet connection service. By developing a router structure to utilize, not only to provide an efficient multicast packet connection service, but also to reduce the overall packet connection service processing time by reducing the amount of unicast connection service processing.
또한 이러한 라우터에서의 총 패킷 처리 시간의 최소화를 위한 입출력단 간의 패킷 연결 설정 방법 및 연결 설정 장치를 개발하여 라우터의 이용률(utilization)을 향상시키고 전체 패킷 망에서의 빠른 서비스 처리를 해줄 수 있는 방법을 제공하는 것에 본 발명의 목적이 있다.In addition, we have developed a method of establishing a packet connection between the input and output terminals and a connection setting device for minimizing the total packet processing time in such a router to improve the utilization of the router and to provide fast service processing in the entire packet network. It is an object of the present invention to provide.
도 1은 본 발명의 일 실시예에 따른 고속 라우터의 기능별 구성도이다.1 is a functional diagram of a high speed router according to an embodiment of the present invention.
도 2는 도 1에 도시된 입력부의 구성도이다.2 is a block diagram of the input unit illustrated in FIG. 1.
도 3은 본 발명의 일 실시예에 따른 멀티케스트 패킷처리를 위한 라우터의 기능별 구성도이다.3 is a functional diagram of a router for multicast packet processing according to an embodiment of the present invention.
도 4는 패킷 연결 우선 순위 결정 시 이용되는 포트상태 정보 메시지의 구성도이다.4 is a configuration diagram of a port state information message used when determining packet connection priority.
도 5는 본 발명의 고속 라우터를 위한 패킷 설정 방식 절차도이다.5 is a flowchart illustrating a packet configuration method for a fast router according to the present invention.
도 6은 본 발명의 패킷 설정 방법을 수행하는 연결 설정 장치에 관한 기능별 구성도이다.6 is a functional diagram of a connection setting apparatus for performing a packet setting method of the present invention.
상기 목적을 달성하기 위한 본 발명은 다음과 같이 장치발명 및 방법발명을 포함한다. 방법 발명에 대하여, 우선 라우터의 패킷 입출력 설정 방법에 있어서는 스위칭 대상의 패킷이 존재하는 지의 여부를 확인하는 단계와 대상 패킷이 존재하는 경우에는 대기중인 모든 패킷을 연결하기 위한 최소 완료 시간을 계산하는 단계, 후술할 패킷상태 정보 메시지의 값을 조정하는 단계, 스위칭의 우선 연결 대상을 결정하는 단계와 그 후 가능한 최대한 양의 스위칭을 결정하는 단계를 포함하는 것을 특징으로 한다.The present invention for achieving the above object includes the invention and the method invention as follows. In the method invention, first, in the method of setting a packet input / output of a router, a step of checking whether a packet to be switched exists and a step of calculating a minimum completion time for connecting all pending packets if a target packet exists. Adjusting a value of a packet state information message to be described later, determining a priority connection target of switching, and then determining a maximum possible amount of switching.
그리고 라우팅 방법에 관해서는 전달될 정보를 입력받아 관리하는 입력 단계, 연결의 우선 순위를 결정하고 스위칭 순서를 결정하는 스위칭 단계, 그리고 전달되는 패킷을 출력하는 출력 단계를 포함하는 것을 특징으로 한다.The routing method may include an input step of receiving and managing information to be delivered, a switching step of determining a priority of a connection and a switching order, and an output step of outputting a forwarded packet.
또한 상기 방법발명과 더불어 장치 발명에 있어서는, 우선 라우터에 관해서는 유니캐스트 및 멀티캐스트 패킷이 전달될 출력단 정보를 저장하는 입력부와, 패킷의 연결 우선 순위를 결정하고 스위칭 순서를 결정하는 스위칭부, 그리고 전달되는 패킷을 출력하는 출력부를 포함하는 것을 특징으로 한다.In addition to the above-described method invention, in the device invention, a router first includes an input unit for storing output stage information to which unicast and multicast packets are delivered, a switching unit for determining a packet connection priority and a switching order, and And an output unit for outputting the transmitted packet.
이하, 첨부된 도면을 참조하면서 본 발명의 일 실시예에 따른 고속 라우터의 구조 및 입출력단 간의 패킷 연결 방법 및 연결 설정 장치를 보다 자세하게 설명하기로 한다.Hereinafter, a structure of a high speed router, a packet connection method between an input / output terminal, and a connection setting device will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 고속 라우터의 기능별 구성도이다. 도시된 바와 같이, 고속 라우터는 다수의 입력부(110)와 스위칭부(120), 다수의 출력부(130)로 구성되며, 스위칭부(120)는 하나의 연결설정부(121), 하나의 유니캐스트 패킷 스위칭부(122) 및 다수의 멀티캐스트 패킷 스위칭부(123)로 구성된다.1 is a functional diagram of a high speed router according to an embodiment of the present invention. As shown, the high-speed router is composed of a plurality of input unit 110, the switching unit 120, a plurality of output unit 130, the switching unit 120 is one connection setting unit 121, one uni It is composed of a cast packet switching unit 122 and a plurality of multicast packet switching unit 123.
다수의 입력부(110), 출력부(130)는 물리계층과 MAC(Media Access Control; 매체 접속 제어)계층의 접속 기능을 수행하며, 패킷 포워딩(forwarding)을 위한 검색(lookup) 및 버퍼링(buffering) 기능을 수행한다.The input unit 110 and the output unit 130 perform a connection function between a physical layer and a media access control (MAC) layer, and lookup and buffering for packet forwarding. Perform the function.
스위칭부(120)는 본 발명에 따른 하나의 패킷 연결 설정부(121)를 내장하고 있어서, 출력단과의 연결(connection)이 설정되면 스위칭 순서를 결정하는 중계(arbitration) 기능을 수행하고, 스위칭을 위한 스위칭 연결망을 집중적으로 제어 관리한다. 또한 패킷 설정 방안에 따라, 각 입력단에서 대기 중인 패킷 중, 하나를 선택하여 출력 단으로 각각 연결한다.The switching unit 120 has a built-in one packet connection setting unit 121 according to the present invention, and when the connection with the output terminal is established, performs a switching function to determine the switching order, and performs the switching Intensive control management of switching network. In addition, according to the packet setting method, one of the packets waiting at each input terminal is selected and connected to the output terminal, respectively.
도 2는 입력부(110)의 구성도로서, 도시된 바와 같이 입력부(110)는 포워딩 기능부(210)와 다수의 대기 메모리들(220)로 구성된다. 포워딩 기능부(210)는 입력단으로 패킷들이 들어오면, 패킷별 출력단을 구별한다. 만약, 패킷별 출력단을 구별하지 못하면 방송(broadcasting)의 형태로 하여 메모리 내의 VOQ 중 하나인 멀티캐스트 대기 메모리(222)에서 기다리도록 한다. 출력단이 i인 것으로 확인된 패킷은 VOQ 중 하나인 대기 메모리(221) i에서 기다리면서, 출력단인 i로 연결될 차례를 기다린다.2 is a configuration diagram of the input unit 110, and as shown, the input unit 110 includes a forwarding function unit 210 and a plurality of standby memories 220. The forwarding function unit 210 distinguishes the output stage for each packet when the packets enter the input terminal. If the output stage for each packet cannot be distinguished, it waits in the multicast standby memory 222 which is one of the VOQs in the memory in the form of broadcasting. The packet identified as output i is waiting in standby memory 221 i, which is one of VOQs, waiting for a turn to be connected to output i.
스위칭부를 구성하는 도 1의 유니캐스트 패킷 스위칭부(122)는 각 N개씩인 입력 및 출력단간 패킷 연결을 할 수 있도록 N×N 구조의 크로스바 스위치(cross-bar switch)를 이용한다. 멀티캐스트 패킷 스위칭부(123)는 도 3과 같은 구성을 가지는데, 각 입력단별로 마련되어 있는 멀티캐스트 패킷용 대기 메모리(222)에 Y개의 버스(310)가 연결되어 있는 구조를 갖는다. 멀티캐스트 패킷 대기 메모리 i에서 대기중인 패킷은 본 발명의 패킷 연결 설정 방법에 의해 결정된 연결 순서대로 Y개의 버스(310) 중 하나를 통해 원하는 출력단(130)으로 전달된다.The unicast packet switching unit 122 of FIG. 1 constituting the switching unit uses an N × N cross-bar switch to enable packet connection between N input and output terminals. The multicast packet switching unit 123 has the configuration as shown in FIG. 3, and has a structure in which Y buses 310 are connected to the multicast packet standby memory 222 provided for each input terminal. Packets waiting in the multicast packet standby memory i are delivered to the desired output terminal 130 through one of the Y buses 310 in the connection order determined by the packet connection establishment method of the present invention.
출력부(130)는 유니캐스트 패킷을 위한 입력단과 멀티캐스트 패킷을 위한 입력단이 각각 1개씩 연결되어 있는 구조를 취함으로써, 유니캐스트 패킷의 입력단에서 오는 패킷은 연결 요구가 오는 대로 출력단으로 연결을 설정하지만, 멀티캐스트 패킷 입력단에서 들어오는 패킷들에 대해서는 자신의 출력단으로의 패킷인 지의 여부를 확인하여, 자신으로의 출력 패킷이면 자신의 출력단으로 연결을 수행하고, 그렇지 않으면 그 패킷을 버린다.The output unit 130 has a structure in which an input terminal for a unicast packet and an input terminal for a multicast packet are connected to each other, so that a packet coming from an input terminal of a unicast packet is established as an output terminal as a connection request comes in. However, for packets coming from the multicast packet input end, it checks whether it is a packet to its output end, and if it is an output packet to itself, it connects to its output end, otherwise discards the packet.
본 발명에서는 한 타임 슬롯 당 특정 출력단으로의 연결요청은 유니캐스트 패킷 또는 멀티캐스트 패킷 중 많아야 하나의 패킷만 연결 요청이 되는 연결설정부(121)를 가지므로 유니캐스트 패킷과 멀티캐스트 패킷이 같은 시점에 같은 출력단으로의 연결 요청에 따른 출력단 충돌(output port conflict) 현상이 발생하지 않는다.In the present invention, since a connection request to a specific output terminal per one time slot has a connection setting unit 121 in which at least one packet of the unicast packet or the multicast packet is a connection request, the unicast packet and the multicast packet are the same time. The output port conflict does not occur due to the connection request to the same output.
여기서, 패킷 연결 우선 순위의 결정을 위하여 연결설정부(121)에 사용되는 메시지에 대하여 알아보면 다음과 같다. 도 4는 패킷 연결 우선 순위 결정 시 사용되는 포트상태 정보 메시지(PrtState)의 구성도이다.Here, the message used in the connection setting unit 121 to determine the packet connection priority is as follows. 4 is a configuration diagram of a port state information message (PrtState) used when determining packet connection priority.
도시된 바와 같이, 포트상태 정보는 포워딩 엔진을 통해서 각 출력 단이 확인된 패킷이 각 입력 단의 VOQ에서 대기중인 상태를 관리하기 위한 것으로, 각 입력단 i에서 출력단 j로 연결을 기다리고 있는 패킷의 개수인 패킷상태 정보 메시지 NumPacket[i][j]을 메모리에 기록 관리한다. 도 4는 32X32 크로스바 스위치 구조에 대한 실시예를 나타낸 것으로, 각각의 VOQ에서 대기중인 패킷의 개수를 1바이트로 표현하여 관리하면서, 패킷 연결 설정을 위해 이용한다.As shown in the figure, the port state information is for managing the state in which the packets identified by each output terminal are waiting in the VOQ of each input terminal through the forwarding engine, and the number of packets waiting for connection from each input terminal i to the output terminal j. The packet status information message NumPacket [i] [j] in the memory. FIG. 4 shows an embodiment of a 32X32 crossbar switch structure. The number of packets waiting in each VOQ is represented by one byte and used for establishing a packet connection.
도 5는 본 발명의 일 실시예에 따른 패킷 교환망에 사용되는 고속 라우터를 위한 입출력단 간의 패킷 연결 방법을 도시한 흐름표이다.5 is a flowchart illustrating a packet connection method between input and output terminals for a high speed router used in a packet switching network according to an embodiment of the present invention.
우선, 고속 라우터는 스케쥴링 시점이나 새로운 패킷의 도착 또는 패킷의 출력을 기다리는 대기 상태(510)에 머무르면서 새로운 패킷이 수신되었는지 또는 대기 패킷이 출력되었는 지를 확인한다(520). 확인 결과, 입력단 i의 VOQ j에 새로운 패킷이 수신되었으면, 도 4의 패킷상태 정보 메시지를 NumPacket[i][j]= NumPacket[i][j]+1로 갱신하고(521), VOQ에서 하나의 패킷이 해당 출력단 j로 출력 되었으면, 패킷상태 정보 메시지를 NumPacket[i][j]=NumPacket[i][j]-1로 갱신한(521) 후 다시 기다린다.First, the high-speed router stays in a waiting state 510 waiting for a scheduling point or arrival of a new packet or output of a packet, and checks whether a new packet has been received or a waiting packet has been output (520). As a result, when a new packet is received at VOQ j of the input terminal i, the packet state information message of FIG. 4 is updated to NumPacket [i] [j] = NumPacket [i] [j] +1 (521), and one at VOQ. If the packet is outputted to the corresponding output terminal j, the packet status information message is updated to NumPacket [i] [j] = NumPacket [i] [j] -1 (521), and then waits again.
반면, 확인 결과, 새로운 패킷의 도착이나 패킷의 출력이 아니라,스케쥴링(scheduling) 시점이 되었으면, 패킷상태 정보 메시지를 이용하는 패킷 연결 스케쥴링을 수행한다. 즉, 일정 시간 T마다 스케쥴링을 하는 경우 이전 스케쥴링을 실시한 후 T만큼의 단위 시간이 경과했을 때 스케쥴링을 실시하고, 패킷상태 정보 메시지 NumPacket[i][j]의 값이 모두 0이 아니라면 패킷 연결 설정 대상이 존재(540)하는 것이므로 패킷 연결 스케쥴링을 수행하지만, 그렇지 않은 경우에는 다시 대기상태(510)에 머무른다.On the other hand, if the scheduling result is not the arrival of a new packet or the output of the packet, but a scheduling time, the packet connection scheduling using the packet status information message is performed. In other words, when scheduling every certain time T, scheduling is performed when T unit time elapses after the previous scheduling. If the value of the packet status information message NumPacket [i] [j] is not 0, the packet connection is set. Since the destination exists 540, packet connection scheduling is performed, but otherwise, the packet stays in the waiting state 510 again.
스위칭 대상이 존재하는 경우, 모든 대기 중인 패킷을 해당 출력단으로 출력하기 위하여 필요한 최소한도의 타임 슬롯의 수를 계산한다(541). 최소한도의 시간계산(541)은 Max{NumPacket[i][j]/N보다 큰 정수 중 제일 작은 정수,NumPacket[i][N+1]/Y보다 큰 정수 중 제일 작은 정수 ,NumPacket[i][j]} = B(B는 최소한의 시간)로 결정한다.If there is a switching target, the minimum number of time slots required to output all waiting packets to the corresponding output terminal is calculated (541). The minimum time calculation (541) is Max { The smallest integer greater than NumPacket [i] [j] / N, The smallest integer greater than NumPacket [i] [N + 1] / Y, NumPacket [i] [j]} = B (B is the minimum time)
대기중인 모든 패킷에 대한 해당 출력단으로의 연결을 계산된 최소 완료 시간인 B내에 완료하기 위해서는 먼저, 현재 대기중인 패킷상태 정보 메시지인 NumPacket[i][j] 값을 SNPacket[i][j] 값으로 두어(542) 패킷 연결 설정을 수행한다.In order to complete the connection to the corresponding output terminal for all waiting packets within the calculated minimum completion time B, first, the NumPacket [i] [j] value, which is the currently waiting packet status information message, is set to SNPacket [i] [j] value. 542 performs packet connection establishment.
패킷 연결 설정은 각 타임 슬롯에서 각 입출력단에서는 많아야 하나의 패킷만이 할당되어야 하는 제약을 만족하는 패킷 할당형태 선택의 편리함을 위하여SNPacket[i][j]=N×B가 되도록 SNPacket[i][j] 값에 가상의 패킷(dummy packet)을더해준다. 이러한 가상 패킷은 단지 패킷 연결 설정을 편리하게 하고자 하기 위한 것이므로 실제로 해당 출력단으로의 연결 서비스를 수행하지는 않는다.For the convenience of selecting packet allocation type that satisfies the constraint that only one packet should be allocated at each input / output terminal in each time slot. A dummy packet is added to the SNPacket [i] [j] value such that SNPacket [i] [j] = N × B. Since these virtual packets are just for convenience of packet connection establishment, they do not actually perform a connection service to the corresponding output terminal.
예를 들면, 주어진 SNPacket[i][j]의 값이이라면, 최소 완료 시간 계산(541)에 의해 B=22가 되고 SNPacket[i][j] 값의 조정(542) 과정에서로 가상의 패킷을 더한 후 다음 과정을 수행한다.For example, given the value of SNPacket [i] [j] If, then, B = 22 by the minimum completion time calculation 541 and during the adjustment 542 of the SNPacket [i] [j] value. After adding the virtual packet, perform the following steps.
패킷 연결 설정은 입력단 충돌 및 출력단 충돌이 발생하지 않도록 하기 위해 각 입력단에서는 많아야 한 개의 VOQ의 대기 패킷을 할당할 수 있다. 유니캐스트 패킷을 위한 출력단도 많아야 하나의 패킷만을 받아들일 수 있지만, 멀티캐스트 패킷을 위한 출력단에서는 최대 Y개의 패킷을 출력할 수 있다. 이러한 제약을 만족시키는 스위칭 우선 연결 대상을 결정한다(543).In order to prevent input collisions and output collisions, the packet connection configuration may allocate at most one waiting packet of VOQ at each input stage. The output stage for unicast packets can be accepted at most, but the output stage for multicast packets can output up to Y packets. A switching priority connection target that satisfies this constraint is determined (543).
예를 들면, 조정된 SNPacket[i][j]의 값인에 대하여와 같이 입력단1에서 출력단 1로, 입력단 2에서 멀티캐스트 출력단 2로, 입력단 3에서 출력단 2로 우선 연결을 시도할 수 있다. 여기서 'O'는 우선 연결 대상을 표시하고, 'X'는 우선 연결 대상이 아닌 것을 나타낸다.For example, the value of the adjusted SNPacket [i] [j] about As shown in FIG. 1, an attempt may be made to first connect from an input terminal 1 to an output terminal 1, an input terminal 2 to a multicast output terminal 2, and an input terminal 3 to an output terminal 2. Here, 'O' indicates a connection target first, and 'X' indicates that it is not a target connection.
다음으로는 결정한 스위칭 우선 연결 대상(543)에 대해 배당 가능한 최대 양을 배정하는데, 이 과정에서는 하나의 타임 슬롯에 많아야 하나의 패킷만 연결 처리가 가능하므로 모든 연결 대상에 연결 처리되는 양이 같도록 배정하는 것이 최대양의 배정이고 이로 인한 배정 후의 잔여 양을 계산한다(544).Next, the maximum amount that can be allocated is allocated to the determined switching priority connection target 543. In this process, only one packet can be handled in one time slot, so that the amount of connection processing to all connection targets is the same. The allocation is the maximum allocation and the remaining amount after allocation is calculated (544).
즉, 실시예의 스위칭 우선 연결 대상에 가능한 최대 양의 스위칭 결정(544)은 우선 연결 대상인 패킷 수 중 최소값인 10개 씩을 우선 연결 시키는 형태인으로 결정하고, 연결 아직 결정되지 않은 패킷 수를 {SNPacket[i][j]} - {우선연결 스위칭 패킷 수} =로 둔다.That is, the embodiment The maximum amount of the switching decision 544 possible for the switching priority connection target of the first priority is to connect the minimum of 10 packets among the priority packets. = {SNPacket [i] [j]}-{Priority Switching Packets} = Leave it as.
마지막으로, 스위칭 연결 대상 패킷이 존재하는 지 여부(550)를 확인하기 위해서는 현재의 SNPacket[i][j] 값이 모두 0인지의 여부를 확인하면 되는데, SNPacket[i][j] 값이 모두 0이라면 VOQ에서 대기 중인 모든 패킷에 대한 연결 설정을 완료한 상태이므로 다시 대기 상태(510)에 머무른다.Lastly, to check whether the switching target packet exists (550), whether the current SNPacket [i] [j] values are all 0 or not, the SNPacket [i] [j] values are all If it is 0, the connection setup for all packets waiting in the VOQ is completed and thus stays in the waiting state 510 again.
그러나, SNPacket[i][j] 값 중 하나라도 0이 아닌 것이 있다면, 아직 연결 설정이 안된 패킷이 존재하는 경우이므로 스위칭 우선 연결 대상을 결정하는 과정(543)부터 다시 수행하는 반복 과정을 거쳐서 최종적으로 대기상태(510)로 가는 과정을 수행함으로써 고속 라우터를 위한 효율적인 패킷 연결을 한다.However, if any one of the SNPacket [i] [j] values is not 0, there is a packet that has not been established yet. By performing the process to go to the standby state 510 to make an efficient packet connection for the high-speed router.
도 6은 본 발명의 패킷 입출력 설정 방법에 따른 입출력 연결 설정 장치의 구조도이다. 상기 도면에서 먼저, 스케쥴링 시점에 있어서 스위칭의 대상이 되는 패킷이 존재하는 지의 여부를 확인하는 확인부(610)가 있다. 이는 상기의 패킷상태 정보 메시지의 값 NumPacket[i][j]의 값을 조사하여 존재 여부를 판단한다.6 is a structural diagram of an input / output connection setting apparatus according to a packet input / output setting method of the present invention. In the drawing, first, there is a confirmation unit 610 that checks whether or not a packet to be switched at a scheduling time point exists. It examines the value of the value NumPacket [i] [j] of the packet state information message to determine whether it exists.
다음에는 최소 완료 시간의 계산부(620)가 있는데, 이는 상기의 단계에서 스위칭의 대상이 되는 패킷이 존재하는 경우에는 대기중인 모든 패킷에 대한 연결의 최소 완료 시간을 계산하는 역할을 담당한다.Next, there is a calculation unit 620 of the minimum completion time, which is responsible for calculating the minimum completion time of the connection for all waiting packets when there is a packet to be switched in the above step.
그 후에는 조정부(630)에서는 최소 완료 시간 내에 연결 설정을 수행하기 위하여, 현재 패킷상태 정보 메시지의 값을 SNPacket[i][j]으로 둔 후에, 상기와 같이 가상의 패킷을 더해주어 최대한의 양의 스위칭 결정을 수행하기 위해 준비하는 역할을 담당한다.After that, the adjustment unit 630 sets the value of the current packet state information message to SNPacket [i] [j] in order to perform connection establishment within the minimum completion time, and then adds a virtual packet as described above to maximize the amount. It plays the role of preparing to carry out the switching decision.
마지막으로는 스위칭의 결정부(640)가 있는데, 이는 상기와 같이 가능한 최대 양의 스위칭을 결정하는 기능을 수행한다.Finally, there is a determining unit 640 of switching, which performs the function of determining the maximum possible amount of switching as described above.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 후술할 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the following claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
이상과 같이 본 발명에 의하면, 각각의 입력 단에 별도의 멀티캐스트 용 VOQ를 마련하였고 이들 멀티캐스트 패킷 연결 서비스를 위한 다수의 버스를 스위칭 연결망(switch fabric)에 두는 구조를 갖는 라우터를 통하여 멀티캐스트 패킷에 대한 서비스를 효율적으로 수행할 수 있고, 멀티캐스트 패킷 처리를 위해 모든 유니캐스트 용 VOQ에 복사해서 처리함에 따른 기존 라우터의 처리 부담(load), 처리 시간 문제를 현저히 개선할 수 있으므로, 본 발명의 라우터 구조는 고속 패킷 망의 효율적인 패킷 연결 서비스를 위해 효과적으로 이용될 수 있다.As described above, according to the present invention, a multicast VOQ is provided at each input terminal and multicast is provided through a router having a structure in which a plurality of buses for these multicast packet connection services are placed in a switching fabric. The present invention is capable of efficiently servicing packets and significantly improving the processing load and processing time of existing routers by copying and processing all VOQs for unicast for multicast packet processing. Router structure can be effectively used for efficient packet connection service of high speed packet network.
그리고, 본 발명의 라우팅 방법, 패킷 설정 방법 및 연결 설정 장치는 본 발명의 라우터 구조에 적합한 패킷 연결 방안에 대한 것으로, VOQ에서 해당 출력 단으로의 연결을 대기 중인 모든 패킷을 대상으로 한 번에 연결 설정을 해주는 방식을 취함으로서 매 타임 슬롯 초기에 패킷 연결 설정을 위한 처리를 할 필요가 없고 해당 출력 단으로의 출력만 시키면 되므로 라우팅 방식이 단순해지는 효과가 있다.In addition, the routing method, the packet setting method, and the connection setting device of the present invention are related to a packet connection scheme suitable for the router structure of the present invention, and are connected to all packets waiting for a connection from the VOQ to a corresponding output terminal at a time. By taking the setting method, the routing method is simplified because it does not need to process the packet connection at the beginning of every time slot, and only outputs to the corresponding output stage.
또한 대기 중인 모든 패킷에 대한 정보를 함께 이용하여 최소의 시간 내에 해당 출력 단으로의 연결을 완료할 수 있는 패킷 연결 설정 방안을 제공하고 있으므로, 단위 시간 당 연결처리되는 패킷의 수(throughput)를 증대시키는 효과가 있다.In addition, it provides a packet connection setting method that can complete the connection to the corresponding output terminal in minimum time by using information on all waiting packets together, thus increasing the number of packets processed per unit time. It is effective to let.
더구나, 본 발명의 패킷 설정 방법에 의한 스위칭 방안은 한번 결정한 스위칭 방안에 대해 가능한 최대양의 패킷을 연결시킨 후 다른 방식의 스위칭 방안을 사용하는 형태로 입출력 단간 연결 스위칭을 수행하는 형태이므로, 스위칭 방식의 변경을 매 타임 슬롯마다 변경하지 않아도 되므로 빠른 시간 내에 해당 출력 단으로의 연결을 처리할 수 있는 효과도 있다.In addition, since the switching scheme according to the packet setting method of the present invention is connected to the maximum amount of packets possible with respect to the switching scheme determined once, the switching scheme between the input and output stages is performed in the form of using another switching scheme. This does not have to be changed every time slot, so the connection to the output stage can be handled quickly.
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0025629A KR100429907B1 (en) | 2002-05-09 | 2002-05-09 | Router and routing method for combined unicast and multicast traffic |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0025629A KR100429907B1 (en) | 2002-05-09 | 2002-05-09 | Router and routing method for combined unicast and multicast traffic |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030087745A KR20030087745A (en) | 2003-11-15 |
KR100429907B1 true KR100429907B1 (en) | 2004-05-03 |
Family
ID=32382194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0025629A Expired - Fee Related KR100429907B1 (en) | 2002-05-09 | 2002-05-09 | Router and routing method for combined unicast and multicast traffic |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100429907B1 (en) |
-
2002
- 2002-05-09 KR KR10-2002-0025629A patent/KR100429907B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20030087745A (en) | 2003-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9215094B2 (en) | Segmentation and reassembly of data frames | |
US6907041B1 (en) | Communications interconnection network with distributed resequencing | |
JP3846880B2 (en) | System and method for controlling multicast traffic in a data packet switch | |
JP4334760B2 (en) | Networking system | |
US7701849B1 (en) | Flow-based queuing of network traffic | |
US6147999A (en) | ATM switch capable of routing IP packet | |
EP1388235B1 (en) | Apparatus and methods for efficient multicassting of data packets | |
US5418781A (en) | Architecture for maintaining the sequence of packet cells transmitted over a multicast, cell-switched network | |
US20100238948A1 (en) | Packet switching system and method | |
JPH02239747A (en) | Atm exchange | |
US7016365B1 (en) | Switching fabric including a plurality of crossbar sections | |
JP3394504B2 (en) | Method and apparatus for maintaining packet order integrity in a parallel switching engine | |
JP2016501474A (en) | Distributed switchless interconnection | |
US12010023B2 (en) | Network congestion handling method and related apparatus | |
JP2016501475A (en) | Router for passive interconnection and distributed switchless switching | |
US20050047405A1 (en) | Switching device for controlling data packet flow | |
JP2002198993A (en) | Packet switch | |
US20050243825A1 (en) | Methods and systems for efficient multicast across a mesh backplane | |
JP2002158708A (en) | Switch device, communication device, and communication system | |
JP2015536621A (en) | Passive connectivity optical module | |
KR100429907B1 (en) | Router and routing method for combined unicast and multicast traffic | |
US6643702B1 (en) | Traffic scheduler for a first tier switch of a two tier switch | |
CN119155250A (en) | Message forwarding method, device, network equipment and storage medium | |
KR20020048498A (en) | Packet Connection Method for High speed Router of from Input port to Output port | |
JP2001086124A (en) | Method and circuit arrangement for selecting an ATM cell waiting in a queue |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20020509 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20040331 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20040421 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20040422 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20070328 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20080328 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20090402 Start annual number: 6 End annual number: 6 |
|
FPAY | Annual fee payment |
Payment date: 20100401 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20100401 Start annual number: 7 End annual number: 7 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |