KR101763653B1 - 네트워크 자원을 인식하고 관리하는 방법 및 장치 - Google Patents
네트워크 자원을 인식하고 관리하는 방법 및 장치 Download PDFInfo
- Publication number
- KR101763653B1 KR101763653B1 KR1020160000435A KR20160000435A KR101763653B1 KR 101763653 B1 KR101763653 B1 KR 101763653B1 KR 1020160000435 A KR1020160000435 A KR 1020160000435A KR 20160000435 A KR20160000435 A KR 20160000435A KR 101763653 B1 KR101763653 B1 KR 101763653B1
- Authority
- KR
- South Korea
- Prior art keywords
- switch
- legacy
- open flow
- packet
- asset
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
네트워크 자원을 인식하고 관리하는 방법 및 장치가 개시된다. 본 발명의 구현예들에 따른 네트워크 자원 인식/관리 방법 및 장치에서는 레거시 네트워크에 SDN 컨트롤러 및 오픈플로우 스위치를 설치함으로써, 레거시 네트워크에서 SDN 기술을 구현할 수 있으며 특히 SDN 컨트롤러가 레거시 스위치 및 이에 연결된 호스트들을 인식함으로써 전체 네트워크 토폴로지를 보다 정확히 인식할 수 있도록 하며, 레거시 스위치/호스트의 자산등록여부에 따라 정책을 달리할 수 있어 유연한 네트워크 정책을 사용할 수 있다.
Description
본 발명은 네트워크 자원을 인식하고 관리하는 방법 및 장치에 관한 것으로, 보다 구체적으로는 레거시 네트워크(LEGACY NETWORK)에서 소프트웨어 정의 네트워크 장비(SOFTWARE DEFINED NETWORK EQUIPMENT)를 이용하여 레거시 네트워크 자원을 인식/관리하기 위한 방법 및 장치에 관한 것이다.
SDN(Software Defined Networking, 이하 SDN이라 칭함) 기술은 네트워크의 모든 네트워크 장비를 지능화된 중앙관리시스템에 의해 관리하는 기술을 의미한다. SDN 기술에서는 기존 하드웨어 형태의 네트워크 장비에서 자체적으로 수행하는 패킷 처리와 관련된 제어 동작을 소프트웨어 형태로 제공되는 컨트롤러가 대신하여 처리하게 함으로써, 기존의 네트워크 구조보다 다양한 기능을 개발하고 부여할 수 있다는 장점을 갖는다.
SDN 기술에 대한 수요가 존재하고 있음에도 불구하고 기존 네트워크(이하, 레거시 네트워크라고 칭함)를 SDN 기반 네트워크로 대체하는 것은 현실적으로 쉽지 않다. 기존에 설치되어 있는 네트워크 인프라를 바꾸는 작업을 거쳐야 하므로 발생하는 비용이 크기 때문이다. 따라서 많은 경우에는 최종적으로는 SDN 기반 네트워크 구축을 목표로 하더라도 이를 위한 과도기적 단계로 레거시 네트워크와 SDN 기반 네트워크가 혼재된 하이브리드 단계를 거치게 된다. 이와 같은 하이브리드 단계에서는 레거시 네트워크에 존재하는 스위치(이하, 레거시 스위치라고 칭함) 및 라우터와, SDN 기반 네트워크에서 사용되는 스위치 등이 혼재되기 마련이다. 그리고 서로 다른 기반의 네트워크 환경을 연동한 것이므로 발생하는 문제점들이 있다. 예를 들어 상술한 것과 같은 하이브리드 단계에서는 SDN 컨트롤러가 네트워크에 존재하는 레거시 스위치를 인식하기 어렵다. 따라서 네트워크 관리자는 SDN 컨트롤러에서 제공하는 네트워크 토폴로지 기능을 이용한다 하더라도 이와 같은 하이브리드 네트워크의 정확한 토폴로지를 파악할 수 없다는 문제가 있다.
본 발명은 레거시 네트워크 자원과 SDN 네트워크 자원이 혼재된 네트워크에서, SDN 컨트롤러가 레거시 스위치와 이에 연결된 호스트들을 인식함으로써 전체 네트워크 토폴로지를 보다 정확히 인식할 수 있고, 레거시 스위치/호스트의 자산등록여부에 따라 정책을 달리할 수 있는 네트워크 자원 인식/관리 방법 및 장치를 제공하고자 한다.
본 발명의 일 측면에 따르면, 오픈플로우 프로토콜을 지원하지 않는 레거시 라우터 및 레거시 스위치 사이, 또는 레거시 스위치들 사이에 1 이상의 오픈플로우 스위치가 설치되는 경우에 있어, 상기 오픈플로우 스위치를 관리하는 컨트롤러 서버가 네트워크 토폴로지 인식을 위해 상기 레거시 스위치를 인식하고 관리하는 방법으로서, 상기 레거시 스위치로부터 LLDP(Link Layer Discovery Protocol) 패킷을 수신한 상기 오픈플로우 스위치로부터 상기 LLDP 패킷의 유입을 알리는 패킷-인 메세지(Packet-In Message)를 수신하는 단계; 상기 패킷-인 메세지에 포함되는 상기 LLDP 패킷의 MAC 주소 또는 Management(IP) 주소 정보를 통해 상기 레거시 스위치의 존재를 인식하는 단계; 상기 오픈플로우 스위치의 데이터패스 ID(datapath ID)를 통해 상기 오픈플로우 스위치를 특정하고, 상기 오픈플로우 스위치에 존재하는 복수의 포트 중에서 상기 LLDP 패킷이 유입된 포트 정보를 통해 상기 레거시 스위치와 상기 오픈플로우 스위치의 연결관계를 인식하는 단계; 및 상기 레거시 스위치로부터 상기 레거시 스위치와 연결된 호스트로부터 유입된 패킷을 수신한 상기 오픈플로우 스위치로부터 상기 호스트로부터 유입된 패킷의 유입을 알리는 패킷-인 메시지를 수신하여 상기 레거시 스위치와 호스트의 연결관계를 인식하는 단계를 포함하는 네트워크 자원 인식 및 관리 방법이 제공될 수 있다.
또한, 상기 네트워크 자원 인식 및 관리 방법은 상기 LLDP 패킷으로부터 획득한 상기 레거시 스위치의 MAC 주소 또는 Management(IP) 주소 정보와 기 저장된 네트워크 장비 정보의 비교를 통해 상기 레거시 스위치의 등록 자산 여부를 판별하고, 상기 레거시 스위치가 등록 자산인 경우 상기 오픈플로우 스위치로 상기 레거시 스위치로부터 유입되는 패킷 처리에 관한 플로우 룰(Flow Rule)을 전송하고, 상기 레거시 스위치가 미등록 자산인 경우에는 상기 레거시 스위치의 정보를 미등록 자산으로 저장하는 단계를 더 포함할 수 있다.
또한, 상기 레거시 스위치가 미등록 자산인 경우에는 상기 오픈플로우 스위치로 상기 레거시 스위치로부터 유입되는 패킷을 폐기시키는 플로우 룰을 전송하거나, 또는 상기 레거시 스위치와 연결된 상기 오픈플로우 스위치의 포트를 차단시키는 풀로우 룰을 전송하는 단계를 더 포함할 수 있다.
또한, 상기 레거시 스위치가 미등록 자산에서 등록 자산으로 변경되는 경우에는 상기 오픈플로우 스위치로 상기 레거시 스위치로부터 유입되는 패킷 처리에 관련한 새로운 플로우 룰을 전송하는 단계를 더 포함할 수 있다.
이 때, 상기 오픈플로우 스위치는 오픈플로우 프로토콜만을 지원하는 스위치, 오픈플로우 프로토콜을 지원하는 가상 스위치, 오픈플로우 프로토콜을 지원하는 무선AP 또는 오픈플로우 프로토콜을 지원하는 L2 스위치일 수 있다.
본 발명의 다른 측면에 따르면, 오픈플로우 프로토콜을 지원하지 않는 레거시 라우터 및 레거시 스위치 사이, 또는 레거시 스위치들 사이에 1 이상의 오픈플로우 스위치가 설치되는 경우에 있어, 상기 오픈플로우 스위치를 관리하면서 네트워크 토폴리지 인식을 위해 상기 레거시 스위치를 인식하고 관리하는 컨트롤러 서버로서, 상기 오픈플로우 스위치와 통신하는 통신부; 및 상기 레거시 스위치로부터 LLDP(Link Layer Discovery Protocol) 패킷을 수신한 상기 오픈플로우 스위치로부터 상기 LLDP 패킷의 유입을 알리는 패킷-인 메세지(Packet-In Message)를 수신하면, 상기 패킷-인 메세지에 포함되는 상기 LLDP 패킷의 MAC 주소 또는 Management(IP) 주소 정보를 통해 상기 레거시 스위치의 존재를 인식하고, 상기 오픈플로우 스위치의 데이터패스 ID(datapath ID)를 통해 상기 오픈플로우 스위치를 특정하고, 상기 오픈플로우 스위치에 존재하는 복수의 포트 중에서 상기 LLDP 패킷이 유입된 포트 정보를 통해 상기 레거시 스위치와 상기 오픈플로우 스위치의 연결관계를 인식하고, 상기 레거시 스위치로부터 상기 레거시 스위치와 연결된 호스트로부터 유입된 패킷을 수신한 상기 오픈플로우 스위치로부터 상기 호스트로부터 유입된 패킷의 유입을 알리는 패킷-인 메시지를 수신하여 상기 레거스 스위치와 호스트의 연결관계를 인식하는 제어부를 포함하는 컨트롤러 서버가 제공될 수 있다.
또한, 상기 제어부는 상기 LLDP 패킷으로부터 획득한 상기 레거시 스위치의 MAC 주소 또는 Management(IP) 주소 정보와 기 저장된 네트워크 장비 정보의 비교를 통해 상기 레거시 스위치의 등록 자산 여부를 판별하고, 상기 레거시 스위치가 등록 자산인 경우 상기 오픈플로우 스위치로 상기 레거시 스위치로부터 유입되는 패킷 처리에 관한 플로우 룰(Flow Rule)을 전송하고, 상기 레거시 스위치가 미등록 자산인 경우에는 상기 레거시 스위치의 정보를 미등록 자산으로 저장할 수 있다.
또한, 상기 제어부는 상기 레거시 스위치가 미등록 자산인 경우에는 상기 오픈플로우 스위치로 상기 레거시 스위치로부터 유입되는 패킷을 폐기시키는 플로우 룰을 전송하거나, 또는 상기 레거시 스위치와 연결된 상기 오픈플로우 스위치의 포트를 차단시키는 플로우 룰을 전송하고, 상기 레거시 스위치가 미등록 자산에서 등록 자산으로 변경되는 경우에는 상기 오픈플로우 스위치로 상기 레거시 스위치로부터 유입되는 패킷 처리에 관한 새로운 플로우 룰을 전송할 수 있다.
삭제
삭제
삭제
삭제
본 발명의 구현예들에 따른 네트워크 자원 인식/관리 방법 및 장치에서는 레거시 네트워크에 SDN 컨트롤러 및 오픈플로우 스위치를 설치함으로써, 레거시 네트워크에서 SDN 기술을 구현할 수 있으며 특히 SDN 컨트롤러가 레거시 스위치 및 이에 연결된 호스트들을 인식함으로써 전체 네트워크 토폴로지를 보다 정확히 인식할 수 있도록 하며, 레거시 스위치/호스트의 자산등록여부에 따라 정책을 달리할 수 있어 유연한 네트워크 정책을 사용할 수 있다.
도 1은 하이브리드 네트워크를 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 구현예에 따른 네트워크 자원 인식 및 관리 방법을 나타낸 순서도이다.
도 3은 본 발명의 일 구현예에 따른 네트워크 자원 관리 방법을 나타낸 순서도이다.
도 4는 본 발명의 일 구현예에 따른 컨트롤러 서버의 구성을 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 구현예에 따른 네트워크 자원 인식 및 관리 방법을 나타낸 순서도이다.
도 3은 본 발명의 일 구현예에 따른 네트워크 자원 관리 방법을 나타낸 순서도이다.
도 4는 본 발명의 일 구현예에 따른 컨트롤러 서버의 구성을 개략적으로 도시한 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명을 구체적으로 설명한다. 하기의 설명은 본 발명을 구체적인 예시를 들어 기술하는 것으로 이해되어야 하며, 본 발명의 기술적 사상이 하기의 설명에 한정되는 것은 아니다. 그리고 첨부된 도면은 본 발명의 이해를 돕기 위해 제공되는 것으로, 본 발명의 기술적 사상이 첨부된 도면에 한정되는 것은 아니다.
도 1은 하이브리드 네트워크를 개략적으로 도시한 도면이다.
도 1을 참조하면, 하이브리드 네트워크는 호스트(1, 2, 3, 4), 레거시 스위치(10, 20), 레거시 라우터(30), 컨트롤러 서버(110), 저장장치(110a) 및 오픈플로우 스위치(120)를 포함하여 구성될 수 있다. 본 명세서에서 하이브리드 네트워크는 기존 네트워크(레거시 네트워크)와 SDN 기반 네트워크가 혼재된 것으로, 레거시 네트워크 장비와 SDN 기반 네트워크 장비가 병존하는 형태를 의미할 수 있다. 한편, 도 1에서 오픈플로우 스위치(120)는 레거시 라우터(30) 및 레거시 스위치(10, 20) 사이에 설치된 경우를 도시하고 있으나, 오픈플로우 스위치(120)는 레거시 스위치들 사이에 설치될 수도 있다. 다만 설명의 편의를 위해 본 명세서에서는 오픈플로우 스위치(120)가 레거시 라우터(30) 및 레거시 스위치(10, 20) 사이에 설치된 경우를 중심으로 설명하도록 한다.
호스트(1, 2, 3, 4)는 레거시 스위치(10, 20)에 연결된 단말 등을 의미하는 것으로, 클라이언트 및 서버를 통칭하는 의미로 사용될 수 있다. 호스트(1, 2, 3, 4)는 네트워크를 통해 다른 호스트에 보내기 위한 패킷을 생성하고, 상기 패킷을 네트워크 인터페이스를 통해 레거시 스위치(10, 20)로 전송할 수 있다.
레거시 스위치(10, 20)는 레거시 네트워크에서 사용되는 네트워크 장비인 스위치를 의미하며, 오픈플로우 스위치(120) 및/또는 호스트(1, 2, 3, 4)와 연결될 수 있다. 한편 본 발명과 관련하여, 레거시 스위치(10, 20)는 오픈플로우 프로토콜을 지원하지 않으며, LLDP(Link Layer Discovery Protocol)를 지원함을 전제로 할 수 있다. 이와 관련된 설명은 다른 도면을 참조하여 후술하기로 한다.
레거시 라우터(30)는 레거시 네트워크에서 사용되는 네트워크 장비인 라우터를 의미하며, 오픈플로우 스위치(120)와 연결될 수 있다. 이상에서 설명한 호스트(1, 2, 3, 4), 레거시 스위치(10, 20) 및 레거시 라우터(30)는 레거시 네트워크에서는 일반적인 것으로 공지된 내용인 바, 구체적인 설명은 생략하도록 한다.
컨트롤러 서버(110)는 오픈플로우 스위치(120)를 관리하는 기능을 하는 것으로 1 이상의 오픈플로우 스위치(120)를 중앙 집중형으로 관리 및 제어할 수 있다. 구체적으로 컨트롤러 서버(110)는 토폴로지 관리(Topology management), 패킷 처리와 관련된 경로 관리(Path management), 링크 디스커버리(Link discovery), 패킷 흐름인 플로우 관리(Flow management) 등의 기능을 하는 소프트웨어가 탑재된 형태로 구현될 수 있다.
저장장치(110a)는 컨트롤러 서버(110)의 컨트롤러 동작, 컨트롤러 클러스터링, 컨트롤러 장애 복구 등을 위한 구성 요소에 해당하는 것으로, 네트워크 정보를 포함하여 컨트롤러 서버(110)에서 처리 및 저장되는 모든 정보들이 기록될 수 있다. 컨트롤러 서버(110)에 탑재되는 응용 프로그램은 스위치, 링크 등에 대한 네트워크 토폴로지와 작업 컨텍스트(context) 등 필요한 데이터를 저장하고, 이를 다른 응용 프로그램과 공유하기 위해 저장장치(110a)에 액세스할 수 있다.
예를 들어 데이터패스 매니저(datapath manager)는 오픈플로우 스위치(120)가 온/오프될 때마다 스위치의 스펙, 상태, 포트 정보 등에 대한 정보를 저장장치(110a)에 기록하고, 링크 디스커버리는 포트나 링크 상태 변경에 대한 정보를 저장장치(110a)에 기록할 수 있다. 라우팅(routing)은 라우팅 경로 설정을 위해 스위치 정보, 링크 정보 등을 저장장치(110a)에서 조회하고, 라우팅의 경로 설정 후에는 해당 경로 정보를 저장장치(110a)에 기록할 수 있다. 또는 방화벽(firewall)은 네트워크 관리자가 차단을 요청한 IP, 포트 정보와 해당 통계를 저장장치(110a)에 기록할 수 있다.
일 구현예에 있어서, 저장장치(110a)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 비휘발성 저장장치, 또는 다른 비휘발성 반도체 메모리 장치를 포함할 수 있다. 또한 저장장치(110a)는 인터넷, 인트라넷, LAN, WLAN, SAN(Storage Area Network) 등, 또는 이들의 적절한 조합과 같은 통신 네트워크를 통하여 엑세스되는 네트워크 부착형 저장 장치를 더 포함할 수 있다. 또한 저장장치(110a)는 도 1에서와 같이 컨트롤러 서버(110)와 별도로 존재할 수도 있으나, 컨트롤러 서버(110)와 통합되어 존재할 수도 있다. 또한, 저장장치(110a)는 응용 프로그램이 탑재된 형태로 구현될 수 있다.
오픈플로우 스위치(120)는 컨트롤러 서버(110)의 제어에 따라 패킷을 처리하는 기능을 하는 것으로, 레거시 라우터(30) 및/또는 레거시 스위치(10, 20)와 연결될 수 있다. 오픈플로우 스위치(120)는 오픈플로우 프로토콜만을 지원하는 스위치, 오픈플로우 프로토콜을 지원하는 가상 스위치, 오픈플로우 프로토콜을 지원하는 무선AP 또는 오픈플로우 프로토콜을 지원하는 L2 스위치일 수 있다. 한편, 본 발명과 관련하여 오픈플로우 스위치(120)는 컨트롤러 서버(110)에 장애 발생시에는 레거시 스위치와 유사한 방식으로 동작될 수 있다.
소프트웨어 정의 네트워크에서 컨트롤러 서버(110)와 오픈플로우 스위치(120)는 상호간 정보를 주고 받아야 하며, 이를 위한 프로토콜로 널리 사용되는 것이 오픈플로우(OpenFlow) 프로토콜이다. 즉 오픈플로우 프로토콜은 컨트롤러 서버(110)와 오픈플로우 스위치(120)간 서로 통신할 수 있는 표준 규격이다. 오픈플로우 스위치(120)에는 스위치에 유입되는 패킷을 처리하기 위한 플로우 테이블(Flow Table)이 존재한다. 상기 플로우 테이블은 패킷 처리를 규정하는 플로우 룰(Flow Rule)로 구성되며, 상기 플로우 룰은 컨트롤러 서버(110)가 생성하여 오픈플로우 스위치(120)에 전송하는 플로우 모드 메세지(Flow-Mod Message)에 의해 추가, 수정 또는 삭제될 수 있다. 오픈플로우 스위치(120)는 상기 플로우 테이블을 참조하여 패킷을 처리한다.
상기 플로우 테이블은 플로우를 결정하는 패킷 헤더 정보(match fields), 패킷의 처리를 정의하는 동작 정보(instructions), 패킷 처리의 우선순위(priority) 및 플로우별 통계 정보(counters)를 포함할 수 있다. 그리고 플로우 테이블을 이루는 각 행을 플로우 엔트리(Flow Entry)라고 칭한다.
한편, 도 1에서는 하나의 오픈플로우 스위치(120)와, 2개의 레거시 스위치(10, 20)와, 레거시 스위치별로 2개의 호스트(1, 2, 3, 4)를 도시하고 있으나, 네트워크 토폴로지가 이에 한정되지 않음은 물론이다. 오픈플로우 스위치(120)는 1 이상일 수 있으며, 레거시 스위치(10, 20) 역시 2 이상일 수 있고, 각 레거시 스위치(10, 20) 별로 복수개의 호스트들이 존재할 수 있다.
상술한 것과 같이 레거시 네트워크에서 1 이상의 오픈플로우 스위치(120)를 레거시 스위치(10, 20)의 상위 계층에 설치하고, 오픈플로우 스위치(120)에 컨트롤러 서버(110)를 연결하게 되면 호스트(1, 2, 3, 4)로부터 전송된 패킷이 대부분 오픈플로우 스위치(120)로 유입되는 바 컨트롤러 서버(110)에서 상기 패킷을 중앙집중 방식으로 처리할 수 있게 된다.
이에 따라 특정 트래픽을 차단하거나 해제하는 기능(방화벽), 특정 트래픽에 대한 QoS(Quality of Service)를 설정하거나 해제하는 기능, 트래픽의 조회 등이 보다 용이하게 이루어질 수 있다. 또한 컨트롤러 서버(110)에 추후 응용 어플리케이션을 추가함으로써 기능 들을 용이하게 확장할 수 있으며, 레거시 네트워크의 레거시 스위치(10, 20)나 호스트(1, 2, 3, 4)는 별도로 수정하지 않아도 된다는 장점을 갖는다.
이하, 상술한 바와 같은 하이브리드 네트워크에서 컨트롤러 서버(110)가 네트워크 토폴로지를 인식하는 방법에 대해 설명하도록 한다.
오픈플로우 스위치(120)에서 컨트롤러 서버(110)와의 통신을 위해 기본적인 설정을 하면 컨트롤러 서버(110)에서는 오픈플로우 스위치(120)의 존재는 인식할 수 있지만, 복수의 오픈플로우 스위치(120)의 연결 상태는 인식하지 못할 수 있다. 따라서 통상의 경우 컨트롤러 서버(110)는 네트워크 토폴로지를 인식하기 위하여 LLDP(Link Layer Discovery Protocol)를 이용한다.
구체적으로, 컨트롤러 서버(110)에서는 해당 오픈플로우 스위치(120)의 인터페이스를 통해 LLDP 패킷이 전송되도록 패킷 아웃 메세지(Packet Out Message)를 전송한다. 상기 패킷 아웃 메세지는 컨트롤러 서버(110)에서 오픈플로우 스위치(120)의 특정 포트로 패킷을 전달하기 위한 메시지를 의미한다. 다음으로 상기 패킷 아웃 메세지를 수신한 오픈플로우 스위치(120)는 내부의 LLDP 패킷을 지정된 동작 정보에 따라 처리하는데, 이를 통해 오픈플로우 스위치(120)와 연결된 다른 오픈플로우 스위치가 상기 LLDP 패킷을 수신할 수 있다. 다음으로 LLDP 패킷을 수신한 오픈플로우 스위치는 규정되지 않은 패킷(unknown packet)의 유입을 알리기 위해 컨트롤러 서버(110)에 패킷-인 메세지(Packet-In Message)를 전송한다. 그리고 컨트롤러 서버(110)에서는 상기 패킷-인 메세지를 통해 상기에서 언급된 2개의 오픈플로우 스위치의 연결관계를 인식하게 된다.
하지만 상술한 것과 같은 컨트롤러 서버(110)의 네트워크 토폴로지 인식 방법으로는 레거시 스위치(10, 20)와 오픈플로우 스위치(120)의 연결관계를 인식하지 못하는 문제가 있다. 왜냐하면 하나의 오픈플로우 스위치(120)와 연결되어 있는 다른 오픈플로우 스위치에서는 LLDP 패킷을 수신하면 컨트롤러 서버(110)에 패킷-인 메세지를 전송하는데 반해, 레거시 스위치(10, 20)는 오픈플로우 스위치(120)로부터 LLDP 패킷을 수신하더라도 제거해 버리기 때문이다. 따라서 컨트롤러 서버(110)에서는 레거시 스위치(10, 20)의 존재 및 연결구조를 인식할 수 없어 정확한 네트워크 토폴로지를 구성할 수 없다.
본 발명은 상기 문제점을 해결하기 위한 것으로, 이하 본 발명의 구현예들에 대하여 구체적으로 설명한다.
도 2는 본 발명의 일 구현예에 따른 네트워크 자원 인식 및 관리 방법을 나타낸 순서도이다. 도 2를 참조하여 컨트롤러 서버(110)가 레거시 스위치(10)를 인식하는 방법을 설명한다. 그리고 이하에서의 설명에 있어 컨트롤러 서버(110), 오픈플로우 스위치(120), 레거시 스위치(10), 호스트(1)의 연결관계(토폴로지)는 도 1에 도시된 것과 동일하다고 가정한다.
단계 210에서 레거시 스위치(10)는 오픈플로우 스위치(120)로 LLDP(Link Layer Discovery Protocol) 패킷을 전송한다. 상기 LLDP 패킷의 전송은 특정 시간 단위로 지속적으로 이루어질 수 있으며, 레거시 스위치(10)와 연결된 인접한 네트워크 장비들에 대해 모두 전송될 수 있다. 본 구현예에서, 오픈플로우 스위치(120)는 레거시 스위치(10)와 연결되어 있으므로 상기 LLDP 패킷을 오픈플로우 스위치(120)가 수신할 수 있다. 한편, 이를 위하여 레거시 스위치(10)는 LLDP를 지원함을 전제로 할 수 있다. LLDP는 레거시 스위치(10)의 정보를 주기적으로 인접한 네트워크 장비에 전송하는 단방향 프로토콜이다(IEEE 802.1 ab). 따라서 LLDP를 지원하는 네트워크 장비들끼리는 서로의 연결관계를 인식할 수 있다.
단계 220에서 오픈플로우 스위치(120)는 레거시 스위치(10)로부터 상기 LLDP 패킷을 수신하면 패킷-인 메세지(Packet-In Message)를 생성하여 컨트롤러 서버(110)로 전송할 수 있다. 그리고 상기 패킷-인 메세지는 컨트롤러 서버(110)에 상기 LLDP 패킷의 처리를 문의하기 위한 것이며, 상기 LLDP 패킷의 일부 데이터를 포함할 수 있다. 상기 패킷-인 메세지는 상기 패킷이 유입된 포트정보, 데이터의 유형 정보 등을 포함할 수 있다.
단계 230에서 컨트롤러 서버(110)는 오픈플로우 스위치(120)로부터 상기 패킷-인 메세지를 수신하고, 상기 패킷-인 메세지에 포함되는 상기 LLDP 패킷의 정보를 통해 상기 LLDP 패킷을 최초 전송한 레거시 스위치(10)의 정보를 획득할 수 있다. 구체적으로 LLDP 패킷은 Chassis ID, Port ID, TTL, System description 등의 항목을 포함할 수 있다. 따라서 컨트롤러 서버(110)는 상기 LLDP 패킷에 포함된 상기 항목을 참조하여 레거시 스위치(10)의 정보를 획득한다. 이 때, 컨트롤러 서버(110)가 레거시 스위치(10)의 정보를 획득하는 프로세스는 컴퓨터 소프트웨어로 구현될 수 있다.
단계 240에서 컨트롤러 서버(110)는 오픈플로우 스위치(120)의 식별정보 및 포트정보를 저장할 수 있다. 상기 저장은 예컨대 오픈플로우 스위치 연결정보 테이블에 저장될 수 있으며, 저장장치(110a, 도 1 참고)에도 동시 저장될 수 있다. 여기에서 상기 식별정보는 오픈플로우 스위치(120)를 특정하는 정보를 의미하며 예를 들어 오픈플로우 스위치(120)의 데이터패스 ID(datapath ID, 레거시 스위치(10)로부터 LLDP 패킷을 수신한 오픈플로우 스위치의 정보를 의미함)일 수 있다. 또한, 상기 포트정보는 오픈플로우 스위치(120)에 존재하는 복수의 포트 중에서 상기 패킷이 유입된 포트의 정보를 의미한다. 단계 240까지 거치고 나면, 컨트롤러 서버(110)는 레거시 스위치(10)의 정보를 획득하고, 레거시 스위치(10)와 오픈플로우 스위치(120)의 연결관계를 인식할 수 있다(구체적으로 오픈플로우 스위치(120)의 어느 포트에 레거시 스위치(10)가 연결되었는지를 인식할 수 있음).
나아가 컨트롤러 서버(110)는 레거시 스위치(10)와 레거시 스위치(10)에 연결된 호스트(1)의 연결관계를 인식할 수 있다. 단계 250에서 호스트(1)로부터 전송된 패킷은 레거시 스위치(10)를 거쳐 오픈플로우 스위치(120)로 유입될 수 있다. 이 때, 오픈플로우 스위치(120)는 호스트(1)로부터 전송된 패킷의 처리 규정을 가지고 있지 않는 경우 단계 260에서 패킷-인 메세지를 생성하여 컨트롤러 서버(110)로 전송할 수 있다.
단계 270에서 컨트롤러 서버(110)는 상기 패킷-인 메세지에 포함된 패킷 정보와, 단계 240에서 기 저장된 오픈플로우 스위치(120)의 식별정보 및 포트정보를 비교함으로써 레거시 스위치(10)와 호스트(1)의 연결관계를 인식할 수 있다. 예를 들어 오픈플로우 스위치(120)의 1번 포트에 레거시 스위치(10)가 연결되어 있는 경우, 단계 270에서 컨트롤러 서버(110)는 상기 패킷-인 메세지에 포함된 패킷 정보가 오픈플로우 스위치(120)의 1번 포트를 통해 유입되었음을 확인할 수 있다. 그리고 컨트롤러 서버(110)는 단계 240에서 오픈플로우 스위치(120)의 1번 포트에 레거시 스위치(10)가 연결되어 있음을 인식하고 있는 바, 단계 280에서 컨트롤러 서버(110)는 단계 270에서의 상기 패킷-인 메세지에 포함된 패킷의 출발지인 호스트(1)가 레거시 스위치(10)에 연결되어 있음을 알 수 있다. 만약 단계 270에서 컨트롤러 서버(110)가 상기 패킷 정보가 오픈플로우 스위치(120)의 2번 포트를 통해 유입되었음을 확인한 경우, 컨트롤러 서버(110)는 상기 패킷의 출발지인 호스트는 단계 240에서 인식한 레거시 스위치(10)에 연결되어 있지 않음을 알 수 있을 것이며, 단계 290에서 상기 패킷의 처리를 규정하는 플로우 룰(Flow Rule)을 오픈플로우 스위치(120)로 전송할 수 있다.
한편, 컨트롤러 서버(110)는 위에서 설명한 것과 같이 레거시 스위치(10)를 인식한 후, 레거시 스위치(10)를 네트워크 자원으로 관리할 수 있다.
구체적으로, 컨트롤러 서버(110)는 도 1의 단계 230에서 오픈플로우 스위치(120)로부터 수신한 상기 패킷-인 메시지에 포함되는 상기 LLDP 패킷에서 Chassis ID 항목에 있는 MAC 주소 또는 Management(IP) 주소를 기 저장된 네트워크 장비 정보와 비교함으로써, 해당 레거시 스위치(10)의 등록 자산 여부를 판별할 수 있다. 여기에서"등록 자산"이란 네트워크 관리자에 의해 허가되어 네트워크 서비스를 받을 수 있는 네트워크 자원을 의미한다. 예를 들어 컨트롤러 서버(110)는 등록 자산 테이블과 미등록 자산 테이블에 각각 등록 자산과 미등록 자산을 기록해 나갈 수 있으며, 상기 MAC 주소 또는 Management(IP) 주소와 기 저장된 정보를 매칭시켜 레거시 스위치(10)가 등록 자산 테이블에 있는지 미등록 자산 테이블에 있는지를 확인할 수 있다. 물론 상기 MAC 주소 또는 Management(IP) 주소와 매칭되는 레거시 스위치(10)가 상기 두 테이블 모두에 없는 경우에는 미등록 자산에 해당할 것이다. 여기에서 "미등록 자산"이란 등록 자산이 아닌 네트워크 자원을 의미한다.
만약, 상기 MAC 주소 또는 Management(IP) 주소와 매칭되는 레거시 스위치(10)가 미등록 자산인 경우에(등록 자산 테이블과 미등록 자산 테이블 모두에 없는 경우에, 컨트롤러 서버(110)는 상기 레거시 스위치(10)의 정보를 미등록 자산 테이블에 저장할 수 있음), 컨트롤러 서버(110)는 상기 레거시 스위치(10)와 연결된 오픈플로우 스위치(120)의 포트를 차단시키거나, 상기 포트로 유입되는 패킷을 폐기시키는 드롭 룰(Drop Rule)을 오픈플로우 스위치(120)에 전송할 수 있다. 이 경우 미등록 자산에 해당하는 레거시 스위치(10)는 정상적으로 오픈플로우 스위치(120)로 패킷을 전송할 수 없게 된다. 한편 상기 드롭 룰은 선택사항일 수 있다. 네트워크 관리 정책에 따라 미등록 자산이라 하더라도 반드시 네트워크 서비스를 즉시 차단하여야 하는 것은 아닐 수 있기 때문이다. 예컨대 미등록 자산인 레거시 스위치(10)의 정보를 미등록 자산 테이블에 기록만 해 두고, 추이를 지켜보는 것도 가능하다. 물론 레거시 스위치(10)가 상술한 것과는 반대로 등록 자산인 경우에는 위와 같은 조치들이 필요없을 것이다.
또한, 미등록 자산에 해당하는 레거시 스위치(10)에 대해 상술한 드롭 룰이 내려진 후에, 상기 레거시 스위치(10)가 등록 자산으로 변경되는 경우도 있을 수 있다. 레거시 스위치(10)의 미등록 자산 또는 등록 자산 여부의 결정은 별도로 이루어질 수 있기 때문이다. 따라서 레거시 스위치(10)가 등록 자산이 된 경우에 컨트롤러 서버(110)에서는 미등록 자산 테이블에 기록되어 있는 레거시 스위치(10)의 정보를 삭제하고, 상기 레거시 스위치(10)의 정보를 등록 자산 테이블에 새로 기록할 수 있다. 그리고 컨트롤러 서버(110)는 오픈플로우 스위치(120)에 전송된 드롭 룰을 제거하고 패킷 처리에 관련한 새로운 플로우 룰을 전송할 수 있다(플로우 처리 규정을 수정하기 위한 플로우 모드 메시지 또는 패킷 아웃 메시지를 통할 수 있음).
상술한 것과 같이, 본 발명의 일 구현예에 따른 네트워크 자원 인식 방법에서는 레거시 네트워크에 SDN 컨트롤러 및 오픈플로우 스위치를 설치함으로써, 레거시 네트워크에서 SDN 기술을 구현할 수 있으며 특히 SDN 컨트롤러가 레거시 스위치 및 이에 연결된 호스트들을 인식함으로써 전체 네트워크 토폴로지를 보다 정확히 인식할 수 있도록 한다. 또한 레거시 스위치와 같은 레거시 네트워크 장비의 자산 등록 여부를 판별하고, 미등록 자산인 경우 다양한 형태로 대응하도록 함으로써 보다 유연한 네트워크 정책을 사용할 수 있다.
도 3은 본 발명의 일 구현예에 따른 네트워크 자원 관리 방법을 나타낸 순서도이다. 도 3을 참조하여 컨트롤러 서버(110)가 호스트(1)의 자산 등록여부에 따라 정책을 달리하여 관리하는 방법을 설명한다. 그리고 이하에서의 설명에 있어 컨트롤러 서버(110), 오픈플로우 스위치(120), 레거시 스위치(10), 호스트(1)의 연결관계(토폴로지)는 도 1에 도시된 것과 동일하다고 가정한다.
단계 310에서 호스트(1)로부터 전송된 패킷은 레거시 스위치(10)를 거쳐 오픈플로우 스위치(120)로 유입될 수 있다. 이 때, 오픈플로우 스위치(120)는 호스트(1)로부터 전송된 상기 패킷의 처리 규정을 가지고 있지 않은 경우 단계 320에서 패킷-인 메세지를 생성하여 컨트롤러 서버(110)로 전송할 수 있다.
단계 330에서 컨트롤러 서버(110)는 상기 패킷-인 메시지에 포함된 패킷 정보로부터 소스 정보(소스 IP 또는 소스 MAC 주소 등을 의미함)를 검색하고, 단계 340에서 상기 소스 정보와 매칭되는 호스트(1)의 등록 자산 여부를 판별할 수 있다. 여기에서 "등록 자산"이란 네트워크 관리자에 의해 허가되어 네트워크 서비스를 받을 수 있는 네트워크 자원을 의미한다. 예를 들어 컨트롤러 서버(110)는 등록 자산 테이블과 미등록 자산 테이블에 각각 등록 자산과 미등록 자산을 기록해 나갈 수 있으며, 상기 소스 정보와 매칭되는 호스트(1)가 등록 자산 테이블에 있는지 미등록 자산 테이블에 있는지를 확인함으로써 등록 자산 여부를 판별할 수 있다. 물론 상기 소스 정보와 매칭되는 호스트(1)가 상기 두 테이블 모두에 없는 경우에는 미등록 자산에 해당할 것이다. 여기에서 "미등록 자산"이란 등록 자산이 아닌 네트워크 자원을 의미한다.
단계 350에서 만약 상기 소스 정보와 매칭되는 호스트(1)가 미등록 자산인 경우에, 컨트롤러 서버(110)는 상기 소스 정보와 매칭되는 호스트(1)의 정보를 저장할 수 있다. 일 구현예에 있어서 컨트롤러 서버(110)는 호스트(1)의 IP 주소 또는 MAC 주소 등을 미등록 자산 테이블에 저장할 수 있다.
단계 360에서 만약 상기 소스 정보와 매칭되는 호스트(1)가 등록 자산인 경우에, 컨트롤러 서버(110)는 상기 패킷의 처리에 관련한 플로우 룰을 오픈플로우 스위치(120)에 전송할 수 있다. 그리고 도면에 도시되어 있지는 않으나 상기 플로우 룰을 수신한 오픈플로우 스위치(120)는 상기 플로우 룰에 따라 해당 패킷을 처리할 수 있다.
단계 350에서 나아가 상기 소스 정보와 매칭되는 호스트(1)가 미등록 자산인 경우에, 컨트롤러 서버(110)는 단계 370에서 상기 호스트(1)로부터 유입되는 패킷을 폐기시키는 플로우 룰을 오픈플로우 스위치(120)에 전송할 수 있다. 상기 플로우 룰은 예컨대 상기 소스 정보와 매칭되는 호스트(1)로부터 유입되는 패킷을 폐기시키거나 연결된 포트를 차단시키는 드롭 룰(Drop Rule)일 수 있다. 이 경우 미등록 자산에 해당하는 호스트(1)는 정상적으로 패킷을 전송할 수 없게 된다. 한편, 미등록 자산에 해당하는 호스트에 대하여 단계 350과 단계 370으로 구분하여 대응하도록 하는 이유는, 보다 유연한 네트워크 정책을 사용할 수 있도록 하기 위함이다. 예를 들어 네트워크 관리 정책에 따라 미등록 자산이라 하더라도 반드시 네트워크 서비스를 즉시 차단하여야 하는 것은 아닐 수 있으므로, 단계 350에서 미등록 자산에 대해 기록한 뒤 추이를 지켜보는 정책을 사용할 수 있다. 반대로 미등록 자산일 경우 즉시 네트워크 서비스를 차단하고자 하는 정책을 사용할 때에는 단계 370에서와 같이 드롭 룰 등을 이용하여 미등록 자산에 해당하는 호스트가 네트워크 서비스를 이용하지 못하게 할 수 있을 것이다.
한편, 미등록 자산에 해당하는 호스트(1)에 대해 단계 350 또는 단계 370이 실행된 후, 상기 호스트(1)가 등록 자산으로 변경되는 경우가 있을 수 있다. 호스트(1)의 미등록 자산 또는 등록 자산 여부의 결정은 별도로 이루어질 수도 있기 때문이다. 따라서 호스트(1)가 등록 자산이 된 경우에 컨트롤러 서버(110)에서는 미등록 자산 테이블에 기록되어 있는 호스트(1)의 정보(예컨대 소스 IP 또는 소스 MAC 주소)를 삭제하고, 상기 호스트(1)의 정보를 등록 자산 테이블에 새로 기록할 수 있다. 또한, 단계 370에서 오픈플로우 스위치(120)에 전송된 드롭 룰을 제거하고 패킷 처리에 관련한 새로운 플로우 룰을 전송할 수 있다(플로우 처리 규정을 수정하기 위한 플로우 모드 메세지 또는 패킷 아웃 메시지를 통할 수 있음).
상술한 것과 같이, 본 발명의 일 구현예에 따른 네트워크 자원 관리 방법에서는 SDN 컨트롤러가 호스트의 자산 등록 여부를 판별하고, 미등록 자산인 경우 다양한 형태로 대응하도록 함으로써 보다 유연한 네트워크 정책을 사용할 수 있다.
도 4는 본 발명의 일 구현예에 따른 컨트롤러 서버(110)의 구성을 개략적으로 도시한 블록도이다. 도 4를 참조하면, 컨트롤러 서버(110)는 통신부(111) 및 제어부(112)를 포함할 수 있다. 컨트롤러 서버(110)는 그 외에도 입력부(미도시), 표시부(미도시) 또는 저장부(미도시) 등을 더 포함할 수 있다. 한편, 통신부(111) 및 제어부(112)는 물리적으로 분리되어 존재할 수 있다.
통신부(111)는 컨트롤러 서버(110)의 유무선 통신을 위한 데이터의 송수신 기능을 수행할 수 있다. 구체적으로 통신부(111)는 오픈플로우 스위치(120)와 통신하는 역할을 수행한다. 이 때 사용되는 프로토콜은 오픈플로우(OpenFlow) 프로토콜 일 수 있다.
제어부(112)는 컨트롤러 서버(110)의 전반적인 기능을 제어한다. 특히, 본 발명의 구현예들에 있어 제어부(112)는 오픈플로우 스위치로(120)부터 레거시 스위치의 LLDP(Link Layer Discovery Protocol) 패킷 유입을 알리는 패킷-인 메세지(Packet-In Message)를 수신하면, 상기 패킷-인 메세지에 포함된 상기 LLDP 패킷의 정보를 통해 상기 레거시 스위치의 정보를 획득하고, 상기 오픈플로우 스위치의 식별정보 및 상기 LLDP 패킷이 유입된 포트 정보를 저장하는 기능을 할 수 있다. 나아가 제어부(112)는 상기 LLDP 패킷으로부터 획득한 상기 레거시 스위치의 정보와 기 저장된 네트워크 장비 정보의 비교를 통해 상기 레거시 스위치의 등록 자산 여부를 판별하고, 상기 레거시 스위치가 등록 자산인 경우 상기 오픈플로우 스위치에 패킷 처리에 관련한 플로우 룰을 전송하고, 미등록 자산인 경우에는 상기 레거시 스위치의 정보를 미등록 자산으로 저장할 수 있다.
또한, 제어부(112)는 오픈플로우 스위치(120)로부터 패킷 유입을 알리는 패킷-인 메세지를 수신하고, 상기 패킷-인 메세지로부터 소스 정보(소스 IP 또는 소스 MAC 주소 등을 의미함)를 검색하고, 상기 소스 정보와 매칭되는 호스트의 등록 자산 여부를 판별한 후에 상기 소스 정보와 매칭되는 호스트가 등록 자산인 경우 상기 오픈플로우 스위치에 패킷 처리에 관련한 플로우 룰을 전송하고, 미등록 자산인 경우에는 상기 호스트의 정보를 분류하고 저장하는 기능을 할 수 있다.
이러한 제어부(112)는 도 1 내지 도 3을 참조하여 설명한 본 발명 구현예들에 따른 컨트롤러 서버의 세부 동작과 동일하므로, 중복 설명은 생략하도록 한다. 한편, 제어부(112)는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드 또는 프로그램으로서 구현될 수 있다. 여기에서 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함할 수 있으며, 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
이상, 본 발명의 구현예들에 대하여 설명하였다. 그러나 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 청구범위에 기재된 본 발명의 기술적 사상의 범위 내에서 기술의 구체적 적용에 따른 단순한 설계변경, 일부 구성요소의 생략, 단순한 용도의 변경 등 본 발명을 다양하게 변형할 수 있을 것이며, 이러한 변형 역시 본 발명의 권리범위 내에 포함됨은 자명하다.
1, 2, 3, 4: 호스트 10, 20: 레거시 스위치
30: 레거시 라우터 110: 컨트롤러 서버
110a: 저장장치 120: 오픈플로우 스위치
30: 레거시 라우터 110: 컨트롤러 서버
110a: 저장장치 120: 오픈플로우 스위치
Claims (12)
- 오픈플로우 프로토콜을 지원하지 않는 레거시 라우터 및 레거시 스위치 사이, 또는 레거시 스위치들 사이에 1 이상의 오픈플로우 스위치가 설치되는 경우에 있어, 상기 오픈플로우 스위치를 관리하는 컨트롤러 서버가 네트워크 토폴로지 인식을 위해 상기 레거시 스위치를 인식하고 관리하는 방법으로서,
상기 레거시 스위치로부터 LLDP(Link Layer Discovery Protocol) 패킷을 수신한 상기 오픈플로우 스위치로부터 상기 LLDP 패킷의 유입을 알리는 패킷-인 메세지(Packet-In Message)를 수신하는 단계;
상기 패킷-인 메세지에 포함되는 상기 LLDP 패킷의 MAC 주소 또는 Management(IP) 주소 정보를 통해 상기 레거시 스위치의 존재를 인식하는 단계;
상기 오픈플로우 스위치의 데이터패스 ID(datapath ID)를 통해 상기 오픈플로우 스위치를 특정하고, 상기 오픈플로우 스위치에 존재하는 복수의 포트 중에서 상기 LLDP 패킷이 유입된 포트 정보를 통해 상기 레거시 스위치와 상기 오픈플로우 스위치의 연결관계를 인식하는 단계; 및
상기 레거시 스위치로부터 상기 레거시 스위치와 연결된 호스트로부터 유입된 패킷을 수신한 상기 오픈플로우 스위치로부터 상기 호스트로부터 유입된 패킷의 유입을 알리는 패킷-인 메시지를 수신하여 상기 레거시 스위치와 호스트의 연결관계를 인식하는 단계를 포함하는 네트워크 자원 인식 및 관리 방법. - 청구항 1에 있어서,
상기 LLDP 패킷으로부터 획득한 상기 레거시 스위치의 MAC 주소 또는 Management(IP) 주소 정보와 기 저장된 네트워크 장비 정보의 비교를 통해 상기 레거시 스위치의 등록 자산 여부를 판별하고,
상기 레거시 스위치가 등록 자산인 경우 상기 오픈플로우 스위치로 상기 레거시 스위치로부터 유입되는 패킷 처리에 관한 플로우 룰(Flow Rule)을 전송하고,
상기 레거시 스위치가 미등록 자산인 경우에는 상기 레거시 스위치의 정보를 미등록 자산으로 저장하는 단계를 더 포함하는 네트워크 자원 인식 및 관리 방법. - 청구항 2에 있어서,
상기 레거시 스위치가 미등록 자산인 경우에는 상기 오픈플로우 스위치로 상기 레거시 스위치로부터 유입되는 패킷을 폐기시키는 플로우 룰을 전송하거나, 또는 상기 레거시 스위치와 연결된 상기 오픈플로우 스위치의 포트를 차단시키는 풀로우 룰을 전송하는 단계를 더 포함하는 네트워크 자원 인식 및 관리 방법. - 청구항 3에 있어서,
상기 레거시 스위치가 미등록 자산에서 등록 자산으로 변경되는 경우에는 상기 오픈플로우 스위치로 상기 레거시 스위치로부터 유입되는 패킷 처리에 관련한 새로운 플로우 룰을 전송하는 단계를 더 포함하는 네트워크 자원 인식 및 관리 방법. - 청구항 1 내지 청구항 4 중 어느 한 항에 있어서,
상기 오픈플로우 스위치는 오픈플로우 프로토콜만을 지원하는 스위치, 오픈플로우 프로토콜을 지원하는 가상 스위치, 오픈플로우 프로토콜을 지원하는 무선AP 또는 오픈플로우 프로토콜을 지원하는 L2 스위치인 네트워크 자원 인식 및 관리 방법. - 오픈플로우 프로토콜을 지원하지 않는 레거시 라우터 및 레거시 스위치 사이, 또는 레거시 스위치들 사이에 1 이상의 오픈플로우 스위치가 설치되는 경우에 있어, 상기 오픈플로우 스위치를 관리하면서 네트워크 토폴리지 인식을 위해 상기 레거시 스위치를 인식하고 관리하는 컨트롤러 서버로서,
상기 오픈플로우 스위치와 통신하는 통신부; 및
상기 레거시 스위치로부터 LLDP(Link Layer Discovery Protocol) 패킷을 수신한 상기 오픈플로우 스위치로부터 상기 LLDP 패킷의 유입을 알리는 패킷-인 메세지(Packet-In Message)를 수신하면, 상기 패킷-인 메세지에 포함되는 상기 LLDP 패킷의 MAC 주소 또는 Management(IP) 주소 정보를 통해 상기 레거시 스위치의 존재를 인식하고, 상기 오픈플로우 스위치의 데이터패스 ID(datapath ID)를 통해 상기 오픈플로우 스위치를 특정하고, 상기 오픈플로우 스위치에 존재하는 복수의 포트 중에서 상기 LLDP 패킷이 유입된 포트 정보를 통해 상기 레거시 스위치와 상기 오픈플로우 스위치의 연결관계를 인식하고, 상기 레거시 스위치로부터 상기 레거시 스위치와 연결된 호스트로부터 유입된 패킷을 수신한 상기 오픈플로우 스위치로부터 상기 호스트로부터 유입된 패킷의 유입을 알리는 패킷-인 메시지를 수신하여 상기 레거시 스위치와 호스트의 연결관계를 인식하는 제어부를 포함하는 컨트롤러 서버. - 청구항 6에 있어서,
상기 제어부는 상기 LLDP 패킷으로부터 획득한 상기 레거시 스위치의 MAC 주소 또는 Management(IP) 주소 정보와 기 저장된 네트워크 장비 정보의 비교를 통해 상기 레거시 스위치의 등록 자산 여부를 판별하고, 상기 레거시 스위치가 등록 자산인 경우 상기 오픈플로우 스위치로 상기 레거시 스위치로부터 유입되는 패킷 처리에 관한 플로우 룰(Flow Rule)을 전송하고, 상기 레거시 스위치가 미등록 자산인 경우에는 상기 레거시 스위치의 정보를 미등록 자산으로 저장하는 컨트롤러 서버. - 청구항 7에 있어서,
상기 제어부는 상기 레거시 스위치가 미등록 자산인 경우에는 상기 오픈플로우 스위치로 상기 레거시 스위치로부터 유입되는 패킷을 폐기시키는 플로우 룰을 전송하거나, 또는 상기 레거시 스위치와 연결된 상기 오픈플로우 스위치의 포트를 차단시키는 플로우 룰을 전송하고,
상기 레거시 스위치가 미등록 자산에서 등록 자산으로 변경되는 경우에는 상기 오픈플로우 스위치로 상기 레거시 스위치로부터 유입되는 패킷 처리에 관한 새로운 플로우 룰을 전송하는 컨트롤러 서버. - 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160000435A KR101763653B1 (ko) | 2016-01-04 | 2016-01-04 | 네트워크 자원을 인식하고 관리하는 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160000435A KR101763653B1 (ko) | 2016-01-04 | 2016-01-04 | 네트워크 자원을 인식하고 관리하는 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170081422A KR20170081422A (ko) | 2017-07-12 |
KR101763653B1 true KR101763653B1 (ko) | 2017-08-14 |
Family
ID=59352806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160000435A KR101763653B1 (ko) | 2016-01-04 | 2016-01-04 | 네트워크 자원을 인식하고 관리하는 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101763653B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102454398B1 (ko) | 2018-02-19 | 2022-10-14 | 한국전자통신연구원 | 분산형 소프트웨어 정의 네트워킹 방법 및 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101527786B1 (ko) * | 2013-12-31 | 2015-06-09 | 쿨클라우드(주) | 하이브리드 sdn 네트워크 관리 방법 |
JP2015530763A (ja) * | 2012-08-30 | 2015-10-15 | 日本電気株式会社 | アクセス制御システム、アクセス制御方法及びプログラム |
-
2016
- 2016-01-04 KR KR1020160000435A patent/KR101763653B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015530763A (ja) * | 2012-08-30 | 2015-10-15 | 日本電気株式会社 | アクセス制御システム、アクセス制御方法及びプログラム |
KR101527786B1 (ko) * | 2013-12-31 | 2015-06-09 | 쿨클라우드(주) | 하이브리드 sdn 네트워크 관리 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20170081422A (ko) | 2017-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10148492B2 (en) | Data center bridging network configuration and management | |
CN107733670B (zh) | 一种转发策略配置方法和装置 | |
US7907626B2 (en) | Method and system to allocate exchange identifications for Fibre Channel N-Port aggregation | |
US7710903B2 (en) | System and method for floating port configuration | |
TWI702817B (zh) | 具有鏈路層發現之自動多機箱鏈路聚合組態 | |
US9935876B2 (en) | Communication system, control apparatus, communication apparatus, communication control method, and program | |
US20080285555A1 (en) | Node, communication method, and program for node | |
EP2731313B1 (en) | Distributed cluster processing system and message processing method thereof | |
CN112448900A (zh) | 一种数据传输方法及装置 | |
US8667097B2 (en) | Neighbor discovery using address registration protocol over ELMI | |
TW201916643A (zh) | 用於乙太網路交換器之角色型自動設定系統及方法 | |
US8140657B2 (en) | Method and system to connect multiple SCSI initiators to a fibre channel fabric topology using a single N-PORT | |
KR20210015704A (ko) | 차량 내부 네트워크에 대한 sdn 기반의 침입 대응 방법 및 이를 이용한 시스템 | |
TW201830924A (zh) | 虛擬區域網路配置系統與方法及其電腦程式產品 | |
KR20180058594A (ko) | Sdn/tap 어플리케이션 | |
US10574579B2 (en) | End to end quality of service in storage area networks | |
KR101763653B1 (ko) | 네트워크 자원을 인식하고 관리하는 방법 및 장치 | |
JP5937563B2 (ja) | 通信基地局およびその制御方法 | |
KR20180058592A (ko) | Sdn 제어기 | |
JP2005151025A (ja) | 拡張中継システム及び中継装置 | |
Cisco | Configuring Source-Route Bridging | |
KR20180058593A (ko) | Sdn 화이트박스 스위치 | |
KR101739097B1 (ko) | 오픈플로우 스위치의 서비스 체이닝 방법 | |
US20230403180A1 (en) | Communication apparatus, communication setting method, and non-transitory storage medium | |
US20210051076A1 (en) | A node, control system, communication control method and program |
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 |