KR20150016314A - 통신 시스템, 제어 장치, 통신 방법, 제어 방법 및 프로그램 - Google Patents

통신 시스템, 제어 장치, 통신 방법, 제어 방법 및 프로그램 Download PDF

Info

Publication number
KR20150016314A
KR20150016314A KR1020147034165A KR20147034165A KR20150016314A KR 20150016314 A KR20150016314 A KR 20150016314A KR 1020147034165 A KR1020147034165 A KR 1020147034165A KR 20147034165 A KR20147034165 A KR 20147034165A KR 20150016314 A KR20150016314 A KR 20150016314A
Authority
KR
South Korea
Prior art keywords
packet processing
control device
control
packet
processing means
Prior art date
Application number
KR1020147034165A
Other languages
English (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 닛본 덴끼 가부시끼가이샤
Publication of KR20150016314A publication Critical patent/KR20150016314A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Landscapes

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

Abstract

통신 장비가 제어 장치에 의해 중앙집중형으로 제어되는 시스템에 대해 복수의 제어 장치를 위한 동작 관리 방법이 마련되어 있지 않다. 통신 시스템은 패킷 처리 동작을 결정하는 복수의 제어 장치, 제어 장치에 의해 통지되는 패킷 처리 동작에 따라 패킷을 처리하는 복수의 패킷 처리 수단, 패킷 처리 수단 각각에 대해, 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 할당 수단, 및 복수의 제어 장치에 의해 공유되고 패킷 처리 동작에 관련된 정보를 저장하는 데이터베이스를 포함하고, 제어 장치 각각은 데이터베이스를 참조하여 패킷 처리 동작을 결정한다.

Description

통신 시스템, 제어 장치, 통신 방법, 제어 방법 및 프로그램{COMMUNICATION SYSTEM, CONTROL APPARATUS, COMMUNICATION METHOD, CONTROL METHOD AND PROGRAM}
(관련 출원의 상호 참조)
본 발명은 2012년 6월 14일에 출원된 일본 특허 출원 제2012-135031호에 의거하여 우선권을 주장하고 그 개시 내용은 전부 본원에 참조로 포함된다.
본 발명은 통신 시스템, 제어 장치, 통신 방법, 제어 방법 및 프로그램에 관한 것이며, 또한 통신 시스템, 제어 장치, 제어 장치에 의한 제어에 따라 패킷을 처리하는 통신 방법, 제어 방법 및 프로그램에 관한 것이다.
최근, 컴퓨터가 스위치 또는 라우터 등의 통신 장비에 의한 패킷 포워딩의 중앙 집중형 제어를 행하는 기술이 제안되었다.
특허문헌 1에는, 통신 시스템 내의 스위치들이 제어 장치에 의해 통지된 명령에 따라 패킷들을 처리하는 기술이 개시되어 있다. 이 제어 장치는 통신 시스템 내의 복수의 스위치의 중앙 집중형 제어를 행한다.
비특허문헌 1에는, 복수의 제어 장치가 통신 시스템 내의 복수의 스위치의 제어를 공유하는 기술이 개시되어 있다.
국제 공개 공보 제2008/095010호
Rob Sherwood 외 6 명: "FlowVisor: A Network Virtualization Layer", [온라인], [2012년 5월 28일자에 행한 검색], 인터넷: <URL: http://www.openflow.org/downloads/technicalreports/openflow-tr-2009-1-flowvisor.pdf>
상기 특허문헌 및 비특허문헌의 개시 내용은 전부 참조로 포함된다. 특허문헌 1에서와 같이 제어 장치가 복수의 통신 장비(스위치들, 라우터들 등)의 중앙 집중형 제어를 행하면, 제어 장치의 부하 증가가 있을 수 있다. 제어 장치의 부하 증가는 통신 시스템의 성능 저하를 야기할 수 있다.
비특허문헌 1에는, 복수의 제어 장치에 의해 통신 장비의 제어를 공유하는 것이 개시되어 있지만, 제어 장치 장애 등을 피하는 것과 관련하여, 복수의 제어 장치의 동작 관리를 용이하게 하는 구성에 대한 개시는 없다.
본 발명의 제 1 양태에 따르면, 패킷 처리 동작(패킷 처리 규칙)을 결정하는 복수의 제어 장치, 상기 제어 장치에 의해 통지되는 패킷 처리 동작에 따라 패킷을 처리하는 복수의 패킷 처리 수단, 상기 패킷 처리 수단 각각에 대해, 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 할당 수단, 및 상기 복수의 제어 장치가 공유하고 상기 패킷 처리 동작에 관련된 정보를 저장하는 데이터베이스를 포함하고, 상기 제어 장치 각각은 상기 데이터베이스를 참조하여 상기 패킷 처리 동작을 결정하는 통신 시스템이 제공되어 있다.
본 발명의 제 2 양태에 따르면, 패킷 처리를 제어하는 제어 장치로서, 상기 제어 장치 및 다른 제어 장치가 공유하는 데이터베이스를 참조하여, 상기 패킷에 대한 처리 방법에 관련된 패킷 처리 동작을 결정하는 제 1 수단, 및 복수의 패킷 처리 수단 중에서, 상기 제어 장치에 할당된 패킷 처리 수단에 상기 결정된 패킷 처리 동작을 통지하는 제 2 수단을 포함하는 제어 장치가 제공되어 있다.
본 발명의 제 3 양태에 따르면, 복수의 제어 장치가 패킷 처리를 제어하는 통신 방법으로서, 복수의 패킷 처리 수단 각각에 대해, 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 단계, 상기 제어 장치 각각에 의해, 상기 복수의 제어 장치가 공유하는 데이터베이스를 참조함으로써, 패킷을 처리하기 위한 패킷 처리 동작을 결정하는 단계, 및 상기 제어 장치 각각에 의해, 상기 결정된 패킷 처리 동작을 상기 할당된 패킷 처리 수단에 통지하는 단계를 포함하는 통신 방법이 제공되어 있다.
본 발명의 제 4 양태에 따르면, 패킷의 처리를 제어하는 제어 장치를 위한 제어 방법으로서, 상기 제어 장치 및 다른 제어 장치가 공유하는 데이터베이스를 참조함으로써, 상기 패킷을 처리하는 방법에 관련된 패킷 처리 동작을 결정하는 단계, 및 복수의 패킷 처리 수단 중에서, 상기 제어 장치에 할당된 패킷 처리 수단에 상기 결정된 패킷 처리 동작을 통지하는 단계를 포함하는 제어 방법이 제공되어 있다.
본 발명의 제 5 양태에 따르면, 상기 제어 장치 및 다른 제어 장치가 공유하는 데이터베이스를 참조함으로써, 상기 패킷을 처리하는 방법에 관련된 패킷 처리 동작을 결정하는 프로세스, 및 복수의 패킷 처리 수단 중에서, 상기 제어 장치에 할당된 패킷 처리 수단에 상기 결정된 패킷 처리 동작을 통지하는 프로세스를, 패킷의 처리를 제어하는 제어 장치에서 실행하는 프로그램이 제공되어 있다. 이 프로그램은 비일시적일 수 있는 컴퓨터 판독 가능한 저장 매체에 기록될 수 있다. 즉, 본 발명은 컴퓨터 프로그램 제품으로 구현될 수 있다.
본 발명은 제어 장치의 부하 분산 및 복수의 제어 장치의 동작 관리를 용이하게 하는 데 기여한다.
도 1은 제 1 실시예의 시스템 구성 예를 나타내는 도면.
도 2는 제 1 실시예의 동작 예를 나타내는 도면.
도 3은 제 1 실시예의 동작 예를 나타내는 도면.
도 4는 제어 장치에 의해 참조되는 데이터베이스의 일례를 나타내는 도면.
도 5는 제 1 실시예의 동작 예를 나타내는 플로차트.
도 6은 할당 유닛의 구성 예를 나타내는 도면.
도 7은 할당 유닛에 의해 구비되는 데이터베이스의 일례를 나타내는 도면.
도 8은 할당 유닛에 의해 구비되는 데이터베이스의 일례를 나타내는 도면.
도 9는 할당 유닛에 의해 구비되는 데이터베이스의 일례를 나타내는 도면.
도 10은 제어 장치에 의해 참조되는 데이터베이스의 일례를 나타내는 도면.
도 11은 제 3 실시예의 동작 예를 나타내는 도면.
도 12는 제 3 실시예의 동작 예를 나타내는 도면.
도 13은 제 4 실시예에 관련된 기술을 설명하는 도면.
도 14는 제 4 실시예에 관련된 기술을 설명하는 도면.
도 15는 제 4 실시예에서의 제어 장치의 구성 예를 나타내는 도면.
도 16은 제 4 실시예에서의 패킷 처리 유닛의 구성 예를 나타내는 도면.
도 17은 제 4 실시예의 동작 예를 나타내는 시퀀스도.
도 18은 제 5 실시예의 시스템 구성 예를 나타내는 도면.
도 19는 제 5 실시예의 동작 예를 나타내는 도면.
(제 1 실시예)
도 1은 제 1 실시예의 통신 시스템의 구성 예를 나타내고 있다. 도 1은 일례이며, 본 발명의 통신 시스템의 구성이 도 1에 한정되는 것은 아니다.
통신 시스템은 복수의 제어 장치(1), 할당 유닛(2), 복수의 패킷 처리 유닛(3), 및 제어 정보 DB(데이터베이스)(4)를 포함한다. 각각의 제어 장치(1)는 제어 정보 DB(4)를 공유하고, 제어 정보 DB(4)를 참조하여 패킷 처리 유닛(3)들을 제어한다. 각각의 제어 장치(1)들은 데이터베이스를 공유하기 때문에, 각각의 제어 장치(1)들은 패킷 처리 유닛들을 제어하기 위한 제어 정보를 저장할 필요가 없다. 따라서, 제어 대상인 패킷 처리 유닛을 전환할 경우, 또는 장애가 발생한 제어 장치(1)를 대체할 경우에, 각각의 제어 장치(1)는 제어 장치들 간에 제어 정보의 핸드오버와 같은 처리를 실행할 필요가 없어, 제어 장치들의 동작 관리가 용이해진다.
각각의 패킷 처리 유닛(3)은 제어 장치(1)에 의해 통지된 패킷 처리 동작(즉 패킷 처리 규칙)에 따라 패킷들을 처리한다. 예를 들면, 패킷 처리 유닛(3)은 제어 장치(1)에 의해 통지된 패킷 처리 동작에 따라, 패킷 포워딩, 패킷 헤더 재기입, 및 패킷 드롭 등의 처리를 실행한다. 패킷 처리 유닛(3)은, 예를 들면 스위치, 라우터 등과 같은 통신 장비임을 유의한다. 패킷 처리 유닛(3)에서, 스위치, 라우터 등과 같은 통신 장비에 상당하는 기능은 소프트웨어(가상 스위치)에 의해 구성될 수 있다.
도 2는 제어 장치(1)에 의해 패킷 처리 유닛(3)에 통지되는 패킷 처리 동작 예를 나타내고 있다.
또한, 제어 장치(1)는 예를 들면 패킷 처리 유닛에, 패킷 처리 방법 및 처리 방법의 대상인 패킷을 식별하기 위한 조건(매칭 규칙)을 포함하는 패킷 처리 동작을 전송한다. 매칭 규칙은 예를 들면, 미리 정해진 수신처에 전송될 패킷 또는 미리 정해진 송신원으로부터 전송되는 패킷과 같은 패킷 내에 포함되는 정보에 의거하여 식별되는 규칙이다.
패킷 처리 유닛(3)은 매칭 규칙에 맞는 패킷을 매칭 규칙에 대응하는 처리 방법에 따라 처리한다.
할당 유닛(2)은 패킷 처리 유닛(3) 각각에 대해, 관련 패킷 처리 유닛(3)을 제어하는 제어 장치(1)를 할당한다. 할당 유닛(2)은 예를 들면, 도 3의 예에서와 같이, 패킷 처리 유닛(3-1)에 제어 장치(1-1)를 할당한다. 할당 유닛(2)은 시스템 내에 존재하는 제어 장치(1)들 및 패킷 처리 유닛(3)들을 관리함을 유의한다.
할당 유닛(2)은, 패킷 처리 유닛(3)으로부터 패킷 처리 동작 문의가 전송될 때마다, 패킷 처리 유닛(3)에 할당될 제어 장치(1)를 결정할 수 있음을 유의한다. 또한, 할당 유닛(2)은, 제어 장치(1)가 패킷 처리 유닛에 패킷 처리 동작을 전송할 때마다, 패킷 처리 동작을 전송한 제어 장치(1)에 대응하는 패킷 처리 유닛(3)을 결정할 수 있다. 즉, 할당 유닛(2)은, 임의의 트리거에 각각의 패킷 처리 유닛(3)들에 제어 장치들을 할당할 수 있다.
할당 유닛(2)은 제어 장치(1)에 대응하는 복수의 패킷 처리 유닛(3)을 선택할 수 있다.
패킷 처리 유닛(3)들은 할당 유닛(2)에 의해 할당된 제어 장치(1)에 의해 통지된 명령에 따라 패킷들을 처리한다. 즉, 제어 장치(1)는 할당 유닛(2)에 의해 할당된 패킷 처리 유닛(3)만을 제어할 수 있다. 할당 유닛(2)은 제어 장치(1)에 복수의 패킷 처리 유닛(3)을 할당할 수 있음을 유의한다.
할당 유닛(2)은 예를 들면, 패킷 처리 유닛(3)들의 식별 정보(예를 들면, IP 주소, 데이터경로 ID 등)에 의거하여, 각각의 패킷 처리 유닛(3)에, 대응하는 제어 장치(1)를 할당한다. 할당 유닛(2)은 예를 들면, 제어 장치(1)들 각각 사이에 부하가 분산되도록, 제어 장치(1)들을 할당한다. 예를 들면, 할당 유닛(2)은 라운드 로빈(round robin) 방식으로 패킷 처리 유닛(3)들에 제어 장치(1)들을 할당한다.
제어 정보 DB(4)는 각각의 제어 장치(1)에 의해 할당 패킷 처리 유닛(3)들에 통지되는 패킷 처리 동작들과 관련된 정보를 관리한다. 제어 정보 DB(4)는 복수의 데이터베이스에 의해 구성되고, 복수의 데이터베이스는 각각의 제어 장치(1)에 의해 공유될 수 있음을 유의한다. 복수의 데이터베이스의 구성에 의해, 제어 정보 DB(4)는 리던던시(redundancy)를 갖는다.
도 4는 제어 정보 DB에 의해 저장된 정보의 일례를 나타낸다. 도 4는 일례이며, 제어 정보 DB(4)에 의해 저장되는 정보가 도 4에 한정되는 것은 아니다. 제어 정보 DB(4)는 예를 들면, 패킷 처리 유닛(3)들에 통지될 후보 패킷 처리 동작들을 관리한다. 또한, 제어 정보 DB(4)는 예를 들면, 제어 장치(1)에 의한 패킷 처리 동작을 발생시키는 데 사용되는 정보(제어 정책 등)를 관리할 수 있다.
도 4의 예에서, 제어 정보 DB(4)는 패킷 처리 유닛(3)들에 통지될 후보 패킷 처리 동작들을 관리한다. 각각의 패킷 처리 동작들은 예를 들면, 매칭 규칙 및 처리 방법을 포함한다. 패킷 처리 유닛(3)들은 패킷 처리 동작에서 지정된 처리 방법에 따라 패킷들을 처리한다. 패킷 처리 유닛(3)은 매칭 규칙과 수신된 패킷을 비교한다. 수신된 패킷이 매칭 규칙과 매칭될 경우에, 패킷 처리 유닛(3)은 매칭 규칙에 대응하는 처리 방법에 의해 수신된 패킷을 처리한다. 매칭 규칙은 예를 들면, 통신 플로우로서의 패킷을 식별하기 위한 조건이다. 통신 플로우는 미리 정해진 조건에 의해 식별되는 일련의 패킷들이다. 매칭 규칙은 예를 들면, 미리 정해진 수신처에 전송될 패킷 또는 미리 정해진 송신원으로부터 전송되는 패킷과 같은 패킷 내에 포함되는 정보에 의거하여 식별되는 규칙이다.
각 제어 장치(1)는 제어 정보 DB(4)를 참조하여 할당 패킷 처리 유닛(3)에 통지될 패킷 처리 동작을 결정한다. 각각의 제어 장치(1)는 제어 정보 DB(4)의 내용을 업데이트할 수 있다.
도 5는 제 1 실시예의 동작 예를 나타내는 플로차트이다.
할당 유닛(2)은 패킷 처리 유닛(3)에 제어 장치(1)를 할당한다(S1).
제어 장치(1)는 복수의 제어 장치가 공유하는 제어 정보 DB(4)를 참조하여, 할당 패킷 처리 유닛(3)에의 통지를 위한 패킷 처리 동작을 결정한다(S2).
제어 장치(1)는 결정된 패킷 처리 동작을 패킷 처리 유닛(3)에 전송한다(S3). 패킷 처리 유닛(3)은 할당 제어 장치(1)에 의해 통지된 패킷 처리 동작에 따라 패킷을 처리한다.
각각의 제어 장치(1)가 담당하는 패킷 처리 유닛(3)들의 수가 분산되어 있으므로, 제어 장치들의 부하가 분산된다.
제어 장치(1)에 장애가 발생할 경우, 예를 들면 다른 제어 장치(1)가 장애가 발생한 제어 장치(1)를 대신하여 동작한다. 이 경우에, 이 제어 장치(1)는 공유 제어 정보 DB(4)를 참조하는 것만으로, 장애가 발생한 제어 장치(1)를 대신하여 동작할 수 있어, 제어 장치(1)는 장애가 발생한 제어 장치(1)로부터의 정보의 핸드오버와 같은 동작을 고려할 필요가 없다. 따라서, 본 실시예에서는, 시스템 장애를 쉽게 회피할 수 있다.
(제 2 실시예)
제 2 실시예에서의 통신 시스템의 구성 예는 도 1과 같다.
도 6은 제 2 실시예에 대한 할당 유닛(2)의 구성 예를 나타내고 있다. 제 2 실시예에서, 할당 유닛(2)이 패킷 처리 유닛(3)에 제어 장치(1)를 할당하는 동작 예에 대해 설명한다.
할당 유닛(2)은 제어 유닛(20) 및 관리 DB(데이터베이스)(21)를 포함한다.
제어 유닛(20)은 관리 DB(21)를 참조하여, 패킷 처리 유닛(3)에 할당될 제어 장치(1)를 결정한다.
도 7은 관리 DB(21)에 의해 구비되는 데이터베이스의 예를 나타낸다. 관리 DB(21)에 의해 구비되는 데이터베이스의 구성이 도 7에 한정되는 것은 아니다.
관리 DB(21)는 제어 장치(1)마다, 예를 들면 제어 장치(1)의 부하 및 제어 장치(1)에 할당된 패킷 처리 유닛(3)을 관리한다. 제어 유닛(20)은 제어 장치(1) 각각의 부하를 고려하여, 패킷 처리 유닛(3)에 제어 장치(1)를 할당한다. 제어 유닛(20)은 예를 들면, 패킷 처리 유닛(3)에 부하가 가장 낮은 제어 장치(1)를 할당한다. 관리 DB(21)는 각 제어 장치의 동작 상태(예를 들면, 제어 장치가 동작 중인지 또는 정지해 있는지를 나타내는 상태)를 관리할 수 있음을 유의한다.
제어 유닛(20)은 예를 들면, 통신 시스템의 개시 시 또는 새로운 패킷 처리 유닛(3)이 통신 시스템에 추가될 경우, 관리 DB(21)를 참조하여 제어 장치(1)의 할당을 행한다. 새로운 제어 장치(1)가 통신 시스템에 추가될 경우, 제어 유닛(20)은, 전체 통신 시스템에 있어서, 패킷 처리 유닛(3)에 대한 제어 장치(1)의 할당을 변경할 수 있다.
제어 유닛(20)은 관리 DB(21)를 참조하여 각각의 제어 장치(1)의 부하 상태를 감시하고, 패킷 처리 유닛(3)들에 대한 제어 장치(1)들의 할당을 동적으로 변경할 수 있다. 제어 유닛(20)이 예를 들면, 패킷 처리 유닛(3)들에 대한 할당을 동적으로 변경해서, 각각의 제어 장치(1)의 부하는 전체 시스템의 제어 장치(1)들의 평균 부하에 도달한다. 예를 들면, 특정 제어 장치(1)의 부하가 각각의 제어 장치의 부하 평균보다 적어도 미리 정해진 임계값 높아진 경우, 제어 유닛(20)은 예를 들면, 패킷 처리 유닛(3)들의 할당을 변경한다. 또한, 예들 들면, 특정 제어 장치(1)의 부하가 각각의 제어 장치들의 평균 부하보다 적어도 미리 정해진 임계값 낮아진 경우, 제어 유닛(20)은 패킷 처리 유닛(3)들의 할당을 변경한다.
할당 유닛(2)은 패킷 처리 유닛(3)들의 위치에 관련된 정보에 의거하여 제어 장치들을 할당할 수 있다.
할당 유닛(2)은 예를 들면, 위치에 관련된 정보로서 제어 장치(1)와 패킷 처리 유닛(3) 사이의 거리를 참조하여, 제어 장치(1)의 할당을 행할 수 있다. 도 8의 예에 나타낸 바와 같이, 관리 DB(21)는 제어 장치(1)들과 패킷 처리 유닛(3)들 사이의 거리에 관련된 정보를 관리한다. 관리 DB(21)는 예를 들면, 각각의 제어 장치(1)와 관련하여, 통신 시스템 내에 포함된 각각의 패킷 처리 유닛(3)들에 대한 거리들을 관리한다. 할당 유닛(2)은 도 7에 예시된 부하 상태 및 도 8에 예시된 거리들을 고려하여, 제어 장치(1)들의 할당을 행할 수 있음을 유의한다.
제어 장치(1)와 패킷 처리 유닛(3) 사이의 거리는 예를 들면, 제어 장치와 패킷 처리 유닛 사이의 위치 관계에 의존하는 거리이거나, 또는 통신 시스템의 네트워크 구성(네트워크 토폴로지)에 의거하여 결정되는 거리이다. 제어 장치(1)와 패킷 처리 유닛(3) 사이의 거리는 또한 통신 홉(hop)의 수일 수 있다.
제어 유닛(20)은 예를 들면, 패킷 처리 유닛(3)에 할당되는 후보인 제어 장치(1)들 간에서 패킷 처리 유닛(3)으로부터의 거리가 최소인 제어 장치를 패킷 처리 유닛에 할당할 수 있다.
할당 유닛(2)은 위치에 관련된 정보로서 제어 장치(1)와 패킷 처리 유닛(3) 사이의 통신 비용을 참조하여, 제어 장치(1)의 할당을 행할 수 있다. 관리 DB(21)는 도 9의 예에서와 같이, 제어 장치(1)와 패킷 처리 유닛(3) 사이의 통신 비용에 관련된 정보를 관리한다. 관리 DB(21)는 예를 들면, 각각의 제어 장치(1)에 대해, 통신 시스템 내에 포함된 각각의 패킷 처리 유닛(3)들에 대한 통신 비용을 관리한다. 할당 유닛(2)은 도 7에 예시된 부하 상태 및 도 9에 예시된 통신 비용을 고려하여, 제어 장치(1)들의 할당을 행할 수 있음을 유의한다.
통신 비용은 예를 들면, 제어 장치(1)와 패킷 처리 유닛(3) 사이의 왕복 시간, 또는 제어 장치(1)와 패킷 처리 유닛(3) 사이의 통신 홉의 수로부터 얻어진다.
제어 유닛(20)은 예를 들면, 패킷 처리 유닛(3)에 할당되는 후보인 제어 장치(1)들 중에서, 패킷 처리 유닛(3)에 대한 통신 비용이 최소인 제어 장치를 패킷 처리 유닛에 할당한다.
할당 유닛(2)은 제어 장치를 할당하는 데 있어서의 부하를 고려하므로, 패킷 처리 유닛을 제어하기 위한 각각의 제어 장치의 부하가 분산된다. 또한, 패킷 처리 유닛의 위치에 의거하여 제어 장치가 할당되므로, 패킷 처리 유닛과 제어 장치 사이의 통신 처리량이 증가된다.
(제 3 실시예)
도 10은 제어 정보 데이터베이스 DB(4)의 구성 예를 나타내고 있다.
제어 정보 DB(4)는 예를 들면, 도 10에 나타낸 바와 같이, 각각의 패킷 처리 유닛(3)에 대한 제어 정보를 관리한다. 각각의 제어 장치(1)는 할당 패킷 처리 유닛(3)에 대응하는 영역을 참조하여, 패킷 처리 유닛(3)에 통지될 패킷 처리 동작을 결정한다. 각각의 제어 장치(1)들은 할당 패킷 처리 유닛(3)에 대응하는 영역의 정보를 업데이트할 수 있다.
예를 들면, 패킷 처리 유닛(3)에 의해 패킷 처리 동작의 통지가 요청된 경우에, 제어 장치(1)는 제어 정보 DB(4)를 참조하여 패킷 처리 동작을 결정한다. 제어 장치(1)는 예를 들면 주기적으로 제어 정보 DB(4)를 참조할 수 있고, 패킷 처리 유닛(3)에 통지되어야 할 패킷 처리 동작이 확인된 경우에 패킷 처리 유닛(3)에 패킷 처리 동작을 통지할 수 있다. 제어 장치(1)는, 제어 정보 DB(4)로부터 데이터베이스 업데이트를 나타내는 제어 메시지를 수신하는 것에 응답하여 제어 정보 DB(4)를 참조할 수 있다.
도 11은 특정 패킷 처리 유닛(3)에 할당된 제어 장치(1)를 전환할 경우의 동작 예를 나타내고 있다. 도 11은, 패킷 처리 유닛(3-1)에 할당된 제어 장치가 제어 장치(1-1)로부터 제어 장치(1-2)로 전환되는 예를 나타내고 있다.
예를 들면, 제어 장치(1)에 장애가 발생한 경우에, 할당 유닛(2)은 장애가 발생한 제어 장치를 대신하여 패킷 처리 유닛(3)를 제어할 제어 장치(1)를 결정한다. 할당 유닛(2)은 장애가 발생한 제어 장치(1)를 결정된 제어 장치(1)로 전환한다.
제어 장치(1-1)는 패킷 처리 유닛(3-1)에 대한 제어 정보의 참조를 중지한다. 패킷 처리 유닛(3-1)의 제어를 새롭게 담당하는 제어 장치(1-2)는 패킷 처리 유닛(3-1)에 대한 제어 정보의 참조를 개시하고, 패킷 처리 유닛(3-1)의 제어를 넘겨받는다. 제어 장치들(1-1 및 1-2)은 제어 정보 DB(4)를 공유하므로, 제어 장치(1-2)는 자신과 제어 장치(1-1) 사이에서 제어를 넘겨받는 것에 관한 처리를 실행할 필요가 없다는 점을 유의한다.
도 12는 제어 장치(1)가 시스템에 새롭게 추가되는 경우의 동작 예를 나타내고 있다. 도 12는 제어 장치(1-x)가 시스템에 추가되는 예를 나타내고 있다.
할당 유닛(2)은 추가된 제어 장치(1-x)에 패킷 처리 유닛(3-x)을 할당한다. 제어 장치(1-x)는 패킷 처리 유닛(3-x)에 대한 제어 정보를 참조하여 패킷 처리 유닛(3-x)을 제어한다.
제어 정보 DB(4)를 공유하는 각각의 제어 장치들에 의해, 제 3 실시예에서와 같이, 제어 장치들의 추가에 의한 확장(scale-out) 및 장애 회피가 용이해진다. 이는, 단순히 공유 데이터베이스를 참조함으로써 제어 장치가 패킷 처리 유닛(3)의 제어를 개시할 수 있기 때문이다. 제어 장치(1)가 복수의 제어 패킷 제어 유닛(3)의 중앙 집중형 제어를 행할 경우에, 제어 장치(1)의 부하 증가를 막기 위해 제어 장치(1)들의 수의 증가를 고려할 수 있다. 제 3 실시예에 따르면, 시스템 관리자는 제어 장치(1)들을 매우 쉽게 증가시킬 수 있다. 장애 회피를 위해 제어 장치를 전환할 경우에, 데이터베이스 참조를 변경하는 것만으로 제어 장치를 전환할 수 있어, 시스템 관리자는 매우 쉽게 제어 장치를 전환할 수 있다.
각각의 제어 장치(1)가 개별적으로 제어 정보를 유지하지 않기 때문에, 패킷 처리 유닛(3)의 할당에 대한 변경도 쉽다. 패킷 처리 유닛(3)의 할당이 변경될 경우에, 제어 장치(1)는 제어 정보 DB(4)에 대한 참조를 변경하기만 하면 된다. 각각의 제어 장치(1)가 개별적으로 제어 정보를 유지할 경우에, 할당 변경이 이루어질 때 제어 정보의 이동이 필요하다. 그러나, 각각의 제어 장치(1)가 제어 정보 DB(4)를 공유하는 구성을 가짐으로써, 제어 정보를 이동시키는 처리가 실행될 필요가 없다.
(제 4 실시예)
제 4 실시예는, 중앙 집중형 제어 아키텍처를 갖는 오픈플로우(OpenFlow)라고 알려진 기술을 개선함으로써 본 발명이 실시되는 예를 나타내고 있다.
도 13 및 도 14를 참조하여, 오픈플로우에 대해 설명한다.
오픈플로우에서는, 통신은 엔드투엔드(end-to-end)로서 인식되며, 경로 제어, 장애 복구, 및 부하 밸런싱이 플로우 단위로 행해진다. 도 13은 오픈플로우에 따라 구성된 통신 시스템의 개략을 나타낸다. 플로우는 예를 들면, 미리 정해진 속성을 갖는 일련의 통신 패킷 그룹들을 나타냄을 유의한다. 오픈플로우 스위치(600)는 오픈플로우 기술을 사용하는 네트워크 스위치이다. 오픈플로우 컨트롤러(700)는 오픈플로우 스위치(600)들을 제어하는 정보 처리 디바이스이다.
오픈플로우 스위치(600)는, 오픈플로우 스위치(600)와 오픈플로우 컨트롤러(700) 사이에 구성되는 보안 채널(701)을 통해 오픈플로우 컨트롤러와 통신한다. 오픈플로우 컨트롤러(700)는 보안 채널(701)을 통해 오픈플로우 스위치(600)의 플로우 테이블(601)을 구성한다. 보안 채널(701)은, 스위치와 컨트롤러 사이의 통신의 도청 또는 조작을 방지하기 위해 채택된 통신 경로인 것에 유의한다.
도 14는 플로우 테이블(601)의 각각의 엔트리(플로우 엔트리)들의 구성 예를 나타낸다. 플로우 엔트리는, 스위치에 의해 수신된 패킷 정보(예를 들면, 수신처 IP 주소 또는 VLAN ID)의 매칭을 위한 매칭 규칙, 각각의 패킷 플로우에 대한 통계 정보인 플로우 통계 정보(Counters), 및 매칭 규칙과 매칭되는 패킷의 처리 방법을 정의하는 액션들(Actions)로 구성된다.
패킷의 수신 시, 오픈플로우 스위치(600)는 플로우 테이블(601)을 참조한다. 오픈플로우 스위치(600)는 수신된 패킷의 헤더 정보와 매칭되는 플로우 엔트리(600)를 검색한다. 수신된 패킷의 헤더 정보와 매칭되는 엔트리가 검색된 경우에, 오픈플로우 스위치(600)는 검색된 엔트리의 액션 필드에 정의된 처리 방법에 따라 수신된 패킷을 처리한다. 처리 방법은, 예를 들면 "수신된 패킷을 미리 정해진 포트로부터 포워딩", "수신된 패킷을 드롭", "수신된 패킷의 헤더 부분을 재기입하여 미리 정해진 포트로부터 포워딩"의 정의들을 갖는다.
한편, 수신된 패킷의 헤더 정보와 매칭되는 엔트리가 발견되지 않을 경우에, 오픈플로우 스위치(600)는 예를 들면, 수신된 패킷을 보안 채널(701)을 통해 오픈플로우 컨트롤러(700)에 포워딩한다. 수신된 패킷을 포워딩함으로써, 오픈플로우 스위치(600)는 컨트롤러에게, 수신된 패킷에 대한 처리 방법을 정의하는 플로우 엔트리의 구성을 요청한다. 수신된 패킷이, 오픈플로우 컨트롤러(700)에 대해 플로우 엔트리의 구성을 요청하는 것을 지정하는 엔트리와 매칭될 경우, 오픈플로우 스위치(600)는 오픈플로우 컨트롤러(700)에 대해 플로우 엔트리의 구성을 요청할 수 있는 것에 유의한다.
오픈플로우 컨트롤러(700)는 수신된 패킷에 대한 처리 방법을 결정하고 결정된 처리 방법을 포함하는 플로우 엔트리를 플로우 테이블(601)에 구성한다. 그 후, 오픈플로우 스위치(600)는 수신된 패킷과 동일한 플로우에 속하는 후속 패킷들을 구성된 플로우 엔트리에 따라 처리한다.
제 4 실시예의 시스템 구성은 제 1, 제 2 또는 제 3 실시예와 유사하다. 도 15 및 도 16은 각각 제 4 실시예의 제어 장치(1A) 및 패킷 처리 유닛(3A)의 구성 예를 나타내고 있다. 도 15의 제어 장치는, 제 3 실시예에서와 같이, 다른 제어 장치와 제어 정보 DB(4)를 공유하는 구성을 갖는다.
도 15는 제 4 실시예의 제어 장치(1A)의 구성 예를 나타내고 있다. 제어 장치(1A)는 통신 유닛(10), 제어 유닛(11), 및 할당 관리 DB(12)를 포함한다.
통신 유닛(10)은 제어 장치(1A)에 할당된 패킷 처리 유닛(3A)과 통신한다. 통신 유닛(10)은 패킷 처리 유닛(3A)에 패킷 처리 동작을 통지한다. 통신 유닛(10)은 패킷 처리 유닛(3A)으로부터 패킷 처리 동작의 전송에 대한 요청을 수신한다. 통신 유닛(10)은, 패킷 처리 유닛(3A)과 확립된 제어 채널을 통해 패킷 처리 유닛(3A)과 통신한다.
할당 관리 DB(12)는 제어 장치(1A)에 할당된 패킷 처리 유닛(3A)을 관리한다. 예를 들면, 할당 관리 DB(12)는 제어 장치(1A)에 할당된 패킷 처리 유닛의 식별 정보를 관리한다.
제어 유닛(11)은 할당 관리 DB(12)를 참조하여 제어 장치(1A)에 할당된 패킷 처리 유닛(3A)을 인식한다. 제어 유닛(11)은 제어 정보 DB(4)로부터, 제어 장치(1A)에 할당된 패킷 처리 유닛(3A)에 관련된 제어 정보를 참조한다. 제어 유닛(11)은 참조된 제어 정보에 의거하여 패킷 처리 유닛(3A)에 통지될 패킷 처리 동작을 결정한다. 제어 유닛(11)은 예를 들면, 패킷 처리 유닛(3A)으로부터의 요청에 응답하여 패킷 처리 동작을 결정한다. 제어 유닛(11)은 예를 들면 자율적으로 제어 정보 DB(4)를 참조하여 패킷 처리 유닛(3A)에 패킷 처리 동작을 통지할 수 있다.
도 16은 제 4 실시예의 패킷 처리 유닛(3A)의 구성 예를 나타내고 있다. 패킷 처리 유닛(3A)은 통신 유닛(30), 패킷 프로세서(31), 및 패킷 처리 동작 DB(32)를 포함한다.
패킷의 수신 시, 패킷 프로세서(31)는 패킷 처리 동작 DB(32)로부터, 수신된 패킷에 대응하는 패킷 처리 동작을 검색한다. 패킷 프로세서(31)는 예를 들면 패킷 처리 동작의 매칭 규칙과 수신된 패킷의 헤더 정보를 비교하여, 패킷과 매칭되는 매칭 규칙을 갖는 패킷 처리 동작을 검색한다.
패킷 프로세서(31)는, 수신된 패킷에 대응하는 패킷 처리 동작에서 지정된 처리 방법에 따라 패킷들을 처리한다.
예를 들면 수신된 패킷에 대응하는 패킷 처리 동작이 존재하지 않거나 검색된 패킷 처리 동작이 제어 장치에 문의를 지시할 경우, 패킷 프로세서(31)는 제어 장치에 대해, 수신된 패킷에 대응하는 패킷 처리 동작에 대해 문의한다.
할당 유닛(2)은 패킷 처리 유닛(3A)으로부터 수신된 문의를 패킷 처리 유닛(3A)에 할당된 제어 장치(1A)에 포워딩한다. 할당 유닛(2)은 예를 들면, 패킷 처리 유닛(3A)에 할당된 제어 장치(1A)를 관리하는 데이터베이스를 갖는다. 할당 유닛(2)은 예를 들면, 패킷 처리 유닛(3A)에 할당된 제어 정보의 식별 정보 및 통신 주소(예를 들면, IP 주소)를 관리하는 데이터베이스를 갖는다.
도 17은 제 4 실시예의 동작 예를 나타내는 시퀀스도이다. 도 17은 일례이며, 제 4 실시예의 동작이 도 17에 한정되는 것은 아니다.
할당 유닛(2)은 패킷 처리 유닛(3A)에 제어 장치(1A)를 할당한다. 할당 유닛(2)은 예를 들면, 제 2 실시예에 나타낸 방법에 의거하여 패킷 처리 유닛(3A)에 할당되는 제어 장치(1A)를 결정한다.
패킷 처리 유닛(3A)은 할당된 제어 장치(1A)에 대해, 수신된 패킷에 대응하는 패킷 처리 동작에 대해 문의한다.
문의를 수신한 제어 장치(1A)는 패킷 처리 동작을 결정하고 결정된 패킷 처리 동작을 패킷 처리 유닛(3A)에 통지한다.
패킷 처리 유닛(3A)은 통지된 패킷 처리 동작에 따라 패킷을 처리한다.
제 4 실시예에 따르면, 오픈플로우 기술을 이용함으로써 본 발명을 실시할 수 있다.
(제 5 실시예)
도 18은 제 5 실시예의 시스템 구성 예를 나타내고 있다.
제 5 실시예의 시스템은 복수의 제어 장치(1B), 할당 유닛(2), 가상 스위치(vSwitch)(3B), 서버(5), 물리적 스위치(6), 및 가상 머신(VM)을 포함한다.
가상 스위치(3B)는 서버(5)에 의해 실행되는 소프트웨어에 의해 구성되는 네트워크 스위치이다. 가상 스위치(3B)는 다른 실시예의 패킷 처리 유닛(3)에 대응하는 기능을 갖는다. 즉, 가상 스위치(3B)는 제어 장치(1B)에 의한 제어에 의거하여 패킷들을 처리한다. 가상 스위치(3B)는 예를 들면, 물리적 스위치(6)들에 의해 구성되는 네트워크의 에지에 위치됨을 유의한다.
복수의 제어 장치(1B)는 제어 정보 DB(4)를 공유한다.
소프트웨어에 의해 구성되는 컴퓨터인 가상 머신(VM)(7)은 서버(5)에서 실행된다. 가상 머신(7)은 가상 스위치(3B)를 통해 다른 가상 머신(7)과 통신한다.
할당 유닛(2)은 각각의 가상 스위치(3B)에 제어 장치(1B)를 할당한다. 가상 스위치(3B)들은 할당 제어 장치(1B)에 의해 통지되는 패킷 처리 동작에 따라 패킷을 처리한다.
서버(5)는 예를 들면, 물리적 스위치(6)들에 의해 구성되는 네트워크의 에지에 위치된다. 이 경우에, 제어 장치(1B)는 네트워크의 에지에 존재하는 가상 스위치(3B)의 동작을 제어한다.
가상 머신(7)은 물리적 스위치(6)들에 구축된 가상 네트워크를 통해 다른 가상 머신(7)과 통신한다. 가상 네트워크는 예를 들면, VLAN(Virtual LAN) 또는 NVGRE(Network Virtualization using Generic Routing Encapsulation) 등의 프로토콜에 기반하여 구축된다.
도 19를 참조하여, 가상 머신(7)들 사이의 통신 동작의 예에 대해 설명한다.
다른 가상 머신(7)과 통신할 경우, 가상 머신(7)은 물리적 스위치(6)들에 구축된 가상 네트워크를 통해 통신한다. 도 19의 예에서, 가상 머신(7-1)과 가상 머신(7-3) 사이의 통신은 가상 네트워크 ID가 "A"인 터널을 통해 실행되고, 가상 머신(7-2)과 가상 머신(7-4) 사이의 통신은 가상 네트워크 ID가 "B"인 터널을 통해 실행된다.
가상 스위치(3B-1)에 할당된 제어 장치(1B)는 예를 들면, 가상 머신(7-3)의 수신처를 갖는 패킷에 가상 네트워크 ID "A"의 태그(예를 들면, VLAN 태그)를 할당하는 것을 지정하는 패킷 처리 동작을 가상 스위치(3B-1)에 통지한다. 예를 들면, 가상 머신(7-1)으로부터 가상 머신(7-3)의 수신처를 갖는 패킷의 수신 시, 가상 스위치(3B-1)는 제어 장치(1B)의 명령에 따라 가상 네트워크 ID "A"를 나타내는 태그를 패킷에 할당한다.
가상 스위치(3B-2)에 할당된 제어 장치(1B)는 예를 들면, 가상 머신(7-4)의 수신처를 갖는 패킷에 가상 네트워크 ID "B"의 태그(예를 들면, VLAN 태그)를 할당하는 것을 지정하는 패킷 처리 동작을 가상 스위치(3B-2)에 통지한다. 예를 들면, 가상 머신(7-2)으로부터 가상 머신(7-4)의 수신처를 갖는 패킷의 수신 시, 가상 스위치(3B-2)는 제어 장치(1B)의 명령에 따라 가상 네트워크 ID "B"를 나타내는 태그를 패킷에 할당한다.
물리적 스위치(6)는 가상 네트워크 ID 태그에 의거한 패킷 포워딩 방법의 구성(예를 들면, 가상 네트워크 ID "A"를 갖는 패킷이 포워딩될 포트 번호)을 사전에 유지하고 있다.
제 5 실시예에서와 같이, 제어 장치(1B)는 가상 스위치(3B)만을 제어하는 구성에 의해, 제어 장치(1B)의 부하 증가를 막을 수 있다. 또한, 통신 시스템의 기존 설비(예를 들면, 물리적 스위치(6))를 교체하지 않고, 제어 장치에 의한 중앙 집중형 제어를 갖는 네트워크를 설치하는 것이 가능하다.
본 발명의 바람직한 형태가 다음과 같이 정리된다.
(모드 1)
패킷 처리 동작을 결정하는 복수의 제어 장치,
상기 제어 장치에 의해 통지되는 패킷 처리 동작에 따라 패킷을 처리하는 복수의 패킷 처리 수단,
상기 패킷 처리 수단 각각에 대해, 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 할당 수단, 및
상기 복수의 제어 장치가 공유하고 상기 패킷 처리 동작에 관련된 정보를 저장하는 데이터베이스를 포함하고,
상기 제어 장치 각각은 상기 데이터베이스를 참조하여 상기 패킷 처리 동작을 결정하는 통신 시스템.
(모드 2)
상기 제어 장치 각각은 상기 데이터베이스로부터, 제어 대상인 패킷 처리 수단에 대응하는 정보를 검색하고, 검색된 정보에 의거하여 제어 대상인 상기 패킷 처리 수단에 전송될 상기 패킷 처리 동작을 결정하는 모드 1에 따른 통신 시스템.
(모드 3)
상기 제어 장치 각각은, 제어 대상인 패킷 처리 수단이 변경됨에 따라, 상기 데이터베이스의 참조 영역을 변경하는 모드 1 또는 모드 2에 따른 통신 시스템.
(모드 4)
상기 데이터베이스는 상기 복수의 패킷 처리 수단에 각각 대응하는 영역들로 분할하여 상기 정보를 저장하는 모드 1 내지 모드 3 중 어느 하나에 따른 통신 시스템.
(모드 5)
상기 제어 장치 각각은 미리 정해진 기간에 상기 데이터베이스를 참조하고, 상기 할당 수단에 의해 할당된 패킷 처리 수단에 통지될 패킷 처리 동작이 있는지의 여부를 확인하는 모드 1 내지 모드 4 중 어느 하나에 따른 통신 시스템.
(모드 6)
상기 제어 장치 각각은 상기 데이터베이스의 내용이 변경되었음을 나타내는 통지를 수신한 것에 응답하여 상기 데이터베이스를 참조하는 모드 1 내지 모드 5 중 어느 하나에 따른 통신 시스템.
(모드 7)
상기 할당 수단은, 각각의 패킷 처리 수단에 대해, 미리 정해진 규칙에 의거하여 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 모드 1 내지 모드 6 중 어느 하나에 따른 통신 시스템.
(모드 8)
상기 할당 수단은, 각각의 패킷 처리 수단에 대해, 상기 제어 장치의 부하 상태에 의거하여 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 모드 1 내지 모드 7 중 어느 하나에 따른 통신 시스템.
(모드 9)
상기 할당 수단은, 각각의 패킷 처리 수단에 대해, 상기 패킷 처리 수단의 위치에 관련된 정보에 의거하여 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 모드 1 내지 모드 8 중 어느 하나에 따른 통신 시스템.
(모드 10)
상기 할당 수단은 각각의 패킷 처리 수단에 할당된 제어 장치를 다른 제어 장치로 변경하는 기능을 갖는 모드 1 내지 모드 9 중 어느 하나에 따른 통신 시스템.
(모드 11)
상기 할당 수단은, 제어 장치가 정지했을 경우에, 상기 정지된 제어 장치를 대신하여 패킷 처리 수단을 제어할 다른 제어 장치를 결정하는 모드 1 내지 모드 10 중 어느 하나에 따른 통신 시스템.
(모드 12)
패킷 처리를 제어하는 제어 장치로서,
상기 제어 장치 및 다른 제어 장치가 공유하는 데이터베이스를 참조하여, 상기 패킷에 대한 처리 방법에 관련된 패킷 처리 동작을 결정하는 제 1 수단, 및
복수의 패킷 처리 수단 중에서, 상기 제어 장치에 할당된 패킷 처리 수단에 상기 결정된 패킷 처리 동작을 통지하는 제 2 수단을 포함하는 제어 장치.
(모드 13)
상기 제 1 수단은 상기 데이터베이스로부터, 상기 제어 장치에 할당된 패킷 처리 수단에 대응하는 정보를 검색하고, 검색된 정보에 의거하여, 당해 패킷 처리 수단에 전송될 상기 패킷 처리 동작을 결정하는 모드 12에 따른 제어 장치.
(모드 14)
상기 제 1 수단은 변경되는 제어 대상인 패킷 처리 수단에 따라, 상기 데이터베이스의 참조 영역을 변경하는 모드 12 또는 모드 13에 따른 제어 장치.
(모드 15)
상기 데이터베이스는 상기 복수의 패킷 처리 수단에 각각 대응하는 영역들로 분할하여 정보를 저장하는 모드 12 내지 모드 14에 중 어느 하나에 따른 제어 장치.
(모드 16)
상기 제어 장치는 미리 정해진 기간에 상기 데이터베이스를 참조하여, 할당 수단에 의해 할당된 패킷 처리 수단에 통지될 패킷 처리 동작이 있는지의 여부를 확인하는 모드 12 내지 모드 15 중 어느 하나에 따른 제어 장치.
(모드 17)
상기 제어 장치 각각은 상기 데이터베이스의 내용이 변경되었음을 나타내는 통지를 수신한 것에 응답하여 상기 데이터베이스를 참조하는 모드 12 내지 모드 16 중 어느 하나에 따른 제어 장치.
(모드 18)
복수의 제어 장치가 패킷 처리를 제어하는 통신 방법으로서,
복수의 패킷 처리 수단 각각에 대해, 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 단계,
상기 제어 장치 각각에 의해, 상기 복수의 제어 장치가 공유하는 데이터베이스를 참조함으로써, 패킷을 처리하기 위한 패킷 처리 동작을 결정하는 단계, 및
상기 제어 장치 각각에 의해, 상기 결정된 패킷 처리 동작을 상기 할당된 패킷 처리 수단에 통지하는 단계를 포함하는 통신 방법.
(모드 19)
패킷의 처리를 제어하는 제어 장치를 위한 제어 방법으로서,
상기 제어 장치 및 다른 제어 장치가 공유하는 데이터베이스를 참조함으로써, 상기 패킷을 처리하는 방법에 관련된 패킷 처리 동작을 결정하는 단계, 및
복수의 패킷 처리 수단 중에서, 상기 제어 장치에 할당된 패킷 처리 수단에 상기 결정된 패킷 처리 동작을 통지하는 단계를 포함하는 제어 방법.
(모드 20)
상기 제어 장치 및 다른 제어 장치가 공유하는 데이터베이스를 참조함으로써, 상기 패킷을 처리하는 방법에 관련된 패킷 처리 동작을 결정하는 프로세스, 및
복수의 패킷 처리 수단 중에서, 상기 제어 장치에 할당된 패킷 처리 수단에 상기 결정된 패킷 처리 동작을 통지하는 프로세스를, 패킷의 처리를 제어하는 제어 장치에서 실행하는 프로그램.
전술한 특허문헌 및 비특허문헌의 개시는 참조에 의해 본원에 통합된다. 실시예의 변경 및 조정은 본 발명의 전체 개시(특허청구범위를 포함)의 범주 내에서 본 발명의 기본적인 기술적 사상에 기초하여 가능하다. 개시된 다양한 요소들(각 청구항의 각 요소, 각 실시예의 각 요소, 각 도면의 각 요소 등)의 다양한 조합들 및 선택들이 본 발명의 특허청구범위의 범주 내에서 가능하다. 즉, 본 발명은 특허청구범위 및 기술적 사상을 포함하는 전체 개시에 따라 통상의 기술자에 의해 이루어질 수 있는 다양한 변형 및 변경을 포함함은 물론이다. 특히, 본원에 개시되는 임의의 수치 범위는, 공개된 범위 내의 임의의 중간값 또는 부분 범위들도 그에 대한 특정 언급이 없더라도 구체적으로 개시되어 있는 것으로 해석되어야 한다.
1, 1A, 1B 제어 장치
10 통신 유닛
11, 20 제어 유닛
12 할당 관리 DB
2 할당 유닛
21 관리 DB
3, 3A 패킷 처리 유닛
3B 가상 스위치
30 통신 유닛
31 패킷 프로세서
32 패킷 처리 동작 DB
4 제어 정보 DB
5 서버
6 물리적 스위치
7 가상 머신(VM)
600 오픈플로우 스위치
601 플로우 테이블
700 오픈플로우 컨트롤러
701 보안 채널

Claims (20)

  1. 패킷 처리 동작을 결정하는 복수의 제어 장치,
    상기 제어 장치에 의해 통지되는 패킷 처리 동작에 따라 패킷을 처리하는 복수의 패킷 처리 수단,
    상기 패킷 처리 수단 각각에 대해, 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 할당 수단, 및
    상기 복수의 제어 장치가 공유하고 상기 패킷 처리 동작에 관련된 정보를 저장하는 데이터베이스를 포함하고,
    상기 제어 장치 각각은 상기 데이터베이스를 참조하여 상기 패킷 처리 동작을 결정하는 통신 시스템.
  2. 제 1 항에 있어서,
    상기 제어 장치 각각은 상기 데이터베이스로부터, 제어 대상인 패킷 처리 수단에 대응하는 정보를 검색하고, 검색된 정보에 의거하여 제어 대상인 상기 패킷 처리 수단에 전송될 상기 패킷 처리 동작을 결정하는 통신 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제어 장치 각각은, 제어 대상인 패킷 처리 수단이 변경됨에 따라, 상기 데이터베이스의 참조 영역을 변경하는 통신 시스템.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 데이터베이스는 상기 복수의 패킷 처리 수단에 각각 대응하는 영역들로 분할하여 상기 정보를 저장하는 통신 시스템.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 제어 장치 각각은 미리 정해진 기간에 상기 데이터베이스를 참조하고, 상기 할당 수단에 의해 할당된 패킷 처리 수단에 통지될 패킷 처리 동작이 있는지의 여부를 확인하는 통신 시스템.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 제어 장치 각각은 상기 데이터베이스의 내용이 변경되었음을 나타내는 통지를 수신한 것에 응답하여 상기 데이터베이스를 참조하는 통신 시스템.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 할당 수단은, 각각의 패킷 처리 수단에 대해, 미리 정해진 규칙에 의거하여 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 통신 시스템.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 할당 수단은, 각각의 패킷 처리 수단에 대해, 상기 제어 장치의 부하 상태에 의거하여 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 통신 시스템.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 할당 수단은, 각각의 패킷 처리 수단에 대해, 상기 패킷 처리 수단의 위치에 관련된 정보에 의거하여 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 통신 시스템.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 할당 수단은 각각의 패킷 처리 수단에 할당된 제어 장치를 다른 제어 장치로 변경하는 기능을 갖는 통신 시스템.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 할당 수단은, 제어 장치가 정지했을 경우에, 상기 정지된 제어 장치를 대신하여 패킷 처리 수단을 제어할 다른 제어 장치를 결정하는 통신 시스템.
  12. 패킷 처리를 제어하는 제어 장치로서,
    상기 제어 장치 및 다른 제어 장치가 공유하는 데이터베이스를 참조하여, 상기 패킷에 대한 처리 방법에 관련된 패킷 처리 동작을 결정하는 제 1 수단, 및
    복수의 패킷 처리 수단 중에서, 상기 제어 장치에 할당된 패킷 처리 수단에 상기 결정된 패킷 처리 동작을 통지하는 제 2 수단을 포함하는 제어 장치.
  13. 제 12 항에 있어서,
    상기 제 1 수단은 상기 데이터베이스로부터, 상기 제어 장치에 할당된 패킷 처리 수단에 대응하는 정보를 검색하고, 검색된 정보에 의거하여, 당해 패킷 처리 수단에 전송될 상기 패킷 처리 동작을 결정하는 제어 장치.
  14. 제 12 항 또는 제 13 항에 있어서,
    상기 제 1 수단은, 제어 대상인 패킷 처리 수단이 변경됨에 따라, 상기 데이터베이스의 참조 영역을 변경하는 제어 장치.
  15. 제 12 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 데이터베이스는 상기 복수의 패킷 처리 수단에 각각 대응하는 영역들로 분할하여 정보를 저장하는 제어 장치.
  16. 제 12 항 내지 제 15 항 중 어느 한 항에 있어서,
    상기 제어 장치는 미리 정해진 기간에 상기 데이터베이스를 참조하여, 할당 수단에 의해 할당된 패킷 처리 수단에 통지될 패킷 처리 동작이 있는지의 여부를 확인하는 제어 장치.
  17. 제 12 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 제어 장치는 상기 데이터베이스의 내용이 변경되었음을 나타내는 통지를 수신한 것에 응답하여 상기 데이터베이스를 참조하는 제어 장치.
  18. 복수의 제어 장치가 패킷 처리를 제어하게 하는 통신 방법으로서,
    복수의 패킷 처리 수단 각각에 대해, 당해 패킷 처리 수단을 제어하는 제어 장치를 할당하는 단계,
    상기 제어 장치 각각에 의해, 상기 복수의 제어 장치가 공유하는 데이터베이스를 참조함으로써, 패킷을 처리하기 위한 패킷 처리 동작을 결정하는 단계, 및
    상기 제어 장치 각각에 의해, 상기 결정된 패킷 처리 동작을 상기 할당된 패킷 처리 수단에 통지하는 단계를 포함하는 통신 방법.
  19. 패킷의 처리를 제어하는 제어 장치를 위한 제어 방법으로서,
    상기 제어 장치 및 다른 제어 장치가 공유하는 데이터베이스를 참조함으로써, 상기 패킷을 처리하는 방법에 관련된 패킷 처리 동작을 결정하는 단계, 및
    복수의 패킷 처리 수단 중에서, 상기 제어 장치에 할당된 패킷 처리 수단에 상기 결정된 패킷 처리 동작을 통지하는 단계를 포함하는 제어 방법.
  20. 상기 제어 장치 및 다른 제어 장치가 공유하는 데이터베이스를 참조함으로써, 상기 패킷을 처리하는 방법에 관련된 패킷 처리 동작을 결정하는 프로세스, 및
    복수의 패킷 처리 수단 중에서, 상기 제어 장치에 할당된 패킷 처리 수단에 상기 결정된 패킷 처리 동작을 통지하는 프로세스를, 패킷의 처리를 제어하는 제어 장치에서 실행하는 프로그램.
KR1020147034165A 2012-06-14 2013-06-12 통신 시스템, 제어 장치, 통신 방법, 제어 방법 및 프로그램 KR20150016314A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012135031 2012-06-14
JPJP-P-2012-135031 2012-06-14
PCT/JP2013/003673 WO2013187054A1 (en) 2012-06-14 2013-06-12 Communication system, control apparatus, communication method, control method and program

Publications (1)

Publication Number Publication Date
KR20150016314A true KR20150016314A (ko) 2015-02-11

Family

ID=49757899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147034165A KR20150016314A (ko) 2012-06-14 2013-06-12 통신 시스템, 제어 장치, 통신 방법, 제어 방법 및 프로그램

Country Status (8)

Country Link
US (1) US10212084B2 (ko)
EP (1) EP2862322B1 (ko)
JP (1) JP6323339B2 (ko)
KR (1) KR20150016314A (ko)
CN (1) CN104365069A (ko)
HK (1) HK1208572A1 (ko)
IN (1) IN2014DN10624A (ko)
WO (1) WO2013187054A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9397917B2 (en) 2014-01-10 2016-07-19 Huawei Technologies Co., Ltd. System and method for zoning in software defined networks
US20170078193A1 (en) * 2014-03-06 2017-03-16 Nec Corporation Communication system, control apparatus, communication apparatus, and communication method
US9445279B2 (en) * 2014-12-05 2016-09-13 Huawei Technologies Co., Ltd. Systems and methods for placing virtual serving gateways for mobility management
WO2018015983A1 (en) 2016-07-21 2018-01-25 Nec Corporation Communication apparaus, system, rollback method, and program
JP6543600B2 (ja) * 2016-08-17 2019-07-10 日本電信電話株式会社 管理システム、及び管理方法
CN107592226A (zh) * 2017-09-15 2018-01-16 厦门拓宝科技有限公司 多种不同设备类型的集中管控方法
JP7003864B2 (ja) * 2018-07-24 2022-02-10 日本電信電話株式会社 振分装置、通信システムおよび振分方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4169710B2 (ja) 2004-02-23 2008-10-22 日本電信電話株式会社 Bgp経路情報管理システムおよびそのプログラム
JP2006227963A (ja) * 2005-02-18 2006-08-31 Fujitsu Ltd 多段負荷分散装置、方法及びプログラム
US7536481B2 (en) * 2005-02-25 2009-05-19 Microsoft Corporation Method and system for re-synchronizing end points when an intermediary detects that the end points may be unsynchronized
CN100389392C (zh) 2006-05-29 2008-05-21 杭州华三通信技术有限公司 一种集群系统中实现负载均衡的方法、系统和存储控制器
US20080189769A1 (en) 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
JP2009213097A (ja) 2008-03-06 2009-09-17 Nippon Telegr & Teleph Corp <Ntt> 情報記録システムおよび情報記録方法
JP4559512B2 (ja) * 2008-08-11 2010-10-06 日本電信電話株式会社 パケット転送システムおよびパケット転送方法
WO2011065268A1 (ja) * 2009-11-26 2011-06-03 日本電気株式会社 負荷分散システム、負荷分散方法、及びプログラム
US8588066B2 (en) * 2010-03-26 2013-11-19 Citrix Systems, Inc. Systems and methods for link load balancing on a multi-core device
JP5670796B2 (ja) 2010-09-06 2015-02-18 西日本電信電話株式会社 仮想系動作を実現する方法および通信装置
US9001827B2 (en) * 2010-12-17 2015-04-07 Big Switch Networks, Inc. Methods for configuring network switches
US9185056B2 (en) * 2011-09-20 2015-11-10 Big Switch Networks, Inc. System and methods for controlling network traffic through virtual switches
US8705536B2 (en) * 2012-03-05 2014-04-22 Telefonaktiebolaget L M Ericsson (Publ) Methods of operating forwarding elements including shadow tables and related forwarding elements
US8730806B2 (en) * 2012-04-03 2014-05-20 Telefonaktiebolaget L M Ericsson (Publ) Congestion control and resource allocation in split architecture networks
US8908539B1 (en) * 2012-05-25 2014-12-09 Google Inc. Systems and methods for testing network connections of a centrally-controlled network

Also Published As

Publication number Publication date
US20150156113A1 (en) 2015-06-04
WO2013187054A1 (en) 2013-12-19
IN2014DN10624A (ko) 2015-09-11
JP6323339B2 (ja) 2018-05-16
EP2862322A1 (en) 2015-04-22
EP2862322B1 (en) 2019-10-02
JP2015519765A (ja) 2015-07-09
EP2862322A4 (en) 2016-01-20
HK1208572A1 (en) 2016-03-04
CN104365069A (zh) 2015-02-18
US10212084B2 (en) 2019-02-19

Similar Documents

Publication Publication Date Title
KR20150016314A (ko) 통신 시스템, 제어 장치, 통신 방법, 제어 방법 및 프로그램
KR101414753B1 (ko) 통신 시스템, 통신 디바이스, 컨트롤러, 및 패킷 플로우의 포워딩 경로의 제어 방법 및 프로그램
EP3143733B1 (en) Virtual flow network in a cloud environment
JP5850068B2 (ja) 制御装置、通信システム、通信方法およびプログラム
US20120023231A1 (en) Network system, control method for the same, and controller
WO2011013805A1 (ja) 制御サーバ、サービス提供システムおよび仮想的なインフラストラクチャの提供方法
US9876712B2 (en) Method and device for processing address resolution protocol in software-defined networking environment
US20170195254A1 (en) Application based conditional forwarding and load balancing in a software defined networking (sdn) architecture
EP2832058B1 (en) Communication system, control apparatus, communication apparatus, communication control method, and program
JP6761210B2 (ja) ネットワークシステム、ネットワーク制御方法および制御装置
US9614754B2 (en) Method, device, and system for packet routing in a network
US20150341267A1 (en) Control apparatus, communication apparatus, communication system, switch control method, and program
RU2586019C2 (ru) Устройство управления, система связи, способ управления узлом и программа
JP5904285B2 (ja) 通信システム、仮想ネットワーク管理装置、通信ノード、通信方法及びプログラム
WO2014133025A1 (ja) 通信システム、上位コントローラ、ネットワークの制御方法及びプログラム
US20180241686A1 (en) A network element and a controller for a data transfer network
US20150381775A1 (en) Communication system, communication method, control apparatus, control apparatus control method, and program
WO2015133561A1 (ja) 通信システム、制御装置、通信装置及び通信方法
US9813322B2 (en) Sending traffic policies
JP6292128B2 (ja) 通信システム、ノード、制御装置、通信方法およびプログラム
CN107534621B (zh) 存储器系统、存储器组件设备、路由方法及可读存储介质
JP2018093246A (ja) ネットワークシステム、制御装置、制御方法及びプログラム
WO2017110712A1 (ja) コントローラ、スイッチ、通信システム、フローエントリ設定方法、パケット処理方法およびプログラム
JP2018093245A (ja) ネットワークシステム、制御装置、制御方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application