KR20210099277A - 벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 장치 및 방법 - Google Patents

벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 장치 및 방법 Download PDF

Info

Publication number
KR20210099277A
KR20210099277A KR1020200012924A KR20200012924A KR20210099277A KR 20210099277 A KR20210099277 A KR 20210099277A KR 1020200012924 A KR1020200012924 A KR 1020200012924A KR 20200012924 A KR20200012924 A KR 20200012924A KR 20210099277 A KR20210099277 A KR 20210099277A
Authority
KR
South Korea
Prior art keywords
dimensional
coordinate system
tree
network
dimensional coordinate
Prior art date
Application number
KR1020200012924A
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 KR1020200012924A priority Critical patent/KR20210099277A/ko
Publication of KR20210099277A publication Critical patent/KR20210099277A/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • 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/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity

Landscapes

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

Abstract

네트워크를 구성하는 네트워크 장비들을 벡터 기반으로 자동으로 정렬하여 네트워크 토폴로지를 형상화하는 장치 및 방법이 개시된다. 일 실시예에 따른 벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 장치는, 각 네트워크 장비의 고유 식별자를 이용하여 각 네트워크 장비를 3차원 좌표계에 배치하는 3차원 배치부; 네트워크 장비 간의 연결 정보를 수집하여 상기 3차원 좌표계에 배치된 각 네트워크 장비 간의 연결 관계를 생성하는 연결 관계 생성부; 상기 3차원 좌표계에 배치된 네트워크 장비들 사이의 링크 메트릭에 기초하여 네트워크의 2차원 트리를 생성하고 루프를 제거하는 2차원 배치부; 및 상기 2차원 트리에서 동일 계층의 네트워크 장비들을 소정의 간격으로 수평하게 배치하여 화면에 표현하는 표현부를 포함한다.

Description

벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 장치 및 방법{Apparatus and method for automatically visualizing network topology based on vector}
본 발명은 네트워크를 관제하는 기술에 관한 것으로서, 보다 구체적으로 벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 장치 및 방법에 관한 것이다.
SDN(Software Defined Network)과 같은 네트워크 관제 솔루션의 도입 및 상용화가 활성화되고 있다. 각 네트워크별로 적게는 수십 대에서 많게는 수십만 대에 이르는 네트워크 장비를 보유한 기간 망 사업자의 경우 이러한 관제 솔루션을 이용한 통합 관리는 필수적이다. 통합 관리에서 간과할 수 없는 것은 고효율성이다. SDN과 같은 네트워크 관제 솔루션으로 네트워크에 속한 모든 네트워크 장비를 관제하더라도 관제 데이터는 텍스트 형태의 비정형(raw) 데이터이기 때문에 가독성이 떨어져 네트워크 운용자가 한눈에 보고 신속하게 종합적인 판단을 하는데 어려움이 따른다. 이 때문에 최근의 관제 시스템에서는 네트워크에 대한 토폴로지 정보를 형상화(visualization)하여 제공하고 있다. 예를 들어, 네트워크 장비들 간의 연결 관계 및 장애 정보 등을 형상화하여 제공한다.
이렇게 제공되는 형상화 정보는 관제 시스템에서 자동으로 생성한 것이 아닌 네트워크 운용자가 수작업으로 직접 화면상에 각 네트워크 장비들을 보기 좋게 배치한 것이다. 도 1은 네트워크 장비들로 구성된 임의의 네트워크를 나타낸 도면으로, 네트워크 스위치(SW)로만 구성된 예이다. 도 1에 도시된 바와 같은 네트워크가 존재한다고 가정할 경우, 네트워크 운용자는 직접 관제 시스템에서 네트워크 장비들의 연결 관계를 분석하여 수작업으로 보기 좋게 배치해야 한다. 따라서 시간과 비용이 많이 소요는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위해 제안된 것으로, 네트워크를 구성하는 네트워크 장비들을 벡터 기반으로 자동으로 정렬하여 네트워크 토폴로지를 형상화하는 장치 및 방법을 제공하는데 그 목적이 있다.
일 실시예에 따른 벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 장치는, 각 네트워크 장비의 고유 식별자를 이용하여 각 네트워크 장비를 3차원 좌표계에 배치하는 3차원 배치부; 네트워크 장비 간의 연결 정보를 수집하여 상기 3차원 좌표계에 배치된 각 네트워크 장비 간의 연결 관계를 생성하는 연결 관계 생성부; 상기 3차원 좌표계에 배치된 네트워크 장비들 사이의 링크 메트릭에 기초하여 네트워크의 2차원 트리를 생성하고 루프를 제거하는 2차원 배치부; 및 상기 2차원 트리에서 동일 계층의 네트워크 장비들을 소정의 간격으로 수평하게 배치하여 화면에 표현하는 표현부를 포함한다.
상기 3차원 배치부는, 각 네트워크 장비의 고유 식별자를 전처리하여 3개 부분으로 분할하고 각 부분을 3차원 좌표계의 각 축의 좌표로 설정할 수 있다.
상기 2차원 배치부는, 링크 메트릭이 가장 낮은 링크에 연결된 네트워크 장비들 중 하나를 루트 노드로 하여 2차원 트리를 생성하고, 루프를 형성하는 네트워크 장비 간의 링크 중 하나를 제거할 수 있다.
상기 2차원 배치부는, 상기 2차원 트리에서 동일 계층에서 상호 연결된 네트워크 장비들 중 루트까지의 경로 개수가 가장 적은 네트워크 장비를 선정한 후 그 경로들 중 상기 3차원 좌표계에서 루트까지의 경로가 가장 긴 경로를 선정하고 해당 네트워크 장비에 연결된 링크 중 상기 선정된 경로에 포함되는 링크를 제거하는 과정을, 루프가 모두 제거될 때까지 반복할 수 있다.
상기 2차원 배치부는, 링크 메트릭이 가장 낮은 링크에 연결된 네트워크 장비 각각을 루트 노드로 하여 생성한 복수의 2차원 트리 중 하나를 밸런스 팩터에 기초하여 선택할 수 있다.
상기 2차원 배치부는, 상기 복수의 2차원 트리 중 모든 밸런스 팩터가 1 이하이거나 밸런스 팩터의 최대 값이 가장 작은 2차원 트리를 선택할 수 있다.
상기 표현부는, 상기 2차원 트리의 루트 노드를 2차원 좌표계의 임의의 좌표에 배치하고, 그 하위의 각 노드들을 상기 2차원 좌표계에 배치하는데 있어서, 동일 계층의 노드들은 수평하게 배치하되, 부모 노드에서 두 자식 노드를 잇는 직선 사이의 각도들이 서로 동일하도록 배치할 수 있다.
상기 표현부는, 자식 노드의 개수가 짝수인 부모 노드의 경우, 상기 2차원 좌표계의 Y 축에 평행하고 상기 부모 노드를 지나는 직선을 기준으로 자식 노드들을 좌우 대칭으로 배치할 수 있다.
상기 표현부는, 자식 노드의 개수가 홀수인 부모 노드의 경우, 상기 2차원 좌표계의 Y 축에 평행하고 상기 부모 노드를 지나는 직선 상에 하나의 자식 노드를 배치하고 나머지 자식 노드들을 상기 직선을 기준으로 좌우 대칭으로 배치할 수 있다.
일 실시예에 따른 벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 방법은, 각 네트워크 장비의 고유 식별자를 이용하여 각 네트워크 장비를 3차원 좌표계에 배치하는 단계; 네트워크 장비 간의 연결 정보를 수집하여 상기 3차원 좌표계에 배치된 각 네트워크 장비 간의 연결 관계를 생성하는 단계; 상기 3차원 좌표계에 배치된 네트워크 장비들 사이의 링크 메트릭에 기초하여 네트워크의 2차원 트리를 생성하고 루프를 제거하는 단계; 및 상기 2차원 트리에서 동일 계층의 네트워크 장비들을 소정의 간격으로 수평하게 배치하여 화면에 표현하는 단계를 포함한다.
상기 3차원 좌표계에 배치하는 단계는, 각 네트워크 장비의 고유 식별자를 전처리하여 3개 부분으로 분할하고 각 부분을 3차원 좌표계의 각 축의 좌표로 설정할 수 있다.
상기 2차원 트리를 생성하고 루프를 제거하는 단계는, 링크 메트릭이 가장 낮은 링크에 연결된 네트워크 장비들 중 하나를 루트 노드로 하여 2차원 트리를 생성하고, 루프를 형성하는 네트워크 장비 간의 링크 중 하나를 제거할 수 있다.
상기 2차원 트리를 생성하고 루프를 제거하는 단계는, 상기 2차원 트리에서 동일 계층에서 상호 연결된 네트워크 장비들 중 루트까지의 경로 개수가 가장 적은 네트워크 장비를 선정한 후 그 경로들 중 상기 3차원 좌표계에서 루트까지의 경로가 가장 긴 경로를 선정하고 해당 네트워크 장비에 연결된 링크 중 상기 선정된 경로에 포함되는 링크를 제거하는 과정을, 루프가 모두 제거될 때까지 반복할 수 있다.
상기 2차원 트리를 생성하고 루프를 제거하는 단계는, 링크 메트릭이 가장 낮은 링크에 연결된 네트워크 장비 각각을 루트 노드로 하여 생성한 복수의 2차원 트리 중 하나를 밸런스 팩터에 기초하여 선택할 수 있다.
상기 2차원 트리를 생성하고 루프를 제거하는 단계는, 상기 복수의 2차원 트리 중 모든 밸런스 팩터가 1 이하이거나 밸런스 팩터의 최대 값이 가장 작은 2차원 트리를 선택할 수 있다.
상기 표현하는 단계는, 상기 2차원 트리의 루트 노드를 2차원 좌표계의 임의의 좌표에 배치하고, 그 하위의 각 노드들을 상기 2차원 좌표계에 배치하는데 있어서, 동일 계층의 노드들은 수평하게 배치하되, 부모 노드에서 두 자식 노드를 잇는 직선 사이의 각도들이 서로 동일하도록 배치할 수 있다.
상기 표현하는 단계는, 자식 노드의 개수가 짝수인 부모 노드의 경우, 상기 2차원 좌표계의 Y 축에 평행하고 상기 부모 노드를 지나는 직선을 기준으로 자식 노드들을 좌우 대칭으로 배치할 수 있다.
상기 표현하는 단계는, 자식 노드의 개수가 홀수인 부모 노드의 경우, 상기 2차원 좌표계의 Y 축에 평행하고 상기 부모 노드를 지나는 직선 상에 하나의 자식 노드를 배치하고 나머지 자식 노드들을 상기 직선을 기준으로 좌우 대칭으로 배치할 수 있다.
본 발명은 네트워크 장비의 고유 식별자를 이용하여 네트워크 장비들을 3차원 좌표계에 표현함으로써 네트워크 장비들의 물리적 위치를 모르더라도 네트워크 장비 간의 거리를 추정할 수 있고 이를 기초로 네트워크의 2차원 트리의 루프를 제거할 수 있다.
종래에는 네트워크 관제 시스템에서 네트워크를 최초 관제할 때 네트워크 장비들을 수동으로 화면에 정렬하여 네트워크 토폴로지를 형성화하지만, 본 발명은 자동으로 네트워크 토폴로지를 형상화함으로써 관제 시스템의 효율성을 높인다. 예를 들어 100개의 네트워크 장비를 관제하는 경우, 종래에는 100개의 네트워크 장비를 수작업으로 보기 좋게 정렬하여 좌표를 저장해야 하지만, 본 발명은 자동으로 네트워크 장비들의 연결 관계를 분석하여 가독성 높게 화면에 배치함으로써 관제 효율을 높인다.
도 1은 네트워크 장비들로 구성된 임의의 네트워크를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 네트워크 토폴로지를 자동으로 형상화하는 장치의 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 3차원 좌표계에 배치된 네트워크 장비들을 나타낸 도면이다.
도 4는 도 3의 3차원 토폴로지를 xy 평면에 투영하여 보기 좋게 재배치한 2차원 토폴로지의 예이다.
도 5는 본 발명의 일 실시예에 따른 2차원 트리를 나타낸 도면이다.
도 6은 도 5에서 (177.5.8.221)와 (177.119.199.106) 사이의 링크를 제거한 예이다.
도 7은 도 6에서 (66.114.212.121)과 (66.114.190.46) 사이의 링크와, (66.114.212.121)과 (170.161.32.12) 사이의 링크를 제거한 예이다.
도 8은 도 7의 2차원 트리의 밸런스 팩터를 계산한 예이다.
도 9는 본 발명의 일 실시예에 따른 다른 루트 노드 후보를 기준으로 생성된 2차원 트리의 밸런스 팩터를 계산한 예이다.
도 10은 본 발명의 일 실시예에 따른 루트 노드와 자식 노드의 배치 관계를 나타낸 도면이다.
도 11은 본 발명의 일 실시예에 따른 부모 노드와 4개의 자식 노드를 배치한 예이다.
도 12는 본 발명의 일 실시예에 따른 부모 노드와 3개의 자식 노드를 배치한 예이다.
도 13은 본 발명의 일 실시예에 따른 네트워크 토폴로지를 자동으로 형상화하는 방법을 설명하는 흐름도이다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 네트워크 토폴로지를 자동으로 형상화하는 장치의 구성을 나타낸 도면이다. 본 실시예에 따른 장치(200)는, 메모리, 메모리 제어기, 하나 이상의 프로세서(CPU), 주변 인터페이스, 입출력(I/O) 서브시스템, 디스플레이 장치, 입력 장치 및 통신 회로를 포함한다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 통하여 통신한다. 여러 구성요소는 하나 이상의 신호 처리 및/또는 애플리케이션 전용 집적 회로(application specific integrated circuit)를 포함하여, 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어 둘의 조합으로 구현될 수 있다.
메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함할 수 있다. 일부 실시예에서, 메모리는 하나 이상의 프로세서로부터 멀리 떨어져 위치하는 저장 장치, 예를 들어 통신 회로와, 인터넷, 인트라넷, LAN(Local Area Network), WLAN(Wide LAN), SAN(Storage Area Network) 등, 또는 이들의 적절한 조합과 같은 통신 네트워크(도시하지 않음)를 통하여 액세스되는 네트워크 부착형(attached) 저장 장치를 더 포함할 수 있다. 프로세서 및 주변 인터페이스와 같은 다른 구성요소에 의한 메모리로의 액세스는 메모리 제어기에 의하여 제어될 수 있다.
주변 인터페이스는 장치(200)의 입출력 주변 장치를 프로세서 및 메모리와 연결한다. 하나 이상의 프로세서는 다양한 소프트웨어 프로그램 및/또는 메모리에 저장되어 있는 명령어 세트를 실행하여 장치(200)를 위한 여러 기능을 수행하고 데이터를 처리한다. I/O 서브시스템은 디스플레이 장치, 입력 장치와 같은 장치(200)의 입출력 주변장치와 주변 인터페이스 사이에 인터페이스를 제공한다. 프로세서는 명령어들을 수행하도록 구성된 프로세서로서, 예를 들어, 메모리로부터 검색된 명령어들을 이용하여, 장치(200)의 컴포넌트 간의 입력 및 출력 데이터의 수신과 조작을 제어할 수 있다.
일부 실시예에서, 소프트웨어 구성요소는 운영 체제, 그래픽 모듈(명령어 세트) 및, 어플리케이션(명령어 세트)가 메모리에 탑재(설치)된다. 운영 체제는, 예를 들어, 다윈(Darwin), RTXC, LINUX, UNIX, OS X, WINDOWS 또는 VxWorks, 안드로이드 등과 같은 내장 운영체제일 수 있고, 일반적인 시스템 태스크(task)(예를 들어, 메모리 관리, 저장 장치 제어, 전력 관리 등)를 제어 및 관리하는 다양한 소프트웨어 구성요소 및/또는 장치를 포함하고, 다양한 하드웨어와 소프트웨어 구성요소 사이의 통신을 촉진시킨다.
도 2에 도시된 바와 같이, 본 실시예에 따른 장치(200)는, 3차원 배치부(210), 연결 관계 생성부(220), 2차원 배치부(230) 및 표현부(240)를 포함하고, 이들은 프로그램으로 구현되어 메모리에 저장되고 프로세서에 의해 실행될 수 있고, 또는 앞서 설명한 하드웨어 및 소프트웨어에 의해 구현되고 실행될 수 있다.
3차원 배치부(210)는, 네트워크를 구성하는 각 네트워크 장비의 고유 식별자를 이용하여 각 네트워크 장비를 3차원 좌표계에 배치한다. 여기서 고유 식별자는 각 네트워크 장비의 관리(management) IP 주소, 라우터 ID, 루프백 IP 주소 등의 IPv4 주소나, IPv6 등을 포함한다. 본 실시예에서는 IPv4 주소를 예로 들어 설명한다. 3차원 배치부(210)는 각 네트워크 장비의 고유 식별자를 전처리하여 불필요한 데이터를 제거한 후 남은 데이터를 3개 부분으로 분할하고 각 부분을 3차원 좌표계의 각 축의 좌표로 설정한다.
3차원 배치부(210)는, IPv4 주소의 경우, D 클래스 부분을 제거한 후 남은 주소를 차원(dimension) 단위로 3등분하고, 각 부분을 3차원 좌표계의 각 축의 좌표로 설정한다. 즉 IPv4 주소는 CIDR(Classless Inter Domain Routing) 표현의 A/B/C/D의 4개의 클래스로 구성되는데 D 클래스를 제외한 나머지 각 클래스가 하나의 차원을 구성한다. 예를 들어, '10.20.30.40'이라는 IPv4 주소에서 D 클래스 부분인 '40'은 제거되고 남은 '10.20.30'의 각 클래스를 3차원 좌표계의 각 축의 좌표로 사용한다. 구체적으로, '10'은 3차원 좌표계의 x 축 좌표로 사용하고, '20'은 y 축 좌표로 사용하며, '30'은 z 축 좌표로 사용하여, '10.20.30.40'의 IPv4 주소를 갖는 네트워크 장비를 3차원 좌표계에 배치한다. 전처리된 고유 식별자를 차원 단위로 3등분할 때, 각 차원의 값은 양의 정수로 정의된다. IPv4 주소의 경우 각 차원은 0에서 225 사이의 양의 정수로 구성된다. IPv6 주소가 고유 식별자로 사용되는 경우, IPv4 주소 체계의 사이트 접두어 및 서브넷 ID 필드를 이용하여 동일한 방식으로 3등분된다.
연결 관계 생성부(220)는, 상기 3차원 배치부(210)에 의해 3차원 좌표계에 배치된 네트워크 장비들 간의 연결 정보를 수집하고, 상기 3차원 좌표계에 배치된 각 네트워크 장비 간의 연결 관계를 생성한다. 상기 3차원 배치부(210)에 의해 3차원 좌표계에 배치된 네트워크 장비들 간에는 연결 관계가 정의되지 않은 상태로, 연결 관계 생성부(220)에 의해 네트워크 장비들 간의 연결 관계가 정의되는 것이다. 연결 관계 생성부(220)는, 링크 정보를 공유하는 프로토콜(예를 들어, LLDP(Link Layer Discovery Protocol))이나, 토폴로지 정보를 공유하는 프로토콜인 BGP-LS(Border Gateway Protocol Link State) 등을 이용하여 네트워크 장비들 간의 연결 정보를 수집할 수 있다. 또는 연결 관계 생성부(220)는, 네트워크 내에 BGP-RR(Border Gateway Protocol Route Reflector)와 같이 전체 네트워크 정보를 가진 장비와 연결되어 전체 네트워크 장비에 대한 연결 정보를 수집할 수 있다.
도 3은 본 발명의 일 실시예에 따른 3차원 좌표계에 배치된 네트워크 장비들을 나타낸 도면이다. 10개의 네트워크 장비 각각의 IPv4 주소가 (133.68.212.148, 177.119.199.106, 66.114.212.121, 170.161.32.12, 183.251.45.47, 177.143.106.224, 203.189.210.159, 50.16.97.108, 66.114.190.46, 177.5.8.221)라고 할 때, 도 3은 해당 10개의 네트워크 장비를 3차원 좌표계에 배치한 결과이다. 3차원 배치부(210)는, 각 네트워크 장비의 IPv4 주소로부터 각 네트워크 장비의 3차원 좌표계상에서의 좌표를 생성하고 그 좌표를 이용하여 각 네트워크 장비를 3차원 좌표계에 배치한다. 예를 들어, IPv4 주소 (177.143.106.224)를 갖는 네트워크 장비는, (x, y, z) 좌표가 (177, 143, 106)이 되어 3차원 좌표계에 배치된다. 연결 관계 생성부(220)는 각 네트워크 장비 간의 연결 정보를 수집하여 3차원 좌표계에 배치된 네트워크 장비들을 연결한다. 예를 들어, (177, 143, 106) 좌표에 배치된 네트워크 장비는, (x, y, z) 좌표가 각각 (183.251.45), (177.5.8.221), (203.189.210), (177.119.199)인 네트워크 장비와 연결된다. 이와 같이 각 네트워크 장비를 3차원 좌표계에 배치하여 형상화를 하더라도 가독성이 많이 떨어진다. 따라서, 3차원의 배치, 즉 3차원 토폴로지를 가독성이 높은 2차원 토폴로지로 전환할 필요가 있다.
2차원 배치부(230)는, 상기 3차원 좌표계에 배치된 네트워크 장비들 사이의 링크 메트릭에 기초하여 네트워크 장비들을 가독성이 높은 2차원 트리로 전환하고 2차원 트리에서 루프를 제거한다. 일반적으로 3차원 좌표계에 배치된 네트워크 장비들을 xy 평면에 그대로 투영하여 2차원 토폴로지를 만들면, 해당 2차원 토폴로지는 트리 형태가 아닌 그래프 형태의 2차원 토폴로지가 된다. 해당 2차원 토폴로지 내에 루프가 존재하기 때문이다. 도 4는 도 3의 3차원 토폴로지를 xy 평면에 투영하여 보기 좋게 재배치한 2차원 토폴로지의 예로서, 도 4를 참조하면, 예를 들어, IPv4 주소가 (177.5.8.221), (177.143.106.224) 및 (177.119.199.106)인 네트워크 장비들은 루프를 형성한다. 따라서, 2차원 배치부(230)는 이러한 그래프 형태의 2차원 토폴로지를 트리 구조로 재배열한다. 구체적으로 도면을 참조하여 설명하면 다음과 같다.
먼저, 2차원 배치부(230)는 링크 메트릭(metric)에 기초하여 네트워크 장비들 중에서 루트 노드 후보를 선정한다. 여기서 링크 메트릭은, 두 네트워크 장비를 연결하는 링크에 임의로 부여되는 무게(weight)로서, 기본값(bias)에서 두 네트워크 장비에 연결되어 있는 링크 개수를 차감하는 방식으로 산정된다. 예를 들어, 도 4의 예에서 IPv4 주소가 (177.119.199.106)인 네트워크 장비와 IPv4 주소가 (177.143.106.224)인 네트워크 장비 사이의 링크의 경우, 그 링크의 양단에 연결된 두 네트워크 장비 각각에 연결되어 있는 링크 개수가 4개씩이므로, 해당 링크의 링크 메트릭은 512-4-4=504가 된다. 일반적으로 링크 메트릭이 낮은 링크가 더 유용한 링크로 판단되므로, 2차원 배치부(230)는 링크 메트릭이 가장 낮은 링크에 연결된 네트워크 장비들을 루트 노드 후보로 선정한다.
2차원 배치부(230)는, 루트 노드 후보의 네트워크 장비들을 선정한 후, 각 루트 노드 후보를 기준으로 2차원 트리를 생성한다. 예를 들어, 루트 노드 후보가 2개인 경우, 각각의 루트 노드 후보를 루트 노드로 하여 2개의 2차원 트리가 생성된다. 도 4의 예에서 각 링크별로 링크 메트릭을 산정하였을 때, 가장 낮은 링크 메트릭은 '505'이고, '505'의 링크 메트릭을 갖는 링크는 복수 개이다. 대표적으로 (177.119.199.106)과 (177.143.106.224) 사이의 링크를 들 수 있고, 그 링크에 연결된 IPv4 주소가 (177.119.199.106)인 네트워크 장비와 IPv4 주소가 (177.143.106.224)인 네트워크 장비는 루트 노드 후보가 된다. 도 5는 본 발명의 일 실시예에 따른 2차원 트리를 나타낸 도면으로, 루트 노드 후보 중 상기 IPv4 주소가 (177.143.106.224)인 네트워크 장비를 루트 노드로 하여 생성한 2차원 트리이다. 도 5에 도시된 바와 같이, 2차원 트리에는 여전히 루프가 존재하고, 따라서 루프를 제거해야 한다.
2차원 배치부(230)는, 각 루트 노드 후보를 기준으로 생성한 각 2차원 트리에서 루프를 제거하기 위해, 각 2차원 트리에서 동일 계층에서 상호 연결된 노드를 선별한다. 도 5를 참조하면, IPv4 주소가 (177.5.8.221), (177.119.199.106), (66.114.212.121), (66.114.190.46), (170.161.32.12)인 4개의 네트워크 장비들이 동일 계층에서 상호 연결된 노드들이다. 여기서 동일 계층은 루트 노드까지의 홉 수가 동일한 노드들의 집합을 의미한다.
2차원 배치부(230)는, 각 2차원 트리에서 상기 상호 연결된 노드 각각에 대해 루트까지의 경로 개수를 계산한다. 이때, 루트까지의 경로를 찾는데 있어서 하위 계층으로의 경로 탐색은 제외한다. 예를 들어, 도 5를 참조하면, (177.119.199.106)에서 루트인 (177.143.106.224)까지 가는 경로 중 (66.114.212.121) 노드를 지나는 경로는 제외한다. 이와 같이 계산하게 되면, (177.5.8.221) 노드의 경로 개수는 2이고, (177.119.199.106) 노드의 경로 개수는 2이며, (66.114.212.121) 노드의 경로 개수는 5이고, (66.114.190.46) 노드의 경로 개수는 5이며, (170.161.32.12) 노드의 경로 개수는 5이다.
2차원 배치부(230)는, 각 2차원 트리에서 상기 상호 연결된 노드 중 경로 개수가 가장 적은 노드에 대해 해당 노드로부터 루트까지의 각 경로의 거리를 3차원 좌표계 상에서 계산하고, 가장 긴 거리를 갖는 경로를 선정한다. 그리고 2차원 배치부(230)는 해당 노드에 연결된 링크 중 상기 가장 긴 거리를 갖는 경로에 포함되는 링크를 제거한다. 이와 같이 1차로 링크를 제거한 후, 2차원 배치부(230)는 1차로 링크가 제거된 2차원 트리에서 다시 동일 계층에서 상호 연결된 노드를 선별하고, 앞서 설명한 과정을 반복한다. 2차원 배치부(230)는, 동일 계층에서 상호 연결된 노드가 없어질 때까지 반복한다.
2차원 배치부(230)는, 각 2차원 트리에서 루프가 제거되면, 각 2차원 트리의 밸런스 팩터를 기초로 최종 2차원 트리를 선정한다. 2차원 배치부(230)는, 복수의 2차원 트리 중 모든 밸런스 팩터가 1 이하이거나 밸런스 팩터의 최대 값이 가장 작은 2차원 트리를 선택할 수 있다. 밸런스 팩터는 루트 노드를 기준으로 왼쪽 서브 트리의 높이에서 오른쪽 서브 트리의 높이를 뺀 절대값이다.
도 5를 참조하면, (177.5.8.221)는 루프를 구성하는 노드이고, 루트까지의 경로 개수는 2개로 가장 적다. 따라서, (177.5.8.221)로부터 루트까지의 두 경로 각각의 3차원 좌표계상에서의 거리를 계산하면, 다음 수학식1 및 수학식2와 같다. 수학식1은 (177.5.8.221)->(177.119.199.106)->(177.143.106.224)로 이어지는 경로의 거리이고, 수학식2는 (177.5.8.221)->(177.143.106.224)로 이어지는 경로의 거리이다.
(수학식1)
Figure pat00001
(수학식2)
Figure pat00002
(수학식2)에 의해 계산된 경로 거리가 가장 짧기 때문에, 나머지 상대적으로 경로 거리가 더 긴 (177.5.8.221)와 (177.119.199.106) 사이의 링크를 제거한다. 도 6은 도 5에서 IPv4 주소가 (177.5.8.221)인 네트워크 장비와 (177.119.199.106)인 네트워크 장비 사이의 링크를 제거한 예이다. 도 6을 참조하면, 동일 계층에서 상호 연결된 노드는, IPv4 주소가 각각 (66.114.212.121), (66.114.190.46), (170.161.32.12)인 네트워크 장비들이다. 각 노드의 루트까지의 경로 개수를 구하면, 모두 3개씩이다. 따라서 랜덤하게 하나를 선택하여 앞서 설명한 링크 제거 과정을 반복한다. 예를 들어, (66.114.212.121)에 대해 루트까지의 세개의 경로 각각의 3차원 좌표계상에서의 거리를 계산하면, 다음 수학식3 내지 수학식5와 같다. 수학식3은 (66.114.212.121)->(177.119.199.106)->(177.143.106.224)로 이어지는 경로의 거리이고, 수학식4는 (66.114.212.121)->(66.114.190.46)->(177.5.8.221)->(177.143.106.224)로 이어지는 경로의 거리이며, 수학식5는 (66.114.212.121)->(170.161.32.12)->(183.251.45.47)->(177.143.106.224)로 이어지는 경로의 거리이다.
(수학식3)
Figure pat00003
(수학식4)
Figure pat00004
(수학식5)
Figure pat00005
(수학식3)에 의해 계산된 경로 거리가 가장 짧기 때문에, 나머지 (66.114.212.121)과 (66.114.190.46) 사이의 링크와, (66.114.212.121)과 (170.161.32.12) 사이의 링크를 제거한다. 도 7은 도 6에서 (66.114.212.121)과 (66.114.190.46) 사이의 링크와, (66.114.212.121)과 (170.161.32.12) 사이의 링크를 제거한 예이다. 도 7을 참조하면, 더 이상 동일 계층에서 상호 연결된 노드는 없으므로, 2차원 트리가 완성된다.
도 8은 도 7의 2차원 트리의 밸런스 팩터를 계산한 예로서, (177.119.199.106)를 기준으로 한 서브 트리의 높이는 2이고, (177.5.8.221)을 기준으로 한 서브 트리의 높이는 3이며, (183.251.450.47)를 기준으로 한 서브 트리의 높이는 2이고, (203.189.210.159)를 기준으로 한 서브 트리의 높이는 1이므로, 밸런스 팩터의 집합은 {|2-3|=1, |3-2|=1, |2-1|=1, |1-2|=1}이다. 도 9는 본 발명의 일 실시예에 따른 다른 루트 노드 후보를 기준으로 생성된 2차원 트리의 밸런스 팩터를 계산한 예로서, 도 9를 참조한 2차원 트리의 밸런스 팩터의 집합은 {|1-4|=3, |4-3|=1, |3-2|=1, |2-1|=1}이다. 따라서, 도 8의 2차원 트리와 도 9의 2차원 트리의 밸런스 팩터를 비교하면, 도 8의 밸런스 팩터는 모두 1 이하인 반면, 도 9의 밸런스 팩터 중 일부는 1 보다 크므로, 만약 도 8 및 도 9의 2차원 트리만이 후보라면, 도 8의 2차원 트리를 최종 2차원 트리로 결정한다.
이상과 같이 2차원 배치부(230)에서 최종적인 2차원 트리가 생성되면, 표현부(240)는, 2차원 트리에서 동일 계층의 네트워크 장비들을 소정의 간격으로 수평하게 배치하여 화면에 표현한다. 바람직하게, 표현부(240)는, 2차원 트리의 루트 노드를 2차원 좌표계의 임의의 좌표에 배치하고, 그 하위의 각 노드들을 상기 2차원 좌표계에 배치하는데 있어서 동일 계층의 노드들은 수평하게 배치하되, 부모 노드에서 두 자식 노드를 잇는 직선 사이의 각도들이 서로 동일하도록 배치할 수 있다. 이때, 표현부(240)는, 자식 노드의 개수가 짝수인 부모 노드의 경우, 상기 2차원 좌표계의 Y 축에 평행하고 상기 부모 노드를 지나는 직선을 기준으로 자식 노드들을 좌우 대칭으로 배치하고, 자식 노드의 개수가 홀수인 부모 노드의 경우, 상기 2차원 좌표계의 Y 축에 평행하고 상기 부모 노드를 지나는 직선 상에 하나의 자식 노드를 배치하고 나머지 자식 노드들을 상기 직선을 기준으로 좌우 대칭으로 배치할 수 있다. 이하에서 도면을 참조하여 예를 들어 설명한다.
2차원 배치부(230)에서 최종 생성된 2차원 트리의 각 노드는 규칙없이 임의의 좌표를 갖는다. 따라서 2차원 트리를 디스플레이 화면에 표시하는데 있어서 2차원 트리의 각 노드의 픽셀 좌표를 일정한 규칙에 따라 정의하여 배치한다. 일반적으로 디스플레이 화면의 픽셀 좌표는 최상단 좌측의 좌표를 (0, 0)으로 하고 우측 하단으로 갈수록 그 숫자는 커지는 구조이다. 디스플레이 화면의 최상단 좌측의 픽셀 좌표 (0, 0)을 2차원 좌표계의 원점으로 하고 디스플레이 화면을 2차원 좌표계의 1사분면으로 가정한다.
디스플레이 화면에서 2차원 트리의 루트 노드를 디스플레이 화면의 임의의 위치에 위치시킨다(예를 들어, 최상단 중심 부분). 루트 노드의 픽셀 좌표를 (x1, y1)라 하고, 루트 노드를 기준으로 자식 노드들의 높이(디스플레이 화면에서 루트 노드를 지나는 y축에 평행한 직선로부터 아래 방향의 높이)는 고정 높이 h를 갖도록 배치한다면, 해당 자식 노드들이 배치될 픽셀 좌표는 (x1+w, y1+h)이다. 여기서 w는 루트 노드와 자식 노드 간의 x 축 거리이다. 본 실시예에서는 고정 높이 h를 루트 노드를 지나는 y축에 평행한 직선으로부터 자식 노드까지의 거리로 사용하지만 여기에 제한되는 것은 아니며, y축으로부터의 높이를 사용해도 된다. 고정 높이는 사용자에 의해 지정될 수 있다.
루트 노드의 픽셀 좌표는 (x1, y1)으로 알고 있고, h는 미리 정해지므로, w만을 구하면 자식 노드의 픽셀 좌표 (x1+w, y1+h)를 구할 수 있다. w를 구하는 것은 곧 y=y1+h 직선상에 자식 노드들을 배치하는데 있어서, 루트 노드 (x1, y1)와 몇 도(θ)의 각도를 이루어 자식 노드를 배치할 것인지를 결정하는 것과 같다. 따라서, 각도(θ)를 미리 정의하게 되면, w를 구할 수 있다. 설명의 편의를 위해, 루트 노드의 좌표를 (1, 1)이라고 가정하고 각도(θ)와 w를 표현하면, 도 10의 예와 같다. 도 10에 도시된 바와 같이, 루트 노드를 기준으로 소정 각도(θ) 및 고정 높이 h를 갖도록 자식 노드들을 배치한다면, 해당 자식 노드들의 좌표는 (1+w, 1+h)이다. w는 벡터의 내적식을 이용하여 구할 수 있다.
벡터의 내적식은
Figure pat00006
이다. 즉, 루트 노드의 픽셀 좌표 (1, 1)과 (1, 5)를 잇는 직선 벡터와, 루트 노드의 픽셀 좌표 (1, 1)과 자식 노드의 픽셀 좌표 (1+w, 5)를 잇는 직선 벡터 사이의 사이각이 이미 알고 있는 각도(θ) 15도 이므로, 이들을 상기 벡터의 내적식에 대입하면,
Figure pat00007
이고, 이를 w로 정리하면,
Figure pat00008
이다.
즉, 루트 노드의 좌표가 (1, 1)일 때, 자식 노드의 좌표는 (3.47, 5)가 된다. 위 벡터의 내적식에서는 2차원 좌표계의 1사분면이 아닌 다른 사분면에 존재하는 값도 나올 수 있는데 이는 무시한다.
일 실시예에서, 상기 각도(θ)는, 자식 노드의 개수가 n이라고 할 때, (60÷n)로 정의할 수 있다. 여기서 60은, 부모 노드에서 좌측 끝의 자식 노드와 우측 끝의 자식 노드를 잇는 직선이 이루는 각도의 최대값이 60도가 되도록 하는 것이나, 여기에 제한되는 것은 아니다. 도 9의 예를 참조하면, 루트 노드 (177.119.199.106)의 자식 노드는 4개이므로, 상기 각도(θ)는 15도이다.
자식 노드의 수가 n일 때, n이 짝수이면, 상기 w를 구하는 작업은 상기 각도를 달리하여 n/2번 수행되하고, n이 홀수이면 마찬가지로 상기 각도를 달리하여 (n-1)/2번 수행된다.
이상에서는 루트 노드를 기준으로 그 자식 노드를 배치하는 것을 설명하였지만, 루트 노드가 아닌 다른 부모 노드를 기준으로 그 자식 노드들을 배치하는데도 동일한 작업이 수행된다.
도 11은 본 발명의 일 실시예에 따른 부모 노드와 4개의 자식 노드를 배치한 예이다. 도 11에 도시된 바와 같이, 자식 노드가 짝수 개이므로, 2차원 좌표계의 Y 축에 평행하고 부모 노드를 지나는 직선을 기준으로 자식 노드들을 좌우 대칭으로 2개씩 배치한다. 도 12는 본 발명의 일 실시예에 따른 부모 노드와 3개의 자식 노드를 배치한 예이다. 도 12에 도시된 바와 같이, 자식 노드가 홀수 개이므로, 2차원 좌표계의 Y 축에 평행하고 부모 노드를 지나는 직선 상에 하나의 자식 노드를 배치하고 나머지 자식 노드들을 해당 직선을 기준으로 좌우 대칭으로 하나씩 배치한다.
도 13은 본 발명의 일 실시예에 따른 네트워크 토폴로지를 자동으로 형상화하는 방법을 설명하는 흐름도이다.
도 13을 참조하면, 단계 S1301에서 장치(200)는 네트워크를 구성하는 각 네트워크 장비의 고유 식별자를 이용하여 각 네트워크 장비를 3차원 좌표계에 배치한다. 여기서 고유 식별자는 각 네트워크 장비의 관리(management) IP 주소, 라우터 ID, 루프백 IP 주소 등의 IPv4 주소나, IPv6 등을 포함한다. 본 실시예에서는 IPv4 주소를 예로 들어 설명한다. 장치(200)는 각 네트워크 장비의 고유 식별자를 전처리하여 불필요한 데이터를 제거한 후 남은 데이터를 3개 부분으로 분할하고 각 부분을 3차원 좌표계의 각 축의 좌표로 설정한다. 예를 들어, IPv4 주소의 경우, D 클래스 부분을 제거한 후 남은 주소를 차원(dimension) 단위로 3등분하고, 각 부분을 3차원 좌표계의 각 축의 좌표로 설정한다.
단계 S1302에서 장치(200)는 상기 3차원 좌표계에 배치된 네트워크 장비들 간의 연결 정보를 수집하고, 상기 3차원 좌표계에 배치된 각 네트워크 장비 간의 연결 관계를 생성한다. 장치(200)는 링크 정보를 공유하는 프로토콜(예를 들어, LLDP(Link Layer Discovery Protocol))이나, 토폴로지 정보를 공유하는 프로토콜인 BGP-LS(Border Gateway Protocol Link State) 등을 이용하여 네트워크 장비들 간의 연결 정보를 수집할 수 있다. 또는 네트워크 내에 BGP-RR(Border Gateway Protocol Route Reflector)와 같이 전체 네트워크 정보를 가진 장비와 연결되어 전체 네트워크 장비에 대한 연결 정보를 수집할 수 있다.
단계 S1303에서 장치(200)는 상기 3차원 좌표계에 배치된 네트워크 장비들 사이의 링크 메트릭에 기초하여 네트워크 장비들을 가독성이 높은 2차원 트리로 전환하며 루프를 제거한다. 일반적으로 3차원 좌표계에 배치된 네트워크 장비들을 xy 평면에 그대로 투영하여 2차원 토폴로지를 만들면, 해당 2차원 토폴로지는 트리 형태가 아닌 그래프 형태의 2차원 토폴로지가 된다. 해당 2차원 토폴로지 내에 루프가 존재하기 때문이다.
먼저, 장치(200)는 링크 메트릭(metric)에 기초하여 네트워크 장비들 중에서 루트 노드 후보를 선정한다. 여기서 링크 메트릭은, 두 네트워크 장비를 연결하는 링크에 임의로 부여되는 무게(weight)로서, 기본값(bias)에서 두 네트워크 장비에 연결되어 있는 링크 개수를 차감하는 방식으로 산정된다. 일반적으로 링크 메트릭이 낮은 링크가 더 유용한 링크로 판단되므로, 장치(200)는 링크 메트릭이 가장 낮은 링크에 연결된 네트워크 장비들을 루트 노드 후보로 선정한다.
다음으로, 장치(200)는 루트 노드 후보의 네트워크 장비들을 선정한 후, 각 루트 노드 후보를 기준으로 2차원 트리를 생성한다. 예를 들어, 루트 노드 후보가 2개인 경우, 각각의 루트 노드 후보를 루트 노드로 하여 2개의 2차원 트리가 생성된다. 2차원 트리에는 여전히 루프가 존재하고, 따라서 루프를 제거해야 한다.
다음으로, 장치(200)는 각 루트 노드 후보를 기준으로 생성한 각 2차원 트리에서 루프를 제거하기 위해, 각 2차원 트리에서 동일 계층에서 상호 연결된 노드를 선별한다. 여기서 동일 계층은 루트 노드까지의 홉 수가 동일한 노드들의 집합을 의미한다. 장치(200)는 각 2차원 트리에서 상기 상호 연결된 노드 각각에 대해 루트까지의 경로 개수를 계산한다. 이때, 루트까지의 경로를 찾는데 있어서 하위 계층으로의 경로 탐색은 제외한다. 장치(200)는, 각 2차원 트리에서 상기 상호 연결된 노드 중 경로 개수가 가장 적은 노드에 대해 해당 노드로부터 루트까지의 각 경로의 거리를 3차원 좌표계 상에서 계산하고, 가장 긴 거리를 갖는 경로를 선정한다. 그리고 장치(200)는 해당 노드에 연결된 링크 중 상기 가장 긴 거리를 갖는 경로에 포함되는 링크를 제거한다. 이와 같이 1차로 링크를 제거한 후, 장치(200)는 1차로 링크가 제거된 2차원 트리에서 다시 동일 계층에서 상호 연결된 노드를 선별하고, 앞서 설명한 과정을 반복한다. 장치(200)는, 동일 계층에서 상호 연결된 노드가 없어질 때까지 반복한다.
다음으로, 장치(200)는, 각 2차원 트리에서 루프가 제거되면, 각 2차원 트리의 밸런스 팩터를 기초로 최종 2차원 트리를 선정한다. 장치(200)는, 복수의 2차원 트리 중 모든 밸런스 팩터가 1 이하이거나 밸런스 팩터의 최대 값이 가장 작은 2차원 트리를 선택할 수 있다. 밸런스 팩터는 루트 노드를 기준으로 왼쪽 서브 트리의 높이에서 오른쪽 서브 트리의 높이를 뺀 절대값이다.
이상과 같이 2차원 배치부(230)에서 최종적인 2차원 트리가 생성되면, 단계 S1304에서 장치(200)는, 2차원 트리에서 동일 계층의 네트워크 장비들을 소정의 간격으로 수평하게 배치하여 화면에 표현한다. 바람직하게, 장치(200)는, 2차원 트리의 루트 노드를 2차원 좌표계의 임의의 좌표에 배치하고, 그 하위의 각 노드들을 상기 2차원 좌표계에 배치하는데 있어서 동일 계층의 노드들은 수평하게 배치하되, 부모 노드에서 두 자식 노드를 잇는 직선 사이의 각도들이 서로 동일하도록 배치할 수 있다. 이때, 장치(200)는, 자식 노드의 개수가 짝수인 부모 노드의 경우, 상기 2차원 좌표계의 Y 축에 평행하고 상기 부모 노드를 지나는 직선을 기준으로 자식 노드들을 좌우 대칭으로 배치하고, 자식 노드의 개수가 홀수인 부모 노드의 경우, 상기 2차원 좌표계의 Y 축에 평행하고 상기 부모 노드를 지나는 직선 상에 하나의 자식 노드를 배치하고 나머지 자식 노드들을 상기 직선을 기준으로 좌우 대칭으로 배치할 수 있다.
210 : 3차원 배치부
220 : 연결 관계 생성부
230 : 2차원 배치부
240 : 표현부

Claims (18)

  1. 벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 장치에 있어서,
    각 네트워크 장비의 고유 식별자를 이용하여 각 네트워크 장비를 3차원 좌표계에 배치하는 3차원 배치부;
    네트워크 장비 간의 연결 정보를 수집하여 상기 3차원 좌표계에 배치된 각 네트워크 장비 간의 연결 관계를 생성하는 연결 관계 생성부;
    상기 3차원 좌표계에 배치된 네트워크 장비들 사이의 링크 메트릭에 기초하여 네트워크의 2차원 트리를 생성하고 루프를 제거하는 2차원 배치부; 및
    상기 2차원 트리에서 동일 계층의 네트워크 장비들을 소정의 간격으로 수평하게 배치하여 화면에 표현하는 표현부를 포함하는 장치.
  2. 제 1 항에 있어서,
    상기 3차원 배치부는,
    각 네트워크 장비의 고유 식별자를 전처리하여 3개 부분으로 분할하고 각 부분을 3차원 좌표계의 각 축의 좌표로 설정하는 것을 특징으로 하는 장치.
  3. 제 1 항에 있어서,
    상기 2차원 배치부는,
    링크 메트릭이 가장 낮은 링크에 연결된 네트워크 장비들 중 하나를 루트 노드로 하여 2차원 트리를 생성하고, 루프를 형성하는 네트워크 장비 간의 링크 중 하나를 제거하는 것을 특징으로 하는 장치.
  4. 제 3 항에 있어서,
    상기 2차원 배치부는,
    상기 2차원 트리에서 동일 계층에서 상호 연결된 네트워크 장비들 중 루트까지의 경로 개수가 가장 적은 네트워크 장비를 선정한 후 그 경로들 중 상기 3차원 좌표계에서 루트까지의 경로가 가장 긴 경로를 선정하고 해당 네트워크 장비에 연결된 링크 중 상기 선정된 경로에 포함되는 링크를 제거하는 과정을, 루프가 모두 제거될 때까지 반복하는 것을 특징으로 하는 장치.
  5. 제 3 항에 있어서,
    상기 2차원 배치부는,
    링크 메트릭이 가장 낮은 링크에 연결된 네트워크 장비 각각을 루트 노드로 하여 생성한 복수의 2차원 트리 중 하나를 밸런스 팩터에 기초하여 선택하는 것을 특징으로 하는 장치.
  6. 제 5 항에 있어서,
    상기 2차원 배치부는,
    상기 복수의 2차원 트리 중 모든 밸런스 팩터가 1 이하이거나 밸런스 팩터의 최대 값이 가장 작은 2차원 트리를 선택하는 것을 특징으로 하는 장치.
  7. 제 1 항에 있어서,
    상기 표현부는,
    상기 2차원 트리의 루트 노드를 2차원 좌표계의 임의의 좌표에 배치하고, 그 하위의 각 노드들을 상기 2차원 좌표계에 배치하는데 있어서, 동일 계층의 노드들은 수평하게 배치하되, 부모 노드에서 두 자식 노드를 잇는 직선 사이의 각도들이 서로 동일하도록 배치하는 것을 특징으로 하는 장치.
  8. 제 7 항에 있어서,
    상기 표현부는,
    자식 노드의 개수가 짝수인 부모 노드의 경우, 상기 2차원 좌표계의 Y 축에 평행하고 상기 부모 노드를 지나는 직선을 기준으로 자식 노드들을 좌우 대칭으로 배치하는 것을 특징으로 하는 장치.
  9. 제 7 항에 있어서,
    상기 표현부는,
    자식 노드의 개수가 홀수인 부모 노드의 경우, 상기 2차원 좌표계의 Y 축에 평행하고 상기 부모 노드를 지나는 직선 상에 하나의 자식 노드를 배치하고 나머지 자식 노드들을 상기 직선을 기준으로 좌우 대칭으로 배치하는 것을 특징으로 하는 장치.
  10. 벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 방법에 있어서,
    각 네트워크 장비의 고유 식별자를 이용하여 각 네트워크 장비를 3차원 좌표계에 배치하는 단계;
    네트워크 장비 간의 연결 정보를 수집하여 상기 3차원 좌표계에 배치된 각 네트워크 장비 간의 연결 관계를 생성하는 단계;
    상기 3차원 좌표계에 배치된 네트워크 장비들 사이의 링크 메트릭에 기초하여 네트워크의 2차원 트리를 생성하고 루프를 제거하는 단계; 및
    상기 2차원 트리에서 동일 계층의 네트워크 장비들을 소정의 간격으로 수평하게 배치하여 화면에 표현하는 단계를 포함하는 방법.
  11. 제 10 항에 있어서,
    상기 3차원 좌표계에 배치하는 단계는,
    각 네트워크 장비의 고유 식별자를 전처리하여 3개 부분으로 분할하고 각 부분을 3차원 좌표계의 각 축의 좌표로 설정하는 것을 특징으로 하는 방법.
  12. 제 10 항에 있어서,
    상기 2차원 트리를 생성하고 루프를 제거하는 단계는,
    링크 메트릭이 가장 낮은 링크에 연결된 네트워크 장비들 중 하나를 루트 노드로 하여 2차원 트리를 생성하고, 루프를 형성하는 네트워크 장비 간의 링크 중 하나를 제거하는 것을 특징으로 하는 방법.
  13. 제 12 항에 있어서,
    상기 2차원 트리를 생성하고 루프를 제거하는 단계는,
    상기 2차원 트리에서 동일 계층에서 상호 연결된 네트워크 장비들 중 루트까지의 경로 개수가 가장 적은 네트워크 장비를 선정한 후 그 경로들 중 상기 3차원 좌표계에서 루트까지의 경로가 가장 긴 경로를 선정하고 해당 네트워크 장비에 연결된 링크 중 상기 선정된 경로에 포함되는 링크를 제거하는 과정을, 루프가 모두 제거될 때까지 반복하는 것을 특징으로 하는 방법.
  14. 제 12 항에 있어서,
    상기 2차원 트리를 생성하고 루프를 제거하는 단계는,
    링크 메트릭이 가장 낮은 링크에 연결된 네트워크 장비 각각을 루트 노드로 하여 생성한 복수의 2차원 트리 중 하나를 밸런스 팩터에 기초하여 선택하는 것을 특징으로 하는 방법.
  15. 제 14 항에 있어서,
    상기 2차원 트리를 생성하고 루프를 제거하는 단계는,
    상기 복수의 2차원 트리 중 모든 밸런스 팩터가 1 이하이거나 밸런스 팩터의 최대 값이 가장 작은 2차원 트리를 선택하는 것을 특징으로 하는 방법.
  16. 제 10 항에 있어서,
    상기 표현하는 단계는,
    상기 2차원 트리의 루트 노드를 2차원 좌표계의 임의의 좌표에 배치하고, 그 하위의 각 노드들을 상기 2차원 좌표계에 배치하는데 있어서, 동일 계층의 노드들은 수평하게 배치하되, 부모 노드에서 두 자식 노드를 잇는 직선 사이의 각도들이 서로 동일하도록 배치하는 것을 특징으로 하는 방법.
  17. 제 16 항에 있어서,
    상기 표현하는 단계는,
    자식 노드의 개수가 짝수인 부모 노드의 경우, 상기 2차원 좌표계의 Y 축에 평행하고 상기 부모 노드를 지나는 직선을 기준으로 자식 노드들을 좌우 대칭으로 배치하는 것을 특징으로 하는 방법.
  18. 제 16 항에 있어서,
    상기 표현하는 단계는,
    자식 노드의 개수가 홀수인 부모 노드의 경우, 상기 2차원 좌표계의 Y 축에 평행하고 상기 부모 노드를 지나는 직선 상에 하나의 자식 노드를 배치하고 나머지 자식 노드들을 상기 직선을 기준으로 좌우 대칭으로 배치하는 것을 특징으로 하는 방법.
KR1020200012924A 2020-02-04 2020-02-04 벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 장치 및 방법 KR20210099277A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200012924A KR20210099277A (ko) 2020-02-04 2020-02-04 벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200012924A KR20210099277A (ko) 2020-02-04 2020-02-04 벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20210099277A true KR20210099277A (ko) 2021-08-12

Family

ID=77314558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200012924A KR20210099277A (ko) 2020-02-04 2020-02-04 벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20210099277A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114598609A (zh) * 2022-03-11 2022-06-07 杭州网银互联科技股份有限公司 一种网络拓扑连接结构信息存储方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114598609A (zh) * 2022-03-11 2022-06-07 杭州网银互联科技股份有限公司 一种网络拓扑连接结构信息存储方法

Similar Documents

Publication Publication Date Title
US8082345B2 (en) Method, system and apparatus for communications circuit design
US8443287B2 (en) Interactive tool for visualizing performance data in real-time to enable adaptive performance optimization and feedback
CN104734954B (zh) 一种用于软件定义网络的路由确定方法和装置
CN108712286A (zh) 网络拓扑结构的确定方法、装置和存储介质
JP2005078633A (ja) コンピュータ上で視覚化グラフを提供する方法、および視覚化グラフを提供するコンピュータ
US10462214B2 (en) Visualization system and visualization method
US8874722B2 (en) Interactive tool for visualizing performance data in real-time to enable adaptive performance optimization and feedback
US20170257288A1 (en) Automatic target selection
CN111739141B (zh) 一种轻终端3d云渲染方法
CN112532408B (zh) 提取故障传播条件的方法、装置及存储介质
CN108964964A (zh) 一种网络拓扑显示方法和装置
CN112311571A (zh) 网络拓扑生成方法及装置、电子设备和非暂态存储介质
KR20210099277A (ko) 벡터 기반으로 네트워크 토폴로지를 자동으로 형상화하는 장치 및 방법
CN111756567B (zh) 用于显示优化的网络规划的特征的交互式用户界面
EP3278520B1 (en) Distributed routing table system with improved support for multiple network topologies
CN113849361B (zh) 测试服务节点的方法、装置、设备以及存储介质
CN106982164A (zh) 一种网络拓扑发现方法及设备
US11929881B2 (en) 3D visualization of multi-layer networks including network topology and encapsulation
JP2007259319A (ja) ネットワーク構成管理プログラム、ネットワーク構成管理方法およびネットワーク構成管理装置
JP2018156458A (ja) 生成装置、生成方法、及び生成プログラム
CN109361625A (zh) 核查转发表项的方法、装置和控制器
CN107038176B (zh) 网络图页面渲染方法、装置及设备
CN108648136A (zh) 对二维查找表进行的方法及装置
CN110211204A (zh) 一种确定道路任务包的方法、装置及存储介质
WO2019167801A1 (ja) ネットワーク管理装置、ネットワーク管理方法およびネットワーク管理プログラム