KR102058373B1 - 네트워크 토폴로지 구조 분석 방법 - Google Patents

네트워크 토폴로지 구조 분석 방법 Download PDF

Info

Publication number
KR102058373B1
KR102058373B1 KR1020180028210A KR20180028210A KR102058373B1 KR 102058373 B1 KR102058373 B1 KR 102058373B1 KR 1020180028210 A KR1020180028210 A KR 1020180028210A KR 20180028210 A KR20180028210 A KR 20180028210A KR 102058373 B1 KR102058373 B1 KR 102058373B1
Authority
KR
South Korea
Prior art keywords
destination
monitor
monitors
candidate
destinations
Prior art date
Application number
KR1020180028210A
Other languages
English (en)
Other versions
KR20190106563A (ko
Inventor
김진수
박무성
윤지원
박현수
Original Assignee
국방과학연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 국방과학연구소 filed Critical 국방과학연구소
Priority to KR1020180028210A priority Critical patent/KR102058373B1/ko
Publication of KR20190106563A publication Critical patent/KR20190106563A/ko
Application granted granted Critical
Publication of KR102058373B1 publication Critical patent/KR102058373B1/ko

Links

Images

Classifications

    • 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/12Discovery or management of network topologies
    • 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/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은, 중앙 목적지 매칭 서버에 의한 네트워크 토폴로지 구조 분석 방법에 관한 것으로, 상기 네트워크 토폴로지 구조 분석 방법은, 어느 하나의 모니터로부터 제1 목적지까지의 제1 경로 정보를 수신하는 경우,상기 제1 경로 정보에 근거하여 빈도 데이터를 축적하는 단계 및 다른 모니터의 목적지와 겹치지 않는 어느 목적지를 상기 어느 하나의 모니터에 대한 제2 목적지로 선정하는 단계를 포함하고, 상기 제2 목적지로 선정하는 단계는, 상기 어느 하나의 모니터가 방문해야 하는 후보 목적지들, 그리고 다른 모니터들이 방문하고 있는 목적지들을 이용하여 비교 값을 산출하는 단계 및 상기 후보 목적지들 중 산출된 비교 값이 가장 높은 어느 하나의 후보 목적지를 상기 제2 목적지로 선정하는 단계를 포함한다.

Description

네트워크 토폴로지 구조 분석 방법{METHOD FOR DISCOVERING NETWORK TOPOLOGY}
본 발명은 네트워크 토폴로지의 구조를 분석하는 네트워크 토폴로지 구조 분석 방법에 관한 것이다.
오늘날 기술의 발달과 함께 많은 기기들이 네트워크로 묶여 보급화 되었다. 이에 따라서 하나의 건물 안에서도 수많은 네트워크 기기들이 서로 맞물리게 되는 경우도 부지기수로 많아지고 있는 실정이다. 하지만, 이에 따른 문제로 여러 네트워크 기기들의 자산식별의 어려움 또한 생겼다. 네트워크상에서의 자산식별은 단순히 자신의 기기 장치의 존재유무를 확인하는 것에서 그치는 것이 아니라, 네트워크 장비들의 IP 할당부터 시작하여, 어떠한 라우터에 배당되었는지 혹은 주변기기로 어떤 것이 있는지 여부 등의 네트워크적인 요소 또한 자산식별에 해당한다. 이러한 자산식별을 통하여 지속적인 자산의 유지보수가 가능해지고 외부로부터의 취약한 부분을 알 수 있다. 그로 인하여 취약한 부분에 대한 위협 모델링을 함으로써 새로운 위협에 대응 할 수 있다. 이러한 자산식별을 위하여 가장 먼저 수행되어야 할 일은 네트워크 지도를 그리는 것이다. 네트워크 지도를 이용하여 어떠한 자산들이 존재하고 어떠한 IP를 가지며, 어떠한 기기들이 서로 같은 서브넷(Subnet) 상에 존재하는지 등의 정보를 알 수 있다.
하지만, 이러한 네트워크 지도를 그리는데 따르는 어려움이 존재한다. 일반적으로 네트워크 지도를 그리는 대상은 세계 인터넷 망이었기 때문에 AS-level의 토폴로지를 구하였었다. 또한, 세계 인터넷 망의 토폴로지를 자세하게 구할 필요가 없어 추론 기법을 사용하였다. 하지만, 과거에는 사용 하지 않았던 사물 인터넷(IoT)의 등장으로 개개인의 네트워크의 규모마저도 큰 규모로 변화해가고 있다.
이렇게 커진 네트워크 규모로 인하여 네트워크 지도를 알아내는데 많은 자원이 필요로 하게 되었다. 실제로 IP 레벨에서 네트워크 지도를 그리는 데에는 상당한 양의 패킷이 오고가야 하고 이는 상대적으로 리소스의 크기가 작은 사물 인터넷에서는 성능 저하의 영향을 미치게 된다.
별형(Star) 네트워크 토폴로지를 사용하여 중앙 서버에서 모든 것을 관리하는 구조로 되어있다면 네트워크 토폴로지를 굳이 알 필요가 없지만, 이는 중앙 서버에 중요도가 편중되기 때문에 관리 및 보안에서 막대한 위험성이 존재하여 사용하지 않으므로 대신에 트리형(Tree-like) 네트워크 토폴로지를 사용한다. 즉, 트리형(Tree-like) 네트워크는 별형과 다르게 한곳으로 편중 되는 현상은 제거되는 반면 여러 노드를 거치기 때문에 다른 노드들에게 접근할 수 있으므로 네트워크 토폴로지 탐색 프로브(Probe)는 지속적으로 네트워크 망을 지나게 되며 병목 현상이 생길 수 있는 우려가 존재한다.
본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다.
본 발명은 중앙 목적지 매칭 서버에 의한 네트워크 토폴로지 구조 분석 방법을 제공한다.
상기 네트워크 토폴로지 구조 분석 방법은, 어느 하나의 모니터로부터 제1 목적지까지의 제1 경로 정보를 수신하는 경우,상기 제1 경로 정보에 근거하여 빈도 데이터를 축적하는 단계; 및 다른 모니터의 목적지와 겹치지 않는 어느 목적지를 상기 어느 하나의 모니터에 대한 제2 목적지로 선정하는 단계를 포함하고, 상기 제2 목적지로 선정하는 단계는, 상기 어느 하나의 모니터가 방문해야 하는 후보 목적지들, 그리고 다른 모니터들이 방문하고 있는 목적지들을 이용하여 비교 값을 산출하는 단계; 및 상기 후보 목적지들 중 산출된 비교 값이 가장 높은 어느 하나의 후보 목적지를 상기 제2 목적지로 선정하는 단계를 포함한다.
일 실시 예에 있어서, 상기 후보 목적지들을 이용하여 비교 값을 산출하는 단계는, 각 후보 목적지의 빈도 데이터를 전체 빈도 데이터로 나누어 확률 값으로 치환하는 단계; 상기 다른 모니터들이 방문하고 있는 목적지들에 대한 빈도 데이터를 대항 확률 값으로 치환하는 단계; 및 각 후보 목적지의 확률 값과 상기 대항 확률 값을 이용하여, 각 후보 목적지의 비교 값을 산출하는 단계를 포함할 수 있다.
일 실시 예에 있어서, 상기 네트워크 토폴로지 구조 분석 방법은, 각 후보 목적지의 확률 값과 상기 대항 확률 값에 대한 확률 분포의 차이를 이용하여 각 후보 목적지의 비교 값이 산출될 수 있다.
일 실시 예에 있어서, 상기 확률 분포의 차이는 쿨백-라이블러 발산에 의하여 산출될 수 있다.
일 실시 예에 있어서, 상기 네트워크 토폴로지 구조 분석 방법은, 상기 제1 경로 정보를 수신하는 경우, 데이터베이스에 저장된 제2 경로 정보와 상기 제1 경로 정보를 이용하여 새로운 경로를 생성하는 단계; 및 상기 생성된 새로운 경로를 이용하여 상기 빈도 데이터를 업데이트 하는 단계를 더 포함할 수 있다.
일 실시 예에 있어서, 상기 어느 하나의 모니터에 대응하는 글로벌 스톱 셋이 업데이트 될 수 있다.
일 실시 예에 있어서, 모니터들 간의 글로벌 스톱 셋의 동기화는 제한될 수 있다.
본 발명은, 기존의 트리 형식의 토폴로지 탐색 기법이 특정 시간에 특정 링크에 트래픽이 집중된다는 문제점을 해결하기 위한 것으로, 통계적인 기법을 이용하여 상기 특정 링크에 집중되는 트래픽을 분산시킬 수 있다.
도 1은 트레이스라우트(traceroute)를 수행하는 프로세스를 설명하기 위한 도면
도 2a 및 도 2b는 더블 트리 알고리즘의 네트워크 토폴로지 탐색 프로세서를 설명하기 위한 도면
도 3은 중간 노드에서서의 이동 방향을 설명하기 위한 도면
도 4는 경로 검색을 통해 빈도 데이터를 축적하는 방법을 설명하기 위한 도면
도 5는 두 개의 경로를 합하여 새로운 4개의 경로를 생성하는 방법을 설명하기 위한 도면
도 6은 쿨백-라이블러를 이용하여 목적지를 매칭하는 과정을 설명하기 위한 도면
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다수의 자산을 보유하고 있는 회사나 군과 같은 거대한 조직의 경우는, 네트워크로 맞물려 있는 자산들 사이의 토폴로지를 확인하기 위해서 다수의 모니터가 필요하다. 여기서 말하는 모니터란, 집단이 보유하고 있는 자산 중 네트워크 토폴로지 탐색에 사용되어지는 노드들을 말한다.
일반적으로 네트워크 지도를 그리기 위해서는 ICMP(Internet Control Message Protocol) 에러 메시지를 이용하는 트레이스라우트(Traceroute)라는 기술을 사용한다.
ICMP는 인터넷 환경에서 오류에 관한 처리를 지원하는 용도로 사용되며, IP 패킷의 데이터 부분에 캡슐화되어 송신 호스트에게 전달된다. TCP/IP 기반의 통신망에서 전송 과정에 문제가 발생하면 라우터에 의해 ICMP 메시지가 자동으로 발생하여 패킷 송신 호스트에게 전달된다.
트레이스라우트는 자신의 컴퓨터가 인터넷을 통해 목적지에 찾아가면서 거치는 구간의 정보를 기록하는 유틸리티. IP 주소나 URL로서 목적지를 입력하면 각 구간마다 지나는 게이트웨이 컴퓨터의 이름이나 주소, 그리고 걸리는 시간 등을 표시해 줌으로써 인터넷 경로 상의 문제점이 있는 네트워크를 파악할 수 있게 한다. 다시 말해, 어떠한 시작지로부터 목적지까지 탐색 패킷을 전송하고 이를 통하여 시작지로부터 목적지까지의 경로를 알아내는 방법이다.
트레이스라우트는 ICMP(Internet Control Message Protocol) 패킷을 이용하여 진행되며, 패킷의 TTL(Time-to-live) 부분을 변화시켜감으로써 경로를 순차적으로 알아 낼 수 있다.
도 1에 도시된 바와 같이 시작지로부터 목적지까지 ICMP 패킷을 전송하고 TTL 값을 1부터 순차적으로 증가시켜나가는 방식으로 진행된다. 패킷의 TTL 값은 한 홉을 거칠 때마다 1씩 감소하고 TTL이 0이 된 순간의 ICMP 패킷을 받은 중간 노드는 시작지에게 에러 메시지와 함께 자신의 IP를 노출시킨다. 이를 통하여 네트워크 경로가 추적될 수 있다.
네트워크 토폴로지를 탐색하는 종래 기법에 따르면, 다수의 모니터가 네트워크 탐색 알고리즘을 진행할 때, 중복되어지는 경우를 제하면서 네트워크 토폴로지를 탐색한다. 이때 발생되는 트래픽이 기존에 운영되어지고 있는 시스템에 영향을 주기 때문에, 링크에 많은 트래픽을 분산시키려 하는 노력이 필요하다.
종래 기법은 더블 트리(Double Tree) 알고리즘을 이용하는 것이다.
더블 트리 알고리즘은 트레이스라우트(traceroute)를 수행하여 네트워크 패킷의 한 경로상의 라우터들의 정보를 알아내는 것에 기반한다. 더블 트리 알고리즘의 핵심은 모니터와 모니터 간의 트레이스라우트(traceroute) 수행 시, 모니터 간에 중복되는 경로를 탐색하지 않는 것이다.
더블 트리 알고리즘은 일반적으로 IP단의 네트워크 토폴로지를 알아낼 때 수행되는 방법이다. 이 방법은 다수의 모니터(Traceroute를 수행하는 기기)에서 여러 목적지를 탐색 할 때, 모든 모니터에서 모든 목적지로 경로탐색을 수행하는 것이 아니라, 모니터와 모니터 간에 중복(Redundancy)되는 경로는 탐색 패킷을 보내지 않는 방식을 택한다. 또한, 여러 목적지에서 하나의 모니터로 경로를 역추적할 때 중간 노드부터 모니터까지 경로를 알고 있다면 역추적을 중단함으로써 중복을 피한다.
이러한 방식은 더블 트리라는 구조를 통하여 이루어진다. 도 2에서처럼 모니터 중심 트리(Monitor-rootedtree)와 목적지 중심 트리(Destination-rooted tree) 이렇게 두 가지 트리의 구조를 이용한다. 모니터 중심 트리는 하나의 모니터에서 여러 개의 목적지를 탐색함으로써 만들어지는 트리이며 목적지 중심 트리는 반대로 하나의 목적지로 여러 대의 모니터들이 패킷을 보내어서 탐색토록 하는 방식이다. 이렇듯 두 가지 트리구조를 이용함으로써 중복되는 지점을 효과적으로 탐지하고 해당 중복탐색을 효과적으로 제거하는 바탕을 마련한다. 특히 이러한 중복 탐색을 효과적으로 제거하기 위해서 두 가지 트리탐색 방식은 도 3과 같은 내부 알고리즘을 공유한다.
보통 트레이스라우트(traceroute)는 모니터에서 시작하여 순차적으로 목적지로 나아가는 반면에 더블 트리 알고리즘 사용하여 모니터와 목적지 중간부터 탐색을 시작하여 네트워크를 구조를 알아낼 수 있다. 예를 들어, 도 3에서와 같이 모니터와 목적지 사이의 홉(Hop)이 6이라 한다면 TTL 값을 3으로 설정하여 모니터와 목적지 사이의 중간노드부터 알아낸다. 그리고 Forward 방식과 Backward 방식을 사용하여 TTL 값을 증가시켜 중간노드 다음 노드를 알아내고 TTL 값을 감소시켜 중간 노드 이전의 노드를 알아낸다. Forward 방식에서는 중간 어떠한 노드부터 목적지까지 경로를 알고 있는지 여부를 글로벌 스톱 셋(Global Stop Set)을 통하여 확인 한 후, 존재하지 않는다면 Forward로 진행하고 아니라면 탐색을 중지한다. 마찬가지로 Backward 방식에서는 중간 어떠한 노드부터 목적지까지 경로를 알고 있는지 여부를 로컬 스톱 셋(Local Stop Set)을 통하여 확인 한 후, 존재하지 않는다면 Backward로 진행하고 아니라면 탐색을 중지한다. 이러한 방식을 이용함으로써 효과적으로 중복적으로 탐색하는 불필요한 과정을 제거할 수 있다.
하지만, 기존의 더블 트리 알고리즘에서는 각 모니터의 탐색 횟수를 줄여주는 방안은 모색하였지만 데이터베이스 요청 오버헤드및 부하 균형은 고려하지 않았다. 트레이스라우트(traceroute)를 사전에 실행할 때, 전체 경로를 알고 있지 않기 때문에 어느 구간을 먼저 실행하느냐에 따라 네트워크 부하가 바뀔 수 있다.
본 발명에 따른 네트워크 토폴로지 구조 분석 방법은 데이터 베이스 요청 오버헤드를 줄이고, 통게학적인 기법을 통하여 부하 균형을 이룬다. 본 발명에서는 더블 트리 알고리즘을 확률적으로 접근하여 어느 경로에서 탐색 중 일지를 예측하고 경로 탐색을 시행하여 동시간에 네트워크에 걸리는 부하를 줄이는 것을 목적으로 한다.
나아가, 본 발명에서는 토폴로지 탐색 시간을 줄이기 위한 방법뿐만 아니라, 트리형(tree) 망구조에서 네트워크 토폴로지를 탐색할 때 병목현상을 줄이는 방법을 제공한다. 이를 위하여 중앙 목적지 매칭 서버(100)가 이러한 탐색 경로를 저장하고 분석하며, 통계적 기법을 통해 네트워크 토폴로지가 탐색되면서 병목현상이 발생할 부분을 미리 예측하고 그와 겹치지 않는 경로를 찾아서 먼저 탐색을 수행한다.
본 발명에 따른, 네트워크 토폴로지 구조 분석 방법은 중앙 목적지 매칭 서버(100)를 포함한다.
상기 중앙 목적지 매칭 서버(100)는 네트워크에서 생성되는 데이터를 축적해서 데이터베이스에 저장한다.
상기 중앙 목적지 매칭 서버(100)는 모니터에게 탐색할 목적지 매칭 후, 목적지에 대한 글로벌 스톱 셋과 목적지를 모니터에게 전송하며 모니터로부터 받은 목적지 탐색 경로를 반영하여 데이터를 축적하고 이를 기반 하여 목적지를 매칭한다. 모니터에게 정보를 전송을 수행하기 위하여 중앙 목적지 매칭 서버(100)는 지속적으로 목적지 탐색 경로를 받아 이를 글로벌 스톱 셋에 저장 해준다.
중앙 목적지 매칭 서버(100)를 사용하게 되면 모니터에게 목적지를 매칭해줄 때 각 모니터에게 일괄적인 매칭 알고리즘을 적용 시킬 수 있다. 또한, 각 모니터에서 토폴로지 탐색 후 반환하는 경로를 통하여 중앙 목적지 매칭 서버에서는 경로에 대한 데이터를 축적할 수 있다. 이를 통하여, 각 모니터에게 목적지를 매칭 해줄 때 기존의 더블 트리 알고리즘과 같이 무작위적인 매칭이 아닌 데이터를 기반 하여 통계학적인 매칭을 수행 할 수 있다.
상기 중앙 목적지 매칭 서버(100)는 모니터에게 탐색할 목적지 매칭 후, 목적지에 대한 글로벌 스톱 셋과 목적지를 모니터에게 전송하고, 모니터로부터 받은 목적지 탐색 경로를 반영하여 데이터를 축적하고 이에 기반하여 새로운 목적지를 선정한다.
위에 제시한 기능 중 모니터에게 정보를 전송을 수행하기 위하여 중앙 목적지 매칭 서버는 지속적으로 목적지 탐색 경로를 받아 이를 글로벌 스톱 셋에 저장 해준다
어떠한 목적지를 탐색하고 있는 모니터가 트레이스라우트(Traceroute)를 통한 탐색이 완료되었을 시, 중앙 목적지 매칭 서버(100)에게 자신이 발견한 목적지까지의 경로를 반환한다. 이를 기반하여 중앙 목적지 매칭 서버(100)는 글로벌 스톱 셋을 갱신하고 빈도 데이터를 축적한다. 빈도 데이터는 도 4와 같은 방식으로 축적한다.
빈도 데이터는 Freq[시작점][목적지][노드]의 형태로 저장되며, Freq[시작점][목적지][노드]에는 모니터부터 목적지까지 거쳐 간 노드들의 빈도를 축적한다.
예를 들어, 도 4와 같은 경우 다음과 같이 빈도 데이터를 저장한다. 모니터 A로부터 목적지 D까지 반환된 경로는 A, B, C, D 이다. Freq[‘A’][‘D’][‘B’], Freq[‘A’][‘D’][‘C’]는 이 경로를 기반하여 각 1씩 빈도가 올라간다. 또한, 목적지 D 노드를 방문하기 전에 또 다른 목적지인 C 도 중간에 방문하였으므로, Freq[‘A’][‘C’][‘B’]도 빈도가 증가한다.
하지만, 이러한 방식으로 빈도 데이터를 축적 할 시 통계학적으로 목적지를 매칭하기 위한 데이터가 부족하게 된다. 어떠한 모니터에서 특정 목적지의 방문은 1번 이뤄지기 때문에 그에 대한 경로는 1개 밖에 존재하지 않기 때문이다. 이를 위하여 반환된 경로와 기존에 축적된 경로 데이터를 교차하여 새로운 경로를 생성한다. 이러한 새로운 경로를 통하여 더 많은 빈도 데이터를 축적 할수 있게 된다.
새로운 경로를 생성하는 방법은 다음과 같다.
어떠한 모니터부터 그 모니터가 방문하지 않은 목적지까지의 데이터 부족을 보완하기 위하여, 도 5와 같이 두 개의 경로를 합하여 새로운 경로를 만들어 중간 노드 빈도 데이터를 축적한다.
또한, 어떠한 모니터부터 그 모니터가 방문하지 않은 목적지까지의 데이터 부족을 보완하기 위하여 도 5와 같이 두 개의 경로를 합하여 새로운 경로를 만들어 중간 노드 빈도 데이터를 축적한다. 또한, 새로 만들어진 경로를 통하여 모니터에서 목적지까지 기존의 경로보다 더 짧은 경로를 구하였다면 실질적으로 모니터가 목적지로 이전의 경로를 통하여 갈 경우는 없으므로, 두 모니터와 목적지간의 빈도 데이터를 초기화한다.
도 5에서 각각의 모니터가 구한 Path 1과 Path 2의 경로는 “C” 라는 노드를 공유하기 때문에 서로 교차시킬 수 있다. 서로 다른 경로를 교차시키게 되면 총 4가지의 새로운 경로가 탄생하게 된다. 또한, 새롭게 구한 Path 3, 4, 5, 6은 각각 거리 4, 2, 3, 3을 가진다. 이중에 Path 3은 시작점부터 목적지까지 가는 경로가 이전에 구해진 적이 없으므로 거리 값(Dist)이 -1로 초기화 되어 있다. 반면, Path 4, 5, 6의 경우 이전에 가는 경로가 구해져 있고 그 거리는 각각 2, 4, 2 이었다.
위와 같은 경우에, Path 3은 경로가 이전에 구해진 적이 없으므로 Freq[‘E’]의 값을 앞에서 설명한 빈도 데이터 축적 방법을 통하여 축적한다. 또한 Path 4의 경우는 이전에 가는 경로가 구해져 있지만 현재 새로 만든 경로와 이전의 경로 중 어디를 택할지 모르기 때문에 Freq[‘D’][‘G’]에 빈도 데이터를 축적한다. 또한 Path 5의 경우에는 이전에 구한 경로보다 새로 만든 경로가 짧으므로 이전에 구한 경로를 통해 토폴로지 탐색할 경우는 없다. 그러므로 기존의 Freq[‘A’][‘G’]를 0으로 초기화 한 후 새로 Freq[‘A’][‘G’][‘B’], Freq[‘A’][‘G’][‘C’]의 빈도를 올려준다. 하지만 Path 6의 경우에는 이전에 구한 경로가 새롭게 구한 경로보다 짧다. 이런 경우에, 현재 새롭게 구한 경로를 통해 토폴로지 탐색을 수행할 경우는 없으므로 버리게 된다.
도 5에 도시된 바와 같이, 본 발명에 따른 네트워크 토폴로지 구조 분석 방법은 더블 트리 알고리즘과 마찬가지로 모니터가 구한 두 경로가 경합하는 경우, 각각의 거리를 계산하고 상기 중앙 목적지 매칭 서버(100)의 데이터베이스에 저장한다.
기존의 더블 트리 알고리즘에서 사용하는 글로벌 스톱셋은 모니터들이 공용으로 사용하기 때문에 지속적으로 모니터 간에 동기화가 되어야 하는 데이터이다. 하지만, 이러한 데이터의 동기화 작업은 지속적으로 데이터베이스에 요청하기 때문에 오버헤드(Overhead)가 발생하게 된다.
본 발명에 따른 중앙 목적지 매칭 서버(100)에 의한 네트워크 토폴로지 구조 분석 방법은 중앙 목적지 매칭 서버(100)에서 모니터들끼리 서로 겹치지 않는 목적지를 매칭해주는 방식을 택한다.
모니터들끼리 글로벌 스톱 셋을 동기화하여야 하는 이유는 모니터 자신이 탐색하고 있는 목적지에 대한 글로벌 스톱 셋이 변경 되었을 때, 모니터는 변경된 사항을 확인하고 탐색을 중지해도 되는지의 여부를 판단할 수 있기 때문이다. 하지만, 서로 겹치지않는 목적지를 매칭하게 되면 자신이 탐색하고 있는 목적지에 대해 글로벌 스톱 셋이 변경되지 않기 때문에 글로벌 스톱 셋을 동기화할 필요가 없게 된다.
또한, 다른 모니터가 현재 자신이 탐색하고 있는 목적지를 탐색하 고있지 않으므로 모니터는 탐색 도중에 지속적으로 글로벌 스톱 셋을 갱신 할 필요 없이 목적지에 대해 탐색을 다 마친 후 글로벌 스톱 셋을 갱신하여도 문제가 생기지 않게 된다.
즉, 상기 중앙 목적지 매칭 서버(100)는 모니터들 간의 글로벌 스톱 셋의 동기화를 제한함으로써, 데이터베이스에 요청하는 오버헤드를 해결 할 수 있게 된다.
이렇게 축적된 빈도 데이터를 바탕으로 모니터를 어떠한 목적지에 매칭 시키기 위하여 쿨백-라이블러를 사용한다. 현재 다른 모니터가 방문하고 있는 목적지와 매칭을 원하는 모니터가 방문해야하는 목적지 간의 쿨백-라이블러 값을 계산한다.
예를 들어, 도 6에 도시된 바와 같이, 매칭을 원하는 모니터를 “A”, 다른 모니터를 각각 “B”, “C’라 하고, “A”모니터가 방문해야하는 목적지를 각각 “D”, “E”이라 전제한다. 또한, 모니터 “B”, “C”가 방문하고 있는 목적지가 각각 “F”, “G”이라 전제한다.
첫 번째, Freq[‘A’][‘D], Freq[‘A’][‘E’]의 빈도 데이터를 각각 전체로 나누어 확률 값으로 치환하여 이를 Pr[‘A’][‘D’], Pr[‘A’][‘E’]로 지정한다.
두 번째, req[‘B’][‘F’], Freq[‘C’][‘G’]의 값을 각각 확률로 치환 후 더하고 평균을 내어 두 모니터가 가지는 빈도 데이터를 하나의 값으로 치환하여 이를 TotalPr이라는 변수로 지정한다.
세 번째, 쿨백-라이블러를 이용하여 아래의 [수학식 1] 에 따른 D1과 [수학식 2]에 따른 D2를 구하고, 이 중 큰 값을 선택함으로써, "A"모니터의 목적지를 지정한다.
Figure 112018024153615-pat00001
Figure 112018024153615-pat00002
여기서, 쿨백-라이블러 발산(Kullback-Leibler divergence, KLD)은 두 확률분포의 차이를 계산하는 데에 사용하는 함수로, 어떤 이상적인 분포에 대해, 그 분포를 근사하는 다른 분포를 사용해 샘플링을 한다면 발생할 수 있는 정보 엔트로피 차이를 계산한다. 상대 엔트로피(relative entropy), 정보 획득량(information gain), 인포메이션 다이버전스(information divergence)라고도 한다. 정보이론에서는 상대 엔트로피, 기계학습의 결정 트리에서는 정보 획득량을 주로 사용한다. 쿨백-라이블러 발산은 비대칭으로, 두 값의 위치를 바꾸면 함수값도 달라진다. 따라서 이 함수는 거리 함수는 아니다.
위의 과정을 통하여 중앙 목적지 매칭 서버(100)는 “A” 모니터에게 쿨백-라이블러 값이 가장 큰 “E” 목적지를 매칭 시킨다. 이를 통하여, “B”, “C” 모니터가 현재 탐색을 위하여 진행 중인 경로와 가장 겹치지 않는 경로를 가진 목적지를 선택해주게 된다.
최종적으로 도 6에서 보듯이 쿨백-라이블러 발산을 계산하고 이에 반한 경로로 탐색을 하게 되면 확률적으로 두 경로로 인해 노드가 겹칠 확률은 줄어들게 된다. 이미 탐색된 노드를 데이터로 사용하여 다음 검색에서 겹치지 않도록 위와 같은 통계적 접근법을 이용한다면, 한 링크에서 네트워크 패킷이 과부화되는 문제를 해결할 수 있다.
위의 과정이 완료된 후, 중앙 목적지 매칭 서버(100)는 모니터에게 목적지 및 목적지의 글로벌 스톱 셋을 전송한다. 이 과정이 반복되어 더이상 방문해야 하는 목적지가 존재하지 않는다면 알고리즘은 종료된다.
본 발명은 규모가 크고 여러 지사를 두고 있는 군이나 규모가 큰 회사 같은 조직이 지니고 있는 네트워크 자산들을 네트워크 관점에서 어느 노드가 얼마나 취약한지를 실시간으로 모니터링 할 때, 기존 업무 프로세스에 영향을 덜 미치면서 탐색하는 방안을 내포하고 있다. 보안이라는 산업특성상 보안회사가 아닌 이상 보안 기술을 바탕으로 직접적인 수익을 창출하지는 않지만, 조직의 자산을 지키기 위해 네트워크 자산에 대한 모니터링은 항시 이루어져야하고 이를 위해서는 본 네트워크 탐색 기술이 필수적이다.
본 발명에 따르면, 기존의 네트워크 지도를 알아내기 위하여 일반적으로 사용하는 더블 트리 알고리즘에 비해 향상된 성능을 보이며, 이를 통하여 트래픽의 부하 균형을 이뤄 병목현상을 기피한다.
전체 토폴로지를 알아내는 데 기존의 더블 트리 알고리즘은 기여도가 2.4% ~ 8.89% 로서 균등하지 않은 반면, 본 발명에 따르면 각 모니터가 6.61% ~ 8.28%의 기여도를 보임으로써 전체 토폴로지를 알아내는 데 기여한 비율이 기존의 더블 트리 알고리즘에 비해 균등해진다. 여러 모니터들이 토폴로지를 균등한 기여도를 가지고 탐색하는 것은 다른 모니터들과 토폴로지 탐색을 할 때 경로가 겹치지 않고 서로 다른 경로를 검색한 것임을 유추 할 수 있다.
한편, 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 단말기를 포함할 수도 있다.
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (7)

  1. 중앙 목적지 매칭 서버에 의한 네트워크 토폴로지 구조 분석 방법에 관한 것으로,
    어느 하나의 모니터로부터 제1 목적지까지의 제1 경로 정보를 수신하는 경우, 상기 제1 경로 정보에 근거하여 빈도 데이터를 데이터베이스에 축적하는 단계; 및
    다른 모니터의 목적지와 겹치지 않는 어느 목적지를 상기 어느 하나의 모니터에 대한 제2 목적지로 선정하는 단계를 포함하고,
    상기 제2 목적지로 선정하는 단계는,
    상기 데이터베이스에 저장된 모니터들 중 다른 모니터들이 목적지로 탐색하고 있는 모니터를 제1그룹으로 분류하고, 그렇지 않은 모니터를 제2그룹으로 분류하며, 상기 제2그룹에 포함된 모니터를 후보 목적지들로 선정하는 단계;
    상기 어느 하나의 모니터가 방문해야 하는 후보 목적지들, 그리고 다른 모니터들이 방문하고 있는 목적지들을 이용하여 비교 값을 산출하는 단계; 및
    상기 후보 목적지들 중 산출된 비교 값이 가장 높은 어느 하나의 후보 목적지를 상기 제2 목적지로 선정하는 단계를 포함하는 것을 특징으로 하는 중앙 목적지 매칭 서버에 의한 네트워크 토폴로지 구조 분석 방법.
  2. 제1항에 있어서,
    상기 후보 목적지들을 이용하여 비교 값을 산출하는 단계는,
    각 후보 목적지의 빈도 데이터를 전체 빈도 데이터로 나누어 확률 값으로 치환하는 단계;
    상기 다른 모니터들이 탐색하고 있는 목적지들에 대한 빈도 데이터를 대항 확률 값으로 치환하는 단계; 및
    각 후보 목적지의 확률 값과 상기 대항 확률 값을 이용하여, 각 후보 목적지의 비교 값을 산출하는 단계를 포함하는 것을 특징으로 하는 중앙 목적지 매칭 서버에 의한 네트워크 토폴로지 구조 분석 방법.
  3. 제2항에 있어서,
    각 후보 목적지의 확률 값과 상기 대항 확률 값에 대한 확률 분포의 차이를 이용하여 각 후보 목적지의 비교 값이 산출되는 것을 특징으로 하는 중앙 목적지 매칭 서버에 의한 네트워크 토폴로지 구조 분석 방법.
  4. 제3항에 있어서,
    상기 확률 분포의 차이는 쿨백-라이블러 발산에 의하여 산출되는 것을 특징으로 하는 중앙 목적지 매칭 서버에 의한 네트워크 토폴로지 구조 분석 방법.
  5. 제1항에 있어서,
    상기 제1 경로 정보를 수신하는 경우, 데이터베이스에 저장된 제2 경로 정보와 상기 제1 경로 정보를 이용하여 새로운 경로를 생성하는 단계; 및
    상기 생성된 새로운 경로를 이용하여 상기 빈도 데이터를 업데이트 하는 단계를 더 포함하는 것을 특징으로 하는 중앙 목적지 매칭 서버에 의한 네트워크 토폴로지 구조 분석 방법.
  6. 제1항에 있어서,
    상기 빈도 데이터를 축적하는 단계에서,
    상기 어느 하나의 모니터에 대응하는 글로벌 스톱 셋이 업데이트 되는 것을 특징으로 하는 중앙 목적지 매칭 서버에 의한 네트워크 토폴로지 구조 분석 방법.
  7. 제6항에 있어서,
    모니터들 간의 글로벌 스톱 셋의 동기화는 제한되는 것을 특징으로 하는 중앙 목적지 매칭 서버에 의한 네트워크 토폴로지 구조 분석 방법.
KR1020180028210A 2018-03-09 2018-03-09 네트워크 토폴로지 구조 분석 방법 KR102058373B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180028210A KR102058373B1 (ko) 2018-03-09 2018-03-09 네트워크 토폴로지 구조 분석 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180028210A KR102058373B1 (ko) 2018-03-09 2018-03-09 네트워크 토폴로지 구조 분석 방법

Publications (2)

Publication Number Publication Date
KR20190106563A KR20190106563A (ko) 2019-09-18
KR102058373B1 true KR102058373B1 (ko) 2019-12-24

Family

ID=68071050

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180028210A KR102058373B1 (ko) 2018-03-09 2018-03-09 네트워크 토폴로지 구조 분석 방법

Country Status (1)

Country Link
KR (1) KR102058373B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100877911B1 (ko) * 2008-01-31 2009-01-12 전남대학교산학협력단 네트워크 트래픽 전이 모델을 이용한 피투피 기반 봇넷탐지방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100877911B1 (ko) * 2008-01-31 2009-01-12 전남대학교산학협력단 네트워크 트래픽 전이 모델을 이용한 피투피 기반 봇넷탐지방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Xing Jin et al., "A Distributed Approach to End-to-End Network Topology Inference", IEEE, 2007*
Xing Jin et al., "Network Topoloy Inference Based on End-to-End Measurements", IEEE, 2006*

Also Published As

Publication number Publication date
KR20190106563A (ko) 2019-09-18

Similar Documents

Publication Publication Date Title
US6820121B1 (en) Methods systems and computer program products for processing an event based on policy rules using hashing
CN101981546B (zh) 以不取得事件信息的it装置为对象的根本原因分析方法、装置及程序
US9160571B2 (en) Requesting a service from a multicast network
EP1825654B1 (en) Routing a service query in an overlay network
JP5077104B2 (ja) ネットワーク障害検知プログラム、システム、及び方法
Nomikos et al. traIXroute: Detecting IXPs in traceroute paths
JP5804061B2 (ja) 通信システム、制御装置、通信方法およびプログラム
US20110170402A1 (en) Apparatus and method for generating topology tree
EP3113423A1 (en) Data object and networking node locators
US10452726B2 (en) In-network semantic mashup for an information-centric networking (ICN) network
KR102041717B1 (ko) 무선 네트워크에서 노드 사이의 신뢰도 파라미터 산출 방법, 신뢰도 파라미터를 이용한 라우팅 경로 설정 방법 및 장치
US8233480B2 (en) Network clustering
Cheung et al. Publisher placement algorithms in content-based publish/subscribe
US20090150564A1 (en) Per-user bandwidth availability
US11172470B1 (en) System, security and network management using self-organizing communication orbits in distributed networks
Pu ProNDN: MCDM‐Based Interest Forwarding and Cooperative Data Caching for Named Data Networking
Baumann et al. Vulnerability against internet disruptions–a graph-based perspective
KR102058373B1 (ko) 네트워크 토폴로지 구조 분석 방법
US8996427B2 (en) Method for a system that solves multimedia resource discovery and retrieval problem sets
US20060120391A1 (en) Determining highest workloads for nodes in an overlay network
US20240039851A1 (en) Method and system to predict the ingress interface of internet traffic
CN110611688B (zh) 用于查找节点的方法、电子设备和计算机程序产品
Abid et al. Merging of DHT‐based logical networks in MANETs
EP3945710B1 (en) Method and system to reduce a number of border gateway protocol neighbors crossed to reach target autonomous systems
Jadidoleslamy TMS‐HCW: a trust management system in hierarchical clustered wireless sensor networks

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