KR101390092B1 - Network relay apparatus having virtual output queue and the control method thereof - Google Patents

Network relay apparatus having virtual output queue and the control method thereof Download PDF

Info

Publication number
KR101390092B1
KR101390092B1 KR1020110127641A KR20110127641A KR101390092B1 KR 101390092 B1 KR101390092 B1 KR 101390092B1 KR 1020110127641 A KR1020110127641 A KR 1020110127641A KR 20110127641 A KR20110127641 A KR 20110127641A KR 101390092 B1 KR101390092 B1 KR 101390092B1
Authority
KR
South Korea
Prior art keywords
multicast
data packet
unicast
queue
multicast data
Prior art date
Application number
KR1020110127641A
Other languages
Korean (ko)
Other versions
KR20130085463A (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 KR1020110127641A priority Critical patent/KR101390092B1/en
Publication of KR20130085463A publication Critical patent/KR20130085463A/en
Application granted granted Critical
Publication of KR101390092B1 publication Critical patent/KR101390092B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • 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/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin

Landscapes

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

Abstract

본 발명에 따른 네트워크 중계장치는 출력포트, 큐(queue)부, 입력포트, 스위칭부 및 제어부를 포함한다. 출력포트는 외부로 유니캐스트 데이터 패킷 및 멀티캐스트 데이터 패킷을 출력하고, N개(단, N은 2 이상의 정수)로 구비된다. 큐부는 외부로부터 수신된 유니캐스트 데이터 패킷이 저장되는 복수의 유니캐스트 큐(queue)와 외부로부터 수신된 멀티캐스트 데이터 패킷이 저장되는 복수의 멀티캐스트 큐를 구비한다. 입력포트는 상기 큐부로부터 상기 유니캐스트 데이터 패킷과 상기 멀티캐스트 데이터 패킷이 입력된다. 스위칭부는 상기 입력포트에 전기적으로 연결되는 입력라인과 상기 각각의 출력포트에 전기적으로 연결되는 복수의 출력라인이 교차하는 교차점 각각에 상기 유니캐스트 데이터 패킷 또는 상기 멀티캐스트 데이터 패킷이 저장되는 버퍼부를 구비한다. 제어부는 상기 멀티캐스트 큐에 저장될 멀티캐스트 데이터 패킷의 목적 출력포트 집합(fanout set)을 하위집합으로 분할한다.
본 발명에 따르면, 유니캐스트 트래픽과 멀티캐스트 트래픽이 동시에 존재하는 경우 유니캐스트 트래픽의 처리율을 저하시키지 않으면서 멀티캐스트 데이터 패킷의 트래픽 처리율을 증가시며 해당 네트워크 중계장치의 사용률(unilization)을 높이는 효과가 있다.
A network relay apparatus according to the present invention includes an output port, a queue unit, an input port, a switching unit, and a control unit. The output port outputs unicast data packets and multicast data packets to the outside, and N (where N is an integer of 2 or more) are provided. The queue unit includes a plurality of unicast queues storing unicast data packets received from the outside and a plurality of multicast queues storing the multicast data packets received from the outside. The input port receives the unicast data packet and the multicast data packet from the queue unit. The switching unit may include a buffer unit in which the unicast data packet or the multicast data packet is stored at each of the intersections where input lines electrically connected to the input port and a plurality of output lines electrically connected to the output ports cross each other do. The controller divides the target output port set (fanout set) of the multicast data packet to be stored in the multicast queue into a subset.
According to the present invention, when unicast traffic and multicast traffic exist at the same time, it increases the traffic throughput of the multicast data packet without lowering the throughput of the unicast traffic and increases the unilization of the network relay apparatus have.

Description

가상출력대기행렬 구조를 구비한 네트워크 중계장치 및 그 제어방법{Network relay apparatus having virtual output queue and the control method thereof}[0001] The present invention relates to a network relay apparatus having a virtual output queue structure and a control method thereof,

본 발명은 가상출력대기행렬 구조를 구비한 네트워크 중계장치 및 그 제어방법에 관한 것으로서, 보다 상세하게는 멀티캐스트 트래픽 처리 성능이 향상된 가상출력대기행렬 구조를 구비한 네트워크 중계장치와 이를 제어하는 방법에 관한 것이다.
The present invention relates to a network relay apparatus having a virtual output queue structure and a control method thereof, and more particularly, to a network relay apparatus having a virtual output queue structure with improved multicast traffic processing performance and a method of controlling the same .

통신 방식으로서 유니캐스트, 멀티캐스트 및 브로드캐스트 등을 예로 들 수 있다. 유니캐스트 방식은 현재 네트워크 상에서 가장 많이 사용되는 방식으로서 맥(MAC) 기반으로 상대측 IP주소를 목적지로 하는 일대일 통신방식이다. 즉, 유니캐스트 전송방식은 하나의 송신자가 다른 하나의 수신자로 데이터를 전송하는 방식으로 일반적인 인터넷 응용프로그램들 대다수가 이러한 유니캐스트 방식을 사용하고 있다. 다만, 그룹 통신을 위하여 유니 캐스트 전송방식을 이용하여 다수의 수신자들에게 동일한 데이터를 전송하는 경우에는 전송하고자 하는 데이터 패킷을 다수의 수신자에게 중복하여 전송해야 하므로 네트워크 효율이 저하된다. Examples of the communication method include unicast, multicast, and broadcast. The unicast method is a one-to-one communication method based on the MAC (MAC) based on the destination IP address as the most used method in the present network. That is, in a unicast transmission scheme, one sender transmits data to another recipient, and most of the general Internet application programs use this unicast scheme. However, when the same data is transmitted to a plurality of receivers using a unicast transmission scheme for group communication, the network efficiency is lowered because the data packet to be transmitted is transmitted to a plurality of receivers redundantly.

멀티캐스트 전송방식은 하나 이상의 송신자들이 특정한 하나 이상의 수신자들에게 데이터를 전송하는 방식이다. 멀티캐스트 전송을 위한 그룹 주소는 D Class IP 주소 (224.0.0.0 ~ 239.255.255.255)로 실제의 호스트를 나타내는 주소가 아니며, 그룹 주소를 갖는 멀티캐스트 패킷을 전송받은 수신자는 자신이 패킷의 그룹에 속해있는 가를 판단해 패킷의 수용여부를 결정하게 된다.A multicast transmission scheme is one in which one or more senders transmit data to one or more particular recipients. The group address for multicast transmission is a D Class IP address (224.0.0.0 ~ 239.255.255.255), which is not an address representing a real host. A recipient who receives a multicast packet with a group address belongs to a group of packets And determines whether to accept the packet.

한편, 가상출력대기행렬(VOQ; Virtual Output Queue)은 이러한 유니캐스트 및 멀티캐스트 전송을 위한 인터넷 망의 라우터 또는 스위치와 같은 신호 전달 제어 장치의 일 구조로서, 입력 포트로 도착한 데이터 패킷을 출력 포트로 스위칭하는 경우에 발생하는 HOL 블로킹(Head Of Line Blocking) 문제를 해결하기 위한 것이다.
Meanwhile, a virtual output queue (VOQ) is a structure of a signal transmission control device such as a router or a switch of the Internet network for such unicast and multicast transmission. The virtual output queue VOQ To solve the HOL blocking (Head Of Line Blocking) problem that occurs when switching.

도 1을 참조하여 종래의 유니캐스트 데이터 패킷의 전송을 위한 가상출력대기행렬 구조를 갖는 네트워크 중계장치를 설명한다. 도 1은 유니캐스트 데이터 패킷의 전송을 위한 가상출력대기행렬 구조를 갖는 네트워크 중계장치를 나타내는 블록도이다.A network relay apparatus having a virtual output queue structure for transmission of a conventional unicast data packet will be described with reference to FIG. 1 is a block diagram illustrating a network relay apparatus having a virtual output queue structure for transmission of unicast data packets.

종래의 가상출력대기행렬 구조를 갖는 네트워크 중계장치(100)는 외부로부터 유니캐스트 데이터 패킷을 수신하는 M개의 입력 포트(110), 수신된 유니캐스트 데이터 패킷을 외부로 출력하는 N개의 출력 포트(120)를 구비한다. 또한, 각각의 입력 포트(110)에는 출력 포트(120)의 개수(N개)만큼의 큐(Queue)(142)를 포함하는 큐부(Queue Unit)(140)가 연결되어 있다. 각 큐(142)에는 수신된 데이터 패킷이 셀(Cell) 단위로 저장된다. 이 때 N개의 큐(142) 각각은 N개의 출력포트 각각과 대응하도록 구비된다.A network relay apparatus 100 having a conventional virtual output queue structure includes M input ports 110 for receiving unicast data packets from the outside, N output ports 120 for outputting received unicast data packets to the outside . Each of the input ports 110 is connected to a queue unit 140 including a number of queues 142 corresponding to the number of output ports 120 (N). In each queue 142, received data packets are stored in units of cells. At this time, each of the N queues 142 is provided so as to correspond to each of the N output ports.

한편, M개의 입력 포트(110) 및 N개의 출력 포트(120) 사이에서 스위칭을 수행하는 스위칭 패브릭(Switching Fabric)(130)을 구비한다. 이 때 스위칭 패브릭(130) 내에는 M개의 입력 포트와 연결된 입력 라인과 N개의 출력 포트와 연결된 출력 라인이 서로 교차하는 M x N 개의 교차 지점(Cross Point)(131)이 존재한다.Meanwhile, a switching fabric 130 that performs switching between the M input ports 110 and the N output ports 120 is provided. At this time, M x N cross points 131 where an input line connected to M input ports and an output line connected to N output ports cross each other exist in the switching fabric 130.

이와 같이, 종래의 가상출력대기행렬 구조를 갖는 네트워크 중계장치(100)는 각각의 입력 포트(110) 마다 각각의 출력 포트(120)를 위한 큐(142)를 구비하고 있기 때문에 HOL 블로킹 문제를 해결할 수 있으나, 멀티캐스트 데이터 패킷 신호의 전달하기에는 효율이 저하되는 문제점이 있었다.
As described above, the network relay apparatus 100 having the conventional virtual output queue structure has a queue 142 for each output port 120 for each input port 110, thereby solving the HOL blocking problem However, there is a problem that the efficiency of transmitting a multicast data packet signal is lowered.

도 2를 참조하여 종래의 유니캐스트 및 멀티캐스트 데이터 패킷의 전송을 위한 가상출력대기행렬 구조를 갖는 네트워크 중계장치를 설명한다. 도 2는 유니캐스트 및 멀티캐스트 데이터 패킷의 전송을 위한 가상출력대기행렬 구조를 갖는 네트워크 중계장치를 나타내는 블록도이다.A network relay apparatus having a virtual output queue structure for transmission of conventional unicast and multicast data packets will be described with reference to FIG. 2 is a block diagram illustrating a network relay apparatus having a virtual output queue structure for the transmission of unicast and multicast data packets.

종래의 유니캐스트 및 멀티캐스트 데이터 패킷의 전송을 위한 가상출력대기행렬 구조를 갖는 네트워크 중계장치(200)는 유니캐스트 데이터 패킷 신호 및 멀티캐스트 데이터 패킷 신호의 전달을 모두 제어하기 위한 것이다. 입력 포트(210)에 연결된 큐부(240)의 구조를 제외하고는 앞서 설명한 도 1의 네트워크 중계장치 (100; 도 1 참조)와 동일한 구조를 갖는다.The network relay apparatus 200 having a virtual output queue structure for transmission of conventional unicast and multicast data packets is for controlling both the delivery of the unicast data packet signal and the transmission of the multicast data packet signal. And has the same structure as the network relay apparatus 100 (see FIG. 1) of FIG. 1 described above, except for the structure of the queue unit 240 connected to the input port 210.

큐부(240)는 유니캐스트 데이터 패킷을 저장하기 위한 유니캐스트 큐부(242)와 멀티캐스트 데이터 패킷을 저장하기 위한 멀티캐스트 큐부(244)로 구성된다. 유니캐스트 큐부(242)는 도 1에 도시된 큐부(140)과 동일한 구성 및 기능을 갖는다.The queue unit 240 includes a unicast queue unit 242 for storing unicast data packets and a multicast queue unit 244 for storing multicast data packets. The unicast queue unit 242 has the same configuration and function as the queue unit 140 shown in FIG.

멀티캐스트 큐부(244)는 복수의 출력 포트(220)를 목적 출력 포트로 하는 멀티캐스트 데이터 패킷을 저장하는데, 하나의 멀티캐스트 데이터 패킷이 가질 수 있는 출력 포트(220)의 조합의 경우의 수는 2N-1이다. 따라서 HOL 블로킹 문제를 완전히 해결하기 위해서는 멀티캐스트 큐부(244)는 2N-1개의 멀티캐스트 큐(2442)를 포함하여야 하므로 멀티캐스트 큐(2442)의 개수는 출력 포트(220)의 개수(N값)의 증가에 따라 기하급수적으로 증가하게 되는 문제가 발생한다.The multicast queue unit 244 stores a multicast data packet having a plurality of output ports 220 as a target output port. The number of cases of a combination of the output ports 220 that one multicast data packet can have is 2 N-1 . Therefore, in order to completely solve the HOL blocking problem, the multicast queue unit 244 must include 2N-1 multicast queues 2442, so that the number of the multicast queues 2442 is the number of the output ports 220 ), The problem is that it increases exponentially.

한편, 멀티캐스트 큐의 수를 줄이기 위하여 앞서 설명한 스위칭 패브릭 내의 교차 지점마다 데이터 패킷이 저장될 수 있는 버퍼를 구비하는 방식이 제안되기도 했으나, 멀티캐스트 데이터 패킷은 목적 출력 포트가 2개 이상 존재하므로, 목적 출력 포트들과 연결된 2개 이상의 버퍼에 모두 잔여 저장 공간이 존재하는 경우에만 멀티캐스트 데이터 패킷이 해당 버퍼(334)에 저장될 수 있게 된다. 이러한 이유로 유니캐스트 셀이 교차점에 구비된 버퍼를 점유할 확률이 매우 높아짐으로써 멀티캐스트 트래픽의 처리율이 낮아지고 지연시간(delay)은 크게 증가하는 문제점이 발생한다.
In order to reduce the number of multicast queues, a method has been proposed in which a buffer capable of storing data packets is stored at each crossing point in the switching fabric. However, since there are two or more destination ports in a multicast data packet, The multicast data packet can be stored in the corresponding buffer 334 only when there is remaining storage space in two or more buffers connected to the destination output ports. For this reason, the probability that a unicast cell occupies a buffer provided at an intersection becomes very high, so that the throughput of the multicast traffic is lowered and the delay time is greatly increased.

본 발명의 과제는 유니캐스트 데이터 패킷과 멀티캐스트 데이터 패킷에 의한 트래픽 모두를 효과적으로 처리할 수 있는 가상출력대기행렬 구조 및 이를 제어하는 방법을 제공하는 데 있다.It is an object of the present invention to provide a virtual output queue structure and a method of controlling the same, which can effectively handle both traffic caused by unicast data packets and multicast data packets.

특히 본 발명의 과제는 유니캐스트 데이터 패킷의 트래픽 처리율을 저해하지 않으면서 멀티캐스트 데이터 패킷의 트래픽 처리율을 높힘으로써 HOL 블로킹(Head of line bloking) 현상을 방지하고 멀티캐스트 트래픽의 시간지연(delay)을 효과적으로 줄일 수 있는 수단 및 그 제어방법을 제공하는 데 있다.
In particular, it is an object of the present invention to prevent the HOL blocking phenomenon by enhancing the traffic throughput of a multicast data packet without hindering the traffic throughput of the unicast data packet and to prevent the delay of the multicast traffic And a control method thereof.

본 발명에 따른 네트워크 중계장치는 출력포트, 큐(queue)부, 입력포트, 스위칭부 및 제어부를 포함한다.A network relay apparatus according to the present invention includes an output port, a queue unit, an input port, a switching unit, and a control unit.

출력포트는 외부로 유니캐스트 데이터 패킷 및 멀티캐스트 데이터 패킷을 출력한다. 출력포트는 N개(단, N은 2 이상의 정수) 구비된다. The output port outputs a unicast data packet and a multicast data packet to the outside. N output ports (N is an integer of 2 or more) are provided.

큐(queue)부는 외부로부터 수신된 유니캐스트 데이터 패킷이 저장되는 복수의 유니캐스트 큐(queue)와 외부로부터 수신된 멀티캐스트 데이터 패킷이 저장되는 복수의 멀티캐스트 큐를 구비한다.The queue unit includes a plurality of unicast queues storing unicast data packets received from the outside and a plurality of multicast queues storing the multicast data packets received from the outside.

입력포트는 상기 큐부로부터 상기 유니캐스트 데이터 패킷과 상기 멀티캐스트 데이터 패킷이 입력된다.The input port receives the unicast data packet and the multicast data packet from the queue unit.

스위칭부는 상기 입력포트에 전기적으로 연결되는 입력라인과 상기 각각의 출력포트에 전기적으로 연결되는 복수의 출력라인이 교차하는 교차점 각각에 상기 유니캐스트 데이터 패킷 또는 상기 멀티캐스트 데이터 패킷이 저장되는 버퍼부를 구비한다.The switching unit may include a buffer unit in which the unicast data packet or the multicast data packet is stored at each of the intersections where input lines electrically connected to the input port and a plurality of output lines electrically connected to the output ports cross each other do.

제어부는 상기 멀티캐스트 큐에 저장될 멀티캐스트 데이터 패킷의 목적 출력포트 집합(fanout set)을 하위집합으로 분할하고, 해당 하위집합을 목적 출력포트 집합으로 하는 다수의 멀티캐스트 데이터 패킷을 생성한다.The controller divides a target output port set (fanout set) of a multicast data packet to be stored in the multicast queue into a subset, and generates a plurality of multicast data packets having the corresponding subset as a target output port set.

또한 상기 제어부는 라운드 로빈 분할방식(round robin assignment), 모듈로 분할방식(modulo assignment) 중 어느 하나에 의하여 상기 멀티캐스트 큐를 분할할 수 있다.Also, the controller may divide the multicast queue by a round robin assignment method or a modulo assignment method.

또한 상기 멀티캐스트 큐는 K개(단, K는 1 < K < N인 정수) 구비될 수 있다.The number of the multicast queues may be K (K is an integer of 1 < K < N).

또한 상기 제어부는 하기 식 1 내지 식 4에 의한 함수 f(NDV)값이 최대값을 갖는 상기 NDV값을 멀티캐스트 데이터 패킷의 목적 출력포트 집합을 분할할 최적의 하위집합의 수로 설정할 수 있다.Also, the controller may set the N DV value having the maximum value of the function f (N DV ) by the following Equations 1 to 4 as the optimal number of sub-sets to divide the target output port set of the multicast data packet .

식 1:

Figure 112011095629298-pat00001
Equation 1:
Figure 112011095629298-pat00001

식 2:

Figure 112011095629298-pat00002
Equation 2:
Figure 112011095629298-pat00002

식 3:

Figure 112011095629298-pat00003
Equation 3:
Figure 112011095629298-pat00003

식 4:

Figure 112011095629298-pat00004
Equation 4:
Figure 112011095629298-pat00004

(단, NDV는 분할하는 하위 집합의 개수, Ndest는 멀티캐스트 데이터 패킷의 목적 출력포트 집합의 원소의 개수, λm은 입력포트에서 멀티캐스트 셀의 도달률(arrival rate), ρCB는 교차점 버퍼의 트래픽 부하(traffic load), L은 교차점 버퍼에 저장 될 수 있는 셀의 최대 개수, λu는 입력 포트에서의 유니캐스트 셀의 도달률, N은 출력 포트의 수, μCB는 교차점의 서비스율(service rate))(Where, N DV is a number, N dest is Reach (arrival rate), ρ CB of the multicast cells in number, λ m is the input port of the multicast set of objective output port of the data packet elements of a subset of dividing the intersection L is the maximum number of cells that can be stored in the intersection buffer, λ u is the unicast cell reaching rate at the input port, N is the number of output ports, μ CB is the service rate of the intersection point (service rate)

또한 상기 입력포트는 M개(M은 2 이상의 정수)로 형성될 수 있다. 이 때 상기 스위칭부는 (MⅹN)개의 교차점이 형성된다.The input ports may be formed of M (M is an integer of 2 or more). At this time, (M x N) number of intersections are formed in the switching unit.

한편, 제1항 내지 제5항 중 어느 한 항에 의한 네트워크 중계장치를 제어하는 방법은 다음과 같은 단계를 포함한다.The method for controlling the network relay apparatus according to any one of claims 1 to 5 includes the following steps.

제 1단계에서는 입력되는 데이터 패킷이 유니캐스트 방식인지 멀티캐스트 방식인지 판단한다.In the first step, it is determined whether the incoming data packet is unicast or multicast.

제2 단계에서는 입력되는 데이터 패킷이 유니캐스트 방식인 경우 해당 데이터 패킷을 목적 출력포트에 대응하는 유니캐스트 큐에 저장하고, 입력되는 데이터 패킷이 멀티캐스트 방식인 경우 해당 데이터 패킷의 목적 출력포트 집합을 하위 집합으로 분할하여 멀티캐스트 큐에 저장한다.In the second step, if the input data packet is a unicast method, the corresponding data packet is stored in a unicast queue corresponding to the destination output port. If the input data packet is a multicast method, Subset, and stores them in the multicast queue.

제3 단계에서는 상기 유니캐스트 데이터 패킷의 목적 출력포트 및 상기 멀티캐스트 데이터 패킷의 목적 출력포트 하위집합을 참조하여 비점유된 버퍼부에 상기 유니캐스트 데이터 패킷 또는 상기 멀티캐스트 데이터 패킷을 저장한다.
In the third step, the unicast data packet or the multicast data packet is stored in the unoccupied buffer unit with reference to the target output port of the unicast data packet and the target output port subset of the multicast data packet.

본 발명에 따르면, 스위칭부(스위칭 패브릭) 내의 교차점에 버퍼를 구비함으로써 입력포트에 구비된 멀티캐스트 큐의 수를 감소시키면서도 멀티캐스트 데이터 패킷의 목적 출력포트 집합(fanout set)을 분할 제어함으로써 멀티캐스트 데이터 패킷의 트래픽 처리율을 높이고 지연시간을 줄일 수 있다.According to the present invention, by providing a buffer at an intersection point within a switching unit (switching fabric), a target output port set (fanout set) of a multicast data packet is divided and controlled while reducing the number of multicast queues provided at an input port, The traffic throughput of the data packet can be increased and the delay time can be reduced.

또한 본 발명에 따르면, 멀티캐스트 데이터 패킷의 목적 출력포트 집합이 최적의 수로 분할가능 하도록 제어함으로써 멀티캐스트 데이터 패킷의 트래픽 처리율을 보다 향상시킬 수 있다.Further, according to the present invention, the traffic throughput of the multicast data packet can be further improved by controlling the target output port set of the multicast data packet to be divisible by the optimum number.

결론적으로 본 발명에 따르면, 유니캐스트 트래픽과 멀티캐스트 트래픽이 동시에 존재하는 경우 유니캐스트 트래픽의 처리율을 저하시키지 않으면서 멀티캐스트 데이터 패킷의 트래픽 처리율을 증가시며 해당 네트워크 중계장치의 사용률(unilization)을 높이는 효과가 있다.
As a result, according to the present invention, when the unicast traffic and the multicast traffic exist simultaneously, the traffic throughput of the multicast data packet is increased without lowering the throughput of the unicast traffic and the unilization of the network relay apparatus is increased It is effective.

도 1은 유니캐스트 데이터 패킷의 전송을 위한 가상출력대기행렬 구조를 갖는 네트워크 중계장치를 나타내는 블록도이다.
도 2는 유니캐스트 및 멀티캐스트 데이터 패킷의 전송을 위한 가상출력대기행렬 구조를 갖는 네트워크 중계장치를 나타내는 블록도이다.
도 3은 일 실시예에 따른 유니캐스트 및 멀티캐스트 데이터 패킷의 전송을 위한 가상출력대기행렬 구조를 갖는 네트워크 중계장치를 나타내는 블록도이다.
도 4는 일 실시예에 따른 유니캐스트 및 멀티캐스트 데이터 패킷의 전송을 위한 가상출력대기행렬 구조를 갖는 네트워크 중계장치를 전체구성을 개략적으로 나타내는 블록도이다.
도 5는 일 실시예에 따른 멀티캐스트 데이터 패킷의 목적 출력포트 집합을 하위집합으로 분할하는 모습을 나타내는 개략도이다.
도 6은 멀티캐스트 데이터 패킷의 목적 출력포트 집합을 하위집합으로 분할하는 경우 최적의 하위집합 수를 산출하는 프로세스를 나타내는 순서도이다.
1 is a block diagram illustrating a network relay apparatus having a virtual output queue structure for transmission of unicast data packets.
2 is a block diagram illustrating a network relay apparatus having a virtual output queue structure for the transmission of unicast and multicast data packets.
3 is a block diagram illustrating a network relay apparatus having a virtual output queue structure for transmission of unicast and multicast data packets according to an embodiment;
4 is a block diagram schematically showing the overall configuration of a network relay apparatus having a virtual output queue structure for transmission of unicast and multicast data packets according to an embodiment.
FIG. 5 is a schematic diagram illustrating the division of a set of destination output ports of a multicast data packet into a subset according to one embodiment.
6 is a flow diagram illustrating a process for computing the optimal number of sub-sets when a set of destination ports of a multicast data packet is divided into sub-sets.

이하 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다. 특별한 정의나 언급이 없는 경우에 본 설명에 사용하는 방향을 표시하는 용어는 도면에 표시된 상태를 기준으로 한다. 또한 각 실시예를 통하여 동일한 도면부호는 동일한 부재를 가리킨다.
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the absence of special definitions or references, the terms used in this description are based on the conditions indicated in the drawings. The same reference numerals denote the same members throughout the embodiments.

본 발명에 따른 네트워크 중계장치는 출력포트, 큐(queue)부, 입력포트, 스위칭부 및 제어부를 주요 구성으로 포함한다.The network relay apparatus according to the present invention includes an output port, a queue unit, an input port, a switching unit, and a control unit.

도 3을 참조하여 입력포트(310), 큐부(340), 출력포트(320) 및 스위칭부(330)에 대하여 설명한다. 도 3은 일 실시예에 따른 유니캐스트 및 멀티캐스트 데이터 패킷의 전송을 위한 가상출력대기행렬 구조를 갖는 네트워크 중계장치를 나타내는 블록도이다.The input port 310, the queue unit 340, the output port 320, and the switching unit 330 will be described with reference to FIG. 3 is a block diagram illustrating a network relay apparatus having a virtual output queue structure for transmission of unicast and multicast data packets according to an embodiment;

본 실시예에서는 총 M개의 입력포트(310)와 N개의 출력포트(320)를 구비한다. 이 때 M과 N은 2 이상의 정수이다. 입력포트(310)에는 유니캐스트 데이터 패킷과 멀티캐스트 데이터 패킷이 입력된다. 출력포트(320)는 외부 네트워크로 유니캐스트 데이터 패킷과 멀티캐스트 데이터 패킷을 출력한다.In the present embodiment, a total of M input ports 310 and N output ports 320 are provided. At this time, M and N are integers of 2 or more. A unicast data packet and a multicast data packet are input to the input port 310. The output port 320 outputs a unicast data packet and a multicast data packet to the external network.

큐(340; queue)부는 외부 네트워크로부터 수신된 유니캐스트 데이터 패킷과 멀티캐스트 데이터 패킷이 입력포트(310)로 입력되기 전 임시로 저장되는 구성이다. 큐부(340)는 유니캐스트 큐부(342)와 멀티캐스트 큐부(344)를 포함한다.The queue 340 is a configuration in which unicast data packets and multicast data packets received from the external network are temporarily stored before being input to the input port 310. The queue unit 340 includes a unicast queue unit 342 and a multicast queue unit 344.

유니캐스트 큐부(342)에는 입력된 데이터 패킷 중 유니캐스트 데이터 패킷이 저장된다. 유니캐스트 큐부(342)는 출력 포트(320)의 개수(N개) 만큼의 유니캐스트 큐(3422, Queue)를 구비한다. 이 때, N개의 유니캐스트 큐(3422)는 물리적으로 구분되는 큐일 수도 있고, 논리적으로 구분되는 큐(가상 큐)일 수도 있다. 또한 유니캐스트 큐(342)에는 입력된 유니캐스트 데이터 패킷이 셀(Cell) 단위로 저장된다.The unicast queue unit 342 stores unicast data packets among the input data packets. The unicast queue unit 342 includes unicast queues 3422 (Queue) as many as the number of output ports 320 (N). In this case, the N unicast queues 3422 may be physically separated queues or logically separated queues (virtual queues). In the unicast queue 342, the input unicast data packet is stored in units of cells.

N개의 유니캐스트 큐(142) 각각은 N개의 출력포트(320)에 매칭된다. 즉, 외부로부터 수신된 유니캐스트 데이터 패킷은 목적 출력 포트가 어디인지에 따라 해당 출력 포트와 대응하는 유니캐스트 큐(3422)에 임시로 저장된다. 예를들어 입력 포트 1로 수신된 유니캐스트 데이터 패킷의 목적 출력 포트가 출력 포트 3인 경우, 수신된 유니캐스트 데이터 패킷은 입력 포트 1과 연결된 유니캐스트 큐(3422) 중 세번째 큐에 셀 단위로 저장된다. 이와 같이, 가상출력 대기행렬(VOQ) 구조의 네트워크 중계장치(300)는 각각의 입력 포트(310) 마다 각각의 출력 포트(320)를 위한 큐(3422)를 구비하고 있기 때문에 출력 포트(120)의 사용에 따른 HOL(head of line) 블로킹 문제를 해결할 수 있다. 이 때, 전체 전체의 입력포트에 연결된 유니캐스트 큐(3422)의 개수는 (M x N)개가 된다.Each of the N unicast queues 142 is matched to N output ports 320. That is, the unicast data packet received from the outside is temporarily stored in the unicast queue 3422 corresponding to the corresponding output port depending on the destination port. For example, if the destination port of a unicast data packet received at input port 1 is output port 3, the received unicast data packet is stored in a third queue of unicast queues 3422 connected to input port 1, do. As described above, the network relay apparatus 300 of the virtual output queue (VOQ) structure has a queue 3422 for each output port 320 for each input port 310, The head of line (HOL) blocking problem can be solved. At this time, the number of unicast queues 3422 connected to all the input ports of the entirety is (M x N).

멀티캐스트 큐부(344)는 입력된 데이터 패킷 중 멀티캐스트 데이터 패킷이 저장된다. 멀티캐스트 큐부(344)는 K개(단, K는 1 < K < N인 정수)의 멀티캐스트 큐(3442)를 구비한다. 가능한 출력포트(320)의 조합 수에 따라 큐의 수를 결정하는 경우에는 출력 포트(320)의 개수에 따라 멀티캐스트 큐(3442)의 개수가 기하급수적으로 증가하는 문제점이 발생한다. 본 실시예에서는 멀티캐스트 큐부(344)에 포함되는 멀티캐스트 큐(3442)의 개수를 K개(1 < K < N << 2N-1)로 설정한다. 대신 데이터 패킷을 분산저장하기 위하여 후술할 버퍼부(334)를 구비한다. 버퍼부(334)에 관하여는 해당 스위칭부(330)에 대한 설명부분에서 상세히 설명한다.The multicast queue unit 344 stores multicast data packets among the input data packets. The multicast queue unit 344 includes a multicast queue 3442 of K (K is an integer of 1 < K < N). When the number of queues is determined according to the number of possible combinations of the output ports 320, the number of the multicast queues 3442 increases exponentially according to the number of the output ports 320. In this embodiment, the number of multicast queues 3442 included in the multicast queue unit 344 is set to K (1 <K <N << 2N-1). Instead, a buffer unit 334, which will be described later, is provided to distribute the data packets. The buffer unit 334 will be described in detail in the description of the switching unit 330.

한편, 멀티캐스트 데이터 패킷은 모듈로(modulo) 셀 할당 알고리즘을 이용하여 멀티캐스트 큐(3442)에 저장된다. 예를 들어, 외부로부터 수신된 멀티캐스트 데이터 패킷의 목적 출력포트 집합(fanout-set)이 φ이고, j = φmod k 일 때, 해당 멀티캐스트 데이터 패킷은 K개의 멀티캐스트 큐(3442)큐 중에서 j번째 멀티캐스트 큐에 저장될 수 있다.Meanwhile, the multicast data packet is stored in the multicast queue 3442 using a modulo cell allocation algorithm. For example, when the target output port set (fanout-set) of the multicast data packet received from the outside is φ and j = φmod k, the corresponding multicast data packet is transmitted from the K multicast queue 3442 queue j Lt; th &gt; multicast queue.

스위칭부(330)는 일명 스위칭 패브릭(Switching Fabric)이라고 불리는 구성으로서, 복수의 입력포트(310)와 복수의 출력포트(320)를 스위칭 함으로써 경로를 형성하는 역할을 한다. 스위칭부(330)는 입력라인(315), 출력라인(325), 교차점(332) 및 버퍼부(334)의 구성을 포함한다. 입력라인(315)은 각각의 입력포트(310)로부터 연장되고 전기적으로 연결되는 데이터 이송 통로이다. 출력라인(325)는 마찬가지로 각각의 출력포트(320)로부터 연장되고 전기적으로 연결되는 데이터 이송 통로이다. 앞서 설명한 바와 같이 본 실시예의 경우 M개의 입력포트(310)와 N개의 출력포트(320)로 구성되어 있으므로, 입력라인(315)은 M개가 구비되고, 출력라인(325)은 N개가 구비된다. 이 때 직물을 짜는 형상과 같이 각각의 입력라인(315)에 모든 출력라인(325)가 교차되는 방식으로 교차점(332; Cross Point)이 형성된다. M개의 입력라인(315)과 N개의 출력라인(325)가 교차됨으로써 (M x N)개의 교차점(332)이 형성된다. 또한 교차점(332) 각각에는 버퍼부(334)를 구비한다. 버퍼부(334)는 유니캐스트 데이터 패킷과 멀티캐스트 데이터 패킷이 셀 단위로 저장된다.The switching unit 330 is a so-called switching fabric. The switching unit 330 forms a path by switching the plurality of input ports 310 and the plurality of output ports 320. The switching unit 330 includes an input line 315, an output line 325, an intersection 332, and a buffer unit 334. The input line 315 is a data transfer path extending from and electrically connected to each input port 310. The output line 325 is likewise a data transfer path extending from and electrically connected to each output port 320. As described above, in the present embodiment, M input ports 310 and N output ports 320 are provided. Therefore, M input lines 315 and N output lines 325 are provided. At this time, a cross point 332 is formed in such a manner that all the output lines 325 are crossed on each input line 315, like a weaving shape. M input lines 315 and N output lines 325 are crossed to form (M x N) crossing points 332. Each of the intersections 332 is provided with a buffer unit 334. The buffer unit 334 stores the unicast data packet and the multicast data packet on a cell-by-cell basis.

버퍼(334)에는 멀티캐스트 데이터 패킷 뿐만 아니라 유니캐스트 데이터 패킷도 함께 저장된다. 이 때 유니캐스트 데이터 패킷은 목적 출력포트가 1개 이므로, 1개의 목적 출력포트와 연결된 버퍼(334)에 잔여 저장 공간이 있다면 유니캐스트 큐부(342)에 저장된 셀 단위의 유니캐스트 데이터 패킷(유니캐스트 셀)은 즉시 버퍼(334)로 전달될 수 있다. 반면, 멀티캐스트 데이터 패킷은 목적 출력포트가 2개 이상 존재하므로, 2개 이상의 목적 출력포트와 연결된 2개 이상의 버퍼(334)에 모두 잔여 저장 공간이 존재하는 경우에만 멀티캐스트 큐부(344)에 저장된 셀 단위의 멀티캐스트 데이터 패킷(멀티캐스트 셀)이 버퍼(334)로 전달될 수 있다. 이러한 이유로 멀티캐스트 데이터 패킷에 비하여 유니캐스트 데이터 패킷이 버퍼(334)를 점유할 확률이 매우 높아지게 되어 멀티캐스트 트래픽의 처리율이 낮아지고 지연시간(delay)이 증가하는 문제점이 발생할 수 있다. 본 실시예에서는 이러한 이유로 멀티캐스트 데이터 패킷이 멀티캐스트 큐부(344)에 저장되기 전에 분할된다. 이와 관련하여 제어부(400)의 기능과 함께 상세히 설명한다.
The buffer 334 stores a multicast data packet as well as a unicast data packet. In this case, since the unicast data packet has one destination port, if there is a remaining storage space in the buffer 334 connected to one destination port, unicast data packets (unicast data) stored in the unicast queue unit 342 Cell) may be immediately transferred to the buffer 334. [ On the other hand, since there are two or more destination ports, the multicast data packet is stored in the multicast queue unit 344 only when there is a remaining storage space in two or more buffers 334 connected to two or more destination ports. Multicast data packets (multicast cells) on a per-cell basis may be delivered to the buffer 334. [ For this reason, the probability that the unicast data packet occupies the buffer 334 is much higher than the multicast data packet, which lowers the throughput of the multicast traffic and increases the delay. In this embodiment, for this reason, the multicast data packet is divided before being stored in the multicast queue unit 344. [ The functions of the controller 400 will be described in detail.

도 4 내지 도 6를 참조하여 제어부(400)에 대하여 설명한다. 도 4는 일 실시예에 따른 유니캐스트 및 멀티캐스트 데이터 패킷의 전송을 위한 가상출력대기행렬 구조를 갖는 네트워크 중계장치를 전체구성을 개략적으로 나타내는 블록도이고, 도 5는 일 실시예에 따른 멀티캐스트 데이터 패킷의 목적 출력포트 집합을 하위집합으로 분할하는 모습을 나타내는 개략도이며, 도 6은 멀티캐스트 데이터 패킷의 목적 출력포트 집합을 하위집합으로 분할하는 경우 최적의 하위집합 수를 산출하는 프로세스를 나타내는 순서도이다.The control unit 400 will be described with reference to FIGS. 4 to 6. FIG. 4 is a block diagram schematically showing the overall configuration of a network relay apparatus having a virtual output queue structure for transmission of unicast and multicast data packets according to an embodiment, 6 is a flowchart showing a process for calculating the optimal number of subset when dividing a target output port set of a multicast data packet into a subset. FIG. to be.

제어부(400)는 도 4에 도시된 바와 같이 큐부(340), 입력포트(310), 스위칭부(330) 및 출력포트(330)에 연결되어 스위칭부(330)의 스위칭 제어 등과 같은 네트워크 중계장치(300)의 전반적인 제어를 담당한다. 이외에 본 실시예에서의 제어부(400)는 멀티캐스트 큐(3442)에 저장될 멀티캐스트 데이터 패킷의 목적 출력포트 집합을 하위집합으로 분할하고, 해당 하위집합을 목적 출력포트 집합으로하는 다수의 멀티캐스트 데이터 패킷을 생성한다. 이 때 제어부(400)는 라운드 로빈 분할방식(round robin assignment)이나 모듈로 분할방식(modulo assignment)을 이용하여 멀티캐스트 큐에 저장될 멀티캐스트 데이터 패킷의 목적 출력포트 집합을 하위집합으로 분할할 수 있다.4, the control unit 400 is connected to the queue unit 340, the input port 310, the switching unit 330, and the output port 330, and is connected to a network relay device such as a switching control of the switching unit 330, (300). In addition, the control unit 400 of the present embodiment divides the target output port set of the multicast data packet to be stored in the multicast queue 3442 into a subset, and a plurality of multicast And generates a data packet. At this time, the controller 400 may divide the target output port set of the multicast data packet to be stored in the multicast queue into a subset by using a round robin assignment method or a modulo assignment method have.

예를 들어 라운드 로빈 방식으로 멀티캐스트 데이터 패킷의 목적 출력포트 집합을 분할하는 방법을 설명한다. 도 5에 도시된 바와 같이 해당 멀티캐스트 셀의 원래의 목적 출력포트의 집합을 forigin = {1,3,4,8,11,12,16,18}이라하고, 이를 3개의 하위 집합으로 분할하는 것을 가정하면, 첫 번째 원소인 1은 첫 번째 하위집합인 f1에 두 번째 원소인 3은 두 번째 하위집합인 f2에 세 번째 원소인 4는 세 번째 하위집합인 f3에 할당된다. 이와 같은 방법으로 forigin은 f1 = {1,8,16} f2 = {3,11,18} f3 = {4,12}의 세 개의 하위 집합으로 분할 된다. 이후 제어부(400)는 f1, f2, f3 집합을 목적 출력포트 집합으로 하는 세개의 멀티캐스트 데이터 패킷을 생성시킨다.For example, a method for dividing a target output port set of a multicast data packet in a round robin manner will be described. As shown in FIG. 5, a set of original destination ports of the corresponding multicast cell is called f origin = {1, 3, 4, 8, 11, 12, 16, 18} and divided into three sub-sets Assuming that the first element 1 is in the f 1, the first subset of the second element, 3 is a second subset of f 2 the third element, 4 is assigned to the third subset of f 3. In this way, f origin is divided into three subsets, f 1 = {1,8,16} f 2 = {3,11,18} f 3 = {4,12}. Thereafter, the control unit 400 generates three multicast data packets having the set f 1 , f 2 , f 3 as the target output port set.

모듈로 분할 방식의 경우에는 앞서 설명한 멀티캐스트 데이터 패킷을 셀에 할당하기 위한 모듈로 알고리즘을 이용하여 멀티미디어 데이터 패킷의 목적 출력포트 집합을 하위 집합으로 분할할 수 있다.In the case of the module division method, the target output port set of the multimedia data packet can be divided into a subset using the modulo algorithm for allocating the multicast data packet to the cell as described above.

한편, 제안하는 목적 출력포트 집합(fanout set)의 분할 기법의 성능은 각 멀티캐스트 셀의 목적 출력포트 집합을 몇 개의 하위 집합으로 분할 하느냐에 따라 달라진다. 이하에서는 설명의 편의를 위하여 분할하는 하위 집합의 개수를 NDV (Number of division)로 나타내며 최적의 성능 (가장 높은 처리율과 가장 작은 시간지연(delay))을 위한 최적화 된 값은 NDV-OPT 로 나타낸다.On the other hand, the performance of the proposed method for dividing the destination output port set (fanout set) depends on how many subset of the target output port set of each multicast cell is divided. For convenience of description, the number of sub-sets to be divided is represented by N DV (Number of division), and the optimized value for the optimum performance (the highest throughput and the smallest delay) is N DV-OPT .

최적화된 하위 집합의 수 NDV-OPT는 여러 가지 방법으로 구할 수 있다. 일 예로서 도 6를 참조하여 최적화된 하위 집합의 수 NDV-OPT를 산출하는 방법 중의 하나를 설명한다. 도 6은 멀티캐스트 데이터 패킷의 목적 출력포트 집합을 하위집합으로 분할하는 경우 최적의 하위집합 수를 산출하는 프로세스를 나타내는 순서도이다.The number of optimized subsets N DV-OPT can be obtained in several ways. As an example, referring to FIG. 6, one of the methods of calculating the number N DV-OPT of the optimized subset will be described. 6 is a flow diagram illustrating a process for computing the optimal number of sub-sets when a set of destination ports of a multicast data packet is divided into sub-sets.

먼저 초기의 NDV 값을 1, NDV-PREV값을 0, f(NDV)값을 0으로 설정한다(S10). 다음으로 f(NDV)과 f(NDV-PREV)값을 비교한다(S20). f(NDV)값이 f(NDV-PREV)값보다 큰 경우에는 NDV 값을 1씩 증가시키고, f(NDV)의 값을 f(NDV-PREV)에 저장한다(S25). 반면, f(NDV)값이 f(NDV-PREV)값보다 같거나 작은 경우에는 NDV-PREV값을 분할될 최적 하위집합 수로 결정하게 된다(S30). 즉, 이러한 과정은 f(NDV)가 최대값을 갖게 될 때의 NDV 값을 산출하는 과정이다. NDV의 범위는 1 이상 해당 멀티캐스트 데이터 패킷의 목적 출력포트 집합의 원소의 개수 이하가 된다. NDV의 값이 1인 경우에는 분할이 되지 않은 상태를 의미하며, NDV의 값이 해당 멀티캐스트 데이터 패킷의 목적 출력포트 집합의 원소의 개수가 되면 유니캐스트 데이터 패킷과 동일한 형태가 된다. 일반적으로 f(NDV)값은 NDV값이 특정한 최적의 값이 될 때까지는 NDV가 증가함에 따라 같이 감소하며 NDV값이 특정한 최적의 값보다 커지면 NDV값이 증가함에 따라 같이 증가한다. First, the initial N DV value is set to 1, the N DV-PREV value is set to 0, and the f (N DV ) value is set to 0 (S10). Next, f (N DV ) and f (N DV-PREV ) are compared (S20). f (N DV) and if the value is f (N DV-PREV) is greater than the value, and increase the N DV value by one, storing the value of f (N DV) to f (N DV-PREV) ( S25). On the other hand, if f (N DV ) is equal to or smaller than f (N DV-PREV ), N DV-PREV is determined as the optimal number of sub-sets to be divided (S30). That is, this process calculates the N DV value when f (N DV ) has the maximum value. N DV is less than or equal to 1 and less than or equal to the number of elements of the target output port set of the corresponding multicast data packet. When N DV is 1, it means that the packet is not segmented. If N DV is the number of elements of the target output port set of the multicast data packet, it becomes the same as unicast data packet. Generally increases as as f (N DV) values decrease as as the N DV increased until the optimum value of the N DV value specific and N DV value is large, N DV value is higher than a particular optimum value .

f(NDV) 관련식은 다음의 식 (1)과 같이 표현된다.f (N DV ) related expressions are expressed by the following equation (1).

식 1:

Figure 112011095629298-pat00005
Equation 1:
Figure 112011095629298-pat00005

식 1에서 K는 멀티캐스트 큐의 개수, Ndest는 해당 멀티캐스트 데이터 패킷의 목적 출력포트 집합(fanout set)의 원소의 개수, NDV는 목적 출력포트 집합의 분할을 통해 생성되는 하위 집합(subset)의 개수, λm은 입력포트에서 멀티캐스트 셀의 도달률(arrival rate)을 나타낸다. Puni-block은 각각의 큐의 헤드(HOL, head of line)에 위치한 유니캐스트 데이터 패킷이 교차점의 버퍼(cross point buffer)로 전송 되는데 있어 교차점 버퍼의 빈 공간이 없어서 블록(blocking)될 확률을 나타내며 식 (2)과 같이 구해진다.In Equation 1, K is the number of multicast queues, N dest is the number of elements of the target output port set (fanout set) of the corresponding multicast data packet, N DV is a subset ), And [lambda] m represents the arrival rate of the multicast cell at the input port. P uni-block is the probability that a unicast data packet located at the head of line (HOL) of each queue is transmitted to the crosspoint buffer of the intersection buffer And is obtained as shown in equation (2).

식 2:

Figure 112011095629298-pat00006
Equation 2:
Figure 112011095629298-pat00006

식 2에서 L은 교차점 버퍼에 저장 될 수 있는 셀의 최대 개수를 나타낸다. ρCB는 교차점 버퍼의 트래픽 부하(traffic load)로 식 3과 같이 표현된다.In Equation 2, L represents the maximum number of cells that can be stored in the intersection buffer. ρ CB is the traffic load of the intersection buffer.

식 3:

Figure 112011095629298-pat00007
Equation 3:
Figure 112011095629298-pat00007

식(3)에서 λu는 입력 포트에서의 유니캐스트 셀의 도달률을 나타내며 N은 출력 포트의 수, μCB는 교차점의 서비스율(service rate), 즉 시간당 처리되는 셀(cell)의 수를 나타낸다.In equation (3), λ u represents the arrival rate of a unicast cell at the input port, N the number of output ports, and μ CB the service rate of the intersection, ie the number of cells processed per hour .

식(1)에서 ECB[T]는 교차점의 버퍼에 입력된 셀이 교차점을 거쳐서 출력 포트로 전송 되기까지의 평균적인 시간 지연을 나타낸 것으로 식 4와 같이 교차점에서의 도달률과 트래픽 부하로 표현된다.In Eq. (1), E CB [T] represents the average time delay between the cell input to the buffer of the intersection and the output port through the intersection point, which is expressed as the arrival rate at the intersection and the traffic load .

식 4:

Figure 112011095629298-pat00008
Equation 4:
Figure 112011095629298-pat00008

즉, 본 실시예에 따른 네트워크 중계장치에 도착한 멀티캐스트 패킷은 신호 처리 장치 내부의 처리 단위인 셀 단위로 분할(segmentation)된다. 이후 입력되는 데이터 패킷이 유니캐스트 방식인지 멀티캐스트 방식인지 판단하고, 입력되는 데이터 패킷이 유니캐스트 방식인 경우 해당 데이터 패킷을 목적 출력포트에 대응하는 유니캐스트 큐에 저장하고, 입력되는 데이터 패킷이 멀티캐스트 방식인 경우 해당 데이터 패킷의 목적 출력포트 집합을 하위 집합으로 분할하여 멀티캐스트 큐에 저장한다. 이 때 앞서 설명한 바와 같이 분할될 최적의 하위 집합 수를 산출하여 적용할 수 있다. 다음으로 유니캐스트 데이터 패킷의 목적 출력포트 및 상기 멀티캐스트 데이터 패킷의 목적 출력포트 하위집합을 참조하여 비점유된 버퍼부에 상기 유니캐스트 데이터 패킷 또는 상기 멀티캐스트 데이터 패킷을 저장한다.
That is, the multicast packet arriving at the network relay apparatus according to the present embodiment is segmented into cells, which are processing units in the signal processing apparatus. If the input data packet is a unicast method, the data packet is stored in the unicast queue corresponding to the destination output port. If the input data packet is a multi-cast data packet, In case of the cast method, the set of the target output ports of the data packet is divided into a subset and stored in the multicast queue. At this time, as described above, the optimum number of subset to be divided can be calculated and applied. Next, the unicast data packet or the multicast data packet is stored in the unoccupied buffer unit with reference to the destination output port of the unicast data packet and the destination output port subset of the multicast data packet.

이상 본 발명의 바람직한 실시예에 대하여 설명하였으나, 본 발명의 기술적 사상이 상술한 바람직한 실시예에 한정되는 것은 아니며, 특허청구범위에 구체화된 본 발명의 기술적 사상을 벗어나지 않는 범주에서 다양한 가상출력대기행렬 구조를 구비한 네트워크 중계장치 및 그 제어방법으로 구현될 수 있다.
While the invention has been shown and described with reference to certain exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, And a control method thereof.

300: 네트워크 중계장치 310: 입력포트
315: 입력라인 320: 출력포트
325: 출력라인 330: 스위칭부
332: 교차점 334: 버퍼부
340: 큐부 342: 유니캐스트 큐부
3422: 유니캐스트 큐 344: 멀티캐스트 큐부
3442: 멀티캐스트 큐
300: network relay device 310: input port
315: input line 320: output port
325: output line 330:
332: Intersection point 334: Buffer section
340: queue section 342: unicast queue section
3422: Unicast queue 344: Multicast queue section
3442: Multicast queue

Claims (6)

외부로 유니캐스트 데이터 패킷 및 멀티캐스트 데이터 패킷을 출력하는 N개(단, N은 2 이상의 정수)의 출력포트;
외부로부터 수신된 유니캐스트 데이터 패킷이 저장되는 복수의 유니캐스트 큐(queue)와 외부로부터 수신된 멀티캐스트 데이터 패킷이 저장되는 복수의 멀티캐스트 큐를 구비하는 큐(queue)부;
상기 큐부로부터 상기 유니캐스트 데이터 패킷과 상기 멀티캐스트 데이터 패킷이 입력되는 입력포트;
상기 입력포트에 전기적으로 연결되는 입력라인과 상기 각각의 출력포트에 전기적으로 연결되는 복수의 출력라인이 교차하는 교차점 각각에 상기 유니캐스트 데이터 패킷 또는 상기 멀티캐스트 데이터 패킷이 저장되는 버퍼부를 구비하는 스위칭부; 및
상기 멀티캐스트 큐에 저장될 멀티캐스트 데이터 패킷의 목적 출력포트 집합(fanout set)을 하위집합으로 분할하고, 상기 멀티 캐스트 큐에 저장될 멀티캐스트 데이터 패킷을 상기 하위 집합을 목적 출력 포트로 하는 다수의 멀티캐스트 데이터 패킷으로 분할하는 제어부를 포함하는 가상출력대기행렬 구조를 구비한 네트워크 중계장치.
N output ports (N is an integer of 2 or more) output ports for outputting unicast data packets and multicast data packets to the outside;
A queue unit having a plurality of unicast queues in which unicast data packets received from the outside are stored and a plurality of multicast queues in which multicast data packets received from the outside are stored;
An input port for receiving the unicast data packet and the multicast data packet from the queue unit;
And a buffer unit in which the unicast data packet or the multicast data packet is stored at each of the intersections where an input line electrically connected to the input port and a plurality of output lines electrically connected to the respective output ports cross each other, part; And
Wherein the multicast data packet is divided into a plurality of sub-sets, the sub-sets being divided into a plurality of sub-sets, And a control unit for dividing the multicast data packet into multicast data packets.
제1항에 있어서,
상기 제어부는 라운드 로빈 분할방식(round robin assignment), 모듈로 분할방식(modulo assignment) 중 어느 하나에 의하여 상기 멀티캐스트 큐에 저장될 멀티캐스트 데이터 패킷을 분할하는 네트워크 중계장치.
The method according to claim 1,
Wherein the controller divides a multicast data packet to be stored in the multicast queue by a round robin assignment method or a modulo assignment method.
제1항에 있어서,
상기 멀티캐스트 큐는 K개(단, K는 1 < K < N인 정수) 구비되는 네트워크 중계장치.
The method according to claim 1,
Wherein the multicast queue includes K (K is an integer of 1 < K < N).
제1항에 있어서,
상기 제어부는 하기 식 1 내지 식 4에 의한 함수 f(NDV)값이 최대값을 갖는 상기 NDV값을 멀티캐스트 데이터 패킷의 목적 출력포트 집합을 분할할 하위집합의 수로 설정하는 네트워크 중계장치.
식 1:
Figure 112011095629298-pat00009

식 2:
Figure 112011095629298-pat00010

식 3:
Figure 112011095629298-pat00011

식 4:
Figure 112011095629298-pat00012

(단, NDV는 분할하는 하위 집합의 개수, Ndest는 멀티캐스트 데이터 패킷의 목적 출력포트 집합의 원소의 개수, λm은 입력포트에서 멀티캐스트 셀의 도달률(arrival rate), ρCB는 교차점 버퍼의 트래픽 부하(traffic load), L은 교차점 버퍼에 저장 될 수 있는 셀의 최대 개수, λu는 입력 포트에서의 유니캐스트 셀의 도달률, N은 출력 포트의 수, μCB는 교차점의 서비스율(service rate))
The method according to claim 1,
Wherein the controller sets the N DV value having the maximum value of the function f (N DV ) according to Equations (1) to (4) as the number of subsets to divide the target output port set of the multicast data packet.
Equation 1:
Figure 112011095629298-pat00009

Equation 2:
Figure 112011095629298-pat00010

Equation 3:
Figure 112011095629298-pat00011

Equation 4:
Figure 112011095629298-pat00012

(Where, N DV is a number, N dest is Reach (arrival rate), ρ CB of the multicast cells in number, λ m is the input port of the multicast set of objective output port of the data packet elements of a subset of dividing the intersection L is the maximum number of cells that can be stored in the intersection buffer, λ u is the unicast cell reaching rate at the input port, N is the number of output ports, μ CB is the service rate of the intersection point (service rate)
제1항에 있어서,
상기 입력포트는 M개(M은 2 이상의 정수)로 형성되고, 상기 스위칭부는 (MⅹN)개의 교차점이 형성되는 네트워크 중계장치.


The method according to claim 1,
Wherein the input port is formed of M (M is an integer of 2 or more), and the switching unit has (M x N) crossing points.


삭제delete
KR1020110127641A 2011-12-01 2011-12-01 Network relay apparatus having virtual output queue and the control method thereof KR101390092B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110127641A KR101390092B1 (en) 2011-12-01 2011-12-01 Network relay apparatus having virtual output queue and the control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110127641A KR101390092B1 (en) 2011-12-01 2011-12-01 Network relay apparatus having virtual output queue and the control method thereof

Publications (2)

Publication Number Publication Date
KR20130085463A KR20130085463A (en) 2013-07-30
KR101390092B1 true KR101390092B1 (en) 2014-04-29

Family

ID=48995627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110127641A KR101390092B1 (en) 2011-12-01 2011-12-01 Network relay apparatus having virtual output queue and the control method thereof

Country Status (1)

Country Link
KR (1) KR101390092B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030079454A (en) * 2002-04-04 2003-10-10 한국전자통신연구원 Apparatus and method for Ingress control of packet switch system
KR20040052306A (en) * 2002-12-16 2004-06-23 한국전자통신연구원 Broadcasting switch using crossbar
US20060018329A1 (en) 2004-07-26 2006-01-26 Enigma Semiconductor Network interconnect crosspoint switching architecture and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030079454A (en) * 2002-04-04 2003-10-10 한국전자통신연구원 Apparatus and method for Ingress control of packet switch system
KR20040052306A (en) * 2002-12-16 2004-06-23 한국전자통신연구원 Broadcasting switch using crossbar
US20060018329A1 (en) 2004-07-26 2006-01-26 Enigma Semiconductor Network interconnect crosspoint switching architecture and method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Lotfi Mhamdi,Stamatis Vassiliadis, "Integrating Uni- and Multicast Scheduling in Buffered Crossbar Switches", IEEE HPSR 2006 WORKSHOP (2006.06.07. ~ 2006.06.09.) *
Lotfi Mhamdi,Stamatis Vassiliadis, "Integrating Uni- and Multicast Scheduling in Buffered Crossbar Switches", IEEE HPSR 2006 WORKSHOP (2006.06.07. ~ 2006.06.09.)*

Also Published As

Publication number Publication date
KR20130085463A (en) 2013-07-30

Similar Documents

Publication Publication Date Title
US7586909B1 (en) Striping algorithm for switching fabric
US9215094B2 (en) Segmentation and reassembly of data frames
EP1810466B1 (en) Directional and priority based flow control between nodes
US8442063B1 (en) System and method for scheduling unicast and multicast traffic
US20100260198A1 (en) Space-Space-Memory (SSM) Clos-Network Packet Switch
US7738473B2 (en) Multicast switching in a credit based unicast and multicast switching architecture
EP1269697B1 (en) Segmentation and reassembly of data frames
JP2008166888A (en) Priority band control method in switch
Yu et al. Enhanced first-in-first-out-based round-robin multicast scheduling algorithm for input-queued switches
EP1133110B1 (en) Switching device and method
Sun et al. Multicast scheduling in buffered crossbar switches with multiple input queues
KR101390092B1 (en) Network relay apparatus having virtual output queue and the control method thereof
US20150319080A1 (en) Basic self-routing unit and method for building its half-cleaners, sorters, network concentrators and multicast switching network
JPH09168016A (en) Pakcet switch
EP3972209A1 (en) Method for processing network congestion, and related apparatus
CN103780507A (en) Method and device for managing cache resources
EP1158732A2 (en) Improvements in or relating to packet switching
US8861539B2 (en) Replicating and switching multicast internet packets in routers using crosspoint memory shared by output ports
Hu et al. Integrated uni-and multicast traffic scheduling in buffered crossbar switches
KR101025255B1 (en) Apparatus for controlling signal transmition and method for controlling the same
Kannan et al. MSXmin: a modular multicast ATM packet switch with low delay and hardware complexity
Lee et al. An efficient buffered crossbar switching architecture with multiple multicast virtual output queues for mixed uni-and multicast traffic
US12010023B2 (en) Network congestion handling method and related apparatus
CN111865816B (en) Data transmission method, sender device and receiver device
Kim et al. Fanout set partition scheme for QoS-guaranteed multicast transmission

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170417

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180416

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190423

Year of fee payment: 6