KR20150051185A - Sdn 네트워크 환경에서 플로우 테이블의 정합성 관리 방법 - Google Patents

Sdn 네트워크 환경에서 플로우 테이블의 정합성 관리 방법 Download PDF

Info

Publication number
KR20150051185A
KR20150051185A KR1020140150910A KR20140150910A KR20150051185A KR 20150051185 A KR20150051185 A KR 20150051185A KR 1020140150910 A KR1020140150910 A KR 1020140150910A KR 20140150910 A KR20140150910 A KR 20140150910A KR 20150051185 A KR20150051185 A KR 20150051185A
Authority
KR
South Korea
Prior art keywords
switch
flow table
flow
target group
controller
Prior art date
Application number
KR1020140150910A
Other languages
English (en)
Other versions
KR101573150B1 (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 KR20150051185A publication Critical patent/KR20150051185A/ko
Application granted granted Critical
Publication of KR101573150B1 publication Critical patent/KR101573150B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Abstract

SDN(Software Defined Network) 환경에서 컨트롤러와 스위치가 관리하는 플로우 테이블간의 정합성을 관리하는 방법이 개시된다. 컨트롤러 동작의 일 실시예로서, 스위치에게 그룹 테이블 항목(group table entry)에 대한 삭제를 지시하는 명령 메시지를 전송하는 단계 및 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목(flow table entry)이 상기 스위치에서 관리하는 플로우 테이블들에 존재하는지에 대한 응답 메시지를 상기 스위치로부터 수신하는 단계를 포함하여 플로우 테이블의 정합성 관리 방법을 구성한다. 본 발명에 따르면, 그룹 테이블 항목의 삭제 시, 플로우 테이블 항목들과의 연관성 확인을 거쳐 삭제를 수행함으로써, 플로우 테이블의 무결성(integrity)을 보호하고, 컨트롤러와 스위치에 저장된 플로우 테이블 간의 정합성을 유지할 수 있다.

Description

SDN 네트워크 환경에서 플로우 테이블의 정합성 관리 방법{Method for managing consistency between flow tables in software defined network environment}
본 발명은 소프트웨어 정의 네트워킹 기술에 관한 것으로, 더욱 상세하게는 연관성 확인을 통한 플로우 테이블 정보의 정합성 관리 방법에 관한 것이다.
SDN(Software Defined Network)은 라우터(router)나 스위치(switch) 등의 기본 네트워크 장비에 비의존적으로 사용자가 통제 권한을 가지며, 별도의 소프트웨어 컨트롤러가 트래픽 흐름을 제어하는 사용자 중심의 네트워크를 의미한다.
특히, 오픈 플로우(OpenFlow)는 SDN 표준 기술들 중 하나로, 하드웨어(스위치)와 컨트롤러(Network OS) 사이를 연결하는 인터페이스를 정의하며, 네트워크를 통해 데이터 패킷을 어떻게 전달할 것인지 제어하기 위한 기능(Control Plane)을 물리적 네트워크와 분리하여 데이터 전달 기능(Data Plane)과 상호작용시키기 위한 프로토콜이다.
오픈 플로우 표준화 기구 내의 확장성 워킹 그룹(Extensibility WG)은 SDN 핵심 표준 권고안인 OpenFlow 표준안(OF 1.x) 작성을 주도하며, OF 1.4.0 버전을 2013년 10월에 완료하였고 추가 표준화 작업을 지속하고 있다.
일반적으로 컨트롤러로부터 스위치에게 전송되는 그룹 테이블(group table) 또는 미터 테이블(Meter Table)에 대한 변경 명령 메시지는 추가(ADD), 변경(Modify), 및 삭제(Delete) 등의 3가지로 구분되며, 특히 삭제(Delete) 명령 메시지 수행 시 스위치는 그룹 테이블 또는 미터 테이블의 삭제되어야 할 항목과 연관된 플로우 테이블 항목들을 모두 삭제하도록 되어있다.
이 경우, 컨트롤러가 스위치에게 그룹 테이블 또는 미터 테이블의 항목을 삭제할 것을 요청할 때, 스위치는 그룹 테이블 항목을 삭제할 뿐만 아니라, 삭제되어야 할 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들을 자체적으로 판단하여 모두 삭제해야 한다. 여기에서, 컨트롤러가 관리하고 있는 플로우 테이블들과 스위치가 관리하고 있는 플로우 테이블들간의 정합성(consistency)에 문제가 발생할 수 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, SDN 네트워크 환경에서, 컨트롤러와 스위치가 관리하고 있는 플로우 테이블 간의 정합성을 유지하고, 스위치의 플로우 테이블에 대한 무결성을 보호하기 위한, 플로우 테이블의 정합성 관리 방법을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 일 측면은, 컨트롤러와 스위치로 구성된 SDN 환경에서 컨트롤러가 수행하는 플로우 테이블의 정합성 관리 방법으로서, 상기 스위치에게 그룹 테이블 항목에 대한 삭제를 지시하는 명령 메시지를 전송하는 단계; 및 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목이 상기 스위치에서 관리하는 플로우 테이블들에 존재하는지에 대한 응답 메시지를 상기 스위치로부터 수신하는 단계를 포함하는 플로우 테이블의 정합성 관리 방법을 제공한다.
여기에서, 상기 응답 메시지는 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목이 존재함을 지시하는 정보 및/또는 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목에 대한 정보를 포함할 수 있다.
여기에서, 상기 정합성 관리 방법은, 상기 응답 메시지가 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목이 상기 스위치에서 관리하는 플로우 테이블들에 존재함을 지시할 경우, 상기 컨트롤러가 상기 스위치에게 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목에 대한 삭제 또는 변경을 지시하는 메시지를 전송하는 단계를 추가로 포함할 수 있다. 이때, 상기 정합성 관리 방법은, 상기 컨트롤러가 상기 삭제 또는 변경을 지시하는 메시지를 전송한 이후에 상기 삭제 대상 그룹 테이블 항목의 삭제를 지시하는 메시지를 상기 스위치로 전송하는 단계를 추가로 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면은, 컨트롤러와 스위치로 구성된 SDN 환경에서 스위치가 수행하는 플로우 테이블의 정합성 관리 방법으로서, 상기 컨트롤러로부터 그룹 테이블 항목에 대한 삭제를 지시하는 명령 메시지를 수신하는 단계; 및 상기 명령 메시지에 응답하여, 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목(flow table entry)이 상기 스위치에서 관리하는 플로우 테이블들에 존재하는지에 대한 응답 메시지를 상기 컨트롤러에게 전송하는 단계를 포함하는 플로우 테이블의 정합성 관리 방법을 제공한다.
여기에서, 상기 응답 메시지는 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목이 존재함을 지시하는 정보 및/또는 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목에 대한 정보를 포함할 수 있다.
여기에서, 상기 정합성 관리 방법은, 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목이 상기 스위치에서 관리하는 플로우 테이블들에 존재할 경우, 상기 컨트롤러로부터 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목에 대한 삭제 또는 변경을 지시하는 메시지를 수신하고, 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목에 대한 삭제 또는 변경을 수행하는 단계를 추가로 포함할 수 있다. 이때, 상기 정합성 관리 방법은, 상기 삭제 또는 변경을 수행하는 단계 이후에, 상기 컨트롤러로부터 상기 삭제 대상 그룹 테이블 항목의 삭제를 지시하는 메시지를 수신하고, 상기 삭제 대상 그룹 테이블 항목에 대한 삭제를 수행하는 단계를 추가로 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 컨트롤러와 스위치로 구성된 SDN 환경에서 컨트롤러가 수행하는 플로우 테이블의 정합성 관리 방법으로서, 상기 스위치에게 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 대한 정보를 요청하는 요청 메시지를 전송하는 단계; 및 상기 스위치로부터 상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 상기 스위치에 관리되고 있는 플로우 테이블 항목들에 대한 정보를 수신하는 단계를 포함하는 플로우 테이블의 정합성 관리 방법을 제공한다.
여기에서, 상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 대한 정보는 상기 연관성이 있는 플로우 테이블 항목들의 개수에 대한 정보 및/또는 상기 연관성이 있는 플로우 테이블 항목들에 대한 정보를 포함할 수 있다. 이때, 상기 정합성 관리 방법은, 상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 대한 정보가 상기 연관성이 있는 플로우 테이블 항목들의 개수에 대한 정보를 포함할 경우, 상기 컨트롤러에 관리하고 있는 플로우 테이블들에 저장된 상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들의 개수와 상기 스위치로부터 수신된 상기 연관성이 있는 플로우 테이블 항목들의 개수가 일치할 경우, 상기 스위치에게 상기 삭제 대상 그룹 테이블 항목 및 상기 연관성이 있는 플로우 테이블 항목들의 삭제를 지시하는 명령 메시지를 전송하는 단계를 추가로 포함할 수 있다.
여기에서, 상기 요청 메시지는 상기 스위치에서 관리하고 있는 플로우 테이블들에서 상기 삭제 대상 그룹 테이블 항목을 직접적으로 지시하는 그룹 명령어가 기재된 플로우 테이블 항목들에 대한 정보를 요청하는 메시지일 수 있다.
여기에서, 상기 요청 메시지는 상기 스위치에서 관리하고 있는 플로우 테이블에서 상기 삭제 대상 그룹 테이블 항목을 직접 또는 간접적으로 지시하는 명령어가 기재된 플로우 테이블 항목들에 대한 정보를 요청하는 메시지일 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 컨트롤러와 스위치로 구성된 SDN 환경에서 스위치가 수행하는 플로우 테이블의 정합성 관리 방법으로서, 상기 컨트롤러로부터 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 대한 정보를 요청하는 요청 메시지를 수신하는 단계; 및 상기 컨트롤러에게 상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 상기 스위치에 저장된 플로우 테이블 항목들에 대한 정보를 전송하는 단계를 포함하는 플로우 테이블의 정합성 관리 방법을 제공한다.
여기에서, 상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 대한 정보는 상기 연관성이 있는 플로우 테이블 항목들의 개수에 대한 정보 및/또는 상기 연관성이 있는 플로우 테이블 항목들에 대한 정보를 포함할 수 있다. 이때, 상기 정합성 관리 방법은, 상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 대한 정보가 상기 연관성이 있는 플로우 테이블 항목들의 개수에 대한 정보를 포함할 경우, 상기 컨트롤러에서 관리하고 있는 플로우 테이블들에 저장된 상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들의 개수와 상기 스위치로부터 수신된 상기 연관성이 있는 플로우 테이블 항목들의 개수가 일치할 경우, 상기 컨트롤러로부터 상기 삭제 대상 그룹 테이블 항목 및 상기 연관성이 있는 플로우 테이블 항목들의 삭제를 지시하는 명령 메시지를 수신하는 단계를 추가로 포함할 수 있다.
여기에서, 상기 요청 메시지는 상기 스위치에서 관리하고 있는 플로우 테이블들에서 상기 삭제 대상 그룹 테이블 항목을 직접적으로 지시하는 그룹 명령어가 기재된 플로우 테이블 항목들에 대한 정보를 요청하는 메시지일 수 있다.
여기에서, 상기 요청 메시지는 상기 스위치에서 관리하고 있는 플로우 테이블들에서 상기 삭제 대상 그룹 테이블 항목을 직접 또는 간접적으로 지시하는 명령어가 기재된 플로우 테이블 항목들에 대한 정보를 요청하는 메시지일 수 있다.
상기와 같은 본 발명에 따른 플로우 테이블 정합성 관리 방법을 이용할 경우에는 그룹 테이블 또는 미터 테이블 항목의 삭제 요청 시, 플로우 테이블 항목들과의 연관성 확인을 통해 삭제를 수행함으로써, 플로우 테이블의 무결성(integrity)을 보호하고, 컨트롤러와 스위치에 저장된 플로우 테이블 간의 정합성을 유지할 수 있다.
도 1은 SDN 네트워크에 있어서 컨트롤러와 스위치의 구성을 나타내는 예시도이다.
도 2는 그룹 테이블 항목이 삭제될 경우 연관성이 있는 플로우 테이블에 대한 확인 절차를 예시하는 개념도이다.
도 3은 본 발명의 일 실시예에 따른 플로우 테이블 정보의 정합성 관리 방법을 설명하기 위한 메시지 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 플로우 테이블 정보의 정합성 관리 방법을 설명하기 위한 메시지 흐름도이다.
도 5는 본 발명의 또 다른 실시예에 따른 플로우 테이블 정보의 정합성 관리 방법을 설명하기 위한 메시지 흐름도이다.
도 6은 본 발명의 또 다른 실시예에 따른 플로우 테이블의 정합성 관리 방법에서 사용되는 요청 메시지 및 확인 메시지의 구성예를 설명하기 위한 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에서 언급되는 '컨트롤러(controller)'는 트래픽의 흐름을 제어하기 위해 관련 구성 요소(예를 들면, 스위치, 라우터 등)를 제어하는 기능 요소(entity)를 의미하는 것으로, 물리적인 구현 형태나 구현 위치 등에 한정되지 않는다. 예를 들어, 상기 컨트롤러는 ONF나, IETF, ETSI 및/또는 ITU-T 등에서 정의하고 있는 컨트롤러 기능 요소(entity)를 의미할 수 있다.
또한, 본 발명에서 언급되는 '스위치'는 트래픽(또는 패킷)을 실질적으로 포워딩하거나 스위칭 또는 라우팅하는 기능 요소를 의미하는 것으로, ONF나, IETF, ETSI 및/또는 ITU-T 등에서 정의하고 있는 스위치, 라우터, 스위치 요소, 라우터 요소, 포워딩 요소 등을 의미할 수 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 SDN 네트워크에 있어서 컨트롤러와 스위치의 구성을 나타내는 예시도이다.
도 1에서 예시되는 컨트롤러(controller)와 컨트롤러에 의해서 제어되는 스위치(switch)의 구성은 오픈 플로우(OpenFlow) 표준에서 규정하는 컨트롤러-스위치 구조에 적용 가능한 컨트롤러와 스위치 구성을 예시한 것이다.
오픈 플로우 이외의 다른 SDN 관련 표준(예컨대, IETF의 I2RS)에서도 도 1에서 예시된 구성과 유사한 구성을 가질 수 있다. 본 발명은 오픈 플로우 표준에 한정된 것은 아니며, 컨트롤러와 스위치에 상응하는 동작 주체를 포함한 다양한 SDN 환경에 적용될 수 있다.
도 1을 참조하면, 컨트롤러(110)는 포워딩 플레인(forwarding plane)에서의 플로우 들의 전달을 위한 플로우 테이블(flow table)들을 관리하는 플로우 테이블 관리부(111), 그룹 액션을 정의하는 그룹 테이블(group table)들을 관리하는 그룹 테이블 관리부(112), 플로우 미터링(metering)을 수행하는데 이용되는 미터 테이블(meter table)들을 관리하는 미터 테이블 관리부(113) 및 스위치(120)과의 연동을 처리하는 연동 처리부(114)를 포함하여 구성될 수 있다.
여기서, 플로우 테이블 관리부(111), 그룹 테이블 관리부(112) 및 미터 테이블 관리부(113)는 별도의 구성요소로서 도시되었으나, 실제 하나의 관리부에서 플로우 테이블, 그룹 테이블 및 미터 테이블 중 적어도 둘 이상을 관리하도록 구성될 수도 있다.
한편, 도 1에서는 하나의 컨트롤러(110)와 하나의 스위치(120) 만이 예시적으로 도시되었으나, SDN 네트워크 환경에서는 복수개의 스위치가 하나의 컨트롤러에 의해서 제어되거나 복수개의 컨트롤러가 하나의 스위치를 제어하도록 구성될 수 있다.
또한, 스위치(120)는 상술된 컨트롤러의 구성요소들에 상응하는 플로우 테이블 관리부(121), 그룹 테이블 관리부(122), 미터 테이블 관리부(123) 및 연동 처리부(124)를 포함하여 구성될 수 있다.
상술된 컨트롤러(110)와 스위치(120)의 구성은 본 발명에 따른 방법들을 수행하는 컨트롤러와 스위치의 구성에 대한 일 예시일 뿐 본 발명에 따른 방법들이 반드시 상술된 구성을 가진 컨트롤러와 스위치에 의해서 수행되는 것으로 한정되는 것은 아니다.
도 2는 그룹 테이블 항목이 삭제될 경우 연관성이 있는 플로우 테이블에 대한 확인 절차를 예시하는 개념도이다.
패킷이 제1 플로우 테이블(210)의 인그레스(ingress)로 유입되면, 제1 플로우 테이블(210)에서는 유입된 패킷의 헤더를 확인하고 매치 필드와 매칭을 통하여 대응되는 액션(action)을 수행하게 된다.
예컨대, 유입된 패킷이 매치 필드 TCP-SRC1에 매칭될 경우 해당 패킷은 대응되는 액션(Group g1)에 의하여 그룹 테이블(220)로 전달된 다음 그룹 테이블 내에서 대응되는 액션에 의해서 이그레스(egress; 240)로 출력된다.
반면, 유입된 패킷이 매치 필드 TCP-SRC2에 매칭될 경우 해당 패킷은 대응되는 액션(Goto Table2)에 의하여 제2 플로우 테이블(230)에 전달되고, 제2 플로우 테이블에 의한 매칭 동작에 따라서 액션이 실행된다.
상술된 예시에서, 그룹 테이블(220)과 제1 플로우 테이블(210)은 상호간에 참조 관계가 있음을 알 수 있다(예컨대, 제1 플로우 테이블에 유입된 패킷이 제1 플로우 테이블에서의 매칭 동작에 의해서 그룹 테이블로 전달되는 관계).
상술된 예시에서와 같이 그룹 테이블(220)의 항목(entry)과 제1 플로우 테이블(210)의 항목이 연관성을 가진 경우에, 컨트롤러가 그룹 테이블(220)의 항목(group_id(GID)=g1)에 대한 삭제 요청을 스위치에 전달한다면, 스위치는 제1 플로우 테이블의 매치 필드(TCP_SRC1)에 해당하는 플로우 항목까지 삭제하거나, 연관성 있는 플로우 항목에 대해서 컨트롤러에 알리고 상호 확인 절차를 수행하여 연관성 있는 플로우 항목에 대한 삭제 여부를 확인하여야 한다.
즉, 연관성 있는 플로우 테이블의 플로우 항목이 삭제되지 않고, 그룹 테이블의 항목만이 삭제된다면 이후의 패킷 전달에 오류가 발생될 수 있다.
이하에서 설명되는 본 발명에서는, 스위치에서 연관성 확인을 통해 플로우 테이블의 무결성을 보호하고, 컨트롤러의 플로우 테이블과 정합성을 유지하는 방법들을 제공한다.
일 실시예로서, 컨트롤러가 스위치에 저장된 그룹 테이블의 그룹 항목을 삭제할 필요가 있을 경우에, 컨트롤러가 자신이 관리하고 있는 플로우 테이블들 및 그룹 테이블 간의 참조 관계를 확인하여 삭제되어야 하는 그룹 테이블 항목과 연관성이 있는 플로우 테이블의 플로우 항목들을 먼저 삭제한 다음에 삭제되어야 하는 그룹 테이블 항목을 삭제할 수 있다.
도 3은 본 발명의 일 실시예에 따른 플로우 테이블 정보의 정합성 관리 방법을 설명하기 위한 메시지 흐름도이다.
도 3을 참조하면, 컨트롤러(110)는 관리하고 있는 플로우 테이블들과 그룹 테이블을 참조하여 삭제되어야 할 그룹 테이블 항목(이하, 삭제 대상 그룹 테이블 항목)과 연관된 플로우 테이블 항목들을 확인하는 절차(S310)를 수행한다.
상기 절차(S310) 수행을 통하여 확인된 삭제 대상 그룹 테이블 항목과 관련된 플로우 테이블 항목들을 삭제할 것을 지시하는 명령 메시지를 스위치(120)로 전송한다(S320).
스위치(120)는 상기 명령 메시지를 수신하고, 수신된 명령 메시지에서 지정하는 플로우 테이블 항목들을 삭제하는 동작을 수행한다(S330). 이때, 스위치(120)는 상기 삭제 동작의 수행 완료를 확인하는 메시지를 컨트롤러(110)로 전송하도록 구성될 수 있다.
다음으로, 컨트롤러(110)는 삭제 대상 그룹 테이블 항목을 삭제할 것을 지시하는 명령 메시지를 스위치(120)로 전송한다(S340).
마지막으로, 스위치(120)는 상기 명령 메시지를 수신하고, 수신된 명령 메시지에서 지정하는 그룹 테이블 항목을 삭제하는 동작을 수행한다(S350). 이때, 스위치(120)는 상기 삭제 동작의 수행 완료를 확인하는 메시지를 컨트롤러(110)로 전송하도록 구성될 수 있다.
상술된 도 3의 실시예에서는, 컨트롤러가 플로우 테이블과 그룹 테이블 간의 정합성 관리를 담당하게 된다. 따라서, 도 3의 실시예에서, 스위치는 컨트롤러로부터 수신된 명령 메시지에 따라서 플로우 테이블 항목과 그룹 테이블 항목을 삭제하는 동작을 수행하기만 하면 된다.
한편, 상술된 실시예에 있어서는, 컨트롤러에 저장된 플로우 테이블 및 그룹 테이블이 스위치에 저장된 플로우 테이블 및 그룹 테이블과 완전히 일치하지 않는 경우를 대비하기 위한 별도의 절차들이 필요할 수 있다. 예컨대, 하나의 스위치가 복수의 컨트롤러에 의해서 제어되는 경우 또는 스위치-컨트롤러 간의 연결에 문제가 생겨 컨트롤러와 스위치에서 관리하고 있는 정보 간에 불일치가 생기는 경우에는 완전한 정합성 관리를 위해서 별도의 절차들이 필요할 수도 있다.
다른 실시예로서, 컨트롤러가 스위치에 저장된 그룹 테이블의 그룹 항목을 삭제할 필요가 있을 경우에, 컨트롤러가 삭제되어야 할 그룹 항목의 삭제를 지시하는 명령어 메시지를 스위치로 전송하고, 스위치 측에서 삭제되어야 할 그룹 항목과 연관성이 있는 플로우 테이블 항목들을 확인하는 절차를 수행하도록 하는 방법이 가능하다.
도 4는 본 발명의 다른 실시예에 따른 플로우 테이블 정보의 정합성 관리 방법을 설명하기 위한 메시지 흐름도이다.
도 4를 참조하면, 컨트롤러(110)은 삭제 대상 그룹 테이블 항목의 삭제를 지시하는 명령 메시지를 스위치(120)로 전송한다(S410).
이 경우, 상기 명령 메시지는 테이블 항목에 대한 삭제를 지시하는 일반적인 명령 메시지를 이용할 수도 있고, 후술될 스위치의 확인 절차의 수행을 스위치에 지시하기 위해 별도로 정의된 명령 메시지가 이용될 수도 있을 것이다.
스위치(120)는 상기 명령 메시지를 컨트롤러로부터 수신하면 해당 명령 메시지에서 삭제 대상으로 지시된 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들이 자신이 관리하고 있는 플로우 테이블들에 존재하는지 여부를 확인하는 절차를 수행한다(S420).
상기 단계(S420)에서의 판단 결과, 삭제되어야 할 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들이 존재하지 않을 경우, 삭제되어야 할 그룹 테이블 항목을 삭제하는 절차(S480)를 바로 수행할 수 있다.
반면, 상기 단계(S420)에서의 판단 결과, 삭제되어야 할 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들이 자신이 관리 중인 플로우 테이블들에 존재할 경우, 삭제되어야 할 그룹 테이블 항목과 연관된 플로우 테이블 항목이 있음을 컨트롤러(110)에게 통보하고, 연관된 플로우 테이블 항목에 대한 삭제 절차(S430~S470)가 수행될 수 있다.
한편, 상기 단계(S420)에서 판단 결과, 삭제되어야 할 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들이 존재할 경우, 컨트롤러(110)에게 통보하는 절차의 수행 없이 스위치(120)가 자체적으로 연관성 있는 플로우 테이블 항목들을 삭제하고 삭제되어야 할 그룹 항목을 삭제하는 방법 또한 가능할 것이다.
이하에서는, 절차(S430~S470)를 상술한다.
스위치(120)는 삭제되어야 할 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들이 존재하는지 여부를 판단하여(S420), 연관성이 있는 플로우 테이블 항목들이 존재할 경우에 컨트롤러(110)에게 연관성이 있는 플로우 테이블 항목들이 존재함을 통보하는 메시지를 전송한다(S430).
이때, 상기 연관성이 있는 플로우 테이블 항목들이 존재함을 통보하는 메시지는 S410 단계에서 수신된 삭제 명령 메시지에 대한 오류를 지시하는 오류코드를 포함한 오류 확인 메시지의 의미를 가질 수도 있고, 연관성이 있는 플로우 테이블 항목들이 존재함을 통보하는 확인 메시지의 의미를 가질 수도 있다.
컨트롤러(110)에서는 상기 S430 단계에서 수신한 메시지에 기초하여 자신이 관리하고 있는 플로우 테이블들과 그룹 테이블을 참조하여 삭제되어야 할 그룹 테이블 항목과 연관된 플로우 테이블 항목들을 재확인할 수 있다(S440).
한편, 상기 S430 단계에서 스위치(120)가 전송하는 메시지는 삭제되어야 할 그룹 테이블 항목과 연관된 플로우 테이블 항목들이 존재한다는 사실만을 통보할 수도 있지만, 연관된 플로우 테이블 항목들에 대한 정보를 추가로 포함할 수도 있다. 상기 메시지가 연관된 플로우 테이블 항목들에 대한 정보를 추가로 포함할 경우, 컨트롤러(110)는 추가로 포함된 정보를 이용하여 자신에게 저장된 테이블 정보들과 스위치에 저장된 테이블 정보간의 정합성을 확인해볼 수 있다.
단계(S440)에서 컨트롤러(110)가 삭제되어야 할 그룹 테이블 항목과 연관성 있는 플로우 테이블 항목들을 확인한 경우, 연관성 있는 플로우 테이블 항목들에 대한 삭제 또는 변경을 지시하는 명령 메시지를 스위치(120)로 전송할 수 있다(S450).
스위치(120)는 컨트롤러(110)가 전송한 연관성 있는 플로우 테이블 항목들에 대한 삭제 또는 변경을 지시하는 명령 메시지를 수신하고, 수신된 메시지에 기초하여 연관성 있는 플로우 테이블 항목들을 삭제 또는 변경하는 동작을 수행한다(S460). 이때, 스위치(120)는 상기 삭제 또는 변경 동작의 수행 완료를 확인하는 메시지를 컨트롤러(110)로 전송하도록 구성될 수도 있다.
마지막으로, 컨트롤러(110)는 삭제되어야 할 그룹 테이블 항목에 대한 삭제를 지시하는 명령 메시지를 스위치(120)로 전송할 수 있다(S470).
한편, 상기 단계(S470)은 생략될 수도 있다. 즉, 스위치(120)는 S450 단계에서 수신한 메시지에 기초하여 연관성 있는 플로우 테이블 항목들에 대한 삭제를 수행한 이후에, S410 단계에서 수신하였던 메시지에 기초하여 삭제되어야 할 그룹 테이블 항목을 삭제하는 절차를 수행하도록 구성될 수도 있다. 이 경우, S450 단계에서 전송되는 메시지는 삭제되어야 할 그룹 테이블 항목과 연관된 플로우 테이블 항목들에 대한 삭제 또는 변경과, 삭제되어야 할 그룹 테이블 항목에 대한 삭제를 지시하는 의미를 함께 가지는 것으로 이해될 수 있을 것이다.
마지막으로, 스위치(120)는 상기 메시지(S470)에 기초하여(상기 메시지(S470)이 생략되는 경우, 상기 메시지(S450)에 기초하여) 삭제되어야 할 그룹 테이블 항목에 대한 삭제를 수행한다(S480).
또 다른 실시예로서, 컨트롤러가 스위치에 저장된 그룹 테이블의 그룹 항목을 삭제할 필요가 있을 경우에, 컨트롤러가 삭제되어야 할 그룹 항목과 연관된 플로우 테이블 항목의 숫자를 확인해줄 것을 스위치에게 요청하고, 스위치의 응답에 기초하여 컨트롤로가 삭제되어야 할 그룹 항목과 연관된 플로우 테이블 항목의 삭제를 스위치에게 지시하는 방법이 가능하다.
도 5는 본 발명의 또 다른 실시예에 따른 플로우 테이블 정보의 정합성 관리 방법을 설명하기 위한 메시지 흐름도이다.
도 5를 참조하면, 컨트롤러(110)는 스위치(120)에게 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 관한 정보(예컨대, 연관성 있는 플로우 테이블 항목들의 개수 정보)를 확인 요청할 수 있다(S510).
이때, 컨트롤러(110)는 상기 연관성이 있는 플로우 테이블 항목들을 STRICT 모드 방식 또는 Full Search 모드 방식으로 확인해줄 것을 스위치(120)에게 요청할 수 있다.
STRICT 모드 방식은 직접적인 group 명령어를 검색하는 방법이며, Apply-Action 이나 Write-Action 등의 지시어를 예로 들을 수 있다. 즉, 플로우 테이블 상에서 삭제되어야 할 그룹 테이블 항목을 직접적으로 지시하는 그룹 명령어가 기재된 플로우 테이블 항목들을 확인해줄 것을 요청하는 방식이다.
다음으로, Full Search 모드는 상술된 직접적인 그룹 명령어(예컨대, Apply-Action 이나 Write-Action 등) 이외에 Goto-Table 및 Group 간 호출 등 Group 간 상호 참조 내역까지 모두 검색하여 삭제되어야 할 그룹 테이블 항목과 직간접적으로 연관된 플로우 테이블 항목들을 모두 확인해줄 것을 요청하는 방식이다.
상기 단계(S510)에서 컨트롤러(110)가 스위치(120)에게 전달하는 메시지의 구성예는 도 6을 참조하여 후술된다.
스위치(120)는 단계(S510)에서 컨트롤러(110)로부터 수신한 메시지의 지시에 기초하여 STRICT 모드의 탐색 지시인지 Full Search 모드의 탐색 지시인지를 확인하여(S520), STRICT 모드로 연관성 있는 플로우 테이블 항목들을 확인하거나(S530), Full Search 모드로 연관성 있는 플로우 테이블 항목들을 확인하게 된다(S540).
상기 단계(S530) 또는 단계(S540)을 수행한 이후에 스위치(120)는 삭제되어야 할 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 관한 정보를 포함한 메시지를 컨트롤러(110)으로 전달한다(S550). 이때, 스위치(120)가 컨트롤러(110)에게 전달하는 메시지는 단계(S530) 또는 단계(S540)에서 확인된 연관성 있는 플로우 테이블 항목들의 개수에 대한 정보 및/또는 플로우 테이블 항목들에 대한 정보를 포함할 수 있다.
컨트롤러(110)는 단계(S550)에서 스위치로부터 전달된 연관성이 있는 플로우 테이블 항목에 대한 정보를 참조하여, 자신이 저장하고 있는 플로우 테이블들 및 그룹 테이블로부터 판단된 삭제되어야 할 그룹 테이블 항목과 연관성 있는 플로우 테이블 항목들에 대한 정보와 일치하는지 여부를 판단하고, 서로 일치할 경우에는 스위치(120)에게 삭제되어야 할 그룹 테이블 항목과 삭제되어야 할 그룹 테이블 항목과 연관성 있는 플로우 테이블 항목들의 삭제를 요청한다(S560).
이때, 단계(S550)에서 스위치로부터 컨트롤러로 전달된 연관성 있는 플로우 테이블 항목들에 관한 정보가 연관성 있는 플로우 테이블 항목들에 대한 개수 정보를 포함하고 있다면, 컨트롤러는 자신이 관리하고 있는 플로우 테이블들과 그룹 테이블로부터 판단된 삭제되어야 할 그룹 테이블 항목과 연관성 있는 플로우 테이블 항목들에 대한 개수와 비교하여, 단계(S560)의 진행 여부를 결정하게 된다. 즉, 컨트롤러는 자신이 관리하고 있는 플로우 테이블들과 그룹 테이블로부터 판단된 연관성 있는 플로우 테이블 항목들에 대한 개수와 스위치로부터 전달된 연관성 있는 플로우 테이블 항목들의 개수가 일치할 경우에 단계(S570)를 진행하는 것으로 결정할 수 있다. 그러나, 구현 예에 따라서는, 컨트롤러는 자신이 관리하고 있는 플로우 테이블들과 그룹 테이블로부터 판단된 연관성 있는 플로우 테이블 항목들에 대한 개수가 스위치로부터 전달된 연관성 있는 플로우 테이블 항목들의 개수보다 많은 경우 또는 적은 경우에 단계(S560)를 진행하는 것으로 결정하도록 구성될 수도 있다.
스위치(120)는 단계(S560)에서 컨트롤러(110)로부터 삭제되어야 할 그룹 테이블 항목과 삭제되어야 할 그룹 테이블 항목과 연관성 있는 플로우 테이블 항목들의 삭제를 요청 받은 경우, 삭제 대상 그룹 테이블 항목과 연관성 있는 플로우 테이블 항목들의 삭제를 수행한다(S570).
마지막으로, 스위치(120)는 컨트롤러(110)로부터 지시 받은 삭제 동작을 모두 수행한 이후에 컨트롤러(110)에게 삭제 동작의 완료를 통보하도록 구성될 수 있다(S580).
도 6은 본 발명의 또 다른 실시예에 따른 플로우 테이블의 정합성 관리 방법에서 사용되는 요청 메시지 및 확인 메시지의 구성예를 설명하기 위한 개념도이다.
도 6을 참조하면, 요청 메시지(610)는 커맨드 타입을 지정하기 위한 'command' 필드, 삭제 대상 그룹 테이블 항목을 지시하기 위한 'group' 필드, 상술된 STRICT 모드와 Full Search 모드 중 하나의 탐색 방법을 지시하는 'mode' 필드, 쿠키 기능의 사용 여부를 지정하기 위한 'cookie' 필드, 및 플로우 매칭시 이용되는 'match fields'들 중 적어도 하나를 포함하여 구성될 수 있다.
또한, 응답 메시지(620)은 삭제 대상 그룹 테이블 항목과 연관된 플로우 테이블 항목의 개수에 대한 정보를 포함하는 'count' 필드를 포함하여 구성될 수 있다.
도 6에서 예시된 요청 메시지(610)와 응답 메시지(620)의 구성예는 사용 가능한 필드들의 구성과 각 필드의 크기(byte 수)들의 예를 설명하기 위한 것일 뿐, 실제 구현에 있어서는 다양한 구성과 크기의 필드들을 포함한 요청 메시지와 응답 메시지가 이용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
110: 컨트롤러 120: 스위치
111, 121: 플로우 테이블 관리부
112, 122: 그룹 테이블 관리부
113, 123: 미터 테이블 관리부
114, 124: 연동 처리부
210: 제1 플로우 테이블 220: 그룹 테이블
230: 제2 플로우 테이블 240: Packet egress

Claims (18)

  1. 컨트롤러(controller)와 스위치(switch)로 구성된 SDN(Software Defined Network) 환경에서 상기 컨트롤러가 수행하는 플로우 테이블(flow table)의 정합성 관리 방법으로서,
    상기 스위치에게 그룹 테이블 항목(group table entry)에 대한 삭제를 지시하는 명령 메시지를 전송하는 단계; 및
    상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목(flow table entry)이 상기 스위치에서 관리하는 플로우 테이블들에 존재하는지에 대한 응답 메시지를 상기 스위치로부터 수신하는 단계를 포함하는 플로우 테이블의 정합성 관리 방법.
  2. 청구항 1에 있어서,
    상기 응답 메시지는 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목이 존재함을 지시하는 정보 및/또는 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목에 대한 정보를 포함하는 플로우 테이블의 정합성 관리 방법.
  3. 청구항 1에 있어서,
    상기 응답 메시지가 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목이 상기 스위치에서 관리하는 플로우 테이블들에 존재함을 지시할 경우, 상기 컨트롤러가 상기 스위치에게 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목에 대한 삭제 또는 변경을 지시하는 메시지를 전송하는 단계를 추가로 포함하는 플로우 테이블의 정합성 관리 방법.
  4. 청구항 3에 있어서,
    상기 컨트롤러가 상기 삭제 또는 변경을 지시하는 메시지를 전송한 이후에 상기 삭제 대상 그룹 테이블 항목의 삭제를 지시하는 메시지를 상기 스위치로 전송하는 단계를 추가로 포함하는 플로우 테이블의 정합성 관리 방법.
  5. 컨트롤러(controller)와 스위치(switch)로 구성된 SDN(Software Defined Network) 네트워크 환경에서 상기 스위치가 수행하는 플로우 테이블(flow table)의 정합성 관리 방법으로,
    상기 컨트롤러로부터 그룹 테이블 항목(group table entry)에 대한 삭제를 지시하는 명령 메시지를 수신하는 단계; 및
    상기 명령 메시지에 응답하여, 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목(flow table entry)이 상기 스위치에서 관리하는 플로우 테이블들에 존재하는지에 대한 응답 메시지를 상기 컨트롤러에게 전송하는 단계를 포함하는 플로우 테이블의 정합성 관리 방법.
  6. 청구항 5에 있어서,
    상기 응답 메시지는 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목이 존재함을 지시하는 정보 및/또는 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목에 대한 정보를 포함하는 플로우 테이블의 정합성 관리 방법.
  7. 청구항 5에 있어서,
    상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목이 상기 스위치에서 관리하는 플로우 테이블들에 존재할 경우, 상기 컨트롤러로부터 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목에 대한 삭제 또는 변경을 지시하는 메시지를 수신하고, 상기 삭제 대상 그룹 테이블 항목과 연관된 적어도 하나의 플로우 테이블 항목에 대한 삭제 또는 변경을 수행하는 단계를 추가로 포함하는 플로우 테이블의 정합성 관리 방법.
  8. 청구항 7에 있어서,
    상기 삭제 또는 변경을 수행하는 단계 이후에, 상기 컨트롤러로부터 상기 삭제 대상 그룹 테이블 항목의 삭제를 지시하는 메시지를 수신하고, 상기 삭제 대상 그룹 테이블 항목에 대한 삭제를 수행하는 단계를 추가로 포함하는 플로우 테이블의 정합성 관리 방법.
  9. 컨트롤러(controller)와 스위치(switch)로 구성된 SDN(Software Defined Network) 네트워크 환경에서 상기 컨트롤러가 수행하는 플로우 테이블(flow table)의 정합성 관리 방법으로,
    상기 스위치에게 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 대한 정보를 요청하는 요청 메시지를 전송하는 단계; 및
    상기 스위치로부터 상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 상기 스위치에 관리되고 있는 플로우 테이블 항목들에 대한 정보를 수신하는 단계를 포함하는 플로우 테이블의 정합성 관리 방법.
  10. 청구항 9에 있어서,
    상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 대한 정보는 상기 연관성이 있는 플로우 테이블 항목들의 개수에 대한 정보 및/또는 상기 연관성이 있는 플로우 테이블 항목들에 대한 정보를 포함하는 플로우 테이블의 정합성 관리 방법.
  11. 청구항 9에 있어서,
    상기 요청 메시지는 상기 스위치에서 관리하고 있는 플로우 테이블들에서 상기 삭제 대상 그룹 테이블 항목을 직접적으로 지시하는 그룹 명령어가 기재된 플로우 테이블 항목들에 대한 정보를 요청하는 메시지인 플로우 테이블의 정합성 관리 방법.
  12. 청구항 9에 있어서,
    상기 요청 메시지는 상기 스위치에서 관리하고 있는 플로우 테이블에서 상기 삭제 대상 그룹 테이블 항목을 직접 또는 간접적으로 지시하는 명령어가 기재된 플로우 테이블 항목들에 대한 정보를 요청하는 메시지인 플로우 테이블의 정합성 관리 방법.
  13. 청구항 10에 있어서,
    상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 대한 정보가 상기 연관성이 있는 플로우 테이블 항목들의 개수에 대한 정보를 포함할 경우, 상기 컨트롤러에 관리하고 있는 플로우 테이블들에 저장된 상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들의 개수와 상기 스위치로부터 수신된 상기 연관성이 있는 플로우 테이블 항목들의 개수가 일치할 경우, 상기 스위치에게 상기 삭제 대상 그룹 테이블 항목 및 상기 연관성이 있는 플로우 테이블 항목들의 삭제를 지시하는 명령 메시지를 전송하는 단계를 추가로 포함하는 플로우 테이블의 정합성 관리 방법.
  14. 컨트롤러(controller)와 스위치(switch)로 구성된 SDN(Software Defined Network) 네트워크 환경에서 상기 스위치가 수행하는 플로우 테이블(flow table)의 정합성 관리 방법으로,
    상기 컨트롤러로부터 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 대한 정보를 요청하는 요청 메시지를 수신하는 단계; 및
    상기 컨트롤러에게 상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 상기 스위치에 저장된 플로우 테이블 항목들에 대한 정보를 전송하는 단계를 포함하는 플로우 테이블의 정합성 관리 방법.
  15. 청구항 14에 있어서,
    상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 대한 정보는 상기 연관성이 있는 플로우 테이블 항목들의 개수에 대한 정보 및/또는 상기 연관성이 있는 플로우 테이블 항목들에 대한 정보를 포함하는 플로우 테이블의 정합성 관리 방법.
  16. 청구항 14에 있어서,
    상기 요청 메시지는 상기 스위치에서 관리하고 있는 플로우 테이블들에서 상기 삭제 대상 그룹 테이블 항목을 직접적으로 지시하는 그룹 명령어가 기재된 플로우 테이블 항목들에 대한 정보를 요청하는 메시지인 플로우 테이블의 정합성 관리 방법.
  17. 청구항 14에 있어서,
    상기 요청 메시지는 상기 스위치에서 관리하고 있는 플로우 테이블들에서 상기 삭제 대상 그룹 테이블 항목을 직접 또는 간접적으로 지시하는 명령어가 기재된 플로우 테이블 항목들에 대한 정보를 요청하는 메시지인 플로우 테이블의 정합성 관리 방법.
  18. 청구항 15에 있어서,
    상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들에 대한 정보가 상기 연관성이 있는 플로우 테이블 항목들의 개수에 대한 정보를 포함할 경우, 상기 컨트롤러에서 관리하고 있는 플로우 테이블들에 저장된 상기 삭제 대상 그룹 테이블 항목과 연관성이 있는 플로우 테이블 항목들의 개수와 상기 스위치로부터 수신된 상기 연관성이 있는 플로우 테이블 항목들의 개수가 일치할 경우, 상기 컨트롤러로부터 상기 삭제 대상 그룹 테이블 항목 및 상기 연관성이 있는 플로우 테이블 항목들의 삭제를 지시하는 명령 메시지를 수신하는 단계를 추가로 포함하는 플로우 테이블의 정합성 관리 방법.
KR1020140150910A 2013-11-01 2014-11-03 Sdn 네트워크 환경에서 플로우 테이블의 정합성 관리 방법 KR101573150B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130132255 2013-11-01
KR1020130132255 2013-11-01

Publications (2)

Publication Number Publication Date
KR20150051185A true KR20150051185A (ko) 2015-05-11
KR101573150B1 KR101573150B1 (ko) 2015-11-30

Family

ID=53388740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140150910A KR101573150B1 (ko) 2013-11-01 2014-11-03 Sdn 네트워크 환경에서 플로우 테이블의 정합성 관리 방법

Country Status (1)

Country Link
KR (1) KR101573150B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017124330A1 (en) * 2016-01-20 2017-07-27 Telefonaktiebolaget Lm Ericsson (Publ) Advertising network resource sharing status in sdn
US10659351B2 (en) 2015-12-16 2020-05-19 Hewlett Packard Enterprise Development Lp Dataflow consistency verification

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101695577B1 (ko) 2015-12-30 2017-01-11 경희대학교 산학협력단 콘텐츠 중심 네트워크의 패킷 전송 방법 및 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8780721B2 (en) 2009-10-06 2014-07-15 Nec Corporation Network system, controller, method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10659351B2 (en) 2015-12-16 2020-05-19 Hewlett Packard Enterprise Development Lp Dataflow consistency verification
WO2017124330A1 (en) * 2016-01-20 2017-07-27 Telefonaktiebolaget Lm Ericsson (Publ) Advertising network resource sharing status in sdn
US11089102B2 (en) 2016-01-20 2021-08-10 Telefonaktiebolaget Lm Ericsson (Publ) Advertising network resource sharing status in SDN

Also Published As

Publication number Publication date
KR101573150B1 (ko) 2015-11-30

Similar Documents

Publication Publication Date Title
US10044830B2 (en) Information system, control apparatus, method of providing virtual network, and program
JP5598582B2 (ja) 通信システム、ノード、制御装置、通信方法およびプログラム
EP2552060A1 (en) Information system, control apparatus, method of controlling virtual network, and program
JP5994846B2 (ja) 通信システム、制御装置、ノード、ノードの制御方法およびプログラム
US10645006B2 (en) Information system, control apparatus, communication method, and program
WO2013035342A1 (en) Network management service system, control apparatus, method, and program
US20130246655A1 (en) Communication path control system, path control device, communication path control method, and path control program
JP5854047B2 (ja) 通信システム、制御装置、転送ノード、通信制御方法およびプログラム
US10171352B2 (en) Communication system, node, control device, communication method, and program
EP2928122B1 (en) Switch device, vlan setting management method and program
JP2014504048A (ja) 通信システム、転送ノード、制御装置、通信制御方法およびプログラム
US20160241485A1 (en) Method for updating flow table
KR101573150B1 (ko) Sdn 네트워크 환경에서 플로우 테이블의 정합성 관리 방법
JP2015509670A (ja) 通信装置、制御装置、通信システム、パケット処理方法、通信装置の制御方法及びプログラム
JP6440191B2 (ja) スイッチ装置、vlan設定管理方法及びプログラム
JP5983733B2 (ja) 通信システム、制御装置、通信装置、情報中継方法及びプログラム
EP2773072B1 (en) Control apparatus, communication system, virtual network management method, and program
WO2014104277A1 (ja) 制御装置、通信システム、通信ノードの制御方法及びプログラム
KR101581510B1 (ko) 다중 제어장치를 구비한 환경에서 제어장치의 제어 권한 변경 방법
JPWO2015178415A1 (ja) 通信装置、制御装置、通信システム及び送信制御方法
WO2014034119A1 (en) Access control system, access control method, and program
US10469498B2 (en) Communication system, control instruction apparatus, communication control method and program
JP5994847B2 (ja) 通信端末、通信方法、通信システムおよび制御装置
WO2015159881A1 (ja) 通信装置、制御装置、通信システム、通信方法、通信装置の制御方法及びプログラム
JP2016092756A (ja) 制御装置、通信システム、ループ抑止方法及びプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190903

Year of fee payment: 5