KR20220029142A - Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법 - Google Patents

Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법 Download PDF

Info

Publication number
KR20220029142A
KR20220029142A KR1020200111118A KR20200111118A KR20220029142A KR 20220029142 A KR20220029142 A KR 20220029142A KR 1020200111118 A KR1020200111118 A KR 1020200111118A KR 20200111118 A KR20200111118 A KR 20200111118A KR 20220029142 A KR20220029142 A KR 20220029142A
Authority
KR
South Korea
Prior art keywords
traffic usage
network traffic
sdn
network
host
Prior art date
Application number
KR1020200111118A
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 KR1020200111118A priority Critical patent/KR20220029142A/ko
Publication of KR20220029142A publication Critical patent/KR20220029142A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/067Generation of reports using time frame reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level

Abstract

SDN 컨트롤러 서버에서의 SDN 기반 네트워크 트래픽 사용량 분석 방법이 제공된다. 상기 방법은 적어도 하나의 호스트와 연결되는 개별 네트워크 장비로 오픈플로우 메시지에 기반한 네트워크 트래픽 사용량 정보를 요청하는 메시지(이하 요청 메시지)를 전송하는 단계; 상기 요청 메시지에 대응하여, 상기 개별 네트워크 장비로부터 개별 포트 및 플로우에 대한 네트워크 트래픽 사용량 정보를 포함하는 멀티파트 응답 메시지(Multipart Response message, 이하 수신 메시지)를 수신하는 단계; 및 상기 수신 메시지에 기초하여 상기 네트워크 트래픽 사용량 정보를 분석한 분석 결과를 생성하는 단계를 포함한다. 이때, 상기 수신 메시지에 기초하여 상기 네트워크 트래픽 사용량 정보를 분석한 분석 결과를 생성하는 단계는, 상기 수신 메시지에 포함된 플로우 테이블을 조회하는 단계; 및 상기 플로우 테이블에 정의된 각 플로우 룰의 매치 필드를 참조하여 상기 호스트 단위로 분류된 네트워크 트래픽 사용량 정보에 대한 분석 결과를 생성하는 단계를 포함한다.

Description

SDN 컨트롤러 서버 및 이의 SDN 기반 네트워크 트래픽 사용량 분석 방법{SDN CONTROLLER SERVER AND METHOD FOR ANALYSING SDN BASED NETWORK TRAFFIC USAGE THEREOF}
본 발명은 SDN 컨트롤러 서버 및 이의 SDN 기반 네트워크 트래픽 사용량 분석 방법에 관한 것이다.
SDN(Software Defined networking, 소프트웨어 정의 네트워킹, 이하 SDN) 기술은 네트워크의 모든 장비를 지능화된 중앙 관리 시스템에 의해 관리하는 기술을 말한다. SDN 기술에서는 기존 하드웨어 형태의 네트워크 장비에서 자체적으로 수행하는 패킷 처리와 관련된 제어 동작을 소프트웨어 형태로 제공되는 컨트롤러가 대신 처리하게 함으로써, 기존 네트워크 구조보다 다양한 기능을 개발하고 부여할 수 있다는 장점을 갖는다.
한편, 네트워크 모니터링 기술 이용할 경우 트래픽 부하를 분산시키거나 네트워크 장애를 신속하게 복구하는 등의 서비스를 제공할 수 있다.
이때, 종래 레거시 네트워크의 경우 실제 패킷을 복사하여 모니터링을 수행하는 장치로 복사된 패킷을 전달하는 방식을 주로 사용하는데, 이는 추가적인 패킷 복사 및 전달 과정을 수행해야 하며, 전송 도중 일부 패킷의 손실이 발생하는 경우 해당 패킷을 재전송하는 등의 측면에서 효율성을 갖지 못한다.
또한, 근래 SDN 기반의 네트워크 모니터링 기술들을 활용하면, 패킷을 직접 전달받지 않음으로써 보다 효율적인 모니터링을 할 수 있으나, 이러한 경우에는 상대적으로 제한된 정보만이 수집 가능하다는 한계가 있었다.
공개특허공보 제10-2016-0105222호(2016.09.06)
본 발명이 해결하고자 하는 과제는 오픈플로우 메시지에 기반한 네트워크 트래픽 사용량 정보를 요청하는 메시지를 네트워크 장비로 전송하고, 네트워크 장비로부터 정량적인 정보를 수신함에 따라, 개별 호스트 및 송수신 트래픽, 특정 프로토콜, 포트 별 트래픽 사용량 등의 기준에 따른 다양한 분석 결과를 생성할 수 있는 SDN 컨트롤러 서버 및 이의 SDN 기반 네트워크 트래픽 사용량 분석 방법을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 상기된 바와 같은 과제로 한정되지 않으며, 또다른 과제들이 존재할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 제1 측면에 따른 SDN 컨트롤러 서버에서의 SDN 기반 네트워크 트래픽 사용량 분석 방법은 적어도 하나의 호스트와 연결되는 개별 네트워크 장비로 오픈플로우 메시지에 기반한 네트워크 트래픽 사용량 정보를 요청하는 메시지(이하 요청 메시지)를 전송하는 단계; 상기 요청 메시지에 대응하여, 상기 개별 네트워크 장비로부터 개별 포트 및 플로우에 대한 네트워크 트래픽 사용량 정보를 포함하는 멀티파트 응답 메시지(Multipart Response message, 이하 수신 메시지)를 수신하는 단계; 및 상기 수신 메시지에 기초하여 상기 네트워크 트래픽 사용량 정보를 분석한 분석 결과를 생성하는 단계를 포함한다. 이때, 상기 수신 메시지에 기초하여 상기 네트워크 트래픽 사용량 정보를 분석한 분석 결과를 생성하는 단계는, 상기 수신 메시지에 포함된 플로우 테이블을 조회하는 단계; 및 상기 플로우 테이블에 정의된 각 플로우 룰의 매치 필드를 참조하여 상기 호스트 단위로 분류된 네트워크 트래픽 사용량 정보에 대한 분석 결과를 생성하는 단계를 포함한다.
본 발명의 일부 실시예에서, 상기 요청 메시지를 전송하는 단계는, 상기 네트워크 장비에 주기적으로 상기 요청 메시지를 전송하는 단계; 및 상기 각 요청 메시지를 전송한 시간 값을 기록하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 수신 메시지에 기초하여 상기 네트워크 트래픽 사용량 정보를 분석한 분석 결과를 생성하는 단계는, 상기 호스트에서의 총 네트워크 트래픽 사용량 정보 및 상기 요청 메시지를 전송한 시간 값에 기초하여 상기 호스트에서의 미리 설정된 단위 시간당 네트워크 트래픽 사용량 정보를 산출할 수 있다.
본 발명의 일부 실시예에서, 상기 플로우 테이블에 정의된 각 플로우 룰의 매치 필드를 참조하여 상기 호스트 단위로 분류된 네트워크 트래픽 사용량 정보에 대한 분석 결과를 생성하는 단계는, 상기 호스트에 각각 상응하는 출발지(source) 및 목적지(destination)에 대한 IP 및 MAC 주소, 오픈플로우 프로토콜 및 각 포트 번호 중 적어도 하나에 기초하여 상기 호스트에서의 송수신과 관련한 네트워크 트래픽 사용량 정보를 분석할 수 있다.
본 발명의 일부 실시예에서, 상기 플로우 테이블에 정의된 각 플로우 룰의 매치 필드를 참조하여 상기 호스트 단위로 분류된 네트워크 트래픽 사용량 정보에 대한 분석 결과를 생성하는 단계는, 상기 플로우 룰에 기초하여, 상기 출발지 또는 목적지의 IP 및 MAC 주소 중 어느 하나와 일치하는 호스트에 대한 송신 트래픽 사용량 또는 수신 트래픽 사용량을 분석할 수 있다.
본 발명의 일부 실시예에서, 상기 수신 메시지에 기초하여 상기 네트워크 트래픽 사용량 정보를 분석한 분석 결과를 생성하는 단계는, 상기 네트워크 장비로부터의 특정 포트 및 링크에 대한 네트워크 트래픽 사용량 정보를 분석하는 단계를 포함할 수 있다.
또한, 본 발명의 제2 측면에 따른 SDN 기반 네트워크 환경에서 네트워크 트래픽 사용량을 분석하는 SDN 컨트롤러 서버는 적어도 하나의 호스트와 연결되는 개별 네트워크 장비와 오픈 플로우 기반의 메시지를 송수신하는 통신모듈, 상기 SDN 기반 네트워크 환경에서의 네트워크 트래픽 사용량을 분석하기 위한 프로그램이 저장된 메모리 및 상기 메모리에 저장된 프로그램을 실행시크는 프로세서를 포함한다. 이때, 상기 프로세서는 상기 프로그램을 실행시킴에 따라, 상기 오픈플로우 기반의 메시지를 통해 상기 개별 네트워크 장비로 네트워크 트래픽 사용량 정보를 요청하고, 상기 개별 네트워크 장비로부터 개별 포트 및 플로우에 대한 네트워크 트래픽 사용량 정보를 포함하는 멀티파트 응답 메시지(Multipart Response message)를 수신하며, 상기 수신한 멀티파트 응답 메시지에 포함된 플로우 테이블을 조회하고, 상기 플로우 테이블에 정의된 각 플로우 룰의 매치 필드를 참조하여 상기 호스트 단위로 분류된 네트워크 트래픽 사용량 정보에 대한 분석 결과를 생성한다.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 상기 SDN 컨트롤러 서버에서의 SDN 기반 네트워크 트래픽 사용량 분석 방법을 실행하며, 컴퓨터 판독가능 기록매체에 저장된다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
기존 레거시 네트워크에서 널리 사용되는 네트워크 모니터링 시스템의 경우, 그 대상을 구체화할 수 없는 한계점이 존재하는 반면, 상술한 본 발명에 의하면, 네트워크 트래픽 사용량 분석 데이터를 개별 호스트 단위로 구분하거나 호스트에서의 송수신 트래픽을 구분하는 등 세분화할 수 있다. 더 나아가 네트워크 장비의 포트별 네트워크 트래픽 사용량 정보까지 수집할 수 있어, 보다 다양하고 상세한 네트워크 트래픽 사용량 정보를 제공할 수 있다는 장점이 있다.
이와 같은, 세분화된 네트워크 트래픽 사용량 정보의 분석을 통해, 본 발명은 호스트를 특정하여 트래픽을 산출하거나, 프로토콜 및 포트 레벨까지 구분하여 트래픽 사용량을 산출할 수 있으며, 이를 통해 보다 정확한 과금 시스템 등에 활용 가능하다는 장점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 소프트웨어 정의 네트워크의 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 SDN 기반 네트워크 트래픽 사용량 분석 방법의 순서도이다.
도 3은 플로우 룰의 매치 필드의 일 예시를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 SDN 컨트롤러 서버를 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1은 소프트웨어 정의 네트워크의 구성을 설명하기 위한 도면이다.
도 1을 참조하면, 소프트웨어 정의 네트워크(Software Defined Network)는 SDN 컨트롤러 서버(100), 네트워크 장비(200) 및 호스트(300)를 포함한다. 이때, 네트워크 장비(200)와 호스트(300)는 노드(Node)라 지칭할 수 있으며, 링크(Link)는 2개의 노드 사이의 연결을 의미한다.
SDN 컨트롤러 서버(100)는 네트워크 장비(200)를 관리하는 기능을 하며, 복수의 네트워크 장비(200)를 중앙 집중형으로 관리 및 제어한다. 구체적으로 SDN 컨트롤러 서버(100)는 토폴로지 관리(topology management), 패킷 처리와 관련된 경로 관리(Path management), 링크 디스커버리(Link discovery), 패킷 흐름인 플로우 관리(Flow management) 등의 기능을 하는 소프트웨어가 탑재된 형태로 구현될 수 있다.
네트워크 장비(200)는 SDN 컨트롤러 서버(100)의 제어어 따라 패킷을 처리하는 기능을 수행한다. 이때, 네트워크 장비(200)의 일 예로는 이통 통신 기지국, 기지국 제어기, 게이트웨이 장비, 유선 네트워크 스위치, 라우터 등일 수 있다. 다만, 설명의 편의를 위해 이하에서는 네트워크 장비(200)는 오픈플로우 스위치인 경우를 중심으로 설명하며, 동일한 도면 부호를 병기하도록 한다.
소프트웨어 정의 네트워크에서 SDN 컨트롤러 서버(100)와 네트워크 장비(200)는 상호간에 정보를 주고 받아야 하며, 이를 위한 프로토콜로 널리 사용되는 것이 오픈플로우(OpenFlow) 프로토콜이다. 즉, 오픈플로우 프로토콜은 SDN 컨트롤러 서버(100)와 네트워크 장비(200) 간 서로 통신할 수 있는 표준 규격이다.
보다 구체적으로 설명하면, 네트워크 장비(200)는 크게 소프트웨어 계층과 하드웨어 계층으로 구분된다.
상기 소프트웨어 계층은 보안 채널(Secure Channel)을 통해 SDN 컨트롤러 서버(100)와 정보를 교환한다. 보안 채널은 네트워크 장비(200)와 원거리에 위치한 SDN 컨트롤러 서버(100) 간 통신 채널이며, SDN 컨트롤러 서버(100)와 네트워크 장비(200) 간 교환되는 정보는 암호화된다.
상기 하드웨어 계층에는 패킷을 규정 및 처리하고, 패킷에 관련된 통계 정보를 포함하는 플로우 테이블(Flow table)이 존재한다. 플로우 테이블은 패킷 처리를 규정하는 플로우 룰(Flow Rule)로 구성되며, 플로우 룰은 SDN 컨트롤러 서버(100)가 생성하여 네트워크 장비(200)에 전송하는 플로우 모드 메시지(Flow-Mod Message)에 의해 추가, 수정 또는 삭제될 수 있다. 네트워크 장비(200)는 플로우 테이블을 참조하여 패킷을 처리한다.
플로우 테이블은 플로우를 정의하는 패킷 헤더 정보(Rule), 패킷의 처리를 정의하는 동작 정보(Action) 및 플로우별 통계 정보(Stats)를 포함한다. 여기에서, 플로우 테이블을 구성하는 각 행을 플로우 엔트리(Flow Entry)라 칭한다.
호스트(300)는 네트워크 장비(200)의 하위 계층에 해당하는 단말 등을 의미하는 것으로, 클라이언트 및 서버를 통칭하는 의미로 사용될 수 있다. 호스트(300)는 소프트웨어 정의 네트워크를 통해 다른 호스트에 보내기 위한 패킷을 생성하고, 패킷을 네트워크 인터페이스의 포트를 통해 네트워크 장비(200)로 전송할 수 있다.
예컨대, 제1 호스트(300a)가 제2 호스트(300b)로 패킷을 보내고자 할 때, 우선 제1 호스트(300a)는 보내고자 하는 패킷을 생성하고, 해당 패킷을 제1 호스트(300a)와 연결된 네트워크 장비(200)로 전송한다. 네트워크 장비(200)에 해당 패킷의 처리를 규정한 플로우 테이블이 존재하는 경우, 네트워크 장비(200)가 규정대로 패킷을 처리한다.
하지만, 네트워크 장비(200)에 해당 패킷과 관련된 플로우 테이블이 없는 경우, 네트워크 장비(200)는 SDN 컨트롤러 서버(100)에 패킷 유입을 알리는 패킷-인 메시지(Packet-in Message)를 전송한다.
SDN 컨트롤러 서버(100)는 오퍼레이터의 정책이나 미리 설정된 알고리즘에 따라 패킷의 처리를 규정하는 플로우 모드 메시지를 생성하여 네트워크 장비(200)로 전송하고, 네트워크 장비(200)는 플로우 모드 메시지에 의해 변경된 플로우 테이블을 참조하여 해당 패킷을 처리한다.
한편, 제1 호스트(300a)가 제2 호스트(300b)로 패킷을 보낼 수 있는 경로는 다양하다. 전체 네트워크에는 복수의 네트워크 장비(200) 및 호스트가 존재하므로 각 노드마다 복수의 링크를 가지기 때문이다. 이때, SDN 컨트롤러 서버(100)는 전체 네트워크 토폴로지 맵에 기반하여 패킷을 보낼 수 있는 복수 개의 경로 중에서 최적 경로를 연산한다. 그리고 SDN 컨트롤러 서버(100)는 연산된 최적 경로에 대한 정보를 네트워크 장비(200)에 전송하고, 네트워크 장비(200)는 최적 경로로 패킷을 처리하는 것이 일반적이다.
이하에서는 도 2를 참조하여 본 발명의 일 실시예에 따른 SDN 컨트롤러 서버(100)에서의 SDN 기반 네트워크 트래픽 사용량 분석 방법에 대하여 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 SDN 기반 네트워크 트래픽 사용량 분석 방법의 순서도이다.
먼저 SDN 컨트롤러 서버(100)는 적어도 하나의 호스트(300)와 연결되는 개별 네트워크 장비(200)로 오픈플로우 메시지에 기반한 네트워크 트래픽 사용량 정보를 요청하는 메시지(이하, 요청 메시지)를 전송한다(S110).
이때, 본 발명의 일 실시예는 SDN 컨트롤러 서버(100)와 네트워크 장비(200)들 간에 실제 트래픽 패킷을 전달하지 않고, 오픈플로우 메시지를 통해 정량적 정보만을 주고받는 것을 특징으로 한다.
일 실시예로, SDN 컨트롤러 서버(100)는 오픈플로우 메시지에 기반하여 네트워크 장비(200)에 주기적으로 네트워크 트래픽 사용량 수집을 요청하는 멀티파트 요청 메시지(Multipart Request message)를 전송할 수 있다. 이 과정에서 SDN 서버(100)는 각 요청 메시지를 전송한 시간 값을 기록할 수 있다.
이러한 요청 메시지에 기반하여 SDN 서버(100)는 각 네트워크 장비(200)로부터 주기적으로 네트워크 트래픽 사용량을 수집할 수 있다.
다음으로, 요청 메시지에 대응하여, SDN 컨틀로러 서버(100)는 개별 네트워크 장비(200)로부터 개별 포트 및 플로우에 대한 네트워크 트래픽 사용량 정보를 포함하는 멀티파트 응답 메시지(Multipart Response message, 이하 수신 메시지)를 수신한다(S120).
SDN 컨트롤러 서버(100)의 요청 메시지를 수신한 개별 네트워크 장비(200)들은 개별 포트와 플로우에 대한 현재 네트워크 트래픽 사용량 정보를 SDN 컨트롤러 서버(100)로 전송하며, 이때 전송하는 네트워크 트래픽 사용량 정보에는 패킷 수(Packet Counter)와 데이터의 크기(byte counter) 정보가 포함될 수 있다.
다음으로, SDN 컨트롤러 서버(100)는 수신 메시지에 기초하여 상기 네트워크 트래픽 사용량 정보를 분석한 분석 결과를 생성한다(S130).
SDN 컨트롤러 서버(100)는 네트워크 트래픽 사용량 정보에 기반하여, 총 네트워크 트래픽 사용량 및 단위 시간당 네트워크 트래픽 사용량을 분석할 수 있다.
여기에서 총 네트워크 트래픽 사용량은 해당 호스트(300)에서 최초 네트워크 트래픽이 발생한 시점에서부터 현재까지의 전체 사용량을 의미한다.
또한, 단위 시간당 네트워크 트래픽 사용량은 요청 메시지를 전송한 시간 값에 기초하여 산출되는 호스트(300)에서의 미리 설정된 단위 시간(예를 들어, 초) 동안의 네트워크 트래픽 사용량을 의미한다.
일 예로, SDN 컨트롤러 서버(100)는 요청 메시지를 전송한 제1 시간 값과 제2 시간 값을 기록한 후, 제1 및 제2 시간 값에 상응하도록 수신한 수신 메시지에서의 네트워크 트래픽 사용량 정보를 각각 추출한다. 그리고 제1 및 제2 시간 값의 차이에 따른 네트워크 트래픽 사용량 정보를 산출한 후, 이에 기초하여 미리 설정된 단위 시간인 초당 네트워크 트래픽 사용량을 산출할 수 있다.
이와 같이, 본 발명의 일 실시예는 후술하는 호스트(300)별로 네트워크 트래픽 사용량 정보를 분석함에 있어, 전체 시간 구간에서의 사용량뿐만 아니라, 시간 값을 기록 및 이용함으로써 특정 구간에서의 사용량, 단위 시간당 사용량 등의 분석이 가능하다.
본 발명의 일 실시예에서, SDN 컨트롤러 서버(100)는 호스트(300)별로 네트워크 트래픽 사용량 정보를 분석하는 것을 특징으로 한다. 즉, SDN 컨트롤러 서버(100)는 네트워크 장비(200)와 접속되어 관리되는 제1 호스트 및 제2 호스트에서의 네트워크 트래픽 사용량 정보를 각각 분석할 수 있다.
이를 위해, SDN 컨트롤러 서버(100)는 개별 네트워크 장비(200)로부터 수신한 수신 메시지를 통해, 해당 네트워크 장비(200)의 플로우 테이블을 조회하고, 플로우 테이블에 정의된 각 플로우 룰의 매치 필드를 참조하여 호스트(300) 단위로 분류된 네트워크 트래픽 사용량 정보에 대한 분석 결과를 생성한다. 도 3은 플로우 룰의 매치 필드의 일 예시를 도시한 도면이다.
또한, SDN 컨트롤러 서버(100)는 출발지(source) 및 목적지(destination)의 IP 주소 및 MAC 주소, 오픈플로우 프로토콜 및 포트 번호를 이용하여 네트워크 트래픽 사용량을 각 호스트(300) 단위로 분류할 수 있다.
즉, 네트워크 트래픽 사용량을 단순히 호스트(300) 별로 구분하는 것에서 더 나아가, 출발지 및 목적지의 IP 주소 및 MAC 주소, 오픈플로우 프로토콜 및 포트 번호에 따라 네트워크 트래픽 사용량을 세분화하여 제공할 수 있다. 한편, 본 발명의 일 실시예에서 참조하는 상기 항목들은 반드시 이에 한정되는 것은 아니며, 실시예에 따라 다양하게 변경 가능하다.
일 실시예로, 본 발명에서의 SDN 컨트롤러 서버(100)는 개별 호스트(300)의 네트워크 트래픽 사용량을 분석할 때, 출발지 및 목적지 주소로 이를 구분하여 호스트(300)의 송수신과 관련한 네트워크 트래픽 사용량을 분석할 수 있다.
이때, SDN 컨트롤러 서버(100)는, 플로우 룰에 기초하여 출발지 또는 목적지의 IP 및 MAC 주소 중 어느 하나와 일치하는 호스트(300)에 대한 송신 트래픽 사용량 또는 수신 트래픽 사용량을 분석할 수 있다.
일 예로, 다음과 같은 플로우 룰이 있는 경우, SDN 컨트롤러 서버(100)는 Flow A 및 Flow B에 대하여 호스트(300)에서의 수신 트래픽 사용량과 송신 트래픽 사용량을 분석할 수 있다.
- Flow A: table=0, n_packet=98, n_bytes=12234, priority=20000, dl_dst=f8:63:3f:2d:ce:86 actions=output:8
- Flow B: n_packet=170331, n_bytes=204210304, priority=30000, in_port =10.0.0.10/32 actions=output:51
여기에서, Flow A는 목적지(dl_dst)의 MAC 주소와 일치하는 호스트(300)의 수신 트래픽 사용량을 의미하며, Flow B는 출발지(nw_src)의 IP 주소와 일치하는 호스트(300)의 송신 트래픽 사용량을 의미한다.
일 실시예로, SDN 서버(100)는 네트워크 장비(200)의 특정 포트 및 링크에 대한 네트워크 트래픽 사용량 정보를 분석할 수도 있다. 즉, 본 발명의 일 실시예는 네트워크 장비(200)의 포트 별 네트워크 트래픽 사용량 정보를 분석하여, 특정 포트 또는 링크에 대한 네트워크 트래픽을 효과적으로 모니터링할 수 있다.
이와 같이, 본 발명의 일 실시예는 플로우 룰의 매치 데이터를 세분화하고, 이에 대한 네트워크 트래픽 사용량을 분석함으로써, 개별 호스트(300) 단위로 구분하거나 호스트(300)에서의 송수신 트래픽을 구분할 수 있다. 또한, arp, tcp 등과 같은 특정 프로토콜 및 포트 별 트래픽 사용량 등으로 세분화할 수 있으며, 나아가 네트워크 장비(200)의 포트별 네트워크 트래픽 사용량 정보까지 수집할 수 있어, 보다 다양하고 상세한 네트워크 트래픽 사용량 정보를 제공할 수 있다는 장점이 있다.
즉, 세분화된 네트워크 트래픽 사용량 정보의 분석을 통해, 본 발명은 호스트(300)를 특정하여 트래픽을 산출하거나, 프로토콜 및 포트 레벨까지 구분하여 트래픽 사용량을 산출할 수 있으며, 이를 통해 보다 정확한 과금 시스템 등에 활용 가능하다는 장점이 있다.
또한, 본 발명의 일 실시예는 상세한 네트워크 트래픽 사용량 분석을 통해, 네트워크에 위협이 되는 요소를 사전에 판단할 수 있다. 일 예로, ARP(Address Resolution Protocol) 송신에 대한 임계치를 설정하고, 네트워크 트래픽 사용량 분석을 통해 설정된 임계치를 상회하는 호스트(300)가 발생할 경우, arp flooding 등의 네트워크 공격으로 추정 및 대응이 가능하다.
한편, 상술한 설명에서, 단계 S110 내지 S130은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1 내지 도 3의 SDN 기반 네트워크 트래픽 사용량 분석 방법의 내용은 후술하는 도 4의 내용에도 적용될 수 있다.
이하에서는 본 발명의 일 실시예에 따른 SDN 기반 네트워크 환경에서 네트워크 트래픽 사용량을 분석하는 SDN 컨트롤러 서버(100, 이하 SDN 컨트롤러 서버)에 대하여 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 SDN 컨트롤러 서버(100)를 설명하기 위한 도면이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 SDN 컨트롤러 서버(100)는 통신모듈(110), 메모리(120) 및 프로세서(130)를 포함한다.
통신모듈(110)은 적어도 하나의 호스트(300)와 연결되는 개별 네트워크 장비(200)와 오픈 플로우 기반의 메시지를 송수신한다.
메모리(120)에는 SDN 기반 네트워크 환경에서의 네트워크 트래픽 사용량을 분석하기 위한 프로그램이 저장된다.
프로세서(130)는 메모리(120)에 저장된 프로그램을 실행시킴에 따라, 오픈플로우 기반의 메시지를 통해 개별 네트워크 장비(200)로 네트워크 트래픽 사용량 정보를 요청하고, 상기 요청에 상응하여 개별 네트워크 장비(200)로부터 개별 포트 및 플로우에 대한 네트워크 트래픽 사용량 정보를 포함하는 멀티파트 응답 메시지(Multipart Response message)를 수신한다. 그리고 프로세서(130)는 수신한 멀티파트 응답 메시지에 포함된 플로우 테이블을 조회하고, 플로우 테이블에 정의된 각 플로우 룰의 매치 필드를 참조하여 호스트(300) 단위로 분류된 네트워크 트래픽 사용량 정보에 대한 분석 결과를 생성한다.
도 4를 참조하여 설명한 SDN 컨트롤러 서버(100)는 상술한 서버의 구성요소로 제공될 수 있다.
이상에서 전술한 본 발명의 일 실시예에 따른 SDN 기반 네트워크 트래픽 사용량 분석 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: SDN 컨트롤러 서버
110: 통신모듈
120: 메모리
130: 프로세서
200: 네트워크 장비
300: 호스트

Claims (7)

  1. SDN 컨트롤러 서버에서의 SDN 기반 네트워크 트래픽 사용량 분석 방법에 있어서,
    적어도 하나의 호스트와 연결되는 개별 네트워크 장비로 오픈플로우 메시지에 기반한 네트워크 트래픽 사용량 정보를 요청하는 메시지(이하 요청 메시지)를 전송하는 단계;
    상기 요청 메시지에 대응하여, 상기 개별 네트워크 장비로부터 개별 포트 및 플로우에 대한 네트워크 트래픽 사용량 정보를 포함하는 멀티파트 응답 메시지(Multipart Response message, 이하 수신 메시지)를 수신하는 단계; 및
    상기 수신 메시지에 기초하여 상기 네트워크 트래픽 사용량 정보를 분석한 분석 결과를 생성하는 단계를 포함하되,
    상기 수신 메시지에 기초하여 상기 네트워크 트래픽 사용량 정보를 분석한 분석 결과를 생성하는 단계는,
    상기 수신 메시지에 포함된 플로우 테이블을 조회하는 단계; 및
    상기 플로우 테이블에 정의된 각 플로우 룰의 매치 필드를 참조하여 상기 호스트 단위로 분류된 네트워크 트래픽 사용량 정보에 대한 분석 결과를 생성하는 단계를 포함하는,
    SDN 컨트롤러 서버에서의 SDN 기반 네트워크 트래픽 사용량 분석 방법.
  2. 제1항에 있어서,
    상기 요청 메시지를 전송하는 단계는,
    상기 네트워크 장비에 주기적으로 상기 요청 메시지를 전송하는 단계; 및
    상기 각 요청 메시지를 전송한 시간 값을 기록하는 단계를 포함하는,
    SDN 컨트롤러 서버에서의 SDN 기반 네트워크 트래픽 사용량 분석 방법.
  3. 제2항에 있어서,
    상기 수신 메시지에 기초하여 상기 네트워크 트래픽 사용량 정보를 분석한 분석 결과를 생성하는 단계는,
    상기 호스트에서의 총 네트워크 트래픽 사용량 정보 및 상기 요청 메시지를 전송한 시간 값에 기초하여 상기 호스트에서의 미리 설정된 단위 시간당 네트워크 트래픽 사용량 정보를 산출하는 것인,
    SDN 컨트롤러 서버에서의 SDN 기반 네트워크 트래픽 사용량 분석 방법.
  4. 제1항에 있어서,
    상기 플로우 테이블에 정의된 각 플로우 룰의 매치 필드를 참조하여 상기 호스트 단위로 분류된 네트워크 트래픽 사용량 정보에 대한 분석 결과를 생성하는 단계는,
    상기 호스트에 각각 상응하는 출발지(source) 및 목적지(destination)에 대한 IP 및 MAC 주소, 오픈플로우 프로토콜 및 각 포트 번호 중 적어도 하나에 기초하여 상기 호스트에서의 송수신과 관련한 네트워크 트래픽 사용량 정보를 분석하는 것인,
    SDN 컨트롤러 서버에서의 SDN 기반 네트워크 트래픽 사용량 분석 방법.
  5. 제4항에 있어서,
    상기 플로우 테이블에 정의된 각 플로우 룰의 매치 필드를 참조하여 상기 호스트 단위로 분류된 네트워크 트래픽 사용량 정보에 대한 분석 결과를 생성하는 단계는,
    상기 플로우 룰에 기초하여, 상기 출발지 또는 목적지의 IP 및 MAC 주소 중 어느 하나와 일치하는 호스트에 대한 송신 트래픽 사용량 또는 수신 트래픽 사용량을 분석하는 것인,
    SDN 컨트롤러 서버에서의 SDN 기반 네트워크 트래픽 사용량 분석 방법.
  6. 제1항에 있어서,
    상기 수신 메시지에 기초하여 상기 네트워크 트래픽 사용량 정보를 분석한 분석 결과를 생성하는 단계는,
    상기 네트워크 장비로부터의 특정 포트 및 링크에 대한 네트워크 트래픽 사용량 정보를 분석하는 단계를 포함하는,
    SDN 컨트롤러 서버에서의 SDN 기반 네트워크 트래픽 사용량 분석 방법.
  7. SDN 기반 네트워크 환경에서 네트워크 트래픽 사용량을 분석하는 SDN 컨트롤러 서버에 있어서,
    적어도 하나의 호스트와 연결되는 개별 네트워크 장비와 오픈 플로우 기반의 메시지를 송수신하는 통신모듈,
    상기 SDN 기반 네트워크 환경에서의 네트워크 트래픽 사용량을 분석하기 위한 프로그램이 저장된 메모리 및
    상기 메모리에 저장된 프로그램을 실행시크는 프로세서를 포함하며,
    상기 프로세서는 상기 프로그램을 실행시킴에 따라, 상기 오픈플로우 기반의 메시지를 통해 상기 개별 네트워크 장비로 네트워크 트래픽 사용량 정보를 요청하고, 상기 개별 네트워크 장비로부터 개별 포트 및 플로우에 대한 네트워크 트래픽 사용량 정보를 포함하는 멀티파트 응답 메시지(Multipart Response message)를 수신하며, 상기 수신한 멀티파트 응답 메시지에 포함된 플로우 테이블을 조회하고, 상기 플로우 테이블에 정의된 각 플로우 룰의 매치 필드를 참조하여 상기 호스트 단위로 분류된 네트워크 트래픽 사용량 정보에 대한 분석 결과를 생성하는,
    SDN 기반 네트워크 환경에서 네트워크 트래픽 사용량을 분석하는 SDN 컨트롤러 서버.
KR1020200111118A 2020-09-01 2020-09-01 Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법 KR20220029142A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200111118A KR20220029142A (ko) 2020-09-01 2020-09-01 Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200111118A KR20220029142A (ko) 2020-09-01 2020-09-01 Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법

Publications (1)

Publication Number Publication Date
KR20220029142A true KR20220029142A (ko) 2022-03-08

Family

ID=80813253

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200111118A KR20220029142A (ko) 2020-09-01 2020-09-01 Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법

Country Status (1)

Country Link
KR (1) KR20220029142A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174270A (zh) * 2022-09-05 2022-10-11 杭州安恒信息技术股份有限公司 一种行为异常检测方法、装置、设备及介质
CN117041147A (zh) * 2023-10-08 2023-11-10 井芯微电子技术(天津)有限公司 智能网卡设备、主机设备和方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160105222A (ko) 2015-02-27 2016-09-06 에스케이텔레콤 주식회사 Sdn 기반의 네트워크 모니터링 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160105222A (ko) 2015-02-27 2016-09-06 에스케이텔레콤 주식회사 Sdn 기반의 네트워크 모니터링 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174270A (zh) * 2022-09-05 2022-10-11 杭州安恒信息技术股份有限公司 一种行为异常检测方法、装置、设备及介质
CN117041147A (zh) * 2023-10-08 2023-11-10 井芯微电子技术(天津)有限公司 智能网卡设备、主机设备和方法及系统
CN117041147B (zh) * 2023-10-08 2024-02-23 井芯微电子技术(天津)有限公司 智能网卡设备、主机设备和方法及系统

Similar Documents

Publication Publication Date Title
KR101917062B1 (ko) 소프트웨어 정의 네트워크에서 링크 플러딩 공격을 완화하기 위한 허니넷 방법, 시스템 및 컴퓨터 프로그램
KR101844136B1 (ko) 분산 소프트웨어 정의 네트워킹 환경에서 네트워크 이상을 감지하는 방법, 장치 및 컴퓨터 프로그램
US9577906B2 (en) Scalable performance monitoring using dynamic flow sampling
US20210092153A1 (en) Ddos attack detection and mitigation method for industrial sdn network
JP5520231B2 (ja) フロー情報に基づくネットワークデバイスのacl構成方法
US8266088B2 (en) Tracking policy decisions in a network
US7512705B2 (en) Truncating data units
US8730819B2 (en) Flexible network measurement
EP2056559B1 (en) Method and system for network simulation
US11272396B2 (en) Frame aggregation method, network setting frame sending method, and device
US9634851B2 (en) System, method, and computer readable medium for measuring network latency from flow records
CA2848360A1 (en) Network-wide flow monitoring in split architecture networks
CN104115463A (zh) 用于处理网络元数据的流式传输方法和系统
US11336545B2 (en) Network device measurements employing white boxes
CN111092840B (zh) 处理策略的生成方法、系统及存储介质
KR20220029142A (ko) Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법
CN106464670A (zh) 网络实体及服务策略管理方法
US9356876B1 (en) System and method for classifying and managing applications over compressed or encrypted traffic
CN116723154A (zh) 一种基于负载均衡的路由分发方法及系统
KR20180058592A (ko) Sdn 제어기
KR20210016802A (ko) 소프트웨어 정의 네트워킹 환경에서 서버-클라이언트 기반의 네트워크 서비스를 위한 플로우 테이블을 최적화하는 방법 및 이를 위한 sdn 스위치
KR20180058593A (ko) Sdn 화이트박스 스위치
CN114024895B (zh) 一种基于tr069的网络路线优化方法和系统
WO2023198174A1 (en) Methods and systems for predicting sudden changes in datacenter networks
Tremko et al. Reduction of IP flow information in network traffic monitoring systems

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application