KR101491698B1 - 소프트웨어 정의 네트워크에서 제어 장치 및 그 동작 방법 - Google Patents

소프트웨어 정의 네트워크에서 제어 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR101491698B1
KR101491698B1 KR20140006766A KR20140006766A KR101491698B1 KR 101491698 B1 KR101491698 B1 KR 101491698B1 KR 20140006766 A KR20140006766 A KR 20140006766A KR 20140006766 A KR20140006766 A KR 20140006766A KR 101491698 B1 KR101491698 B1 KR 101491698B1
Authority
KR
South Korea
Prior art keywords
flow
transmission
network
amount
packet
Prior art date
Application number
KR20140006766A
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 아토리서치(주)
Priority to KR20140006766A priority Critical patent/KR101491698B1/ko
Application granted granted Critical
Publication of KR101491698B1 publication Critical patent/KR101491698B1/ko

Links

Images

Classifications

    • 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/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth

Landscapes

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

Abstract

복수의 스위치를 포함하는 소프트웨어 정의 네트워크를 관리하는 제어 장치의 패킷 전송 경로 설정 방법은 상기 소프트웨어 정의 네트워크의 네트워크 정보를 수집하는 단계; 상기 수집한 네트워크 정보에 기초하여 전송되는 플로우의 특성을 판단하는 단계; 상기 판단된 플로우의 특성에 적합한 전송 경로를 상기 플로우에 할당하는 단계; 및 상기 전송 경로를 상기 플로우에 할당한다는 것을 규정하는 플로우 테이블 수정 요청 메시지를 상기 플로우에 속하는 네트워크 스위치에 전송하는 단계를 포함한다.

Description

소프트웨어 정의 네트워크에서 제어 장치 및 그 동작 방법{CONTROL APPARATUS AND METHOD THEREOF IN SOFTWARE DEFINED NETWORK}
본 발명은 소프트웨어 정의 네트워크(Software Defined Network)에서 제어 장치 및 그 동작 방법에 관한 것이다.
2008년 발표된 소프트웨어 정의 네트워킹 기술의 등장은 최근 네트워크 구조를 바꾸고 있다. 소프트웨어 정의 네트워크 기술은, 기본적으로, 복잡한 제어 플레인(control plane)의 기능을 데이터 플레인(data plane)과 분리하여, 제어 플레인 의 복잡한 기능을 소프트웨어적으로 처리하고, 데이터 플레인은 단순한 네트워크 패킷의 전달, 무시, 변경 등의 기능만을 수행하도록 하는데 있다. 이 경우, 복잡한 하드웨어의 제약 없이 제어 플레인의 도움을 통해 소프트웨어적으로 새로운 네트워크의 기능이 개발될 수 있으며, 동시에 이전 네트워크 구조에서 하기 어려웠던 다양한 시도가 가능하게 되었다.
예를 들어, 클라우드 네트워크와 같은 환경에서, 각 네트워크 스위치 혹은 라우터의 기능을 다이나믹하게 설정하여, 에너지 소비를 줄일 수 있으며, 엔터프라이즈 급의 환경에서는 각 스위치나 라우터에 원하는 접근 제어 방식을 구현할 수 있다. 따라서, 이 방식을 이용하여 기존의 네트워크에서 사용되는 장비의 수를 줄일 수 있으며, 동시에 장비 관리 비용 역시 줄일 수 있다. 또한, 새로운 기능을 자유자재로 실험적으로 개발하여 테스트할 수 있다.
그러나, 일반 네트워크는 관리 편의를 위하여 간단한 구조로 연결된 스위치들을 포함하는 것과는 달리 소프트웨어 정의 네트워크 내의 스위치들은 간단한 구조를 가질 필요가 없다. 이는, 제어 장치(100)가 고속 컴퓨팅에 의해 스위치들의 플로우 테이블을 구할 수 있기 때문이다.
이를 위하여, 제어 장치(100)가 플로우 테이블을 구할 때 패킷을 전송하는 플로우의 특성에 따른 최적의 전송 경로를 설정할 수 있는 방안이 요구되고 있다.
한편, 일반적인 네트워크는 수십에서 수백 대의 서버를 클러스터로 묶게 되면 네트워크 구성이 복잡해지고, 복잡한 네트워크를 구성하기 위해 고가의 네트워크 장비가 필요하다.
도 1을 참고하여 네트워크 구성이 복잡해짐에 따라 고가의 네트워크 장비가 필요한 것을 설명한다.
도 1은 일반적인 네트워크 구성을 개략적으로 나타낸다.
도 1에서 각 서버(300)들에 직접 연결된 스위치(200)들을 1차 단계(410)라고 하고, 1차 단계(410)의 스위치(200)들을 연결한 상위 단계의 스위치(210)들을 2차 단계(420)라 한다. 그리고 2차 단계(420)의 스위치(210)들을 연결한 스위치(220)들을 3차 단계(430)라고 한다.
1차 단계(410)에서 3차 단계(430)로 올라갈수록 해당 단계의 스위치가 처리해야 하는 플로우의 수와 패킷의 전송량이 증가하고, 이에 따라 2차 단계(420) 또는 3차 단계(430)의 스위치에는 1차 단계(410)의 스위치에 비해 처리해야 하는 플로우와 패킷이 몰리는 병목 현상이 발생한다.
이러한 병목 현상이 발생하면 네트워크의 성능이 저하될 뿐만 아니라, 병목 현상의 정도에 따라 전체 네트워크가 마비될 수도 있다.
따라서 상위 단계의 스위치(210,220)는 하위 단계의 스위치(200)가 전달하는 패킷들을 원활하게 처리할 수 있을 정도의 성능을 갖추어야 하므로, 상위 단계로 갈수록 사용되는 스위치(210, 220)의 가격이 하위 단계의 스위치(200)에 비해 기하급수적으로 상승한다.
그래서 상위 단계의 스위치(210, 220)인 고성능 스위치를 필요로 하는 빅데이터용 서버 클러스터의 경우, 전체 구성 비용의 20%를 네트워크 구축 비용에 써야 할 정도이다.
이러한 문제점을 해결하기 위해, 소프트웨어 정의 네트워크를 이용하여 고가의 고성능 네트워크 장비를 상대적으로 저가인 네트워크 장비로 대체할 필요가 있다.
본 발명이 해결하고자 하는 기술적 과제는 소프트웨어 정의 네트워크 기술을 통해 상위 단계의 고성능 네트워크 장비를 일반적인 네트워크 장비로 대체하고, 플로우의 특성에 따른 최적의 전송 경로를 설정할 수 있는 제어 장치를 제공하는 것이다.
실시예에서, 복수의 스위치를 포함하는 소프트웨어 정의 네트워크를 관리하는 제어 장치의 패킷 전송 경로 설정 방법은 상기 소프트웨어 정의 네트워크의 네트워크 정보를 수집하는 단계; 상기 수집한 네트워크 정보에 기초하여 전송되는 플로우의 특성을 판단하는 단계; 상기 판단된 플로우의 특성에 적합한 전송 경로를 상기 플로우에 할당하는 단계; 및 상기 전송 경로를 상기 플로우에 할당한다는 것을 규정하는 플로우 테이블 수정 요청 메시지를 상기 플로우에 속하는 네트워크 스위치에 전송하는 단계를 포함한다.
실시예에서, 복수의 스위치를 포함하는 소프트웨어 정의 네트워크를 관리하는 제어 장치는 상기 소프트웨어 정의 네트워크의 네트워크 정보를 수집하는 네트워크 정보 수집 모듈; 및 상기 수집한 네트워크 정보에 기초하여 전송되는 플로우의 특성을 판단하고, 상기 판단된 플로우의 특성에 따라 전송 경로를 할당하여 할당된 전송 경로를 규정하는 플로우 테이블 수정 요청 메시지를 상기 플로우에 속하는 네트워크 스위치에 전송하는 네트워크 설정 모듈을 포함한다.
실시예에서, 본 발명의 제어 장치는 소프트웨어 정의 네트워크 상의 최적의 경로를 통해 패킷을 전송할 수 있다.
이에 따라, 본 발명의 제어 장치는 소프트웨어 정의 네트워크를 통해 대량의 트래픽을 안정적으로 전송할 수 있으며, 장애 발생에도 강인한 네트워크를 제공할 수 있다.
또한, 본 발명은 하위 단계의 일반적인 네트워크 장비로 상위 단계의 고성능 네트워크 장비를 대체할 수 있다.
도 1은 일반적인 네트워크의 구성을 보여준다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크의 기본적인 구조를 보여주는 블록도이다.
도 3은 본 발명의 실시예에 따른 제어 장치 및 네트워크 스위치 간의 연결을 나타낸다.
도 4는 본 발명의 실시예에 따른 제어 장치의 구조를 보여주는 블록도이다.
도 5는 본 발명의 실시예에 따른 네트워크 스위치의 구조를 보여주는 블록도이다.
도 6은 본 발명의 실시예에 따른 스프트웨어 정의 네트워크의 동작을 보여주는 래더 다이어그램이다.
도 7은 본 발명의 실시예에 따른 패킷 전송 경로 설정 방법을 보여주는 흐름도이다.
도 8은 본 발명의 실시예에 따른 플로우의 특성 결정 방법을 보여주는 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크의 기본적인 구조를 보여주는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 제어 장치 및 스위치 간의 연결을 나타낸다.
도 2 및 도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크(10)는 제어 장치(100), 복수의 네트워크 스위치(200), 복수의 서버(300)를 포함한다. 하나의 제어 장치(100)는 복수의 네트워크 스위치(200)를 관리한다.
이하에서는, 제어 장치(100), 복수의 네트워크 스위치(200), 복수의 서버(300)를 커버하는 개념으로 노드라는 용어가 사용된다. 링크는 2개의 노드 사이의 연결을 나타낸다. 플로우는 일련의 링크들을 나타낸다. 복수의 네트워크 스위치(200), 링크, 플로우를 커버하는 개념으로 네트워크 구성 요소(network element)라는 용어가 사용된다.
그리고 2개의 노드 사이의 연결은 복수의 링크로 구성될 수 있다.
도 3에 도시된 바와 같이, 하나의 스위치(200)와 다른 스위치(200) 사이는 적어도 하나 이상의 링크로 구성될 수 있다. 그래서 스위치(200)간의 연결은 복수의 링크로 구성될 수도 있다.
이처럼, 하나의 네트워크 스위치(200)와 다른 하나의 네트워크 스위치(200) 간의 연결은 복수의 링크로 구성될 수 있다.
도 2 및 도 3을 참고해서 소프트웨어 정의 네트워크(10)의 동작을 설명한다.
서버(300)는 다른 서버에 보내기 위한 패킷을 생성하여 네트워크 인터페이스의 포트를 통해 네트워크 스위치(200)로 패킷을 전송한다.
네트워크 스위치(200)는 서버(300) 또는 다른 스위치로부터 패킷을 수신하면, 플로우 테이블에 기초하여 패킷을 스위칭한다. 이때, 플로우 테이블이 패킷 스위칭을 위한 플로우 엔트리를 가지지 않는다면, 네트워크 스위치(200)는 제어 장치(100)에 이벤트를 전송하거나 플로우 룰 요구 메시지를 전송한다.
제어 장치(100)는 복수의 네트워크 스위치(200)들의 플로우 테이블들을 관리한다.
각각의 네트워크 스위치(200)는 다수의 네트워크 스위치(200)들에 연결되어 있고, 저장된 플로우 테이블에 기초하여 패킷을 스위칭하므로, 전달받은 패킷의 최종 목적지가 아닌 네트워크 스위치(200)가 패킷을 전달받으면 받은 패킷을 다른 네트워크 스위치(200)로 전달하는 중계기와 같은 역할을 할 수 있다.
이와 같이 네트워크 스위치(200)가 다른 네트워크 스위치(200)에 패킷을 전달하여 최종 목적지인 네트워크 스위치(200)로 패킷을 전달할 수 있고, 제어 장치(100)가 복수의 네트워크 스위치(200)의 플로우 테이블을 관리하여 상술한 상위 단계의 고성능 스위치(210, 220)들을 다수의 네트워크 스위치(200)들로 대체 가능하다.
이처럼, 소프트웨어 정의 네트워크(10) 상의 제어 장치(100)와 네트워크 스위치(200)들을 이용하여 상술한 상위 단계의 고성능 스위치(210, 220) 없이 다수의 서버(300)들을 연결하는 네트워크를 구성할 수 있다.
다음은 도 4를 참조하여 본 발명의 실시예에 따른 제어 장치(100)의 구조를 설명한다.
도 4는 본 발명의 실시예에 따른 제어 장치의 구조를 보여주는 블록도이다.
도 4에 도시된 바와 같이, 본 발명의 실시예에 따른 제어 장치(100)는 네트워크 설정 모듈(103), 네트워크 설정 정보 저장소(106), 네트워크 링크 정보 수집 모듈(110), 네트워크 링크 동작 상태 수집 모듈(120), 네트워크 링크 사용량 수집 모듈(130), 네트워크 토폴로지 정보 수집 모듈(140), 네트워크 플로우 정보 수집 모듈(150), 네트워크 장애 감지 모듈(160), 백업 모듈(170), 백업 정보 저장소(180), 네트워크 복구 모듈(190), 디스플레이부(193), 및 사용자 입력부(195)를 포함한다.
네트워크 설정 모듈(103)은 네트워크 설정 정보를 이용하여 소프트웨어 정의 네트워크(10)를 설정한다.
네트워크 설정 정보 저장소(106)는 네트워크 설정 정보를 저장한다.
네트워크 정보 수집 모듈(108)은 네트워크의 정보를 수집한다.
네트워크 정보 수집 모듈(108)은 네트워크 링크 정보 수집 모듈(110), 네트워크 링크 동작 상태 수집 모듈(120), 네트워크 링크 사용량 수집 모듈(130), 네트워크 토폴로지 정보 수집 모듈(140), 네트워크 플로우 정보 수집 모듈(150)을 포함할 수 있다.
네트워크 링크 정보 수집 모듈(110)은 네트워크 링크 정보를 수집한다.
네트워크 링크 동작 상태 수집 모듈(120)은 네트워크 링크 동작 상태 정보를 수집한다.
네트워크 링크 동작 상태 정보는 개별 링크 오류율에 대한 정보를 포함할 수 있다.
개별 링크 오류율은 해당 링크에서 얼마만큼 패킷 전달이 실패하는지를 나타낼 수 있다.
네트워크 링크 사용량 수집 모듈(130)은 네트워크 링크 사용량 정보를 수집한다.
네트워크 토폴로지 정보 수집 모듈(140)은 네트워크 토폴로지 정보를 수집한다.
네트워크 토폴로지 정보는 개별 스위치의 오류율에 대한 정보, 개별 스위치 부하에 대한 정보를 포함할 수 있다.
개별 스위치의 오류율은 해당 스위치에서 얼마만큼 패킷 전달이 실패하는지를 나타낼 수 있고, 개별 스위치 부하는 해당 스위치의 처리 능력 중에서 얼마만큼이 사용되고 있는지를 나타낼 수 있다.
네트워크 플로우 정보 수집 모듈(150)은 네트워크 플로우 정보를 수집한다.
플로우 정보는 소프트웨어 정의 네트워크(10) 상에 어떠한 플로우들이 존재하는지에 대한 정보, 개별 플로우 오류율에 대한 정보, 개별 플로우 부하에 대한 정보, 플로우 테이블에 대한 정보를 포함할 수 있다.
네트워크 장애 감지 모듈(160)은 소프트웨어 정의 네트워크(10)의 장애를 감지한다.
백업 모듈(170)은 네트워크 정보를 백업 정보 저장소(180)에 백업한다.
백업 정보 저장소(180)는 네트워크 정보를 보관한다.
네트워크 복구 모듈(190)은 백업된 네트워크 설정 정보를 이용하여 네트워크를 복구한다.
디스플레이부(193)는 다양한 정보를 디스플레이한다.
사용자 입력부(195)는 다양한 사용자 입력을 획득한다.
다음은 도 5를 참조하여 본 발명의 실시예에 따른 네트워크 스위치(200)의 구조를 설명한다.
도 5는 본 발명의 실시예에 따른 네트워크 스위치의 구조를 보여주는 블록도이다.
도 5에 도시된 바와 같이, 본 발명의 실시예에 따른 네트워크 스위치(200)는 복수의 포트(210), 스위칭 모듈(220), 플로우 테이블 저장부(230), 플로우 테이블 관리 모듈(240)를 포함한다.
플로우 테이블 저장부(230)는 플로우 테이블을 가진다.
스위칭 모듈(220)은 플로우 테이블에 기초하여 패킷 스위칭을 수행한다. 이때, 복수의 포트(210) 중 한 포트를 통해 패킷이 수신되면, 스위칭 모듈(220)은 플로우 테이블에 기초하여 복수의 포트(210) 중 어떤 포트로 수신 패킷을 출력할 지를 결정하고, 결정한 포트로 수신 패킷을 출력한다.
플로우 테이블 관리 모듈(240)은 플로우 테이블 저장부(230)의 플로우 테이블을 업데이트가 필요한지를 확인하고, 제어 장치(100)의 플로우 테이블 수정 요청에 따라 플로우 테이블을 수정한다.
다음은 도 6을 참조하여 본 발명의 실시예에 따른 소프트웨어 정의 네트워크의 동작을 설명한다.
도 6을 본 발명의 실시예에 따른 소프트웨어 정의 네트워크의 동작을 보여주는 래더 다이어그램이다.
제어 장치(100)에 전달이 요구되는 이벤트가 네트워크 스위치(200)에서 발생하면(S101), 네트워크 스위치(200)의 플로우 테이블 관리 모듈(240)은 이벤트를 제어 장치(100)에 전달한다(S103).
실시예에서, 네트워크 스위치(200)의 플로우 테이블 관리 모듈(240)은 플로우 룰 요구 메시지를 제어 장치(100)에 전달할 수도 있다. 플로우 룰 요구 메시지는 플로우 룰을 요구하는 메시지이며, 플로우 룰은 플로우 테이블일 수 있다.
제어 장치(100)의 네트워크 설정 모듈(103)은 수신한 이벤트에 기초하여 이벤트를 전송한 네트워크 스위치(200)의 플로우 테이블의 수정이 필요한지를 체크한다(S105).
실시예에서, 이벤트가 네트워크 스위치(200)의 초기화, 네트워크 스위치(200)의 턴온, 플로우 테이블에 규정되지 않은 패킷의 네트워크 스위치(200)에 유입 중 어느 하나에 해당하면, 제어 장치(100)의 네트워크 설정 모듈(103)는 네트워크 스위치(200)의 플로우 테이블의 수정이 필요하다고 판단할 수 있다.
한편, 제어 장치(100)의 네트워크 설정 모듈(103)는 수신한 이벤트에 기초하여 이벤트를 전송한 네트워크 스위치(200) 이외의 네트워크 스위치의 플로우 테이블의 수정이 필요한지를 체크할 수도 있다. 예컨데, 발생한 이벤트에 해당하는 네트워크 스위치(200)의 플로우 테이블이 수정되면, 패킷의 스위칭 처리(action)가 수정되어 패킷의 경로가 변경될 수 있다. 이에 따라 변경되는 경로의 반영을 위하여 이벤트를 전송한 네트워크 스위치(200) 이외의 네트워크 스위치의 플로우 테이블의 수정이 필요할 수 있다.
네트워크 스위치(200)의 플로우 테이블의 수정이 필요하면, 제어 장치(100)의 네트워크 설정 모듈(103)은 네트워크 스위치(200)의 플로우 테이블을 수정하고(S107), 네트워크 스위치(200)의 플로우 테이블의 수정 내용을 포함하는 플로우 테이블 수정 요청 메시지를 네트워크 스위치(200)에 전송한다(S109).
실시예에서, 네트워크 스위치(200)가 플로우 룰 요구 메시지를 제어 장치(100)에 전송한 경우, 제어 장치(100)의 네트워크 설정 모듈(103)는 네트워크 스위치(200)에 플로우 룰을 제공할 수 있다.
이벤트를 전송한 네트워크 스위치(200) 이외의 네트워크 스위치의 플로우 테이블의 수정이 필요하면, 제어 장치(100)의 네트워크 설정 모듈(103)은 수정이 필요한 플로우 테이블에 해당하는 네트워크 스위치에도 플로우 테이블 수정 요청 메시지를 전송할 수 있다.
네트워크 스위치(200)의 플로우 테이블 관리 모듈(240)은 플로우 테이블 수정 요청 메시지에 기초하여 자신의 플로우 테이블을 수정한다(S111).
플로우 테이블이 성공적으로 수정되면, 네트워크 스위치(200)의 플로우 테이블 관리 모듈(240)은 플로우 테이블 수정 응답 메시지를 제어 장치(100)에 전송할 수 있다
이후, 네트워크 스위치(200)의 스위칭 모듈(220)은 수정된 플로우 테이블에 기초하여 패킷 스위칭을 수행한다(S113).
구제적으로, 스위칭 모듈(220)은 유입된 패킷이 만족하는 매칭 필드를 가진 플로우 엔트리를 찾고, 유입된 패킷에 대해 플로우 엔트리의 액션을 수행하며, 카운터를 증가시킬 수 있다. 이때, 액션은 유입된 패킷을 어떤 포트로 출력할지를 나타낼 수 있다.
다음은 도 7을 참고하여 본 발명의 실시 예에 따른 패킷 전송 경로 설정 방법을 설명한다.
도 7은 본 발명의 실시 예에 따른 패킷 전송 경로 설정 방법을 보여주는 흐름도이다.
제어 장치(100)는 소프트웨어 정의 네트워크(10)의 네트워크 정보를 수집한다(S300).
네트워크 정보는 네트워크 설정 정보, 네트워크 링크 정보, 네트워크 링크 동작 상태 정보, 네트워크 링크 사용량 정보, 네트워크 토폴로지 정보, 네트워크 플로우 정보 중 하나 이상을 포함한다.
제어 장치(100)는 포함된 네트워크 설정 모듈(103), 네트워크 정보 수집 모듈(108), 네트워크 설정 정보 저장소(106), 네트워크 링크 정보 수집 모듈(110), 네트워크 링크 동작 상태 수집 모듈(120), 네트워크 링크 사용량 수집 모듈(130), 네트워크 플로우 정보 수집 모듈(150)을 통해 네트워크 정보를 수집할 수 있다.
제어 장치(100)의 네트워크 설정 모듈(103)은 수집된 네트워크 정보를 기초로 소프트웨어 정의 네트워크(10)상에서 전송되는 플로우의 특성을 결정한다(S310).
네트워크 설정 모듈(103)은 수집된 네트워크 정보를 기초로 전송되는 플로우의 특성을 대역폭 우선, 안정성 우선, 지연시간 우선 중 하나의 특성으로 결정할 수 있다.
대역폭 우선은 네트워크에서 일정 시간 동안 보낼 수 있는 정보량을 의미하는 대역폭과 관련된 특성으로, 플로우의 전송량과 관련있다.
대역폭 우선에 해당하는 플로우의 일 예로는 대용량 데이터 전송에 따른 패킷 전송이 있다.
안정성 우선은 전송되는 패킷의 데이터 변경, 손실, 중복, 비순서적인 전송과 같은 전송 실패나 전송 오류와 관련된 특성으로, 플로우의 전송량과 플로우의 전송의 주기성과 관련 있다.
안정성 우선에 해당하는 플로우의 일 예로는 상태 체크용 연결에 따른 패킷 전송이 있다.
지연시간 우선은 패킷이 송신측 서버(300)에서 수신측 서버(300)까지 도달하는 데 걸린 시간과 관련된 특성으로, 플로우의 전송량과 플로우의 전송의 주기성과 관련 있다.
지연시간 우선에 해당하는 플로우의 일 예로는 송신측 서버(300)와 수신측 서버(300)가 서로 패킷을 주고 받는 대화형의 패킷 전송이 있다.
네트워크 설정 모듈(103)은 수집된 네트워크 정보를 기초로 전송되는 플로우의 특성을 결정할 수 있다.
일 실시 예로, 네트워크 설정 모듈(103)은 네트워크 정보에 포함된 플로우 정보를 통해 전송되는 플로우의 특성을 결정할 수 있다.
이를 도 8을 참고하여 설명한다.
도 8은 플로우의 특성 결정 방법을 보여주는 흐름도이다.
네트워크 설정 모듈(103)은 네트워크 플로우 정보 수집 모듈(150)로부터 플로우 정보를 수신한다(S311).
플로우 정보에는 플로우 테이블에 대한 정보가 포함될 수 있다.
플로우 테이블은 복수의 플로우 엔트리를 포함할 수 있다.
각 플로우 엔트리는 조건에 해당하는 매칭 필드, 액션, 카운터를 포함할 수 있다.
매칭 필드는 액션을 수행하기 위한 조건을 나타내고, 액션은 매칭 필드가 나타내는 조건이 만족되었을 때의 처리를 나타내고, 카운터는 얼마나 많은 액션이 수행되었는지를 나타낼 수 있다.
또한, 카운터로 표시하는 통계는 플로우 엔트리마다 송수신되는 트래픽의 양을 패킷의 수와 바이트 수로 나타낼 수 있다.
따라서 네트워크 설정 모듈(103)은 수신된 플로우 정보를 통해 각 플로우 엔트리의 매칭 필드, 액션, 카운터에 대한 정보를 파악할 수 있다.
네트워크 설정 모듈(103)은 플로우 정보를 기초로 전송되는 양 방향의 플로우의 전송량의 비율이 기준값 이상인지 판단한다(S312).
네트워크 설정 모듈(103)은 플로우 정보의 카운터 정보를 기초로 전송되는 플로우의 전송량을 계산할 수 있다.
네트워크 설정 모듈(103)은 일 방향의 플로우의 전송량과 다른 방향의 플로우의 전송량의 비율을 계산할 수 있다.
여기서 일 방향의 플로우와 다른 방향의 플로우란, 하나의 플로우와 하나의 플로우에 반대 방향인 플로우를 의미한다.
예를 들면 A라는 서버(300)와 B라는 서버(300)가 있고, A라는 서버(300)가 B라는 서버(300)에 패킷을 전송하는 플로우가 일 방향의 플로우이고 B라는 서버(300)가 A라는 서버(300)에 패킷을 전송하는 플로우가 다른 방향의 플로우이다.
네트워크 설정 모듈(103)은 계산된 일 방향과 다른 방향의 전송량의 비율이 기준값 이상인지 판단할 수 있다.
예를 들면 기준값이 1:10000 인 경우, 네트워크 설정 모듈(103)은 포트 A에서 포트 B 로 전송하는 플로우 엔트리와 포트 B에서 포트 A로 전송하는 플로우 엔트리에 대한 정보를 기초로 포트 A와 포트 B 간에 전송되는 플로우의 전송량과 이 에 따른 비율을 계산할 수 있고, 이를 통해 포트 A에서 포트 B로 전송되는 플로우의 전송량과 포트 B에서 포트 A로 전송되는 플로우의 전송량의 비율이 1:12000이라면, 네트워크 설정 모듈(103)은 포트 A와 포트 B 간의 플로우의 전송량의 비율이 기준값 이상인 것으로 판단할 수 있다.
여기서 서술된 전송량의 비율은 설명을 위한 예시로써, 사용자 또는 설계자의 선택에 따라 다양하게 설정될 수 있다.
네트워크 설정 모듈(103)은 비교된 양 방향에 대한 플로우의 전송량의 비율이 기준값 이상이면, 해당 플로우의 특성을 대역폭 우선으로 결정한다(S313).
네트워크 설정 모듈(103)은 패킷이 전송되는 두 포트 사이의 양 방향에 대한 각각의 플로우의 전송량을 비교하여, 두 포트 사이의 양 방향에 대한 플로우의 전송량의 비율이 기준값 이상이면 일방적 전송인 것으로 판단할 수 있다.
일방적 전송이란, 일 방향에 대한 플로우의 전송량이 다른 방향의 플로우의 전송량에 비해 많은 형태를 의미한다.
한편, 단계 S312에서 양 방향 플로우의 전송량의 비율이 기준값 미만이면 네트워크 설정 모듈(103)은 양 방향의 플로우의 전송량이 각각 기준값 이상인지 판단한다(S314).
네트워크 설정 모듈(103)은 플로우 정보의 카운터 정보를 기초로 전송되는 플로우의 전송량이 기준값 이상인지 판단할 수 있다.
네트워크 설정 모듈(103)은 일 방향의 플로우와 다른 방향의 플로우 중 하나 이상의 플로우의 전송량이 기준값 이상인지 판단할 수 있다.
예를 들어, 네트워크 설정 모듈(103)은 포트 A에서 포트 B 로 전송하는 플로우 엔트리와 포트 B에서 포트 A로 전송하는 플로우 엔트리에 대한 정보를 기초로 포트 A와 포트 B 간에 전송되는 플로우의 전송량을 계산할 수 있다. 그래서 네트워크 설정 모듈(103)은 계산된 각각의 방향에 대한 플로우의 전송량이 기준값 이상인지 판단할 수 있다.
네트워크 설정 모듈(103)은 판단된 플로우의 전송량이 기준값 이상이면, 해당 플로우의 특성을 지연시간 우선으로 결정한다(S315).
한편, 단계 S314에서 판단된 플로우의 전송량이 기준값 미만이면, 네트워크 설정 모듈(103)은 양 방향의 플로우의 전송의 주기성에 대한 값이 각각 기준값 이상인지 판단한다(S316).
네트워크 설정 모듈(103)은 양 방향의 플로우가 전송의 주기성을 갖는지 판단할 수 있다.
여기서 전송의 주기성이란 해당 플로우가 전송되는 방식이 주기적 특성을 갖는지를 의미한다.
예를 들어 네트워크 설정 모듈(103)은 양 방향의 플로우에 대한 각각의 전송의 주기성에 대한 값을 계산하고, 계산된 각각의 전송의 주기성에 대한 값들 중 하나 이상의 전송의 주기성에 대한 값이 기준값 이상인지 판단하여 해당 플로우가 전송되는 방식이 주기성을 갖는지 판단할 수 있다.
그리고 전송의 주기성에 대한 값이란, 해당 플로우의 일정 시간 동안의 최대 전송량과 평균 전송량의 비를 의미할 수 있다..
이를 수식으로 표현하면 다음 수식으로 나타낼 수 있다.
Figure 112014005704926-pat00001
네트워크 설정 모듈(103)은 수학식 1을 통해 해당 플로우가 패킷을 지속적으로 전송하는 플로우인지, 또는 패킷을 한번 전송하고 일정 시간 동안 패킷을 전송하지 않는 플로우인지 판단할 수 있다.
예를 들면, 네트워크 설정 모듈(103)은 포트 A에서 포트 B 로 전송하는 플로우 엔트리와 포트 B에서 포트 A로 전송하는 플로우 엔트리에 대한 정보를 기초로 포트 A와 포트 B 간에 전송되는 플로우의 전송의 주기성에 대한 값을 계산할 수 있다. 그리고 네트워크 설정 모듈(103)은 계산된 플로우의 전송의 주기성에 대한 값이 기준값 이상인지 판단할 수 있다.
일 실시예로 전송의 주기성에 대한 값의 기준값이 2일 때, 네트워크 설정 모듈(103)은 포트 A에서 포트 B로 전송하는 플로우의 일정 시간 동안의 최대 전송량이 80이고, 일정 시간 동안의 평균 전송량이 20이면 해당 플로우는 전송의 주기성에 대한 값이 4(=80/20) 이므로 기준값 이상인 것으로 판단할 수 있다. 이에 따라 네트워크 설정 모듈(103)은 해당 플로우가 주기성을 갖는 것으로 판단할 수 있다.
한편, 네트워크 설정 모듈(103)이 플로우의 전송의 주기성을 판단하는 방법은 사용자 또는 설계자의 선택에 따라 다양하게 설정될 수 있으며, 상술한 방식 및 수학식 이외에도 다양한 방식 및 수학식으로 구성될 수 있다.
네트워크 설정 모듈(103)은 판단된 어느 한 방향 또는 양 방향에 대한 플로우의 전송의 주기성에 대한 값이 기준값 미만이면, 해당 플로우의 특성을 지연시간 우선으로 결정한다(S315).
한편, 단계 S316에서 판단된 플로우의 전송의 주기성에 대한 값이 기준값 이상이면, 해당 플로우의 특성을 안정성 우선으로 결정한다(S317).
다시 도 7을 참고한다.
네트워크 설정 모듈(103)은 결정된 플로우의 특성을 기초로 패킷 전송 경로를 할당한다(S320).
네트워크 설정 모듈(103)은 플로우의 특성에 따른 최적의 패킷 전송 경로를 할당할 수 있다.
네트워크 설정 모듈(103)는 네트워크 정보와 플로우의 특성을 기초로 패킷 전송 경로를 계산할 수 있다.
네트워크 설정 모듈(103)은 플로우의 특성이 대역폭 우선이면, 플로우의 사용량이 적은 경로를 패킷 전송 경로로 할당할 수 있다.
또한 네트워크 설정 모듈(103)은 플로우의 특성이 대역폭 우선이면 여러 경로를 묶어서 대역폭 확장을 할 수 있다.
일 실시 예로, 네트워크 설정 모듈(103)은 네트워크 정보 중에서 네트워크 링크 정보, 네트워크 동작 상태 정보, 네트워크 사용량 정보를 기초로 대역폭이 넓고 사용량이 적은 네트워크 구성 요소를 검색할 수 있어서, 네트워크의 사용량이 적고 네트워크의 대역폭이 넓은 경로를 패킷 전송 경로로 생성할 수 있다.
또한 네트워크 설정 모듈(103)은 2개의 노드 사이의 연결이 복수의 링크로 구성된 경우에 구성된 링크의 개수를 기초로 패킷 전송 경로를 할당할 수 있다.
이에 따라 네트워크 설정 모듈(103)은 패킷 전송 경로를 할당할 때, 각각의 노드 사이의 연결이 하나의 링크로 구성된 경로보다 복수의 링크로 구성된 경로를 거치도록 할 수 있다.
한편, 네트워크 설정 모듈(103)은 플로우의 특성이 지연시간 우선이면, 패킷의 송신측 포트와 수신측 포트 간의 최단 거리인 경로를 패킷 전송 경로로 할당할 수 있다.
여기서 최단 거리란, 단순히 물리적인 네트워크 연결의 길이 뿐만 아니라, 해당 전송 경로가 거치는 네트워크 스위치(200)들의 개수가 가장 작은 것을 포함할 수 있다.
따라서 최단 거리는 송신측 서버(300)에서 수신측 서버(300)까지 패킷이 전달되는데 걸리는 시간인 패킷 전달 시간이 가장 짧은 거리를 의미할 수 있다.
일 실시 예로, 네트워크 설정 모듈(103)은 네트워크 정보 중에서 네트워크 링크 정보, 네트워크 토폴로지 정보를 기초로 전송 포트와 수신 포트까지 가장 짧은 거리로 연결 가능한 네트워크 구성 요소를 검색할 수 있어서, 전송 포트와 수신 포트 간의 최단 거리인 경로를 패킷 전송 경로로 할당할 수 있다.
이에 따라 네트워크 설정 모듈(103)은 송신측 서버(300)에서 수신측 서버(300)까지의 패킷 전송 경로로 네트워크 스위치(200)를 5개를 거치는 전송 경로보다 3개를 거치는 전송 경로를 패킷 전송 경로로 할당할 수 있다.
그리고 네트워크 설정 모듈(103)은 플로우의 특성이 안정성 우선이면, 전송되는 패킷이 오류, 손상되거나 유실되지 않고 전송될 수 있는 경로를 패킷 전송 경로로 할당할 수 있다.
따라서 네트워크 설정 모듈(103)은 플로우의 특성이 안정성 우선이면, 패킷 전송 오류율이 가장 낮은 경로를 패킷 전송 경로로 할당할 수 있다.
패킷 전송 오류율은 네트워크 상에서 패킷이 전송되는 경우에 전송되는 패킷이 오류, 손상, 유실 중 하나 이상이 발생할 수 있는 확률을 말하며, 개별 링크 오류율, 개별 스위치 오류율, 개별 플로우 오류율을 포함한다.
일 실시 예로, 네트워크 설정 모듈(103)은 네트워크 정보 중에서 네트워크 링크 동작 상태 정보, 네트워크 토폴로지 정보를 기초로 패킷 전송 오류율이 낮은 경로를 검색할 수 있어서, 전송되는 패킷이 오류, 손상되거나 유실되지 않는 경로를 패킷 전송 경로로 할당할 수 있다.
네트워크 설정 모듈(103)은 할당된 패킷 전송 경로를 반영하기 위해 네트워크 스위치(200)의 플로우 테이블을 수정한다(S330).
네트워크 설정 모듈(103)은 할당된 패킷 전송 경로를 규정하는 플로우 테이블 수정 요청 메시지를 해당 경로에 속하는 네트워크 스위치(200)에 전송한다.
여기서 복수의 네트워크 스위치(200)의 플로우 테이블 수정이 필요한 경우, 네트워크 설정 모듈(103)은 복수의 네트워크 스위치(200)에 플로우 테이블 수정 요청 메시지를 동시에 전송할 수 있다.
그리고 플로우 테이블 수정 요청 메시지를 수신한 네트워크 스위치(200)의 플로우 테이블 관리 모듈(240)은 플로우 테이블 수정 요청 메시지에 기초하여 자신의 플로우 테이블을 수정한다.
플로우 테이블이 성공적으로 수정되면, 네트워크 스위치(200)의 플로우 테이블 관리 모듈(240)은 플로우 테이블 수정 응답 메시지를 제어 장치(100)에 전송할 수 있다.
이후, 네트워크 스위치(200)의 스위칭 모듈(220)은 수정된 플로우 테이블에 기초하여 패킷 스위칭을 수행한다.
네트워크 설정 모듈(103)은 플로우 테이블 수정 후에 기 설정된 일정 시간이 경과하거나, 네트워크 스위치(200)로부터 이벤트를 수신하면 단계 S300으로 회귀하여 상술한 단계 S300 내지 S330의 패킷 전송 경로 설정 과정을 반복한다(S340).
이에 따라, 네트워크 설정 모듈(103)은 시간이 경과함에 따라 전송되는 플로우의 특성이 변경되는 경우에 플로우의 특성 변경에 대응하여 패킷 전송 경로를 다시 할당할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (13)

  1. 복수의 네트워크 스위치를 포함하는 소프트웨어 정의 네트워크를 관리하는 제어 장치의 패킷 전송 경로 설정 방법에 있어서,
    상기 소프트웨어 정의 네트워크의 네트워크 정보를 수집하는 단계;
    상기 수집한 네트워크 정보에 기초하여 상기 복수의 네트워크 스위치 중 하나 이상의 네트워크 스위치를 통과하는 패킷의 흐름인 플로우의 특성을 상기 플로우의 전송량에 대응하는 특성인 대역폭 우선, 상기 플로우의 전송 안정성에 대응하는 특성인 안정성 우선, 상기 플로우의 패킷 전송 소요 시간에 대응하는 특성인 지연시간 우선 중 하나로 판단하는 단계;
    상기 판단된 플로우의 특성에 적합한 전송 경로를 상기 플로우에 할당하는 단계; 및
    상기 판단된 플로우의 특성에 적합한 전송 경로를 상기 플로우에 할당한다는 것을 규정하는 플로우 테이블 수정 요청 메시지를 상기 플로우에 속하는 네트워크 스위치에 전송하는 단계를 포함하는
    패킷 전송 경로 설정 방법.
  2. 제1항에 있어서,
    상기 플로우의 특성을 판단하는 단계는
    상기 네트워크 정보에 포함된 플로우 정보를 기초로 상기 플로우의 특성을 판단하는 단계를 포함하는
    패킷 전송 경로 설정 방법.
  3. 제2항에 있어서,
    상기 플로우 정보를 기초로 상기 플로우의 특성을 판단하는 단계는
    상기 플로우의 한 방향의 전송량과 다른 방향의 전송량의 비율, 상기 플로우의 전송량, 상기 플로우의 전송의 주기성 중 하나 이상을 기초로 판단하는 단계를 포함하는
    패킷 전송 경로 설정 방법.
  4. 제3항에 있어서,
    상기 플로우의 한 방향의 전송량과 다른 방향의 전송량의 비율, 상기 플로우의 전송량, 상기 플로우의 전송의 주기성 중 하나 이상을 기초로 판단하는 단계는
    상기 전송량의 비율이 기준값 이상이면 상기 플로우의 특성을 상기 대역폭 우선으로 판단하는 단계를 포함하는
    패킷 전송 경로 설정 방법.
  5. 제4항에 있어서,
    상기 전송 경로를 상기 플로우에 할당하는 단계는
    복수의 경로 중에서 적어도 하나의 경로를 상기 복수의 경로의 패킷의 전송량에 기초하여 선택하고, 상기 선택된 경로를 상기 플로우의 특성이 상기 대역폭 우선인 플로우에 할당하는 단계를 포함하는
    패킷 전송 경로 설정 방법.
  6. 제3항에 있어서,
    상기 플로우의 한 방향의 전송량과 다른 방향의 전송량의 비율, 상기 플로우의 전송량, 상기 플로우의 전송의 주기성 중 하나 이상을 기초로 판단하는 단계는
    상기 전송량의 비율이 기준값 미만이고 상기 플로우의 전송량이 기준값 이상이면 상기 플로우의 특성을 상기 지연시간 우선으로 판단하는 단계를 포함하는
    패킷 전송 경로 설정 방법.
  7. 제3항에 있어서,
    상기 플로우의 한 방향의 전송량과 다른 방향의 전송량의 비율, 상기 플로우의 전송량, 상기 플로우의 전송의 주기성 중 하나 이상을 기초로 판단하는 단계는
    상기 전송량의 비율, 상기 플로우의 전송량, 상기 플로우의 전송의 주기성에 대한 값이 각각 기준값 미만이면 상기 플로우의 특성을 상기 지연시간 우선으로 판단하는 단계를 포함하는
    패킷 전송 경로 설정 방법.
  8. 제6항 및 제7항에 있어서,
    상기 전송 경로를 상기 플로우에 할당하는 단계는
    복수의 경로 중에서 적어도 하나의 경로를 상기 복수의 경로의 패킷 전달 시간에 기초하여 선택하고, 상기 선택된 경로를 상기 플로우의 특성이 상기 지연시간 우선인 플로우에 할당하는 단계를 포함하는
    패킷 전송 경로 설정 방법.
  9. 제3항에 있어서,
    상기 플로우의 한 방향의 전송량과 다른 방향의 전송량의 비율, 상기 플로우의 전송량, 상기 플로우의 전송의 주기성 중 하나 이상을 기초로 판단하는 단계는
    상기 전송량의 비율, 상기 플로우의 전송량이 각각 기준값 미만이고 상기 플로우의 전송의 주기성에 대한 값이 기준값 이상이면 상기 플로우의 특성을 상기 안정성 우선으로 판단하는 단계를 포함하는
    패킷 전송 경로 설정 방법.
  10. 제9항에 있어서
    상기 전송 경로를 상기 플로우에 할당하는 단계는
    복수의 경로 중에서 적어도 하나의 경로를 상기 복수의 경로의 패킷 전송 오류율에 기초하여 선택하고, 상기 선택된 경로를 상기 플로우의 특성이 상기 안정성 우선인 플로우에 할당하는 단계를 포함하는
    패킷 전송 경로 설정 방법.
  11. 복수의 네트워크 스위치를 포함하는 소프트웨어 정의 네트워크를 관리하는 제어 장치에 있어서,
    상기 소프트웨어 정의 네트워크의 네트워크 정보를 수집하는 네트워크 정보 수집 모듈; 및
    상기 수집한 네트워크 정보에 기초하여 상기 복수의 네트워크 스위치 중 하나 이상의 네트워크 스위치를 통과하는 패킷의 흐름인 플로우의 특성을 상기 플로우의 전송량에 대응하는 특성인 대역폭 우선, 상기 플로우의 전송 안정성에 대응하는 특성인 안정성 우선, 상기 플로우의 패킷 전송 소요 시간에 대응하는 특성인 지연시간 우선 중 하나로 판단하고, 상기 판단된 플로우의 특성에 적합한 전송 경로를 상기 플로우에 할당하고, 상기 판단된 플로우의 특성에 적합한 전송 경로를 상기 플로우에 할당한다는 것을 규정하는 플로우 테이블 수정 요청 메시지를 상기 플로우에 속하는 네트워크 스위치에 전송하는 네트워크 설정 모듈을 포함하는
    제어 장치.
  12. 제11항에 있어서,
    상기 네트워크 설정 모듈은
    상기 플로우의 특성을 상기 플로우의 한 방향의 전송량과 다른 방향의 전송량의 비율, 상기 플로우의 전송량, 상기 플로우의 전송의 주기성 중 하나 이상에 기초하여 판단하는
    제어 장치.
  13. 제11항에 있어서,
    상기 네트워크 설정 모듈은
    복수의 경로 중에서 적어도 하나의 경로를 상기 복수의 경로의 패킷의 전송량, 패킷 전달 시간, 패킷 전송 오류율 중 하나 이상에 기초하여 할당하는
    제어 장치.
KR20140006766A 2014-01-20 2014-01-20 소프트웨어 정의 네트워크에서 제어 장치 및 그 동작 방법 KR101491698B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20140006766A KR101491698B1 (ko) 2014-01-20 2014-01-20 소프트웨어 정의 네트워크에서 제어 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20140006766A KR101491698B1 (ko) 2014-01-20 2014-01-20 소프트웨어 정의 네트워크에서 제어 장치 및 그 동작 방법

Publications (1)

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

Family

ID=52591836

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140006766A KR101491698B1 (ko) 2014-01-20 2014-01-20 소프트웨어 정의 네트워크에서 제어 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR101491698B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180048232A (ko) * 2016-11-02 2018-05-10 경희대학교 산학협력단 소프트웨어 정의 네트워크에서 데이터 평면 애플리케이션을 활용하여 전송 경로를 설정하는 장치 및 방법
KR101894660B1 (ko) 2017-04-11 2018-09-05 한국과학기술원 소프트웨어 정의 네트워킹 환경에서의 컨트롤러 및 그 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011049019A1 (ja) * 2009-10-19 2011-04-28 日本電気株式会社 通信システム、フロー制御装置、フローテーブルの更新方法およびプログラム
JP2013198105A (ja) * 2012-03-22 2013-09-30 Nec Engineering Ltd 管理装置、通信システム、中継装置、通信方法、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011049019A1 (ja) * 2009-10-19 2011-04-28 日本電気株式会社 通信システム、フロー制御装置、フローテーブルの更新方法およびプログラム
JP2013198105A (ja) * 2012-03-22 2013-09-30 Nec Engineering Ltd 管理装置、通信システム、中継装置、通信方法、およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180048232A (ko) * 2016-11-02 2018-05-10 경희대학교 산학협력단 소프트웨어 정의 네트워크에서 데이터 평면 애플리케이션을 활용하여 전송 경로를 설정하는 장치 및 방법
KR101913745B1 (ko) 2016-11-02 2018-11-01 경희대학교 산학협력단 소프트웨어 정의 네트워크에서 데이터 평면 애플리케이션을 활용하여 전송 경로를 설정하는 장치 및 방법
KR101894660B1 (ko) 2017-04-11 2018-09-05 한국과학기술원 소프트웨어 정의 네트워킹 환경에서의 컨트롤러 및 그 동작 방법

Similar Documents

Publication Publication Date Title
US10673741B2 (en) Control device discovery in networks having separate control and forwarding devices
US10616074B2 (en) System, apparatus, procedure, and computer program product for planning and simulating an internet protocol network
US8611232B2 (en) Method of simple and efficient failure resilient load balancing
CN106471779B (zh) 一种虚拟网络的保护方法和装置
WO2010114517A1 (en) Dynamic load balancing of fibre channel traffic
JP5943431B2 (ja) ネットワーク、データ転送ノード、通信方法およびプログラム
CN106797319B (zh) 网络服务感知路由器及其应用
US10284449B2 (en) Determining feasibility of a network service using a ring analysis
CN108476175B (zh) 使用对偶变量的传送sdn流量工程方法与系统
US20160156558A1 (en) Data Center Network Flow Migration Method and System Thereof
US11784911B2 (en) Methods and apparatus for controlling and making link bundle advertisements to support routing decisions
WO2023109794A1 (en) Methods and systems for adaptive stochastic-based load balancing
US10284457B2 (en) System and method for virtual link trunking
KR101491698B1 (ko) 소프트웨어 정의 네트워크에서 제어 장치 및 그 동작 방법
KR20180122513A (ko) Sdn 기반 네트워크 가상화 플랫폼의 네트워크 하이퍼바이저에서 트래픽 엔지니어링 방법 및 프레임워크
CN110213170A (zh) 一种报文传输的方法及装置
CN116112423A (zh) 一种路径确定方法、装置及设备
KR101519517B1 (ko) 소프트웨어 정의 네트워크에서 제어 장치 및 그 동작 방법
Wu et al. Routing policy for balanced management of slices using flexible Ethernet
JP6527452B2 (ja) ネットワークシステム、ネットワーク管理方法および装置
Iqbal et al. VRPR: A New Data Center Protocol for Enhanced Network Performance, Resilience and Recovery
Saradhi et al. Distributed network control for establishing reliability-constrained least-cost lightpaths in WDM Mesh networks
Sivaselvan et al. Stochastic Divination of Reckoning Enactment on Multi Class Queuing System

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant