KR100563662B1 - Load balancing device and method - Google Patents

Load balancing device and method Download PDF

Info

Publication number
KR100563662B1
KR100563662B1 KR1020030093552A KR20030093552A KR100563662B1 KR 100563662 B1 KR100563662 B1 KR 100563662B1 KR 1020030093552 A KR1020030093552 A KR 1020030093552A KR 20030093552 A KR20030093552 A KR 20030093552A KR 100563662 B1 KR100563662 B1 KR 100563662B1
Authority
KR
South Korea
Prior art keywords
packet
physical link
received
port number
external internet
Prior art date
Application number
KR1020030093552A
Other languages
Korean (ko)
Other versions
KR20050061927A (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 KR1020030093552A priority Critical patent/KR100563662B1/en
Publication of KR20050061927A publication Critical patent/KR20050061927A/en
Application granted granted Critical
Publication of KR100563662B1 publication Critical patent/KR100563662B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs

Landscapes

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

Abstract

본 발명은 서버 또는 방화벽과, 외부 인터넷망 사이에서 트래픽을 분산시키기 위한 부하 분산 장치에 관한 것이다.The present invention relates to a load balancer for distributing traffic between a server or a firewall and an external Internet network.

본 발명에 따른 부하 분산 장치는, 외부 인터넷 망과, 복수의 서버/방화벽에 사이에 송수신되는 신호를 분배하기 위하여, 상기 외부 인터넷 망으로부터의 수신 신호를 패킷으로 변환하고, 입력 패킷을 상기 외부 인터넷 망에 적합한 신호로 변환하는 제1 물리링크 정합소자와; 상기 제1 물리링크 정합소자로부터 수신한 패킷에 대하여, 목적지 서버/방화벽의 위치에 해당하는 물리링크 포트번호를 획득하기 위한 네트워크 프로세서; 및 상기 복수의 서버/방화벽으로부터 수신된 신호를 패킷으로 변환하고, 입력 패킷을 상기 복수의 서버/방화벽에 적합한 신호로 변환하는 제2 물리링크 정합소자를 포함하는 것을 특징으로 한다.The load balancer according to the present invention converts a signal received from the external internet network into a packet and distributes an input packet to the external internet in order to distribute signals transmitted and received between the external internet network and a plurality of servers / firewalls. A first physical link matching element converting the signal into a signal suitable for the network; A network processor for obtaining a physical link port number corresponding to a location of a destination server / firewall, for the packet received from the first physical link matching element; And a second physical link matching element for converting signals received from the plurality of servers / firewalls into packets and converting input packets into signals suitable for the plurality of servers / firewalls.

본 발명에 따르면 필드 프로그램이 가능한 네트워크 프로세서를 이용하여 저렴하게 부하 분산 장치를 구현할 수 있을 뿐만 아니라, 대용량의 데이터를 용이하게 처리할 수 있는 이점이 있다. According to the present invention, a load balancer can be implemented at low cost by using a network processor capable of field programming, and there is an advantage in that a large amount of data can be easily processed.

Load Balancer, Network Processor, FirewallLoad Balancer, Network Processor, Firewall

Description

부하 분산 장치 및 방법{LOAD BALANCING DEVICE AND METHOD}Load balancers and methods {LOAD BALANCING DEVICE AND METHOD}

도1은 본 발명의 실시예에 따른 부하 분산 장치의 연결 구조도.1 is a connection structure diagram of a load balancing device according to an embodiment of the present invention.

도2는 본 발명의 실시예에 따른 부하 분산 장치 세부 구성도.2 is a detailed configuration diagram of a load balancing device according to an embodiment of the present invention.

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

100: 부하 분산 장치(Load balancer)100: Load balancer

200: 외부 인터넷망200: external internet network

110: 제1 물리링크 정합소자110: first physical link matching element

120: 제1 네트워크 프로세서120: first network processor

130: 제2 네트워크 프로세서130: second network processor

140: 제2 물리링크 정합소자140: second physical link matching element

301 내지 303: 서버/방화벽301 to 303: server / firewall

본 발명은 부하 분산 장치에 관한 것으로, 특히 서버(Server) 또는 방화벽(Firewall)(이하 '서버/방화벽'이라 칭함)과 외부 인터넷망 사이에서 트래픽 을 분산시키기 위한 부하 분산 장치에 관한 것이다.The present invention relates to a load balancer, and more particularly, to a load balancer for distributing traffic between a server or a firewall (hereinafter referred to as a server / firewall) and an external internet network.

일반적으로 부하 분산 장치란 상기 서버/방화벽에 전송되는 트래픽을 적절하게 분배함으로써 과부하로 인하여 상기 서버/방화벽의 운용이 중단되거나 응답이 지연되는 것을 방지하기 위한 장치이며, 로드 밸런서(Load Balancer)라고도 한다. In general, a load balancer is a device for preventing the server / firewall from being stopped or delayed due to overload by appropriately distributing traffic transmitted to the server / firewall, and is also called a load balancer. .

현재 인터넷의 급속한 발달 및 보급으로 인하여, 네트워크 상에 다수의 서버/방화벽이 구성되고 있다. 상기 서버/방화벽의 성능을 향상시키기 위해서는 매우 고성능의 서버/방화벽을 사용해야 한다. 그러나 이러한 고성능의 서버/방화벽은 라우터(Router) 또는 이더넷(Ethernet) 스위치에 비하여 성능 대비 고가의 장비이다. 따라서 이러한 고성능 서버/방화벽 대신에 부하 분산 장치를 사용하여 여러 개의 저가형 서버/방화벽에 트래픽을 분산 시켜서 저렴한 네트워크를 구성할 수 있다.Due to the rapid development and widespread use of the Internet, a large number of servers / firewalls are configured on the network. In order to improve the performance of the server / firewall, a very high performance server / firewall should be used. However, these high performance servers / firewalls are more expensive for their performance than routers or Ethernet switches. Therefore, instead of using such a high performance server / firewall, a load balancer can be used to distribute the traffic among several low-cost servers / firewalls to form an inexpensive network.

종래의 고성능 부하 분산 장치는 스위치 패브릭(Switch Fabric)을 사용하여 시스템의 성능을 증가시키는 구조를 갖는다. 이러한 스위치 패브릭을 갖는 부하 분산 장치는 그 가격이 비쌀 뿐만 아니라, 개발 기간이 매우 길다는 문제가 있다. 또한 스위치 패브릭의 부하 분산 장치는 패킷의 처리를 위하여 ASIC 기반의 소자를 사용하고 있으므로, 시스템에 새로운 기능을 추가하는 것이 어렵다는 문제가 있다.Conventional high performance load balancers have a structure that increases the performance of the system using a switch fabric (Switch Fabric). A load balancer with such a switch fabric is not only expensive, but also has a long development period. In addition, since the load balancer of the switch fabric uses an ASIC-based device for packet processing, it is difficult to add new functions to the system.

한편, 대한민국 특허출원 제10-2000-0040187호(명칭:부하 분산기)에는 복수개의 서버에 연결되어, 사용자의 요청을 상기 복수개의 서버에 적절하게 분배하기 위한 부하 분산기에 관한 것으로서, 특히 각 서버들에 대한 요청을 탐지하여 일정 수준을 넘는 경우 이를 관리자에게 통보할 수 있는 기능을 구비한 부하 분산기와, 시스템의 각종 제어를 리모콘을 통해 행할 수 있는 기능을 구비한 부하 분산기가 개시되어 있다. 그러나, 상기 부하 분산기는 범용 CPU를 사용한 소용량의 트래픽 분산기를 효율적으로 처리하기에 적합한 것이다.On the other hand, Korean Patent Application No. 10-2000-0040187 (name: load balancer) is connected to a plurality of servers, and relates to a load balancer for properly distributing a user's request to the plurality of servers, in particular each server A load balancer having a function of detecting a request for and exceeding a predetermined level and notifying an administrator thereof, and a load balancer having a function of performing various kinds of control of the system through a remote controller are disclosed. However, the load balancer is suitable for efficiently processing a small capacity traffic balancer using a general purpose CPU.

상기와 같은 문제점을 해소하기 위한 본 발명의 목적은 인터넷과 같은 외부 통신망과 다수의 서버/방화벽 사이에 데이터를 송수신함에 있어서, 스위치 패브릭을 사용하지 않고서도 송수신 성능을 크게 향상시킬 수 있는 부하 분산 장치 및 방법을 제공함에 있다.An object of the present invention for solving the above problems is a load balancer that can greatly improve the transmission and reception performance without using a switch fabric in the transmission and reception of data between a plurality of servers / firewalls and external communication networks such as the Internet And providing a method.

또한 본 발명의 다른 목적은 필드 프로그램이 가능한 네트워크 프로세서를 이용하여 저렴하게 구현될 수 있는 부하 분산 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide a load balancer and a method which can be implemented inexpensively by using a field programmable network processor.

또한 본 발명의 또 다른 목적은 여러개의 서버/방화벽에 동일한 세션을 유지하면서 데이터 트래픽을 효율적으로 분산시킬 수 있는 부하 분산 장치 및 방법을 제공함에 있다.
It is still another object of the present invention to provide a load balancer and a method for efficiently distributing data traffic while maintaining the same session on multiple servers / firewalls.

상기 목적을 달성하기 위한 본 발명에 따른 부하 분산 장치는, 외부 인터넷 망과, 복수의 서버/방화벽 사이에 송수신되는 신호를 분배하기 위하여, 상기 외부 인터넷 망으로부터의 수신 신호를 패킷으로 변환하고, 하기의 네트워크 프로세서를 통해 제1 물리링크 정합소자로부터 입력된 패킷을 상기 외부 인터넷 망에 적합한 신호로 변환하는 제1 물리링크 정합소자와; 상기 제1 물리링크 정합소자에서 변환된 패킷에 대하여, 목적지 서버/방화벽의 위치에 해당하는 물리링크 포트번호를 획득하기 위한 네트워크 프로세서; 및 상기 복수의 서버/방화벽으로부터의 수신 신호를 패킷으로 변환하고, 상기 네트워크 프로세서를 통해 제1 물리링크 정합소자로부터 입력된 패킷을 상기 복수의 서버/방화벽에 적합한 신호로 변환하는 제2 물리링크 정합소자를 포함하는 것을 특징으로 한다.The load balancer according to the present invention for achieving the above object is to convert the received signal from the external Internet network into packets in order to distribute the signals transmitted and received between the external Internet network and a plurality of servers / firewalls, A first physical link matching element for converting a packet inputted from the first physical link matching element into a signal suitable for the external internet network through a network processor; A network processor for obtaining a physical link port number corresponding to a location of a destination server / firewall, for the packet converted by the first physical link matching element; And a second physical link matching for converting the received signals from the plurality of servers / firewalls into packets and converting the packets input from the first physical link matching element through the network processor into signals suitable for the plurality of servers / firewalls. Characterized in that it comprises a device.

또한 본 발명에 따른 다른 부하 분산 장치는, 상기 패킷이 소정의 룩업 테이블에 미리 등록되어 있는 경우에, 상기 물리링크 포트번호를 상기 룩업 테이블로부터 획득하는 것을 특징으로 한다. In addition, another load balancing device according to the present invention is characterized in that the physical link port number is obtained from the lookup table when the packet is registered in advance in a predetermined lookup table.

또한 본 발명에 따른 또 다른 부하 분산 장치는, 상기 패킷이 소정의 룩업 테이블에 미리 등록되어 있지 않은 경우에, 소정의 분산 알고리즘을 사용하여 상기 목적지 서버/방화벽의 물리링크 포트번호를 결정하는 것을 특징으로 한다. In addition, another load balancer according to the present invention is characterized in that the physical link port number of the destination server / firewall is determined using a predetermined distribution algorithm when the packet is not registered in a predetermined lookup table. It is done.

또한 본 발명에 따른 또 다른 부하 분산 장치는, 상기 결정된 물리링크 포트 번호가 상기 룩업 테이블에 등록되는 것을 특징으로 한다. In another load balancing device according to the present invention, the determined physical link port number is registered in the lookup table.

또한 본 발명에 따른 또 다른 부하 분산 장치는, 상기 네트워크 프로세서가 복수로 구성되며, 서로 소정의 고속 인터페이스를 사용하여 연결되는 것을 특징으로 한다.In addition, another load balancing device according to the present invention is characterized in that the network processor is composed of a plurality, and is connected to each other using a predetermined high-speed interface.

또한 본 발명에 따른 또 다른 부하 분산 장치에 있어서, 상기 제2 물리링크 정합소자는 상기 네트워크 프로세서로부터 수신한 패킷과 물리링크 포트번호를 이용하여, 소정의 전송선로에 적합한 신호로 변환하여 목적지 서버/방화벽에 전달하는 것을 특징으로 한다. Further, in another load balancing device according to the present invention, the second physical link matching device converts a signal suitable for a predetermined transmission line by using a packet received from the network processor and a physical link port number to the destination server / Characterized in that delivered to the firewall.

또한 본 발명에 따른 또 다른 부하 분산 장치는, 상기 네트워크 프로세서가, 상기 제2 물리링크 정합소자로부터 수신한 패킷을, 상기 수신 패킷에 포함된 목적지 주소 및 관련 필드를 참조하여 제1 물리링크 정합소자를 통해 상기 외부 인터넷망으로 전달하는 것을 특징으로 한다. In addition, another load balancing device according to the present invention, the network processor, the packet received from the second physical link matching element, the first physical link matching element with reference to the destination address and the associated field included in the received packet It is characterized in that for transmitting to the external internet network through.

이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 참조번호 및 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.DETAILED DESCRIPTION A detailed description of preferred embodiments of the present invention will now be described with reference to the accompanying drawings. It should be noted that reference numerals and like elements among the drawings are denoted by the same reference numerals and symbols as much as possible even though they are shown in different drawings. In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

도1은 본 발명의 실시예에 따른 부하 분산 장치의 연결구조도이다.1 is a connection structure diagram of a load balancing device according to an embodiment of the present invention.

상기 부하 분산 장치(100)는 외부 인터넷망(200)과 복수의 서버/방화벽(301 내지 303) 사이에 위치한다. 상기 부하 분산 장치(100)는 내부에 상기 외부 인터넷망(200)과 물리링크 정합 기능을 수행하기 위한 제1 물리링크 정합소자(110)와, 상기 외부 인터넷망(200)과 상기 복수의 서버/방화벽(301 내지 303) 사이에 입출력되는 패킷을 처리하기 위한 네트워크 프로세서(120, 130)와, 상기 서버/방화벽(301 내지 303)과의 물리적인 정합기능을 수행하는 제2 물리링크 정합소자(140)를 포함한다. 그리고 상기 네트워크 프로세서(120, 130)는 상기 제1 물리링크 정합소자로부터 수신한 패킷에 대하여 상기 패킷이 전송될 목적지 서버/방화벽의 위치에 해당하는 물리링크 포트번호를 부여하여 상기 패킷이 분산되도록 한다. The load balancer 100 is located between the external internet network 200 and the plurality of servers / firewalls 301 to 303. The load balancing device 100 may include a first physical link matching device 110 for performing a physical link matching function with the external internet network 200, the external internet network 200, and the plurality of servers /. Network processors 120 and 130 for processing packets input and output between firewalls 301 to 303, and second physical link matching elements 140 for performing a physical matching function with the servers / firewalls 301 to 303. ). The network processor 120 or 130 assigns a physical link port number corresponding to a location of a destination server / firewall to which the packet is transmitted to the packet received from the first physical link matching device so that the packet is distributed. .

도2는 본 발명의 실시예에 따른 부하 분산 장치 세부 구성도이다.2 is a detailed block diagram of a load balancing device according to an embodiment of the present invention.

도2를 참조하면 본 발명의 실시예에 따른 부하 분산 장치(100)는 외부 인터넷망(200)과 복수의 서버/방화벽(301 내지 303) 사이에 위치한다. 그리고 상기 부하 분산 장치(100)는 상기 외부 인터넷망(200)과 연결되는 제1 물리링크 정합 소자(110)와, 상기 제1 물리링크 정합 소자(110)와 연결되는 제1 네트워크 프로세서(120)와, 상기 제1 네트워크 프로세서(120)와 연결되는 제2 네트워크 프로세서(130)와, 상기 제2 네트워크 프로세서(130) 및 상기 복수의 서버/방화벽(301 내지 303)과 연결되는 제2 물리링크 정합 소자(140)를 포함한다. 2, the load balancer 100 according to the embodiment of the present invention is located between the external internet network 200 and the plurality of servers / firewalls 301 to 303. Referring to FIG. The load balancer 100 may include a first physical link matching element 110 connected to the external internet network 200 and a first network processor 120 connected to the first physical link matching element 110. And a second physical link matched with the second network processor 130 connected with the first network processor 120, the second network processor 130, and the plurality of servers / firewalls 301 through 303. Element 140.

이하에서는 본 발명의 실시예에 따른 부하 분산 장치(100)를 이용한 패킷 처리 방법을 설명한다. 여기서 상기 패킷 처리 방법은 수신패킷 처리방법과 송신패킷 처리방법으로 구분할 수 있다. 상기 수신패킷 처리방법이란 상기 외부 인터넷망(200)에서 수신된 트래픽(데이터)을 각각의 서버/방화벽(301 내지 303)으로 분산시키는 방법이다. 그리고 상기 송신패킷 처리방법이란 상기 서버/방화벽(301 내지 303)에서 수신된 트래픽을 상기 외부 인터넷망(200)으로 전달하는 방법이다.Hereinafter, a packet processing method using the load balancer 100 according to an embodiment of the present invention will be described. The packet processing method may be classified into a reception packet processing method and a transmission packet processing method. The receiving packet processing method is a method of distributing traffic (data) received from the external internet network 200 to respective servers / firewalls 301 to 303. The transmission packet processing method is a method of transmitting the traffic received from the server / firewall 301 to 303 to the external internet network 200.

먼저 상기 수신 패킷 처리방법은 다음과 같이 이루어진다. 상기 제1 물리링크 정합소자(110)는 상기 외부 인터넷망(200)에서 수신된 신호로부터 패킷을 복원한다. 그리고 나서 상기 제1 물리링크 정합소자(110)는 상기 복원된 패킷을 상기 제1, 2 네트워크 프로세서(120, 130)에 전달한다.First, the received packet processing method is performed as follows. The first physical link matching device 110 restores a packet from a signal received from the external internet network 200. Then, the first physical link matching device 110 transmits the recovered packet to the first and second network processors 120 and 130.

상기 제1, 2 네트워크 프로세서(120, 130)는 관련된 프로토콜을 처리하며, 상기 수신된 패킷의 세션(Session)이 룩업 테이블에 이미 등록되어 있는지 여부를 검사한다. The first and second network processors 120 and 130 process related protocols and check whether a session of the received packet is already registered in a lookup table.

여기서 상기 세션은 패킷 헤더에 포함되는 IP 주소와 포트 번호 등에 의하여 구분될 수 있으며, 각 세션 별로 할당된 서버/방화벽(301 내지 303)의 위치가 상기 룩업 테이블에 미리 등록된다.In this case, the session may be classified by an IP address and a port number included in the packet header, and the positions of the servers / firewalls 301 to 303 allocated to each session are previously registered in the lookup table.

상기 제1, 2 네트워크 프로세서(120, 130)는 상기 수신된 패킷의 세션이 상기 룩업 테이블에 이미 등록되어 있으면, 수신된 패킷을 해당 서버/방화벽(301 내지 303)으로 전달하기 위한 물리링크 포트번호를 상기 룩업 테이블로부터 획득한다.The first and second network processors 120 and 130, if the session of the received packet is already registered in the lookup table, the physical link port number for forwarding the received packet to the corresponding server / firewall 301 to 303 Is obtained from the lookup table.

그러나 상기 수신된 패킷이 이미 등록되어 있지 않은 것이면, 소정의 분산 알고리즘을 사용하여 목적지 서버/방화벽(301 내지 303)의 물리링크 포트번호를 결정하고, 이를 상기 룩업 테이블에 등록한다. 여기서 상기 소정의 분산 알고리즘은 상기 패킷을 상기 서버/방화벽(301 내지 303)에 균등하게 분배하기 위하여 라운드 로빈(Round Robin) 방식, 최소 접속(Least Connection) 방식, 또는 각각의 서버/방화벽(301 내지 303)에 가중치를 부여하여 분배량을 조절하는 방법 등이 사용될 수 있다. 그리고 이와 같이 상기 룩업 테이블에 세션을 등록함으로써 이후에 동일한 세션에 해당하는 패킷이 수신되는 경우에는 상기 룩업 테이블을 참조하여 용이하게 해당 서버/방화벽(301 내지 303)으로 전송할 수 있게 된다. However, if the received packet is not already registered, a physical link port number of the destination servers / firewalls 301 to 303 is determined using a predetermined distribution algorithm and registered in the lookup table. Wherein the predetermined distributed algorithm is a round robin method, a least connection method, or each server / firewall 301-to distribute the packet evenly to the servers / firewalls 301-303. 303) to adjust the distribution amount by weighting, etc. may be used. By registering the session in the lookup table as described above, when a packet corresponding to the same session is received later, the server / firewall 301 to 303 can be easily transmitted with reference to the lookup table.

상기 제2 네트워크 프로세서(130)는 처리가 완료된 패킷과 목적지 물리링크 포트번호를 상기 제2 물리링크 정합소자(140)로 전달한다. The second network processor 130 transmits the processed packet and the destination physical link port number to the second physical link matching device 140.

여기서 상기 제1,2 네트워크 프로세서(120, 130)는 스위치 패브릭을 사용하지 않고, CSIX 또는 SPI-4.2 등과 같은 고속 인터페이스를 사용하여 서로 연결된다. 또한 상기 제1,2 네트워크 프로세서(120, 130)는 패킷 처리를 위하여 요구되는 일들을 적절하게 분담하여 처리할 수 있다. 또한 상기 제1,2 네트워크 프로세서(120, 130) 내부에는 여러 개의 CPU가 구성되며, 상기 CPU는 상기 수신된 패킷을 처리하도록 프로그램될 수 있다. Here, the first and second network processors 120 and 130 are connected to each other using a high speed interface such as CSIX or SPI-4.2 without using a switch fabric. In addition, the first and second network processors 120 and 130 may appropriately allocate and process tasks required for packet processing. In addition, a plurality of CPUs are configured in the first and second network processors 120 and 130, and the CPUs may be programmed to process the received packets.

상기 제2 물리링크 정합소자(140)는 상기 제2 네트워크 프로세서(130)로부터 수신한 패킷과 물리링크 포트번호를 이용하여, 이더넷 또는 SONNET 등과 같은 전송선로에 적합한 신호로 변환하여 목적지에 해당하는 서버/방화벽(301 내지 303)에 전달한다. The second physical link matching device 140 converts a signal corresponding to a transmission line, such as Ethernet or SONNET, into a signal corresponding to a destination using a packet received from the second network processor 130 and a physical link port number. / Firewall (301 to 303).

다음으로, 상기 송신패킷 처리방법은 다음과 같이 이루어진다. 상기 제2 물리링크 정합소자(140)는 상기 서버/방화벽(301 내지 303)에서 수신된 신호로부터 패킷을 복원한다. 그리고 나서 상기 복원된 패킷을 상기 제2 네트워크 프로세서(130)로 전달한다. 그러면 상기 제1,2 네트워크 프로세서(120, 130)는 상기 제2 물리링크 정합소자(130)로부터 수신한 패킷에 대하여 요구되는 소정의 프로토콜을 처리한다. 또한 상기 제1,2 네트워크 프로세서(120, 130)는 상기 수신된 패 킷에 포함되어 있는 목적지 주소 및 관련 필드를 참조하여 상기 외부 인터넷망(200)으로 전달하기 위한 물리링크 포트 번호를 결정한다. Next, the transmission packet processing method is performed as follows. The second physical link matching element 140 restores the packet from the signal received at the server / firewall 301 to 303. The recovered packet is then forwarded to the second network processor 130. Then, the first and second network processors 120 and 130 process predetermined protocols required for the packet received from the second physical link matching element 130. In addition, the first and second network processors 120 and 130 determine a physical link port number for delivery to the external Internet network 200 by referring to a destination address and an associated field included in the received packet.

여기서 상기 제1,2 네트워크 프로세서(120, 130)는 스위치 패브릭을 사용하지 않고, CSIX 또는 SIP-4.2 등과 같은 고속 인터페이스를 사용하여 서로 연결된다. 또한 상기 제1,2 네트워크 프로세서(120, 130)는 패킷 처리를 위하여 요구되는 일들을 적절하게 분담하여 처리할 수 있다. 또한 상기 제1,2 네트워크 프로세서(120, 130) 내부에는 여러 개의 CPU가 구성되며, 상기 CPU는 상기 송신되는 패킷을 처리하도록 프로그램될 수 있다. Here, the first and second network processors 120 and 130 are connected to each other using a high speed interface such as CSIX or SIP-4.2 without using a switch fabric. In addition, the first and second network processors 120 and 130 may appropriately allocate and process tasks required for packet processing. In addition, a plurality of CPUs are configured in the first and second network processors 120 and 130, and the CPUs may be programmed to process the transmitted packets.

그리고 상기 제1 네트워크 프로세서(120)는 위와 같이 패킷을 처리한 후 상기 제1 물리링크 정합소자(110)에 전달한다. The first network processor 120 processes the packet as described above and transfers the packet to the first physical link matching device 110.

이후에 상기 제1 물리링크 정합소자(110)는 상기 제1 네트워크 프로세서(120)로부터 수신한 패킷과 물리링크 포트번호를 이용하여, 이더넷 또는 SONNET 등과 같은 전송선로에 적합한 신호로 변환하여 상기 외부 인터넷망(200)에 전달한다. Thereafter, the first physical link matching device 110 converts a signal suitable for a transmission line such as Ethernet or SONNET using the packet received from the first network processor 120 and the physical link port number to the external Internet. Transfer to the network (200).

본 발명에 따른 부하 분산 장치를 이용한 부하 분산 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현할 수 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 인터넷을 통한 전송과 같이 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다.The load balancing method using the load balancer according to the present invention can be implemented as computer readable codes on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and also include those implemented in the form of carrier waves such as transmission over the Internet. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다. Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the claims below, but also by those equivalent to the claims.

상술한 바와 같은 본 발명에 따르면 필드 프로그램이 가능한 네트워크 프로세서를 이용하여 저렴하게 부하 분산 장치를 구현할 수 있을 뿐만 아니라, 대용량의 데이터를 용이하게 처리할 수 있는 이점이 있다. According to the present invention as described above, the load balancer can be implemented at low cost using a network processor capable of field programming, and there is an advantage in that a large amount of data can be easily processed.

Claims (12)

외부 인터넷 망과, 복수의 서버/방화벽 사이에 송수신되는 신호를 분배하기 위한 부하 분산 장치에 있어서,A load balancer for distributing signals transmitted and received between an external internet network and a plurality of servers / firewalls, 상기 외부 인터넷 망으로부터의 수신 신호를 패킷으로 변환하고, 입력 패킷을 상기 외부 인터넷 망에 적합한 신호로 변환하는 제1 물리링크 정합소자; A first physical link matching element converting a received signal from the external internet network into a packet and converting an input packet into a signal suitable for the external internet network; 상기 제1 물리링크 정합소자에서 변환된 패킷에 대하여, 목적지 서버/방화벽 위치에 해당하는 물리링크 포트 번호를 획득하기 위한 네트워크 프로세서; 및A network processor for obtaining a physical link port number corresponding to a destination server / firewall position with respect to the packet converted by the first physical link matching element; And 상기 복수의 서버/방화벽으로부터의 수신 신호를 패킷으로 변환하고, 입력 패킷을 상기 복수의 서버/방화벽에 적합한 신호로 변환하는 제2 물리링크 정합소자를 포함하는 것을 특징으로 하는 부하 분산 장치.And a second physical link matching element for converting received signals from the plurality of servers / firewalls into packets and converting input packets into signals suitable for the plurality of servers / firewalls. 제1항에 있어서, 상기 패킷이 소정의 룩업 테이블에 미리 등록되어 있는 경우에는, 상기 물리링크 포트번호를 상기 룩업 테이블로부터 획득하는 것을 특징으로 하는 부하 분산 장치.The load balancing device according to claim 1, wherein when the packet is registered in a predetermined lookup table, the physical link port number is obtained from the lookup table. 제1항에 있어서, 상기 패킷이 소정의 룩업 테이블에 미리 등록되어 있지 않은 경우에는, 소정의 분산 알고리즘을 사용하여 상기 목적지의 물리링크 포트번호를 결정하는 것을 특징으로 하는 부하 분산 장치. The load balancing device according to claim 1, wherein when the packet is not registered in a predetermined lookup table, the physical link port number of the destination is determined using a predetermined distribution algorithm. 제3항에 있어서, 상기 결정된 물리링크 포트 번호는 상기 룩업 테이블에 등록되는 것을 특징으로 하는 부하 분산 장치.4. The load balancing device of claim 3, wherein the determined physical link port number is registered in the lookup table. 제1항에 있어서, 상기 네트워크 프로세서는 복수로 구성되며, 서로 소정의 고속 인터페이스를 사용하여 연결되는 것을 특징으로 하는 부하 분산 장치.The load balancer of claim 1, wherein the network processor is configured in plural and connected to each other using a predetermined high speed interface. 제1항에 있어서, 상기 제2 물리링크 정합소자는 상기 네트워크 프로세서로부터 수신한 패킷과 물리링크 포트번호를 이용하여, 상기 수신 패킷을 소정의 전송선로에 적합한 신호로 변환하여 목적지 서버/방화벽에 전달하는 것을 특징으로 하는 부하 분산 장치. 2. The method of claim 1, wherein the second physical link matching device converts the received packet into a signal suitable for a predetermined transmission line and transmits the received packet to a destination server / firewall by using the packet received from the network processor and the physical link port number. A load balancer, characterized in that. 제1항에 있어서, 상기 네트워크 프로세서는, The method of claim 1, wherein the network processor, 상기 제2 물리링크 정합소자로부터 수신한 패킷을, 상기 제1 물리링크 정합소자를 통해 상기 수신 패킷에 포함된 목적지 주소 및 관련 필드를 참조하여 상기 외부 인터넷망으로 전달하는 것을 특징으로 하는 부하 분산 장치.A load balancer for forwarding the packet received from the second physical link matching device to the external internet network by referring to a destination address and related fields included in the received packet through the first physical link matching device. . 외부 인터넷망으로부터 수신된 신호를 복수의 서버/방화벽에 분배하기 위한 부하 분산 방법에 있어서, A load balancing method for distributing a signal received from an external internet network to a plurality of servers / firewalls, 상기 외부 인터넷망으로부터 수신되는 신호를 패킷으로 변경하는 단계;Converting a signal received from the external internet network into a packet; 상기 패킷이 전송될 목적지 서버/방화벽의 위치에 해당하는 물리링크 포트번호를 획득하는 단계; 및Obtaining a physical link port number corresponding to a location of a destination server / firewall to which the packet is to be transmitted; And 상기 패킷을 상기 목적지 서버/방화벽에 적합한 신호로 변환하여 상기 목적지 서버/방화벽으로 전달하는 단계를 포함하는 것을 특징으로 하는 부하 분산 방법.Converting the packet into a signal suitable for the destination server / firewall and forwarding the packet to the destination server / firewall. 제8항에 있어서, 상기 패킷이 소정의 룩업 테이블에 미리 등록되어 있는 경우에는, 상기 물리링크 포트번호를 상기 룩업 테이블로부터 획득하는 것을 특징으로 하는 부하 분산 방법.The load balancing method according to claim 8, wherein when the packet is registered in a predetermined lookup table, the physical link port number is obtained from the lookup table. 제8항에 있어서, 상기 패킷이 소정의 룩업 테이블에 미리 등록되어 있지 않은 경우에는, 소정의 분산 알고리즘을 사용하여 목적지 서버/방화벽의 물리링크 포트번호를 결정하는 것을 특징으로 하는 부하 분산 방법. The load balancing method according to claim 8, wherein when the packet is not registered in a predetermined lookup table, a physical link port number of a destination server / firewall is determined using a predetermined distribution algorithm. 제10항에 있어서, 상기 결정된 물리링크 포트 번호는 상기 룩업 테이블에 등록하는 단계를 더 포함하는 것을 특징으로 하는 부하 분산 방법.12. The method of claim 10, wherein the determined physical link port number further comprises registering in the lookup table. 복수의 서버/방화벽으로부터 수신된 신호를 외부 인터넷망으로 전송하기 위한 부하 분산 방법에 있어서,A load balancing method for transmitting signals received from a plurality of servers / firewalls to an external internet network, 상기 복수의 서버/방화벽으로부터 수신되는 신호를 패킷으로 변경하는 단계;Converting signals received from the plurality of servers / firewalls into packets; 상기 패킷에 포함된 목적지 주소 및 관련 필드를 참조하여 상기 외부 인터넷망으로 전달하기 위한 물리링크 포트번호를 결정하는 단계; 및Determining a physical link port number for delivery to the external internet network by referring to a destination address and related fields included in the packet; And 상기 패킷을 상기 외부 인터넷망에 적합한 신호로 변환한 후, 상기 물리링크 포트번호에 따라 상기 외부 인터넷망으로 전달하는 단계를 포함하는 것을 특징으로 하는 부하 분산 방법.And converting the packet into a signal suitable for the external internet network, and then transmitting the packet to the external internet network according to the physical link port number.
KR1020030093552A 2003-12-19 2003-12-19 Load balancing device and method KR100563662B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030093552A KR100563662B1 (en) 2003-12-19 2003-12-19 Load balancing device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030093552A KR100563662B1 (en) 2003-12-19 2003-12-19 Load balancing device and method

Publications (2)

Publication Number Publication Date
KR20050061927A KR20050061927A (en) 2005-06-23
KR100563662B1 true KR100563662B1 (en) 2006-03-23

Family

ID=37254199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030093552A KR100563662B1 (en) 2003-12-19 2003-12-19 Load balancing device and method

Country Status (1)

Country Link
KR (1) KR100563662B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100687749B1 (en) * 2004-09-06 2007-02-27 한국전자통신연구원 Packet processing apparatus for general purpose
KR100655599B1 (en) * 2005-11-04 2006-12-08 한국전자통신연구원 Atca platform apparatus for supporting 20gbps packet switching bandwidth per node

Also Published As

Publication number Publication date
KR20050061927A (en) 2005-06-23

Similar Documents

Publication Publication Date Title
US7509435B2 (en) Network Address Translation and Port Mapping
US7630368B2 (en) Virtual network interface card loopback fastpath
KR101863024B1 (en) Distributed load balancer
KR100481614B1 (en) METHOD AND APPARATUS FOR PROTECTING LEGITIMATE TRAFFIC FROM DoS AND DDoS ATTACKS
CA2968964C (en) Source ip address transparency systems and methods
US8661544B2 (en) Detecting botnets
US20080002739A1 (en) Reflecting the bandwidth assigned to a virtual network interface card through its link speed
EP1327196A2 (en) System and method for highly scalable high-speed content-based filtering and load balancing in interconnected fabrics
US9456030B2 (en) Methods of operating load balancing switches and controllers using modified flow entries
CN1954576A (en) Technique for handling initiation requests
US11895009B2 (en) Intelligently routing internet traffic
US8892745B2 (en) Redirection of a request for information
US10178033B2 (en) System and method for efficient traffic shaping and quota enforcement in a cluster environment
US11799827B2 (en) Intelligently routing a response packet along a same connection as a request packet
US7764611B2 (en) Sharing of network security and services processing resources
KR100563662B1 (en) Load balancing device and method
US20100166011A1 (en) Method, apparatus and system for realizing dynamic correlation of control plane traffic rate
US7392318B1 (en) Method and system for balancing a traffic load in a half-duplex environment
KR100920327B1 (en) Service processing system
Kodama et al. TCP Multi-Stream Data Transfer using Multiple Network Interface Cards
KR100827493B1 (en) Method and System for supplying Anycast service
CN115967679A (en) Data request method, communication device and communication 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
FPAY Annual fee payment

Payment date: 20100226

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee