KR101924712B1 - 패킷 전송 방법 및 오픈플로우 스위치 - Google Patents
패킷 전송 방법 및 오픈플로우 스위치 Download PDFInfo
- Publication number
- KR101924712B1 KR101924712B1 KR1020170011073A KR20170011073A KR101924712B1 KR 101924712 B1 KR101924712 B1 KR 101924712B1 KR 1020170011073 A KR1020170011073 A KR 1020170011073A KR 20170011073 A KR20170011073 A KR 20170011073A KR 101924712 B1 KR101924712 B1 KR 101924712B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- flow
- network
- transmitting
- type
- 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
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
패킷을 전송하기 위한 방법 및 오픈플로우 스위치가 제공된다. 오픈플로우 스위치는 소프트웨어 정의 네트워크(Software Defined Network: SDN) 내의 장치이고, 수신된 패킷을 다른 장치고 전송한다. 오픈플로우 스위치는 수신된 패킷의 식별 정보에 기초하여 패킷이 전송되는 네트워크의 종류를 결정하고, 결정된 네트워크의 종류에 기초하여 패킷을 전송한다.
Description
아래의 실시예는 패킷을 전송하기 위한 방법 패킷을 전송하는 오픈플로우 스위치에 관한 것으로, 보다 상세하게는 소프트웨어 정의 네트워크 내의 오픈플로우 스위치에 관한 것이다.
네트워크 기술의 발달과 스마트폰의 보급으로 인해 네트워크 트래픽이 증가함에 따라 네트워크의 규모가 점점 거대해지고 복잡해지고 있다. 이에 따라, 유연한 제어와 효과적인 네트워크 관리를 위해 소프트웨어 정의 네트워크(Software Defined Network: SDN) 기술이 개발되었다.
SDN 기술은 기존의 네트워크 장비를 데이터 플레인(data plane)과 컨트롤 플레인(control plane)으로 분리하여 프로그래밍 가능한 네트워크를 구현할 수 있다. 이때, 컨트롤 플레인은 중앙의 컨트롤러가 담당하고, 데이터 플레인은 라우터와 오픈플로우 스위치 등의 네트워크 장비가 담당하여 여러 네트워크를 제어하기 때문에 자원의 가시성(visibility)을 확보할 수 있다. SDN 기술에서, 컨트롤러는 오픈플로우 같은 Southbound API를 이용하여 네트워크 장비들을 제어할 수 있다. 오픈플로우란 데이터 플레인과 컨트롤 플레인 사이에 통신을 가능하게 해주는 표준화된 프로토콜을 말한다.
한국공개특허 제10-2015-0135041호(공개일 2015년 12월 02일)에는 오픈플로우 라우팅 장치 및 방법이 공개되어 있다. 공개된 발명은 클라우드 컴퓨팅에 기반한 서비스로서의 보안(SECaaS) 시스템에서의 오픈플로우 라우팅 시, 각각 보안 서비스를 제공하는 복수의 가상 머신과 VPN 게이트웨이 사이의 유효 경로들 및 가상 머신 간의 유효 경로들을 컨트롤러가 검출하고, 컨트롤러가 검출한 유효 경로 별로 링크 비용 및 프로세싱 비용에 기초하여 메트릭 가중치를 산출하고, 컨트롤러가 메트릭 가중치에 기초하여 유효 경로들에 대해 최소 비용 경로를 설정하고, 컨트롤러가 오픈플로우 스위치 및 오픈 브이스위치(Open vSwitch, OVS)에 오픈플로우 프로토콜을 통해 설정한 최소 비용 경로를 플로우 테이블로 저장하되, 플로우 테이블에 기초하여 오픈플로우 스위치 및 오픈 브이스위치 중 적어도 하나가 테넌트의 패킷을 최소 비용 경로에 따라 전달한다.
일 실시예는 패킷 전송 방법을 제공할 수 있다.
일 실시예는 소프트웨어 정의 네트워크 내의 오픈플로우 스위치를 제공할 수 있다.
일 측면에 따른, 소프트웨어 정의 네트워크(Software Defined Network: SDN) 내의 오픈플로우(openflow) 스위치에 의해 수행되는 패킷(packet) 전송 방법은, 패킷을 수신하는 단계; 상기 패킷 내에 포함된 식별 정보에 기초하여 상기 패킷이 전송되는 네트워크의 종류를 결정하는 단계; 및 상기 결정된 네트워크의 종류에 기초하여 상기 패킷을 전송하는 단계를 포함한다.
상기 네트워크의 종류는, 내부(internal) 네트워크 및 외부(external) 네트워크를 포함할 수 있다.
상기 패킷이 전송되는 네트워크의 종류를 결정하는 단계는, 상기 패킷 내에 포함된 상기 식별 정보를 추출하는 단계; 및 상기 식별 정보가 나타내는 플로우가 내부 네트워크 인지 또는 외부 네트워크 인지 여부를 판단하는 단계를 포함할 수 있다.
상기 결정된 네트워크의 종류에 기초하여 상기 패킷을 전송하는 단계는, 상기 네트워크의 종류가 상기 내부 네트워크로 결정된 경우, 상기 내부 네트워크에 대해 설정된 제1 플로우 테이블들(flow tables)을 이용하여 상기 패킷을 전송하는 단계; 및 상기 네트워크의 종류가 상기 외부 네트워크로 결정된 경우, 상기 외부 네트워크에 대해 설정된 제2 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계를 포함할 수 있다.
상기 제1 플로우 테이블들 각각은 상기 제1 플로우 테이블의 플로우가 상기 내부 네트워크에 설정됨을 나타내는 제1 식별 값을 가지고, 상기 제2 플로우 테이블들 각각은 상기 제2 플로우 테이블의 플로우가 상기 외부 네트워크에 설정됨을 나타내는 제2 식별 값을 가질 수 있다.
상기 제1 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계는, 상기 제1 플로우 테이블들 중 상기 식별 정보에 대응하는 매칭 플로우를 결정하는 단계; 상기 매칭 플로우에 설정된 인스트럭션(instruction)을 실행하는 단계; 및 상기 매칭 플로우에 기초하여 상기 패킷을 전송하는 단계를 포함할 수 있다.
상기 제1 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계는, 상기 제1 플로우 테이블들 중 상기 식별 정보에 대응하는 매칭 플로우를 결정하지 못한 경우, 상기 SDN의 컨트롤러(controller)로 상기 패킷을 전송하는 단계; 상기 컨트롤러로부터 추가 플로우를 수신하는 단계; 및 상기 추가 플로우를 이용하여 상기 패킷을 전송하는 단계를 포함할 수 있다.
상기 제1 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계는, 상기 추가 플로우를 이용하여 상기 제1 플로우 테이블들을 갱신하는 단계를 더 포함할 수 있다.
상기 제2 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계는, 상기 제2 플로우 테이블들 중 상기 식별 정보에 대응하는 매칭 플로우를 결정하는 단계; 상기 매칭 플로우에 설정된 인스트럭션을 실행하는 단계; 및 상기 매칭 플로우에 기초하여 상기 패킷을 전송하는 단계를 포함할 수 있다.
다른 일 측면에 따른, 소프트웨어 정의 네트워크(Software Defined Network: SDN) 내의 오픈플로우(openflow) 스위치는, 패킷을 전송하는 프로그램을 저장하는 메모리; 및 상기 프로그램을 실행하는 프로세서를 포함하고, 상기 프로그램은, 패킷을 수신하는 단계; 상기 패킷 내에 포함된 식별 정보에 기초하여 상기 패킷이 전송되는 네트워크의 종류를 결정하는 단계; 및 상기 결정된 네트워크의 종류에 기초하여 상기 패킷을 전송하는 단계를 수행한다.
상기 네트워크의 종류는, 내부(internal) 네트워크 및 외부(external) 네트워크를 포함할 수 있다.
상기 패킷이 전송되는 네트워크의 종류를 결정하는 단계는, 상기 패킷 내에 포함된 상기 식별 정보를 추출하는 단계; 및 상기 식별 정보가 나타내는 플로우가 내부 네트워크 인지 또는 외부 네트워크인지 여부를 판단하는 단계를 포함할 수 있다.
상기 결정된 네트워크의 종류에 기초하여 상기 패킷을 전송하는 단계는, 상기 네트워크의 종류가 상기 내부 네트워크로 결정된 경우, 상기 내부 네트워크에 대해 설정된 제1 플로우 테이블들(flow tables)을 이용하여 상기 패킷을 전송하는 단계; 및 상기 네트워크의 종류가 상기 외부 네트워크로 결정된 경우, 상기 외부 네트워크에 대해 설정된 제2 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계를 포함할 수 있다.
패킷 전송 방법이 제공된다.
소프트웨어 정의 네트워크 내의 오픈플로우 스위치기 제공된다.
도 1은 일 예에 따른 소프트웨어 정의 네트워크를 도시한다.
도 2는 일 실시예에 따른 오픈플로우 스위치의 구성도이다.
도 3은 일 실시예에 따른 패킷 전송 방법의 흐름도이다.
도 4는 일 예에 따른 패킷이 전송되는 네트워크의 종류를 결정하는 방법의 흐름도이다.
도 5는 일 예에 따른 네트워크 종류에 기초하여 패킷을 전송하는 방법의 흐름도이다.
도 6은 일 예에 따른 제1 플로우 테이블들을 이용하여 패킷을 전송하는 방법의 흐름도이다.
도 7은 일 예에 따른 제2 플로우 테이블들을 이용하여 패킷을 전송하는 방법의 흐름도이다.
도 8은 일 예에 따른 추가 플로우를 이용하여 패킷을 전송하는 방법의 흐름도이다.
도 9는 일 예에 따른 오픈플로우 스위치에 수행되는 패킷 전송 방법이다.
도 2는 일 실시예에 따른 오픈플로우 스위치의 구성도이다.
도 3은 일 실시예에 따른 패킷 전송 방법의 흐름도이다.
도 4는 일 예에 따른 패킷이 전송되는 네트워크의 종류를 결정하는 방법의 흐름도이다.
도 5는 일 예에 따른 네트워크 종류에 기초하여 패킷을 전송하는 방법의 흐름도이다.
도 6은 일 예에 따른 제1 플로우 테이블들을 이용하여 패킷을 전송하는 방법의 흐름도이다.
도 7은 일 예에 따른 제2 플로우 테이블들을 이용하여 패킷을 전송하는 방법의 흐름도이다.
도 8은 일 예에 따른 추가 플로우를 이용하여 패킷을 전송하는 방법의 흐름도이다.
도 9는 일 예에 따른 오픈플로우 스위치에 수행되는 패킷 전송 방법이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 예에 따른 소프트웨어 정의 네트워크를 도시한다.
오픈플로우(OpenFlow)는 소프트웨어 정의 네트워크(Software Definition Network: SDN)의 인터페이스(interface) 표준 기술 중 하나이다. 오픈플로우는 네트워크 엔지니어들에게 네트워크 장비를 보다 편리하게 조작할 수 있는 인터페이스를 제공하며, 컨트롤러(controller)의 프로그램을 통하여 다양한 기능 모듈을 보다 유연하게 만들어 낼 수 있다. 예를 들어, 기존의 네트워크 장비들은 네트워크에 새로운 기능을 추가하기 위해 네트워크와 관련된 기존 장비들을 모두 업그레이드 하거나 부가적인 장비를 물리적으로 부가해야 한다. 오픈플로우를 이용하는 경우에는 비교적 쉽게 컨트롤러를 통해 새로운 기능이 추가될 수 있다.
이하에서, 네트워크는 단말 및 서버와 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예로 3GPP(3rd generation partnership project) 네트워크, LTE(long term evolution) 네트워크, WIMAX(world interoperability for microwave access) 네트워크, 인터넷(internet), LAN(local area network), Wireless LAN, WAN(wide area network), PAN(personal area network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(digital multimedia broadcasting) 네트워크 등이 포함되며, 기재된 실시예로 한정되지는 않는다.
오픈플로우를 적용한 SDN(100)은 오픈플로우 컨트롤러(controller)(110) 및 오픈플로우 스위치(switch)들(112 내지 120)을 포함하며, 오픈플로우 스위치(switch)들(112 내지 120)에는 단말들(130, 132, 134)이 연결될 수 있다. 오픈플로우 컨트롤러(110)는 컴퓨터 또는 서버에 소프트웨어로 구현될 수 있다. 오픈플로우 컨트롤러(110)는 오픈플로우 스위치들(112 내지 120)과 오픈플로우 프로토콜(protocol)을 이용하여 내부 통신을 수행한다.
오픈플로우 컨트롤러(110)는 패킷에 대한 라우팅 경로(routing path)를 설정하고, 설정된 라우팅 경로에 대한 정보를 플로우 테이블로 생성할 수 있다. 플로우 테이블은 ONF(Open Networking Foundation) 권고안에 따라 복수 개의 테이블로 구성될 수 있다. 오픈플로우 테이블은 각 플로우 별로, 룰 필드(rule field), 실행 필드(Action) 및 통계 필드(Statistics) 중 적어도 하나를 포함할 수 있다. 룰 필드는 식별 정보를 포함할 수 있고, 실행 필드는 패킷의 처리 방법(예들 들어, 출력 포트 등)을 포함할 수 있고, 통계 필드는 패킷 처리에 대한 결과인 통계 정보를 포함할 수 있다. 오픈플로우 컨트롤러(110)는 생성한 플로우 테이블들을 각각의 스위치들(112 내지 120)로 전송할 수 있다. 이하에서, 라우팅 경로 및 플로우는 서로 동일한 의미로 이해될 수 있다.
오픈플로우 스위치들(112 내지 120)은 플로우 테이블들을 이용하여 패킷을 포워딩(forwarding)할 수 있다. 예를 들어, 패킷이 내부(internal) 네트워크를 통해 내부의 단말로 전송될 수 있다. 내부의 단말은 SDN(100)에 연결된 단말들(130, 132, 134)일 수 있다. 내부 네트워크는 외부의 네트워크(예를 들어, 인터넷)와 연결되지 않은 네트워크이다. 다른 예로, 패킷이 인터넷을 통해 외부의 단말로 전송되는 경우, SDN(100) 내에 설정되는 라우팅 경로는 외부(external) 네트워크일 수 있다.
동일한 네트워크 장치들을 이용하는 경우에도 외부 네트워크 및 내부 네트워크를 분리할 수 있다면, 효율적인 네트워크 운용이 가능하고, 중앙 집중화를 통해 보안을 강화할 수 있다.
아래에서, 도 2 내지 도 9를 참조하여 오픈플로우를 이용하여 패킷을 전송하는 방법 및 오픈플로우 스위치에 대해 상세히 설명된다. 패킷이 전송되는 라우팅 경로에 따라 전송되는 네트워크가 달라질 수 있다.
도 2는 일 실시예에 따른 오픈플로우 스위치의 구성도이다.
오픈플로우 스위치(200)는 통신부(210), 프로세서(220) 및 메모리(230)를 포함한다. 오픈플로우 스위치(200)는 도 1을 참조하여 전술된 오픈플로우 스위치들(112 내지 120)들 중 어느 하나일 수 있다. 예를 들어, 오픈플로우 스위치(200)는 시스템 온 칩(System-On-Chip: SOC)으로 구현될 수 있으나, 기재된 실시예로 한정되는 것은 아니다.
통신부(210)는 프로세서(220) 및 메모리(230)와 연결되어 데이터를 송수신한다. 통신부(210)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다.
통신부(210)는 오픈플로우 스위치(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(210)는 내부 버스(internal bus) 및 외부 버스(internal bus)를 포함할 수 있다. 다른 예로, 통신부(210)는 오픈플로우 스위치(200)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(210)는 인터페이스(interface)일 수 있다. 통신부(210)는 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 메모리(230)에 데이터를 전송할 수 있다.
프로세서(220)는 통신부(210)가 수신한 데이터 및 메모리(230)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.
메모리(230)는 통신부(210)가 수신한 데이터 및 프로세서(220)가 처리한 데이터를 저장한다. 예를 들어, 메모리(230)는 프로그램을 저장할 수 있다. 저장되는 프로그램은 패킷을 전송할 수 있도록 코딩되어 프로세서(220)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.
일 측면에 따르면, 메모리(230)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.
메모리(230)는 오픈플로우 스위치(200)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 오픈플로우 스위치(200)를 동작 시키는 명령어 세트는 프로세서(220)에 의해 실행된다.
통신부(210), 프로세서(220) 및 메모리(230)에 대해, 아래에서 도 3 내지 도 9를 참조하여 상세히 설명된다.
도 3은 일 실시예에 따른 패킷 전송 방법의 흐름도이다.
아래의 단계들(310 내지 330)은 도 2를 참조하여 전술된 오픈플로우 스위치(200)에 의해 수행된다.
단계(310)에서, 통신부(210)는 패킷을 수신한다. 예를 들어, 통신부(210)는 스위치(200)와 연결된 다른 오픈플로우 스위치로부터 패킷을 수신할 수 있다. 다른 예로, 통신부(210)는 스위치(200)와 연결된 사용자 단말로부터 패킷을 수신할 수 있다. 사용자 단말은 도 1을 참조하여 전술된 단말들(130, 132, 134)일 수 있다. 패킷은 헤드(head) 및 페이로드(payload)를 포함한다. 헤드에는 패킷에 관한 정보들이 포함될 수 있다. 페이로드는 패킷을 생성한 단말이 다른 단말로 전송하고자 하는 데이터를 포함할 수 있다.
단계(320)에서, 프로세서(320)는 패킷이 전송되는 네트워크의 종류를 결정한다. 패킷의 최종 목적지가 SDN 내의 단말인 경우, 패킷을 전송하는 네트워크는 내부 네트워크일 수 있다. 패킷의 최종 목적지가 외부의 네트워크에 연결된 단말인 경우, 패킷을 전송하는 네트워크는 외부 네트워크일 수 있다. 패킷을 전송하는 네트워크의 종류에 따라, 패킷의 라우팅 경로에 대한 시스템 설정이 달라질 수 있다. 예를 들어, 패킷의 전송에 대한 보안의 정도가 달라질 수 있다. 패킷이 전송되는 네트워크의 종류를 결정하는 방법에 대해, 아래에서 도 4를 참조하여 상세히 설명된다.
단계(330)에서, 프로세서(330)는 결정된 네트워크 종류에 기초하여 패킷을 전송한다. 결정된 네트워크 종류에 기초하여 패킷을 전송하는 방법에 대해, 아래에서 도 5 내지 도 8을 참조하여 상세히 설명된다.
도 4는 일 예에 따른 패킷이 전송되는 네트워크의 종류를 결정하는 방법의 흐름도이다.
도 3을 참조하여 전술된 단계(320)는 아래의 단계들(410 및 420)을 포함한다.
단계(410)에서, 프로세서(220)는 패킷 내에 포함된 식별 정보를 추출한다. 식별 정보는 패킷의 헤드에 포함될 수 있다. 예를 들어, 식별 정보는 패킷의 출발지, 목적지, 지나온 스위치들에 대한 정보, 플로우 및 이용되는 네트워크의 종류에 대한 정보를 적어도 하나 포함할 수 있다. 다른 예로, 식별 정보는 IP 주소(Internet Protocol address) 및 MAC 주소(Media Access Control address) 중 적어도 하나를 포함할 수 있으며, 동일한 식별 정보를 갖는 패킷들은 동일한 플로우로 전송될 수 있다. 플로우는 패킷이 전송되는 라우팅 경로를 의미한다.
단계(420)에서, 프로세서(220)는 식별 정보가 나타내는 플로우가 내부 네트워크 인지 또는 외부 네트워크 인지 여부를 판단한다. 예를 들어, 프로세서(220)는 메모리(230)에 저장된 전-식별 테이블(pre-identify table)을 이용하여 패킷이 어떠한 네트워크를 이용하는지를 판단할 수 있다. 전-식별 테이블의 플로우 엔트리(flow entry) 구성요소에는 전-식별자(pre-identifier)를 위한 필드가 추가될 수 있다. 전-식별자를 통해 패킷이 어떠한 네트워크를 이용하는지가 판단될 수 있다.
도 5는 일 예에 따른 네트워크 종류에 기초하여 패킷을 전송하는 방법의 흐름도이다.
도 3을 참조하여 전술된 단계(330)는 아래의 단계들(510 내지 530)을 더 포함할 수 있다.
단계(510)에서, 프로세서(220)는 패킷이 이용하는 네트워크가 내부 네트워크로 결정되었는지 여부를 판단한다. 단계(510)에서 패킷이 이용하는 네트워크가 내부 네트워크로 결정되었는지 여부를 판단하는 것으로 기재되었으나, 반대로, 프로세서(220)는 패킷이 이용하는 네트워크가 외부 네트워크로 결정되었는지 여부를 판단할 수도 있다.
단계(520)에서, 내부 네트워크로 결정된 경우, 프로세서(220)는 제1 플로우 테이블들을 이용하여 패킷을 전송한다. 제1 플로우 테이블들은 내부 네트워크를 이용하는 플로우에 대한 플로우 테이블들일 수 있다. 예를 들어, 제1 플로우 테이블들 각각은 제1 플로우 테이블의 플로우가 내부 네트워크에 설정됨을 나타내는 제1 식별 값을 가질 수 있다. 제1 식별 값은 전-식별 테이블에 포함될 수 있다. 제1 플로우 테이블들을 이용하여 패킷을 전송하는 방법에 대해, 아래에서 도 6을 참조하여 상세히 설명된다.
단계(530)에서, 외부 네트워크로 결정된 경우, 프로세서(220)는 제2 플로우 테이블들을 이용하여 패킷을 전송한다. 제2 플로우 테이블들은 외부 네트워크를 이용하는 플로우에 대한 플로우 테이블들일 수 있다. 예를 들어, 제2 플로우 테이블들 각각은 제2 플로우 테이블의 플로우가 외부 네트워크에 설정됨을 나타내는 제2 식별 값을 가질 수 있다. 제2 식별 값은 전-식별 테이블에 포함될 수 있다. 제2 플로우 테이블들을 이용하여 패킷을 전송하는 방법에 대해, 아래에서 도 7을 참조하여 상세히 설명된다.
도 6은 일 예에 따른 제1 플로우 테이블들을 이용하여 패킷을 전송하는 방법의 흐름도이다.
도 5를 참조하여 전술된 단계(520)는 아래의 단계들(610 내지 630)을 포함한다.
단계(610)에서, 프로세서(220)는 제1 플로우 테이블들 중 식별 정보에 대응하는 매칭 플로우를 결정할 수 있다. 예를 들어, 제1 플로우 테이블들이 넘버링(numbering)된 경우, 가장 작은 숫자를 가진 테이블부터 차례로 식별 정보와 비교될 수 있다. 예를 들어, 제1 플로우 테이블들이 0부터 n까지 넘버링된 경우, 테이블 0부터 테이블 n까지 차례대로 식별 정보와 비교될 수 있다. 플로우 테이블의 룰 필드에 등록된 식별 정보와 패킷의 식별 정보가 비교될 수 있다. 비교되는 중간에 식별 정보와 대응하는 플로우 테이블이 결정되는 경우, 비교는 중단되고 다음 단계가 수행될 수 있다. 식별 정보와 대응하는 것으로 결정된 플로우 테이블은 매칭 테이블로 명명된다.
단계(620)에서, 프로세서(220)는 매칭 테이블에 설정된 인스트럭션을 실행한다. 예를 들어, 프로세서(220)는 매칭 테이블의 실행 필드(action)에 따라 패킷을 처리할 수 있다. 인스트럭션은 실행 필드의 세트를 갱신하고, 패킷을 갱신하고, 매치 세트 필드(match set fields)를 갱신하고, 메타데이터(metadata)를 갱신할 수 있다.
단계(630)에서, 통신부(210)는 매칭 테이블의 매칭 플로우에 기초하여 패킷을 전송한다. 예를 들어, 매칭 플로우에 따라 오픈플로우 스위치(200)의 다음 스위치로 패킷을 포워딩할 수 있다.
패킷을 전송하기 위해서 내부 네트워크에 대한 제1 플로우 테이블들만이 고려됨으로써, 외부 네트워크와 망이 분리되는 효과가 발생한다.
도 7은 일 예에 따른 제2 플로우 테이블들을 이용하여 패킷을 전송하는 방법의 흐름도이다.
도 5를 참조하여 전술된 단계(530)는 아래의 단계들(710 내지 730)을 포함한다.
단계(710)에서, 프로세서(220)는 제2 플로우 테이블들 중 식별 정보에 대응하는 매칭 플로우를 결정할 수 있다. 예를 들어, 제2 플로우 테이블들이 넘버링된 경우, 가장 작은 숫자를 가진 플로우 테이블부터 차례로 식별 정보와 비교될 수 있다. 예를 들어, 제2 플로우 테이블들이 500부터 k까지 넘버링된 경우, 테이블 500부터 테이블 k까지 차례대로 식별 정보와 비교될 수 있다. 500은 도 6을 참조하여 전술된 n보다 큰 수일 수 있다. 테이블의 룰 필드에 등록된 식별 정보와 패킷의 식별 정보가 비교될 수 있다. 비교되는 중간에 식별 정보와 대응하는 플로우 테이블이 결정되는 경우, 비교는 중단되고 다음 단계가 수행될 수 있다.
단계(720)에서, 프로세서(220)는 매칭 테이블에 설정된 인스트럭션을 실행한다. 예를 들어, 프로세서(220)는 매칭 테이블의 실행 필드에 따라 패킷을 처리할 수 있다. 인스트럭션은 실행 필드의 세트를 갱신하고, 패킷을 갱신하고, 매치 세트 필드를 갱신하고, 메타데이터를 갱신할 수 있다.
단계(730)에서, 통신부(210)는 매칭 테이블의 매칭 플로우에 기초하여 패킷을 전송한다. 예를 들어, 매칭 플로우에 따라 오픈플로우 스위치(200)의 다음 스위치로 패킷을 포워딩할 수 있다.
패킷을 전송하기 위해서 외부 네트워크에 대한 제2 플로우 테이블들만이 고려됨으로써, 내부 네트워크와 망이 분리되는 효과가 발생한다.
도 8은 일 예에 따른 추가 플로우를 이용하여 패킷을 전송하는 방법의 흐름도이다.
도 5 및 6을 참조하여 전술된 단계(520)는 아래의 단계들(810 내지 850)을 더 포함할 수 있다. 단계(810)는 단계(610)가 수행된 후, 수행될 수 있다.
단계(810)에서, 프로세서(220)는 패킷의 식별 정보와 대응하는 매칭 테이블이 결정되었는지 여부를 판단한다. 매칭 테이블이 결정된 경우, 전술된 단계(620)가 수행될 수 있다. 매칭 테이블이 결정되지 않은 경우, 단계(820)가 수행될 수 있다.
단계(820)에서, 통신부(210)는 SDN의 컨트롤러로 패킷을 전송한다. 예를 들어, 프로세서(220)는 SDN의 컨트톨러와의 채널을 통해 패킷을 전송할 수 있다. 채널이 오픈플로우 프로토콜을 이용하여 운용될 수 있다.
패킷을 수신한 컨트롤러는 패킷의 라우팅 경로를 결정할 수 있다. 컨트롤러는 라우팅 경로를 추가 플로우로써 오픈플로우 스위치(200)로 전송할 수 있다.
단계(830)에서, 통신부(210)는 컨트롤러로부터 패킷에 대한 추가 플로우를 수신한다. 추가 플로우는 플로우 테이블의 형태이고, 플로우 테이블은 넘버링될 수 있다.
단계(840)에서, 프로세서(220)는 추가 플로우를 이용하여 제1 플로우 테이블들을 갱신한다. 예를 들어, 프로세서(220)는 추가 플로우의 플로우 테이블을 제1 플로우 테이블들에 추가할 수 있다.
단계(850)에서, 통신부(210)는 추가 플로우를 이용하여 패킷을 전송한다.
단계(520)가 단계(810 내지 850)를 더 포함하는 것으로 설명되었으나, 단계(810 내지 850)와 유사한 단계들이 단계(530)에 더 포함될 수 있다. 예를 들어, 내부 네트워크에 대한 설명이 외부 네트워크에 대한 설명으로 동일하게 적용될 수 있으며, 프로세서(220)는 추가 플로우를 이용하여 제2 플로우 테이블들을 갱신할 수 있다. 중복되는 설명은 이하에서 생략한다.
도 9는 일 예에 따른 오픈플로우 스위치에 수행되는 패킷 전송 방법이다.
오픈플로우 스위치(900)는 도 2 내지 도 8을 참조하여 전술된 오픈플로우 스위치(200)에 대응할 수 있다.
오픈플로우 스위치(900)는 패킷을 수신하고, 패킷의 식별 정보 및 오픈플로우 스위치(900)에 저장된 전-식별 테이블에 기초하여 패킷을 전송하기 위해 이용되는 네트워크의 종류를 결정한다. 네트워크의 종류에 따라 각각의 동작 파이프 라인이 수행된다.
예를 들어, 내부 네트워크로 결정된 경우, 식별 정보가 테이블 0 내지 테이블 n을 포함하는 제1 플로우 테이블들과 비교되고, 결정된 매칭 테이블에 대한 액션 세트가 실행될 수 있다. 액션 세트가 실행된 후, 패킷이 매칭 플로우에 따라 전송될 수 있다.
다른 예로, 외부 네트워크로 결정된 경우, 식별 정보가 테이블 1000 내지 테이블 k를 포함하는 제2 플로우 테이블들과 비교되고, 결정된 매칭 테이블에 대한 액션 세트가 실행될 수 있다. 액션 세트가 실행된 후, 패킷이 매칭 플로우에 따라 전송될 수 있다.
전-식별 테이블에 기초하여 패킷을 전송하기 위해 이용되는 네트워크의 종류를 미리 결정하는 경우, 패킷을 전송하기 위해 이용될 수 있는 네트워크들을 분리하는 효과가 나타난다. 즉, 결정된 네트워크에 대한 동작 파이프 라인이 수행됨으로써 다른 네트워크와는 분리될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
200: 오픈플로우 스위치
210: 통신부
220: 프로세서
230: 메모리
210: 통신부
220: 프로세서
230: 메모리
Claims (14)
- 소프트웨어 정의 네트워크(Software Defined Network: SDN) 내의 오픈플로우(openflow) 스위치에 의해 수행되는, 패킷(packet) 전송 방법에 있어서,
패킷을 수신하는 단계;
상기 패킷 내에 포함된 식별 정보에 기초하여 상기 패킷이 전송되는 네트워크의 종류를 결정하는 단계; 및
상기 결정된 네트워크의 종류에 대해 설정된 플로우 테이블들(flow tables)을 이용하여 상기 패킷을 전송하는 단계
를 포함하고,
상기 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계는,
상기 플로우 테이블들 중 상기 식별 정보에 대응하는 매칭 플로우를 결정하지 못한 경우, 상기 SDN의 컨트롤러(controller)로 상기 패킷을 전송하는 단계;
상기 컨트롤러로부터 추가 플로우를 수신하는 단계 - 상기 추가 플로우는 상기 컨트롤러에 의해 결정된 상기 패킷에 대한 라우팅 경로임 -; 및
상기 추가 플로우를 이용하여 상기 패킷을 전송하는 단계
를 포함하는,
패킷 전송 방법.
- 제1항에 있어서,
상기 네트워크의 종류는,
내부(internal) 네트워크 및 외부(external) 네트워크를 포함하는,
패킷 전송 방법.
- 제2항에 있어서,
상기 패킷이 전송되는 네트워크의 종류를 결정하는 단계는,
상기 패킷 내에 포함된 상기 식별 정보를 추출하는 단계; 및
상기 식별 정보가 나타내는 플로우가 내부 네트워크 인지 또는 외부 네트워크 인지 여부를 판단하는 단계
를 포함하는,
패킷 전송 방법.
- 제2항에 있어서,
상기 결정된 네트워크의 종류에 대해 설정된 플로우 테이블을 이용하여 상기 패킷을 전송하는 단계는,
상기 네트워크의 종류가 상기 내부 네트워크로 결정된 경우, 상기 내부 네트워크에 대해 설정된 제1 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계; 및
상기 네트워크의 종류가 상기 외부 네트워크로 결정된 경우, 상기 외부 네트워크에 대해 설정된 제2 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계
를 포함하는,
패킷 전송 방법.
- 제4항에 있어서,
상기 제1 플로우 테이블들 각각은 상기 제1 플로우 테이블의 플로우가 상기 내부 네트워크에 설정됨을 나타내는 제1 식별 값을 가지고,
상기 제2 플로우 테이블들 각각은 상기 제2 플로우 테이블의 플로우가 상기 외부 네트워크에 설정됨을 나타내는 제2 식별 값을 가지는,
패킷 전송 방법.
- 제4항에 있어서,
상기 제1 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계는,
상기 제1 플로우 테이블들 중 상기 식별 정보에 대응하는 매칭 플로우를 결정하는 단계;
상기 매칭 플로우에 설정된 인스트럭션(instruction)을 실행하는 단계; 및
상기 매칭 플로우에 기초하여 상기 패킷을 전송하는 단계
를 포함하는,
패킷 전송 방법.
- 삭제
- 제1항에 있어서,
상기 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계는,
상기 추가 플로우를 이용하여 상기 플로우 테이블들을 갱신하는 단계
를 더 포함하는,
패킷 전송 방법.
- 제4항에 있어서,
상기 제2 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계는,
상기 제2 플로우 테이블들 중 상기 식별 정보에 대응하는 매칭 플로우를 결정하는 단계;
상기 매칭 플로우에 설정된 인스트럭션을 실행하는 단계; 및
상기 매칭 플로우에 기초하여 상기 패킷을 전송하는 단계
를 포함하는,
패킷 전송 방법.
- 제1항 내지 제6항, 제8항 및 제9항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
- 소프트웨어 정의 네트워크(Software Defined Network: SDN) 내의 오픈플로우(openflow) 스위치는,
패킷을 전송하는 프로그램을 저장하는 메모리; 및
상기 프로그램을 실행하는 프로세서
를 포함하고,
상기 프로그램은,
패킷을 수신하는 단계;
상기 패킷 내에 포함된 식별 정보에 기초하여 상기 패킷이 전송되는 네트워크의 종류를 결정하는 단계; 및
상기 결정된 네트워크의 종류에 대해 설정된 플로우 테이블들(flow tables)을 이용하여 상기 패킷을 전송하는 단계
를 수행하고,
상기 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계는,
상기 플로우 테이블들 중 상기 식별 정보에 대응하는 매칭 플로우를 결정하지 못한 경우, 상기 SDN의 컨트롤러(controller)로 상기 패킷을 전송하는 단계;
상기 컨트롤러로부터 추가 플로우를 수신하는 단계 - 상기 추가 플로우는 상기 컨트롤러에 의해 결정된 상기 패킷에 대한 라우팅 경로임 -; 및
상기 추가 플로우를 이용하여 상기 패킷을 전송하는 단계
를 포함하는,
오픈플로우 스위치.
- 제11항에 있어서,
상기 네트워크의 종류는,
내부(internal) 네트워크 및 외부(external) 네트워크를 포함하는,
오픈플로우 스위치.
- 제12항에 있어서,
상기 패킷이 전송되는 네트워크의 종류를 결정하는 단계는,
상기 패킷 내에 포함된 상기 식별 정보를 추출하는 단계; 및
상기 식별 정보가 나타내는 플로우가 내부 네트워크 인지 또는 외부 네트워크인지 여부를 판단하는 단계
를 포함하는,
오픈플로우 스위치.
- 제12항에 있어서,
상기 결정된 네트워크의 종류에 대해 설정된 플로우 테이블을 이용하여 상기 패킷을 전송하는 단계는,
상기 네트워크의 종류가 상기 내부 네트워크로 결정된 경우, 상기 내부 네트워크에 대해 설정된 제1 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계; 및
상기 네트워크의 종류가 상기 외부 네트워크로 결정된 경우, 상기 외부 네트워크에 대해 설정된 제2 플로우 테이블들을 이용하여 상기 패킷을 전송하는 단계
를 포함하는,
오픈플로우 스위치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170011073A KR101924712B1 (ko) | 2017-01-24 | 2017-01-24 | 패킷 전송 방법 및 오픈플로우 스위치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170011073A KR101924712B1 (ko) | 2017-01-24 | 2017-01-24 | 패킷 전송 방법 및 오픈플로우 스위치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180086964A KR20180086964A (ko) | 2018-08-01 |
KR101924712B1 true KR101924712B1 (ko) | 2018-12-03 |
Family
ID=63227759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170011073A KR101924712B1 (ko) | 2017-01-24 | 2017-01-24 | 패킷 전송 방법 및 오픈플로우 스위치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101924712B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102116460B1 (ko) * | 2018-10-29 | 2020-05-28 | 성균관대학교산학협력단 | 서비스별로 플로우의 이동성을 관리하는 sdn컨트롤러 및 이를 이용한 이동성 관리 방법 |
KR102119257B1 (ko) * | 2019-09-24 | 2020-06-26 | 프라이빗테크놀로지 주식회사 | 터널에 기반하여 단말의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 |
US11652801B2 (en) | 2019-09-24 | 2023-05-16 | Pribit Technology, Inc. | Network access control system and method therefor |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101420650B1 (ko) * | 2013-04-01 | 2014-07-18 | 주식회사 앤솔루션 | 가상 사설망을 이용한 네트워크 기반 망분리 시스템 및 방법 |
US20140341030A1 (en) * | 2013-05-17 | 2014-11-20 | Accton Technology Corporation | Packet switch device and method of the same |
-
2017
- 2017-01-24 KR KR1020170011073A patent/KR101924712B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101420650B1 (ko) * | 2013-04-01 | 2014-07-18 | 주식회사 앤솔루션 | 가상 사설망을 이용한 네트워크 기반 망분리 시스템 및 방법 |
US20140341030A1 (en) * | 2013-05-17 | 2014-11-20 | Accton Technology Corporation | Packet switch device and method of the same |
Also Published As
Publication number | Publication date |
---|---|
KR20180086964A (ko) | 2018-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11134012B2 (en) | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow | |
US11929945B2 (en) | Managing network traffic in virtual switches based on logical port identifiers | |
EP3654593B1 (en) | Multilayered distributed router architecture | |
US10397126B2 (en) | VXLAN packet transmission | |
US10374972B2 (en) | Virtual flow network in a cloud environment | |
US20170041223A1 (en) | Transfer device and transfer system | |
US9654395B2 (en) | SDN-based service chaining system | |
US20140241349A1 (en) | Openflow switch and packet processing method thereof | |
KR101477012B1 (ko) | Sdn 스위칭 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
WO2018001522A1 (en) | Splitting of user plane in mobile networks | |
US20160149795A1 (en) | Overlay network-based original packet flow mapping apparatus and method therefor | |
US10003503B2 (en) | Tunnel type selection method and apparatus | |
KR20160072002A (ko) | Sdn 상에서 최적 경로 계산 시스템 및 방법 | |
KR101924712B1 (ko) | 패킷 전송 방법 및 오픈플로우 스위치 | |
KR20160122226A (ko) | 통신 시스템, 제어 장치, 통신 제어 방법 및 프로그램 | |
WO2017024818A1 (zh) | 一种处理数据报文的方法及装置 | |
CN105553876B (zh) | 报文处理的方法及网络节点 | |
US20180139139A1 (en) | Clos Network Load Balancing Method and Apparatus | |
US7978728B2 (en) | Network clustering for improving connection management and re-routing capabilities | |
US10177935B2 (en) | Data transfer system, data transfer server, data transfer method, and program recording medium | |
JPWO2014126094A1 (ja) | 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム | |
US20160269325A1 (en) | Method, apparatus, and system for controlling forwarding of service data in virtual network | |
JP2017050708A (ja) | 通信システム、制御装置、スイッチ、通信方法及びプログラム | |
US20190089674A1 (en) | Communication system, flow control apparatus, flow processing apparatus, and control method | |
US9998376B2 (en) | Control device, communication system, control method, and non-transitory recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |