KR20140059846A - 부하 저감 시스템, 및 부하 저감 방법 - Google Patents
부하 저감 시스템, 및 부하 저감 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
- H04L12/287—Remote access server, e.g. BRAS
- H04L12/2874—Processing of data for distribution to the subscribers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing 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
본 발명은, 부하 저감 시스템에 관한 것으로, 특히 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은 본 발명에 따른 부하 저감 시스템의 동작을 도시하는 플로우차트이다.
도 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항에 있어서,
상기 스위치는, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 스택되어 있지 않은 경우, 상기 수신된 패킷이 브로드 캐스트된 패킷인지의 여부를 확인하고, 상기 수신된 패킷이 브로드 캐스트된 패킷이 아니면, 상기 스위치는, 상기 컨트롤러에 대하여 상기 수신된 패킷에 해당하는 플로우 엔트리의 문의를 실행하고, 상기 수신된 패킷을 스택하며, 상기 수신된 패킷이 브로드 캐스트된 패킷이면, 상기 스위치는, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 대상 패킷으로서 설정되었는지의 여부를 확인하고, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 대상 패킷으로서 설정되어 있지 않으면, 상기 스위치는, 상기 수신된 패킷을 상기 브로드 캐스트 대상 패킷으로서 설정하고, 상기 수신된 패킷을 브로드 캐스트하는 부하 저감 시스템. - 제3항에 있어서,
상기 스위치는, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 대상 패킷으로서 설정되었다면, 상기 수신된 패킷의 수신 포트와 상기 브로드 캐스트 대상 패킷용으로서 설정된 수신 포트가 서로 다른지의 여부를 확인하고, 상기 수신 포트가 서로 상이한 경우, 상기 스위치는, 상기 수신된 패킷을 폐기하고, 상기 수신 포트가 서로 동일한 경우, 상기 스위치는, 상기 수신된 패킷을 브로드 캐스트하는 부하 저감 시스템. - 스위치로서,
컨트롤러로부터, 패킷들을 플로우로서 균일하게 제어하기 위한 규칙과 동작을 정의하는 플로우 엔트리를 수신하는 수단;
패킷을 수신했을 때, 상기 수신된 패킷에 해당하는 플로우 엔트리가 설정되어 있지 않으면, 상기 컨트롤러에 대하여 상기 수신된 패킷에 해당하는 상기 플로우 엔트리의 문의를 실행하는 수단;
상기 수신된 패킷을 스택하는 수단; 및
상기 수신된 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 상기 스택된 패킷을 이용함으로써, 상기 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷의 전송을 제어하는 수단
을 포함하는 스위치. - 제5항에 있어서,
상기 플로우 엔트리가 등록될 때까지 패킷을 수신했을 경우, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 이미 스택되어 있는지의 여부를 확인하는 수단;
상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 스택되어 있을 경우, 상기 스택된 패킷을 브로드 캐스트하는 수단; 및
상기 패킷을 새롭게 스택하는 수단
을 더 포함하는 스위치. - 제6항에 있어서,
상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 아직 스택되어 있지 않은 경우, 상기 수신된 패킷이 브로드 캐스트된 패킷인지의 여부를 확인하는 수단;
상기 수신된 패킷이 브로드 캐스트된 패킷이 아니면, 상기 컨트롤러에 대하여 상기 수신된 패킷에 해당하는 플로우 엔트리의 문의를 실행하고, 상기 수신된 패킷을 스택하는 수단;
상기 수신된 패킷이 브로드 캐스트된 패킷이면, 상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 대상 패킷으로서 등록되었는지의 여부를 확인하는 수단;
상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 대상 패킷으로서 설정되어 있지 않으면, 상기 수신된 패킷을 브로드 캐스트 대상 패킷으로서 등록하는 수단; 및
상기 수신된 패킷을 브로드 캐스트하는 수단
을 더 포함하는 스위치. - 제7항에 있어서,
상기 수신된 패킷과 동일한 헤더 데이터를 갖는 패킷이 브로드 캐스트 대상 패킷으로서 등록되었다면, 상기 수신된 패킷의 수신 포트와 상기 브로드 캐스트 대상 패킷용으로서 등록된 수신 포트가 서로 상이한 지를 확인하는 수단;
상기 수신 포트가 서로 상이한 경우, 상기 수신된 패킷을 폐기하는 수단; 및
상기 수신 포트가 서로 동일한 경우, 상기 수신된 패킷을 브로드 캐스트하는 수단
을 더 포함하는 스위치. - 부하 저감 방법으로서,
컨트롤러에 의해, 패킷들을 플로우로서 균일하게 제어하기 위한 규칙과 동작을 정의하는 플로우 엔트리의 등록을 수신하는 단계;
패킷을 수신했을 때, 상기 수신된 패킷에 해당하는 플로우 엔트리가 등록되어 있지 않으면, 상기 컨트롤러에 대하여 상기 수신된 패킷에 해당하는 플로우 엔트리의 문의를 실행하는 단계;
상기 수신된 패킷을 스택하는 단계; 및
상기 수신된 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 상기 스택된 패킷을 이용함으로써, 상기 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷의 전송을 제어하는 단계
를 포함하는 부하 저감 방법. - 기록 매체로서,
컨트롤러에 의해, 패킷들을 플로우로서 균일하게 제어하기 위한 규칙과 동작을 정의하는 플로우 엔트리의 등록을 수신하는 단계;
패킷을 수신했을 때, 상기 수신된 패킷에 해당하는 플로우 엔트리가 등록되어 있지 않으면, 상기 컨트롤러에 대하여 상기 수신된 패킷에 해당하는 플로우 엔트리의 문의를 실행하는 단계;
상기 수신된 패킷을 스택하는 단계; 및
상기 수신된 패킷에 해당하는 플로우 엔트리가 등록될 때까지, 상기 스택된 패킷을 이용함으로써, 상기 스택된 패킷과 동일한 헤더 데이터를 갖는 패킷의 전송을 제어하는 단계
를 스위치에 실행시키기 위한 프로그램을 저장하는 기록 매체.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170128892A (ko) * | 2016-05-16 | 2017-11-24 | 인하대학교 산학협력단 | Sdn상의 멀티캐스트 패킷 손실 위치 탐지 방법 |
Families Citing this family (11)
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)
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)
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 |
-
2012
- 2012-09-15 WO PCT/JP2012/073756 patent/WO2013051386A1/ja active Application Filing
- 2012-09-15 BR BR112014007795A patent/BR112014007795A2/pt not_active IP Right Cessation
- 2012-09-15 EP EP12838143.1A patent/EP2765742B1/en not_active Not-in-force
- 2012-09-15 CN CN201280049197.7A patent/CN103858394B/zh not_active Expired - Fee Related
- 2012-09-15 KR KR1020147009092A patent/KR101579014B1/ko not_active IP Right Cessation
- 2012-09-15 CA CA2851214A patent/CA2851214A1/en not_active Abandoned
- 2012-09-15 US US14/349,031 patent/US9246815B2/en active Active
- 2012-09-15 JP JP2013537460A patent/JP5747993B2/ja not_active Expired - Fee Related
- 2012-09-15 RU RU2014117619/07A patent/RU2587677C2/ru not_active IP Right Cessation
-
2014
- 2014-04-01 IN IN2437CHN2014 patent/IN2014CN02437A/en unknown
Patent Citations (2)
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)
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)
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 |