KR102092015B1 - 소프트웨어 정의 네트워크에서 네트워크 장비를 인식하는 방법, 장치 및 컴퓨터 프로그램 - Google Patents

소프트웨어 정의 네트워크에서 네트워크 장비를 인식하는 방법, 장치 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102092015B1
KR102092015B1 KR1020180135037A KR20180135037A KR102092015B1 KR 102092015 B1 KR102092015 B1 KR 102092015B1 KR 1020180135037 A KR1020180135037 A KR 1020180135037A KR 20180135037 A KR20180135037 A KR 20180135037A KR 102092015 B1 KR102092015 B1 KR 102092015B1
Authority
KR
South Korea
Prior art keywords
message
network
network equipment
equipment
arp probe
Prior art date
Application number
KR1020180135037A
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 KR1020180135037A priority Critical patent/KR102092015B1/ko
Application granted granted Critical
Publication of KR102092015B1 publication Critical patent/KR102092015B1/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/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Abstract

본 발명은 소프트웨어 정의 네트워크에서 컨트롤러가 네트워크 장비의 상태 정보를 수집하는 방법에 대한 것으로, 상기 네트워크의 토폴로지 정보를 생성하고, 상기 네트워크에 위치하는 네트워크 장비의 주소 및 포트 정보를 포함하는 네트워크 장비 테이블을 생성하는 단계; 및 상기 네트워크 장비 테이블에 등록된 장비의 상태를 확인하기 위하여, 확인 대상 IP에 상기 장비의 IP가 기재된 제 1 ARP 프로브 요청 메시지를 미리 설정된 주기로 상기 장비에 전송하는 단계를 포함하는 것을 특징으로 한다.

Description

소프트웨어 정의 네트워크에서 네트워크 장비를 인식하는 방법, 장치 및 컴퓨터 프로그램 {METHOD, APPARATUS AND COMPUTER PROGRAM FOR RECOGNIZING NETWORK EQUIPMENT IN A SOFTWARE DEFINED NETWORK}
본 발명은 소프트웨어 정의 네트워크를 제어하는 방법에 대한 것이다. 보다 구체적으로 본 발명은 소프트웨어 정의 네트워크에서 컨트롤러가 네트워크 기능을 수행하는 네트워크 장비를 인식하고, 장애 여부를 파악하는 방법에 대한 것이다.
소프트웨어 정의 네트워킹 (Software Defined Networking, 이하 SDN이라 칭함)은 네트워크의 모든 네트워크 장비를 지능화된 중앙관리시스템에 의해 관리하는 기술을 의미한다. SDN 기술에서는 기존 하드웨어 형태의 네트워크 장비에서 자체적으로 수행하는 패킷 처리와 관련된 제어 동작을 소프트웨어 형태로 제공되는 컨트롤러가 대신하여 처리함으로써, 기존의 네트워크 구조보다 다양한 기능을 개발하고 부여할 수 있다는 장점을 갖는다.
SDN 시스템은 일반적으로 전체 네트워크를 제어하는 컨트롤러 서버와, 상기 컨트롤러 서버에 의해 제어되며 패킷을 처리하는 복수의 오픈플로우 스위치와, 오픈플로우 스위치의 하위 계층에 해당하는 호스트를 포함하여 구성된다. 여기에서 오픈플로우 스위치는 패킷의 송수신 기능만을 담당하게 되고, 패킷의 경로 설정, 관리 및 제어는 모두 컨트롤러 서버에서 이루어진다. 즉, 네트워크 장비를 이루는 Data Plane과 Control Plane을 분리하는 것이 SDN 시스템의 기본 구조라 볼 수 있다.
Open Networking Foundation, "OpenFlow Specification 1.2.0"
본 발명은 소프트웨어 정의 네트워크에서 네트워크 상태 정보를 보다 효율적으로 수집하는 방법을 제공하는 것을 목적으로 한다. 보다 구체적으로 본 발명은 네트워크에 설치된 네트워크 장비의 장애를 파악하고, 상기 네트워크 장비의 업데이트 상태를 파악하며, 새로 설치된 신규 네트워크 장비를 등록하는 방법을 제공하는 것을 목적으로 한다.
본 발명의 실시예를 따르는 소프트웨어 정의 네트워크에서 컨트롤러가 네트워크 장비의 상태 정보를 수집하는 방법은, 상기 네트워크의 토폴로지 정보를 생성하고, 상기 네트워크에 위치하는 네트워크 장비의 주소 및 포트 정보를 포함하는 네트워크 장비 테이블을 생성하는 단계; 및 상기 네트워크 장비 테이블에 등록된 장비의 상태를 확인하기 위하여, 확인 대상 IP에 상기 장비의 IP가 기재된 제 1 ARP 프로브 요청 메시지를 미리 설정된 주기로 상기 장비에 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, LLDP 메시지, CDP 메시지 및/또는 ARP 프로브 메시지를 이용하여 별도의 설정없이 컨트롤러에서 네트워크 장비를 인식할 수 있는 효과가 있다. 특히 본 발명에 따르면, 네트워크 장비에서 장애가 발생하거나 위치를 이동해도 관리자가 별도로 설정할 필요없이 해당 정보를 컨트롤러가 수집하고, 이를 반영하여 네트워크 정책을 변경할 수 있다.
도 1은 소프트웨어 정의 네트워킹을 설명하기 위한 도면
도 2는 종래 방법의 문제점을 설명하기 위한 도면
도 3은 본 발명의 실시예를 따라 네트워크 장비의 상태 정보를 수집하는 방법을 설명하기 위한 순서도
본 발명은 이하에 기재되는 실시예들의 설명 내용에 한정되는 것은 아니며, 본 발명의 기술적 요지를 벗어나지 않는 범위 내에서 다양한 변형이 가해질 수 있음은 자명하다. 그리고 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 널리 알려져 있고 본 발명의 기술적 요지와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다.
한편, 첨부된 도면에서 동일한 구성요소는 동일한 부호로 표현된다. 그리고 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시될 수도 있다. 이는 본 발명의 요지와 관련이 없는 불필요한 설명을 생략함으로써 본 발명의 요지를 명확히 설명하기 위함이다. 이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다.
본 발명의 명세서에서 “플로우 룰”의 용어는 해당 업계의 통상의 기술자 입장에서 소프트웨어 정의 네트워크에서 컨트롤러 서버가 적용하는 네트워크 정책을 의미하는 것으로 이해되어야 한다.
나아가 본 명세서에서 오픈플로우 스위치 또는 스위치는 오픈플로우 프로토콜만을 지원하는 스위치, 오픈플로우 프로토콜을 지원하는 가상 스위치, 오픈플로우 프로토콜을 지원하는 일반적인 L2 스위치를 포함하는 개념으로 이해될 수 있다.
도 1은 소프트웨어 정의 네트워크의 구성을 설명하기 위한 도면이다. 도 1을 참조하면, 소프트웨어 정의 네트워크(Software Defined Network)는 컨트롤러 (100), 네트워크 장비(200) 및 호스트(300)를 포함할 수 있다. 네트워크 장비(200)와 호스트(300)는 노드(Node)라고 지칭할 수 있으며, 링크(Link)는 2개의 노드 사이의 연결을 의미할 수 있다.
컨트롤러(100)는 네트워크 장비(200)를 관리하는 기능을 하는 것으로, 복수의 네트워크 장비(200)를 중앙 집중형으로 관리 및 제어한다. 구체적으로 컨트롤러(100)는 토폴로지 관리(Topology management), 패킷 처리와 관련된 경로 관리(Path management), 링크 디스커버리(Link discovery), 패킷 흐름인 플로우 관리(Flow management) 등의 기능을 하는 응용 프로그램이 탑재된 형태로 구현될 수 있다.
네트워크 장비(200)는 컨트롤러 서버(100)의 제어에 따라 패킷을 처리하는 기능을 한다. 네트워크 장비(200)의 예로는 이동 통신 기지국, 기지국 제어기, 게이트웨이 장비, 유선 네트워크의 스위치, 라우터, 방화벽, 로드벨런서, IDS 등을 예시할 수 있다.
소프트웨어 정의 네트워크에서 컨트롤러(100)와 오픈플로우 스위치(200)는 상호간 정보를 주고받아야 하며, 이를 위한 프로토콜로 널리 사용되는 것이 오픈플로우 (OpenFlow) 프로토콜이다. 즉, 오픈플로우 프로토콜은 컨트롤러 서버(100)와 오픈플로우 스위치(200)간 서로 통신할 수 있는 표준 규격이다.
오픈플로우 프로토콜을 따르면, 스위치(200)는 컨트롤 채널(Control Channel)을 통해 컨트롤러(100)와 정보를 교환하고, 파이프라인(Pipeline) 프로세싱을 위한 하나 이상의 플로우 테이블(Flow table), 그룹 테이블, 미터 테이블 및/또는 패킷 전달을 위한 네트워크 인터페이스로 하나 이상의 포트를 가질 수 있다.
한편, 소프트웨어 정의 네트워크에서 컨트롤러는 네트워크의 토폴로지 정보를 수집할 수 있다. 컨트롤러는 LLDP 프로토콜을 이용하여 네트워크에 위치한 라우터, 스위치, 방화벽, IDS 등 네트워크에 설치된 장비 정보를 획득할 수 있다. 그러나 LLDP 프로토콜만으로는 네트워크 장비의 전원이 오프되거나, 스위치와 연결된 링크가 끊기거나, 포트에 문제가 발생하는 경우 장애 상황을 파악하지 못하는 문제가 발생할 수 있다.
예를 들어 도 2와 같은 네트워크 구성을 고려할 수 있다. 도 2의 예시는 컨트롤러 (210)의 제어를 받는 소프트웨어 정의 네트워킹으로 구축된 네트워크로 라우터 (230), 스위치 (240, 242, 244, 246), 방화벽 (250, 255, 257) 및 호스트 (260, 262, 264, 266)을 포함하고 있다.
이때 제 1 서브넷 (261)과 제 2 서브넷 (265) 사이의 통신은 방화벽 255를 통하는 경우를 가정할 수 있다. 그런데 방화벽 255의 설정에 문제가 발생하여 방화벽 255가 동작하지 않거나 방화벽 257와 스위치 242의 링크에 문제가 발생한 경우를 고려할 수 있다.
컨트롤러는 네트워크의 상태를 스위치로부터 수신한 패킷의 내용을 통하여 파악하기 때문에, 방화벽 255가 동작하지 않거나 링크에 문제가 생긴 경우, 컨트롤러는 제 1 서브넷 (261)과 제 2 서브넷 (265) 사이의 트래픽을 별도로 추적하지 않으면 방화벽 255에 발생한 장애를 인식할 수 없는 문제가 발생한다. 그 경우, 제 1 서브넷 (261)과 제 2 서브넷 (265) 사이의 통신은 상당 기간 단절될 수 있다.
한편, 도 2의 예에서 제 1 서브넷 (261)에서 인터넷으로 나가는 모든 통신은 방화벽 257를 통하는 경우를 가정할 수 있다. 그런데 방화벽 257이 스위치 242에서 스위치 240으로 연결 위치를 변경하거나 또는 방화벽 257과 스위치 242의 링크 포트가 스위치 242의 제 2 포트에서 제 6 포트로 변경된 경우를 고려할 수 있다.
그 경우, 관리자가 수작업으로 컨트롤러 (210)에 변경 사항을 적용하지 않으면, 컨트롤러 (210)는 스위치 242에 제 1 서브넷 (261)에 대한 패킷 처리를 위한 플로우 룰을 변경하지 않는 문제가 발생한다. 그 경우, 제 1 서브넷 (261)의 인터넷 접속은 상당 기간 단절될 수 있다.
본 발명은 상기와 같은 문제를 해결하기 위한 것이다.
본 발명의 실시예를 따르면, 컨트롤러에서 네트워크 장비를 등록하고 관리할 수 있으며, 등록된 네트워크 장비에 발생한 장애 또는 연결 위치 변경 등 상태 변경을 LLDP 메시지 또는 CDP 메시지와 함께 ARP 프로브 요청 메시지를 이용하여 파악할 수 있다.
나아가 본 발명의 실시예를 따르면 관리자가 설정하지 않은 미확인 네트워크 장비가 파악되면, 컨트롤러는 LLDP 메시지 또는 CDP 메시지와 및/또는 ARP 프로브 요청 메시지를 이용하여 해당 네트워크 장비를 확인할 수 있다.
LLDP 프로토콜 (Link Layer Discovery Protocol)은 링크 계층 내 인접 노드를 탐색하기 위한 프로토콜로 서버, 스위치, 기타 네트워크 장비의 물리적 연결 및 기능 등을 확인하기 위한 프로토콜이다. 네트워크 장비는 LLDP 메시지를 30초 간격으로 브로드캐스팅하며, 0x88cc의 데이터 링크 타입을 갖도록 표준화되어 있다.
컨트롤러는 LLDP를 통해 아래와 같은 정보를 수집할 수 있다.
System name and description
Port name and description
VLAN name
IP management address
System capabilities (switching, routing 등)
MAC/ PHY information
MDI power
Link aggregation
한편, CDP 프로토콜 (Cisco Discovery Protocol)은 Cisco 장비들이 동일 링크 계층 상에 있는 다른 스위치, 라우터 등을 찾는데 사용되는 시스코 고유의 프로토콜이다. 시스코의 네트워크 장비는 CDP 메시지를 60초마다 0x 01-00-0C-CC-CC-CC의 멀티캐스트 주소로 브로드캐스팅하도록 설정되어 있다.
컨트롤러는 CDP를 통해 아래와 같은 정보를 수집할 수 있다.
System name and description
Port name and description
VLAN name
IP management address
System capabilities (switching, routing 등)
MAC/ PHY information
MDI power
Link aggregation
Device Capavility (기능 리스트로서, 예를 들어 해당 네트워크 장비가 라우터인지 스위치인지 여부를 구분)
한편, ARP 프로브 메시지는 IP 주소의 충돌을 확인하기 위한 프로토콜로 컨트롤러는 확인 대상 네트워크 장비의 IP 주소를 자신이 사용할 주소인 것처럼 ARP 프로브 요청 메시지를 보낼 수 있으며, 상기 메시지를 수신한 네트워크 장비는 프로토콜에 따라 ARP 프로브 응답 메시지를 전송하기 때문에, 컨트롤러는 네트워크 장비의 상태 변경 정보를 수집할 수 있다.
ARP 프로브 요청 메시지는 확인 대상 네트워크 장비의 메타 정보가 수정되지 않기 때문에 특히 유용하다. ARP 프로브 요청 메시지를 이용하면, ICMP 요청 메시지나 일반 ARP 요청 메시지와 달리, 네트워크 장비의 IP 주소 또는 MAC 주소에 대한 ARP 테이블 등 메타 정보를 변경시키지 않고, 대상 장비의 응답을 획득할 수 있다. 따라서 본 발명의 실시예를 따르면, ARP 프로브 요청 메시지를 이용하여 네트워크 장비의 메타 정보 변경없이 신규 네트워크 장비의 파악 및 파악된 네트워크 장비의 상태 변경을 확인할 수 있는 효과가 있다.
한편, 본 발명의 실시예를 따르는 ARP 프로브 요청 메시지는 제어 플레인에서 네트워크 장비의 상태 정보를 수집하기 위한 용도로 사용하기 때문에, 데이터 플레인에서 사용되는 ARP 프로브 요청 메시지와 구별되는 것이 적절하다.
이를 위해 본 발명의 실시예를 따르면 ARP 프로브 요청 메시지 헤더의 소스 MAC 주소 필드를 이용하여 데이터 플레인에서 사용되는 ARP 프로브 요청 메시지와 구별할 수 있다. 예를 들어 컨트롤러는 ARP 프로브 요청 메시지의 소스 MAC 주소 필드에 데이터 플레인에 존재하지 않는 MAC 주소 또는 데이터 플레인의 ARP 프로브 요청 메시지와 구별하기 위해 미리 정의된 코드를 기입하여 장비 상태 확인을 위한 ARP 프로브 요청 메시지를 생성할 수 있다.
도 3은 본 발명의 실시예를 따르는 컨트롤러에서 네트워크 장비를 인식하고, 네트워크 장비의 장애 또는 변경을 파악하는 방법을 설명하기 위한 순서도이다.
도 3a의 단계 310에서 컨트롤러는 네트워크의 토폴로지 정보를 파악할 수 있다. 보다 구체적으로, 컨트롤러는 스위치에 LLDP 메시지 및/또는 CDP 메시지가 수신되면 컨트롤러로 전송하도록 설정하는 플로우 룰을 적용하여 네트워크의 LLDP 메시지 및/또는 CDP 메시지를 수집하고, 수집된 LLDP 메시지 및/또는 CDP 메시지의 내용을 확인하여 네트워크 토폴로지를 생성할 수 있다.
컨트롤러가 LLDP 메시지 및/또는 CDP 메시지를 수집하기 위하여 스위치에 적용하는 플로우 룰은 아래의 표 1에 예시되어 있다. LLDP 메시지는 데이터 링크 타입이 0X88cc로 특정되어 있기 때문에 표 1의 세번째 행에 예시된 플로우 엔트리를 통해 컨트롤러에서 수집될 수 있으며, CDP 메시지는 멀티캐스트 주소로 01:00:0C:CC:CC:CC을 쓰기 때문에 표 1의 네번째 행에 예시된 플로우 엔트리를 통해 컨트롤러에서 수집될 수 있을 것이다.
Priority Match Fields Instructions
dl-type dl_dst
5000 0x88cc * Send_to_controller
5000 * 01:00:0C:CC:CC:CC Send_to_controller
이후, 단계 315에서 컨트롤러는 수집된 LLDP 메시지 및 CDP 메시지의 내용을 확인하여 네트워크 장비 테이블을 생성할 수 있다. 네트워크 장비 테이블은 해당 장비의 IP 주소, MAC 주소, 물리적인 연결 위치 등에 대한 정보를 포함할 수 있다. 예를 들어 도 2에 예시된 네트워크 구성에서, 컨트롤러는 아래의 표 2와 같은 네트워크 장비 테이블을 생성할 수 있다.
네트워크 장비 타입 IP 주소 MAC 주소 위치
방화벽 250 192.168.1.2 aa:aa:aa:aa:aa:aa DPID=2, Port=1
방화벽 255 192.168.1.3 bb:bb:bb:bb:bb:bb DPID=3, Port=1
방화벽 257 192.168.1.4 cc:cc:cc:cc:cc:cc DPID=4, Port=1
라우터 230 192.168.1.1 * DPID=1, Port=1
그런데 전술한 바와 같이, 토폴로지 및 네트워크 장비 테이블이 작성된 이후, 특정 장비에 장애가 발생하거나 연결 위치가 변경된 경우, 이러한 변경을 컨트롤러가 파악하기 어렵다.그러나 본 발명의 실시예를 따르면, 컨트롤러는 미리 설정된 주기 또는 운영자의 설정에 따라 네트워크 장비 테이블에 등록된 장비에 ARP 프로브 요청 메시지를 전송하고, ARP 프로브 응답 메시지를 확인하는 방식으로, 해당 장비의 상태를 주기적으로 체크할 수 있다.
보다 구체적으로, 네트워크 장비 테이블이 작성되면, 컨트롤러는 단계 320에서 타이머를 운영할 수 있다. 이는 미리 설정된 주기로 등록된 네트워크 장비의 상태 변경 여부를 확인하기 위한 것이다. 단계 320은 임의적인 절차이며, 네트워크 운영자의 필요에 따라 변경될 수 있다.
컨트롤러는 네트워크 장비 테이블에 등록된 네트워크 장비의 상태를 확인하기 위하여, 확인 대상 IP에 확인 대상 장비의 IP가 기재된 ARP 프로브 요청 메시지를 전송할 수 있다. (단계 330)
이후 컨트롤러가 미리 설정된 시간 이내에 상기 ARP 프로브 요청 메시지에 대한 ARP 프로브 응답 메시지를 수신하지 못하면 (단계 340), 컨트롤러는 네트워크 장비의 장애 가능성이 있는 것으로 판단하고 (단계 345) 해당 장비를 네트워크 장비 테이블에서 삭제하고, 네트워크 정책을 변경할 수 있다. (단계 345)
반면, 미리 설정된 시간 이내에 ARP 프로브 응답 메시지를 수신하면 (단계 340), 컨트롤러는 네트워크 장비에 대한 기록을 유지할 것이다. (단계 350)
본 발명의 상기 실시예를 따르면, 네트워크 장비에 장애가 발생한 경우, 관리자가 별도로 설정하지 않아도, 컨트롤러에서 장애 발생을 파악하고, 대상 장비를 제외하도록 네트워크 정책을 변경할 수 있다.
한편, 컨트롤러는 전술한 표 1에 예시된 플로우 룰에 따라 스위치로부터 네트워크 장비에서 생성된 LLDP 메시지 및/또는 CDP 메시지를 수집할 수 있다. 그런데 메시지 내용이 단계 315에서 생성한 네트워크 장비 테이블과 상이한 경우, (단계 360) 해당 네트워크 장비의 상태 변경 여부를 확인하기 위해 ARP 프로브 요청 메시지를 전송할 수 있다. (단계 370)
보다 구체적으로 컨트롤러는 수신한 LLDP 메시지 및/또는 CDP 메시지에 기록된 소스 MAC 주소 및/또는 IP 주소 등을 네트워크 장비 테이블에서 검색하고, 매칭 장비의 포트 정보를 네트워크 장비 테이블에서 확인할 수 있다.
그런데 LLDP 메시지 및/또는 CDP 메시지에 기록된 포트 정보와 네트워크 장비 테이블에 기록된 포트 정보가 일치하지 않는 경우, 컨트롤러는 확인 대상 IP 필드에 확인 대상 네트워크 장비의 IP를 기재한 ARP 프로브 요청 메시지를 LLDP 메시지 및/또는 CDP 메시지에 기록된 포트 및/또는 네트워크 장비 테이블에 기록된 포트로 전송하여 대상 장비의 링크가 변경되었는지 여부를 확인할 수 있다.
이후, 컨트롤러는 확인 대상 네트워크 장비로부터 수신한 ARP 프로브 응답 메시지에 기록된 정보를 기초로 대상 장비의 상태 변경 정보를 수집하여, 네트워크 장비 테이블에 반영할 수 있다. (단계 380)
본 발명의 상기 실시예를 따르면, 네트워크 장비 물리적 위치를 변경하거나 연결 포트를 변경한 경우, 관리자가 이에 대해 별도로 설정하지 않아도, 컨트롤러는 장비의 상태 변경 정보를 수집하고, 네트워크 정책에 이를 반영할 수 있다.
도 3b는 본 발명의 실시예를 따라 신규 네트워크 장비를 컨트롤러에서 인식하는 방법을 설명하기 위한 순서도이다.
본 발명의 실시예를 따르는 컨트롤러는 미확인 네트워크 장비, 즉, 단계 315에서 생성된 네트워크 장비 테이블에 기록되어 있지 않는 장비, 또는 단계 345에서 네트워크 장비 테이블에 삭제된 장비에서 생성된 LLDP 또는 CDP 메시지를 수신하면, (단계 390) 해당 장비의 IP를 확인 대상 IP에 기재한 ARP 프로브 요청 메시지를, 상기 메시지를 수신한 포트로 전송할 수 있다. (단계 391)
이후 컨트롤러가 미리 설정된 시간 이내에 신규 장비로부터 ARP 프로브 응답 메시지를 수신하면 (단계 392) 컨트롤러는 신규 장비를 네트워크 장비 테이블에 등록할 것이다. (단계 397)
그러나 미리 설정된 시간 이내에 신규 장비로부터 ARP 응답 메시지를 수신하면 못하면 (단계 392) 컨트롤러는 신규 장비를 네트워크 장비 테이블에 등록하지 않을 것이다. (단계 393) 본 발명의 실시예를 따르면 상기 시간 설정은 생략될 수 있다.
본 발명의 상기 실시예를 따르면, 장애가 발생하여 장비 테이블에서 삭제된 네트워크 장비가 장애가 복구된 경우, 관리자의 별도 설정 없이, 컨트롤러에서 파악되어 네트워크 정책에 반영할 수 있다. 나아가 네트워크에 장비를 추가 설치하는 경우에도 별도의 설정없이 컨트롤러에서 파악되어 네트워크 정책에 반영될 수 있다.
본 명세서와 도면에 게시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 게시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식 가진 자에 자명한 것이다.

Claims (5)

  1. 소프트웨어 정의 네트워크에서 컨트롤러가 네트워크 장비의 상태 정보를 수집하는 방법에 있어서,
    상기 네트워크의 토폴로지 정보를 생성하고, 상기 네트워크에 위치하는 네트워크 장비의 주소 및 포트 정보를 포함하는 네트워크 장비 테이블을 생성하는 단계;
    상기 네트워크 장비 테이블에 등록된 장비의 상태를 확인하기 위하여, 확인 대상 IP에 상기 장비의 IP가 기재된 제 1 ARP 프로브 요청 메시지를 미리 설정된 주기로 상기 장비에 전송하는 단계; 및
    상기 컨트롤러가 미리 설정된 시간 이내에 상기 제 1 ARP 프로브 요청 메시지에 대한 제 1 ARP 프로브 응답 메시지를 수신하지 못하면, 상기 장비를 상기 네트워크 장비 테이블에서 삭제하고, 네트워크 정책을 변경하는 단계를 포함하고,
    상기 제 1 ARP 프로브 요청 메시지는,
    헤더의 소스 MAC 주소 필드에 데이터 플레인에 존재하지 않는 MAC 주소 또는 상기 데이터 플레인의 ARP 프로브 요청 메시지와 구별하기 위해 미리 정의된 코드를 기입하여 장비 상태를 확인하기 위한 메시지인 것을 특징으로 하는 네트워크 장비 상태 정보 수집 방법.
  2. 제 1 항에 있어서,
    상기 네트워크 장비 테이블을 생성하는 단계 이후에,
    상기 네트워크 장비 테이블에 등록된 장비부터 생성된 LLDP 메시지 또는 CDP 메시지에 대한 패킷인 메시지에 기록된 포트 정보가 상기 네트워크 장비 테이블에 기록된 포트 정보와 일치하지 않는 경우, 확인 대상 IP에 상기 LLDP 메시지 또는 CDP 메시지의 소스 IP를 기재한 제 2 ARP 프로브 요청 메시지를 상기 LLDP 메시지 또는 CDP 메시지에 기록된 포트 및 상기 네트워크 장비 테이블에 기록된 포트 중 적어도 하나로 전송하는 단계; 및
    상기 컨트롤러가 상기 제 2 ARP 프로브 요청 메시지에 대한 제 2 ARP 프로브 응답 메시지를 수신하면, 상기 제 2 ARP 프로브 응답 메시지를 포함하는 패킷인 메시지에 기재된 포트 정보를 확인하여, 상기 네트워크 장비 테이블을 변경하는 단계를 포함하고,
    상기 제 2 ARP 프로브 요청 메시지는,
    헤더의 소스 MAC 주소 필드에 상기 데이터 플레인에 존재하지 않는 MAC 주소 또는 상기 데이터 플레인의 ARP 프로브 요청 메시지와 구별하기 위해 상기 미리 정의된 코드를 기입하여 장비 상태를 확인하기 위한 메시지인 것을 특징으로 하는 네트워크 장비 상태 정보 수집 방법.
  3. 제 2 항에 있어서,
    상기 컨트롤러가 상기 제 1 ARP 프로브 응답 메시지를 수신하면, 상기 제 1 ARP 프로브 응답 메시지를 수신한 포트 값과 상기 제 1 ARP 프로브 요청 메시지를 전송한 포트 값이 일치하는지 여부를 확인하는 단계;
    일치하는 경우, 상기 장비를 상기 네트워크 장비 테이블에 등록하고, 일치하지 않는 경우, 상기 장비를 상기 네트워크 장비 테이블에서 삭제하는 단계를 포함하는 것을 특징으로 하는 네트워크 장비 상태 정보 수집 방법.
  4. 제 1항에 있어서,
    상기 네트워크 장비 테이블에 존재하지 않은 미확인 장비에서 생성된 LLDP 메시지 또는 CDP 메시지를 특정 포트를 통해 수신하면, 상기 미확인 장비를 확인하기 위하여, 확인 대상 IP에 상기 미확인 장비의 IP가 기재된 제 3 ARP 프로브 요청 메시지를 상기 포트를 통해 전송하는 단계;
    상기 컨트롤러가 상기 제 3 ARP 프로브 요청 메시지에 대한 제 3 ARP 프로브 응답 메시지를 수신하지 못하면, 상기 미확인 장비를 네트워크 장비 테이블에 등록하지 않고, 상기 미리 설정된 시간 이내에 상기 제 3 ARP 프로브 응답 메시지를 수신하면, 상기 미확인 장비를 상기 네트워크 장비 테이블에 등록하는 단계를 포함하고,
    상기 제 3 ARP 프로브 요청 메시지는,
    헤더의 소스 MAC 주소 필드에 상기 데이터 플레인에 존재하지 않는 MAC 주소 또는 상기 데이터 플레인의 ARP 프로브 요청 메시지와 구별하기 위해 상기 미리 정의된 코드를 기입하여 장비 상태를 확인하기 위한 메시지인 것을 특징으로 하는 네트워크 장비 상태 정보 수집 방법.
  5. 삭제
KR1020180135037A 2018-11-06 2018-11-06 소프트웨어 정의 네트워크에서 네트워크 장비를 인식하는 방법, 장치 및 컴퓨터 프로그램 KR102092015B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180135037A KR102092015B1 (ko) 2018-11-06 2018-11-06 소프트웨어 정의 네트워크에서 네트워크 장비를 인식하는 방법, 장치 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180135037A KR102092015B1 (ko) 2018-11-06 2018-11-06 소프트웨어 정의 네트워크에서 네트워크 장비를 인식하는 방법, 장치 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102092015B1 true KR102092015B1 (ko) 2020-03-23

Family

ID=69998368

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180135037A KR102092015B1 (ko) 2018-11-06 2018-11-06 소프트웨어 정의 네트워크에서 네트워크 장비를 인식하는 방법, 장치 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102092015B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117061244A (zh) * 2023-10-10 2023-11-14 杭州海康威视数字技术股份有限公司 基于主动扫描的视频网资产管理方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150085464A (ko) * 2014-01-15 2015-07-23 한국전자통신연구원 서버 연결 장치 및 방법
KR101580466B1 (ko) * 2015-01-21 2016-01-04 아토리서치(주) 소프트웨어 정의 네트워킹을 이용하여 네트워크 장비를 테스트하는 방법, 장치 및 컴퓨터 프로그램

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150085464A (ko) * 2014-01-15 2015-07-23 한국전자통신연구원 서버 연결 장치 및 방법
KR101580466B1 (ko) * 2015-01-21 2016-01-04 아토리서치(주) 소프트웨어 정의 네트워킹을 이용하여 네트워크 장비를 테스트하는 방법, 장치 및 컴퓨터 프로그램

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Open Networking Foundation, "OpenFlow Specification 1.2.0"

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117061244A (zh) * 2023-10-10 2023-11-14 杭州海康威视数字技术股份有限公司 基于主动扫描的视频网资产管理方法、装置及设备
CN117061244B (zh) * 2023-10-10 2024-01-30 杭州海康威视数字技术股份有限公司 基于主动扫描的视频网资产管理方法、装置及设备

Similar Documents

Publication Publication Date Title
US11374857B2 (en) Network device management method and apparatus, and system for indicating a network device to perform management operation
US8842673B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
TWI395435B (zh) 開放網路連接
KR100908320B1 (ko) IPv6 네트워크 내 호스트 차단 및 탐색방법
EP2099180B1 (en) Switching device and method for Layer-2 forwarding of OAM frames with multicast Layer-3 addresses
CN104506408A (zh) 基于sdn的数据传输的方法及装置
CN103997414A (zh) 生成配置信息的方法和网络控制单元
CN102801623B (zh) 一种多接入数据转发方法及设备
JP2006086889A (ja) L2−vpnサービスを提供するプロバイダ網、及びエッジルータ
US20130176861A1 (en) Control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program
EP3817285B1 (en) Method and device for monitoring forwarding table entry
US20130212241A1 (en) System and method for operating network based on network virtualization
CN101188510A (zh) 地址集中控制的方法、设备及系统
CN103117930B (zh) 静态路由配置的检测方法和装置
US11463349B2 (en) Fault diagnosis method and apparatus thereof
KR101710385B1 (ko) Arp 패킷을 관리하는 방법, 장치 및 컴퓨터 프로그램
CN113114509A (zh) 一种在sdn网络环境中进行报文转发仿真的方法及设备
KR101786620B1 (ko) 소프트웨어 정의 네트워크에서 서브넷을 지원하는 방법, 장치 및 컴퓨터 프로그램
US20160006684A1 (en) Communication system, control apparatus, communication method, and program
CN110380966B (zh) 一种发现转发路径的方法及其相关设备
US7848258B2 (en) Dynamically transitioning static network addresses
KR102092015B1 (ko) 소프트웨어 정의 네트워크에서 네트워크 장비를 인식하는 방법, 장치 및 컴퓨터 프로그램
KR101931139B1 (ko) 소프트웨어 정의 네트워크에서 호스트 상태 정보를 확인하는 방법, 장치 및 컴퓨터 프로그램
KR102412933B1 (ko) 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템 및 방법
KR101786616B1 (ko) 소프트웨어 정의 네트워크에서 서브넷을 지원하는 방법, 장치 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
GRNT Written decision to grant