KR101984478B1 - Sdn 기반의 동적 네트워크 트래픽 분석을 통한 데이터 전송 경로 결정 방법 및 장치 - Google Patents
Sdn 기반의 동적 네트워크 트래픽 분석을 통한 데이터 전송 경로 결정 방법 및 장치 Download PDFInfo
- Publication number
- KR101984478B1 KR101984478B1 KR1020180163815A KR20180163815A KR101984478B1 KR 101984478 B1 KR101984478 B1 KR 101984478B1 KR 1020180163815 A KR1020180163815 A KR 1020180163815A KR 20180163815 A KR20180163815 A KR 20180163815A KR 101984478 B1 KR101984478 B1 KR 101984478B1
- Authority
- KR
- South Korea
- Prior art keywords
- network
- paths
- path
- internal
- candidate
- 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/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- 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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/12—Network monitoring probes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
SDN 기반의 동적 네트워크 트래픽 분석을 통한 데이터 전송 경로 결정 방법 및 장치가 제공된다.
본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법은, SDN(Software Defined Networking) 기반의 내부 네트워크 제어 방법에 있어서, 상기 내부 네트워크에서 복수개의 경로를 생성하는 단계, 오픈플로우(OpenFlow) 프로토콜을 이용하여 상기 내부 네트워크에 포함된 하나 이상의 SDN 스위치로부터 상기 복수개의 경로 각각의 트래픽을 동적으로 계산하는 단계, 외부 IP망으로부터 데이터 요청을 수신하는 단계, 상기 내부 네트워크에서 상기 요청된 데이터가 저장되어 있는 위치를 검색하는 단계, 상기 복수개의 경로 중 상기 저장되어 있는 위치와 연결되는 하나 이상의 경로를 로드하는 단계, 상기 계산된 트래픽을 이용하여 상기 로드된 하나 이상의 경로로부터 하나 이상의 후보 경로를 선택하는 단계, 상기 하나 이상의 후보 경로 중 어느 하나의 경로를 데이터 전송 경로로 결정하는 단계 및 상기 결정된 데이터 전송 경로가 상기 외부 IP망과 연결되는 게이트웨이를 상기 외부 IP망과의 통신을 위한 IP 게이트웨이로 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법은, SDN(Software Defined Networking) 기반의 내부 네트워크 제어 방법에 있어서, 상기 내부 네트워크에서 복수개의 경로를 생성하는 단계, 오픈플로우(OpenFlow) 프로토콜을 이용하여 상기 내부 네트워크에 포함된 하나 이상의 SDN 스위치로부터 상기 복수개의 경로 각각의 트래픽을 동적으로 계산하는 단계, 외부 IP망으로부터 데이터 요청을 수신하는 단계, 상기 내부 네트워크에서 상기 요청된 데이터가 저장되어 있는 위치를 검색하는 단계, 상기 복수개의 경로 중 상기 저장되어 있는 위치와 연결되는 하나 이상의 경로를 로드하는 단계, 상기 계산된 트래픽을 이용하여 상기 로드된 하나 이상의 경로로부터 하나 이상의 후보 경로를 선택하는 단계, 상기 하나 이상의 후보 경로 중 어느 하나의 경로를 데이터 전송 경로로 결정하는 단계 및 상기 결정된 데이터 전송 경로가 상기 외부 IP망과 연결되는 게이트웨이를 상기 외부 IP망과의 통신을 위한 IP 게이트웨이로 결정하는 단계를 포함할 수 있다.
Description
본 발명은 SDN 기반의 동적 네트워크 트래픽 분석을 통한 데이터 전송 경로 결정 방법 및 장치에 관한 것이다. 보다 자세하게는, SDN 기반의 네트워크에서 데이터 전송 경로를 결정함에 있어서, SDN 기반의 동적 네트워크 트래픽 분석을 통해 최적의 전송 경로를 결정하는 방법 및 장치에 관한 것이다.
SDN(Software Defined Networking) 기술은 기존 네트워크 장비에서 컨트롤 플레인(control plane)과 데이터 플레인(data plane)을 분리하고, 컨트롤 플레인을 소프트웨어 형태로 만들어 중앙 집중화된 네트워크 아키텍처를 구현하는 네트워크 기술을 의미한다. SDN에서 컨트롤 플레인은 네트워크에 어떠한 데이터가 어디로 이동할지 알려주는 역할을 하고, 데이터 플레인은 컨트롤 플레인의 제어에 따라 실제로 데이터를 지정된 목적지로 전송하는 역할을 한다. SDN 네트워크를 구성하는 네트워크 장치는 오픈플로우(OpenFlow)와 같은 산업 표준 제어 프로토콜을 사용하고 SDN 컨트롤러를 통해 프로그래밍할 수 있는 스위치이며, SDN 기술을 사용하면 SDN 네트워크를 구성하는 모든 네트워크 장비에 대하여 하나의 SDN 컨트롤러를 통한 일관적인 제어가 가능하므로 네트워크 관리가 용이해지고, 네트워크 효율이 증대되는 장점이 있다. 또한 네트워크 장비 제조사의 하드웨어 설계에 종속되지 않는 독립적인 네트워크 관리가 가능해지고, 네트워크 관리자의 관점에서 네트워크 트래픽의 정밀한 분석이 가능해진다. 다만 SDN 기술이 구현된 네트워크와 SDN 기술이 구현되지 않은 네트워크가 연결되어 있을 경우, SDN 기술을 이용하여 전체적인 네트워크 트래픽을 분석하기 어려운 문제가 있다.
본 발명은 SDN 기술이 구현된 내부 네트워크와 SDN 기술이 구현되지 않은 외부 IP망이 연결되어 있을 경우, 내부 네트워크에서 SDN 기술을 이용하여 내부 네트워크 내에서의 최적의 경로를 결정한 후 최적의 경로로 데이터를 전송함으로써, SDN을 이용할 수 있는 범위 내에서 최대한의 데이터 전송 성능을 발휘하도록 하는 데이터 전송 경로 결정 방법 및 장치에 관한 것이다.
본 발명이 해결하고자 하는 기술적 과제는, SDN 기술이 구현된 네트워크에서 최적의 데이터 전송 경로를 결정하는 방법 및 장치에 관한 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, SDN 기술이 구현된 내부 네트워크와 SDN 기술이 구현되지 않은 외부 IP망이 연결되어 있을 경우, 내부 네트워크에서 SDN 기술을 이용하여 최적의 데이터 전송 경로를 결정한 후, 해당 데이터 전송 경로로 외부 IP망으로 데이터를 전송하는 방법 및 장치에 관한 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, SDN 기술이 구현된 내부 네트워크와 SDN 기술이 구현되지 않은 외부 IP망이 연결되어 있을 경우, 내부 네트워크에서 SDN 기술을 이용하여 최적의 게이트웨이를 결정한 후, 해당 게이트웨이로 외부 IP망으로 데이터를 전송하는 방법 및 장치에 관한 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들이 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 네트워크 제어 방법은, SDN(Software Defined Networking) 기반의 내부 네트워크 제어 방법에 있어서, 상기 내부 네트워크에서 복수개의 경로를 생성하는 단계, 오픈플로우(OpenFlow) 프로토콜을 이용하여 상기 내부 네트워크에 포함된 하나 이상의 SDN 스위치로부터 상기 복수개의 경로 각각의 트래픽을 동적으로 계산하는 단계, 외부 IP망으로부터 데이터 요청을 수신하는 단계, 상기 내부 네트워크에서 상기 요청된 데이터가 저장되어 있는 위치를 검색하는 단계, 상기 복수개의 경로 중 상기 저장되어 있는 위치와 연결되는 하나 이상의 경로를 로드하는 단계, 상기 계산된 트래픽을 이용하여 상기 로드된 하나 이상의 경로로부터 하나 이상의 후보 경로를 선택하는 단계, 상기 하나 이상의 후보 경로 중 어느 하나의 경로를 데이터 전송 경로로 결정하는 단계 및 상기 결정된 데이터 전송 경로가 상기 외부 IP망과 연결되는 게이트웨이를 상기 외부 IP망과의 통신을 위한 IP 게이트웨이로 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 복수개의 경로를 생성하는 단계는, 상기 외부 IP망과 연결된 하나 이상의 게이트웨이와 상기 하나 이상의 SDN 스위치 노드를 선택하는 단계 및 상기 하나 이상의 게이트웨이 및 상기 하나 이상의 SDN 스위치 노드를 연결하여 복수개의 경로를 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 복수개의 경로를 생성하는 단계는, 상기 내부 네트워크의 토폴로지 정보를 이용하여 상기 복수개의 경로를 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 하나 이상의 경로를 로드하는 단계는, 상기 내부 네트워크의 토폴로지로부터 상기 저장되어 있는 위치와 연결된 하나 이상의 경로를 선택하는 단계를 포함할 수 있다.
일 실시예에서, 상기 하나 이상의 후보 경로를 선택하는 단계는, 상기 로드된 하나 이상의 경로 중 트래픽이 일정 수준 이하인 하나 이상의 경로를 후보 경로로서 선택하는 단계를 포함할 수 있다.
일 실시예에서, 상기 데이터 전송 경로로 결정하는 단계는, 상기 하나 이상의 후보 경로 각각을 통하여 proving을 시도하여 지연시간, 지터 및 홉카운트를 포함하는 트래픽 상태 정보를 측정하는 단계 및 상기 트래픽 상태 정보를 이용하여 상기 하나 이상의 후보 경로 각각의 지연시간 평가값을 계산하는 단계를 포함할 수 있다.
일 실시예에서, 상기 proving을 시도하는 단계는, 하나 이상의 ping을 보내는 단계를 포함할 수 있다.
일 실시예에서, 상기 proving을 시도하는 단계는, 상기 하나 이상의 후보 경로 각각을 통하여 상기 외부 IP망의 종단 호스트로 proving을 시도하는 단계를 포함할 수 있다.
일 실시예에서, 상기 proving을 시도하는 단계는, 상기 하나 이상의 후보 경로 각각을 통하여 상기 외부 IP망의 종단 호스트로 하나 이상의 ping을 보내는 단계를 포함할 수 있다.
일 실시예에서, 상기 데이터 전송 경로로 결정하는 단계는, 상기 하나 이상의 후보 경로 각각의 지연시간 평가값을 계산하는 단계 및 상기 지연시간 평가값이 최소인 후보 경로를 상기 데이터 전송 경로로 결정하는 단계를 포함하되, 상기 하나 이상의 후보 경로에 포함되는 제1 후보 경로의 지연시간 평가점수를 계산하는 단계는, 상기 하나 이상의 후보 경로 각각의 지연시간 중 최대 지연시간 대비 상기 제1 후보 경로의 지연시간이 작을수록 상기 제1 후보 경로의 지연시간 평가값을 작게 계산하는 단계를 포함할 수 있다.
일 실시예에서, 상기 데이터 전송 경로로 결정하는 단계는, 상기 하나 이상의 후보 경로 각각의 지연시간 평가값을 계산하는 단계 및 상기 지연시간 평가값이 최소인 후보 경로를 상기 데이터 전송 경로로 결정하는 단계를 포함하되, 상기 하나 이상의 후보 경로에 포함되는 제1 후보 경로의 지연시간 평가점수를 계산하는 단계는, 상기 하나 이상의 후보 경로 각각의 지터 중 최대 지터 대비 상기 제1 후보 경로의 지터가 작을수록 상기 제1 후보 경로의 지연시간 평가값을 작게 계산하는 단계를 포함할 수 있다.
일 실시예에서, 상기 데이터 전송 경로로 결정하는 단계는, 상기 하나 이상의 후보 경로 각각의 지연시간 평가값을 계산하는 단계 및 상기 지연시간 평가값이 최소인 후보 경로를 상기 데이터 전송 경로로 결정하는 단계를 포함하되, 상기 하나 이상의 후보 경로에 포함되는 제1 후보 경로의 지연시간 평가점수를 계산하는 단계는, 상기 하나 이상의 후보 경로 각각의 홉카운트 중 최대 홉카운트 대비 상기 제1 후보 경로의 홉카운트가 작을수록 상기 제1 후보 경로의 지연시간 평가값을 작게 계산하는 단계를 포함할 수 있다.
일 실시예에서, 상기 IP 게이트웨이로 결정하는 단계 다음에, 상기 요청된 데이터를 상기 결정된 데이터 전송 경로 및 상기 결정된 게이트웨이를 통해 전송하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 전송하는 단계는, 상기 내부 네트워크의 하나 이상의 SDN 스위치에 대하여, 상기 결정된 데이터 전송 경로와 연관된 플로우 규칙을 생성하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 네트워크 제어 장치는, 하나 이상의 프로세서, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, SDN(Software Defined Networking) 기반의 내부 네트워크에서 복수개의 경로를 생성하는 인스트럭션, 오픈플로우(OpenFlow) 프로토콜을 이용하여 상기 내부 네트워크에 포함된 하나 이상의 SDN 스위치로부터 상기 복수개의 경로 각각의 트래픽을 동적으로 계산하는 인스트럭션, 외부 IP망으로부터 데이터 요청을 수신하는 인스트럭션, 상기 내부 네트워크에서 상기 요청된 데이터가 저장되어 있는 위치를 검색하는 인스트럭션, 상기 복수개의 경로 중 상기 저장되어 있는 위치와 연결되는 하나 이상의 경로를 로드하는 인스트럭션, 상기 계산된 트래픽을 이용하여 상기 로드된 하나 이상의 경로로부터 하나 이상의 후보 경로를 선택하는 인스트럭션, 상기 하나 이상의 후보 경로 중 어느 하나의 경로를 데이터 전송 경로로 결정하는 인스트럭션 및 상기 결정된 데이터 전송 경로가 상기 외부 IP망과 연결되는 게이트웨이를 상기 외부 IP망과의 통신을 위한 IP 게이트웨이로 결정하는 인스트럭션을 포함할 수 있다.
본 발명의 일 실시예에 의하면, SDN 기술이 구현된 네트워크에서 최적의 데이터 전송 경로를 결정할 수 있다.
본 발명의 다른 실시예에 의하면, SDN 기술이 구현된 내부 네트워크와 SDN 기술이 구현되지 않은 외부 IP망이 연결되어 있을 경우, 내부 네트워크에서 SDN 기술을 이용하여 최적의 데이터 전송 경로를 결정한 후, 해당 데이터 전송 경로로 외부 IP망으로 데이터를 전송할 수 있다.
본 발명의 또 다른 실시예에 의하면, SDN 기술이 구현된 내부 네트워크와 SDN 기술이 구현되지 않은 외부 IP망이 연결되어 있을 경우, 내부 네트워크에서 SDN 기술을 이용하여 최적의 게이트웨이를 결정한 후, 해당 게이트웨이로 외부 IP망으로 데이터를 전송할 수 있다.
본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들이 본 발명의 기술분야에서 발휘될 수 있을 것이다.
도 1은 일반적인 SDN 네트워크 시스템의 구조를 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 내부 네트워크를 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 내부 네트워크 및 그와 연결된 외부 IP망을 예시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 내부 네트워크에서 특정 데이터가 저장된 위치와 연결되는 네트워크 토폴로지를 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 내부 네트워크에서 특정 데이터가 저장된 위치와 연결될 수 있는 후보 경로를 예시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법을 예시한 순서도이다.
도 7은 본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법에서, 지연시간 평가값을 계산하는 방법을 예시한 순서도이다.
도 8은 본 발명의 일 실시예에 따른 네트워크 제어 장치를 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 내부 네트워크를 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 내부 네트워크 및 그와 연결된 외부 IP망을 예시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 내부 네트워크에서 특정 데이터가 저장된 위치와 연결되는 네트워크 토폴로지를 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 내부 네트워크에서 특정 데이터가 저장된 위치와 연결될 수 있는 후보 경로를 예시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법을 예시한 순서도이다.
도 7은 본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법에서, 지연시간 평가값을 계산하는 방법을 예시한 순서도이다.
도 8은 본 발명의 일 실시예에 따른 네트워크 제어 장치를 예시한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
본 명세서에서 사용되는 '포함한다(comprises)' 또는 '포함하는(comprising)' 이라는 표현은 언급된 구성/단계/동작 외의 다른 구성/단계/동작의 존재 또는 추가를 배제하지 않는다.
이하, 도면들을 참조하여 본 발명의 실시예들을 설명한다.
도 1은 일반적인 SDN 네트워크 시스템의 구조를 예시한 도면이다.
도 1에 나타난 것과 같이, SDN 네트워크 시스템은 SDN 컨트롤러(110), 복수개의 SDN 스위치(121, 122, 123) 및 복수개의 네트워크 장치(131, 132, 133)를 포함할 수 있다.
SDN은 기존 네트워크 장비에서 컨트롤 플레인(control plane)과 데이터 플레인(data plane)을 분리하고, 컨트롤 플레인을 소프트웨어 형태로 만들어 중앙 집중화된 네트워크 아키텍처를 구현한다. SDN 컨트롤러(110)는 컨트롤 플레인(control plane)을 담당하는 중앙 집중화된 제어부일 수 있다. 복수개의 SDN 스위치(121, 122, 123) 및 복수개의 네트워크 장치(131, 132, 133)는 데이터 플레인(data plane)을 담당하는 네트워크 장비일 수 있다.
SDN 컨트롤러(110)는 SDN 시스템을 제어하는 일종의 지휘 컴퓨터로서, 다양하고 복잡한 기능들, 예를 들어, 라우팅, 정책 선언 및 보안 체크 등을 할 수 있다. SDN 컨트롤러(110)는 하위 계층의 복수개의 SDN 스위치(121, 122, 123)에서 발생하는 패킷의 플로우를 정의할 수 있으며, 네트워크 정책상 허용되는 플로우에 대해 네트워크 토폴로지 등을 참조하여 플로우가 경유할 경로(데이터 경로)를 계산한 후, 경로상의 스위치에 상기 플로우의 엔트리가 설정되도록 할 수 있다. SDN 컨트롤러(110)는 특정 프로토콜, 예를 들어, 오픈플로우 프로토콜을 이용하여 SDN 스위치(121, 122, 123)와 통신할 수 있다. 이 때 SDN 컨트롤러(110)와 SDN 스위치(121, 122, 123) 사이의 통신 채널은 보안을 위하여 암호화될 수 있다.
네트워크 장치(131, 132, 133)는 SDN 스위치(121, 122, 123)에 의해 제어된다. 네트워크 장치(131, 132, 133)는 데이터나 정보를 주고 받는 단말 장치, 예컨대 데이터를 송수신하는 통신기기 또는 라우터일 수 있다. 네트워크 장치(131, 132, 133)는 네트워크 상의 여러가지 기능을 수행하는 네트워크 기능(network function)으로 지칭될 수도 있다. 네트워크 기능은 NFV(Network Function Virtualiztion) 등을 이용하여 가상화될 수 있다. NFV는 네트워크 기능을 추상화하여 표준화된 컴퓨팅 노드에서 실행되는 소프트웨어를 통해 네트워크 기능을 설치, 제어 및 조작하도록 지원한다.
도 2는 본 발명의 일 실시예에 따른 내부 네트워크를 예시한 도면이다.
도 2에 나타난 것과 같이, 본 발명의 일 실시예에 따른 내부 네트워크는 복수개의 노드(210, 220, 230, 240, 250, 260)를 포함할 수 있다. 각 노드에는 하나 이상의 호스트가 연결되어 있으며, 이 때 호스트는 서버일 수 있다. 서버는 네트워크에 연결이 확립된 장치 중 다른 장치(클라이언트)로부터의 연결을 허락하는 컴퓨터이다.
본 발명의 일 실시예에 따른 내부 네트워크의 일례로 KISTI(Korea Institute of Science and Technology Information: 한국과학기술정보연구원)의 KREONET(Korea Research Environment Open Network: 국가과학기술연구망) 네트워크가 있다. KREONET은 1988년부터 가동을 시작하여 산업체와 연구소 등에 있는 약 200여 개 연구기관을 대상으로 고성능 네트워크 인프라를 지원하고 있다. KREONET 네트워크에서 각 연구기관을 노드(210, 220, 230, 240, 250, 260)로 볼 수 있고, 각 노드에는 하나 이상의 서버가 연결되어 있을 수 있다.
본 발명의 일 실시예에서, 내부 네트워크는 하나의 연구기관 또는 하나의 회사 단위의 작은 규모일 수도 있고, KREONET과 같이 전국적으로 분포된 거대한 규모일 수도 있다.
본 발명의 일 실시예에서, 내부 네트워크가 하나의 연구기관 또는 하나의 회사 내부의 네트워크인 경우는 네트워크를 구성하는 노드가 1개인 경우로 볼 수 있다. 한편, 본 발명의 일 실시예에서, 내부 네트워크가 여러 개의 연구기관 또는 공간적으로 떨어져 있는 여러 건물 사이의 네트워크인 경우는 네트워크를 구성하는 노드가 2개 이상인 경우로 볼 수 있다.
본 명세서에서는 설명의 편의상, 공간적으로 떨어져 있는 여러 개의 연구기관이 연결되어 있는, 노드가 2개 이상인 KREONET과 같은 형태의 내부 네트워크를 전제로 설명한다. 다만, 본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법 및 장치가 하나의 연구기관 또는 하나의 회사 내부의 네트워크에도 적용될 수 있음은 물론이다.
정리하면, 본 발명의 일 실시예에 따른 내부 네트워크는 공간적으로 특정 건물 내에 있는지 건물 외부에 있는지에 따라 구분하기보다, 외부인에게 공개되어 있는지 여부를 기준으로 판단하는 것이 바람직하다. 즉, 외부인에게 공개되어 있지 않고, SDN이 설치되어 네트워크 트래픽의 통합 모니터링 및 제어가 가능한 네트워크라면, 본 발명의 일 실시예에 따른 내부 네트워크로 볼 수 있다.
도 3은 본 발명의 일 실시예에 따른 내부 네트워크 및 그와 연결된 외부 IP망을 예시한 도면이다.
도 3에 나타난 것과 같이, 본 발명의 일 실시예에 따른 내부 네트워크는, 게이트웨이를 통해 외부 IP망, 예컨대 인터넷망과 연결될 수 있다.
게이트웨이(gateway)란 어느 네트워크에서 다른 네트워크로 이동하기 위해 반드시 거쳐야 하는 거점을 의미한다. 두 개의 서로 다른 네트워크가 서로 연결되려면 동일한 통신 프로토콜(protocol)을 사용해야 하며, 두 네트워크의 프로토콜이 서로 다른 경우에는 중간에서 프로토콜을 변환하여야 하는데, 게이트웨이가 변환기 역할을 수행한다.
게이트웨이는 일반적으로 하드웨어 형태로 제공되며, 내부적으로는 복잡한 원리로 작동하지만 외형은 흔히 보는 네트워크 허브나 스위치 등과 비슷하다. 게이트웨이는 라우터(router)와 동일한 개념으로 이해할 수도 있다. 라우터는 네트워크 장비의 일종으로 패킷(packet, 네트워크 전송 데이터의 최소 단위)을 다른 네트워크로 보내주고(forward) 역할을 최적의 네트워크 경로를 찾아주는 역할을 수행한다. 라우터도 이기종 네트워크를 연결한다는 부분에서 게이트웨이와 상통한다.
일례로 인터넷 유무선 공유기도 게이트웨이의 일종으로 볼 수 있다. 사용자가 속해 있는 로컬 네트워크의 통신 프로토콜(ex> 이더넷, ATM, FDDI, NetBIOS 등)과 인터넷의 통신 프로토콜(ex> http)이 다르기 때문에, 공유기가 게이트웨이의 역할을 수행하여 사용자 컴퓨터의 네트워크와 인터넷을 연결하여 사용자가 웹 사이트에 접근할 수 있도록 해 준다.
로컬 네트워크 내부에서는 IP 주소와 서브넷마스크(subnet mask)만 있어도 주변 컴퓨터와의 통신이 가능하다. 하지만 인터넷 등의 이기종 네트워크로 나가기 위해서는 게이트웨이가 있어야 하고, IP 주소, 서브넷 마스크와 함께 게이트웨이 주소까지 정확하게 설정해야 통신이 가능해진다.
게이트웨이는 필요에 따라 여러 개를 설정하여 사용할 수 있다. 예를 들어 인터넷 망과 사내 망을 분리한 회사의 경우, 보안 상의 목적으로 인터넷 접근용 게이트웨이와 사내 네트워크 접근용 게이트웨이를 따로 설정하여 사용할 수 있다. 이 경우 기본 게이트웨이를 인터넷 망용 게이트웨이로 설정하는 것이 일반적이다. 사용자가 사내 네트워크에 접근하려는 경우, 사용자 컴퓨터에 저장된 경로 테이블(routing table)을 참고하여 사내 네트워크용 게이트웨이를 거쳐 접근하게 된다. 그 외에는 모두 기본 게이트웨이인 인터넷 망용 게이트웨이를 타고 나간다.
도 3에 나타난 것과 같이, 본 발명의 일 실시예에 따른 내부 네트워크는, 하나 이상의 게이트웨이(311, 312, 313, 314...)를 통해 외부 IP망, 예컨대 인터넷망과 연결될 수 있다.
내부 네트워크는 모바일 엣지 컴퓨팅(MEC: Mobile Edge Computing) 기술을 이용할 수 있다. 모바일 엣지 컴퓨팅 기술을 기반으로 한 지연 민감형 서비스 제공 기술은, 분산 배치되어 있는 다수의 서버 중에서 가장 인접한 서버를 통하여 서비스를 제공함으로써 서비스 지연시간을 최소화시킨다. 다만 MEC 기술은 액세스 정책 정보에 기반한 정적인 트래픽 경로에 따라 서비스가 제공되기 때문에, 부하가 큰 트래픽 경로를 통해 서비스가 제공될 가능성이 있다.
본 발명의 일 실시예에 따른 네트워크는, 내부 네트워크에서 SDN 도메인을 구축하고, 해당 도메인 내에서 서비스 특징에 따라 적절한 서비스 품질을 보장하기 위하여 SDN을 이용하여 내부 트래픽을 동적으로 처리할 수 있다. SDN을 통해 제어되는 내부 네트워크 안에 데이터 소스, 예컨대 서버 또는 데이터베이스를 두고, 내부 네트워크의 환경 및 트래픽 정보를 기반으로 동적으로 트래픽 전송 경로를 제어함으로써, 지연 민감형 서비스를 제공할 수 있다.
도 4는 본 발명의 일 실시예에 따른 내부 네트워크에서 특정 데이터가 저장된 위치와 연결되는 네트워크 토폴로지를 예시한 도면이다.
본 명세서에서는 설명의 편의상 내부 네트워크를 공간적으로 떨어져 있는 여러 개의 연구기관이 연결되어 있는, 노드가 2개 이상인 KREONET과 같은 형태의 내부 네트워크를 전제로 설명한다. 다만, 본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법 및 장치는 하나의 연구기관 또는 하나의 회사 내부에 구현된 작은 규모의 내부 네트워크에도 적용될 수 있다.
도 4는 여러 개의 연구기관을 연결하는 내부 네트워크에서, 내부 네트워크에 연결된 여러 개의 연구기관 중 어느 하나의 연구기관(210)에 사용자가 요청한 데이터가 있는 경우를 예시한 것이다. 사용자가 요청한 데이터가 특정 연구기관(210)의 특정 서버(211)에 존재하는 경우, 해당 서버(211)로 접근 가능한 모든 후보 경로를 판단하고, 각 후보 경로 중 최적의 데이터 전송 경로 및 게이트웨이를 선택한 후, SDN 네트워크를 제어하여 해당 경로 및 게이트웨이로 데이터가 전송되도록 할 수 있다.
도 4에 나타난 것과 같이, 본 발명의 일 실시예에 따른 내부 네트워크는, 서버(211), 하나 이상의 SDN 스위치(411, 412, 413, 414, 415, 416, 417) 및 하나 이상의 게이트웨이(311, 312, 313, 314...)를 포함할 수 있다.
SDN 스위치에 대하여 살펴보면 다음과 같다.
SDN 이전의 장비(이하 Legacy 장비)들은 제어부와 전송부가 동일 장비 내에 존재하였으며, 라우터는 이웃하는 라우터로부터 각 경로의 혼잡 여부 등의 정보를 받아서 최적의 경로를 각 라우터 내에서 각각 계산하였다. 데이터 전송 기술이 발전함에 따라 여러 가지 전송 기술을 지원하기 위하여 제어부가 매우 복잡해지게 되었으며, 그에 따라 장비의 사양 및 가격이 상승하였다. 서비스 프로바이더(Service Provider) 측면에서는 네트워크 정책이 네트워크 장비 제조사에 종속되어 네트워크 주도권을 확보하지 못하는 문제가 있었다.
이에 비해 SDN 네트워크에서는 경로 계산을 위한 제어부와 데이터 전송을 위한 전송부를 분리한다. SDN 네트워크에서 제어부는 별도의 장비 또는 범용 컴퓨터 서버로 분리되고, 네트워크 장비는 데이터 전송 기능만을 갖춘 전송부만을 가지게 된다.
레거시 네트워크 장비에서는 네트워크 장비 공급 업체에서 제어부 소프트웨어를 장비와 같이 공급함으로써 네트워크 제어에 대한 주도권을 장비 업체들이 가지고 있었으나, SDN에서는 전송부 장치만을 네트워크 장비 공급 업체에서 구입하고 서비스 프로바이더가 제어부를 직접 구축하여 각 프로바이더(Service Provider)의 네트워크 상황에 최적화된 방식으로 네트워크를 운영할 수 있다.
SDN 네트워크는 SDN 컨트롤러(제어부), SDN 스위치(전송부) 및 SDN 컨트롤러와 SDN 스위치 사이의 통신 규약(RPC)으로 이루어진다. SDN의 핵심은 제어부와 전송부의 분리이며, 중앙 제어 방식이다. 즉, 하나의 제어부를 갖는 장비 또는 범용 컴퓨터 서버가 여러 개의 전송부 장비에 연결되어 전송부 장비로부터 데이터를 받은 후, 이를 분석하여 최적의 경로를 전송부 장비에 알려주게 된다. 기존 레거시 장비에서는 제어부와 전송부가 하나의 장비 내에 같이 탑재되었기 때문에 통신이 필요 없었으나, SDN에서는 제어부와 전송부와의 통신이 필요해진다. 즉, SDN에서는 제어부와 전송부와의 표준 통신(RPC) 규격이 필요한데, 이 중 하나가 오픈플로우(OpenFlow)이다. 오픈플로우 프로토콜은 전송부를 제어하기 위한 명령어(Match & Action) 및 네트워크 장비의 정보를 수집하기 위한 명령어로 이루어져 있다. 예를 들어, 전송부는 오픈플로우의 PortStats 또는 FlowStats를 통해 각 경로의 혼잡도를 제어부에 전달하고, 제어부는 이 정보를 바탕으로 최적의 경로를 오픈플로우 명령어를 통해 데이터 전송 경로를 전달한다.
본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법 및 장치는, 내부 네트워크의 데이터 전송 경로를 판단하고, SDN을 기반으로 각 데이터 전송 경로의 트래픽을 분석하며, 분석 결과에 따라 최적의 데이터 전송 경로로 데이터가 전송되도록 한다.
구체적으로, 본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법 및 장치는, 오픈플로우(OpenFlow) 프로토콜을 이용하여 내부 네트워크에 포함된 하나 이상의 SDN 스위치로부터 임의의 데이터 전송 경로의 트래픽을 동적으로 계산할 수 있다.
임의의 데이터 전송 경로의 트래픽을 동적으로 계산하는 단계는, 네트워크를 구성하는 각 노드에 속한 SDN 스위치로부터 오픈플로우 미터 정보를 이용하여 해당 SDN 스위치를 경유하는 패킷 정보를 수신하는 단계를 포함할 수 있다.
오픈플로우 프로토콜을 통해 수집할 수 있는 데이터의 종류는 여러 가지가 있으며, 오픈플로우의 버전이 올라갈 때마다 그 종류는 증가하고 있다. 오픈플로우 버전 1.3를 예로 들면, SDN 스위치로부터 오픈플로우 프로토콜을 통해 수신 포트의 포트 번호 (in_port), 수신 포트의 물리적 포트 번호 (in_phy_port), 테이블간에 정보를 전달하는 데 사용되는 메타 데이터 (metadata), Ethernet 대상 MAC 주소 (eth_dst), Ethernet 원본 MAC 주소 (eth_src), Ethernet 프레임 타입 (eth_type), VLAN ID (vlan_vid), VLAN PCP (vlan_pcp), IP DSCP (ip_dscp), IP ECN (ip_ecn), IP 프로토콜 종류 (ip_proto), IPv4의 소스 IP 주소 (ipv4_src), IPv4의 대상 IP 주소 (ipv4_dst), TCPd 원본 포트 번호 (tcp_src), TCP 목적지 포트 번호 (tcp_dst), UDP 소스 포트 번호 (udp_src), UDP 대상 포트 번호 (udp_dst), SCTP의 원본 포트 번호 (sctp_src), SCTP 목적지 포트 번호 (sctp_dst), ICMP의 Type (icmpv4_type), ICMP의 Code (icmpv4_code), ARP의 작동 코드 (arp_op), ARP의 소스 IP 주소 (arp_spa), ARP의 대상 IP 주소 (arp_tpa), ARP의 소스 MAC 주소 (arp_sha), ARP의 대상 MAC 주소 (arp_tha), IPv6의 소스 IP 주소 (ipv6_src), IPv6의 대상 IP 주소 (ipv6_dst), IPv6의 플로우 레이블 (ipv6_flabel), ICMPv6의 Type (icmpv6_type), ICMPv6의 Code (icmpv6_code), IPv6 네이버 디스커버리의 대상 주소 (ipv6_nd_target), IPv6 네이버 디스커버리 원본 링크 계층 주소 (ipv6_nd_sll), IPv6 네이버 디스커버리 타겟 링크 계층 주소 (ipv6_nd_tll), MPLS 레이블 (mpls_label), MPLS 트래픽 클래스 (mpls_tc), MPLS의 BoS 비트 (mpls_bos), 802.1ah PBB의 I-SID (pbb_isid), 논리 포트에 대한 메타 데이터 (tunnel_id), IPv6 확장 헤더의 의사 필드 (ipv6_exthdr) 등에 대한 정보를 수집할 수 있다.
도 5는 본 발명의 일 실시예에 따른 내부 네트워크에서 특정 데이터가 저장된 위치와 연결될 수 있는 후보 경로를 예시한 도면이다.
사용자가 외부 IP망, 예컨대 인터넷 망을 통해 내부 네트워크에게 특정 데이터를 요청하였고, 내부 네트워크 내에서의 검색 결과 해당 데이터가 내부 네트워크의 특정 서버(211)에 존재하는 것이 검색되었다.
사용자가 외부 IP망을 통해 해당 서버(211)로 접근하는 복수개의 경로가 존재할 수 있다.
제1 경로는 511, 513, 516 및 520을 거친 후, 제1 게이트웨이(311)를 통해 외부 IP망으로 연결되는 경로이다.
제2 경로는 511, 513, 518 및 522를 거친 후, 제2 게이트웨이(312)를 통해 외부 IP망으로 연결되는 경로이다.
제3 경로는 511, 513, 518 및 523을 거친 후, 제3 게이트웨이(313)를 통해 외부 IP망으로 연결되는 경로이다.
제4 경로는 511, 514, 519 및 522를 거친 후, 제2 게이트웨이(312)를 통해 외부 IP망으로 연결되는 경로이다.
제5 경로는 511, 514, 519 및 523을 거친 후, 제3 게이트웨이(313)를 통해 외부 IP망으로 연결되는 경로이다.
제6 경로는 512, 515, 519 및 522를 거친 후, 제2 게이트웨이(312)를 통해 외부 IP망으로 연결되는 경로이다.
제7 경로는 512, 515, 519 및 523을 거친 후, 제3 게이트웨이(313)를 통해 외부 IP망으로 연결되는 경로이다.
제8 경로는 512, 516, 520 및 524를 거친 후, 제4 게이트웨이(314)를 통해 외부 IP망으로 연결되는 경로이다.
본 발명의 일 실시예에 따른 내부 네트워크는 사용자가 요청한 데이터가 있는 서버(211)에 접근할 수 있는 여러 개의 경로 중 트래픽이 낮은 경로를 후보 경로로 선택한 후, 후보 경로 중 데이터 전송 경로를 결정할 수 있다.
예를 들어, 사용자가 요청한 데이터가 있는 서버(211)에 접근하기 위한 경로로서 제1 경로, 제2 경로, 제3 경로, 제4 경로, 제5 경로, 제6 경로, 제7 경로 및 제8 경로가 있고, 그 중 기 설정된 트래픽 수치보다 작은 경로가 제2 경로, 제3 경로 및 제5 경로일 경우, 제2 경로, 제3 경로 및 제5 경로를 후보 경로로 선택한다.
이후 제2 경로, 제3 경로 및 제5 경로에 대한 지연시간 평가값을 계산하여, 지연시간 평가값이 가장 낮은 경로를 최종 데이터 전송 경로로 결정한다. 예를 들어 제2 경로, 제3 경로 및 제5 경로에 대한 지연시간 평가 결과 제3 경로의 지연시간 평가값이 가장 낮을 경우, 제3 경로를 데이터 전송 경로로 결정한다.
제3 경로가 데이터 전송 경로로 결정되는 경우, 내부 네트워크는 SDN 제어를 통해 SDN 스위치의 플로우를 설정하여 제3 경로를 통해 사용자가 요청한 데이터가 전송되도록 할 수 있다.
구체적인 트래픽 분석 및 처리 과정을 살펴보면 다음과 같다.
내부 네트워크는 SDN 망으로 구성되어 있다. 트래픽 측정 모듈은 내부 네트워크 내의 모든 트래픽에 대한 정보를 주기적으로 수집 및 관리한다. 트래픽 측정 모듈은 임의의 서비스의 요구사항을 보장하기 위하여, 서비스 종단 트래픽의 지연시간이 일정한 임계치를 넘어가면 이를 서비스 관리 모듈에게 알린다. 임계치는 기본적으로 서비스별로 구분되며, 서비스가 요구하는 지연시간 대비 특정값을 사전에 정의하는 방식으로 설정된다.
서비스 관리 모듈은 네트워크 토폴로지 정보와 실시간 트래픽 상태 정보를 기반으로 후보 경로들을 탐색한다. 후보 경로는 내부 네트워크 내의 정보를 고려하여 선택되며, 트래픽 동적 제어 대상인 목적 경로는 내부 네트워크 내의 정보와 다수의 게이트웨이에 연결된 외부 IP망 정보를 고려하여 종합적으로 선택된다.
M(M≥1)개의 게이트웨이에 대하여, 각각 내부 네트워크 내의 데이터 소스(사용자가 요청한 데이터가 존재하는 서버) 간의 기 설정된 값 이하의 지연시간을 갖는 경로를 후보 경로로서 선택한다. 즉, 후보 경로들은 내부 네트워크의 내부 환경만을 고려하여 선택된다.
M(M≥1)개의 후보 경로를 통하여 외부 IP망의 종단 호스트로 N(N≥1)개의 proving을 시도하여 지연시간, 지터 및 홉카운트를 포함하는 트래픽 상태 정보를 측정한 후, 트래픽 상태 정보를 이용하여 목적 경로를 선택한다. 이 때 현재 네트워크 지연시간과 향후 예상되는 네트워크 지연시간을 동시에 고려하기 위하여 지연시간뿐만 아니라 지터와 홉카운트의 결과를 동시에 활용한다. 지터가 높을수록 네트워크 혼잡도가 높아 향후 지연시간이 길어질 가능성이 커지고, 홉카운트가 높을수록 네트워크 지연시간이 길어질 가능성이 커진다.
각 후보 경로에 대하여 현재 네트워크 지연시간 및 예상 네트워크 지연시간을 모두 고려한 지연시간 평가값을 계산하기 위한 수식은 수학식 1과 같다.
수학식 1에서, delaypath는 해당 후보 경로의 지연시간을 의미하고, delaymax는 모든 후보 경로의 지연시간 중에서 지연시간이 가장 큰 후보 경로의 지연시간을 의미한다. delaypath를 delaymax로 나눈 것은 데이터 정규화를 위해서이다.
수학식 1에서, jitterpath는 해당 후보 경로의 지터를 의미하고, jittermax는 모든 후보 경로의 지터 중에서 지터가 가장 큰 후보 경로의 지터를 의미한다. jitterpath를 jittermax로 나눈 것은 데이터 정규화를 위해서이다.
수학식 1에서, hoppath는 해당 후보 경로의 홉카운트를 의미하고, hopmax는 모든 후보 경로의 홉카운트 중에서 홉카운트가 가장 큰 후보 경로의 홉카운트를 의미한다. hoppath를 hopmax로 나눈 것은 데이터 정규화를 위해서이다.
각 후보 경로의 지연시간 평가값이 계산되면, 지연시간 평가값이 최소인 후보 경로를 데이터 전송 경로로 결정하고, 결정된 데이터 전송 경로가 외부 IP망과 연결되는 게이트웨이를 외부 IP망과의 통신을 위한 IP 게이트웨이로 결정한 후, 결정된 데이터 전송 경로 및 결정된 게이트웨이로 데이터를 전송한다.
정리하면, 사용자가 요청한 데이터가 존재하는 데이터 소스로 연결되는 복수개의 경로 중 트래픽이 기 설정된 수치 이하인 경로를 후보 경로로 선택하고, 각 후보 경로를 통하여 외부 IP망의 종단 호스트로 proving을 시도하여 지연시간, 지터 및 홉카운트를 포함하는 트래픽 상태 정보를 측정한 후, 트래픽 상태 정보를 이용하여 지연시간 평가값을 계산하고, 지연시간 평가값이 최소인 후보 경로를 데이터 전송 경로로 결정한다.
이상의 방법을 컴퓨터 프로그램으로 구현할 경우의 프로그램 모듈을 설명하면, 외부 IP망으로부터 내부 네트워크에게 임의의 서비스, 예컨대 클라우드, OTT(Over The Top; 미디어 콘텐츠 제공 서비스) 등의 요청이 들어오면, 내부 네트워크의 SDN 컨트롤러는 서비스 요청 메시지를 서비스 관리 모듈에 전달한다. 서비스 관리 모듈은 외부 호스트와 근접한 데이터 소스(사용자가 요청한 데이터가 존재하는 서버) 및 게이트웨이 노드를 선별하여 이들 사이의 최적 경로를 결정하여 플로우 관리 모듈에게 생성된 경로에 따른 플로우 설정을 요청한다. 플로우 관리 모듈은 해당 경로와 연관된 SDN 스위치들에 플로우 규칙을 생성함으로써 최적 경로로 데이터를 전송한다.
도 6은 본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법을 예시한 순서도이다.
도 6에 나타난 것과 같이, 본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법은, SDN(Software Defined Networking) 기반의 내부 네트워크 제어 방법에 있어서, 내부 네트워크에서 복수개의 경로를 생성하는 단계(S610), 오픈플로우(OpenFlow) 프로토콜을 이용하여 내부 네트워크에 포함된 하나 이상의 SDN 스위치로부터 복수개의 경로 각각의 트래픽을 동적으로 계산하는 단계(S620), 외부 IP망으로부터 데이터 요청을 수신하는 단계(S630), 내부 네트워크에서 요청된 데이터가 저장되어 있는 위치를 검색하는 단계(S640), 복수개의 경로 중 저장되어 있는 위치와 연결되는 하나 이상의 경로를 로드하는 단계(S650), 계산된 트래픽을 이용하여 로드된 하나 이상의 경로로부터 하나 이상의 후보 경로를 선택하는 단계(S660), 하나 이상의 후보 경로 중 어느 하나의 경로를 데이터 전송 경로로 결정하는 단계(S670) 및 결정된 데이터 전송 경로가 외부 IP망과 연결되는 게이트웨이를 외부 IP망과의 통신을 위한 IP 게이트웨이로 결정하는 단계(S680)를 포함할 수 있다.
내부 네트워크에서 복수개의 경로를 생성하는 단계는(S610), 외부 IP망과 연결된 하나 이상의 게이트웨이와 하나 이상의 SDN 스위치 노드를 선택하는 단계 및 하나 이상의 게이트웨이 및 하나 이상의 SDN 스위치 노드를 연결하여 복수개의 경로를 생성하는 단계를 포함할 수 있다.
내부 네트워크는 하나 이상의 SDN 스위치 노드와 하나 이상의 게이트웨이를 포함한다. 내부 네트워크는 게이트웨이를 통해 외부 IP망, 예컨대 인터넷망과 연결될 수 있다. 인터넷을 사용하는 외부 사용자는 게이트웨이를 통해 내부 네트워크에 접속할 수 있다.
내부 네트워크는 하나 이상의 서버를 포함할 수 있고, 사용자가 요청하는 데이터가 하나 이상의 서버 중 어느 서버에 있는지는 사용자의 요청 전에는 알 수 없는 상태이다.
일 실시예에서, 사용자의 요청을 받은 다음, 사용자가 요청한 데이터가 있는 서버를 검색하고, 해당 서버에서 내부 네트워크의 모든 게이트웨이로 연결되는 모든 경로를 판단한 후, 각 경로의 내부 트래픽을 분석하여 데이터 전송 경로를 결정할 수 있다.
다만, 사용자의 요청 후에 각 경로의 내부 트래픽을 분석할 경우 경로 결정에 시간이 소요되므로 사용자가 체감하는 서비스 품질에 딜레이가 발생할 수 있다. 따라서 미리 모든 경로의 내부 트래픽을 동적으로 분석하고 있는 것이 바람직하다.
따라서 다른 실시예에서, 사용자의 요청을 받기 전에 미리 내부 네트워크에 존재하는 모든 서버로부터 내부 네트워크의 모든 게이트웨이로 연결되는 모든 경로를 판단하고, 각 경로의 내부 트래픽을 주기적으로 분석할 수 있다. 이 경우 사용자의 요청이 왔을 때 즉시 데이터 소스로 접근하기 위한 여러 경로 중 트래픽이 낮은 경로를 곧바로 후보 경로로 선택할 수 있으므로, 사용자가 체감하는 성능이 향상될 수 있다.
내부 네트워크에서 복수개의 경로를 생성하는 단계는(S610), 내부 네트워크의 토폴로지 정보를 이용하여 복수개의 경로를 생성하는 단계를 포함할 수 있다.
네트워크가 상호 간에 정보를 교환할 수 있도록 유선, 무선을 통하여 연결된 형태를 의미한다면, 네트워크 토폴로지(topology)는 컴퓨터 네트워크의 요소들인 링크, 노드 등을 물리적으로 연결해 놓은 것 또는 그 연결 방식을 의미한다. 네트워크 상의 모든 노드는 네트워크 상에서 하나 이상의 다른 노드에 대한 하나 이상의 링크를 가지고 있으며, 그래프 상의 이러한 링크와 노드들은 네트워크의 물리적 토폴로지를 구성한다.
토폴로지는 노드 사이의 물리적, 논리적 연결 구성으로 결정되는데, 토폴로지 분석은 그래프 이론을 사용한다. 노드 사이의 거리, 물리적 상호 연결, 전송 속도, 신호 종류 등은 네트워크마다 서로 다를 수 있으나, 네트워크 토폴로지는 비슷한 양상을 보인다. 네트워크 토폴로지를 그 양상에 따라 분류하면, 네트워크 토폴로지는 스타 토폴로지(star topology), 버스 토폴로지(bus topology), 링 토폴로지(ring topology), 망형 토폴로지(mesh topology) 등으로 분류할 수 있다.
스타 토폴로지(star topology)는 각 노드가 중앙에 위치한 주 노드를 통하여 다른 노드들과 통신하는 형태이다. 스타 토폴로지는 장애 발견이 쉽고 관리가 용이한 장점이 있는 반면, 주 노드에 장애가 발생하면 전체 네트워크 사용이 불가능한 단점이 있다.
버스 토폴로지(bus topology)는 '버스(bus)'라는 공통 배선에 각 노드가 연결된 형태로서, 노드의 신호가 테이블 전체에 전달된다. 버스 토폴로지는 노드의 추가 및 삭제가 용이하고, 특정 노드의 장애가 다른 노드에 영향을 주지 않는다는 장점이 있는 반면, 모든 노드가 공통 배선의 대역폭을 공유하기 때문에 노드 수가 증가하면 배선의 트래픽이 증가하여 네트워크 성능이 저하된다는 단점이 있다.
링 토폴로지(ring topology)는 각 노드가 좌우의 인접한 노드와 연결되어 원형을 이루고 있는 형태이다. 링 토폴로지는 단 방향 통신으로 신호 증폭이 가능하여 거리 제약이 적은 장점이 있는 반면, 노드의 추가 및 삭제가 용이하지 않은 단점이 있다.
망형 토폴로지(mesh topology)는 모든 노드가 서로 일대일로 연결된 그물망 형태로서, 다수의 노드 쌍이 동시에 통신하는 형태이다. 망형 토폴로지에는 완전 연결형과 부분 연결형이 있는데, 완전 연결형 망형 토폴로지는 스위칭 또는 브로드캐스팅이 필요 없으나, 노드가 추가 될 때마다 연결 수가 급격하게 증가하는 문제가 있다. 참고로 노드 n개에 필요한 연결 수는 n(n-1)/2개이다. 망형 토폴로지는 특정 노드의 장애가 다른 노드에 영향을 주지 않고, 회선 장애에 유연한 대처가 가능한 장점이 있으나, 회선 구축 비용이 많이 들고, 새로운 노드 추가 시 비용 부담이 크다는 단점이 있다.
내부 네트워크의 토폴로지 구조를 알고 있으면 각 서버(노드)에서 각 게이트웨이로 연결되는 경로를 용이하게 도출해낼 수 있다. 즉, 내부 네트워크에서 복수개의 경로를 생성함에 있어서 내부 네트워크의 토폴로지 정보를 이용할 수 있다.
오픈플로우(OpenFlow) 프로토콜을 이용하여 내부 네트워크에 포함된 하나 이상의 SDN 스위치로부터 복수개의 경로 각각의 트래픽을 동적으로 계산하는 단계(S620)는 SDN 컨트롤러에서 이루어질 수 있다. 내부 네트워크는 SDN이 적용된 네트워크이므로 내부 네트워크의 토폴로지 정보 및 트래픽 상태 정보를 중앙의 SDN 컨트롤러를 통하여 알 수 있다. 그리고 이 정보를 분석하여 임의의 종단 간의 통신, 예컨대 서버와 게이트웨이 사이의 통신을 위한 최적의 경로를 선택할 수 있고, 이에 대한 동적 트래픽 제어가 가능해진다.
외부 IP망, 예를 들어 인터넷망의 경우 데이터 전송과 관련된 네트워크 토폴로지 정보 및 트래픽 상태 정보를 직접적으로 파악하기 어려울 뿐만 아니라, 이에 대한 트래픽 제어를 수행할 수 없다. 즉, 내부 네트워크의 게이트웨이 이후 인터넷망을 통한 호스트까지의 트래픽 제어는 할 수 없다. 다만, 내부 네트워크 내에서의 트래픽 제어는 가능하다.
외부 IP망으로부터 데이터 요청을 수신하는 단계(S630)는, 사용자가 인터넷망을 이용하여 내부 네트워크에 있는 데이터를 요청하는 단계를 포함할 수 있다.
내부 네트워크에서 요청된 데이터가 저장되어 있는 위치를 검색하는 단계(S640)는, 사용자가 요청한 데이터가 내부 네트워크에 있는지 여부를 판단하고, 사용자가 요청한 데이터가 내부 네트워크에 있다면 어느 위치에 있는지를 검색하는 단계이다.
복수개의 경로 중 저장되어 있는 위치와 연결되는 하나 이상의 경로를 로드하는 단계(S650)는, 사용자가 요청한 데이터가 저장되어 있는 위치와 연결된 하나 이상의 경로를 로드하는 단계를 포함할 수 있다.
계산된 트래픽을 이용하여 로드된 하나 이상의 경로로부터 하나 이상의 후보 경로를 선택하는 단계(S660)는, 상기 로드된 하나 이상의 경로에 대하여 동적으로 분석 중이던 트래픽(S620)을 파악한 후, 트래픽이 일정 수준 이하인 경로를 후보 경로로서 선택하는 단계를 포함할 수 있다. 후보 경로들은 외부 IP망을 전혀 고려함 없이 SDN을 이용하여 분석한 내부 네트워크 환경만을 고려하여 선택된다.
하나 이상의 후보 경로 중 어느 하나의 경로를 데이터 전송 경로로 결정하는 단계(670)는, 하나 이상의 후보 경로 각각을 통하여 proving을 시도하여 지연시간, 지터 및 홉카운트를 포함하는 트래픽 상태 정보를 측정하는 단계 및 트래픽 상태 정보를 이용하여 후보 경로 각각의 지연시간 평가값을 계산하는 단계를 포함할 수 있다.
일례로, proving은 후보 경로 각각을 통하여 외부 IP망의 종단 호스트로 ping을 보내는 방식으로 이루어질 수 있다. 즉, 후보 경로가 선택된 후에는 ping을 보내는 등의 proving을 시도함으로써, 내부 네트워크 뿐만 아니라 외부 IP망의 통신 환경을 같이 고려하여 최적의 데이터 전송 경로를 결정하게 된다.
하나 이상의 후보 경로를 통하여 외부 IP망의 종단 호스트로 하나 이상의 proving을 시도하여 지연시간, 지터 및 홉카운트를 포함하는 트래픽 상태 정보를 측정할 수 있다. 이후 지연시간, 지터 및 홉카운트를 포함하는 트래픽 상태 정보를 이용하여 지연시간 평가값을 계산할 수 있다. 지연시간 평가값은 현재 네트워크 지연시간뿐만 아니라 향후 예상되는 네트워크 지연시간을 동시에 고려하기 위한 평가값인데, 지연시간 평가값 계산시에는 지연시간뿐만 아니라 지터와 홉카운트의 결과를 동시에 활용한다. 지터가 높을수록 네트워크 혼잡도가 높아 향후 지연시간이 길어질 가능성이 커지고, 홉카운트가 높을수록 네트워크 지연시간이 길어질 가능성이 커지기 때문이다. 이에 대해서는 앞에서 자세히 설명하였으므로, 반복설명을 생략한다.
하나 이상의 후보 경로 중 어느 하나의 경로를 데이터 전송 경로로 결정하는 단계(670)는, 지연시간 평가값이 최소인 후보 경로를 데이터 전송 경로로 결정하는 단계를 포함할 수 있다. 지연시간 평가값이 낮다는 것은 현재 지연시간과 예상되는 지연시간을 모두 고려하였을 때 사용자에게 가장 빠르게 데이터를 전송할 수 있으리라고 판단되는 경로이므로, 지연시간 평가값이 최소인 후보 경로를 데이터 전송 경로로 결정하는 것이다.
데이터 전송 경로가 결정되면, 결정된 데이터 전송 경로가 외부 IP망과 연결되는 게이트웨이를 외부 IP망과의 통신을 위한 IP 게이트웨이로 결정할 수 있다(S680).
데이터 전송 경로 및 게이트웨이가 결정되면,
사용자가 요청한 데이터를 결정된 데이터 전송 경로 및 결정된 게이트웨이를 통해 전송할 수 있다. 이 때, 내부 네트워크에 포함된 하나 이상의 SDN 스위치에 대하여, 결정된 데이터 전송 경로와 연관된 플로우 규칙을 생성함으로써, 결정된 데이터 전송 경로로 데이터가 전송되도록 내부 네트워크를 제어할 수 있다.
도 7은 본 발명의 일 실시예에 따른 데이터 전송 경로 결정 방법에서, 지연시간 평가값을 계산하는 방법을 예시한 순서도이다.
하나 이상의 후보 경로 중 어느 하나의 경로를 데이터 전송 경로로 결정하는 단계(670)는, 하나 이상의 후보 경로 각각을 통하여 proving을 시도하여 지연시간, 지터 및 홉카운트를 포함하는 트래픽 상태 정보를 측정하는 단계 및 트래픽 상태 정보를 이용하여 후보 경로 각각의 지연시간 평가값을 계산하는 단계를 포함할 수 있다.
지연시간 평가값을 계산하는 후보 경로를 제1 후보 경로라고 할 때, 지연시간 평가값을 계산하는 단계는, 후보 경로 각각의 지연시간 중 최대 지연시간 대비 제1 후보 경로의 지연시간이 작을수록, 제1 후보 경로의 지연시간 평가값을 작게 계산하는 단계(S671)를 포함할 수 있다.
또한, 지연시간 평가값을 계산하는 단계는, 후보 경로 각각의 지터 중 최대 지터 대비 제1 후보 경로의 지터가 작을수록, 제1 후보 경로의 지연시간 평가값을 작게 계산하는 단계(S672)를 포함할 수 있다.
또한, 지연시간 평가값을 계산하는 단계는, 후보 경로 각각의 홉카운트 중 최대 홉카운트 대비 제1 후보 경로의 홉카운트가 작을수록, 제1 후보 경로의 지연시간 평가값을 작게 계산하는 단계(S673)를 포함할 수 있다.
도 8은 본 발명의 일 실시예에 따른 네트워크 제어 장치를 예시한 블록도이다.
도 8에 나타난 것과 같이, 본 발명의 일 실시예에 따른 네트워크 제어 장치는, 하나 이상의 프로세서(810), 프로세서(810)에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리(820), 하나 이상의 컴퓨터 프로그램이 비일시적으로 저장된 스토리지(830) 및 네트워크 인터페이스(840)를 포함할 수 있다.
프로세서(810)는 본 발명의 실시예들에 따른 방법을 구현할 수 있는 네트워크 제어 장치의 각 구성의 전반적인 동작을 제어한다. 프로세서(810)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(810)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 본 발명의 실시예들에 따른 네트워크 제어 방법을 구현할 수 있는 네트워크 제어 장치는 하나 이상의 프로세서를 구비할 수 있다.
메모리(820)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(820)는 본 발명의 실시예들에 따른 네트워크 제어 방법을 실행하기 위하여 스토리지(830)로부터 하나 이상의 컴퓨터 프로그램을 로드할 수 있다.
스토리지(830)는 하나 이상의 컴퓨터 프로그램을 비일시적으로 저장할 수 있다. 스토리지(830)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다. 스토리지(830)에는 본 발명의 실시예들에 따른 네트워크 제어 방법을 수행하도록 하는 컴퓨터 프로그램이 저장되어 있다.
네트워크 인터페이스(840)는 본 발명의 일 실시예에 따른 내부 네트워크에서 통신 기능을 지원한다. 네트워크 인터페이스(840)는 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(840)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
본 발명의 실시예들에 따른 네트워크 제어 방법을 수행하도록 하는 컴퓨터 프로그램은 메모리(830)에 로드되어, 프로세서(810)로 하여금 본 발명의 실시예들에 따른 방법을 수행하도록 하는 인스트럭션을 포함할 수 있다.
구체적으로 컴퓨터 프로그램은, SDN(Software Defined Networking) 기반의 내부 네트워크에서 복수개의 경로를 생성하는 인스트럭션, 오픈플로우(OpenFlow) 프로토콜을 이용하여 내부 네트워크에 포함된 하나 이상의 SDN 스위치로부터 복수개의 경로 각각의 트래픽을 동적으로 계산하는 인스트럭션, 외부 IP망으로부터 데이터 요청을 수신하는 인스트럭션, 내부 네트워크에서 요청된 데이터가 저장되어 있는 위치를 검색하는 인스트럭션, 복수개의 경로 중 저장되어 있는 위치와 연결되는 하나 이상의 경로를 로드하는 인스트럭션, 계산된 트래픽을 이용하여 로드된 하나 이상의 경로로부터 하나 이상의 후보 경로를 선택하는 인스트럭션, 하나 이상의 후보 경로 중 어느 하나의 경로를 데이터 전송 경로로 결정하는 인스트럭션 및 결정된 데이터 전송 경로가 외부 IP망과 연결되는 게이트웨이를 외부 IP망과의 통신을 위한 IP 게이트웨이로 결정하는 인스트럭션을 포함할 수 있다.
각 인스트럭션의 기능 및 동작은 전술한 네트워크 제어 방법과 대동소이하므로 중복되는 설명은 생략한다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 본 명세서의 각 순서도의 단계에서 하나 이상의 단계의 순서를 변경하거나, 하나 이상의 단계를 생략하거나, 하나 이상의 단계를 병렬적으로 실행하는 등 본 명세서의 각 순서도의 각 단계를 다양하게 수정 및 변형할 수 있을 것이다.
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터 프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 제1 네트워크 제어 장치로부터 제2 네트워크 제어 장치에 전송되어 상기 제2 네트워크 제어 장치에 설치될 수 있고, 이로써 상기 제2 네트워크 제어 장치에서 사용될 수 있다. 상기 제1 네트워크 제어 장치 및 상기 제2 네트워크 제어 장치는 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 PC와 같은 고정식 네트워크 제어 장치를 모두 포함한다.
상기 컴퓨터 프로그램은 마그네틱 저장매체(예를 들면, ROM, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, CD-ROM, DVD 등), 플래시 메모리(예를 들면, USB, SSD) 등과 같은 비-일시적인 기록매체(non-transitory medium)에 저장된 것일 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.
Claims (20)
- SDN(Software Defined Networking) 기반의 내부 네트워크 제어 방법에 있어서,
상기 내부 네트워크에서 복수개의 내부 경로를 생성하는 단계;
오픈플로우(OpenFlow) 프로토콜을 이용하여 상기 내부 네트워크에 포함된 하나 이상의 SDN 스위치로부터 상기 복수개의 내부 경로 각각의 트래픽을 계산하는 단계;
외부 IP망으로부터 데이터 요청을 수신하는 단계;
상기 내부 네트워크에서 상기 요청된 데이터가 저장되어 있는 데이터 소스의 위치를 검색하는 단계;
상기 복수개의 내부 경로 중 상기 데이터 소스와 연결되는 하나 이상의 내부 경로를 로드하는 단계;
상기 계산된 트래픽을 이용하여 상기 로드된 하나 이상의 내부 경로 중 일부를 후보 경로로 선택하는 단계;
상기 선택된 후보 경로 각각을 통하여 상기 외부 IP망의 종단 호스트로 proving을 시도하여 상기 선택된 후보 경로 각각과 연관된 단대단(end-to-end) 경로에 대한 단대단 트래픽 상태를 측정하되, 상기 단대단 경로는 상기 데이터 소스부터 상기 종단 호스트까지의 경로인 것인, 단계;
상기 측정된 단대단 트래픽 상태를 이용하여 상기 단대단 경로 각각에 대한 지연시간 평가값을 계산하는 단계;
상기 계산된 지연시간 평가값을 기초로 상기 선택된 후보 경로 중 어느 하나의 후보 경로를 상기 요청된 데이터에 대한 전송 경로로 결정하는 단계; 및
상기 결정된 전송 경로 상에서 상기 외부 IP망과 연결되는 게이트웨이를 상기 요청된 데이터를 전송할 IP 게이트웨이로 결정하는 단계를 포함하는,
네트워크 제어 방법. - 제1항에 있어서,
상기 복수개의 내부 경로를 생성하는 단계는,
상기 외부 IP망과 연결된 하나 이상의 게이트웨이와 상기 하나 이상의 SDN 스위치 노드를 선택하는 단계; 및
상기 하나 이상의 게이트웨이 및 상기 하나 이상의 SDN 스위치 노드를 연결하여 상기 복수개의 내부 경로를 생성하는 단계를 포함하는,
네트워크 제어 방법. - 제1항에 있어서,
상기 복수개의 내부 경로를 생성하는 단계는,
상기 내부 네트워크의 토폴로지 정보를 이용하여 상기 복수개의 내부 경로를 생성하는 단계를 포함하는,
네트워크 제어 방법. - 제1항에 있어서,
상기 하나 이상의 내부 경로를 로드하는 단계는,
상기 내부 네트워크의 토폴로지로부터 상기 데이터 소스와 연결된 하나 이상의 내부 경로를 선택하는 단계를 포함하는,
네트워크 제어 방법. - 제1항에 있어서,
상기 후보 경로로 선택하는 단계는,
상기 로드된 하나 이상의 내부 경로 중 상기 계산된 트래픽이 일정 수준 이하인 내부 경로를 상기 후보 경로로 선택하는 단계를 포함하는,
네트워크 제어 방법. - 제1항에 있어서,
상기 단대단 트래픽 상태는 상기 단대단 경로에 대한 지연시간, 지터 및 홉카운트를 포함하는,
네트워크 제어 방법. - 제1항에 있어서,
상기 단대단 트래픽 상태를 측정하는 단계는,
하나 이상의 ping을 보내는 단계를 포함하는,
네트워크 제어 방법. - 삭제
- 제1항에 있어서,
상기 단대단 트래픽 상태를 측정하는 단계는,
상기 선택된 후보 경로 각각을 통하여 상기 외부 IP망의 종단 호스트로 하나 이상의 ping을 보내는 단계를 포함하는,
네트워크 제어 방법. - 제1항에 있어서,
상기 전송 경로로 결정하는 단계는,
상기 선택된 후보 경로 중 상기 계산된 지연시간 평가값이 최소인 후보 경로를 상기 전송 경로로 결정하는 단계를 포함하되,
상기 단대단 트래픽 상태는 상기 단대단 경로에 대한 지연시간을 포함하고,
상기 선택된 후보 경로 중 제1 후보 경로의 지연시간 평가값은 상기 선택된 후보 경로 각각의 지연시간 중 최대 지연시간 대비 상기 제1 후보 경로의 지연시간이 작을수록 더 작은 값으로 계산되는,
네트워크 제어 방법. - 제1항에 있어서,
상기 전송 경로로 결정하는 단계는,
상기 선택된 후보 경로 중 상기 계산된 지연시간 평가값이 최소인 후보 경로를 상기 전송 경로로 결정하는 단계를 포함하되,
상기 단대단 트래픽 상태는 상기 단대단 경로에 대한 지터를 포함하고,
상기 선택된 후보 경로 중 제1 후보 경로의 지연시간 평가값은 상기 선택된 후보 경로 각각의 지터 중 최대 지터 대비 상기 제1 후보 경로의 지터가 작을수록 더 작은 값으로 계산되는,
네트워크 제어 방법. - 제1항에 있어서,
상기 전송 경로로 결정하는 단계는,
상기 선택된 후보 경로 중 상기 계산된 지연시간 평가값이 최소인 후보 경로를 상기 전송 경로로 결정하는 단계를 포함하되,
상기 단대단 트래픽 상태는 상기 단대단 경로에 대한 홉카운트를 포함하고,상기 선택된 후보 경로 중 제1 후보 경로의 지연시간 평가값은 상기 선택된 후보 경로 각각의 홉카운트 중 최대 홉카운트 대비 상기 제1 후보 경로의 홉카운트가 작을수록 더 작은 값으로 계산되는,
네트워크 제어 방법. - 제1항에 있어서,
상기 IP 게이트웨이로 결정하는 단계 다음에,
상기 요청된 데이터를 상기 결정된 전송 경로 및 상기 결정된 게이트웨이를 통해 전송하는 단계를 더 포함하는,
네트워크 제어 방법. - 제13항에 있어서,
상기 전송하는 단계는,
상기 내부 네트워크의 하나 이상의 SDN 스위치에 대하여, 상기 결정된 전송 경로와 연관된 플로우 규칙을 생성하는 단계를 포함하는,
네트워크 제어 방법. - 하나 이상의 프로세서;
상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리; 및
상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
상기 컴퓨터 프로그램은,
SDN(Software Defined Networking) 기반의 내부 네트워크에서 복수개의 내부 경로를 생성하는 인스트럭션;
오픈플로우(OpenFlow) 프로토콜을 이용하여 상기 내부 네트워크에 포함된 하나 이상의 SDN 스위치로부터 상기 복수개의 내부 경로 각각의 트래픽을 계산하는 인스트럭션;
외부 IP망으로부터 데이터 요청을 수신하는 인스트럭션;
상기 내부 네트워크에서 상기 요청된 데이터가 저장되어 있는 데이터 소스의 위치를 검색하는 인스트럭션;
상기 복수개의 내부 경로 중 상기 데이터 소스와 연결되는 하나 이상의 내부 경로를 로드하는 인스트럭션;
상기 계산된 트래픽을 이용하여 상기 로드된 하나 이상의 내부 경로 중 일부를 후보 경로로 선택하는 인스트럭션;
상기 선택된 후보 경로 각각을 통하여 상기 외부 IP망의 종단 호스트로 proving을 시도하여 상기 선택된 후보 경로 각각과 연관된 단대단(end-to-end) 경로에 대한 단대단 트래픽 상태를 측정하되, 상기 단대단 경로는 상기 데이터 소스부터 상기 종단 호스트까지의 경로인 것인, 인스트럭션;
상기 측정된 단대단 트래픽 상태를 이용하여 상기 단대단 경로 각각에 대한 지연시간 평가값을 계산하는 인스트럭션;
상기 계산된 지연시간 평가값을 기초로 상기 선택된 후보 경로 중 어느 하나의 후보 경로를 상기 요청된 데이터에 대한 전송 경로로 결정하는 인스트럭션; 및
상기 결정된 전송 경로 상에서 상기 외부 IP망과 연결되는 게이트웨이를 상기 요청된 데이터를 전송할 IP 게이트웨이로 결정하는 인스트럭션을 포함하는,
네트워크 제어 장치. - 제15항에 있어서,
상기 복수개의 내부 경로를 생성하는 인스트럭션은,
상기 외부 IP망과 연결된 하나 이상의 게이트웨이와 상기 하나 이상의 SDN 스위치 노드를 선택하는 인스트럭션; 및
상기 하나 이상의 게이트웨이 및 상기 하나 이상의 SDN 스위치 노드를 연결하여 상기 복수개의 내부 경로를 생성하는 인스트럭션을 포함하는,
네트워크 제어 장치. - 제15항에 있어서,
상기 단대단 트래픽 상태는 상기 단대단 경로에 대한 지연시간, 지터 및 홉카운트를 포함하는,
네트워크 제어 장치. - 제15항에 있어서,
단대단 트래픽 상태를 측정하는 인스트럭션은,
상기 선택된 후보 경로 각각을 통하여 상기 외부 IP망의 종단 호스트로 하나 이상의 ping을 보내는 인스트럭션을 포함하는,
네트워크 제어 장치. - 제15항에 있어서,
상기 컴퓨터 프로그램은,
상기 요청된 데이터를 상기 결정된 전송 경로 및 상기 결정된 게이트웨이를 통해 전송하는 인스트럭션을 더 포함하고,
상기 전송하는 인스트럭션은 상기 IP 게이트웨이로 결정하는 인스트럭션 다음에 수행되는,
네트워크 제어 장치. - 제19항에 있어서,
상기 전송하는 인스트럭션은,
상기 내부 네트워크의 하나 이상의 SDN 스위치에 대하여, 상기 결정된 전송 경로와 연관된 플로우 규칙을 생성하는 인스트럭션을 포함하는,
네트워크 제어 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180163815A KR101984478B1 (ko) | 2018-12-18 | 2018-12-18 | Sdn 기반의 동적 네트워크 트래픽 분석을 통한 데이터 전송 경로 결정 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180163815A KR101984478B1 (ko) | 2018-12-18 | 2018-12-18 | Sdn 기반의 동적 네트워크 트래픽 분석을 통한 데이터 전송 경로 결정 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101984478B1 true KR101984478B1 (ko) | 2019-09-03 |
Family
ID=67951790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180163815A KR101984478B1 (ko) | 2018-12-18 | 2018-12-18 | Sdn 기반의 동적 네트워크 트래픽 분석을 통한 데이터 전송 경로 결정 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101984478B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987879A (zh) * | 2022-12-22 | 2023-04-18 | 众芯汉创(北京)科技有限公司 | 一种基于软件定义网络的低时延图像传输系统和方法 |
CN117640335A (zh) * | 2024-01-26 | 2024-03-01 | 中铁七局集团西安铁路工程有限公司 | 一种智能建筑综合布线的动态调整和优化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140127552A (ko) | 2013-04-25 | 2014-11-04 | 한국인터넷진흥원 | 외부망과 내부망 사이의 트래픽 분석을 통한 악성코드 경유지 추적 방법 및 시스템 |
KR20150013978A (ko) * | 2013-07-24 | 2015-02-06 | 주식회사 케이티 | 모바일 네트워크에서의 sdn 기반 트래픽 데이터 제어 방법 및 장치 |
KR20160072002A (ko) * | 2014-12-12 | 2016-06-22 | 주식회사 케이티 | Sdn 상에서 최적 경로 계산 시스템 및 방법 |
KR20160105222A (ko) * | 2015-02-27 | 2016-09-06 | 에스케이텔레콤 주식회사 | Sdn 기반의 네트워크 모니터링 장치 및 방법 |
KR20160115050A (ko) * | 2015-03-25 | 2016-10-06 | 한국전자통신연구원 | 패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법 |
-
2018
- 2018-12-18 KR KR1020180163815A patent/KR101984478B1/ko active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140127552A (ko) | 2013-04-25 | 2014-11-04 | 한국인터넷진흥원 | 외부망과 내부망 사이의 트래픽 분석을 통한 악성코드 경유지 추적 방법 및 시스템 |
KR20150013978A (ko) * | 2013-07-24 | 2015-02-06 | 주식회사 케이티 | 모바일 네트워크에서의 sdn 기반 트래픽 데이터 제어 방법 및 장치 |
KR20160072002A (ko) * | 2014-12-12 | 2016-06-22 | 주식회사 케이티 | Sdn 상에서 최적 경로 계산 시스템 및 방법 |
KR20160105222A (ko) * | 2015-02-27 | 2016-09-06 | 에스케이텔레콤 주식회사 | Sdn 기반의 네트워크 모니터링 장치 및 방법 |
KR20160115050A (ko) * | 2015-03-25 | 2016-10-06 | 한국전자통신연구원 | 패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987879A (zh) * | 2022-12-22 | 2023-04-18 | 众芯汉创(北京)科技有限公司 | 一种基于软件定义网络的低时延图像传输系统和方法 |
CN115987879B (zh) * | 2022-12-22 | 2023-12-01 | 众芯汉创(北京)科技有限公司 | 一种基于软件定义网络的低时延图像传输系统和方法 |
CN117640335A (zh) * | 2024-01-26 | 2024-03-01 | 中铁七局集团西安铁路工程有限公司 | 一种智能建筑综合布线的动态调整和优化方法 |
CN117640335B (zh) * | 2024-01-26 | 2024-04-16 | 中铁七局集团西安铁路工程有限公司 | 一种智能建筑综合布线的动态调整和优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10505804B2 (en) | System and method of discovering paths in a network | |
CN105991430B (zh) | 跨多个自治网络系统的数据路由 | |
JP5610247B2 (ja) | ネットワークシステム、及びポリシー経路設定方法 | |
CN111193666A (zh) | 使用自适应机器学习探测预测应用体验质量度量 | |
US9215164B2 (en) | Multi-source correlation of network topology metrics | |
US20160080263A1 (en) | Sdn-based service chaining system | |
JP6589060B2 (ja) | ソフトウェア定義ネットワークのエントリ生成およびパケット転送 | |
Suarez-Varela et al. | Flow monitoring in Software-Defined Networks: Finding the accuracy/performance tradeoffs | |
KR102053596B1 (ko) | Sdn 기반의 동적 네트워크 트래픽 분석을 통한 네트워크 슬라이싱 방법 및 장치 | |
TW201322694A (zh) | 用於通訊網路的基於應用程式的頻寬控制 | |
US20150043586A1 (en) | Control Apparatus, Communication Apparatus, Communication System, Communication Method, and Program | |
KR101984478B1 (ko) | Sdn 기반의 동적 네트워크 트래픽 분석을 통한 데이터 전송 경로 결정 방법 및 장치 | |
JP2011159247A (ja) | ネットワークシステム、コントローラ、ネットワーク制御方法 | |
KR20180129376A (ko) | 사물인터넷 지원 스마트 게이트웨이 및 그것의 vpn 터널링 실시간 속도 제어 방법 | |
US11336549B2 (en) | Systems and methods for dynamically optimizing TCP flow in WAN networks | |
US10805206B1 (en) | Method for rerouting traffic in software defined networking network and switch thereof | |
WO2023065848A1 (zh) | 业务调度方法、装置、设备及计算机可读存储介质 | |
US20180217860A1 (en) | Integrated network data collection apparatus and method | |
JP2011244312A (ja) | ノード装置、最適パス決定方法及びプログラム | |
KR20190028059A (ko) | 오픈플로우 네트워크에서 트래픽을 제어하는 장치 및 방법 | |
Zaw | Delay-Aware Elephant Flow Rerouting in Software-Defined Networking (SDN) | |
WO2023207048A1 (zh) | 一种网络意图挖掘方法、装置及相关设备 | |
US20230164063A1 (en) | Network path detection and monitoring | |
JP7164140B2 (ja) | 通信解析装置、通信解析方法およびプログラム | |
US20230239247A1 (en) | Method and system for dynamic load balancing |