KR102412933B1 - 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템 및 방법 - Google Patents
소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템 및 방법 Download PDFInfo
- Publication number
- KR102412933B1 KR102412933B1 KR1020200122362A KR20200122362A KR102412933B1 KR 102412933 B1 KR102412933 B1 KR 102412933B1 KR 1020200122362 A KR1020200122362 A KR 1020200122362A KR 20200122362 A KR20200122362 A KR 20200122362A KR 102412933 B1 KR102412933 B1 KR 102412933B1
- Authority
- KR
- South Korea
- Prior art keywords
- network
- openflow
- switch
- service
- controller
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/467—Arrangements for supporting untagged frames, e.g. port-based VLANs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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/54—Organization of routing tables
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법을 제공한다. 상기 방법은 컨트롤러에서, 물리적으로 서로 망이 분리된 제1 서비스 망와 제2 서비스 망을 대상으로 VRF(Virtual Routing and Forwarding) 설정을 통한 레거시 스위치에서의 독립적인 라우팅 테이블을 생성하는 단계; 상기 컨트롤러에서, 상기 레거시 스위치와 복수의 오픈플로우 스위치 간의 패킷 송수신을 위한 터널 ID와 VLAN ID가 매핑된 매핑 테이블을 생성하는 단계; 상기 컨트롤러에서, 상기 생성된 라우팅 테이블과 매핑 테이블을 상기 레거시 스위치로 제공하는 단계; 및 상기 레거시 스위치에서, 상기 라우팅 테이블과 매핑 테이블에 기초하여 패킷을 송수신하는 단계를 포함하되, 상기 레거시 스위치에서의 독립적인 라우팅 테이블을 생성하는 단계는, 상기 VRF 설정을 통해 상기 제1 및 제2 서비스 망의 VLAN ID에 상응하도록 인터페이스를 각각 구분하여 독립적인 라우팅 테이블로 생성한다.
Description
본 발명은 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템 및 방법에 관한 것이다.
SDN(Software Defined networking, 소프트웨어 정의 네트워킹, 이하 SDN) 기술은 네트워크의 모든 장비를 지능화된 중앙 관리 시스템에 의해 관리하는 기술을 말한다. SDN 기술에서는 기존 하드웨어 형태의 네트워크 장비에서 자체적으로 수행하는 패킷 처리와 관련된 제어 동작을 소프트웨어 형태로 제공되는 컨트롤러가 대신 처리하게 함으로써, 기존 네트워크 구조보다 다양한 기능을 개발하고 부여할 수 있다는 장점을 갖는다.
한편, 기존에는 레거시 스위치만을 이용하여 망 분리를 제공하였으나, L2 스위치를 기반으로 하는 망 분리를 제공하는 방법은 부재한 실정이다.
Open Networking Foundation, "OpenFlow Specification 1.3.0"(2012.6.25.)
본 발명이 해결하고자 하는 과제는 레거시 스위치와 오픈플로우 스위치를 혼합한 하이브리드 망을 구성하여, 기존 레거시 스위치를 대상으로 VRF 설정을 통한 망 분리와, 오픈플로우 스위치를 대상으로 포트별 룰을 설계하여 망 분리를 제공함으로써, 호스트 간 IP가 중복되더라도 각 서비스 망을 이용한 서비스 제공이 가능하도록 하는 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템 및 방법을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 상기된 바와 같은 과제로 한정되지 않으며, 또다른 과제들이 존재할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 제1 측면에 따른 소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법은 컨트롤러에서, 물리적으로 서로 망이 분리된 제1 서비스 망와 제2 서비스 망을 대상으로 VRF(Virtual Routing and Forwarding) 설정을 통한 레거시 스위치에서의 독립적인 라우팅 테이블을 생성하는 단계; 상기 컨트롤러에서, 상기 레거시 스위치와 복수의 오픈플로우 스위치 간의 패킷 송수신을 위한 터널 ID와 VLAN ID가 매핑된 매핑 테이블을 생성하는 단계; 상기 컨트롤러에서, 상기 생성된 라우팅 테이블과 매핑 테이블을 상기 레거시 스위치로 제공하는 단계; 및 상기 레거시 스위치에서, 상기 라우팅 테이블과 매핑 테이블에 기초하여 패킷을 송수신하는 단계를 포함한다. 이때, 상기 레거시 스위치에서의 독립적인 라우팅 테이블을 생성하는 단계는, 상기 VRF 설정을 통해 상기 제1 및 제2 서비스 망의 VLAN ID에 상응하도록 인터페이스를 각각 구분하여 독립적인 라우팅 테이블로 생성한다.
본 발명의 일부 실시예는, 적어도 하나의 레거시 스위치와 복수의 오픈플로우 스위치를 기반으로 구성되며, 상기 레거시 스위치와 상기 오픈플로우 스위치를 기준으로 하는 브로드캐스트 도메인이 각각 설정된 언더레이 SDN에서, 상기 컨트롤러에서, 상기 레거시 스위치와 상기 복수의 오픈플로우 스위치 각각에 대한 터널 연결 설정을 통해 각 브로드캐스트 도메인이 통합된 오버레이 SDN을 설정하는 단계를 더 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 제1 및 제2 서비스 망은 상기 VRF 설정을 통해 상기 VLAN ID에 기반하여 서로 구분되며 동일 네트워크 대역을 이용하여 각 서비스 망의 서비스를 제공할 수 있다.
본 발명의 일부 실시예에서, 상기 제1 서비스 망을 이용하는 제1 호스트 그룹과 상기 제2 서비스 망을 이용하는 제2 호스트 그룹은 상기 동일 네트워크 대역을 이용하여 각 서비스 망에 상응하는 패킷을 송수신할 수 있다.
본 발명의 일부 실시예에서, 상기 레거시 스위치에서, 상기 라우팅 테이블과 매핑 테이블에 기초하여 패킷을 송수신하는 단계는, 상기 레거시 스위치에서 상기 호스트로 패킷 전송시, 상기 매핑 테이블에 기재된 상기 호스트에 상응하는 터널 ID를 상기 패킷에 부가하여 전송하고, 상기 호스트로부터 전송된 패킷을 상기 오픈플로우 스위치로부터 수신시, 상기 패킷에 부가된 터널 ID에 상응하는 VLAN ID를 확인하고, 상기 제1 및 제2 서비스 망 중 상기 VLAN ID에 해당하는 서비스 망으로 상기 패킷을 전송할 수 있다.
본 발명의 일부 실시예는, 상기 컨트롤러에서, 상기 오픈플로우 스위치와 연결된 각 호스트의 포트에 상응하는 서비스 망을 할당하고, 상기 오픈플로우 스위치에서의 터널 연결이 설정된 포트(이하, 터널 포트)를 확인하여 각 오픈플로우 스위치에 대한 포트 정보 테이블을 생성하는 단계; 상기 컨트롤러에서, 상기 각 오픈플로우 스위치에 대한 포트 정보 테이블에 기반하여 상기 오픈플로우 스위치마다 오픈플로우 룰을 포함하는 오픈플로우 테이블을 생성하는 단계; 및 상기 컨트롤러에서, 상기 생성된 오픈플로우 테이블을 대응되는 각 오픈플로우 스위치로 제공하는 단계를 더 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 컨트롤러에서, 상기 오픈플로우 스위치마다 오픈플로우 룰을 포함하는 오픈플로우 테이블을 생성하는 단계는, 상기 터널 포트를 기반으로 수신되어 유니캐스트 처리를 위한 매치 필드 및 동작 필드가 기록된 제1 플로우 룰, 상기 터널 포트를 기반으로 수신되어 상기 터널 ID에 상응하는 호스트로 멀티캐스트 처리를 위한 매치 필드 및 동작 필드가 기록된 제2 플로우 룰, 상기 제1 및 제2 서비스 망 사이에서의 트래픽을 차단하기 위한 매치 필드 및 동작 필드가 기록된 제3 플로우 룰, 상기 오픈플로우 스위치 내에서 동일 서비스 망을 이용하는 호스트 간 통신을 위한 매치 필드 및 동작 필드가 기록된 제4 플로우 룰, 상기 호스트에서 동일 서비스 망을 이용하는 타 호스트를 대상으로 브로드캐스트를 처리하기 위한 매치 필드 및 동작 필드가 기록된 제5 플로우 룰 및 상기 오픈플로우 스위치와 상이한 타 오픈플로우 스위치와 연결된 호스트로 유니캐스트 처리를 위한 매치 필드 및 동작 필드가 기록된 제6 플로우 룰이 상호 우선 순위를 갖도록 설정된 오픈플로우 테이블을 생성하는 단계를 포함할 수 있다.
또한, 본 발명의 제2 측면에 따른 레거시 스위치와 오픈플로우 스위치를 이용하여 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템은 물리적으로 서로 망이 분리된 제1 서비스 망과 제2 서비스 망을 대상으로VRF(Virtual Routing and Forwarding) 설정을 통한 레거시 스위치에서의 독립적인 라우팅 테이블을 생성하고, 상기 레거시 스위치와 복수의 오픈플로우 스위치 간의 패킷 송수신을 위한 터널 ID와 VLAN ID가 매핑된 매핑 테이블을 생성하며, 상기 오픈플로우 스위치와 연결된 각 호스트의 포트에 상응하는 서비스 망 할당하고, 상기 오픈플로우 스위치에서의 터널 연결이 설정된 포트를 확인하여 각 오픈플로우 스위치에 대한 포트 정보 테이블을 생성하고, 상기 포트 정보 테이블에 기반하여 상기 오픈플로우 스위치마다 오픈플로우 룰을 포함하는 오픈플로우 테이블을 생성하는 컨트롤러, 상기 생성된 라우팅 테이블과 매핑 테이블을 상기 컨트롤러부터 제공받아 이에 기초하여 패킷을 송수신하는 레거시 스위치 및 상기 오픈플로우 테이블에 기초하여 패킷을 송수신하는 복수의 오픈플로우 스위치를 포함한다.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 상기 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템 및 방법을 실행하며, 컴퓨터 판독가능 기록매체에 저장된다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
상술한 본 발명에 의하면, 기존 레거시 스위치와 SDN화시킨 오픈플로우 스위치를 이용하여 터널링 기반의 망 분리를 통해, 호스트 IP가 중복되더라도 처리 가능한 개선된 망 분리 서비스를 제공할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에서의 소프트웨어 정의 네트워크의 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법의 순서도이다.
도 3은 언더레이 SDN을 설명하기 위한 도면이다.
도 4a 및 도 4b는 오버레이 SDN을 설명하기 위한 도면이다.
도 5는 레거시 스위치 및 오픈플로우 스위치에서의 망 분리를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 시스템의 순서도이다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법의 순서도이다.
도 3은 언더레이 SDN을 설명하기 위한 도면이다.
도 4a 및 도 4b는 오버레이 SDN을 설명하기 위한 도면이다.
도 5는 레거시 스위치 및 오픈플로우 스위치에서의 망 분리를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 시스템의 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 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)의 일 예로는 이통 통신 기지국, 기지국 제어기, 게이트웨이 장비, 유선 네트워크 스위치, 라우터 등일 수 있다. 다만, 설명의 편의를 위해 이하에서는 네트워크 장비(200)는 오픈플로우 스위치(220)인 경우를 중심으로 설명하며, 동일한 도면 부호를 병기하도록 한다.
소프트웨어 정의 네트워크에서 컨트롤러(100)와 네트워크 장비(200)는 상호간에 정보를 주고 받아야 하며, 이를 위한 프로토콜로 널리 사용되는 것이 오픈플로우(OpenFlow) 프로토콜이다. 즉, 오픈플로우 프로토콜은 컨트롤러(100)와 네트워크 장비(200) 간 서로 통신할 수 있는 표준 규격이다.
보다 구체적으로 설명하면, 네트워크 장비(200)는 크게 소프트웨어 계층과 하드웨어 계층으로 구분된다.
상기 소프트웨어 계층은 보안 채널(Secure Channel)을 통해 컨트롤러(100)와 정보를 교환한다. 보안 채널은 네트워크 장비(200)와 원거리에 위치한 컨트롤러(100) 간 통신 채널이며, 컨트롤러와 네트워크 장비(200) 간 교환되는 정보는 암호화된다.
상기 하드웨어 계층에는 패킷을 규정 및 처리하고, 패킷에 관련된 통계 정보를 포함하는 플로우 테이블(Flow table)이 존재한다. 플로우 테이블은 패킷 처리를 규정하는 플로우 룰(Flow Rule)로 구성되며, 플로우 룰은 컨트롤러(100)가 생성하여 네트워크 장비(200)에 전송하는 플로우 모드 메시지(Flow-Mod Message)에 의해 추가, 수정 또는 삭제될 수 있다. 네트워크 장비(200)는 플로우 테이블을 참조하여 패킷을 처리한다. 한편, 플로우 룰은 해당 업계의 통상의 입장에서 소프트웨어 정의 네트워크에서 컨트롤러(100)가 적용하는 네트워크 정책을 의미하는 것으로 이해되어야 한다. 즉, 플로우 룰은 컨트롤러(100)가 연결된 상태에서 적용되는 플로우 룰이며, 컨트롤러(100)에 의해 중앙 집중적으로 패킷 처리가 제어되는 플로우 엔트리가 정의된 룰이다.
플로우 테이블은 플로우를 정의하는 패킷 헤더 정보(Match Fields), 패킷의 처리를 정의하는 동작 정보(Action) 및 플로우별 통계 정보(Stats)를 포함한다. 여기에서, 플로우 테이블을 구성하는 각 행을 플로우 엔트리(Flow Entry)라 칭한다.
호스트(300)는 네트워크 장비(200)의 하위 계층에 해당하는 단말 등을 의미하는 것으로, 클라이언트 및 서버를 통칭하는 의미로 사용될 수 있다. 호스트(300)는 소프트웨어 정의 네트워크를 통해 다른 호스트에 보내기 위한 패킷을 생성하고, 패킷을 네트워크 인터페이스의 포트를 통해 네트워크 장비(200)로 전송할 수 있다.
예컨대, 제1 호스트(300a)가 제2 호스트(300b)로 패킷을 보내고자 할 때, 우선 제1 호스트(300a)는 보내고자 하는 패킷을 생성하고, 해당 패킷을 제1 호스트(300a)와 연결된 네트워크 장비(200)로 전송한다. 네트워크 장비(200)에 해당 패킷의 처리를 규정한 플로우 테이블이 존재하는 경우, 네트워크 장비(200)가 규정대로 패킷을 처리한다.
하지만, 네트워크 장비(200)에 해당 패킷과 관련된 플로우 테이블이 없는 경우, 네트워크 장비(200)는 컨트롤러(100)에 패킷 유입을 알리는 패킷-인 메시지(Packet-in Message)를 전송한다.
컨트롤러(100)는 오퍼레이터의 정책이나 미리 설정된 알고리즘에 따라 패킷의 처리를 규정하는 플로우 모드 메시지를 생성하여 네트워크 장비(200)로 전송하고, 네트워크 장비(200)는 플로우 모드 메시지에 의해 변경된 플로우 테이블을 참조하여 해당 패킷을 처리한다.
한편, 제1 호스트(300a)가 제2 호스트(300b)로 패킷을 보낼 수 있는 경로는 다양하다. 전체 네트워크에는 복수의 네트워크 장비(200) 및 호스트가 존재하므로 각 노드마다 복수의 링크를 가지기 때문이다. 이때, 컨트롤러(100)는 전체 네트워크 토폴로지 맵에 기반하여 패킷을 보낼 수 있는 복수 개의 경로 중에서 최적 경로를 연산한다. 그리고 컨트롤러(100)는 연산된 최적 경로에 대한 정보를 네트워크 장비(200)에 전송하고, 네트워크 장비(200)는 최적 경로로 패킷을 처리하는 것이 일반적이다.
이하에서는 도 2 내지 도 5를 참조하여 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템(1)에서 수행되는 방법에 대하여 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법의 순서도이다. 도 3은 언더레이 SDN을 설명하기 위한 도면이며, 도 4a 및 도 4b는 오버레이 SDN을 설명하기 위한 도면이다. 도 5는 레거시 스위치(210) 및 오픈플로우 스위치(220)에서의 망 분리를 설명하기 위한 도면이다.
망 분리는 서로 다른 목적을 갖는 네트워크 망인 제1 네트워크와 제2 네트워크에서, 제1 네트워크에 접근 가능한 단말(또는 PC)의 제2 네트워크에 대한 접근을 차단하고, 제2 네트워크에 접근 가능한 단말(또는 PC)의 제1 네트워크에 대한 접근을 차단하여, 제1 네트워크와 제2 네트워크의 접근 망을 서로 분리하는 것이다.
망 분리 방법에는 물리적 망 분리와 논리적 망 분리 방법이 있다. 물리적 망 분리는 인터넷망에 접근 가능한 단말과 업무망에 접근 가능한 단말을 분리하는 것으로, 네트워크와 단말을 모두 별도로 구성하기 때문에 안전성은 매우 높으나 그 비용이 상당하다는 단점이 있다.
논리적 망 분리 방법의 일 예로, 단말(또는 PC)이 인터넷망에 접속하고, 가상 시스템에서 업무망에 접근하여 망을 분리할 수 있다. 이러한 방법은 업무망을 통해 작업한 모든 결과가 가상 시스템에 저장되기 때문에 단말에는 중요한 정보가 저장되지 않아 산업기밀 같은 중요 정보 유출을 차단하는 데 유용하다. 그러나 이와 같은 방법은 외부 공격에 취약하여 PC의 시스템에 대한 보안이 매우 중요하다.
다른 예로는 단말(또는 PC)이 업무망에 접속하고, 가상 시스템에서 인터넷망에 접근하여 망을 분리할 수 있고, 또 다른 예로는 단말(또는 PC) 내에 가상 시스템을 설치하여 가상 시스템으로 인터넷망을 이용하고, 단말 자체에서 업무망을 이용하여 망을 분리할 수 있다. 가상 시스템에는 업무망에 대한 접근이 차단되어 있어 인터넷망을 통해 악성 프로그램이 침투하더라도 업무망에 있는 중요 시스템이나 데이터를 보호할 수 있다. 이와 같이 가상 시스템을 통해 논리적망 분리를 수행할 경우, 사용자가 의도적으로 망 분리 적용을 회피하거나, 무선 인터넷이나 테더링을 통해 다른 네트워크에 접속하여 단말에 저장된 데이터가 유출될 가능성이 존재한다.
상술한 것과 같은 종래의 망 분리 방법은 별도의 인증 없이 패킷의 VLAN만을 이용하여 네트워크에 접속하기 때문에 사용자가 의도적으로 망 분리를 회피할 수 있으며, 포트 기반으로 VLAN을 부여하기 때문에 장비가 다른 네트워크나 다른 포트로 이동할 경우 모든 테이블을 재설정해야 하는 번거로움 때문에 이동성이 현저히 떨어진다는 단점이 있다.
이와 달리, 본 발명의 일 실시예는 기존 레거시 스위치(210)와 SDN화시킨 오픈플로우 스위치(220)를 이용하여 포트 기반이 아닌 터널 베이스 기반의 망 분리를 통해, 호스트 IP가 중복되더라도 처리 가능한 개선된 망 분리 서비스를 제공할 수 있다.
먼저, 컨트롤러(100)는 물리적인 망 구성인 언더레이 SDN이 구성된 상태에서, 레거시 스위치(210)와 오픈플로우 스위치(220) 제어를 통해 논리적인 망 구성인 오버레이 SDN을 설정한다.
구체적으로 도 2를 참조하면, 컨트롤러(100)는 미리 설정된 언더레이 SDN에서, 레거시 스위치(210)와 복수의 오픈플로우 스위치(220) 각각에 대한 터널 연결 설정을 통해 각 브로드캐스트 도메인이 통합된 오버레이 SDN을 설정한다(S110).
이때, 미리 설정된 언더레이 SDN은 적어도 하나의 레거시 스위치(210)와 복수의 오픈플로우 스위치(220)를 기반으로 구성된다. 그리고 언더레이 SDN에는 레거시 스위치(210)와 오픈플로우 스위치(220)를 기준으로 하는 브로드캐스트 도메인이 각각 설정된다.
본 발명의 일 실시예에서, 오픈플로우 스위치(220)는 L2 기능을 수행하는 L2 스위치일 수 있으며, 오픈플로우 스위치(220)는 패킷의 MAC 주소를 독출하여 스위칭 기능을 수행하고, 패킷에 대한 브로드캐스팅 기능을 수행하며, 컨트롤러(100)로부터 수신한 오픈플로우 룰에 기초하여 SDN 기반 망 분리 서비스를 제공한다.
또한, 레거시 스위치(210)는 L3 기능을 수행하는 L3 스위치일 수 있으며, 레거시 스위치(210)는 라우팅 기능을 제공하고, VRF(Virtual Routing and Forwarding) 설정을 통한 망 분리 서비스를 제공하고, SSH(Secure Shell), NETCONF, REST 등과 같은 프로토콜을 제공한다.
도 3을 참조하면, 언더레이 SDN은 레거시 스위치(210)를 기준으로 하는 제1 브로드캐스트 도메인과, 복수의 그룹 별 오픈플로우 스위치(220)를 기준으로 하는 제2 및 제3 브로드캐스드 도메인이 각각 설정되어 있다. 이와 같은 언더레이 SDN 구성 하에서는 제2 브로드캐스트 도메인과 제3 브로드캐스트 도메인 간에는 L2 스위치만으로는 통신이 불가하며, L2 패킷은 상응하는 브로드캐스트 도메인 내에서만 송수신이 가능하다.
일 실시예로, 컨트롤러(100)는 도 4a와 같이 언더레이 SDN 구조 하에서, 레거시 스위치(210)와 복수의 오픈플로우 스위치(220) 간에 터널 연결을 설정한다. 터널 연결이 설정됨에 따라 제1 내지 제3 브로드캐스트 도메인은 통합될 수 있으며, 최종적으로 구성된 오버레이 SDN은 도 4b에 도시된 바와 같다. 도 4b를 참조하면, 레거시 스위치(210)와 복수의 오픈플로우 스위치(220) 간에는 Leaf-Spine 구조처럼 간단한 2 티어로 구성됨을 확인할 수 있다.
각 브로드캐스트 도메인을 통합할 경우, 언더레이 SDN 하에서는 불가하였던 L2 스위치만을 이용한 제2 및 제3 브로드캐스트 도메인 간 통신이 가능하다. 즉, 제2 및 제3 브로드캐스트 도메인에서 발생한 브로드캐스트 패킷이 제1 브로드캐스트로 전송될 수 있음은 물론, 제2 브로드캐스트 도메인에서 발생한 브로드캐스트패킷은 제1 브로드캐스트 도메인을 거쳐 제3 브로드캐스트 도메인으로 전송될 수 있으며, 그 반대의 경우도 마찬가지이다.
이와 같은 구조를 갖는 본 발명의 일 실시예는 레거시 스위치(210)의 L3 기능은 그대로 사용하면서 동시에, L2 스위치를 SDN화시켜서 빠른 트래픽 처리가 가능하도록 할 수 있다.
다시 도 2를 참조하면 다음으로, 컨트롤러(100)는 물리적으로 서로 망이 분리된 제1 서비스 망과 제2 서비스 망을 대상으로 VRF 설정을 통한 레거시 스위치(210)에서의 독립적인 라우팅 테이블을 생성한다(S120).
이때, 본 발명의 일 실시예에서 제1 서비스 망과 제2 서비스 망은 VRF 설정을 통해 VLAN ID에 기반하여 서로 구분되며 동일 네트워크 대역을 이용하여 각 서비스 망의 서비스를 제공할 수 있다.
즉, 아래 표 1, 표 2와 같이 제1 서비스 망과 제2 서비스 망은 VLAN ID만 다르면 서로 동일한 대역을 사용할 수 있는바, VLAN ID가 1100과 2100, 그리고 1110과 2110처럼 서로 구별되면 동일 네트워크 대역을 이용할 수 있다.
VLAN ID | SUBNET |
1100 | 100.0.1.0/24 |
1110 | 110.0.1.0/24 |
VLAN ID | SUBNET |
2100 | 100.0.1.0/24 |
2110 | 110.0.1.0/24 |
또한, 본 발명의 일 실시예는 제1 서비스 망을 이용하는 제1 호스트 그룹과 제2 서비스 망을 이용하는 제2 호스트 그룹은 서로 동일 네트워크 대역을 이용하여 각 서비스 망에 상응하는 패킷을 송수신할 수 있다. 기존에는 서로 다른 서비스 망을 이용하는 호스트들은 동일 네트워크 대역을 이용할 경우 서로 충돌이 발생하게 되며, 예를 들어 같은 IP를 갖는 호스트 두 개가 레거시 스위치(210)에 연결 접속되면 IP 충돌이 발생되어 둘 다 통신 불가가 되거나, 어느 하나만 통신을 수행할 수 있거나, 또는 서로 번갈아가며 통신하게 되어 실질적인 통신 불가 상태가 되었다. 이와 달리, 본 발명의 일 실시예는, 레거시 스위치(210)에서 VRF 설정을 통해 아래 표 3과 표 4처럼 각 호스트는 서로 동일 네트워크 대역을 이용할 수 있게 된다. 한편, 후술하는 호스트 ID는 MAC 주소를 축약해서 표현한 것이다.
HOST ID | SUBNET |
A1 | 100.0.1.1/24 |
A2 | 100.0.1.2/24 |
A3 | 110.0.1.3/24 |
HOST ID | SUBNET |
B1 | 100.0.1.1/24 |
B2 | 110.0.1.2/24 |
B3 | 110.0.1.3/24 |
본 발명의 일 실시예에 따른 컨트롤러(100)는 이와 같은 VRF 설정을 통해 제1 및 제2 서비스 망의 VLAN ID에 상응하도록 인터페이스를 각각 구분하여 독립적인 라우팅 테이블을 생성한다. 즉, 표 5와 같이 컨트롤러(100)는 VRF 설정에 각 VLAN ID에 해당하는 인터페이스를 VRF A, VRF B로 설정하여 각각 독립적인 라우팅 테이블을 갖도록 한다.
VRF NAME | VLAN ID |
A | 1100 |
A | 1110 |
B | 2100 |
B | 2110 |
다음으로, 컨트롤러(100)는 레거시 스위치(210)와 복수의 오픈플로우 스위치(220) 간의 패킷 송수신을 위한 터널 ID와 VLAN ID가 매핑된 매핑테이블을 표 6과 같이 생성한다(S130).
터널 ID | VLAN ID |
1000 | 1100 |
1500 | 1110 |
2000 | 2110 |
2500 | 2100 |
이후, 컨트롤러(100)는 생성된 라우팅 테이블과 매핑 테이블을 레거시 스위치(210)로 제공하고(S140), 레거시 스위치(210)는 라우팅 테이블과 매핑 테이블에 기초하여 서비스 망을 구분하여 패킷을 송수신한다(S150).구체적으로, 레거시 스위치(210)에서 호스트로 패킷 전송시에는 매핑 테이블에 기재된 호스트에 상응하는 터널 ID를 패킷에 부가하여 전송한다. 도 5를 참조하면 L3 스위치에서 A1 호스트로 패킷을 보낼 때는 터널 ID=1000을 패킷에 부가하여 전송하고, B3 호스트로 전송할 때는 터널 ID=2000을 패킷에 부가하여 전송한다.
반대로, 호스트로부터 전송된 패킷을 오픈플로우 스위치(220)로부터 수신시, 패킷에 부가된 터널 ID에 상응하는 VLAN ID를 확인하고, 제1 및 제2 서비스 망 중 VLAN ID에 해당하는 서비스 망으로 패킷을 전송한다. 도 5의 예시에서, 오픈플로우 스위치(220)로부터 터널 ID=1000이 부가되어 전송되는 패킷은 매핑 테이블 및 라우팅 테이블을 확인하여 VLAN ID=1100에 해당하는 서비스 망 A로 라우팅되고, 터널 ID=2000가 부가되어 전송되는 패킷은 매핑 테이블 및 라우팅 테이블을 확인하여 VLAN ID=2110에 해당하는 서비스 망 B로 라우팅된다.
이와 같이, 본 발명의 일 실시예는 컨트롤러(100)에서 생성한 라우팅 테이블과 매핑 테이블을 이용함으로써 기존 레거시 스위치(210)에서의 서비스 망 분리가 가능하도록 할 수 있다.
이와 더불어, 본 발명의 일 실시예는 기존 L2 스위치를 SDN화시켜 오픈플로우 스위치(220)로 구성함으로써, 오픈플로우 스위치(220)에서도 망 분리가 가능하도록 할 수 있다.
전술한 표 3과 표 4를 참조하면, A1-B1, A2-B2, A3-B3 쌍으로 네트워크 대역이 동일하기 때문에, 기존 레거시 스위치(210)만을 이용할 경우에는 일반적으로 IP 충돌이 발생하게 된다. 이러한 IP 충돌을 방지하기 위해, 본 발명의 일 실시예는 호스트가 붙은 포트 별로 서비스 망을 할당하여 망 분리를 한다. 그리고 포트 별로 할당된 정보를 바탕으로 오픈플로우 스위치(220)에서 오픈플로우 룰을 이용하여 각 서비스 망 사이의 트래픽이 섞이지 않도록 할 수 있다.
이를 위해, 컨트롤러(100)는 오픈플로우 스위치(220)와 연결된 각 호스트의 포트에 상응하는 서비스 망을 할당하고, 오픈플로우 스위치(220)에서의 터널 연결이 설정된 포트를 확인하여 각 오픈플로우 스위치(220)에 대한 포트 정보 테이블을 생성한다. 도 5의 예시에서 각 오픈플로우 스위치(220)에 대하여 생성된 포트 정보 테이블은 표 7, 8과 같다.
Port No | Type |
1 | A |
2 | A |
3 | B |
10 | Tunnel |
Port No | Type |
1 | B |
2 | B |
3 | A |
10 | Tunnel |
그 다음, 컨트롤러(100)는 각 오픈플로우 스위치(220)에 대한 포트 정보 테이블에 기반하여 오픈플로우 스위치(220)마다 오픈플로우 룰을 포함하는 오픈플로우 테이블을 아래 표 9와 같이 생성하고, 생성된 오픈플로우 테이블을 대응되는 각 오픈플로우 스위치(220)로 제공한다. 이때, 표 9는 오픈플로우 스위치 1에 대한 오픈플로우 테이블에 해당한다.
Priority | match | action |
6000 | in_port=10, tun_id=1000, dl_dst=A1 | output:1 |
in_port=10, tun_id=1000, dl_dst=A2 | output:2 | |
in_port=10, tun_id=1000, dl_dst=A3 | output:3 | |
5000 | in_port=10, tun_id=1000, dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 |
output:1, output:2 |
in_port=10, tun_id=2000, dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 |
output:3 | |
4000 | in_port=1, dl_dst=B3 | Drop |
in_port=2, dl_dst=B3 | drop | |
in_port=3, dl_dst=A1 | drop | |
in_port=3, dl_dst=A2 | drop | |
3000 | dl_dst=A1 | output:1 |
dl_dst=A2 | output:2 | |
dl_dst=A3 | output:3 | |
2000 | in_port=1 ,dl_src=A1, dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 |
output:2, set_tunnel:1000, output:10 |
in_port=2 ,dl_src=A2, dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 |
output:1, set_tunnel:1000, output:10 | |
in_port=3,dl_src=B3,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 | set_tunnel:1000, output:10 | |
1000 | in_port=1 ,dl_src=A1, dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 |
set_tunnel:2000, output:10 |
in_port=2 ,dl_src=A2, dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 |
set_tunnel:1000, output:10 | |
in_port=3,dl_src=B3,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 | set_tunnel:2000, output:10 | |
1 | default | send to controller |
표 9에서의 각 플로우 룰에서 tun_id=1000은 서비스 망 A를 나타내고, tun_id=2000은 서비스 망 B를 나타낸다.망 분리 서비스를 제공하기 위한 오픈플로우 테이블에는 제1 내지 제 6 플로우 룰로 구성되며, 그밖에 정의되지 않는 패킷을 처리하기 위한 플로우 룰이 포함된다. 이때, 제1 내지 제6 플로우 룰은 상호 우선 순위를 갖도록 설정되어 있다.
구체적으로 제1 플로우 룰에는 터널 포트를 기반으로 수신되어 유니캐스트 처리를 위한 매치 필드와 동작 필드가 기록된다. 일 예로, 제1 오픈플로우 스위치(220)는 터널 포트 10번으로부터 들어온 패킷에 대하여 가장 높은 우선순위(6000)를 갖는 제1 플로우 룰을 통해 터널 ID와 호스트의 목적지 주소를 매치 필드로부터 확인한 후, 상응하는 출력 포트로 패킷을 출력시켜 특정 호스트로 유니캐스팅 되도록 한다.
제2 플로우 룰은 제1 플로우 룰보다 낮은 우선순위를 가지며, 터널 포트를 기반으로 수신되어 터널 ID에 상응하는 호스트로 멀티캐스트 처리를 위한 매치 필드 및 동작 필드가 기록된다. 일 예로, 제1 오픈플로우 스위치(220)는 터널 포트 10번으로부터 들어온 멀티캐스트 패킷에 대하여 제2 플로우 룰의 매치 필드를 확인한 후, 터널 ID=1000을 갖는 패킷은 서비스 망 A에 상응하는 출력 포트 1, 2로 출력시키고, 터널 ID=2000을 갖는 패킷은 서비스 망 B에 상응하는 출력 포트 3으로 출력시켜 각 서비스 망에 상응하는 호스트들에게 멀티캐스팅 되도록 한다.
제3 플로우 룰에는 제1 및 제2 서비스 망 사이에서의 트래픽을 차단하기 위한 매치 필드 및 동작 필드가 기록된다. 즉, 서비스 망 A와 서비스 망 B 사이에 트래픽이 흐르지 못하도록 차단하기 위한 룰이다. 일 예로, 입력 포트가 1로 설정되어 있으나, 목적지 주소가 B3로 잘못 설정된 경우 제3 플로우 룰을 통해 해당 패킷을 드랍 처리한다.
다음으로, 제4 플로우 룰에는 오픈플로우 스위치(220) 내에서 동일 서비스 망을 이용하는 호스트 간 통신을 위한 매치 필드 및 동작 필드가 기록된다. 예를 들어, 호스트 A1이 호스트 A2로 패킷을 전송하고자 하는 경우 제4 플로우 룰에 의해 처리될 수 있다.
다음으로, 제5 플로우 룰에는 호스트에서 동일 서비스 망을 이용하는 타 호스트를 대상으로 브로드캐스트를 처리하기 위한 매치 필드 및 동작 필드가 기록된다. 예를 들어, 오픈플로우 스위치 1에서 서비스 망 A의 경우, 제 5 플로우 룰에 따라 동일한 서비스 망 A를 이용하는 호스트로 출력되도록 함과 동시에, 터널 ID=1000으로 설정하고, 터널 포트=10으로 출력되도록 하여, 오픈플로우 스위치 1에 속한 호스트 A2와 함께 오픈플로우 스위치 2에 속한 A3로 패킷이 브로드캐스팅되도록 할 수 있다. 반면, 서비스 망 B의 현재 같은 리프에 서비스 망 B를 이용하는 호스트가 없기 때문에, 터널 ID=2000으로 설정하고 터널 포트=10으로 설정하여 패킷을 오픈플로우 스위치 2에 연결 접속된 호스트 B1, B2로 브로드캐스팅 되도록 할 수 있다.
마지막으로 제1 내지 제 6 플로우 룰 중 가장 낮은 우선 순위를 갖는 제6 플로우은 상기 오픈플로우 스위치(220)와 상이한 타 오픈플로우 스위치(220)와 연결된 호스트로 유니캐스트 처리를 위한 매치 필드 및 동작 필드가 기록된다.
이러한 본 발명의 일 실시예는 L3 스위치를 오픈플로우 스위치(220)로 구성하고, 전술한 오픈플로우 룰을 생성하여 각 오픈플로우 룰에 따라 패킷이 제어되도록 함으로써, 호스트의 IP가 중복되어도 충돌이 발생되지 않는 망 분리 서비스 제공이 가능하다는 장점이 있다.
한편, 상술한 설명에서, 단계 S110 내지 S150은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1 내지 도 5의 소프트웨어 정의 네트워 기반 망 분리 서비스 제공 방법의 내용은 후술하는 도 6의 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템(1)에도 적용될 수 있다.
이하에서는 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공 시스템(1)에 대하여 설명하도록 한다.
도 6은 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공 시스템(1)의 블록도이다.
본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템(1)은 컨트롤러(100), 레거시 스위치(210), 복수의 오픈플로우 스위치(220)를 포함한다.
컨트롤러(100)는 물리적으로 서로 망이 분리된 제1 서비스 망과 제2 서비스 망을 대상으로VRF(Virtual Routing and Forwarding) 설정을 통한 레거시 스위치(210)에서의 독립적인 라우팅 테이블을 생성하고, 상기 레거시 스위치(210)와 복수의 오픈플로우 스위치(220) 간의 패킷 송수신을 위한 터널 ID와 VLAN ID가 매핑된 매핑 테이블을 생성한다.
또한, 컨트롤러(100)는 오픈플로우 스위치(220)와 연결된 각 호스트의 포트에 상응하는 서비스 망 할당하고, 오픈플로우 스위치(220)에서의 터널 연결이 설정된 포트를 확인하여 각 오픈플로우 스위치(220)에 대한 포트 정보 테이블을 생성하며, 포트 정보 테이블에 기반하여 오픈플로우 스위치(220)마다 오픈플로우 룰을 포함하는 오픈플로우 테이블을 생성한다.
레거시 스위치(210)는 라우팅 테이블과 매핑 테이블을 컨트롤러(100)부터 제공받아 패킷을 송수신하며, 복수의 오픈플로우 스위치(220)는 컨트롤러(100)부터 오픈플로우 테이블를 제공받아 패킷을 송수신한다.
이상에서 전술한 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1: 소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 시스템
100: 컨트롤러
200: 네트워크 장비
210: 레거시 스위치
220: 오픈플로우 스위치
300: 호스트
100: 컨트롤러
200: 네트워크 장비
210: 레거시 스위치
220: 오픈플로우 스위치
300: 호스트
Claims (8)
- 소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법에 있어서,
컨트롤러에서, 물리적으로 서로 망이 분리된 제1 서비스 망와 제2 서비스 망을 대상으로 VRF(Virtual Routing and Forwarding) 설정을 통한 레거시 스위치에서의 독립적인 라우팅 테이블을 생성하는 단계;
상기 컨트롤러에서, 상기 레거시 스위치와 복수의 오픈플로우 스위치 간의 패킷 송수신을 위한 터널 ID와 VLAN ID가 매핑된 매핑 테이블을 생성하는 단계;
상기 컨트롤러에서, 상기 생성된 라우팅 테이블과 매핑 테이블을 상기 레거시 스위치로 제공하는 단계; 및
상기 레거시 스위치에서, 상기 라우팅 테이블과 매핑 테이블에 기초하여 패킷을 송수신하는 단계를 포함하되,
상기 레거시 스위치에서의 독립적인 라우팅 테이블을 생성하는 단계는,
상기 VRF 설정을 통해 상기 제1 및 제2 서비스 망의 VLAN ID에 상응하도록 인터페이스를 각각 구분하여 독립적인 라우팅 테이블로 생성하는 것인,
소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법.
- 제1항에 있어서,
적어도 하나의 레거시 스위치와 복수의 오픈플로우 스위치를 기반으로 구성되며, 상기 레거시 스위치와 상기 오픈플로우 스위치를 기준으로 하는 브로드캐스트 도메인이 각각 설정된 언더레이 SDN에서,
상기 레거시 스위치에서의 독립적인 라우팅 테이블을 생성하는 단계 이전에,
상기 컨트롤러에서, 상기 레거시 스위치와 상기 복수의 오픈플로우 스위치 각각에 대한 터널 연결 설정을 통해 각 브로드캐스트 도메인이 통합된 오버레이 SDN을 설정하는 단계를 더 포함하는,
소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법.
- 제1항에 있어서,
상기 제1 및 제2 서비스 망은 상기 VRF 설정을 통해 상기 VLAN ID에 기반하여 서로 구분되며 동일 네트워크 대역을 이용하여 각 서비스 망의 서비스 제공이 가능한 것을 특징으로 하는,
소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법.
- 제3항에 있어서,
상기 제1 서비스 망을 이용하는 제1 호스트 그룹과 상기 제2 서비스 망을 이용하는 제2 호스트 그룹은 상기 동일 네트워크 대역을 이용하여 각 서비스 망에 상응하는 패킷을 송수신하는 것인,
소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법.
- 제1항에 있어서,
상기 레거시 스위치에서, 상기 라우팅 테이블과 매핑 테이블에 기초하여 패킷을 송수신하는 단계는,
상기 레거시 스위치에서 상기 오픈플로우 스위치와 연결된 호스트로 패킷 전송시, 상기 매핑 테이블에 기재된 상기 호스트에 상응하는 터널 ID를 상기 패킷에 부가하여 전송하고,
상기 호스트로부터 전송된 패킷을 상기 오픈플로우 스위치로부터 수신시, 상기 패킷에 부가된 터널 ID에 상응하는 VLAN ID를 확인하고, 상기 제1 및 제2 서비스 망 중 상기 VLAN ID에 해당하는 서비스 망으로 상기 패킷을 전송하는 것인,
소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법.
- 제1항에 있어서,
상기 레거시 스위치에서, 상기 라우팅 테이블과 매핑 테이블에 기초하여 패킷을 송수신하는 단계 이후에,
상기 컨트롤러에서, 상기 오픈플로우 스위치와 연결된 각 호스트의 포트에 상응하는 서비스 망을 할당하고, 상기 오픈플로우 스위치에서의 터널 연결이 설정된 포트(이하, 터널 포트)를 확인하여 각 오픈플로우 스위치에 대한 포트 정보 테이블을 생성하는 단계;
상기 컨트롤러에서, 상기 각 오픈플로우 스위치에 대한 포트 정보 테이블에 기반하여 상기 오픈플로우 스위치마다 오픈플로우 룰을 포함하는 오픈플로우 테이블을 생성하는 단계; 및
상기 컨트롤러에서, 상기 생성된 오픈플로우 테이블을 대응되는 각 오픈플로우 스위치로 제공하는 단계를 더 포함하는,
소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법.
- 제6항에 있어서,
상기 컨트롤러에서, 상기 오픈플로우 스위치마다 오픈플로우 룰을 포함하는 오픈플로우 테이블을 생성하는 단계는,
상기 터널 포트를 기반으로 수신되어 유니캐스트 처리를 위한 매치 필드 및 동작 필드가 기록된 제1 플로우 룰, 상기 터널 포트를 기반으로 수신되어 상기 터널 ID에 상응하는 호스트로 멀티캐스트 처리를 위한 매치 필드 및 동작 필드가 기록된 제2 플로우 룰, 상기 제1 및 제2 서비스 망 사이에서의 트래픽을 차단하기 위한 매치 필드 및 동작 필드가 기록된 제3 플로우 룰, 상기 오픈플로우 스위치 내에서 동일 서비스 망을 이용하는 호스트 간 통신을 위한 매치 필드 및 동작 필드가 기록된 제4 플로우 룰, 상기 호스트에서 동일 서비스 망을 이용하는 타 호스트를 대상으로 브로드캐스트를 처리하기 위한 매치 필드 및 동작 필드가 기록된 제5 플로우 룰 및 상기 오픈플로우 스위치와 상이한 타 오픈플로우 스위치와 연결된 호스트로 유니캐스트 처리를 위한 매치 필드 및 동작 필드가 기록된 제6 플로우 룰이 상호 우선 순위를 갖도록 설정된 오픈플로우 테이블을 생성하는 단계를 포함하는,
소프트웨어 정의 네트워크 기반 망 분리 서비스 제공 방법.
- 레거시 스위치와 오픈플로우 스위치를 이용하여 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템에 있어서,
물리적으로 서로 망이 분리된 제1 서비스 망과 제2 서비스 망을 대상으로VRF(Virtual Routing and Forwarding) 설정을 통한 레거시 스위치에서의 독립적인 라우팅 테이블을 생성하고, 상기 레거시 스위치와 복수의 오픈플로우 스위치 간의 패킷 송수신을 위한 터널 ID와 VLAN ID가 매핑된 매핑 테이블을 생성하며, 상기 오픈플로우 스위치와 연결된 각 호스트의 포트에 상응하는 서비스 망 할당하고, 상기 오픈플로우 스위치에서의 터널 연결이 설정된 포트를 확인하여 각 오픈플로우 스위치에 대한 포트 정보 테이블을 생성하고, 상기 포트 정보 테이블에 기반하여 상기 오픈플로우 스위치마다 오픈플로우 룰을 포함하는 오픈플로우 테이블을 생성하는 컨트롤러,
상기 생성된 라우팅 테이블과 매핑 테이블을 상기 컨트롤러부터 제공받아 이에 기초하여 패킷을 송수신하는 레거시 스위치 및
상기 오픈플로우 테이블에 기초하여 패킷을 송수신하는 복수의 오픈플로우 스위치를 포함하는,
소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200122362A KR102412933B1 (ko) | 2020-09-22 | 2020-09-22 | 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200122362A KR102412933B1 (ko) | 2020-09-22 | 2020-09-22 | 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220039345A KR20220039345A (ko) | 2022-03-29 |
KR102412933B1 true KR102412933B1 (ko) | 2022-06-27 |
Family
ID=80995913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200122362A KR102412933B1 (ko) | 2020-09-22 | 2020-09-22 | 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102412933B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102466183B1 (ko) * | 2022-06-28 | 2022-11-15 | 주식회사 아이티로 | Sdn 기반의 공동 주택 내 세대별 망 분리를 통한 보안 시스템 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101473783B1 (ko) | 2013-10-24 | 2014-12-17 | 에스케이텔레콤 주식회사 | 터널링을 이용한 다이나믹 서비스 체이닝 제어 방법 및 장치 |
KR101680137B1 (ko) | 2015-07-21 | 2016-11-28 | 배재대학교 산학협력단 | Sdn 기반의 단말 이동성 제어 시스템 및 그 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8953616B2 (en) * | 2012-01-30 | 2015-02-10 | Telefonaktiebolaget L M Ericsson (Publ) | Shortest path bridging in a multi-area network |
-
2020
- 2020-09-22 KR KR1020200122362A patent/KR102412933B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101473783B1 (ko) | 2013-10-24 | 2014-12-17 | 에스케이텔레콤 주식회사 | 터널링을 이용한 다이나믹 서비스 체이닝 제어 방법 및 장치 |
KR101680137B1 (ko) | 2015-07-21 | 2016-11-28 | 배재대학교 산학협력단 | Sdn 기반의 단말 이동성 제어 시스템 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20220039345A (ko) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7873038B2 (en) | Packet processing | |
US8700891B2 (en) | Preserving security association in MACsec protected network through VLAN mapping | |
EP2512075B1 (en) | Method, access equipment and communication system for message processing | |
CN101022394A (zh) | 一种实现虚拟局域网聚合的方法及汇聚交换机 | |
US9408061B2 (en) | Distributed network layer mobility for unified access networks | |
US7869394B1 (en) | Limiting data packet forwarding to trusted ports | |
JP2006270839A (ja) | レイヤ2機器の設定制御装置 | |
WO2021197003A1 (zh) | 一种SRv6信任域的边界过滤方法及装置 | |
US20120054359A1 (en) | Network Relay Device and Frame Relaying Control Method | |
KR101710385B1 (ko) | Arp 패킷을 관리하는 방법, 장치 및 컴퓨터 프로그램 | |
KR101786620B1 (ko) | 소프트웨어 정의 네트워크에서 서브넷을 지원하는 방법, 장치 및 컴퓨터 프로그램 | |
TW202137735A (zh) | 網路基礎架構可程式切換裝置 | |
US20120054830A1 (en) | Network Relay Device and Relay Control Method of Received Frames | |
KR102412933B1 (ko) | 소프트웨어 정의 네트워크 기반 망 분리 서비스를 제공하는 시스템 및 방법 | |
JP2007150633A (ja) | 無線lanアクセスポイント、これを用いたipアドレスの管理方法並びに管理プログラム | |
US20120170581A1 (en) | Policy homomorphic network extension | |
KR102092015B1 (ko) | 소프트웨어 정의 네트워크에서 네트워크 장비를 인식하는 방법, 장치 및 컴퓨터 프로그램 | |
KR101629089B1 (ko) | 레거시 네트워크 프로토콜 기능과 sdn 기능이 하이브리드하게 동작하는 오픈플로우 동작 방법 | |
US9231862B2 (en) | Selective service based virtual local area network flooding | |
JP2005057693A (ja) | ネットワーク仮想化システム | |
Cisco | Configuring Interface Characteristics | |
CN114978563A (zh) | 一种封堵ip地址的方法及装置 | |
CN111885068A (zh) | 一种旁路部署的流量分发方法及其系统 | |
KR102114484B1 (ko) | 소프트웨어 정의 네트워크에서 네트워크 접근을 제어하는 방법, 장치 및 컴퓨터 프로그램 | |
KR102246290B1 (ko) | 소프트웨어 정의 네트워크 기반 망 분리 방법, 장치 및 컴퓨터 프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |