KR20140059846A - 부하 저감 시스템, 및 부하 저감 방법 - Google Patents

부하 저감 시스템, 및 부하 저감 방법 Download PDF

Info

Publication number
KR20140059846A
KR20140059846A KR1020147009092A KR20147009092A KR20140059846A KR 20140059846 A KR20140059846 A KR 20140059846A KR 1020147009092 A KR1020147009092 A KR 1020147009092A KR 20147009092 A KR20147009092 A KR 20147009092A KR 20140059846 A KR20140059846 A KR 20140059846A
Authority
KR
South Korea
Prior art keywords
packet
received
switch
flow entry
flow
Prior art date
Application number
KR1020147009092A
Other languages
English (en)
Other versions
KR101579014B1 (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 닛본 덴끼 가부시끼가이샤
Publication of KR20140059846A publication Critical patent/KR20140059846A/ko
Application granted granted Critical
Publication of KR101579014B1 publication Critical patent/KR101579014B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/287Remote access server, e.g. BRAS
    • H04L12/2874Processing of data for distribution to the subscribers
    • 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/20Traffic policing
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

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

Abstract

본 발명은, 구성되어 있지 않은 플로우 엔트리에 대해서는 컨트롤러에의 쿼리의 제출을 감소시켜, 컨트롤러에 대한 부하를 줄임으로써 오픈 플로우 네트워크 시스템을 안정화시킨다. 구체적으로, 컨트롤러는, 스위치의 플로우 테이블에, 패킷을 플로우로서 균일하게 제어하기 위해 필요한 규칙 및 동작을 정의하는 플로우 엔트리를 등록한다. 패킷이 수신되면, 상기 수신된 패킷에 해당하는 플로우 엔트리가 이미 플로우 테이블에 등록되어 있지 않은 경우, 스위치는, 수신된 패킷에 해당하는 플로우 엔트리에 관한 컨트롤러에의 쿼리를 제출하고, 수신된 패킷을 스택하고, 수신된 패킷에 해당하는 플로우 엔트리가 등록될 때까지 스택된 패킷을 사용함으로써, 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷의 전송을 제어한다.

Description

부하 저감 시스템, 및 부하 저감 방법{LOAD REDUCTION SYSTEM, AND LOAD REDUCTION METHOD}
본 발명은, 부하 저감 시스템에 관한 것으로, 특히 CD 분리형 네트워크에 있어서의 컨트롤러의 부하 저감 시스템에 관한 것이다.
외부의 컨트롤러(컨트롤 플레인)로부터 스위치, 단말기 등(데이터 플레인)을 제어하는 방법은, CD(C: 컨트롤 플레인/D: 데이터 플레인) 분리형 아키텍쳐라고 한다. 이러한 CD 분리형 아키텍쳐의 네트워크 구성은, CD 분리형 네트워크라고 한다.
CD 분리형 네트워크의 일례로서는, 컨트롤러로부터 스위치를 제어해서 네트워크의 경로 제어를 실행하는 오픈 플로우(OpenFlow) 기술을 이용하는 오픈 플로우 네트워크를 들 수 있다. 오픈 플로우 네트워크는 일례에 불과하다는 점에 유의해야 한다.
[오픈 플로우 네트워크]
오픈 플로우 네트워크에서는, MAC 어드레스, IP 어드레스 및 포트 번호 등의 조합에 의해 결정되는 일련의 통신을 "플로우(flow)"로 정의한다. 경로 제어, 장해 회복, 부하 분산 및 최적화는, 플로우 단위로 실행된다.
오픈 플로우 네트워크에서는, OFC(OpenFlow Controller) 등의 컨트롤러가, OFS(OpenFlow Switch) 등의 스위치의 플로우 테이블을 조작함으로써 스위치의 거동을 제어한다.
컨트롤러와 스위치는, 컨트롤러에 의해 오픈 플로우 프로토콜에 근거한 제어 메시지를 이용해서 스위치를 제어하기 위한 시큐어 채널(secure channel)에 의해 접속되어 있다. 컨트롤러와 스위치는, 시큐어 채널을 통해서 오픈 플로우(OpenFlow) 프로토콜에 준거하여 오픈 플로우 메시지를 송수신한다.
오픈 플로우 네트워크에 있어서의 스위치는, 오픈 플로우 네트워크를 형성하고, 컨트롤러에 의해 제어되는 엣지 스위치(Edge Switch) 및 코어 스위치(Core Switch)로서 소개된다. 엣지 스위치는, 오픈 플로우 네트워크와 이와는 다른 네트워크와의 사이의 경계에 위치한 스위치라는 점에 유의해야 한다. 또한, 코어 스위치는, 오픈 플로우 네트워크 내의 패킷을 중계하는데 사용되는 스위치이다. 오픈 플로우 네트워크에 있어서, 컨트롤러는, 경로 상의 스위치의 플로우 테이블을 조작할 수 있고, 입력측 엣지 스위치(Ingress)에서의 패킷의 수신(유입)으로부터 출력측 엣지 스위치(Egress)에서의 패킷의 전송(유출)까지의 플로우를 제어할 수 있다.
패킷은 프레임(frame)이라고 지칭될 수 있다. 패킷과 프레임 간의 차이는, 프로토콜에서 취급되는 데이터의 단위(PDU: Protocol Data Unit)에서의 차이에 불과하다. 패킷은 "TCP/IP"(Transmission Control Protocol/Internet Protocol)의 PDU이다. 한편, 프레임은, "이더넷(Ethernet)"(등록상표)의 PDU이다.
플로우 테이블은, 소정의 일치 조건(match condition)(규칙)을 준수하는 패킷에 대하여 행해진 소정의 동작을 정의하기 위해 플로우 엔트리가 등록되어 있는 테이블이다.
플로우 엔트리의 규칙은, 각 프로토콜 계층의 패킷의 헤더 영역에 포함되는 수신처 어드레스(Destination Address), 전송원 어드레스(Source Address), 수신처 포트(Destination Port) 및 전송원 포트(Source Port) 중 하나 이상의 조합에 기초하여 정의되고, 이들은 구별가능하다. 상기의 어드레스는, MAC 어드레스(Media Access Control Address) 및 IP 어드레스(Internet Protocol Address)를 포함한다는 점에 유의해야 한다. 또한, 상기 외에, 입구 포트(Ingress Port)의 데이터도, 플로우 엔트리의 규칙으로서 사용가능하다.
플로우 엔트리의 동작은, "특정한 포트에 출력한다", "폐기한다" 또는 "헤더를 재기입한다"라고 하는 동작을 나타낸다. 예를 들면, 스위치는, 플로우 엔트리의 동작이 출력 포트의 식별 데이터(출력 포트 번호 등)를 나타내면, 이것에 해당하는 포트에 패킷을 출력하고, 출력 포트의 식별 데이터가 나타내지고 있지 않으면, 패킷은 폐기된다. 또는, 플로우 엔트리의 동작이 헤더 데이터를 나타내면, 패킷의 헤더는 헤더 데이터에 기초하여 재기입된다.
오픈 플로우 네트워크에 있어서의 스위치는, 플로우 엔트리의 규칙에 준수하는 패킷 군(패킷 시리즈)에 대하여, 플로우 엔트리의 동작을 실행한다.
오픈 플로우 기술의 상세에 대해서는, 비특허 문헌 1에 기재되어 있다.
플로우 설정(Flow Setup)이 미리 완료되어 있지 않은 오픈 플로우 네트워크에서는, 스위치에 의해 우선 수신된 미지의 패킷(제1 패킷) 각각에 대해서, 수신된 패킷의 카피(미러 패킷)는, 플로우 엔트리의 문의 메시지(packet in)로서, 플로우 엔트리가 플로우 테이블에 등록될 때까지, 스위치로부터 컨트롤러로 전송된다.
그러나, 플로우 테이블에 플로우 엔트리가 등록되어 있지 않은 동일한 플로우의 패킷이 연속해서 스위치에 의해 수신되었을 경우에는, 컨트롤러에의 플로우 엔트리의 문의 메시지(packet in)의 수가 증가하여, 컨트롤러의 부담을 증대시키게 된다.
오픈 플로우 네트워크를 관리하는 컨트롤러에 부하가 걸리면, 네트워크의 안정화에 문제가 생긴다. 따라서, 컨트롤러에 대한 부하의 저감이 요구되고 있다.
"OpenFlow Switch Specification, Version 1.0.0", [online], 2009년 12월 31일, [2011년 9월 8일 검색], 인터넷 (URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf)
제1 과제로서, 오픈 플로우 네트워크에 있어서, 플로우 테이블에 플로우 엔트리가 등록되어 있지 않은 동일한 플로우의 패킷을 스위치에 의해 연속해서 수신했을 경우에, 컨트롤러의 처리 성능이 낮으면, 스위치로부터 컨트롤러에 여러 차례 플로우 엔트리의 문의 메시지(packet in)가 전송되어, 컨트롤러에의 부하가 증대하게 된다.
제2 과제로서, 오픈 플로우 네트워크는, 플로우 테이블에 플로우 엔트리가 등록되지 않으면, 스위치가 패킷 전송을 할 수 없도록 구성된다.
본 발명의 목적은, 상기 과제를 해결하기 위해서, 플로우 테이블에 플로우 엔트리가 등록되어 있지 않은 패킷(미등록 패킷)을 수신했을 때에, 컨트롤러에 플로우 엔트리의 문의 메시지(packet in)의 전송을 행하지 않고, 소정의 수신처에 패킷을 전송시킴으로써 컨트롤러에의 부하를 저감시켜, 오픈 플로우 네트워크 전체의 효율을 향상시키는 기술을 제공하는 것에 있다.
본 발명에 따른 부하 저감 시스템은, 패킷을 플로우로서 균일하게 제어하기 위한 규칙과 동작을 정의하는 플로우 엔트리에 근거하여, 수신된 패킷의 처리를 실행하도록 구성된 스위치; 및 스위치에 대하여, 플로우 엔트리를 설정하도록 구성된 컨트롤러를 포함한다. 스위치는, 소정의 패킷을 수신했을 때, 수신된 소정의 패킷에 해당하는 플로우 엔트리가 설정되어 있지 않으면, 컨트롤러에 대하여 수신된 소정의 패킷에 해당하는 플로우 엔트리의 문의를 실행하고, 수신된 소정의 패킷을 스택하고, 수신된 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 스택된 패킷을 이용함으로써, 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷 중 하나의 패킷의 전송을 제어한다.
본 발명에 따른 스위치는, 컨트롤러로부터, 패킷을 플로우로서 균일하게 제어하기 위한 규칙과 동작을 정의하는 플로우 엔트리를 수신하는 수단; 패킷을 수신했을 때, 수신된 패킷에 해당하는 플로우 엔트리가 등록되어 있지 않으면, 컨트롤러에 대하여 수신된 패킷에 해당하는 플로우 엔트리의 문의를 실행하는 수단; 수신된 패킷을 스택하는 수단; 및 수신된 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 스택된 패킷을 이용함으로써, 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷의 전송을 제어하는 수단을 포함한다.
본 발명에 따른 부하 저감 방법은, 컨트롤러에 의해, 패킷을 플로우로서 균일하게 제어하기 위한 규칙과 동작을 정의하는 플로우 엔트리의 등록을 수신하는 단계; 패킷을 수신했을 때, 수신된 패킷에 해당하는 플로우 엔트리가 등록되어 있지 않으면, 컨트롤러에 대하여 수신된 패킷에 해당하는 플로우 엔트리의 문의를 실행하는 단계; 수신된 패킷을 스택하는 단계; 및 수신된 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 스택된 패킷을 이용함으로써, 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷의 전송을 제어하는 단계를 포함한다.
본 발명의 기록 매체는, 컨트롤러에 의해, 패킷을 플로우로서 균일하게 제어하기 위한 규칙과 동작을 정의하는 플로우 엔트리의 등록을 수신하는 단계; 패킷을 수신했을 때, 수신된 패킷에 해당하는 플로우 엔트리가 등록되어 있지 않으면, 컨트롤러에 대하여 수신된 패킷에 해당하는 플로우 엔트리의 문의를 실행하는 단계; 수신된 패킷을 스택하는 단계; 및 수신된 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 스택된 패킷을 이용함으로써, 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷의 전송을 제어하는 단계를 스위치에서 실행시키기 위한 프로그램을 저장한다.
본 발명은 컨트롤러(OFC)에의 부하를 억제할 수 있고, 플로우 테이블에 플로우 엔트리가 등록되어 있지 않은 미등록의 패킷을 전송할 수 있다.
도 1은 본 발명에 따른 부하 저감 시스템의 구성예를 도시하는 블록도이다.
도 2는 본 발명에 따른 부하 저감 시스템을 도시하는 제1 도면이다.
도 3은 본 발명에 따른 부하 저감 시스템을 도시하는 제2 도면이다.
도 4는 본 발명에 따른 부하 저감 시스템을 도시하는 제3 도면이다.
도 5는 본 발명에 따른 부하 저감 시스템을 도시하는 제4 도면이다.
도 6은 본 발명에 따른 부하 저감 시스템을 도시하는 제5 도면이다.
도 7은 본 발명에 따른 부하 저감 시스템의 동작을 도시하는 플로우차트이다.
본 발명은, CD 분리형 네트워크를 대상으로 삼고 있다. 여기에서는, CD 분리형 네트워크 중 하나로서의 오픈 플로우 네트워크를 일례로 설명한다. 그러나, 실제로는, 본 발명은 오픈 플로우 네트워크에 한정되지 않는다.
<기본 구성>
이하에, 본 발명의 구성 예에 대해서 첨부된 도면을 참조하여 설명한다.
도 1에 도시한 바와 같이, 본 발명에 따른 부하 저감 시스템은, 스위치(20)와 컨트롤러(30)를 포함한다.
도면에서는, 스위치를 "OFS"라고 표기하고, 컨트롤러를 "OFC"라고 표기한다.
스위치(20)는, 오픈 플로우 네트워크 내의 스위칭 노드이다. 스위치(20)는, 수신된 패킷을, 자신의 플로우 테이블에 등록된 플로우 엔트리에 따라 전송한다.
컨트롤러(30)는, 오픈 플로우 네트워크에 있어서 스위치(20)의 경로 제어를 실행하는 서버 장치이다. 컨트롤러(30)는, 시큐어 채널(Secure Channel)을 통해 스위치(20)에 접속되어 있다. 컨트롤러(30)는, 스위치(20)의 플로우 테이블에 플로우 엔트리를 등록한다.
스위치(20)는, 패킷을 수신했을 때, 수신된 패킷에 해당하는 플로우 엔트리가 플로우 테이블에 등록되어 있지 않으면, 컨트롤러(30)에 대하여 수신된 패킷에 해당하는 플로우 엔트리를 문의하고, 수신된 패킷을 스택(일시적으로 기억, 보유 및 축적)하고, 수신된 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 스택된 패킷을 이용하여, 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷의 전송을 제어한다. 여기에서는, 스위치(20)가, 플로우 엔트리가 등록될 때까지 다음 단의 전송처를 특정할 수 없기 때문에, 스위치(20)는, 해당 패킷의 어드레스 데이터에 관계없이, 접속되어 있는 모든 인접 스위치에 해당 패킷을 전송한다. 즉, 해당 패킷을 의사 브로드 캐스트 패킷으로서 전송한다. 그러나, 패킷 자체의 어드레스 데이터를 변경할 필요는 없다.
<제1 실시 형태>
이하에, 본 발명의 제1 실시 형태에 대해서 첨부된 도면을 참조하여 설명한다.
[시스템 구성]
도 2 내지 6을 참조하여, 본 발명에 따른 부하 저감 시스템의 구성 예에 대해서 설명한다.
본 발명에 따른 부하 저감 시스템은, 단말기(10)(10-i, i=1 내지 n: n은 임의)와, 스위치(20)(20-j, j=1 내지 m: m은 임의)와, 컨트롤러(30)를 포함한다.
도 2에서는, 스위치를 "OFS"라고 표기하고, 컨트롤러를 "OFC"라고 표기한다.
단말기(10)(10-i, i=1 내지 n) 각각은, 스위치(20)(20-j, j=1 내지 m)에 접속 가능한 단말기이다. 단말기(10)(10-i, i=1 내지 n) 각각은, 오픈 플로우 네트워크 외부(오픈 플로우에 미대응)의 스위치(스위칭 노드)일 수 있다는 점에 유의해야 한다.
스위치(20)(20-j, j=1 내지 m) 각각은, 오픈 플로우 네트워크 내의 스위칭 노드이다. 스위치(20)(20-j, j=1 내지 m) 각각은, 수신된 패킷을, 자신의 플로우 테이블에 등록된 플로우 엔트리에 따라 전송한다. 스위치(20)(20-j, j=1 내지 m) 각각은, 플로우 엔트리 미등록 패킷을 수신했을 때, 문의 메시지(packet in)로서, 수신된 패킷의 카피(미러 패킷)를 컨트롤러(30)에 전송한다는 점에 유의해야 한다.
컨트롤러(30)는, 오픈 플로우 네트워크에 있어서 스위치(20)(20-j, j=1 내지 m) 각각의 경로 제어를 실행하는 서버 장치이다. 컨트롤러(30)는, 시큐어 채널(Secure Channel)을 통해 스위치(20)(20-j, j=1 내지 m) 각각에 접속되어 있다. 컨트롤러(30)는, 네트워크의 접속 상태를 나타내는 토폴로지(topology) 데이터에 기초하여, 스위치(20)(20-j, j=1 내지 m) 각각을 검지했을 때, 패킷 전송 경로를 계산하고, 해당 경로 위에 위치한 스위치(OFS) 각각의 플로우 테이블에 플로우 엔트리를 등록한다. 컨트롤러(30)는, 스위치(20)(20-j, j=1 내지 m) 각각이 보유한 마스터 테이블로서의 역할을 하는 플로우 테이블을 보유할 수 있다는 점에 유의해야 한다. 예를 들면, 컨트롤러(30)는, 플로우 엔트리의 문의 메시지(packet in)를 수신했을 때, 컨트롤러(30) 자체가 보유한 마스터 테이블(플로우 테이블)에 엔트리를 우선 등록하고, 해당 스위치(OFS)가 보유한 플로우 테이블(또는 플로우 테이블에 상당하는 테이블)에 동일한 엔트리를 등록하기 위해서 문의 소스로서 제어 메시지를 스위치(OFS)에 전송한다.
여기에서는, 단말기(10-1)는, 패킷을 전송하는 전송원 단말기(단말기 A)이다. 단말기(10-2)는, 패킷을 수신하는 수신처 단말기(단말기 B)이다. 스위치(20-1)는, 입력측 엣지 스위치(OFS1)이다. 스위치(20-2)는, 출력측 엣지 스위치(OFS2)이다. 스위치(20-3)는, 코어 스위치(OFS3)이다. 컨트롤러(30)는, 스위치(OFS) 간의 경로 제어를 실행하는 컨트롤러(OFC)이다. 컨트롤러(30)는, 스위치(20-1), 스위치(20-2) 및 스위치(20-3)의 각각의 플로우 테이블을 보유하고 있는 것으로 가정한다.
그러나, 실제로는, 이들의 예에 한정되지 않는다.
[하드웨어의 예시]
단말기(10)(10-i, i=1 내지 n)의 예로서는, PC(퍼스널 컴퓨터), 모바일 노트PC, 씬 클라이언트 단말기, 워크스테이션, 휴대 전화기, 스마트 폰, 스마트 북, 카 네비게이션 시스템, 휴대형 게임기, 가정용 게임기, 휴대형 음악 플레이어, 핸디(handy) 단말기, 가젯(전자 기기), 쌍방향 텔레비전, 디지털 튜너, 디지털 리코더, 정보 가전(information home appliance), 사무 자동화(Office Automation: OA) 기기 등이 예시된다. 단말기(10)(10-i, i=1 내지 n)는, 차량, 선박 및 항공기 등의 이동체에 탑재될 수 있다.
스위치(20)(20-j, j=1 내지 m)의 예로서는, 네트워크 스위치(network switch), 라우터(router), 프록시(proxy), 게이트웨이(gateway), 방화벽(firewall), 로드 평형 장치(부하 분산 장치), 대역 제어 장치(패킷 쉐이퍼: packet shaper), 보안 모니터 제어 장치(SCADA: Supervisory Control And Data Acquisition), 게이트 키퍼(gate keeper), 기지국(base station), 엑세스 포인트(AP: Access Point), 통신 위성(CS: Communication Satellite), 또는 복수의 통신 포트를 갖는 계산기 등이 예시된다. 또한, 스위치(20)(20-j, j=1 내지 m)는, 물리적 머신 위에 구축된 가상 스위치일 수 있다.
컨트롤러(30)의 예로서는, PC, 어플라이언스(appliance), 워크스테이션, 메인프레임, 및 슈퍼 컴퓨터 등의 계산기를 상정하고 있다. 컨트롤러(30)는, 계산기에 탑재된 확장 보드, 또는 물리적 머신 위에 구축된 가상 머신(VM: Virtual Machine)일 수 있다는 점에 유의해야 한다.
도면에는 나타내지 않았지만, 단말기(10)(10-i, i=1 내지 n), 스위치(20)(20-j, j=1 내지 m), 및 컨트롤러(30)의 각각은, 프로그램에 따라 구동되어 소정의 처리를 실행하는 프로세서; 해당 프로그램 및 각종 데이터를 기억하는 메모리; 및 네트워크와의 통신에 이용되는 인터페이스로 구성된다.
상기의 프로세서의 예로서는, CPU(Central Processing Unit), 네트워크 프로세서(NP: Network Processor), 마이크로프로세서, 마이크로컨트롤러, 또는 전용의 기능을 갖는 반도체 집적 회로(IC:Integrated Circuit) 등이 예시된다.
상기의 메모리의 예로서는, RAM(Random Access Memory), ROM(Read Only Memory), EEPROM(Electrically Erasable and Programmable Read Only Memory), 플래시 메모리 등의 반도체 기억 장치, HDD(Hard Disk Drive) 및 SSD(Solid State Drive) 등의 보조 기억 장치, 또는 DVD(Digital Versatile Disk) 등의 이동식 디스크(removable disk), 또는 SD 메모리 카드(Secure Digital memory card) 등의 기억 매체 등이 예시된다. 또한, 레지스터가 사용될 수 있다. 또는, DAS(Direct Attached Storage), FC-SAN(Fibre Channel-Storage Area Network), NAS(Network Attached Storage), IP-SAN(IP-Storage Area Network) 등을 이용하는 스토리지 장치가 사용될 수 있다.
상기의 프로세서 및 상기의 메모리는, 한 유닛 내에 일체화될 수 있다는 점에 유의해야 한다. 예를 들면, 최근에는, 마이크로컴퓨터 등의 1 칩 구조가 진전을 보이고 있다. 따라서, 전자 기기에 탑재된 1칩 마이크로컴퓨터가 프로세서 및 메모리를 포함하고 있는 예가 고려될 수 있다.
상기의 인터페이스의 예로서는, 네트워크 통신에 합치하는 기판(마더 보드, I/O 보드), 칩 등의 반도체 집적 회로, NIC(Network Interface Card) 등의 네트워크 어댑터(network adaptor), 유사한 확장 카드, 안테나 등의 통신 장치, 및 통신 포트(커넥터) 등의 통신 포트가 예시된다.
또한, 네트워크의 예로서는, 인터넷, LAN(Local Area Network), 무선LAN(Wireless LAN), WAN(Wide Area Network), 백본(backbone), 케이블 텔레비전(CATV) 회선, 고정 전화망, 휴대 전화망, WiMAX(IEEE 802.16a), 3G(3rd Generation), 전용선(lease line), IrDA(Infrared Data Association), Bluetooth(등록 상표), 시리얼 통신 회선, 데이터 버스 등이 예시된다.
스위치(20)(20-j, j=1 내지 m) 및 컨트롤러(30)의 각각의 구성 요소는, 모듈, 구성 부품(component), 또는 전용 디바이스, 또는 이들을 기동(호출)하기 위한 프로그램일 수 있다는 점에 유의해야 한다.
그러나, 실제로는, 이들 예에 한정되지 않는다.
[실시 예]
이하에, 본 발명에 따른 부하 저감 시스템의 실시 예에 대해서 설명한다.
우선, 도 2에 있어서, 스위치(20-1)(OFS1)는, 단말기(10-1)(단말기 A)로부터 제1 패킷(패킷 A)을 수신한다. 스위치(20-1)(OFS1)는, 플로우 테이블을 검색한다. 그 다음, 해당하는 플로우 엔트리가 존재하지 않을 경우("미스 히트(miss hit)"의 경우), 플로우 테이블에 제1 패킷(패킷 A)을 등록하기 위해서, 스위치(20-1)(OFS1)는, 제1 패킷(패킷 A)의 카피(미러 패킷)를 전송함으로써 컨트롤러(30)(OFC)에 플로우 엔트리의 문의 메시지(packet in)를 전송하고, 제1 패킷(패킷 A)을 스위치(20-1)(OFS1) 내에 스택(일시적으로 기억, 보유 및 축적)한다. 컨트롤러(30)(OFC)는, 스위치(20-1)(OFS1)로부터 플로우 엔트리의 문의 메시지(packet in)를 수신하면, 스위치(20-1)(OFS1)용의 플로우 테이블에, 제1 패킷(패킷 A)의 엔트리를 등록한다.
다음에, 도 3에 있어서, 스위치(20-1)(OFS1)는, 제1 패킷(패킷 A)의 엔트리를 등록하는 시간 동안에(엔트리 등록의 대기 상태일 때), 제2 패킷(패킷 B)을 수신하면, 제2 패킷(패킷 B)과 스택된 제1 패킷(패킷 A)을 비교한다. 예를 들면, 제2 패킷(패킷 B)과 제1 패킷(패킷 A)의 각각의 헤더 데이터를 일부 또는 전부 비교하여, 패킷 둘 다가 동일한 플로우에 속하는 지의 여부를 확인한다.
도 4에 있어서, 스위치(20-1)(OFS1)는, 제1 패킷(패킷 A)과 제2 패킷(패킷 B)이 동일한 플로우에 속하는 패킷인 경우에, 각각이 제2 패킷(패킷 B)의 수신 포트와 동일한 가상 LAN 식별자(VLAN ID)를 갖는 모든 포트에 제1 패킷(패킷 A)을 브로드 캐스트하고, 스위치(20-2)(OFS2)와 스위치(20-3)(OFS3)에 제1 패킷(패킷 A)을 전송한다. 또한, 스위치(20-1)(OFS1)는, 동일한 플로우에 속하는 패킷을 수신할 때까지 제2 패킷(패킷 B)을 다시 스택한다. 또한, 스위치(20-1)(OFS1)는, 스위치(20-1)(OFS1)용의 브로드 캐스트 테이블을 작성한다. 이때, 스위치(20-1)(OFS1)는, 브로드 캐스트 테이블에, 제1 패킷(패킷 A)의 플로우 데이터, 가상 LAN 식별자(VLAN ID), 및 제1 패킷(패킷 A)이 스위치(20-1)(OFS1)에 의해 수신되었을 때의 포트 데이터("수신 포트"의 데이터)를 저장한다. 브로드 캐스트 테이블은, 패킷을 브로드 캐스트하기 위한 데이터를 저장하는 테이블이다. 브로드 캐스트 테이블은, 플로우 테이블의 한 종류일 수 있다. 플로우 데이터는, 패킷에 대한 규칙 및 동작을 정의하는 데이터이다. 동작은 브로드 캐스트가 되도록 정의되어 있기 때문에, 정의될 항목은 규칙만일 수 있다는 점에 유의해야 한다.
또한, 도 5에 있어서, 스위치(20-2)(OFS2)는, 스위치(20-1)(OFS1)로부터 브로드 캐스트된 제1 패킷(패킷 A)을 수신한다. 스위치(20-2)(OFS2)는, 브로드 캐스트된 제1 패킷(패킷 A)에 대한 플로우 엔트리가 플로우 테이블에 등록되어 있지 않은 경우, 제1 패킷(패킷 A)의 수신 포트와 동일한 가상 LAN 식별자(VLAN ID)를 갖는 모든 포트에 브로드 캐스트된 제1 패킷(패킷 A)을 브로드 캐스트하여, 스위치(20-3)(OFS3)와 단말기(10-2)(단말기 B)에 제1 패킷(패킷 A)을 전송한다. 또한, 스위치(20-2)(OFS2)는, 스위치(20-2)(OFS2)용의 브로드 캐스트 테이블을 작성한다.
이때, 스위치(20-2)(OFS2)는, 브로드 캐스트 테이블에, 제1 패킷(패킷 A)의 플로우 데이터, 가상 LAN 식별자(VLAN ID), 및 플로우 데이터의 입력 포트 데이터를 저장한다.
도 6에 있어서, 스위치(20-3)(OFS3)는, 전술한 스위치(20-2)(OFS2)와 마찬가지로, 제1 패킷(패킷 A)의 수신 포트와 동일한 가상 LAN 식별자(VLAN ID)를 갖는 모든 포트에 브로드 캐스트를 행한다. 여기에서, 스위치(20-3)(OFS3)는, 스위치(20-2)(OFS2)에 제1 패킷(패킷 A)을 전송한다. 이때, 수신 포트의 데이터는 상이하지만, 제1 패킷(패킷 A)의 플로우 데이터 및 가상 LAN 식별자(VLAN ID)를 갖기 위해서 스위치(20-2)(OFS2)용의 브로드 캐스트 테이블에 엔트리가 이미 작성되어 있기 때문에(도 5 참조), 스위치(20-2)(OFS2)는, 제1 패킷(패킷 A)이 중복해서 수신되고 있다는 것을 인식(제1 패킷(패킷 A)이 중복해서 수신되고 있다고 판단)하고, 중복 수신된 제1 패킷(패킷 A)을 폐기한다. 따라서, 브로드 캐스트된 패킷이 루프(loop)되는 것을 방지한다.
실제로는, 스위치(20-2)(OFS2)와 스위치(20-3)(OFS3)가, 스위치(20-1)(OFS1)와 유사한 처리를 실행할 수 있다는 점에 유의해야 한다. 즉, 제1 패킷(패킷 A)을 수신했을 때에, 스위치(20-1)(OFS1)는, 플로우 테이블을 검색하고, 해당하는 플로우 엔트리가 존재하지 않을 경우("미스 히트(miss hit)"의 경우), 플로우 테이블에 제1 패킷(패킷 A)을 등록하기 위해서, 컨트롤러(30)(OFC)에 플로우 엔트리의 문의 메시지(packet in)를 전송하도록, 스위치(20-2)(OFS2)와 스위치(20-3)(OFS3)는, 도 2에 나타낸 스위치(20-1)(OFS1)에서와 같이 설계될 수 있다.
[부하 저감 시스템의 동작]
도 7을 참조하여, 본 발명에 따른 부하 저감 시스템의 동작에 대해서 설명한다.
(1) 단계 S101
스위치(20-1)(OFS1)는, 패킷을 수신한다.
(2) 단계 S102
스위치(20-1)(OFS1)는, 수신된 패킷에 해당하는 플로우 엔트리가 플로우 테이블에 이미 등록되어 있는지의 여부 확인한다.
(3) 단계 S103
스위치(20-1)(OFS1)는, 해당하는 플로우 엔트리가 이미 등록되어 있으면, 해당 플로우 엔트리의 내용에 따라, 수신된 패킷에 대하여, 오픈 플로우의 처리를 행한다.
(4) 단계 S104
스위치(20-1)(OFS1)는, 해당하는 플로우 엔트리가 아직 등록되어 있지 않으면, 수신된 패킷과 동일한 플로우의 패킷이 스택되어 있는 지의 여부를 확인한다. 즉, 스위치(20-1)(OFS1)는, 수신된 패킷과 동일한 플로우의 패킷이 엔트리 등록을 위한 대기 상태에 있는 지의 여부를 확인한다.
(5) 단계 S105
스위치(20-1)(OFS1)는, 수신된 패킷과 동일한 플로우의 패킷이 스택되어 있는 경우, 수신된 패킷과 동일한 가상 LAN 식별자(VLAN ID)의 포트에, 스택된 패킷을 브로드 캐스트한다. 또한, 스위치(20-1)(OFS1)는, 이미 스택되어 있던 패킷 대신에, 새로 수신된 패킷을 스택한다.
(6) 단계 S106
스위치(20-1)(OFS1)는, 수신된 패킷과 동일한 플로우의 패킷이 스택되어 있지 않은 경우, 수신된 패킷이 브로드 캐스트된 패킷인 지의 여부를 확인한다. 예를 들면, 스위치(20-1)(OFS1)는, 수신된 패킷과 다른 플로우의 패킷이 스택되어 있는 경우나, 패킷이 전혀 스택되어 있지 않은 경우에, 수신된 패킷이 브로드 캐스트된 패킷 인지의 여부를 확인한다.
(7) 단계 S107
스위치(20-1)(OFS1)는, 수신된 패킷이 브로드 캐스트된 패킷이 아닌 경우, 플로우 엔트리의 문의 메시지(packet in)로서, 수신된 패킷의 카피(미러 패킷)를 컨트롤러(30)(OFC)에 전송한다. 또한, 스위치(20-1)(OFS1)는, 수신된 패킷을 스택한다.
(8) 단계 S108
스위치(20-1)(OFS1)는, 수신된 패킷이 브로드 캐스트된 패킷일 경우, 수신된 패킷과 동일한 플로우의 패킷이 브로드 캐스트 테이블에 이미 등록되어 있는 지의 여부를 확인한다.
(9) 단계 S109
스위치(20-1)(OFS1)는, 수신된 패킷과 동일한 플로우의 패킷이 브로드 캐스트 테이블에 등록되어 있지 않은 경우, 수신된 패킷을 브로드 캐스트하여, 브로드 캐스트된 패킷이 브로드 캐스트 테이블에 등록되게 한다.
(10) 단계 S110
스위치(20-1)(OFS1)는, 수신된 패킷과 동일한 플로우의 패킷이 브로드 캐스트 테이블에 이미 등록되어 있을 경우, 브로드 캐스트 테이블에 등록되어 있는 패킷의 수신 포트가, 수신된 패킷의 수신 포트와 상이한 지의 여부를 확인한다.
(11) 단계 S111
스위치(20-1)(OFS1)는, 브로드 캐스트 테이블에 등록되어 있는 패킷의 수신 포트가, 수신된 패킷의 수신 포트와 상이한 경우, 수신된 패킷을 폐기한다.
(12) 단계 S112
스위치(20-1)(OFS1)는, 브로드 캐스트 테이블에 등록되어 있는 패킷의 수신 포트가, 수신된 패킷의 수신 포트와 동일할 경우, 수신된 패킷을 브로드 캐스트한다.
이상에서 설명한 바와 같이, 오픈 플로우 네트워크에 있어서, 플로우 테이블에 플로우 엔트리가 등록되어 있지 않은 동일한 플로우의 패킷을 연속해서 스위치(OFS)가 수신하고, 또한 컨트롤러(OFC)의 처리 성능이 낮은 경우, 이는 스위치(OFS)로부터 컨트롤러(OFC)에 플로우 엔트리의 문의 메시지(packet in)의 전송을 반복해서 행하게 한다.
본 발명에서는, 스위치(OFS)가 동일한 플로우의 패킷을 연속해서 수신했을 경우에, 제1 패킷에 대해서만 플로우 엔트리의 문의 메시지(packet in)의 전송이 행해지게 된다. 따라서, 컨트롤러(OFC)에의 부하를 억제할 수 있다.
또한, 스위치(OFS)는, 플로우 테이블에 플로우 엔트리가 아직 등록되어 있지 않은 패킷도 브로드 캐스트한다. 따라서, 플로우 엔트리의 등록 이전에 전송될 수 있다.
<제2 실시 형태>
이하에, 본 발명의 제2 실시 형태에 대해서 설명한다.
본 발명의 제1 실시 형태에서는, 스위치(OFS)가 플로우 엔트리의 문의 메시지(packet in)를 컨트롤러(OFC)에 전송할 때에, 스위치(OFS)는 수신된 패킷을 카피해서 미러 패킷을 작성하고, 이 미러 패킷을 컨트롤러(OFC)에 전송한다.
본 발명의 제2 실시 형태에서는, 스위치(OFS)가 플로우 엔트리의 문의 메시지(packet in)를 컨트롤러(OFC)에 전송할 때에, 스위치(OFS)는 수신된 패킷 자체를 원래 상태로 컨트롤러(OFC)에 전송하게 한다. 그때, 컨트롤러(OFC)는, 스위치(OFS)로부터, 플로우 엔트리의 문의 메시지(packet in)를 전송하는데 사용된 패킷과 동일한 패킷을 전송(반환)하는 처리를 실행한다. 따라서, 유사한 처리를 실현한다.
즉, 본 실시 형태에서는, 스위치(OFS)는, 플로우 엔트리의 문의 메시지(packet in)로서, 수신된 패킷의 카피(미러 패킷)가 아니고, 수신된 패킷 자체를 전송한다.
<제3 실시 형태>
이하에, 본 발명의 제3 실시 형태에 대해서 설명한다.
본 발명의 제1 실시 형태에서는, 컨트롤러(OFC)에 의한 엔트리 등록의 대기 상태 시에, 스위치(OFS)는 수신된 패킷을 브로드 캐스트하고, 브로드 캐스트된 패킷용의 테이블(브로드 캐스트 테이블)을 작성하고, 수신된 패킷을 해당 테이블에 등록하여, 동일한 패킷이 이미 수신되었는 지의 여부를 판단함으로써, 브로드 캐스트된 패킷이 루프되는 것을 방지한다.
본 발명의 제3실시 형태에서는, 오픈 플로우 기능이 유효한(OpenFlow Enable) 포트에서도, 브로드 캐스트된 패킷에 대해서, 스패닝 트리 프로토콜(spanning tree protocol)(STP)을 적용하는 방법에 의해, 브로드 캐스트된 패킷이 루프되는 것을 방지한다.
즉, 본 실시 형태에서는, 브로드 캐스트 테이블을 작성하지 않고도, 브로드 캐스트된 패킷이 루프되는 것을 방지한다.
<실시 형태 간의 관계>
상기의 실시 형태는 조합해서 구체화될 수 있다는 점에 유의해야 한다.
<본 발명의 특징>
본 발명에 있어서, 컨트롤러는, 플로우 설정(Flow Setup)을 실행하는데 시간이 많이 걸릴 경우, 컨트롤러가 스위치로부터 수신된 플로우를 브로드 캐스트하고, 동일한 플로우의 패킷을 2회 이상 수신할 시에는, 컨트롤러가 2회째 및 그 이후의 플로우를 폐기하는 것과 같은 프록시(Proxy) 기능을 갖는 것을 그 특징으로 한다.
또한, 스위치는, 플로우 테이블에 엔트리가 등록되지 않은 플로우를 먼저 수신하면, 스위치가 이 플로우를 컨트롤러에 전송하고, 동일한 플로우의 패킷을 2회 이상 수신한 경우에는, 스위치가 2회째 및 그 이후의 플로우를 컨트롤러에 전송하지 않고, 동일한 가상 LAN 식별자(VLAN ID)에 브로드 캐스트하는 것을 그 특징으로 한다.
그 결과, 본 발명은, 플로우 설정이 완료되지 않은 플로우에 대해서, 컨트롤러에의 플로우 엔트리의 문의 메시지(packet in)를 줄이고 컨트롤러의 부하를 줄임으로써, 오픈 플로우 네트워크의 시스템을 안정화하기 위한 것이다.
본 발명에 있어서, 컨트롤러는, 프록시(Proxy)기능을 갖고 있으며, 플로우 엔트리의 문의 메시지(packet in)의 미러 패킷이 이미 수신되어 있더라도 플로우 엔트리를 등록하기 위한 메시지 "packet out"가 준비되어 있지 않은 플로우의 전송원 MAC 어드레스(Source MAC) 및 수신처 MAC 어드레스(Destination MAC)가, 새롭게 수신된 플로우의 전송원 MAC 어드레스 및 수신처 MAC 어드레스와 비교되고, 플로우 엔트리의 문의 메시지(packet in)의 미러 패킷이 폐기될 수 있는 브로드 캐스트 기능을 갖는다.
또한, 스위치는, 해당하는 엔트리가 플로우 테이블에 등록되어 있지 않은 경우에, 플로우 엔트리의 문의 메시지(packet in)로서 컨트롤러에 패킷을 전송하는 기능을 갖는다. 컨트롤러에 플로우 엔트리의 문의 메시지(packet in)가 전송된 후, 플로우 엔트리를 등록하기 위한 메시지 "packet out"가 컨트롤러로부터 수신될 때까지, 조회된 패킷과 동일한 플로우의 패킷을 수신했을 경우, 스위치는, 조회된 패킷의 수신 포트와 동일한 VLAN의 포트에 대하여 브로드 캐스트를 행할 수 있다. 또한, 스위치는, 브로드 캐스트된 패킷을 수신했을 때에 수신 포트와 플로우의 조합으로 플로우 테이블에 브로드 캐스트된 패킷을 보존할 수 있는 기능을 갖는다.
<부기>
상기의 실시 형태의 일부 또는 전부는, 이하의 부기에 명시된 바와 같이 설명될 수 있다. 그러나, 실제로는, 본 발명은 이하의 기재 예에 한정되지 않는다.
(부기 1)
부하 저감 시스템은,
스위치; 및
패킷을 플로우로서 균일하게 제어하기 위한 규칙과 동작을 정의하는 플로우 엔트리를, 스위치의 플로우 테이블에 등록하도록 구성된 컨트롤러
를 포함하고,
패킷 중 소정의 패킷을 수신했을 때, 상기 스위치는, 수신된 소정의 패킷에 해당하는 플로우 엔트리가 플로우 테이블에 등록되어 있지 않으면, 컨트롤러에 대하여 수신된 소정의 패킷에 해당하는 플로우 엔트리를 문의하고, 상기 스위치는, 수신된 소정의 패킷을 스택하고, 상기 스위치는, 수신된 소정의 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 스택된 패킷을 이용하여, 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷 중 하나의 패킷의 전송을 제어한다.
(부기 2)
부기 1에 따른 부하 저감 시스템에 있어서,
수신된 소정의 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 패킷을 수신했을 경우, 상기 스위치는, 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 스택되었는 지의 여부를 확인하고, 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 스택되어 있을 경우, 상기 스위치는, 스택된 패킷을 브로드 캐스트하고, 해당 패킷을 새롭게 스택한다.
(부기 3)
부기 2에 따른 부하 저감 시스템에 있어서,
수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 스택되어 있지 않은 경우, 상기 스위치는, 수신된 패킷이 브로드 캐스트된 패킷인 지의 여부를 확인하고, 수신된 패킷이 브로드 캐스트된 패킷이 아니면, 상기 스위치는, 컨트롤러에 대하여 수신된 패킷에 해당하는 플로우 엔트리를 문의하고, 수신된 패킷을 스택하며, 수신된 패킷이 브로드 캐스트된 패킷이면, 상기 스위치는, 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 테이블에 이미 등록되어 있는 지의 여부를 확인하고, 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 테이블에 아직 등록되어 있지 않으면, 상기 스위치는, 수신된 패킷을 브로드 캐스트 테이블에 등록하고, 수신된 패킷을 브로드 캐스트한다.
(부기 4)
부기 3에 따른 부하 저감 시스템에 있어서,
수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 테이블에 이미 등록되어 있으면, 상기 스위치는, 수신된 패킷의 수신 포트와 브로드 캐스트 테이블에 이미 등록된 패킷의 수신 포트가 서로 다른 지의 여부를 확인하고, 수신 포트가 서로 상이한 경우, 상기 스위치는, 수신된 패킷을 폐기하고, 수신 포트가 서로 동일할 경우, 상기 스위치는, 수신된 패킷을 브로드 캐스트한다.
(부기 5)
부기 1 내지 4 중 어느 하나에 따른 부하 저감 시스템에 있어서,
상기 스위치는, 컨트롤러에 대하여, 수신된 패킷을 카피하여 얻은 미러 패킷을 전송하고, 수신된 패킷에 해당하는 플로우 엔트리를 문의한다.
(부기 6)
부기 1 내지 4 중 어느 하나에 따른 부하 저감 시스템에 있어서,
상기 스위치는, 컨트롤러에 대하여, 수신된 패킷 자체를 전송하고, 수신된 패킷에 해당하는 플로우 엔트리를 문의한 다음, 컨트롤러로부터 해당 패킷을 수신한다.
<비고>
이상과 같이, 본 발명의 실시 형태를 상술했다. 그러나, 실제로는, 본 발명은 상기의 실시 형태에 한정되지 않는다. 본 발명의 요지를 일탈하지 않는 범위 내에서의 변경은 본 발명에 포함된다.
본 출원은 일본 특허 출원 번호 제JP 2011-220784호에 근거하여 우선권을 주장하고, 이들의 개시 내용은 본원에 참고로 인용되어 있다는 점에 유의해야 한다.

Claims (10)

  1. 부하 저감 시스템으로서,
    패킷들을 플로우로서 균일하게 제어하기 위한 규칙과 동작을 정의하는 플로우 엔트리에 기초하여, 수신된 패킷의 처리를 실행하도록 구성된 스위치; 및
    상기 스위치에 대하여, 상기 플로우 엔트리를 설정하도록 구성된 컨트롤러
    를 포함하고,
    상기 스위치는, 소정의 패킷을 수신했을 때, 상기 수신된 소정의 패킷에 해당하는 플로우 엔트리가 설정되어 있지 않은 경우, 상기 컨트롤러에 대하여 상기 수신된 소정의 패킷에 해당하는 상기 플로우 엔트리의 문의를 실행하고, 상기 수신된 소정의 패킷을 스택하며, 상기 수신된 패킷에 해당하는 플로우 엔트리가 설정될 때까지 상기 스택된 패킷을 이용함으로써 상기 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷들 중 하나의 패킷의 전송을 제어하는 부하 저감 시스템.
  2. 제1항에 있어서,
    상기 스위치는, 상기 플로우 엔트리가 설정될 때까지 패킷을 수신했을 경우, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 스택되어 있는지의 여부를 확인하고, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 스택되어 있는 경우, 상기 스위치는, 상기 스택된 패킷을 브로드 캐스트하고, 상기 수신된 패킷을 새롭게 스택하는 부하 저감 시스템.
  3. 제2항에 있어서,
    상기 스위치는, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 스택되어 있지 않은 경우, 상기 수신된 패킷이 브로드 캐스트된 패킷인지의 여부를 확인하고, 상기 수신된 패킷이 브로드 캐스트된 패킷이 아니면, 상기 스위치는, 상기 컨트롤러에 대하여 상기 수신된 패킷에 해당하는 플로우 엔트리의 문의를 실행하고, 상기 수신된 패킷을 스택하며, 상기 수신된 패킷이 브로드 캐스트된 패킷이면, 상기 스위치는, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 대상 패킷으로서 설정되었는지의 여부를 확인하고, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 대상 패킷으로서 설정되어 있지 않으면, 상기 스위치는, 상기 수신된 패킷을 상기 브로드 캐스트 대상 패킷으로서 설정하고, 상기 수신된 패킷을 브로드 캐스트하는 부하 저감 시스템.
  4. 제3항에 있어서,
    상기 스위치는, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 대상 패킷으로서 설정되었다면, 상기 수신된 패킷의 수신 포트와 상기 브로드 캐스트 대상 패킷용으로서 설정된 수신 포트가 서로 다른지의 여부를 확인하고, 상기 수신 포트가 서로 상이한 경우, 상기 스위치는, 상기 수신된 패킷을 폐기하고, 상기 수신 포트가 서로 동일한 경우, 상기 스위치는, 상기 수신된 패킷을 브로드 캐스트하는 부하 저감 시스템.
  5. 스위치로서,
    컨트롤러로부터, 패킷들을 플로우로서 균일하게 제어하기 위한 규칙과 동작을 정의하는 플로우 엔트리를 수신하는 수단;
    패킷을 수신했을 때, 상기 수신된 패킷에 해당하는 플로우 엔트리가 설정되어 있지 않으면, 상기 컨트롤러에 대하여 상기 수신된 패킷에 해당하는 상기 플로우 엔트리의 문의를 실행하는 수단;
    상기 수신된 패킷을 스택하는 수단; 및
    상기 수신된 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 상기 스택된 패킷을 이용함으로써, 상기 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷의 전송을 제어하는 수단
    을 포함하는 스위치.
  6. 제5항에 있어서,
    상기 플로우 엔트리가 등록될 때까지 패킷을 수신했을 경우, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 이미 스택되어 있는지의 여부를 확인하는 수단;
    상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 스택되어 있을 경우, 상기 스택된 패킷을 브로드 캐스트하는 수단; 및
    상기 패킷을 새롭게 스택하는 수단
    을 더 포함하는 스위치.
  7. 제6항에 있어서,
    상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 아직 스택되어 있지 않은 경우, 상기 수신된 패킷이 브로드 캐스트된 패킷인지의 여부를 확인하는 수단;
    상기 수신된 패킷이 브로드 캐스트된 패킷이 아니면, 상기 컨트롤러에 대하여 상기 수신된 패킷에 해당하는 플로우 엔트리의 문의를 실행하고, 상기 수신된 패킷을 스택하는 수단;
    상기 수신된 패킷이 브로드 캐스트된 패킷이면, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 대상 패킷으로서 등록되었는지의 여부를 확인하는 수단;
    상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 대상 패킷으로서 설정되어 있지 않으면, 상기 수신된 패킷을 브로드 캐스트 대상 패킷으로서 등록하는 수단; 및
    상기 수신된 패킷을 브로드 캐스트하는 수단
    을 더 포함하는 스위치.
  8. 제7항에 있어서,
    상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 대상 패킷으로서 등록되었다면, 상기 수신된 패킷의 수신 포트와 상기 브로드 캐스트 대상 패킷용으로서 등록된 수신 포트가 서로 상이한 지를 확인하는 수단;
    상기 수신 포트가 서로 상이한 경우, 상기 수신된 패킷을 폐기하는 수단; 및
    상기 수신 포트가 서로 동일한 경우, 상기 수신된 패킷을 브로드 캐스트하는 수단
    을 더 포함하는 스위치.
  9. 부하 저감 방법으로서,
    컨트롤러에 의해, 패킷들을 플로우로서 균일하게 제어하기 위한 규칙과 동작을 정의하는 플로우 엔트리의 등록을 수신하는 단계;
    패킷을 수신했을 때, 상기 수신된 패킷에 해당하는 플로우 엔트리가 등록되어 있지 않으면, 상기 컨트롤러에 대하여 상기 수신된 패킷에 해당하는 플로우 엔트리의 문의를 실행하는 단계;
    상기 수신된 패킷을 스택하는 단계; 및
    상기 수신된 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 상기 스택된 패킷을 이용함으로써, 상기 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷의 전송을 제어하는 단계
    를 포함하는 부하 저감 방법.
  10. 기록 매체로서,
    컨트롤러에 의해, 패킷들을 플로우로서 균일하게 제어하기 위한 규칙과 동작을 정의하는 플로우 엔트리의 등록을 수신하는 단계;
    패킷을 수신했을 때, 상기 수신된 패킷에 해당하는 플로우 엔트리가 등록되어 있지 않으면, 상기 컨트롤러에 대하여 상기 수신된 패킷에 해당하는 플로우 엔트리의 문의를 실행하는 단계;
    상기 수신된 패킷을 스택하는 단계; 및
    상기 수신된 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 상기 스택된 패킷을 이용함으로써, 상기 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷의 전송을 제어하는 단계
    를 스위치에 실행시키기 위한 프로그램을 저장하는 기록 매체.
KR1020147009092A 2011-10-05 2012-09-15 부하 저감 시스템, 및 부하 저감 방법 KR101579014B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2011-220784 2011-10-05
JP2011220784 2011-10-05
PCT/JP2012/073756 WO2013051386A1 (ja) 2011-10-05 2012-09-15 負荷低減システム、及び負荷低減方法

Publications (2)

Publication Number Publication Date
KR20140059846A true KR20140059846A (ko) 2014-05-16
KR101579014B1 KR101579014B1 (ko) 2016-01-05

Family

ID=48043550

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147009092A KR101579014B1 (ko) 2011-10-05 2012-09-15 부하 저감 시스템, 및 부하 저감 방법

Country Status (10)

Country Link
US (1) US9246815B2 (ko)
EP (1) EP2765742B1 (ko)
JP (1) JP5747993B2 (ko)
KR (1) KR101579014B1 (ko)
CN (1) CN103858394B (ko)
BR (1) BR112014007795A2 (ko)
CA (1) CA2851214A1 (ko)
IN (1) IN2014CN02437A (ko)
RU (1) RU2587677C2 (ko)
WO (1) WO2013051386A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170128892A (ko) * 2016-05-16 2017-11-24 인하대학교 산학협력단 Sdn상의 멀티캐스트 패킷 손실 위치 탐지 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5900652B2 (ja) * 2012-11-28 2016-04-06 日本電気株式会社 スイッチ装置、vlan設定管理方法及びプログラム
JP6111974B2 (ja) * 2013-10-22 2017-04-12 富士通株式会社 転送装置、制御装置、および、転送方法
WO2015141014A1 (en) * 2014-03-18 2015-09-24 Nec Corporation Method of constructing software-defined pci express (pci-e) switch
US10686712B2 (en) 2014-05-01 2020-06-16 Nec Corporation Communication apparatus, control apparatus, communication system, received packet processing method, communication apparatus control method, and program
JPWO2015178415A1 (ja) 2014-05-21 2017-04-20 日本電気株式会社 通信装置、制御装置、通信システム及び送信制御方法
US9338694B2 (en) * 2014-06-16 2016-05-10 Freescale Semiconductor, Inc. Wireless communication system with SIPTO continuity
WO2016023148A1 (zh) * 2014-08-11 2016-02-18 华为技术有限公司 报文的控制方法、交换机及控制器
JP6347177B2 (ja) * 2014-08-22 2018-06-27 富士通株式会社 転送装置、制御装置、および、通信方法
CN108429652A (zh) * 2017-02-14 2018-08-21 中兴通讯股份有限公司 基于sdn的远端流镜像控制方法、实现方法及相关设备
CN107294865B (zh) * 2017-07-31 2019-12-06 华中科技大学 一种软件交换机的负载均衡方法及软件交换机
US10637677B2 (en) * 2017-12-07 2020-04-28 California Eastern Laboratories, Inc. Broadcast transmission control apparatuses, systems, and methods

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011166700A (ja) * 2010-02-15 2011-08-25 Nec Corp ネットワークシステム、及びパケット投機転送方法
JP2011166704A (ja) * 2010-02-15 2011-08-25 Nec Corp ネットワークシステム、及び経路情報更新方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI96078C (fi) * 1994-05-09 1996-04-25 Nokia Telecommunications Oy Menetelmä yksikönvaihdon suorittamiseksi pakettimuotoista dataa välittävässä tietoliikennesolmussa
WO1997028505A1 (en) 1996-01-31 1997-08-07 Ipsilon Networks, Inc. Improved method and apparatus for dynamically shifting between routing and switching packets in a transmission network
JP2000295274A (ja) * 1999-04-05 2000-10-20 Nec Corp パケット交換装置
JP3965283B2 (ja) * 2001-07-02 2007-08-29 株式会社日立製作所 複数種類のパケット制御機能を備えたパケット転送装置
JP2005117206A (ja) * 2003-10-06 2005-04-28 Hitachi Ltd ネットワークプロセッサアクセラレータ
JP2005277804A (ja) * 2004-03-25 2005-10-06 Hitachi Ltd 情報中継装置
JP4483535B2 (ja) * 2004-11-05 2010-06-16 株式会社日立製作所 ネットワーク装置
CA2590686C (en) * 2004-12-17 2013-05-21 Onechip Photonics Inc. Compact load balanced switching structures for packet based communication networks
JP2006180162A (ja) * 2004-12-22 2006-07-06 Nec Corp パケット交換装置およびパケット交換方法
US8218561B2 (en) * 2009-04-27 2012-07-10 Cisco Technology, Inc. Flow redirection employing state information
WO2011043379A1 (ja) * 2009-10-06 2011-04-14 日本電気株式会社 ネットワークシステムとコントローラと方法とプログラム
WO2011083670A1 (ja) * 2010-01-07 2011-07-14 日本電気株式会社 パケット整列装置、受信装置、及びパケット整列方法
JP5742834B2 (ja) 2010-03-05 2015-07-01 日本電気株式会社 通信システム、経路制御装置、パケット転送装置および経路制御方法
JP5593112B2 (ja) 2010-04-08 2014-09-17 株式会社日立製作所 原子炉手動操作装置
US9071529B2 (en) * 2012-10-08 2015-06-30 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accelerating forwarding in software-defined networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011166700A (ja) * 2010-02-15 2011-08-25 Nec Corp ネットワークシステム、及びパケット投機転送方法
JP2011166704A (ja) * 2010-02-15 2011-08-25 Nec Corp ネットワークシステム、及び経路情報更新方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"OpenFlow Switch Specification, Version 1.0.0", [online], 2009년 12월 31일, [2011년 9월 8일 검색], 인터넷 (URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf)
"Openflow Switch Specification," Version 1.1.0 Implemented (Wire Protocol 0x02), http://archive.openflow.org/ documents/openflow-spec-v1.1.0.pdf (2011.02.28) *
"HOTITutorial2010 - OpenFlow Wiki," http://archive. openflow.org/wk/index.php/HOTITutorial2010 (2010.12.12.) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170128892A (ko) * 2016-05-16 2017-11-24 인하대학교 산학협력단 Sdn상의 멀티캐스트 패킷 손실 위치 탐지 방법

Also Published As

Publication number Publication date
RU2587677C2 (ru) 2016-06-20
EP2765742A4 (en) 2015-05-20
WO2013051386A1 (ja) 2013-04-11
CA2851214A1 (en) 2013-04-11
CN103858394A (zh) 2014-06-11
JP5747993B2 (ja) 2015-07-15
JPWO2013051386A1 (ja) 2015-03-30
EP2765742A1 (en) 2014-08-13
RU2014117619A (ru) 2015-11-10
US9246815B2 (en) 2016-01-26
EP2765742B1 (en) 2016-07-13
CN103858394B (zh) 2016-08-31
US20140247725A1 (en) 2014-09-04
KR101579014B1 (ko) 2016-01-05
IN2014CN02437A (ko) 2015-08-07
BR112014007795A2 (pt) 2017-04-18

Similar Documents

Publication Publication Date Title
KR101579014B1 (ko) 부하 저감 시스템, 및 부하 저감 방법
KR101501397B1 (ko) 네트워크 시스템, 스위치 및 접속 단말기 검지 방법
CN105262683B (zh) 网络系统和路由控制方法
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
WO2012049960A1 (ja) スイッチシステム、モニタリング集中管理方法
KR101494565B1 (ko) 네트워크 시스템, 패킷 처리 방법 및 기억 매체
JP2013115733A (ja) ネットワークシステム、及びネットワーク制御方法

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