KR20200002439A - 소프트웨어 정의 네트워크 환경에서 기계 학습 기반의 경로 선택 장치 및 방법 - Google Patents
소프트웨어 정의 네트워크 환경에서 기계 학습 기반의 경로 선택 장치 및 방법 Download PDFInfo
- Publication number
- KR20200002439A KR20200002439A KR1020180075927A KR20180075927A KR20200002439A KR 20200002439 A KR20200002439 A KR 20200002439A KR 1020180075927 A KR1020180075927 A KR 1020180075927A KR 20180075927 A KR20180075927 A KR 20180075927A KR 20200002439 A KR20200002439 A KR 20200002439A
- Authority
- KR
- South Korea
- Prior art keywords
- switches
- traffic throughput
- port
- sdn
- path
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
SDN 제어기로부터 복수의 스위치들 각각에서 수집한 포트 정보와 플로우 정보를 포함하는 상태 정보들, 그리고 복수의 스위치들 각각의 포트별 트래픽 처리량을 수신하여, 상태 정보들이 입력되면 포트별 트래픽 처리량이 출력되도록 트래픽 처리량 예측 모델을 학습한다. 그리고 트래픽 처리량 예측 모델에 제1 단말에서 제2 단말로 패킷을 전송할 수 있는 복수의 경로들, 그리고 복수의 경로들에 위치한 복수의 스위치들의 현재 상태 정보를 입력하여 복수의 경로들 중 어느 하나의 경로를 선택한다.
Description
본 발명은 소프트웨어 정의 네트워크 환경에서 기계 학습 기반의 경로 선택 장치 및 방법에 관한 것이다.
소프트웨어 정의 네트워킹(SDN: Software Defined Networking)은 네트워크 장비를 구성하는 제어 평면(Control Plane)과 데이터 평면(Data Plane)을 서로 분리하여, 제어 평면이 네트워크에 대한 관리, 모니터링, 제어에 관련 전반적인 처리를 담당하도록 하는 중앙 집중식 구조의 네트워킹을 말한다. 여기서, 제어 평면을 'SDN 제어기'라고 칭하며, 오픈 플로우(OpenFlow), NetConf와 같이 표준화된 제어 평면 인터페이스를 통해 연결된 네트워크 장비들의 제어가 가능하다.
또한, SDN 제어기는 연결된 네트워크 장비로부터 일괄 취합된 추상화된 네트워크 자원 정보를 사용자에게 제공한다. 추상화된 네트워크 정보를 제공하는 SDN 제어기를 토대로, 네트워크 관리자는 기존의 네트워크보다 최적화된 성능의 유연한 네트워크를 운용할 수 있다.
예를 들어, 대량의 패킷이 SDN 스위치로 유입될 때 SDN 제어기는 이를 감지하고 부하 분산(Load balancing)을 수행한다. 또는, 악성코드가 포함된 패킷이 스위치를 통해 내부에 유입되는 경우에도, SDN 제어기는 이를 분석하여 악성코드가 포함된 패킷 유입을 사전에 차단할 수 있다.
또한, SDN 제어기는 네트워크 장비들의 연결 정보 자원을 활용해 토폴로지 맵(Topology Map)을 작성하여, 네트워크 관리자에게 빠른 장애 탐지, 효율적인 자원관리 및 정책 적용 등 네트워크 전체에 대한 높은 가시성을 제공한다. 이러한 SDN 제어기는 최초 네트워크에 설치될 때 데이터 패킷의 경로 설정 과정을 수행하고, 네트워크에 장애가 발생할 시 경로 재설정을 통한 복구 절차를 수행한다.
SDN 제어기의 경로 설정 과정과 경로 재설정을 통한 복구 절차를 수행하기 위해, SDN 제어기는 하위 네트워크 장비에서 전송되는 데이터 패킷을 수집하고, 수집한 데이터 패킷을 분석한 후 경로를 설정하게 된다. 이는, SDN 서비스 네트워크가 프로비저닝(provisioning) 되기 전에 미리 장애 발생이 낮은 경로를 설정하기 때문에, QoS 정책 적용 등 최적화된 네트워크의 설정이 어렵다는 문제점이 있다.
따라서, 본 발명은 기계 학습을 통해 데이터 패킷이 오픈플로우 기반 SDN 네트워크를 지날 때의 성능을 예측하여, 해당 패킷이 목적지까지 가기 위한 최적의 경로를 제공하는 경로 선택 장치 및 방법을 제공한다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 복수의 스위치들이 네트워크를 통해 연결되고 상기 복수의 스위치들에 연결되어 있는 제1 단말로부터 제2 단말로 패킷을 전송하기 위해, 경로 선택 장치가 상기 복수의 스위치들이 연결되어 있는 SDN(Software Defined Network) 제어기로 선택된 경로를 제공하는 방법으로서,
상기 SDN 제어기로부터 상기 복수의 스위치들 각각에서 수집한 포트 정보와 플로우 정보를 포함하는 상태 정보들, 그리고 상기 복수의 스위치들 각각의 포트별 트래픽 처리량을 수신하는 단계, 그리고 상기 상태 정보들이 입력되면 상기 포트별 트래픽 처리량이 출력되도록, 상태 정보와 포트별 트래픽 처리량의 관계를 나타내는 트래픽 처리량 예측 모델을 학습하는 단계를 포함한다.
상기 트래픽 처리량 예측 모델을 학습하는 단계는, 상기 상태 정보에 포함된 포트 정보와 플로우 정보를 필터링하여 학습 대상 데이터들로 생성하는 단계, 그리고 상기 생성한 학습 대상 데이터들과 상기 포트별 트래픽 처리량을 정규화하여 학습 데이터를 생성하는 단계를 포함할 수 있다.
상기 포트 정보는 복수의 스위치 각각의 스위치 전체 포트 수, 활성화된 포트 수, 포트별 전송 속도를 포함하고, 상기 플로우 정보는 플로우 테이블의 전체 엔트리 수, 현재 플로우 테이블에 등록된 엔트리 수, 포트별 패킷에 대한 매치 플로우 수, 그리고 스위치 메모리 사용량을 포함할 수 있다.
상기 트래픽 처리량 예측 모델을 학습하는 단계 이후에, 상기 제1 단말에서 제2 단말로 패킷을 전송할 수 있는 복수의 경로들, 그리고 상기 복수의 경로들에 위치한 복수의 스위치들의 현재 상태 정보를 상기 학습한 트래픽 처리량 예측 모델에 입력하여 복수의 경로들 중 어느 하나의 경로를 선택하는 단계를 포함할 수 있다.
상기 어느 하나의 경로를 선택하는 단계는, 상기 복수의 스위치들의 현재 스위치 상태 정보를 학습된 상기 트래픽 처리량 예측 모델에 입력하여 복수의 스위치들 각각의 트래픽 처리량을 예측하는 단계, 상기 예측한 트래픽 처리량을 토대로 상기 복수의 경로들 각각의 평균 트래픽 처리량을 계산하는 단계, 그리고 상기 복수의 경로들 중 상기 계산한 평균 트래픽 처리량이 가장 높은 경로를 선택하여, 상기 SDN 제어기로 제공하는 단계를 포함할 수 있다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 복수의 스위치들이 네트워크를 통해 연결되고 상기 복수의 스위치들에 연결되어 있는 제1 단말로부터 제2 단말로 패킷을 전송하기 위해, 경로 선택 장치가 상기 복수의 스위치들이 연결되어 있는 SDN(Software Defined Network) 제어기로 선택된 경로를 제공하는 방법으로서,
상기 제1 단말에서 제2 단말로 패킷을 전송할 수 있는 복수의 경로들, 그리고 상기 복수의 경로들에 위치한 복수의 스위치들의 현재 상태 정보를 수신하는 단계, 상기 복수의 스위치들의 현재 스위치 상태 정보를, 트래픽 처리량 예측 모델에 입력하여 복수의 스위치들 각각의 트래픽 처리량을 예측하는 단계, 상기 예측한 트래픽 처리량을 토대로 상기 복수의 경로들 각각의 평균 트래픽 처리량을 계산하는 단계, 그리고 상기 복수의 경로들 중 상기 계산한 평균 트래픽 처리량이 가장 높은 경로를 선택하여, 상기 SDN 제어기로 제공하는 단계를 포함하고, 상기 트래픽 처리량 예측 모델은 스위치들 각각의 포트 정보 및 플로우 정보를 포함하는 상태 정보와 상기 스위치들 각각의 포트별 트래픽 처리량의 관계로 학습되어 있다.
상기 현재 스위치 상태 정보는 상기 복수의 스위치들 각각의 포트 정보와 플로우 정보, 그리고 상기 복수의 경로들 각각의 링크 수를 포함하며, 상기 포트 정보는 복수의 스위치 각각의 스위치 전체 포트 수, 활성화된 포트 수, 포트별 전송 속도를 포함하고, 상기 플로우 정보는 플로우 테이블의 전체 엔트리 수, 현재 플로우 테이블에 등록된 엔트리 수, 포트별 패킷에 대한 매치 플로우 수, 그리고 스위치 메모리 사용량을 포함할 수 있다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 복수의 스위치들이 네트워크를 통해 연결되고 상기 복수의 스위치들에 연결되어 있는 제1 단말로부터 제2 단말로 패킷을 전송하기 위해, 상기 복수의 스위치들이 연결되어 있는 SDN(Software Defined Network) 제어기로 복수의 경로 중 선택된 경로를 제공하는 경로 선택 장치로서,
상기 복수의 스위치들 각각에서 수집한 데이터들과 상기 SDN 제어기가 계산한 상기 복수의 스위치들 각각의 포트별 트래픽 처리량을 수신하는 데이터 수집부, 상기 데이터 수집부가 수집한 데이터들과 상기 포트별 트래픽 처리량을 포함하여 학습 데이터를 생성하는 학습 데이터 생성부, 그리고상기 학습 데이터들을 상기 트래픽 처리량 예측 모델에 입 력하면 상기 포트별 트래픽 처리량이 출력되도록, 상기 상태 정보와 포트별 트래픽 처리량의 관계를 나타내는 트래픽 처리량 예측 모델을 학습하는 학습부를 포함하고, 상기 수집한 데이터들은 상기 복수의 스위치들 각각의 포트 정보들과 플로우 정보들을 포함한다.
상기 복수의 학습 데이터들 중 임의의 학습 데이터들을 이용하여 상기 학습된 트래픽 처리량 예측 모델을 검증하는 판단부를 포함할 수 있다.
데이터 수집부는, 상기 포트 정보와 플로우 정보에 각각 포함된 복수의 정보들을 토대로 스위치 포트 사용률, 포트별 전송 속도, 플로우 테이블 사용률, 포트별 패킷에 대한 매치 플로우 수, 스위치 메모리 사용량을 포함하는 학습 대상 데이터를 생성할 수 있다.
상기 데이터 수집부는, 상기 제1 단말에서부터 제2 단말로 전송될 패킷에 대한 복수의 전송 가능 경로들과 상기 복수의 전송 가능 경로들에 구성된 복수의 스위치들 각각에 대한 현재 스위치 상태 정보들을 상기 SDN 제어기로부터 수신할 수 있다.
상기 학습부는, 상기 데이터 수집부가 수집한 상기 현재 스위치 상태 정보들을 상기 학습된 트래픽 처리량 예측 모델에 입력하여, 상기 복수의 스위치들 각각의 트래픽 처리량을 예측할 수 있다.
상기 학습부는, 상기 복수의 스위치들 각각 예측한 트래픽 처리량을 기초로, 상기 복수의 전송 가능 경로들 각각의 평균 트래픽 처리량을 계산하고, 가장 높은 평균 트래픽 처리량으로 계산된 전송 경로를 최적 경로로 선택하여 상기 SDN 제어기에 전송할 수 있다.
본 발명에 따르면 기계학습 알고리즘의 학습 데이터를 활용하여, 실제 패킷이 목적지로 포워딩되기 전에 트래픽 처리량을 예측하고, 트래픽이 전송될 수 있는 복수의 경로들 중 가장 큰 트래픽 처리량이 예측된 경로를 최적의 경로를 설정하여, 네트워크 장애나 트래픽 부하로 인한 성능 저하를 실시간으로 파악할 수 있다.
또한, 도메인 네트워크 관리에 네트워크 관리자의 개입을 줄임으로써 관리자의 실수로 인한 네트워크 장애 발생율을 줄일 수 있으며, 네트워크 관리에 대한 유지비를 절감할 수 있다.
도 1은 일반적인 SDN 제어기가 연결된 네트워크의 예시도이다.
도 2a 내지 도 2d는 다양한 상황에서 일반적인 SDN 제어기의 경로 설정 과정을 나타낸 예시도이다.
도 3은 본 발명의 실시예에 따라 SDN 스위치가 트래픽 처리량을 측정하는 예시도이다.
도 4는 본 발명의 실시예에 따른 경로 선택 장치가 구비된 SDN 환경의 예시도이다.
도 5는 본 발명의 실시예에 따른 경로 선택 장치의 구조도이다.
도 6은 본 발명의 실시예에 따른 경로 설정을 위한 기계 학습 절차를 나타낸 흐름도이다.
도 7은 본 발명의 실시예에 따른 기계 학습이 완료된 후 SDN 환경에서 최적 경로를 선택하는 방법에 대한 흐름도이다.
도 8은 본 발명의 실시예에 따른 기반 데이터 수집 및 정리를 나타낸 예시도이다.
도 9는 본 발명의 실시예에 따른 학습 데이터 생성을 나타낸 예시도이다.
도 10은 본 발명의 실시예에 따른 트래픽 처리량 예측 모델 학습 수행에 대한 예시도이다.
도 11a 및 도 11b는 본 발명의 실시예에 따른 SDN 제어기의 최적 경로 선택 및 설정 절차에 대한 예시도이다.
도 2a 내지 도 2d는 다양한 상황에서 일반적인 SDN 제어기의 경로 설정 과정을 나타낸 예시도이다.
도 3은 본 발명의 실시예에 따라 SDN 스위치가 트래픽 처리량을 측정하는 예시도이다.
도 4는 본 발명의 실시예에 따른 경로 선택 장치가 구비된 SDN 환경의 예시도이다.
도 5는 본 발명의 실시예에 따른 경로 선택 장치의 구조도이다.
도 6은 본 발명의 실시예에 따른 경로 설정을 위한 기계 학습 절차를 나타낸 흐름도이다.
도 7은 본 발명의 실시예에 따른 기계 학습이 완료된 후 SDN 환경에서 최적 경로를 선택하는 방법에 대한 흐름도이다.
도 8은 본 발명의 실시예에 따른 기반 데이터 수집 및 정리를 나타낸 예시도이다.
도 9는 본 발명의 실시예에 따른 학습 데이터 생성을 나타낸 예시도이다.
도 10은 본 발명의 실시예에 따른 트래픽 처리량 예측 모델 학습 수행에 대한 예시도이다.
도 11a 및 도 11b는 본 발명의 실시예에 따른 SDN 제어기의 최적 경로 선택 및 설정 절차에 대한 예시도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 도면을 참조로 하여 본 발명의 실시예에 따른 소프트웨어 정의 네트워크 환경에서 기계 학습 기반의 경로 선택 장치 및 방법에 대해 상세히 설명한다.
본 발명의 실시예에 따른 경로 선택 장치 및 방법에 대해 설명하기 앞서, 일반적으로 SDN 제어기가 연결된 네트워크와 SDN 제어기의 경로 설정 과정에 대해 먼저 설명한다.
도 1은 일반적인 SDN 제어기가 연결된 네트워크의 예시도이다.
도 1에 도시된 바와 같이, SDN 제어기(10)는 링크를 생성하는 복수의 스위치(30-1∼30-n)들과 연결되어 있는 중앙 집중화 방식으로 구성된다. SDN 스위치(30-1∼30-n)는 연결할 SDN 제어기(10)의 IP 주소를 설정해 두고, 물리적으로 케이블이 연결되면 3-way handshake를 거쳐 TCP 연결을 확립한다.
복수의 SDN 스위치(30-1∼30-n)들과 SDN 제어기(10) 사이에 연결이 확립되면, SDN 제어기(10)는 연결된 SDN 스위치(30-1∼30-n)와 상태 요청/응답(Feature Request/Reply) 메시지를 교환하여, SDN 스위치(30-1∼30-n)가 지원하는 기능을 확인한다. 그리고, SDN 제어기(10)가 SDN 스위치(30-1∼30-n)로 필요한 설정 정보를 보내거나, SDN 스위치(30-1∼30-n)의 상태 정보를 수집한다.
여기서 송수신되는 메시지 중 SDN 스위치(30-1∼30-n)가 SDN 제어기(10)로 보내는 메시지를 패킷 인(Packet-In) 메시지라 정의하고, 패킷 인 메시지를 수신한 SDN 제어기(10)가 SDN 스위치(30-1∼30-n)로 보내는 응답 메시지는 패킷 아웃(Packet-Out) 메시지라 정의한다.
패킷 인 메시지의 경우, 각 SDN 스위치(30-1∼30-n)마다 패킷의 도착지를 SDN 제어기(10)로 지정하는 플로우 규칙(Flow Rule)을 등록하여 동작 가능하며, 이때 등록한 플로우 규칙을 패킷 인 규칙(Packet-In Rule)이라고 지칭한다. 패킷 인 메시지를 통해서 SDN 제어기(10)는 SDN 스위치(30-1∼30-n)로 유입되는 패킷의 정보를 수집하고, 해당 패킷의 목적지까지 최적 경로에 대한 계산 및 설정이 가능하다.
예를 들어, 4개의 SDN 스위치SDN 스위치(30-1∼30-4)가 상위 1개의 SDN 제어기(10)로 제어 및 관리되는 SDN 기반 환경에서, 두 개의 단말(20-1, 20-2)이 통신을 한다고 가정했을 때, SDN 제어기(10)에 의한 경로 설정 과정은 다음 도 2a 내지 도 2d에 도시된 바와 같다.
도 2a 내지 도 2d는 다양한 상황에서 일반적인 SDN 제어기의 경로 설정 과정을 나타낸 예시도이다.
도 2a에 도시된 바와 같이, 4개의 SDN 스위치(30-1∼30-4)가 하나의 SDN 제어기(10)에 연결되어 있다고 가정하자. 여기서 제1 단말(20-1)에서 제2 단말(20-2)로 데이터 패킷을 보낸다고 할 때, 해당 패킷을 받은 제1 SDN 스위치(30-1)는 제2 단말(20-2)이 어디에 있는지 모른다. 따라서 해당 패킷의 헤더 파일과 일부 페이로드(Payload) 부분을 패킷 인 메시지로 캡슐화하여 SDN 제어기(10)에 전달한다.
SDN 제어기(10)는 제1 SDN 스위치(30-1)로부터 전달받은 패킷 인 메시지에 포함된 패킷의 목적지 주소를 가지고, 해당 패킷이 목적지인 제2 단말(20-2)까지 갈 수 있는 모든 경로를 계산한다
도 2b에 도시된 바와 같이, SDN 제어기(10)는 계산된 경로 중에서 최적의 경로를 선택하고, 해당 경로상의 SDN 스위치(30-1∼30-4)에 플로우 모드(Flow Mod) 메시지를 보내어 플로우 규칙을 설정한다. 그리고 데이터 패킷은 해당 플로우 규칙을 통해 제2 단말(20-2)로 전달된다. 도 2b에서는 홉 카운트(Hop Count)가 가장 적은 경로를 최적 경로로 선택함을 보였으나 그 방법에 따라, 다익스트라 알고리즘(Dijkstra Algorism) 등 여러 가지 최단 경로 알고리즘 적용이 가능하다.
이상의 절차를 통해 SDN 제어기(10)는 연결되어 있는 모든 SDN 스위치(30-1∼30-4)의 정보를 수집하고, 플로우 규칙 설정을 통한 경로 제어가 가능하다. SDN 제어기(10)는 SDN 스위치(30-1∼30-4)들로부터 다음과 같은 정보를 수집한다.
- 제어기와 연결된 SDN 스위치의 DPID/IP/제어기와 연결된 시간 정보
- SDN 제어기와 연결된 총 SDN 스위치 수/연결 링크 수/단말장치 수
- SDN 스위치에 등록된 플로우/그룹(Flow/Group) 규칙 정보
- SDN 스위치에 등록된 플로우/그룹 규칙 별 ByteCount/전송속도/패킷 카운트 정보
- SDN 스위치에 등록된 플로우/그룹 테이블 엔트리 사이즈 정보
- SDN 스위치 포트별 상태(Enable/Disable 여부, 포트 전송속도, RX/TX 트래픽 처리량) 정보
이와 같이 수집되는 정보를 통해 SDN 제어기(10)는 SDN 스위치(30-1∼30-4)에 의해 형성된 네트워크 상태를 모니터링 한다. 이때 모니터링 되는 네트워크 상태 정보는 크게 네트워크의 장애와 네트워크 성능에 대한 정보로 나눌 수 있다.
특히, 모니터링 되는 네트워크 장애의 경우, SDN 스위치(30-1∼30-4)에 장애가 발생하여 패킷을 포워딩 하지 못하는 경우에 발생하는 네트워크 장애와, 패킷이 지나는 링크에서 장애가 발생하여 패킷이 다음 SDN 스위치로 전달되지 못하여 발생하는 장애로 구분할 수 있다. 이 두 가지 장애가 발생했을 때 SDN 제어기(10)를 통한 경로 재설정 과정은 도 2c 및 도 2d에 도시된 바와 같다.
도 2c에 도시된 바와 같이, 임의의 SDN 스위치에 장애가 발생한 경우에는, 이중화 되어 구성된 대기(Stand-by) 상태의 SDN 스위치를 활성화(Active)하여, 장애가 발생한 SDN 스위치를 대체하도록 하여 장애를 복구한다.
도 2c에 나타낸 상세 장애 탐지 및 복구 절차 과정에 대해 설명하면, 제1 단말(20-1)과 제2 단말(20-2)이 제1 SDN 스위치(30-1)→제2 SDN 스위치(30-2)→제3 SDN 스위치(30-3)를 거쳐 통신을 하도록, 각 SDN 스위치(30-1∼30-3)마다 플로우 규칙이 설정이 되어 있다.
제2 SDN 스위치(30-2)에 장애가 발생하면, SDN 제어기(10)는 스위치의 상태 정보(예를 들어, SDN 제어기와 스위치와의 연결 상태 등)를 수집하는 과정에서 제2 SDN 스위치(30-2)의 장애를 탐지한다. 따라서 SDN 제어기(10)는 이중화되어 구성된 대기(Stand-by) 상태의 제4 스위치(30-4)가 활성화(Active)되도록 제어한다.
그리고, SDN 제어기(10)는 제1 SDN 스위치(30-1), 제4 SDN 스위치(30-4), 제3 SDN 스위치(30-3)에 제1 SDN 스위치(30-1)→제4 SDN 스위치(30-4)→제3 SDN 스위치(30-3)를 거치는 경로를 계산하고, 플로우 규칙을 생성/등록한다.
또한, 도 2d에 도시된 바와 같이, 물리 링크의 장애가 발생한 경우에도 마찬가지로 장애가 발생한 링크가 아닌 다른 링크로 연결된 포트로 데이터 패킷이 우회하도록 SDN 제어기(10)가 SDN 스위치(30-1∼4)들의 플로우 규칙을 등록/수정/삭제 명령을 통해, 데이터 경로를 재설정하여 장애 복구가 가능하다.
이상에서 설명한 SDN 제어기(10)를 통해 모니터링 되는 네트워크 상태 정보인 네트워크 장애 감지와 네트워크 성능 모니터링 방법은 모두, 데이터 패킷이 SDN 네트워크를 지난 후에 발생되는 데이터를 먼저 수집하고 분석 처리하는 방식이다. 따라서, SDN 서비스망이 프로비저닝 되기 전에 미리 장애 발생이 낮은 최적화된 경로를 설정하거나, QoS 정책이 적용된 최적화된 네트워크를 미리 설정하기 어렵다.
이를 해결하기 위해, 본 발명의 실시예에서는 기계 학습을 도입하여 네트워크 관리자의 개입을 줄이고, 데이터 패킷이 SDN 기반 네트워크를 지날 때의 성능을 예측하여 해당 패킷이 목적지까지 가기 위한 최적의 경로를 미리 제공하는 경로 선택 장치 및 방법을 제안한다. 본 발명의 실시예에 대해 설명에 앞서, 패킷을 전송할 경로 선택을 위해 사용되거나 예측되는 정보 중, 포트가 활성화된 시간 동안 포트를 통해 지나간 데이터 패킷의 비트 수를 의미하는 트래픽 처리량에 대해 먼저 다음과 정의한다.
본 발명의 실시예에서는 트래픽 처리량을 SDN 스위치(30-1~30-4)들이 각각 계산한 입력 포트로 들어온 패킷을 출력 포트를 통해 다음 SDN 스위치 또는 목적지 단말(20-2)로 전송할 때, 포트 별로 전송되는 패킷의 사이즈와 지연 시간을 통해 계산된 처리량이라 정의한다. 트래픽 처리량에 대해 도 3을 참조로 먼저 설명한다.
도 3은 본 발명의 실시예에 따라 SDN 스위치가 트래픽 처리량을 측정하는 예시도이다.
도 3에 도시된 바와 같이, bytesReceived는 SDN 스위치의 특정 포트를 통해 수신된 패킷의 누적 패킷 사이즈를 의미한다. 그리고 durationSec은 SDN 스위치의 특정 포트가 활성화된 시간을 의미한다. 특정 포트에 대한 누적 사이즈와 활성화된 시간 정보는 SDN 제어기(100)에 의해 수집된다. SDN 제어기(100)는 수집한 포트별 누적 패킷 사이즈와 활성화된 시간 정보를 이용하여 트래픽 처리량을 계산한다.
예를 들어 도 3의 (a) 및 (b)에 도시된 바와 같이, 제1 단말(20-1)이 SDN 스위치(30-1)의 1번 포트와 연결되어 있고, 연결된 경로를 통해서 제1 단말(20-1)이 제1 SDN 스위치(30-1)로 패킷을 보낸다고 가정하자.
이때, 제1 SDN 스위치(30-1)의 1번 포트가 활성화 된지 1초가 되었을 때, 제1 단말(20-1)이 20 bytes의 데이터 패킷을 제1 SDN 스위치(30-1)에 보냈다면, 1번 포트가 활성화된 시간(durationSec)은 1, 1번 포트에 누적된 누적 패킷 사이즈(byteReceived)는 20이 된다.
1번 포트가 활성화 된지 5초가 경과되었을 때, 제1 단말(20-1)이 추가로 40 bytes의 패킷을 제1 SDN 스위치(30-1)에 보냈다면, 1번 포트가 활성화된 시간(durationSec)은 5, 1번 포트에 누적된 누적 패킷 사이즈(byteReceived)는 60(= 20+40)이 된다. 트래픽 처리량은 단위시간 동안 전송된 데이터 패킷의 크기 이므로, 5-1=4 초 동안 60-20=40bytes의 패킷이 제1 SDN 스위치(30-1)의 1번 포트를 통해 흐른 것이므로, 트래픽 처리량은 10 bytes/sec(=40 bytes/4sec)이 성립된다.
계산한 트래픽 처리량을 바이트 단위가 아니라 비트(bit) 단위로 변환해주면 80 bps가 된다. 제1 SDN 스위치(30-1) 입장에서는 제1 단말(20-1)로부터 패킷을 받은 경우이므로, 계산한 80 bps인 트래픽 처리량을 수신 트래픽 처리량(RX Throughput)으로 정의한다. 이를 정리하면 아래 수학식 1과 같다.
이와 반대로, 패킷이 제1 SDN 스위치(30-1)에서 제1 단말(20-1)로 이동하는 경우도, 제1 SDN 스위치(30-1)는 동일한 절차를 통해 트래픽 처리량을 계산할 수 있다. 이때의 트래픽 처리량을 송신 트래픽 처리량(TX Throughput)으로 정의하고, 다음 수학식 2로 정의할 수 있다.
이와 같은 성능 측정 방식도 결국 SDN 스위치 내부로 패킷이 포워딩 된 후의 패킷을 SDN 제어기가 수집하여 계산한 성능 정보이기 때문에, SDN 네트워크를 지나는 패킷에 최적화된 QoS 정책을 미리 네트워크 서비스 망에 적용하기는 힘든 한계가 존재한다.
따라서, 본 발명의 실시예에 따라 최적의 경로를 제공하기 위해, 경로 선택 장치(200)가 구비된 SDN 환경에 대해 도 4를 참조로 먼저 설명한다.
도 4는 본 발명의 실시예에 따른 경로 선택 장치가 구비된 SDN 환경의 예시도이다.
도 4에 도시된 바와 같이, 본 발명의 실시예에서는 설명의 편의를 위하여, 4개의 SDN 스위치(30-1∼30-4)들이 하나의 SDN 제어기(100)로부터 제어, 관리되는 것을 예로 하여 설명한다.
그리고 제1 SDN 스위치(30-1)에는 제1 단말(20-1)이 연결되어 있고, 제4 SDN 스위치(30-4)에는 제2 단말(20-2)이 연결되어 있어, 제1 단말(20-1)에서 제2 단말(20-2)로 패킷이 전송되는 네트워크 환경을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다. 여기서, 제1 단말(20-1), 제2 단말(20-2), 그리고 복수의 SDN 스위치들(30-1∼30-4)의 기능과 구조는 일반적인 단말 및 SDN 스위치와 동일하다고 가정한다.
SDN 제어기(100)는 기계 학습을 통해 경로를 학습하여 최적의 경로를 제공하는 경로 선택 장치(200)와 연동한다. 경로 선택 장치(200)는 기계 학습 알고리즘을 통해 패킷이 목적지까지 도착하기 위한 모든 경로 상의 트래픽 처리량을 예측한다.
그리고, 예측된 트래픽 처리량의 값이 가장 높게 측정된 경로를 해당 패킷의 최적 경로로 결정하여, SDN 제어기(100)를 통해 패킷 경로가 설정되도록 한다.
여기서, 경로 선택 장치(200)의 구조에 대해 도 5를 참조로 설명한다.
도 5는 본 발명의 실시예에 따른 경로 선택 장치의 구조도이다.
도 5에 도시된 바와 같이, 경로 선택 장치(200)는 데이터 수집부(210), 학습 데이터 생성부(220), 학습부(230), 그리고 판단부(240)를 포함한다.
데이터 수집부(210)는 SDN 제어기(100)로부터 전송되는 SDN 제어기(100)에 연결되어 있는 모든 SDN 스위치들(30-1∼30-4)의 상태 정보를 수신한다. 여기서 SDN 스위치들(30-1∼30-4)의 상태 정보에는 SDN 스위치들(30-1∼30-4) 각각의 식별 정보와, 각각의 SDN 스위치들(30-1∼30-4)의 성능 즉, 트래픽 처리량에 영향을 주는 데이터들과, 포트별 트래픽 처리량 정보를 포함한다.
본 발명의 실시예에서는, 상태 정보에 SDN 스위치(30-1~30-4) 각각에 대한 포트 정보와 플로우 정보를 포함한다. 여기서, 포트 정보는 SDN 스위치(30-1~30-4)에 각각 설정되어 있는 포트 수, 활성화된 포트 수, 포트별 전송 속도를 포함한다. 그리고, 플로우 정보는 SDN 스위치(30-1~30-4) 각각에 포함된 플로우 테이블에 대한 전체 엔트리 수, 현재 플로우 테이블에 등록된 엔트리 수, 포트별로 패킷에 매치된 플로우 수, 그리고 SDN 스위치들(30-1∼30-4) 각각의 메모리 사용량을 포함한다. 본 발명의 실시예에서는 포트 정보와 플로우 정보를 상기 정보들을 포함하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
데이터 수집부(210)는 수집한 SDN 스위치들(30-1∼30-4)의 상태 정보를 필터링하여 학습 대상 데이터로 생성한다. 여기서, 데이터 수집부(210)가 필터링한 학습 대상 데이터는, 스위치 포트 사용률, 포트별 전송 속도, 플로우 테이블 사용률, 포트별로 패킷에 매치된 플로우 수, 그리고 스위치 메모리 사용량을 포함한다. 여기서, 포트별 트래픽 처리량은 SDN 스위치들(30-1~30-4) 각각의 포트에 대하여 SDN 제어기(100)가 상기 수학식 1을 통해 계산한 수신 트래픽 처리량, 또는 수학식 2를 통해 계산한 송신 트래픽 처리량 중 어느 하나를 이용한다.
또한, 데이터 수집부(210)는 SDN 제어기(100)로부터 경로 선택 요청 정보를 수신한다. 여기서, 경로 선택 요청 정보는 제1 단말(20-1)에서 제2 단말(20-2)로 패킷을 전송하고자 할 경우, 제1 단말(20-1)에서 제2 단말(20-2)로 패킷을 전송할 수 있는 모든 전송 가능 경로, 그리고 모든 전송 가능 경로에 위치한 복수의 SDN 스위치(30-1~30-4)들 각각의 현 상태 정보와 경로상 링크 수를 포함한다. 현 상태 정보에도 전송 가능 경로에 위치한 복수의 SDN 스위치(30-1~30-4)들 각각의 포트 정보와 플로우 정보가 포함되어 있다.
학습 데이터 생성부(220)는 데이터 수집부(210)가 생성한 학습 대상 데이터를 이용하여 트래픽 처리량 예측 모델을 학습할 때, 연산 횟수를 줄이기 위해 데이터 정규화 과정을 거쳐 학습 데이터를 생성한다. 여기서, 트래픽 처리량 예측 모델은 SDN 스위치(30-1~30-4) 각각의 포트 정보와 플로우 정보를 포함하는 상태 정보로부터 SDN 제어기(100)가 계산한 SDN 스위치(30-1~30-4) 각각의 포트별 트래픽 처리량을 예측하는 모델을 의미한다.
또한, 학습 데이터 생성부(220)는 경로 선택 요청 정보에 포함된 복수의 SDN 스위치(30-1~30-4)들 각각의 현 상태 정보를 트래픽 처리량 예측 모델에 입력하기 위해 정규화한다.
학습부(230)는 학습 데이터 생성부(220)에서 생성한 학습 데이터를 이용하여, 복수의 경로들 중 트래픽 처리량을 토대로 최적 경로를 선택하기 위하여 트래픽 처리량 예측 모델을 학습한다. 본 발명의 실시예에서는 학습부(230)에 트래픽 처리량 예측 모델로써 서포트 벡터 머신(SVM: Support Vector Machine) 알고리즘이 탑재되어 있으며, 학습부(230)가 트래픽 처리량 예측 모델을 학습하는 것을 예로 하여 설명하나 회귀예측의 지도학습이 가능한 어떤 알고리즘으로 대체해도 무방하다.
학습부(230)는 학습 데이터에 포함되어 있는 포트 정보와 플로우 정보를 기초로, 포트별 트래픽 처리량이 계산되도록 트래픽 처리량 예측 모델을 학습한다. 이에 대해서는 이후 상세히 설명한다.
또한, 학습부(230)는 학습 데이터 생성부(220)가 정규화한 경로 선택 요청 정보를 학습된 트래픽 처리량 예측 모델에 입력하여, 복수의 경로들 각각에 대한 평균 트래픽 처리량을 예측한다. 그리고, 예측한 평균 트래픽 처리량 중 가장 큰 평균 트래픽 처리량을 나타내는 경로를 최적의 경로로 선택하여 SDN 제어기(100)로 전달한다.
판단부(240)는 학습부(230)에서 학습된 트래픽 처리량 예측 모델에 학습 데이터 중 일부의 학습 데이터를 입력하여, 트래픽 처리량 예측 모델이 제대로 학습되었는지 검증하기 위한 오차율을 계산한다. 그리고 계산한 오차율이 미리 설정한 수치 미만(예를 들어, 10% 미만)인 경우 학습을 종료하고, SDN 제어기(100)로 학습이 완료되었음을 알린다. 그러나 오차율이 미리 설정한 수치 이상인 경우, 학습부(230)로 재 학습을 수행할 것을 요청한다.
이상에서 설명한 경로 선택 장치(200)가 경로를 설정하기 위하여 학습하는 방법과, 학습한 학습 데이터를 이용하여 최적 경로를 설정하는 방법에 대해 도 6 및 도 7을 참조로 설명한다.
도 6은 본 발명의 실시예에 따른 경로 설정을 위한 기계 학습 절차를 나타낸 흐름도이다.
도 6에 도시된 바와 같이, 경로 선택 장치(200)는 SDN 제어기(100)를 통해서 하위 SDN 스위치(30-1∼30-4)들 각각에 대한 포트 정보와 플로우 정보를 포함하는 상태 정보와, SDN 제어기(100)가 계산한 SDN 스위치(30-1~30-4)의 포트별 트래픽 처리량을 수집한다(S100). 여기서, 포트 정보는 SDN 스위치(30-1~30-4)에 각각 설정되어 있는 포트 수, 활성화된 포트 수, 포트별 전송 속도를 포함한다. 그리고, 플로우 정보는 SDN 스위치(30-1~30-4) 각각에 포함된 플로우 테이블에 대한 전체 엔트리 수, 현재 플로우 테이블에 등록된 엔트리 수, 포트별로 패킷에 매치된 플로우 수, 그리고 SDN 스위치들(30-1∼30-4) 각각의 메모리 사용량을 포함한다.
경로 선택 장치(200)는 수집한 SDN 스위치들(30-1~30-4)의 상태 정보를 기반으로 상태 정보와 트래픽 처리량의 관계를 나타내는 트래픽 처리량 예측 모델을 학습할 학습 데이터를 생성하기 위하여, 상태 정보로부터 학습 대상 데이터를 생성한다. 즉, 상태 정보에 포함된 포트 정보와 플로우 정보 중 일부를 간소화하여 학습 대상 데이터로 생성한다.
학습 데이터 생성부(220)는 학습 대상 데이터들을 이용하여 학습부(230)에 탑재된 트래픽 처리량 예측 모델을 학습하기 위하여, 학습 대상 데이터를 정규화한 후 학습 데이터로 생성한다(S110). 여기서, 학습 데이터 생성부(220)는 학습 대상 데이터들에 포함되어 있는 정규화된 학습 대상 데이터를 입력값(X1~X5)으로 설정하고, S100 단계에서 수신하여 정규화된 포트별 트래픽 처리량을 출력값(Y)으로 설정한다.
학습부(230)는 학습 데이터 생성부(220)가 S110 단계에서 생성한 학습 데이터의 60%를 임의로 선택하여 제1 그룹의 학습 데이터들로 분류하고, 나머지 40%를 제2 그룹의 학습 데이터들로 분류한다. 그리고 임의 선택 후 분류된 제1 그룹의 학습 데이터들을 트래픽 처리량 예측 모델에 입력하여, 제1 그룹의 학습 데이터들에 포함된 입력값들과 출력값들이 관계를 갖도록 트래픽 처리량 예측 모델을 학습한다(S120). 본 발명의 실시예에서는 제1 그룹의 학습 데이터들과 제2 그룹의 학습 데이터들의 비율을 전체 학습 데이터의 60%와 40%인 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
S120 단계에서 제1 그룹의 학습 데이터들을 이용하여 트래픽 처리량 예측 모델을 학습한 후, 트래픽 처리량 예측 모델이 제대로 학습되었는지 검증 절차를 수행한다. 검증 절차를 위해, 판단부(240)는 나머지 40%에 해당하는 제2 그룹의 학습 데이터에 포함된 입력값(X1~X5)을 트래픽 처리량 예측 모델에 입력하여 출력값(Y)들이 계산되는지 확인하여 어느 정도의 오차를 나타내는지 계산한다(S130). 여기서, 판단부(240)는 다음 수학식 3을 이용하여 오차율을 계산한다.
여기서 Y는 학습되지 않은 40개의 학습 데이터의 트래픽 처리량이고, f(X1∼X5)는 X1∼X5 입력값을 경계 함수에 대입한 트래픽 처리량 예측값을 의미한다.
만약, 판단부(240)에서 오차율이 10% 미만인 것으로 확인하면, 학습부(230)에 탑재된 트래픽 처리량 예측 모델이 제대로 학습이 되었다고 판단하고, 학습 절차를 종료한다(S150). 하지만 10% 이상의 오차율이 발생하는 경우에는, 학습이 제대로 되지 않았다고 판단한다. 그리고 경로 선택 장치(200)는 S110 단계에서 학습 데이터 생성부(220)가 생성한 학습 데이터들 중 다시 60%를 임의 선택 후 제1 그룹으로 분류하여 학습을 수행한다.
한편, 상기의 절차를 통해 학습이 종료되면, 어떤 사이즈의 패킷이 들어오더라도 해당 패킷이 목적지까지 도착하는 모든 경로 별 예상 트래픽 처리량의 계산이 가능하다. 여기서, 각각의 단계에서 수행한 학습 대상 데이터를 생성하는 예, 학습 데이터를 생성하는 예, 트래픽 처리량 예측 모델을 학습하는 예에 대해 도 8 내지 도 10을 참조로 먼저 설명한다.
도 8은 본 발명의 실시예에 따른 기반 데이터 수집 및 정리를 나타낸 예시도이다.
SDN 네트워크 환경에서 제1 단말(20-1)과 제2 단말(20-2)이 패킷을 주고받는 동안, 패킷 송수신에 따라 발생하는 데이터는 SDN 스위치(30-1∼30-4)별로 각각 기록된다. 그리고 SDN 제어기(100)는 오픈 플로우(OpenFlow) 프로토콜을 통해 각각의 SDN 스위치(30-1∼30-4)에 기록된 스위치의 상태 정보들을 수집한다.
여기서 SDN 스위치들(30-1∼30-4)의 상태 정보는 SDN 스위치들(30-1∼30-4) 각각의 식별 정보와 포트 정보와 플로우 정보를 포함한다. 이때, 포트 정보는 각각의 SDN 스위치들(30-1∼30-4)의 전체 포트 수(total_port_size), 활성화된 포트 수(active_port_count), 포트별 전송 속도(port_speed)를 포함한다. 그리고 플로우 정보는, 플로우 테이블의 전체 엔트리 수(total_flow_size), 현재 플로우 테이블에 등록된 엔트리 수(active_flow_count), 포트별 패킷에 대한 매치 플로우 수(match_flow_count), SDN 스위치들(30-1∼30-4) 각각의 메모리 사용량(memory_usage)을 포함한다. 이와 함께, SDN 제어기(100)는 SDN 스위치(30-1~30-4)의 포트별 트래픽 처리량(throughput)을 계산한다.
수집된 상태 정보는 학습 데이터 생성에 활용되는데, 정보가 많으면 많을수록 학습 연산 과정과 시간이 길어진다. 이를 줄이기 위해, 도 8에 도시된 바와 같이 수집된 정보들을 간소화하여 학습 대상 데이터로 생성한다.
도 8에 도시된 바와 같이, 데이터 수집부(210)는 스위치 전체 포트 수와 활성화된 포트 수를 이용하여 수학식 4와 같이 스위치 포트 사용률(port_use_rate)을 계산한다. 그리고 데이터 수집부(210)는 플로우 테이블의 전체 엔트리 수와 현재 플로우 테이블에 등록된 엔트리 수를 이용하여 수학식 5와 같이 플로우 테이블 사용률(flow_use_rate)로 계산한다.
다음은 경로 선택 장치(200)의 학습 데이터 생성부(220)가 학습 대상 데이터들을 학습 데이터로 생성하는 예에 대해 도 9를 참조로 설명한다.
도 9는 본 발명의 실시예에 따른 학습 데이터 생성을 나타낸 예시도이다.
도 9의 (a)에 도시된 바와 같이, 데이터 수집부(210)가 수집한 포트별 트래픽 처리량을 출력값(Y)으로, 데이터 수집부(210)에서 간소화되어 생성된 학습 대상 데이터들을 입력값(X1∼X5)으로 정의한다.
여기서, 포트별 트래픽 처리량은 단위 시간 동안 지나는 데이터 비트 수로, 패킷이 지나는 링크의 성능 지표로 활용된다. 즉, 입력값으로 정의된 데이터들에 의해 도출되는 결과값에 해당되므로, 본 발명의 실시예에서는 학습 데이터의 출력 값으로 정의한다.
데이터 수집부(210)가 입력값과 출력값으로 데이터들을 정의하면, 도 9의 (b)에 도시된 바와 같이 학습 데이터 생성부(220)는 임의의 SDN 스위치의 모든 포트 별로 100개의 학습 데이터를 추출한다. 본 발명의 실시예에서는 제1 SDN 스위치(30-1)의 1번 포트에서 추출한 100개의 학습 데이터들을 예로 하여 나타내었다.
학습 데이터들을 추출하면, 도 9의 (c)에 나타낸 바와 같이 0에서부터 1 사이의 값으로 정규화한다. 이때, 학습 데이터들을 정규화할 때, 다음 표 1 정의된 정규화 방법에 따라 0에서부터 1사이의 값으로 정규화한다.
데이터 유형 | 내용 | 단위 | 정규화 방법 |
X1 | 포트 사용률 | % | X1/100 |
X2 | 포트별 전송 속도 | bps | X2/최대 포트 전송속도 |
X3 | 플로우 테이블 사용률 | % | X3/100 |
X4 | 포트별 매치 플로우 수 | EA | X4/최대 플로우 테이블 사이즈 |
X5 | 스위치 메모리 사용률 | % | X5/100 |
Y | 포트별 트래픽 처리량 | bps | Y/최대 트래픽 처리량 |
제1 SDN 스위치(30-1)의 모든 포트에 대한 학습 데이터의 정규화가 완료되면, 상기 절차를 반복하면서 도 9의 (d)에 나타낸 바와 같이 나머지 SDN 스위치들(30-2∼30-4)에 대한 정규화된 학습 데이터를 생성한다.
학습부(230)에서 학습 데이터를 이용하여 트래픽 처리량 예측 모델을 학습하는 예에 대해 도 10을 참조로 설명한다.
도 10은 본 발명의 실시예에 따른 트래픽 처리량 예측 모델 학습 수행에 대한 예시도이다.
도 10의 (a)에 도시된 바와 같이, 학습 데이터 생성부(220)에서 생성된 학습 데이터 중 제1 SDN 스위치(30-1)의 1번 포트부터 100개의 학습 데이터 중 60%에 해당하는 60개의 데이터를 임의 선택하여 학습부(230)에서 학습을 수행한다. 본 발명의 실시예에서는 100개 중 60개의 학습 데이터를 임의로 선택하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
60개의 학습 데이터에 대한 학습이 완료되면, 1번 포트로 유입되는 패킷에 대한 판별 경계가 도 10의 (b)에 나타낸 바와 같이 결정된다. 여기서 판별 경계는 학습 데이터에서 정의했던 입력 값 X(X1∼X5)에 대한 출력값 Y가 성립되기 위한 즉, f(X)=Y 가 성립되기 위한 함수 f(X)를 의미한다. 다시 말해, 정규화된 학습 대상 데이터들이 정규화된 트래픽 처리량으로 성립되기 위한 함수를 의미한다. 제1 SDN 스위치(30-1)의 1번 포트에 대한 트래픽 처리량 예측 모델 학습을 수행한 후, 학습부(230)는 모든 SDN 스위치(30-1~30-4)들의 모든 포트들에 대한 트래픽 처리량 예측 모델 학습도 수행한다.
이상의 절차를 통해 학습이 완료된 트래픽 처리량 예측 모델을 활용하여, SDN 환경에서 복수의 경로 중 최적의 경로를 선택하는 방법에 대해 도 7을 참조로 설명한다.
도 7은 본 발명의 실시예에 따른 기계 학습이 완료된 후 SDN 환경에서 최적 경로를 선택하는 방법에 대한 흐름도이다.
도 7에 도시된 바와 같이, 제1 단말(20-1)로부터 전송된 패킷이 목적지 단말인 제2 단말(20-2)로 가기 위하여 SDN에 유입되면, 임의의 SDN 스위치(30-1)는 SDN에서 해당 패킷을 처음으로 수신한다(S200). 패킷을 수신한 SDN 스위치(30-1)는 패킷의 헤더와 페이로드(Payload) 일부를 포함하여, SDN 제어기(100)에 패킷 인 메시지를 보낸다(S201).
SDN 제어기(100)는 해당 패킷 인 메시지에 포함된 정보를 토대로 제1 단말(20-1)에서 전송된 패킷의 목적지 주소를 알고, 패킷이 목적지인 제2 단말(20-2)로 전달되기 위한 모든 경로를 계산한다(S202). SDN 제어기(100)는 제1 단말(20-1)에서 제2 단말(20-2)로 패킷을 전송할 수 있는 가능한 모든 경로들과, 각각의 경로에 위치한 SDN 스위치(30-1∼30-4)들의 현재 상태 정보를 포함하는 경로 선택 요청 정보를 경로 선택 장치(200)로 전달한다(S203).
여기서, SDN 제어기(100)가 S202 단계에서 모든 가능 경로를 계산하는 방법이나, 경로상에 위치한 모든 SDN 스위치(30-1∼30-4)들의 현재 상태 정보를 수집하는 방법은 이미 알려진 사항으로, 본 발명의 실시예에서는 상세한 설명을 생략한다.
경로 선택 장치(200)의 데이터 수집부(210)는 S203 단계에서 수신한 경로 선택 요청 정보에 포함되어 있는 SDN 스위치(30-1~30-4)들의 현재 상태 정보를 추출하고(S204), 추출한 현재 상태 정보에서 SDN 스위치 성능에 영향을 주는 요소들로 데이터를 필터링하고 간소화한다. 필터링된 정보를 수신한 학습 데이터 생성부(220)는 수신한 필터링된 정보에서 입력값으로 선택된 데이터만 추출하여, 0에서 1사이의 값으로 정규화된 데이터를 생성한다. 여기서 필터링된 정보를 정규화하는 과정은 상기 도 6에서 설명한 바와 동일하다.
정규화된 데이터는 학습이 완료된 트래픽 처리량 예측 모델이 탑재된 학습부(230)로 전달된다. 학습부(230)는 수신한 정규화된 데이터를 이용하여 S200 단계에서 SDN 스위치(30-1)가 수신한 패킷을 처리하기 위해, SDN 스위치(30-1~30-4)의 포트별 트래픽 처리량을 예측한다. 그리고 학습부(230)는 예측한 모든 SDN 스위치(30-1~30-4)들의 트래픽 처리량을 이용하여, 패킷이 목적지까지 전송될 수 있는 모든 경로에 대한 평균 트래픽 처리량을 계산한다(S205).
학습부(230)는 단위 시간 동안 많은 트래픽을 처리할 수 있는 평균 트래픽 처리량이 높은 경우를 최적 경로로 선택하고(S206), 선택한 경로를 SDN 제어기(100)에 전달한다(S207). SDN 제어기(100)는 최종 결정된 최적 경로를 통해 패킷이 목적지까지 전달되도록 하기 위하여, 최적 경로 상에 위치한 SDN 스위치들로 플로우 모드 메시지(Flow Mod Message)를 전달하여 플로우 규칙을 설정한다(S208). 여기서, 플로우 모드 메시지를 전달하거나 플로우 규칙을 설정하는 방법은 이미 알려진 바로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.
이상의 절차를 통해 최적 경로를 선택하는 예에 대해 도 11a 및 도 11b를 참조로 설명한다.
도 11a 및 도 11b는 본 발명의 실시예에 따른 SDN 제어기의 최적 경로 선택 및 설정 절차에 대한 예시도이다.
먼저 도 11a에 도시된 바와 같이, 제1 단말(20-1)에서 제2 단말(20-2)로 패킷을 보내고자 할 때, 해당 패킷이 제일 처음 유입되는 제1 SDN 스위치(30-1)는 해당 패킷의 헤더 및 페이로드 일부를 포함한 패킷 인 메시지를 SDN 제어기(100)에 전달한다.
데이터 수집부(210)는 SDN 제어기(100)로부터 패킷이 목적지까지 갈 수 있는 모든 경로와, 모든 경로상에 위치한 모든 SDN 스위치(30-1∼30-4)들의 상태 정보를 수집하여 가능 경로 정보로 계산한다. 계산된 경로 정보는 SDN 스위치 성능에 영향을 주는 요소로 필터링 및 간소화 하여 학습 데이터 생성부에 전달한다. 본 발명의 실시예에서는 상태 정보에 포함된 여러 정보 중 필터링된 후 스위치 포트 사용률, 포트별 전송 속도, 플로우 테이블 사용률, 포트별 패킷에 대한 매치 플로우 수, 스위치 메모리 사용량 정보가 학습 대상 데이터로 설정된다.
학습 데이터 생성부(220)는 간소화 된 데이터에서 학습 데이터의 입력값(X1∼X5)에 해당되는 데이터를 생성한다. 본 발명의 실시예에서는 최적의 경로 선택 시 SDN 제어기(100)가 수집한 정보를 수신한 경로 선택 장치(200)의 데이터 수집부(210)와 학습 데이터 생성부(220)에서 데이터 정규화와 상태 정보를 필터링하는 것을 예로 하여 설명하나, 해당 모듈은 SDN 제어기(100) 내부에 위치하여 역할을 수행할 수도 있다. 즉, SDN 제어기(100)가 경로 선택 장치(200)와 동일한 조건으로 데이터를 간소화하고 정규화할 수 있는 기능을 추가하면, 경로 선택 장치(200)로 가능 경로 정보를 전달하지 않고 정규화된 데이터만을 전송할 수 있다.
학습 데이터 생성부(220)에서 학습 데이터의 입력값에 해당되는 데이터를 생성하면, 도 11b에 도시된 바와 같이, 입력값에 해당되는 데이터를 가지고, 학습이 완료된 트래픽 처리량 예측 모델이 적용되어 있는 학습부(230)에 입력하여, 패킷이 목적지까지 갈 수 있는 모든 경로에 대한 예상 트래픽 처리량을 계산한다. 그리고 계산된 예상 트래픽 처리량의 평균을 계산한다. 여기서 ①로 표시한 열이 제1 단말(20-1)에서 제2 단말(20-2)로 패킷을 전송할 수 있는 가능한 모든 경로들을 나타낸 것이다.
학습부(230)는 단위 시간 동안 많은 트래픽을 처리할 수 있는 평균 트래픽 처리량 값이 가장 높은 경로를 선택하여, SDN 제어기(100)에 전달한다. 도 11b에서는 평균 예상 트래픽 처리량이 가장 높은 두 번째 경로를 SDN 제어기(100)는 경로 선택 장치(200)로부터 수신한다. 이때, 학습부(230)가 평균 트래픽 처리량 값을 계산하는 과정에서, 각각의 SDN 스위치(30-1~30-4)별 예측된 트래픽 처리량과 경로상 링크 수를 이용하여 평균 트래픽 처리량을 계산한다.
SDN 제어기(100)는 해당 경로를 패킷을 전송하기 위한 최적의 경로라고 판단하고, 해당 경로상의 SDN 스위치 별로 플로우 모드 메시지를 전달하여 플로우 규칙을 설정한다. 도 11b에서는 제1 SDN 스위치(30-1) 제2 SDN 스위치(30-2) 제4 SDN 스위치(30-4)의 경로를 최적의 경로로 선택하였으므로, SDN 제어기(100)는 제1 SDN 스위치(30-1), 제2 SDN 스위치(30-2), 제4 SDN 스위치(30-4)로 플로우 모드 메시지를 전달한다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
Claims (15)
- 복수의 스위치들이 네트워크를 통해 연결되고 상기 복수의 스위치들에 연결되어 있는 제1 단말로부터 제2 단말로 패킷을 전송하기 위해, 경로 선택 장치가 상기 복수의 스위치들이 연결되어 있는 SDN(Software Defined Network) 제어기로 선택된 경로를 제공하는 방법으로서,
상기 SDN 제어기로부터 상기 복수의 스위치들 각각에서 수집한 포트 정보와 플로우 정보를 포함하는 상태 정보들, 그리고 상기 복수의 스위치들 각각의 포트별 트래픽 처리량을 수신하는 단계, 그리고
상기 상태 정보들이 입력되면 상기 포트별 트래픽 처리량이 출력되도록, 상태 정보와 포트별 트래픽 처리량의 관계를 나타내는 트래픽 처리량 예측 모델을 학습하는 단계
를 포함하는 경로 선택 방법. - 제1항에 있어서,
상기 트래픽 처리량 예측 모델을 학습하는 단계는,
상기 상태 정보에 포함된 포트 정보와 플로우 정보를 필터링하여 학습 대상 데이터들로 생성하는 단계, 그리고
상기 생성한 학습 대상 데이터들과 상기 포트별 트래픽 처리량을 정규화하여 학습 데이터를 생성하는 단계
를 포함하는 경로 선택 방법. - 제2항에 있어서,
상기 포트 정보는 복수의 스위치 각각의 스위치 전체 포트 수, 활성화된 포트 수, 포트별 전송 속도를 포함하고,
상기 플로우 정보는 플로우 테이블의 전체 엔트리 수, 현재 플로우 테이블에 등록된 엔트리 수, 포트별 패킷에 대한 매치 플로우 수, 그리고 스위치 메모리 사용량을 포함하는 경로 선택 방법. - 제3항에 있어서,
상기 학습 대상 데이터는,
상기 포트 정보에 포함된 전체 포트 수와 활성화된 포트 수를 이용하여 계산된 스위치 포트 사용률과, 상기 플로우 정보에 포함된 플로우 테이블의 전체 엔트리 수와 현재 플로우 테이블에 등록된 엔트리 수를 이용하여 계산된 플로우 테이블 사용률을 포함하는 경로 선택 방법. - 제4항에 있어서,
상기 포트별 트래픽 처리량은, 상기 SDN 제어기가 복수의 스위치들의 복수의 포트별로 누적된 패킷 누적 사이즈와 활성화 시간을 기초로 계산하는 경로 선택 방법. - 제1항에 있어서,
상기 트래픽 처리량 예측 모델을 학습하는 단계 이후에,
상기 제1 단말에서 제2 단말로 패킷을 전송할 수 있는 복수의 경로들, 그리고 상기 복수의 경로들에 위치한 복수의 스위치들의 현재 상태 정보를 상기 학습한 트래픽 처리량 예측 모델에 입력하여 복수의 경로들 중 어느 하나의 경로를 선택하는 단계
를 더 포함하는 경로 선택 방법. - 제6항에 있어서,
상기 어느 하나의 경로를 선택하는 단계는,
상기 복수의 스위치들의 현재 스위치 상태 정보를 학습된 상기 트래픽 처리량 예측 모델에 입력하여 복수의 스위치들 각각의 트래픽 처리량을 예측하는 단계,
상기 예측한 트래픽 처리량을 토대로 상기 복수의 경로들 각각의 평균 트래픽 처리량을 계산하는 단계, 그리고
상기 복수의 경로들 중 상기 계산한 평균 트래픽 처리량이 가장 높은 경로를 선택하여, 상기 SDN 제어기로 제공하는 단계
를 포함하는 경로 선택 방법. - 복수의 스위치들이 네트워크를 통해 연결되고 상기 복수의 스위치들에 연결되어 있는 제1 단말로부터 제2 단말로 패킷을 전송하기 위해, 경로 선택 장치가 상기 복수의 스위치들이 연결되어 있는 SDN(Software Defined Network) 제어기로 선택된 경로를 제공하는 방법으로서,
상기 제1 단말에서 제2 단말로 패킷을 전송할 수 있는 복수의 경로들, 그리고 상기 복수의 경로들에 위치한 복수의 스위치들의 현재 상태 정보를 수신하는 단계,
상기 복수의 스위치들의 현재 스위치 상태 정보를, 트래픽 처리량 예측 모델에 입력하여 복수의 스위치들 각각의 트래픽 처리량을 예측하는 단계,
상기 예측한 트래픽 처리량을 토대로 상기 복수의 경로들 각각의 평균 트래픽 처리량을 계산하는 단계, 그리고
상기 복수의 경로들 중 상기 계산한 평균 트래픽 처리량이 가장 높은 경로를 선택하여, 상기 SDN 제어기로 제공하는 단계
를 포함하고,
상기 트래픽 처리량 예측 모델은 스위치들 각각의 포트 정보 및 플로우 정보를 포함하는 상태 정보와 상기 스위치들 각각의 포트별 트래픽 처리량의 관계로 학습되어 있는 경로 선택 방법 - 제8항에 있어서,
상기 현재 스위치 상태 정보는 상기 복수의 스위치들 각각의 포트 정보와 플로우 정보, 그리고 상기 복수의 경로들 각각의 링크 수를 포함하며,
상기 포트 정보는 복수의 스위치 각각의 스위치 전체 포트 수, 활성화된 포트 수, 포트별 전송 속도를 포함하고,
상기 플로우 정보는 플로우 테이블의 전체 엔트리 수, 현재 플로우 테이블에 등록된 엔트리 수, 포트별 패킷에 대한 매치 플로우 수, 그리고 스위치 메모리 사용량을 포함하는 경로 선택 방법. - 복수의 스위치들이 네트워크를 통해 연결되고 상기 복수의 스위치들에 연결되어 있는 제1 단말로부터 제2 단말로 패킷을 전송하기 위해, 상기 복수의 스위치들이 연결되어 있는 SDN(Software Defined Network) 제어기로 복수의 경로 중 선택된 경로를 제공하는 경로 선택 장치로서,
상기 복수의 스위치들 각각에서 수집한 데이터들과 상기 SDN 제어기가 계산한 상기 복수의 스위치들 각각의 포트별 트래픽 처리량을 수신하는 데이터 수집부,
상기 데이터 수집부가 수집한 데이터들과 상기 포트별 트래픽 처리량을 포함하여 학습 데이터를 생성하는 학습 데이터 생성부, 그리고
상기 학습 데이터들을 상기 트래픽 처리량 예측 모델에 입력하면 상기 포트별 트래픽 처리량이 출력되도록, 상기 상태 정보와 포트별 트래픽 처리량의 관계를 나타내는 트래픽 처리량 예측 모델을 학습하는 학습부
를 포함하고,
상기 수집한 데이터들은 상기 복수의 스위치들 각각의 포트 정보들과 플로우 정보들을 포함하는 경로 선택 장치. - 제10항에 있어서,
상기 복수의 학습 데이터들 중 임의의 학습 데이터들을 이용하여 상기 학습된 트래픽 처리량 예측 모델을 검증하는 판단부
를 더 포함하는 경로 선택 장치. - 제10항에 있어서,
데이터 수집부는,
상기 포트 정보와 플로우 정보에 각각 포함된 복수의 정보들을 토대로 스위치 포트 사용률, 포트별 전송 속도, 플로우 테이블 사용률, 포트별 패킷에 대한 매치 플로우 수, 스위치 메모리 사용량을 포함하는 학습 대상 데이터를 생성하는 경로 선택 장치. - 제12항에 있어서,
상기 데이터 수집부는,
상기 제1 단말에서부터 제2 단말로 전송될 패킷에 대한 복수의 전송 가능 경로들과 상기 복수의 전송 가능 경로들에 구성된 복수의 스위치들 각각에 대한 현재 스위치 상태 정보들을 상기 SDN 제어기로부터 수신하는 경로 선택 장치. - 제13항에 있어서,
상기 학습부는,
상기 데이터 수집부가 수집한 상기 현재 스위치 상태 정보들을 상기 학습된 트래픽 처리량 예측 모델에 입력하여, 상기 복수의 스위치들 각각의 트래픽 처리량을 예측하는 경로 선택 장치. - 제14항에 있어서,
상기 학습부는,
상기 복수의 스위치들 각각 예측한 트래픽 처리량을 기초로, 상기 복수의 전송 가능 경로들 각각의 평균 트래픽 처리량을 계산하고,
가장 높은 평균 트래픽 처리량으로 계산된 전송 경로를 최적 경로로 선택하여 상기 SDN 제어기에 전송하는 경로 선택 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180075927A KR102544682B1 (ko) | 2018-06-29 | 2018-06-29 | 소프트웨어 정의 네트워크 환경에서 기계 학습 기반의 경로 선택 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180075927A KR102544682B1 (ko) | 2018-06-29 | 2018-06-29 | 소프트웨어 정의 네트워크 환경에서 기계 학습 기반의 경로 선택 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200002439A true KR20200002439A (ko) | 2020-01-08 |
KR102544682B1 KR102544682B1 (ko) | 2023-06-15 |
Family
ID=69154201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180075927A KR102544682B1 (ko) | 2018-06-29 | 2018-06-29 | 소프트웨어 정의 네트워크 환경에서 기계 학습 기반의 경로 선택 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102544682B1 (ko) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143264A (zh) * | 2021-11-17 | 2022-03-04 | 广西大学 | 一种SRv6网络下基于强化学习的流量调度方法 |
KR20220071058A (ko) | 2020-11-23 | 2022-05-31 | 서울대학교산학협력단 | 네트워크 처리량 예측 장치 및 방법 |
CN115379469A (zh) * | 2022-08-12 | 2022-11-22 | 江苏省电力试验研究院有限公司 | 一种基于机器学习的多接入异构网络mptcp子流调度方法 |
KR102539896B1 (ko) * | 2022-04-15 | 2023-06-05 | (주)와치텍 | 네트워크 트래픽 간 상호흐름에 기반한 트래픽 분석 및 시각화 시스템 |
KR20230090200A (ko) | 2021-12-14 | 2023-06-21 | 순천대학교 산학협력단 | 심층강화학습 기반 라우팅 방법 및 장치 |
CN116306770A (zh) * | 2023-02-17 | 2023-06-23 | 西安电子科技大学广州研究院 | 一种基于密母神经架构搜索的软件定义网络性能预测方法 |
US12113713B2 (en) | 2022-11-18 | 2024-10-08 | Korea University Research And Business Foundation | Control channel isolation with time-series control traffic prediction in programmable network virtualization |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150013978A (ko) * | 2013-07-24 | 2015-02-06 | 주식회사 케이티 | 모바일 네트워크에서의 sdn 기반 트래픽 데이터 제어 방법 및 장치 |
KR101541531B1 (ko) * | 2015-02-25 | 2015-08-03 | 성균관대학교산학협력단 | 소프트웨어 정의 네트워크 환경에서 사용 가능한 대역폭 패턴 기반 라우팅 기법 |
-
2018
- 2018-06-29 KR KR1020180075927A patent/KR102544682B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150013978A (ko) * | 2013-07-24 | 2015-02-06 | 주식회사 케이티 | 모바일 네트워크에서의 sdn 기반 트래픽 데이터 제어 방법 및 장치 |
KR101541531B1 (ko) * | 2015-02-25 | 2015-08-03 | 성균관대학교산학협력단 | 소프트웨어 정의 네트워크 환경에서 사용 가능한 대역폭 패턴 기반 라우팅 기법 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220071058A (ko) | 2020-11-23 | 2022-05-31 | 서울대학교산학협력단 | 네트워크 처리량 예측 장치 및 방법 |
CN114143264A (zh) * | 2021-11-17 | 2022-03-04 | 广西大学 | 一种SRv6网络下基于强化学习的流量调度方法 |
CN114143264B (zh) * | 2021-11-17 | 2023-08-01 | 广西大学 | 一种SRv6网络下基于强化学习的流量调度方法 |
KR20230090200A (ko) | 2021-12-14 | 2023-06-21 | 순천대학교 산학협력단 | 심층강화학습 기반 라우팅 방법 및 장치 |
KR102539896B1 (ko) * | 2022-04-15 | 2023-06-05 | (주)와치텍 | 네트워크 트래픽 간 상호흐름에 기반한 트래픽 분석 및 시각화 시스템 |
CN115379469A (zh) * | 2022-08-12 | 2022-11-22 | 江苏省电力试验研究院有限公司 | 一种基于机器学习的多接入异构网络mptcp子流调度方法 |
CN115379469B (zh) * | 2022-08-12 | 2023-11-28 | 江苏省电力试验研究院有限公司 | 一种基于机器学习的多接入异构网络mptcp子流调度方法 |
US12113713B2 (en) | 2022-11-18 | 2024-10-08 | Korea University Research And Business Foundation | Control channel isolation with time-series control traffic prediction in programmable network virtualization |
CN116306770A (zh) * | 2023-02-17 | 2023-06-23 | 西安电子科技大学广州研究院 | 一种基于密母神经架构搜索的软件定义网络性能预测方法 |
CN116306770B (zh) * | 2023-02-17 | 2023-11-14 | 西安电子科技大学广州研究院 | 一种基于密母神经架构搜索的软件定义网络性能预测方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102544682B1 (ko) | 2023-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102544682B1 (ko) | 소프트웨어 정의 네트워크 환경에서 기계 학습 기반의 경로 선택 장치 및 방법 | |
US10516476B2 (en) | Systems and methods for managing multilayer communication networks | |
KR101089832B1 (ko) | 네트워크 자율 관리 시스템 | |
Liu et al. | Traffic engineering with forward fault correction | |
CN111541560B (zh) | Ip网络中的部分软件定义网络交换机替换的方法和设备 | |
US10623278B2 (en) | Reactive mechanism for in-situ operation, administration, and maintenance traffic | |
CN104104718A (zh) | 一种基于软件定义网络的用户自主路由定制系统和方法 | |
EP2613480A1 (en) | Communication quality monitoring system, communication quality monitoring method, and storage medium | |
CN101471759A (zh) | 提高业务数据传输质量的方法和业务数据传输装置 | |
Al Mtawa et al. | Migrating from legacy to software defined networks: A network reliability perspective | |
CN104158739A (zh) | 一种ip流量工程管理方法以及装置 | |
CN | A proactive flow admission and re-routing scheme for load balancing and mitigation of congestion propagation in SDN data plane | |
Lin et al. | OpenE2EQoS: Meter-based method for end-to-end QoS of multimedia services over SDN | |
Hernandez et al. | Comparative performance analysis between software-defined networks and conventional IP Networks | |
KR101610031B1 (ko) | 소프트웨어 정의 네트워크에서 컨트롤러를 내장하는 오픈플로우 스위치의 제어방법 및 장치 | |
Botta et al. | Towards a Highly-Available SD-WAN: Rapid Failover based on BFD Protocol | |
EP2030379B1 (en) | Efficient restoration of connections in communication networks having an ip-based control plane | |
Wang et al. | Centralized Network Management in SDN-based Communication Network of substation | |
KR20130068449A (ko) | 경로 계산 기반의 경로 제어 방법 및 그 장치 | |
Zhang et al. | A Low-overhead and Real-time Service Recovery Mechanism for Data Center Networks with SDN | |
Kamamura et al. | Fast repairing from large-scale failure using hierarchical SDN controllers | |
Choudhury et al. | A new reliability measure for computer networks | |
CN118118441A (zh) | 一种支持确定性控制的电力通信网络系统及调度方法 | |
CN116366246A (zh) | 基于网间对接实现的量子密钥分发网络及其网间对接方法 | |
Ratul et al. | Traffic Engineering with Forward Fault Correction |
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 |