KR100666451B1 - 네트워크상에서 단일의 mac/ip 어드레스를 갖는 부하분산 클러스터 시스템 및 부하 분산 클러스터링 방법 - Google Patents

네트워크상에서 단일의 mac/ip 어드레스를 갖는 부하분산 클러스터 시스템 및 부하 분산 클러스터링 방법 Download PDF

Info

Publication number
KR100666451B1
KR100666451B1 KR1020040052564A KR20040052564A KR100666451B1 KR 100666451 B1 KR100666451 B1 KR 100666451B1 KR 1020040052564 A KR1020040052564 A KR 1020040052564A KR 20040052564 A KR20040052564 A KR 20040052564A KR 100666451 B1 KR100666451 B1 KR 100666451B1
Authority
KR
South Korea
Prior art keywords
address
server
cluster
address request
response
Prior art date
Application number
KR1020040052564A
Other languages
English (en)
Other versions
KR20060003608A (ko
Inventor
장동호
김광현
조영철
이경헌
박현정
Original Assignee
주식회사 파이오링크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 파이오링크 filed Critical 주식회사 파이오링크
Priority to KR1020040052564A priority Critical patent/KR100666451B1/ko
Publication of KR20060003608A publication Critical patent/KR20060003608A/ko
Application granted granted Critical
Publication of KR100666451B1 publication Critical patent/KR100666451B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Landscapes

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

Abstract

본 발명은 네트워크 부하 분산 클러스터 시스템 및 방법에 관한 것으로서, 클러스터 내부의 각 서버들이 외부의 시스템에 대하여 모두 공통적으로 단 하나의 MAC/IP 어드레스를 갖고 상기 외부 시스템과 통신을 수행하며, 외부 시스템의 요청을 클러스터 내부의 각 서버들에게 분산하는 로드 밸런싱(load balancing)을 별도의 장비 또는 서버를 필요로 하지 않고 기존의 일반적인 스위치로 구현하고, 외부 시스템의 요청에 대한 클러스터 내부에서의 통신을 위하여 상기 스위치가 클러스터 내부의 서버 각각에 외부의 시스템에 대하여 히든(hidden)한 고유의 MAC/IP 어드레스를 부여하고, 상기 서버들 중 주소요청응답 동작을 수행하는 대표 서버를 설정하여 상기 대표 서버가 클러스터 외부 시스템과 브로드캐스팅(broadcasting)을 수행하는 네트워크 부하 분산 클러스터 및 방법에 관한 것이다.
본 발명의 네트워크 부하 분산 클러스터 시스템 및 방법에 따르면, 클러스터 내부의 각 서버들이 상기 클러스터 외부의 시스템에 대하여 모두 공통적으로 단 하나의 MAC 어드레스와 IP 어드레스를 갖게 하고, 상기 외부의 시스템과 통신을 수행하게 함으로써, 클러스터 내부 서버에 대한 별도의 MAC 어드레스와 IP 어드레스를 배제하여 네트워크의 과부하를 방지하고, MAC 어드레스와 IP 어드레스 자원의 낭비를 방지하는 효과를 얻을 수 있다.
클러스터, ARP, 부하 분산, MAC, IP

Description

네트워크상에서 단일의 MAC/IP 어드레스를 갖는 부하 분산 클러스터 시스템 및 부하 분산 클러스터링 방법{A LOAD BALANCING CLUSTER SYSTEM HAVING UNIQUE MAC/IP ADDRESS ON NETWORK AND A METHOD FOR CLUSTERING FOR ENABLING LOAD BALANCE}
도 1은 종래 기술에 따른 주소요청응답 동작을 수행하는 클러스터를 포함한 네크워크의 전체 구성을 도시한 구성도.
도 2는 본 발명의 바람직한 일실시예에 따른 네트워크 부하 분산 클러스터 시스템을 포함한 네트워크의 전체 구성을 도시한 구성도.
도 3은 본 발명의 바람직한 일실시예에 따른 네트워크 클러스터 부하 분산 방법의 절차를 도시한 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
200 : 클러스터
210 : 주소요청응답 서버
220 : 엔진서버1
240 : 내부 스위치
250 : 외부 스위치
260 : 외부 시스템
본 발명은 네크워크 상에서 단 하나의 MAC/IP 어드레스를 갖고 외부와 통신을 수행하는 부하 분산 클러스터 시스템 및 방법에 관한 것으로, 더욱 상세하게는 클러스터 내부의 각 서버들이 외부의 시스템에 대하여 모두 공통적으로 단 하나의 MAC/IP 어드레스를 갖고 상기 외부 시스템과 통신을 수행하며, 외부 시스템의 요청을 클러스터 내부의 각 서버들에게 분산하는 로드 밸런싱(load balancing)을 별도의 장비 또는 서버를 필요로 하지 않고 기존의 일반적인 스위치로 구현하고, 외부 시스템의 요청에 대한 클러스터 내부에서의 통신을 위하여 상기 스위치가 클러스터 내부의 서버 각각에 외부의 시스템에 대하여 히든(hidden)한 고유의 MAC/IP 어드레스를 부여하고, 상기 서버들 중 주소요청응답 동작을 수행하는 대표 서버를 설정하여 상기 대표 서버가 클러스터 외부의 시스템과 브로드캐스팅(broadcasting)을 수행하는 네트워크 부하 분산 클러스터 및 방법에 관한 것이다.
슈퍼 컴퓨터의 우수한 성능에도 불구하고 슈퍼 컴퓨터가 가지고 있는 운영에 관한 단점을 해결하고자 하는 연구가 최근 수행되었는데, 그 중 하나가 클러스터(Cluster) 개념이다. 클러스터란 여러 대의 컴퓨터를 네트워크를 통해 연결하여 하나의 단일 컴퓨터처럼 동작하도록 제작한 컴퓨터를 말한다. 클러스터는 사용 목적에 따라 구현 방법 및 소프트웨어가 달라지며, 클러스터의 기능과 운영이 달라지는데 그 사용 목적에 따라 과학 계산용 클러스터와 부하 분산 클러스터로 나 눌 수 있다.
그 중 부하 분산 클러스터는 컴퓨터 네트워크 및 월드 와이드 웹(World Wide Web)의 발전으로 인터넷 사용자 및 웹 서버의 숫자는 기하급수적으로 증가하고 있어 그 사용이 점차 증가하고 있다. 컴퓨터 네트워크의 발달에도 불구하고 웹 서버에 접속하는 사용자 수가 많아짐에 따라 웹 서버에 병목현상이 자주 발생하고 있다. 예를 들어 동일 시간대에 한 웹 서버에 접속하는 사용자 수가 많게 되면 웹 서버는 과부하로 인하여 작동을 멈추거나 속도가 느려진다. 부하 분산 클러스터는 단일 서버를 사용할 때 발생할 수 있는 부하를 다른 노드(node)로 분산시킴으로써 웹 서버의 과부하를 해결할 수 있는 방법을 제공할 수 있다.
부하 분산 클러스터를 이용한 기존의 네트워크 부하 분산의 경우, 클러스터에 속한 각 서버는 고유한 MAC/IP 어드레스를 가지고 있고, 중간에 L4 스위치 등의 부하 분산 장치가 IP 어드레스 또는 MAC 어드레스를 변환하여 이루어 졌다. 이 때, 각 서버는 유일한 IP 어드레스를 가지고 있어야 하므로, 서버의 수만큼 IP 어드레스가 필요할 뿐 아니라, 각 서버가 독립적으로 주소요청응답 동작을 실행함으로써(즉, ARP request를 독립적으로 실행) 네트워크 부하가 커지게 되고, 이를 위한 별도의 L4 스위치 채용으로 인해 구현 비용이 증가한다는 문제점이 있다.
상기와 같은 문제점을 해결하기 위하여, 클러스터에 속한 각 서버가 동일한 MAC 어드레스와 IP 어드레스를 갖도록 하고, 클러스터 내부의 통신을 위한 별도의 인터페이스를 마련하여, 이 인터페이스에 각 서버마다 고유한 MAC 어드레스 및 IP 어드레스를 부여하도록 한다. 클러스터 내부 통신을 위한 MAC 어드레스와 IP 어드 레스는 클러스터 외부의 시스템과 직접적인 브로드캐스팅(broadcasting)이 전혀 없으므로, 상기 클러스터 내부에서만 고유하면 되고, 클러스터 외부의 네트워크 전체에 대하여 히든(hidden)한 성격을 가지므로, 네트워크 전체에 대하여 MAC 어드레스 및 IP 어드레스의 자원의 낭비가 없다.
그러나 상기와 같이 MAC/IP 어드레스가 구별되지 않는 상황에서, 클러스터 외부의 시스템에서 발생한 요청을 클러스터 내의 각 서버로 분산하기 위해서는 기존의 L2/L3 스위칭(switching) 기술을 이용하는 것이 아니라, 대부분의 Management L2 스위치에 있는 트렁크(trunk) 기능이나, 일부 고급 L2 스위치에서 존재하는 패킷 필터링(packet filtering) 또는 리디렉션(redirection) 등의 기능을 이용하고 있으므로, 경제적 측면에서 그 효율성이 떨어진다는 단점이 있었다.
또한, 각 서버들의 IP 어드레스와 MAC 어드레스가 같은 클러스터의 구성에서는 클러스터 내부의 각 서버들간의 ARP(Address Resolution Protocol) 통신에 심각한 문제점이 발생한다. 즉, 각 서버가 주소요청 동작(ARP request)를 할 경우, 그 응답(response)를 제대로 자신이 받을 수 없을 뿐 아니라, 서버의 수가 증가하는 경우 주소요청 패킷이 전체 네트워크에 플러딩(flooding)되어 네트워크의 과부하를 발생시키게 되어 외부와 정상적인 주소요청응답 동작을 수행할 수 없다는 문제점이 있다.
도 1은 종래 기술에 따른 주소요청응답 동작을 수행하는 클러스터를 포함한 네크워크의 전체 구성을 도시한 구성도이다.
클러스터는 하나 이상의 서버, 예를 들어, 서버 1(110), 서버 2(120), 및 서 버 3(130)과, 스위치(140)로 구성될 수 있고, 외부의 시스템(160)은 하나 이상의 클라이언트와 하나 이상의 외부 서버로 구성되며, 외부 시스템에 대응하는 외부 스위치(150)을 포함하여 전체 네트워크가 구성될 수 있다.
스위치(140)는 클러스터를 대표하는 대표 MAC 어드레스와 IP 어드레스를 갖고 외부의 시스템과 통신을 하며, 외부의 요청에 대하여 로드 밸런싱(load balancing)을 수행하여, 클러스터의 부하 분산 동작을 수행한다.
또한, 클러스터의 각각의 서버, 즉, 서버 1(110), 서버 2(120), 및 서버 3(130)은 외부의 시스템에 대하여 히든(hidden)한 특성을 가지므로, 유효한 IP 어드레스를 할당 받지 못하고, 스위치(140)의 IP를 그대로 사용한다.
도 1에서, 서버 1(110), 서버 2(120), 및 서버 3(130)과 스위치(140), 외부 시스템(160)이 모두 동일한 브로드캐스팅 도메인(broadcast domain)에 포함되어 각 서버들이 외부 시스템(160)과 직접 주소요청응답 동작을 수행하는 경우, 외부 시스템(160)이 요청한 주소요청 신호(ARP request)가 클러스터 내부의 모든 서버, 즉, 서버 1(110), 서버 2(120), 및 서버 3(130)로 브로드캐스팅되고, 이에 대응하여 모든 서버에서 주소응답 신호(ARP response)를 외부의 시스템으로 전송한다. 이때, 각 서버의 MAC 어드레스를 다르게 설정하였을 경우에는 외부 시스템(160)의 주소 캐쉬의 테이블(table)이 자주 업데이트되고, 만약 같게 설정하였을 경우에는 하나의 주소요청 신호에 대해서 4번의 주소응답 신호를 받게 된다.
또한 각 서버들의 MAC 어드레스를 같게 설정할 경우, 서버1(110)에서 전송한 주소요청 신호에 대한 외부 시스템(160)의 주소응답 신호를 정상적으로 서버1(110) 로 전송할 수 없다는 문제점이 발생된다.
상기와 같이 클러스터 내부의 각 서버들과 외부 시스템(160)이 동일 브로드캐스팅 도메인에 있거나, 서버 1(110), 서버 2(120), 및 서버 3(130)이 외부 시스템(160)과 직접 주소요청응답 동작을 수행할 경우에 시스템의 과부하 또는 어드레스 자원의 낭비와 같은 문제점이 발생된다.
본 발명은 상기와 같은 종래 기술을 개선하기 위해 안출된 것으로서, 클러스터 내부의 각 서버들이 상기 클러스터 외부의 시스템에 대하여 모두 공통적으로 단 하나의 MAC 어드레스와 IP 어드레스를 갖게 하고, 상기 외부의 시스템과 통신을 수행하게 함으로써, 클러스터 내부 서버에 대한 별도의 MAC 어드레스와 IP 어드레스를 배제하여 네트워크의 과부하를 방지하고, MAC 어드레스와 IP 어드레스 자원의 낭비를 방지하는 네트워크 부하 분산 클러스터 시스템 및 방법을 제공하는 것을 목적으로 한다.
또한 본 발명에 따른 네트워크 부하 분산 클러스터 시스템 및 방법은, 클러스터 외부의 시스템의 요청에 대한 클러스터 내부에서의 통신을 위하여 클러스터 내부의 서버 각각에 외부의 시스템에 대하여 히든(hidden)한 고유의 MAC 어드레스 및 IP 어드레스를 부여하고, 상기 서버들 중 주소요청응답 동작을 수행하는 대표 서버를 설정하여 상기 대표 서버가 클러스터 내부의 각 서버들과 주소요청응답 동작을 수행하는 동시에, 클러스터 외부의 시스템과 주소요청응답 동작을 수행함으로써, 시스템의 요청을 분산하는 로드 밸런싱에 있어, 별도의 장비 또는 서버를 필요 로 하지 않고 기존의 일반적인 L2 스위치로 그 구현이 가능한 네트워크 부하 분산 클러스터 시스템 및 방법을 제공하는 것을 목적으로 한다.
또한 본 발명에 따른 네트워크 부하 분산 클러스터 시스템 및 방법은, 클러스터 내부의 대표 서버가 클러스터 외부의 시스템에 대한 주소요청응답 동작을 수행함에 있어 MAC 러닝(learning)을 수행할 때, 상기 주소요청응답 동작을 수행하는 모든 시스템에게 클러스터 내부의 서버로부터 수신한 주소요청 패킷을 동시에 브로드캐스팅하여, 대표 서버에서 MAC 러닝이 수행되는 것과 동시에 상기 엔진 서버에서도 MAC 러닝이 수행되도록 함으로써, 시스템의 요청에 대해 클러스터 내부 서버들간의 별도의 통신에 따른 통신 지연(delay)을 방지할 수 있는 네트워크 부하 분산 클러스터 시스템 및 방법을 제공하는 것을 목적으로 한다.
상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명에 따른 네트워크 부하 분산 클러스터 시스템은, 클러스터 외부의 시스템에 대하여 모두 동일한 MAC 어드레스 및 IP 어드레스를 가지고, 상기 시스템과의 통신을 위하여 클러스터 내부의 소정의 서버와 주소요청응답 동작을 수행하는 하나 이상의 엔진 서버와, 상기 엔진 서버의 주소요청에 대응하여 상기 엔진 서버로부터 소정의 패킷(packet)을 수신하고, 상기 패킷에서 추출한 쿼리(query) IP에 대응하는 엔트리(entry)가 소정의 주소 캐쉬(cache)에 존재할 경우, 상기 엔진 서버로 상기 엔트리 응답신호를 전송하고, 상기 쿼리 IP에 대응하는 엔트리가 자신의 주소 캐쉬에 존재하지 않을 경우, 자신의 IP를 소스 주소로 하고 상기 쿼리 IP를 목적지(destination) 주소로 정하여 주소요청 패킷을 상기 클러스터 외부의 시스템으로 브로드캐스팅(broadcasting)하며, 상기 엔진 서버의 주소요청 패킷을 주소응답 큐에 기록하는 주소요청응답 서버, 및 상기 엔진 서버와 주소요청응답 서버에 상기 클러스터 내부에서만 인식되는 고유한 MAC 어드레스와 IP 어드레스를 부여함으로써 상기 시스템의 요청 신호를 상기 엔진 서버로 분산하여 부하 분산 동작을 수행하는 내부 스위치를 포함하여 구성된다.
또한, 본 발명에 따른 네트워크 부하 분산 클러스터 시스템의 주소요청응답 서버는, 상기 클러스터 외부의 시스템으로 브로드캐스팅한 주소요청 패킷에 대응하는 주소응답 신호를 수신하고, 상기 주소응답 큐에 기록되어 있는 주소요청 패킷의 쿼리 IP에 대응하는 주소응답 신호를 상기 주소요청 패킷을 전송한 엔진 서버로 전송하는 동작을 수행한다.
또한, 본 발명에 따른 네트워크 부하 분산 클러스터 시스템의 주소요청응답 서버는, 상기 클러스터 외부의 시스템에 대한 주소요청응답 동작에 있어서 MAC 러닝(learning)을 수행할 때, 상기 주소요청응답 동작을 수행하는 모든 시스템에게 상기 엔진 서버로부터 수신한 주소요청 패킷을 동시에 브로드캐스팅함으로써, 상기 주소요청응답 서버에서 MAC 러닝이 수행되는 것과 동시에 상기 엔진 서버에서도 MAC 러닝이 수행되도록 한다.
본 발명에서 주로 언급되는 주소요청응답 동작, 즉 ARP(Address Resolution Protocol)는 물리적 주소(physical address)인 MAC 어드레스와 네트워크 주소(network address)인 IP 어드레스를 매칭시키는 프로토콜(protocol)을 의미한 다. 네트워크 상의 특정 호스트(host)의 네트워크 주소를 알고 있을 때 상기 호스트의 물리적 주소를 찾을 때 사용되고, 주로 LAN(Ethernet)에서 사용된다. 상술한 ARP는 라우터(router) 뿐만 아니라 호스트에서도 사용될 수 있다. 인터넷에서 모든 노드(node: 예를 들어 라우터, 호스트 등)들은 각각 IP 어드레스를 가지고 있어서 인터넷을 통하여 서로 패킷을 송수신하는 데이터 통신을 가능하게 한다. 상기 노드는 이러한 IP 어드레스 이외에, 지역적으로 사용할 수 있는 링크 계층 주소(Link Layer Address)(L2)를 가지고 있는데, 이것은 물리적 주소(physical address), MAC 어드레스, 이더넷(Ethernet) 주소와 동일한 의미로 사용된다. 기본적으로 패킷 전송은 MAC 어드레스를 이용하여 같은 이더넷의 지역 내에서 전송되는데, 동일한 네트워크 내에서 호스트와 호스트, 호스트와 라우터 간에는 MAC 어드레스를 이용하여 패킷의 전송이 수행된다.
다음 절차는 네트워크상에서 MAC 어드레스와 IP 어드레스를 이용하여 호스트 A와 호스트 B가 패킷을 전송하는 절차의 바람직한 일실시예에 대한 것이다.
1) 호스트 A에서 호스트 B로 TCP/IP 패킷을 전송하고자 한다.
2) 현재 호스트 A는 호스트 B의 IP 어드레스는 알고 있지만, MAC 어드레스는 모르고 있다.
3) 호스트 A는 호스트 B의 MAC 어드레스를 알기 위해서 ARP Request 패킷을 네트워크 내의 모든 노드로 브로드캐스팅한다.
4) 호스트 C는 호스트 A의 ARP Request 패킷을 수신하지만, 자신의 IP 어드레스에 해당되지 않으므로 응답하지 않는다.
5) 호스트 B는 호스트 A의 ARP Request 패킷을 수신하고, 자신의 IP 어드레스에 해당됨을 확인한 후, 호스트 A에게 자신의 MAC 어드레스를 ARP Response 패킷과 함께 전송함으로써 응답 동작을 수행한다.
6) 호스트 A는 호스트 B로부터 온 ARP Response 패킷을 수신함으로써, 호스트 B의 MAC 어드레스를 확인한다.
7) 호스트 A는 호스트 B의 MAC 어드레스를 이용하여 직접 TCP/IP 패킷을 전송한다.
8) 호스트 A가 호스트 B에게 TCP/IP 패킷을 다시 전송하고자 할 경우, 호스트 A는 최근에 사용한 ARP Table을 기록한 ARP 캐쉬(cache)에서 호스트 B의 MAC 어드레스를 추출하여 바로 호스트 B로 TCP/IP 패킷을 직접 전송한다. 단, 호스트 A의 ARP 캐쉬의 ARP Table은 일정 시간 동안 사용하지 않으면 자동 삭제되도록 구현될 수 있다.
위와 절차에서 설명된 바와 같이, ARP는 동일 이더넷에서의 ARP를 의미하고, 특정 호스트의 IP 어드레스를 알고 있는 경우 그에 대응하는 MAC 어드레스를 찾기 위해 사용되는 일련의 동작을 규정한 프로토콜이다.
이하에서는 첨부된 도면을 참조하여 본 발명에 따른 네트워크 부하 분산 클러스터 시스템의 바람직한 실시예를 상세히 설명한다.
도 2는 본 발명의 바람직한 일실시예에 따른 네트워크 부하 분산 클러스터 시스템을 포함한 네트워크의 전체 구성을 도시한 구성도이다.
도 2에 따르면, 본 발명의 네트워크 부하 분산 클러스터 시스템(200)은 주소 요청응답 서버(220), 엔진 서버 1(220), 엔진 서버 2(230), 내부 스위치(240)으로 구성되고, 클러스터(200)의 구성과, 외부 스위치(250)와, 클라이언트 1, 클라이언트 2, 외부 서버 1, 및 외부 서버 2를 포함하는 외부 시스템(260)을 포함하여 전체 네트워크가 구성될 수 있다.
본 발명의 바람직한 일실시예에 따른 클러스터(200)는 하나 이상의 엔진 서버들로 구성되고, 상기 하나 이상의 엔진 서버들 중 어느 하나를 선택하여 클러스터(200)의 외부 시스템과 주소요청응답 동작을 수행하기 위한 주소요청응답 서버(210)로 지정한다. 주소요청응답 서버(210)에 장애가 발생하여 그 기능을 수행하지 못할 경우에는 엔진 서버 1(220)이 주소요청응답 서버로 지정되어 외부 시스템과의 주소요청응답 동작을 수행할 수도 있다. 또한, 내부 스위치(240)는 종래 기술에서 널리 사용되는 일반적인 L2 스위치일 수도 있고, 트렁크(trunk) 기능이나, 패킷 필터링(packet filtering), 리디렉션(redirection) 기능을 보유한 고급 L2 스위치일 수도 있다.
엔진 서버 1(220)과 엔진 서버 2(230)는 클러스터(200) 외부 시스템(260)에 대하여 모두 동일한 MAC 어드레스 및 IP 어드레스를 가지고 있으며, 외부 시스템(260)과의 통신을 위하여 내부 스위치(240)가 부여한 고유의 MAC 어드레스 및 IP 어드레스를 이용하여 클러스터(200) 내부의 주소요청응답 서버(210)와 주소요청응답 동작, 즉 ARP(Address Resolution Protocol)를 수행한다. 내부 스위치가 부여한 엔진 서버 1(220) 및 엔진 서버 2(230)의 고유한 MAC 어드레스 및 IP 어드레스는 클러스터(200) 외부의 시스템에서는 인식할 수 없고, 클러스터(200) 내부의 주소요청응답 동작(ARP)에서만 유효한 특성을 갖는다. 따라서 엔진 서버 1(220) 및 엔진 서버 2(230)는 클러스터(200)의 외부 시스템(260)에 대하여 직접 주소요청응답 동작(ARP)을 수행하지 않고, 주소요청응답 서버(210)로 주소요청응답 동작(ARP)을 수행함으로써, 외부의 시스템(260)과 통신을 수행한다.
주소요청응답 서버(210)는 엔진 서버 1(220) 또는 엔진 서버 2(230)의 주소요청에 대응하여 해당 엔진 서버로부터 소정의 패킷(packet)을 수신하고, 상기 패킷에서 추출한 쿼리(query) IP에 대응하는 엔트리(entry)가 소정의 주소 캐쉬(cache)에 존재할 경우, 해당 엔진 서버로 엔트리에 대한 응답신호를 전송한다.
상기 쿼리 IP에 대응하는 엔트리가 자신의 주소 캐쉬에 존재하지 않을 경우, 주소요청응답 서버(210)의 IP를 소스(source) 주소로 정하고, 상기 쿼리 IP를 목적지(destination) 주소로 정하여 주소요청 패킷을 상기 클러스터의 외부 시스템(260)으로 브로드캐스팅(broadcasting)하며, 상기 엔진 서버의 주소요청 패킷을 주소응답 큐(que)에 기록하는 동작을 수행한다. 또, 클러스터(200) 외부의 시스템(260)으로 브로드캐스팅한 주소요청 패킷에 대응하는 주소응답 신호를 수신하고, 상기 주소응답 큐에 기록되어 있는 주소요청 패킷의 쿼리 IP에 대응하는 주소응답 신호를 상기 주소요청 패킷을 전송한 엔진 서버로 전송하는 동작을 수행하여 클러스터(200) 내부의 엔진 서버 1(220) 및 엔진 서버 2(230)와 외부 시스템(260)과의 통신을 위한 기존의 주소요청응답 동작(ARP)보다 진보된 주소요청응답 동작(ARP)을 수행할 수 있다.
내부 스위치(240)는 엔진 서버 1(220) 및 엔진 서버 2(230)와 주소요청응답 서버(210)에 클러스터(200) 내부에서만 인식되는 고유한 MAC 어드레스와 IP 어드레스를 부여함으로써 상기 시스템의 요청 신호를 상기 엔진 서버로 분산하여 로드 밸런싱(load balancing), 즉, 부하 분산 동작을 수행한다.
또한, 주소요청응답 서버(210)와 외부 시스템(260)은 서로 동일한 브로드캐스팅 도메인(domain)을 갖고, 엔진 서버 1(220) 및 엔진 서버 2(230)는 주소요청응답 서버(210)와 외부 시스템(260)이 갖는 브로드캐스팅 도메인을 갖지 않는다.
도 2에 따른 본 발명의 또 다른 일실시예에 따르면, 주소요청응답 서버(210)는 클러스터(200)의 외부 시스템(260)에 대한 주소요청응답 동작에 있어서 MAC 러닝(learning)을 수행하는 경우 상기 주소요청응답 동작을 수행하는 모든 외부 시스템(260)에게 엔진 서버 1(220) 또는 엔진 서버 2(230)로부터 수신한 주소요청 패킷을 동시에 브로드캐스팅함으로써, 주소요청응답 서버(210)에서 MAC 러닝이 수행되는 것과 동시에 상기 엔진 서버들에서도 MAC 러닝이 수행되도록 한다.
도 3은 본 발명의 바람직한 일실시예에 따른 네트워크 클러스터 부하 분산 방법의 절차를 도시한 흐름도이다.
클러스터 내의 엔진 서버가 주소요청응답 서버로 외부의 시스템에 대하여 주소를 요청하면(S311), 주소요청응답 서버는 주소요청 패킷을 수신하고(S312), 상기 주소요청 패킷에서 상기 엔진 서버가 요청한 쿼리 IP를 추출한다(S313). 주소요청응답 서버는 추출한 쿼리 IP에 대응하는 엔트리(entry)를 주소 캐쉬에서 검색하고(S314), 엔트리가 상기 주소 캐쉬에 존재하는지 여부를 판단한다(S315).
엔트리가 주소 캐쉬에 존재할 경우에는 엔진 서버로 상기 엔트리에 대한 주소응답 신호를 전송하고(S316), 상기 엔진 서버는 주소응답 신호를 수신하여 외부의 시스템과 통신을 수행한다.
엔트리가 주소 캐쉬에 존재하지 않을 경우에는 주소요청응답 서버의 IP를 소스 주소로 정하고, 쿼리 IP를 목적지 주소로 정하여 주소요청 패킷을 상기 클러스터 외부의 시스템으로 브로드캐스팅한다(S318). 이 때, 상기 브로드캐스팅에 있어서, MAC 러닝이 수행되는 경우 상기 브로드캐스팅을 수행하는 모든 외부의 시스템에게 상기 엔진 서버로부터 수신한 주소요청 패킷을 동시에 브로드캐스팅할 수도 있다. 또한 단계 S318의 동작과 동시에 상기 엔진 서버가 요청한 주소요청 패킷을 주소요청응답 서버의 주소응답 큐에 기록한다(S319).
클러스터 외부의 시스템은 상기 주소요청응답 서버가 브로드캐스팅한 주소요청 패킷을 수신하고(S320), 상기 주소요청 패킷에 대응하여 제1 주소응답 신호를 전송한다. 제1 주소응답 신호는 주소요청 패킷의 쿼리 IP에 대응하는 응답 신호를 포함할 수도 있고, 포함하지 않을 수도 있다.
주소요청응답 서버는 외부의 시스템이 전송한 제1 주소응답 신호를 수신하고(S322), 주소응답 큐를 검색하여(S323), 즉, 주소응답 큐에 기록되어 있는 주소요청 패킷의 쿼리 IP에 대응하는 제1 주소응답 신호를 검색하여(S324), 제2 주소응답 신호를 추출한다. 상기 추출한 제2 주소응답 신호를 상기 주소요청 패킷을 전송한 엔진 서버로 전송한다(S325). 상기 제2 주소응답 신호는 상기 제1 주소응답 신호에 상기 주소요청 패킷의 쿼리 IP에 대응하는 응답 신호를 포함한 것일 수 있다. 엔진 서버는 제2 주소응답 신호를 수신하여(S326), 클러스터 외부의 시스템과 TCP/IP 패킷을 송수신하는 등의 데이터 통신을 수행하게 된다.
또한, 단계(324)에서 주소응답 큐를 검색하였으나 주소요청 패킷의 쿼리 IP에 대응하는 제1 주소응답 신호가 검색되지 않을 경우, 즉, 제1 주소응답 신호가 쿼리 IP에 대응하는 응답 신호가 아닐 경우에는 제1 주소 응답 신호가 갱신된 엔트리 신호인지 여부를 판단한다(S327). 즉, 제1 주소응답 신호가 새롭게 러닝(learning)된 ARP 엔트리(entry)라면, 제1 주소응답 신호를 클러스터 내부의 모든 엔진 서버에 브로드캐스팅(broadcasting)하여 제1 주소응답 신호의 정보를 애드버타이징(advertising)하고(S328), 단계(327)에서 제1 주소응답 신호가 새롭게 러닝된 ARP 엔트리가 아니라면, 단계(322)로 다시 돌아가 새로운 제1 주소응답 신호를 수신한다. 클러스터 내부의 모든 엔진 서버는 새롭게 러닝된 ARP 엔트리를 포함하는 제1 주소응답 신호를 수신하여(S329), 클러스터 외부 시스템에 대한 ARP 엔트리를 갱신할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
본 발명의 네트워크 부하 분산 클러스터 시스템 및 방법에 따르면, 클러스터 내부의 각 서버들이 상기 클러스터 외부의 시스템에 대하여 모두 공통적으로 단 하나의 MAC 어드레스와 IP 어드레스를 갖게 하고, 상기 외부의 시스템과 통신을 수행하게 함으로써, 클러스터 내부 서버에 대한 별도의 MAC 어드레스와 IP 어드레스를 배제하여 네트워크의 과부하를 방지하고, MAC 어드레스와 IP 어드레스 자원의 낭비를 방지하는 효과를 얻을 수 있다.
또한, 본 발명의 따른 네트워크 부하 분산 클러스터 시스템 및 방법에 따르면, 클러스터 외부의 시스템의 요청에 대한 클러스터 내부에서의 통신을 위하여 클러스터 내부의 서버 각각에 외부의 시스템에 대하여 히든(hidden)한 고유의 MAC/IP 어드레스를 부여하고, 상기 서버들 중 주소요청응답 동작을 수행하는 대표 서버를 설정하여 상기 대표 서버가 클러스터 내부의 각 서버들과 주소요청응답 동작을 수행하는 동시에, 클러스터 외부의 시스템과 주소요청응답 동작을 수행함으로써, 시스템의 요청을 분산하는 로드밸런싱에 있어, 별도의 장비 또는 서버를 필요로 하지 않고 기존의 일반적인 L2 스위치로 그 구현이 가능하여 보다 경제적으로 클러스터를 구성할 수 있다는 효과를 얻을 수 있다.
또한, 본 발명의 따른 네트워크 부하 분산 클러스터 시스템 및 방법에 따르면, 클러스터 내부의 대표 서버가 클러스터 외부의 시스템에 대한 주소요청응답 동작을 수행함에 있어 MAC 러닝(learning)을 수행할 때, 상기 주소요청응답 동작을 수행하는 모든 시스템에게 클러스터 내부의 서버로부터 수신한 주소요청 패킷을 동시에 브로드캐스팅하여, 대표 서버에서 MAC 러닝이 수행되는 것과 동시에 상기 엔진 서버에서도 MAC 러닝이 수행되도록 함으로써, 시스템의 요청에 대해 클러스터 내부 서버들간의 별도의 통신에 따른 통신 지연(delay)을 방지할 수 있는 효과를 얻을 수 있다.

Claims (8)

  1. 네트워크의 부하 분산 클러스터 시스템에 있어서,
    상기 클러스터 외부의 시스템에 대하여 모두 동일한 MAC 어드레스 및 IP 어드레스를 가지고, 상기 외부의 시스템과의 통신을 위하여 상기 클러스터 내부의 소정의 서버와 주소요청응답 동작을 수행하는 하나 이상의 엔진 서버;
    상기 엔진 서버의 주소요청에 대응하여 상기 엔진 서버로부터 소정의 패킷(packet)을 수신하고, 상기 패킷에서 추출한 쿼리(query) IP에 대응하는 엔트리(entry)가 소정의 주소 캐쉬(cache)에 존재할 경우, 상기 엔진 서버로 상기 엔트리에 대한 응답신호를 전송하고, 상기 쿼리 IP에 대응하는 엔트리가 상기 주소 캐쉬에 존재하지 않을 경우, 선정된(predetermined) IP를 소스 주소로 하고 상기 쿼리 IP를 목적지(destination) 주소로 정하여 주소요청 패킷을 상기 클러스터 외부의 시스템으로 브로드캐스팅(broadcasting)하며, 상기 엔진 서버의 주소요청 패킷을 주소응답 큐에 기록하는 주소요청응답 서버 - 상기 주소 캐쉬는 상기 주소요청응답 서버의 주소 캐쉬이고, 상기 선정된 IP는 상기 주소요청응답 서버의 IP임 -; 및
    상기 엔진 서버와 주소요청응답 서버에 상기 클러스터 내부에서만 인식되는 고유한 MAC 어드레스와 IP 어드레스를 부여함으로써 상기 시스템의 요청 신호를 상기 엔진 서버로 분산하여 부하 분산 동작을 수행하는 내부 스위치
    를 포함하고,
    상기 주소요청응답 서버는 상기 클러스터 외부의 시스템으로 브로드캐스팅한 주소요청 패킷에 대응하는 주소응답 신호를 수신하고, 상기 주소응답 큐에 기록되어 있는 주소요청 패킷의 쿼리 IP에 대응하는 주소응답 신호를 상기 주소요청 패킷을 전송한 엔진 서버로 전송하는 동작을 수행하는 것을 특징으로 하는 네트워크 부하 분산 클러스터 시스템.
  2. 제1항에 있어서,
    상기 하나 이상의 엔진 서버와 주소요청응답 서버는 상기 클러스터 외부의 시스템에 대하여 단 하나의 IP 어드레스와 MAC 어드레스를 갖고 통신하는 것을 특징으로 하는 네트워크 부하 분산 클러스터 시스템.
  3. 제1항에 있어서,
    상기 엔진 서버는 상기 클러스터 외부의 시스템에 대하여 직접 주소요청응답 동작을 수행하지 않고, 상기 주소요청응답 서버로 주소요청응답 동작을 수행하여 상기 시스템과 통신을 수행하는 것을 특징으로 하는 네트워크 부하 분산 클러스터 시스템.
  4. 제1항에 있어서,
    상기 주소요청응답 서버는 상기 클러스터 외부의 시스템에 대한 주소요청응답 동작에 있어서 MAC 러닝(learning)을 수행할 때, 상기 주소요청응답 동작을 수행하는 모든 시스템에게 상기 엔진 서버로부터 수신한 주소요청 패킷을 동시에 브로드캐스팅함으로써, 상기 주소요청응답 서버에서 MAC 러닝이 수행되는 것과 동시 에 상기 엔진 서버에서도 MAC 러닝이 수행되도록 하는 것을 특징으로 하는 네트워크 부하 분산 클러스터 시스템.
  5. 제1항에 있어서,
    상기 주소요청응답 서버와 상기 클러스터 외부의 시스템은 동일한 브로드캐스팅 도메인(domain)을 갖고,
    상기 엔진 서버는 상기 주소요청응답 서버와 상기 클러스터 외부의 시스템이 갖는 브로드캐스팅 도메인을 갖지 않는 것을 특징으로 하는 네트워크 부하 분산 클러스터 시스템.
  6. 네트워크 클러스터 부하 분산 방법에 있어서,
    주소요청응답 동작을 수행하는 엔진 서버로부터 주소요청 패킷을 수신하는 단계;
    상기 주소요청 패킷에서 쿼리 IP를 추출하는 단계;
    상기 쿼리 IP에 대응하는 엔트리를 주소 캐쉬로부터 검색하는 단계;
    상기 엔트리가 상기 주소 캐쉬에 존재할 경우, 상기 엔진 서버로 상기 엔트리에 대한 주소응답 신호를 전송하고, 상기 엔트리가 주소 캐쉬에 존재하지 않을 경우, 주소요청응답 서버의 IP를 소스 주소로 정하고, 상기 쿼리 IP를 목적지 주소로 정하여 주소요청 패킷을 상기 클러스터 외부의 시스템으로 브로드캐스팅하는 단계;
    상기 엔진 서버가 요청한 주소요청 패킷을 주소응답 큐에 기록하는 단계;
    상기 클러스터 외부의 시스템으로 브로드캐스팅한 주소요청 패킷에 대응하여 주소응답 신호를 수신하는 단계;
    상기 주소응답 큐에 기록되어 있는 주소요청 패킷의 쿼리 IP에 대응하는 주소응답 신호를 검색하는 단계; 및
    상기 주소응답 신호를 상기 주소요청 패킷을 전송한 엔진 서버로 전송하는 단계
    를 포함하는 것을 특징으로 하는 네트워크 클러스터 부하 분산 방법.
  7. 제6항에 있어서,
    상기 주소요청 패킷을 상기 클러스터 외부의 시스템으로 브로드캐스팅하는 상기 단계는,
    상기 브로드캐스팅 있어서 MAC 러닝이 수행될 때, 상기 브로드캐스팅을 수행하는 모든 외부의 시스템에게 상기 엔진 서버로부터 수신한 주소요청 패킷을 동시에 브로드캐스팅하는 단계를 포함하는 것을 특징으로 하는 네트워크 클러스터 부하 분산 방법.
  8. 제6항 및 제7항 중 어느 하나의 항의 방법을 실행하기 위한 프로그램을 기록하는, 컴퓨터에서 판독 가능한 기록매체.
KR1020040052564A 2004-07-07 2004-07-07 네트워크상에서 단일의 mac/ip 어드레스를 갖는 부하분산 클러스터 시스템 및 부하 분산 클러스터링 방법 KR100666451B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040052564A KR100666451B1 (ko) 2004-07-07 2004-07-07 네트워크상에서 단일의 mac/ip 어드레스를 갖는 부하분산 클러스터 시스템 및 부하 분산 클러스터링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040052564A KR100666451B1 (ko) 2004-07-07 2004-07-07 네트워크상에서 단일의 mac/ip 어드레스를 갖는 부하분산 클러스터 시스템 및 부하 분산 클러스터링 방법

Publications (2)

Publication Number Publication Date
KR20060003608A KR20060003608A (ko) 2006-01-11
KR100666451B1 true KR100666451B1 (ko) 2007-01-09

Family

ID=37106026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040052564A KR100666451B1 (ko) 2004-07-07 2004-07-07 네트워크상에서 단일의 mac/ip 어드레스를 갖는 부하분산 클러스터 시스템 및 부하 분산 클러스터링 방법

Country Status (1)

Country Link
KR (1) KR100666451B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101460293B1 (ko) * 2008-03-26 2014-11-10 주식회사 케이티 이동통신망에서 속성 변경된 무선통신단말의 세션 정보를확인하는 방법 및 시스템
KR101988130B1 (ko) * 2017-11-21 2019-09-30 두산중공업 주식회사 배전망 및 그리드망에서의 노드관리 게이트웨이 장치 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040110647A (ko) * 2003-06-20 2004-12-31 주식회사 케이티 각 서버간 부하 분산 시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040110647A (ko) * 2003-06-20 2004-12-31 주식회사 케이티 각 서버간 부하 분산 시스템 및 그 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문

Also Published As

Publication number Publication date
KR20060003608A (ko) 2006-01-11

Similar Documents

Publication Publication Date Title
US8423632B2 (en) Method, network management center, and a related device for configuring a network policy for a virtual port
CN109802985B (zh) 数据传输方法、装置、设备及可读取存储介质
CN110710168B (zh) 跨隔离的网络堆栈的智能线程管理
US8767737B2 (en) Data center network system and packet forwarding method thereof
EP3070887B1 (en) Communication method, device and system for virtual extensible local area network
US20180343228A1 (en) Packet Generation Method Based on Server Cluster and Load Balancer
US5805924A (en) Method and apparatus for configuring fabrics within a fibre channel system
KR101442309B1 (ko) 다수의 아답터들을 통해서 다수의 가상 ip 어드레스를 동시에 지원하는 호스트내 페일오버
WO2018228302A1 (zh) 用于虚拟网络链路检测的方法及装置
US11696110B2 (en) Distributed, crowdsourced internet of things (IoT) discovery and identification using Block Chain
EP2343867B1 (en) System and method of reducing intranet traffic on bottleneck links in a telecommunications network
WO2016134624A1 (zh) 路由方法、装置及***、网关调度方法及装置
US20050091387A1 (en) Network switch for logical isolation between user network and server unit management network and its operating method
CN101924707A (zh) 地址解析协议报文的处理方法和设备
ES2159265A1 (es) Un sistema y metodo para introducir un nuevo servicio
CN106464745A (zh) Dns的服务器、客户端及数据同步方法
EP3937502A1 (en) Method, apparatus and device for pushing video stream, and storage medium
CN112311907A (zh) 一种arp请求响应方法、负载均衡设备及相关装置
CN101980488A (zh) Arp表项的管理方法和三层交换机
KR100666451B1 (ko) 네트워크상에서 단일의 mac/ip 어드레스를 갖는 부하분산 클러스터 시스템 및 부하 분산 클러스터링 방법
US20220269411A1 (en) Systems and methods for scalable shared memory among networked devices comprising ip addressable memory blocks
KR20210016802A (ko) 소프트웨어 정의 네트워킹 환경에서 서버-클라이언트 기반의 네트워크 서비스를 위한 플로우 테이블을 최적화하는 방법 및 이를 위한 sdn 스위치
Alomari et al. Towards optimal synchronization in NFV‐based environments
JP4485875B2 (ja) ストレージ接続変更方法、ストレージ管理システム及びプログラム
US10931565B2 (en) Multi-VRF and multi-service insertion on edge gateway virtual machines

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170103

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190103

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 14