KR20160002155A - 콘텐츠 전송 방법, 이를 위한 장치 및 시스템 - Google Patents
콘텐츠 전송 방법, 이를 위한 장치 및 시스템 Download PDFInfo
- Publication number
- KR20160002155A KR20160002155A KR1020140081071A KR20140081071A KR20160002155A KR 20160002155 A KR20160002155 A KR 20160002155A KR 1020140081071 A KR1020140081071 A KR 1020140081071A KR 20140081071 A KR20140081071 A KR 20140081071A KR 20160002155 A KR20160002155 A KR 20160002155A
- Authority
- KR
- South Korea
- Prior art keywords
- content
- packet
- ccn
- node
- ccn node
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- 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/12—Shortest path evaluation
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 SDN(Software Defined Network) 기반의 네트워크에서 CCN(Contents Centric Network) 도입을 위한 방법에 관한 것으로, 컨트롤러가 트래픽 분류기와 연동하여 단말로부터 인입되는 CCN 패킷을 분석하여 경로를 설정하여 CCN 패킷의 라우팅을 제어하며, 각각의 노드들에 대한 정책을 수립하고, 컨텐츠 제공 서버로부터 컨텐츠를 포함하는 데이터 패킷 전달 시, 수립된 정책에 따라 특정 CCN 노드에 해당 컨텐츠가 캐싱되도록 제어할 수 있는 SDN(Software Defined Network) 기반의 네트워크에서 CCN(Contents Centric Network) 도입을 위한 방법에 관한 것이다.
Description
본 발명은 SDN(Software Defined Network) 기반의 네트워크에서 CCN(Contents Centric Network) 도입을 위한 방법에 관한 것으로, 컨트롤러가 트래픽 분류기와 연동하여 단말로부터 인입되는 CCN 패킷을 분석하여 경로를 설정하여 CCN 패킷의 라우팅을 제어하며, 각각의 노드들에 대한 정책을 수립하고, 컨텐츠 제공 서버로부터 컨텐츠를 포함하는 데이터 패킷 전달 시, 수립된 정책에 따라 특정 CCN 노드에 해당 컨텐츠가 캐싱되도록 제어할 수 있는 SDN(Software Defined Network) 기반의 네트워크에서 CCN(Contents Centric Network) 도입을 위한 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
기존 네트워크의 경우, 콘텐츠 호스팅 시 네트워크가 정적으로 설정되어, 콘텐츠의 분포 변화에 따라 동적으로 망을 구성하는 것이 불가능하였다. 그리고 이러한 콘텐츠 호스팅은 푸시 방식으로, 콘텐츠 제공업자가 업로드한 원천 콘텐츠를 기반으로 지역 분산된 캐시 서버에 분배가 되어진다. 이와 같은 일련의 과정은 매우 수동적이다. 특히 소셜 서비스 기반의 콘텐츠와 IoT 기반의 서비스와 같이 콘텐츠의 생성이 다양한 디바이스를 통해 빈번하게 발생하고 없어지는 경우, 그 과정이 매우 간헐적이고, 캐싱 여부를 판단하는 것이 매우 복잡하기 때문에 서비스 마다 최적화된 네트워크를 제공하는 것은 불가능에 가깝다. 뿐만 아니라, 현재의 네트워크는 접속하는 디바이스의 수가 다양해지고, 디바이스를 통한 콘텐츠의 빈번한 생성 및 이러한 콘텐츠가 지역화된 콘텐츠 서비스 특성을 갖는다. 하지만 현재의 네트워크는 이러한 지역화된 콘텐츠 기반의 서비스를 호스팅하는 것은 불가능에 가깝다.
따라서 본 발명의 목적은 SDN과 CCN 을 활용하여 지역화된 특성을 갖는 트래픽에 따라 최적화된 네트워크 경로를 제공함과 동시에, CCN 기반의 콘텐츠 생성 레벨에서의 캐싱 기능을 제공함으로써, 효율적인 콘텐츠 제공 서비스를 제공하는 데 있다.
이를 통해 콘텐츠의 분포 변화, 콘텐츠의 관리를 담당하는 CCN 노드의 상태에 따라 동적으로 망을 운영하여, 사용자에게 하여금 최적의 서비스를 제공하고, 망 사업자 입장에서는 이러한 시스템이 자동적으로 운용될 수 있도록 하며, 코어 네트워크를 사용하지 않더라도 서비스의 특성에 따라 효율적으로 망을 운용하여 망 운용의 효율성을 높임과 동시에 사용자로 하여금 빠른 시간에 요청 콘텐츠를 제공할 수 있도록 하는데 있다.
즉, 본 발명은 SDN과 CCN 을 활용하여 지역화된 특성을 갖는 트래픽에 따라 최적화된 네트워크 경로를 제공하고, 콘텐츠의 분포 변화, CCN 노드의 상태에 따라 동적으로 망을 운영, 사용자에게 하여금 최적의 서비스를 제공하며, 망 사업자 입장에서는 이러한 시스템이 자동적으로 운용하고, 망 운용의 효율성을 높임과 동시에 사용자로 하여금 빠른 시간에 요청 콘텐츠를 제공할 수 있는 것을 목적으로 하는 데 있다.
본 발명에 따르면, 자동 및 동적으로 망을 운용하고 이와 동시에 콘텐츠 생성 레벨에서의 콘텐츠 캐싱을 제공하므로, 기존의 콘텐츠 기반의 서비스에 비해 콘텐츠의 분산적인 측면에서는 자유로우며, 이러한 콘텐츠의 분산 정보를 기반으로 네트워크의 설계가 가능하기 때문에 확장성 및 유연성이 높으며, 특정 CCN 노드가 다운된 경우, 대체 경로를 쉽고 자동으로 복구할 수 있다. 또한 산발적으로 콘텐츠를 생성하게 되는 SNS 라든지 IoT 트래픽의 경우, 트래픽의 성격상 로컬 영역의 다른 사용자들에게 콘텐츠를 제공해야 할 경우가 많고, 트래픽이 사용하는 네트워크의 구조가 기존의 엔드간 클라이언트 서버 모델이 아닌 P2P 방식의 피어간의 통신 모델을 따르게 된다. 이런 경우, 사용되는 네트워크는 로컬 영역의 네트워크에서 모든 콘텐츠의 트래픽을 처리하는 것이 가능해지고, 필요에 의해서만 업링크의 네트워크를 사용하기 때문에, 네트워크의 대여폭 측면에서도 이득이 발생하고, 콘텐츠의 전송 속도에서도 이득을 가져다 줄 수 있다. 뿐만 아니라, 기존의 P2P 방식의 통신 모델을 갖는 콘텐츠 전송 서비스를 제공하지만, 콘텐츠를 전송하는 주체가 중간의 네트워크에서 전송을 하기 때문에, 엔드 디바이스의 부하를 줄일 수 있다. 이는 디바이스의 부하를 낮춤과 동시에 사용자 경험을 향상 시킬 수 있다.
또한 기존 네트워크인 SDN 네트워크 기반으로 동작하기 때문에, CCN 네트워크의 도입이 용이하게 된다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1 내지 도 16은 본 발명의 실시 예를 설명하기 위한 도면이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 하나, 이는 본 발명을 특정한 실시 형태로 한정하려는 것은 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 종래기술에 따른 시스템 구성도이다. 종래에는 UE가 접속망(access network) 및 코어망(core network)를 거쳐 컨텐츠 서버에 접속한 후 컨텐츠 서버로부터 컨텐츠를 제공받거나, 미리 컨텐츠를 캐싱하고 있는 캐시로부터 컨텐츠를 제공받았다.
도 2는 본 발명의 실시 예에 따른 시스템의 주요 구성을 도시한 블록도이다.
도 2를 참조하면, 본 발명에 일 실시예에 따른 SDCCN 네트워크 시스템은 제어기(10), 복수의 SDN 스위치(20) 및 복수의 CCN 노드(30) 및 원 콘텐츠 서버(40), 복수의 CCN 을 지원하는 네트워크 디바이스(50)을 포함할 수 있다.
네트워크 디바이스(50, UE; User Equipment)는 CCN 기반의 데이터나 정보를 주고 받고자 하는 사용자 단말 장치, 또는 특정 기능을 수행하는 장치를 포함할 수 있다. 하드웨어 관점에서, 네트워크 디바이스(50)는 PC, 클라이언트 단말기, IoT 디바이스, 스마트폰, 스마트패드 등이 있을 수 있다.
제어기(Controller)(10)는 SDN 시스템을 제어하는 컨트롤러를 의미한다. 제어기는 네트워크에 분포하는 SDN 스위치, CCN 노드를 인지하는 기능을 수행하고, 라우팅, 정책 선언, 및 보안 체크 등을 할 수 있다. 제어기(10)는 하위 계층의 복수의 스위치(20)에서 발생하는 패킷의 플로우를 정의할 수 있다. 제어기(10)는 SDN 스위치(20)에 연결된 CCN 노드로 부터 발생하는 제어 메시지를 인지할 수 있고 해당 정보를 기반으로 형성된 네트워크 토폴로지 등을 차조하여 플로우가 경유할 경로를 계산한 후, 경로 상의 스위치에 상기 플로우의 엔트리가 설정되도록 할 수 있다. 이러한 제어기는 SDN 스위치만을 제어할 수도 있다.
또한, 제어기는 CCN 노드에 어떠한 컨텐츠를 저장할 지에 대한 제어 정보를 제공할 수 있다. 예컨대 CCN 노드 A는 A 사이트에 대한 컨텐츠만을 캐싱하여 저장하도록 하며, CCN 노드 B는 B 사이트에 대한 컨텐츠만을 캐싱하여 저장할 수도 있다. 또한, 각 CCN 노드는 제어기로 자신이 어떠한 컨텐츠를 보유하고 있는 지에 대한 정보를 제공할 수 있으며, 즉, 제어기의 요청에 따라 컨텐츠를 저장하더라도, 불확실할 수 있으므로, CCN 노드는 실제로 자신이 어떠한 컨텐츠를 저장하고 있는 지에 대한 정보를 제어기(또는 트래픽 분류기)로 제공할 수 있으며, 제어기는 이에 대한 정보를 저장하고 관리할 수도 있다.
아울러, CCN 노드는 ICN 노드로 불리울 수도 있으며, ICN 노드와 SDN 스위치가 결합되어 하나의 CCN 노드를 구성할 수도 있다.
트래픽 분류기는 단말로부터 전달된 패킷이 TCP/IP 패킷인 지 또는 CCN 패킷인지 여부를 분류하며, 콘텐츠 네임을 기반으로 서비스의 종류를 분류하며, CCN 노드 내 저장된 컨텐츠를 요청한 패킷인 지 여부를 분류하는 과정을 수행할 수 있다.
또한 CCN 노드 내 저장된 컨텐츠를 요청한 패킷인 지 여부를 분류하는 과정을 수행할 수 있다. 또한, 어느 CCN 노드에 해당하는 컨텐츠를 저장하고 있는 지에 대한 정보를 확인하고, 이에 대한 정보를 제어기(컨트롤러)에게 전달할 수 있다.
이를 수신한 제어기(컨트롤러)는 해당 CCN 노드까지의 최적의 경로를 설정할 수 있다. 설정된 경로를 해당하는 스위치 등 장치들에게 제공하여 컨텐츠 요청 패킷이 해당 CCN 노드로 전달되도록 제어하는 역할을 수행할 수 있다.
이러한 제어기와 트래픽 분류기는 하나의 장치로 구현될 수 있다. 또한, 제어기는 다수의 CCN 노드 중 특정 기준에 따라 어느 하나의 CCN 노드에 트래픽 분류기의 역할을 수행하도록 요청할 수도 있다.
도 3은 본 발명의 실시 예에 따른 SDN 네트워크를 기능적인 관점에서 분류한 구성도이다. 즉, 도 8에 도시된 SDN의 주요 기능이 이에 해당될 수 있다. 본 발명의 SDN 네트워크는 기능상으로 CCN 노드의 정보를 총괄하기 위한 콘텐츠노드 관리부(130), CCN 노드의 콘텐츠 해석을 위한 CCN 노드 랩퍼(110), CCN 노드를 포함하는 전체 토폴로지를 관리하기 위한 토폴로지 관리부(150), CCN 노드의 분포 상태를 고려하여 CCN 노드를 거치는 최정의 경로를 계산하기 위한 경로 계산부(120), CCN의 FIB 테이블, 즉 포워딩 테이블을 업데이트 하기 위한 포워딩 테이블 관리부(140), CCN 노드와의 실제적인 통신을 담당하기 위한 스위치 통신부(160)을 포함할 수 있다.
CCN 노드 랩퍼(110)는 CCN 노드가 가진 정보를 광고하는 제어 메시지를 해석하여, 콘텐츠의 분포상태 및 CCN 노드의 분포상태 및 연결상태를 관리하기 위한 역할을 수행한다. 그리고 이렇게 수집된 정보는 콘텐츠 라우팅 계산 블록(120)에 의해 최적의 라우팅 경로를 계산하기 위한 근거 정보가 된다. 또한, CCN 의 정보를 추출하기 위한 기능을 수행하고, 이를 통해 SDN 네트워크 영역에서 어플리케이션 레벨에서의 토폴로지 정보를 제공할 수 있는 방법을 제공 한다.
콘텐츠 노드 관리부(130)는 CCN 노드에 어떠한 컨텐츠를 저장하고 삭제하는 지에 대한 컨텐츠 관리를 수행하는 역할을 수행한다. 또한, 사용자가 A 컨텐츠를 많이 요청할 것으로 예상되는 경우, CCN 노드에 상기 A 컨텐츠를 오랫동안 유지하라는 등의 정보를 제공할 수 있다. 이러한 콘텐츠 노드 관리부(130)는 CCN 노드 랩퍼(110)와 함께, 전체적인 콘텐츠의 관리 테이블을 제공하기 위한 인터페이스 역할을 수행한다.
경로 계산부(120)는 상기 CCN 노드 랩퍼(110)에 의해 제공되는 정보를 기반으로 형성된 네트워크 토폴로지에서 네트워크 디바이스로부터, 콘텐츠의 원 서버까지 가는 최적의 경로를 생성하게 된다. 그리고 이러한 경로는 중간 CCN 노드를 통하게 함으로써, 네트워크에 분산 캐싱된 콘텐츠 전송의 이점을 얻을 수 있다.
토폴로지 관리부(150)는 콘텐츠 노드 관리부와의 통신을 통한 네트워크에 연결된 CCN 노드의 정보까지 포함하는 토폴로지 정보를 제공 및 관리한다. 이는 기존의 네트워크 장비간의 연결 정보만의 토폴로지에서 벗어나, 어플리케이션 포함 상위의 토폴로지 정보를 제공한다.
도 4는 본 발명의 실시 예에 따른 CCN 노드의 주요 구성을 도시한 블록도이다.
도 4를 참조하면, CCN 노드(20)는 CCN 노드가 가지고 있는 콘텐츠 정보를 관리하기 위한 콘텐츠 테이블(240), 캐싱의 Hit 비율 및 현재의 시스템 로드와 같은 CCN 노드의 상태 정보를 관리하기 위한 모니터링 모듈(230), 해당 정보들을 주기적으로 광고 하기 위한 CCN 광고 모듈(210), 콘텐츠의 특성에 따라 수직적인 네임 구조를 관리하기 위한 네임 관리 모듈(220), CCN 노드 에서 데이터 패킷의 전달 인터페이스를 관리하는 PIT(250), 인터레스트 패킷의 전달을 관리하는 FIB(260) 테이블을 가지는 것을 특징으로 한다. 이러한, CCN 노드(20)는 기존의 네임 기반 라우팅 및 캐싱만을 제공하는 기능에서 벗어나, 네임 관리 모듈(220)을 통해 서비스별 계층적 네임을 활용하여, 서비스를 분류하기 위한 기능을 추가 수행한다. 이는 단순 콘텐츠 캐싱만을 제공하는 것이 아닌 네임 기반의 트래픽 분류 기능을 수행할 수 있다.
CCN 광고 모듈(210)은 주변의 SDN 네트워크의 CCN 기반의 콘텐츠 정보를 제공하기 위한 블록으로써, 주기적으로 CCN 의 콘텐츠 정보를 전달하게 된다. 이때 전달되는 정보는 CCN 노드에 캐싱된 콘텐츠의 네임 정보, 네임 정보의 캐싱 Hit 율 및, 캐싱 콘텐츠의 수명 주기 등을 포함한다. 이렇게 수짐된 정보는 상기 제어기(10)로 하여금, 네트워크 레벨에서의 콘텐츠 분포상태를 고려한 라우팅을 수행할 수 있도록 한다. 이때, CCN 광고 모듈을 생략될 수 있다. CCN 광고 모듈(210)은 CCN 의 상태 정보를 주변에 알리는 기능을 수행하고, 이를 해석할 수 있는 SDN 의 콘텐츠 노드 관리부와(130)의 연동을 통하여 SDN 과 CCN 이 상호 호완 될 수 있도록 한다.
네임 관리 모듈(220)은 일종의 DPI 와 같은 기능을 수행할 수 있도록 하는 특별한 경우의 CCN 노드의 일종으로써, 기존의 콘텐츠 캐싱 및 라우팅 만을 수행하던 역할에서 벗어나, 네트워크의 진입단에서 트래픽의 특성에 따라 분기하여 SDN 영역에 트래픽을 전달하는 역할을 수행한다. 예를 들어, 로컬 기반의 서비스와 원격 기반의 서비스를 네임 구조를 활용하여 구분하고, 이를 기반으로 서비스의 특성에 따라 포트를 구분해서, SDN 영역에 전달하게 되고, 이를 기반으로 SDN 스위치는 서비스의 타입을 감지하여, 해당 타입에 맞는 최적화된 경로를 SDN 제어기(10)를 통하여 설정하게 된다.
모니터링 관리 모듈(230)은 CCN 노드의 상태정보를 제공하는 역할을 한다. 상태 정보는, CCN 노드가 포함하는 콘텐츠의 네임 테이블과 각 콘텐츠의 캐시 Hit 율, CCN 노드의 로드가 될 수 있다. 해당 정보들을 기반으로 제어기(10) 는 콘텐츠를 위한 라우팅 계산시, 최적의 경로를 제공할 수 있도록 한다. 모니터링 관리 모듈(230)은 CCN 노드의 상태 포함, 콘텐츠의 상태정보를 주기적으로 모니터링 하는 역할을 수행하고, CCN 관고 모듈(210)이 전달하게 되는 근거 자료를 제시한다.
PIT 테이블(250)은 상위 노드 또는 로컬의 콘텐츠 서버로부터 데이터 패킷을 수신했을 경우, 데이터 패킷을 하위 디바이스 쪽으로 전달 시 참조하는 테이블 이다. 이는 기존 IP 기반의 라우팅과는 다른 CCN 노드 고유의 특성이다.
FIB 테이블(260) 인터레스트 패킷으로 하여근 다음 홉의 인터페이스를 정의하기 위한 테이블 이다. CCN 노드는 인터레스트 패킷 수신 시, 복귀 경로 기록을 위하여 PIT 테이블에 해당 인터레스트 패킷이 수신된 인터페이스를 기입 하기 되고, 콘텐츠 테이블을 참조하여, 콘텐츠 테이블이 없을 시는 FIB 테이블을 통해 다음 홉을 찾아가게 된다. 이때 네임 관리 모듈을 서비스별의 특성에 따라 찾아가는 다음 홉 인터페이스를 제어함으로써, 다음 홉에 연결된 네트워크 장비에서 진입 인터페이스를 기반으로 서비스를 분리하도록 할 수 있다.
또한 CCN 노드는 컨텐츠를 저장하는 컨텐츠 스토어 영역을 포함하여 구성될 수 있으며, 콘텐츠 테이블이 컨텐츠 스토어 영역에 포함될 수도 있다.
전술한 바와 같이, 본 발명의 실시 예에 따른 CCN 노드는 SDN 스위치와 결합된 형태로 존재할 수 있다. 이 경우, SDN 스위칭 기능이 없는 CCN 노드는 ICN 노드로 불릴 울 수도 있으며, SDN 스위칭 기능을 포함하는 노드만을 CCN 노드로 지칭할 수도 있다.
또한, 본 발명의 실시 예에 따른 SDN 스위치는 TCP/IP 패킷 및 CCN 패킷 모두 처리가 가능할 수 있다. 반면 CCN 노드는 CCN 패킷만을 처리할 수 있다.
도 5는 본 발명의 일 실시예에 따른 CCN 노드가 SDN 스위치에서 등록되도록 하는 방법에 대한 순서도이다.
본 발명의 일 실시 예에 따른 방법에서는 SDN 스위치 및 CCN 노드를 관리하는 컨트롤러 및 트래픽 분류기를 포함하는 것을 특징으로 한다.
도 5를 참조하면, SDN 네트워크 단의 SDN 스위치 단 중 제 2 SDN 스위치(SW2)는 CCN(30) 노드로부터 CCN 노드 광고 패킷을 수신하면, 패킷-인 이벤트가 발생한 것을 알 수 있다(S420)
여기서, CCN 노드 광고 패킷은 예컨대 컨텐츠에 대한 프리픽스 정보만을 포함할 수 있다.
제어기(10)는 해당 메시지로부터 콘텐츠 네임, 캐시 Hit율, 트래픽 로드 및 CCN 노드가 연결된 SDN 스위치와 포트 정보를 추출한다. 제어기(10)는 해당 정보를 기반으로 해당 스위치와 포트 정보를 기반으로 CCN 노드 테이블을 탐색할 수 있다(S440). 일치하는 엔트리가 없는 경우, 해당 CCN 노드의 정보를 스위치 토폴로지 테이블에 업데이트할 수 있다(S450). 일치하는 엔트리가 있는 경우, CCN 노드의 콘텐츠 테이블과 해당 콘텐츠의 네임을 비교하여(S460), CCN 노드 콘텐츠 테이블에 콘텐츠의 네임과 일치하는 콘텐츠 네임 엔트리가 있는지 판단할 수 있다. 일치하는 엔트리가 없을 경우, 콘텐츠 테이블에 새로운 콘텐츠 엔트리를 등록한다(470).
광고된 CCN 노드의 콘텐츠가 이미 존재할 경우, 해당 콘텐츠의 상태정보를 업데이트 하게 된다(S480).
도 6은 네트워크에서 콘텐츠를 요청하는 인터레스트 메시지를 수신했을 때의 CCN 과 SDN 기반의 최적의 경로 제공 방법에 관한 순서도 이다.
도 6을 참조하면, SDN 스위치는 디바이스로부터 들어오는 CCN 기반의 인터레스트 메시지를 수신할 수 있다(S510).
해당 인터레스트 메시지는 CCN 트래픽 분류기(50)를 거쳐 해당 콘텐의 서비스 타입이 분류되어 엣지의 제 1 SDN 스위치(20)으로 진입된다.
제 1 SDN 스위치(20)는 CCN 트래픽 분류기(50)로부터 분류된 패킷을 수신하는 경우, SDN 스위치는 해당 플로우의 엔트리의 존재 여부를 판단한다(S520). 해당 플로우의 엔트리의 존재 여부는 사용자의 IP 를 기반으로 수행한다. 일치하는 엔트리가 있을 경우는, 기 설정된 테이블을 따라 패킷 포워딩이 수행된다.
일치하는 엔트리가 없을 경우, 해당 패킷은 제어기(10)에게 전송되게 된다(S530).
이를 수신한 제어기(10)는 콘텐츠 네임 정보를 CCN 노드 랩퍼(110)를 통해 추출할 수 있다. 추출된 정보를 기반으로 제어기(10)는 콘텐츠 네임에 대응하는 엔트리가 콘텐츠 노드 관리부(130)의 콘텐츠 테이블에 있는지를 판단할 수 있다(S550). 일치하는 엔트리가 없을 경우는 무작위로 토폴로지 관리부(150)로부터 해당 트래픽이 경유하게 되는 CCN 노드(30)들의 엔트리를 추출하게 된다. 이때 특정 조건, 예를 들면, CCN 노드의 부하 상태 여부와 같은 조건을 두어 최적의 CCN 노드를 선택할 수 있다.
해당 엔트리가 존재할 경우, 제어기는 콘텐츠를 포함하는 CCN 노드(30)들의 엔트리를 추출 하게 되고(S570), 경로 계산부(120)는 해당 CCN 노드(30)를 경유하는 최적의 경로를 토폴로지 관리부(150)로부터의 정보를 기반으로 하여 추출하게 된다(S580).
제어기(10)는 모든 경로 추출 후, 포워딩 테이블 관리부(140)를 통해 각 SDN 스위치에 포워딩 테이블을 업데이트 하게 된다(S590).
도 7은 상술한 바와 같은 본 발명의 시스템의 일 구현 예시를 계층적 형태로 도시한 것이며, 도 8은 본 발명의 실시 예에 따른 CCN과 SDN의 주요 역할을 계층적 형태로 도시한 것이다.
본 발명은 전술한 바와 같이 기존의 네트워크 상에 CCN 네트워크를 보다 용이하게 결합하는 것을 목적으로 한다.
이러한 본 발명의 실시 예에 따른 시스템은 TCP/IP 패킷 처리가 가능한 SDN 네트워크 상에 결합됨으로써, 일반적인 TCP/IP 패킷의 처리가 가능함은 물론 본 발명의 CCN 패킷의 처리가 모두 가능하다.
CCN의 주요 역할을 전술한 바와 같이, 컨텐츠를 보유하며, 컨텐츠를 인식하고 단말로 제공하는 역할을 수행한다. 이러한 CCN 계층에서의 주요 기능은 Naming management, CCN Control protocol 및 도면에는 도시하지 않았으나 Traffic Classification 등이 될 수 있다. 먼저, Naming management는 사용자의 Interest 패킷에 콘텐츠의 특성을 포함한 콘텐츠의 이름을 제공하는 기능이다. 예컨대, location 정보 기반의 콘텐츠 관리가 될 수 있다. 다시 말해, 이 컨텐츠는 어떤 지역의 사용자들이 선호하는 지 등의 컨텐츠에 대하여 분석된 정보가 될 수 있다. 이러한 정보들을 컨트롤러에게 제공하고, 이후 어떠한 정보를 캐싱할 지 여부를 판단하는 자료로 활용될 수 있다.
CCN Control protocol은 CCN 캐시 서버의 캐시된 컨텐츠 목록을 저장하고 관리하는 역할을 수행한다. 또한, 상태(status)를 컨트롤러에 안내(advertisement)하는 역할을 수행한다. 여기서, 노드의 상태란 히트(hit) 또는 미스(miss)에 대한 정도(rate)를 의미한다. 이를 이용하여 컨트롤러(controller)는 네트워크에 분포된 콘텐츠의 상태를 모니터링할 수 있다.
또한, 본 발명의 실시 예에 따른 CCN 노드는 광고 기능(advertisement)을 포함한다. 여기서, 광고란 CCN 노드 자신이 어떠한 컨텐츠를 보유하고 있는 지에 대한 정보를 다른 CCN 노드 또는 컨트롤러에게 제공하는 과정을 의미한다.
Handshake는 CCN 노드가 자신의 상태를 컨트롤러에게 제공하는 과정을 의미한다.
Traffic classification은 DPI(Deep Packet Inspection)과 같은 기능을 제공하는 것으로서, 콘텐츠 네임을 기반으로 콘텐츠를 분리하여, SDN 네트워크에 전달하는 역할을 수행한다.
반면, SDN의 CCN이 결합될 수 있는 기반 네트워크를 의미하는 것으로, 이러한 SDN은 전술한 바와 같이 CCN Wrapper, Routing, Service Chain Management의 역할을 수행할 수 있다. 먼저, CCN Wrapper는 CCN request를 해석하여 routing module에 전달하는 역할을 수행한다. 그리고, 캐쉬 서버(cache server)에 캐싱 여부와 캐시 위치를 결정하며, cache policy에 반영될 contents popularity 목록을 관리한다.
Routing은 컨텐츠에 대한 정보들과 network utilization 정보를 바탕으로 경로(path)를 계산하는 역할을 수행한다. 그리고, 해당 경로를 기반으로 SDN 스위칭의 포워딩 테이블을 업데이트한다.
Service Chain management는 서비스의 특성에 따라 선택적으로 CCN 경로를 경유하도록 설정하기 위한 기능을 의미한다. CCN의 TC에 의해 정의된 서비스의 특성에 따라 효율적 체인을 관리한다. 또한, 다수의 CCN 노드를 그룹화하여 한 번에 관리하는 기능을 수행할 수 있으며, Policy management는 컨텐츠에 대한 정책을 관리하는 역할을 수행할 수 있다. 예컨대, CCN 노드에 보유하고 있는 컨텐츠에 대한 사용자 선호도가 떨어질 경우, 이를 삭제하는 명령을 CCN 노드로 제공하는 등의 역할을 수행할 수 있다.
도 9는 본 발명의 실시 예에 따른 트래픽 분류기에서의 패킷 트래픽 분류 과정을 설명하기 위한 화면 예시도이다.
다수의 CCN 노드 중 어느 하나의 CCN 노드가 트래픽 분류의 역할을 수행할 수 있으며, CCN 노드가 아닌 별도의 트래픽 분류기로 존재할 수도 있다.
이때 트래픽 분류기의 역할을 수행하는 CCN 노드는 사전에 FIB 테이블을 저장하고 관리하며, 유입포트(ingress port), 유출포트(egress port)에 대한 정보를 저장하고 관리하는 역할을 수행한다. 또한 트래픽 분류기의 역할을 수행하는 CCN 노드는 3개의 포트를 포함할 수 있다. 즉 유입포트(ingress port)와, 로컬(local) 서비스를 위한 유출포트, 원격(remote) 서비스를 위한 유출포트를 포함할 수 있다. 도면에서 2번이 로컬 서비스를 위한 포트이며, 3번은 원격 서비스를 위한 포트이다.
이러한, 트래픽 분류기의 역할을 수행하는 CCN 노드는 단말(client)로부터 CCN 인터레스트 패킷이 전달되면, 전달된 CCN 인터레스트 패킷이 로컬 서비스를 위한 패킷인지 원격 서비스를 위한 패킷인지 판단하고, 판단 결과에 따라 해당 포트로 패킷을 전달하게 된다. 이를 위해 기 저장된 FIB를 참조하여, 로컬일 경우 2번 포트로 패킷을 전달하고, 원격일 경우 3번 포트로 패킷을 전달할 수 있다.
아울러, 트래픽 분류기의 역할을 수행하는 CCN 노드의 3번 포트를 통해 유출된 패킷은 바로 네트워크로 전달되며, 2번 포트를 통해 유출된 패킷은 연결된 CCN 노드를 거쳐 전달되게 된다.
또한, 본 발명의 실시 예에 따른 시스템은 기존의 TCP/IP 기반으로 동작하는 SDN 상에서 동작이 가능하므로, 단말은 IP 패킷 또는 CCN 패킷(인터레스트 패킷 및 데이터 패킷) 모두를 요청할 수 있으며, 트래픽 분류기는 단말로부터 전달된 패킷을 확인하고, CCN 패킷일 경우, 이를 CCN 노드가 제공하도록 처리하는 역할을 수행할 수도 있다.
이때, CCN 패킷일 경우, 트래픽 분류기는 컨트롤러로 이를 제공하고, 컨트롤러는 어떠한 경로를 통해 CCN 패킷을 처리할 지 경로를 설정하고 관리하는 역할을 수행할 수 있다.
이러한 트래픽 분류기의 역할을 수행하는 CCN 노드를 이용하여 패킷 전달 경로를 설정하는 것은 SDN 계층에서 이뤄질 수 있다.
아울러, 본 발명의 일 실시 예에서는 트래픽 분류기와 컨트롤러를 구분하여 설명하였으나, 이에 한정되는 것은 아니며, 트래픽 분류기와 컨트롤러는 단일 모듈 형태로 구현될 수도 있다.
또한, 본 발명의 실시 예에 따른 트래픽 분류기에서만 FIB 정보를 저장하고 관리할 수 있다. 이때 다른 CCN 노드들은 FIB 정보를 가지고 있지 않을 수 있으며, 가지고 있더라도, 트래픽 분류기가 보유하고 있는 FIB 정보에 비해 정확도, 또는 그 양의 적을 수 있다.
이하, 본 발명의 실시 예에 따른 콘텐츠 서비스에 대해 보다 더 구체적으로 설명하도록 한다.
먼저, 종래 기술에 따른 컨텐츠 전송 방법에 대해 설명한다.
도 10은 일반적인 CDN을 활용한 컨텐츠 전송 방법을 설명하기 위한 흐름도이다.
먼저, 단말(UE)은 원본 컨텐츠 서버로 컨텐츠 요청 메시지를 전송한다. 이때의 컨텐츠 요청 메시지는 TCP/IP 기반으로 동작하는 여러 스위치들을 거쳐 원본 컨텐츠 서버로 전달될 수 있다. 그리고 원본 컨텐츠 서버는 상기 단말(UE)이 요청한 컨텐츠가 단말(UE) 인근 엣지 서버에 저장된 컨텐츠일 경우, 해당 엣지 서버로 이를 푸쉬하고, 단말(UE)로는 엣지 서버로 연결 가능한 주소 정보를 제공하게 된다.
이를 수신한 단말(UE)은 해당 엣지 서버로 컨텐츠 요청 메시지(HTTP get request)를 전송하고, 해당 엣지 서버는 단말(UE)로 캐싱하고 있는 컨텐츠를 제공할 수 있게 된다. 이때 컨텐츠는 컨텐츠 응답 메시지(HTTP response)로 제공될 수 있다.
도 11은 일반적은 CCN 패킷 포워딩 방법을 설명하기 위한 흐름도이다.
도 11을 참조하면, CCN을 구성하는 각 라우터(또는 노드)들은 컨텐츠를 저장하고 관리할 수 있다. 이를 위해, 각 라우터들은 FIB 형태로 콘텐츠 이름과 인터페이스 정보를 저장하고 관리하게 된다.
먼저, 단말의 컨텐츠 요청, 즉 인터레스트 패킷(interest packet)은 먼저 인근의 제1 라우터(100)에 도달하고, 제1 라우터(100)는 기 저장된 FIB 정보를 확인하여, 해당 컨텐츠를 저장하고 있는 라우터에 대한 정보가 저장되어 있을 경우, 해당 라우터로 인터레스트 패킷을 전달한다. 이때, 도면에 도시된 바와 같이 해당 라우터(200) 사이에 여러 라우터가 존재하는 경우, 제1 라우터(100)는 여러 라우터를 거쳐 해당 라우터(200)로 인터레스트 패킷이 전달되도록, 연결된 라우터로 먼저 인터레스트 패킷을 전달하게 된다(이때 제1 라우터는 연결된 라우터에 대한 정보만을 저장하고 관리할 수도 있다).
반면, 제1 라우터(100)가 저장하고 있는 FIB에 해당 컨텐츠를 저장하고 있는 라우터에 대한 정보가 없을 경우, 제1 라우터(100)는 연결된 링크들의 라우터(도면에서는 3개의 라우터)에게 인터레스트 패킷을 브로드캐스팅하게 된다.
이러한 일반적인 CCN 패킷 포워딩에 있어서, 컨텐츠를 저장하는 CCN 라우터는 거의 모든 컨텐츠에 대한 위치 정보를 FIB에 저장하고 관리해야 한다는 문제점이 있다. 이로 인해 CCN 라우터는 FIB를 위한 많은 용량의 메모리를 필요로 한다는 문제점이 있다.
또한, 인터레스트 패킷에 대한 컨텐츠를 어떠한 라우터가 저장하고 있는 지 알 지 못할 경우, 인근의 연결된 라우터로 브로드캐스팅 하는 등의 과정을 수행함으로써, 단말로 컨텐츠 전송 시 까지 많은 시간이 소요되며, 브로드캐스팅을 하기 위해 동일한 컨텐츠 요청 패킷(인터레스트 패킷)을 복제한 후 브로드캐스팅함으로써 네트워크 자원을 효율적으로 사용하지 못한다는 문제점이 있다.
본 발명은 이러한 종래 기술에 따른 문제점을 해결하기 위한 것으로서, SDN 네트워크 기반의 CCN 컨텐츠 전송 방법을 제공하는 것을 목적으로 하는 것으로 특히, 상술한 문제점을 해결하기 위한 컨트롤러 및 트래픽 분류기를 포함하는 것을 특징으로 한다.
이에 대해 도 12를 참조하여 설명하도록 한다.
컨트롤러는 컨텐츠를 보유하고 있는 CCN 노드 및 SDN 스위치에 대한 정보를 저장하고 관리하는 역할을 수행한다. 예를 들어, 단말로부터 naver/news에 대한 컨텐츠 요청이 오면, 해당 컨텐츠를 저장하고 있는 캐시 노드, 즉 C를 확인한 후, C에 대응하여 기 저장된 스위치 및 포트 정보를 확인한다.
그리고, 컨트롤러는 CCN과 연결된 스위치(SW1)로 먼저 인터레스트 패킷(또는 컨텐츠 요청)을 전달하고, 스위치는 연결된 캐시 노드로 인터레스트 패킷을 전달한다. 이에 따라 캐시 노드(A)는 단말로 컨텐츠를 제공할 수 있게 된다.
참고로, 도면에서는 CCN 계층과 SDN 계층을 구분하여 도시하였으나, 이에 한정되는 것은 아니고 CCN 계층과 SDN 계층은 하나의 평면적 계층로 존재할 수도 있다. 또한, 본 발명의 SDN 스위치와 CCN 노드를 각각 개별적으로 구분하였으나, SDN 스위치에 컨텐츠를 저장하고 있을 경우, 해당 SDN 스위치는 컨텐츠 노드, 즉 CCN 노드로 동작할 수도 있다.
이하에서는 CCN 노드에 컨텐츠를 저장하고 있을 경우와 그렇지 않을 경우를 중심으로 설명하도록 한다.
도 13은 컨텐츠를 저장하고 있을 경우에서의 동작을 설명하기 위한 흐름도이다.
먼저, S101이 지시하고 있는 바와 같이, 단말이 SDN 스위치로 인터레스트 패킷을 전송한다. 여기서 인터레스트 패킷은 예컨대 Naver news에 대한 요청이 될 수 있다.
이를 수신한 SDN 스위치는 S103이 지시하는 바와 같이 컨트롤러에 해당 컨텐츠가 어떠한 CCN 노드에 저장되어 있는 지를 문의한다.
여기서, 컨트롤러는 트래픽 분류기의 기능을 수행할 수 있다. 이를 수신한 컨트롤러는 어떠한 CCN 노드에 해당하는 컨텐츠가 저장되어 있는 지를 확인할 수 있게 된다(S105).
그리고 컨트롤러는 해당 CCN 노드로 컨텐츠 요청 패킷(인터레스트 패킷)을 전달하기 위한 경로를 설정하고 설정된 경로를 각 SDN 스위치에게 전달한다(S107).
그리고 단말로부터 컨텐츠 요청 패킷을 전달받은 스위치는 컨트롤러로부터 제공된 정보에 해당하는 연결된 링크로 컨텐츠 요청 패킷을 전달하고, 각각의 스위치들은 컨트롤러로부터 제공된 경로에 따라 해당 CCN으로 컨텐츠 요청 패킷을 전달하며(S109), 해당 CCN 노드에서 데이터 패킷이 전달되면, 마찬가지의 경로로 단말로 제공하는 과정을 수행할 수 있다(S111).
도 14는 컨텐츠를 저장하고 있지 않을 경우에서의 동작을 설명하기 위한 흐름도이다.
마찬가지로, 컨트롤러가 트래픽 분류기의 기능을 수행하는 것을 예로 들어 설명하도록 한다.
단말은 컨텐츠 요청 패킷을 인근의 SDN 스위치로 전송한다(S101). 이를 수신한 SDN 스위치는 컨트롤러로 어떠한 CCN 노드에 해당 컨텐츠가 저장되어 있는 지를 요청하고(S103), 컨트롤러는 기 저장된 FIB를 참고하여 확인한다(S105).
상기 확인 결과 저장된 CCN 노드가 존재하지 않을 경우, 오리진 서버, 즉 컨텐츠 제공 서버를 확인하고, 상기 컨텐츠 제공 서버까지의 경로를 설정한 후, 설정된 경로에 위치하는 각 스위치에게 이에 대한 정보를 제공한다(S107).
각각의 스위치는 컨텐츠 제공 서버로 컨텐츠 요청 패킷을 전달하고, 컨텐츠 제공 서버는 이에 대한 응답인 데이터 패킷을 해당 경로를 통해 단말로 전송한다(S111).
데이터 패킷 전송 중에 해당 경로에 위치하고 있는 SDN 스위치, 즉 500이 지시하는 스위치는 연결된 CCN 노드에 데이터 패킷에 포함된 컨텐츠를 저장하고(S113), 컨텐츠가 저장되었음을 컨트롤러에게 알리게 된다(S115).
이때의 500 SDN 스위치는 미리 컨트롤러로부터 컨텐츠 제공 서버가 제공하는 컨텐츠를 캐싱하라는 제어 명령을 수신할 수 있으며, 수신된 제어 명령에 따라 컨텐츠 제공 서버가 제공하는 컨텐츠의 종류(또는 서버 종류)를 확인하여 자신이 저장해야하는 컨텐츠일 경우에 이를 저장할 수 있다. 반면, 자신이 저장해야 하는 컨텐츠가 아닐 경우 단순히 라우팅 동작만을 수행할 수 있다. 이러한 정보는 컨트롤러의 정책(policy) 정보로 미리 저장되고 관리될 수 있다. 또한, 컨트롤러는 다수의 SDN 스위치 중 CCN 노드와 연계된 SDN 스위치가 포함되게 경로를 설정할 수 있다. 이러한 설정된 경로에 포함된 CCN 노드와 연계된 SDN 스위치가 컨텐츠를 CCN 노드에 저장하거나, 또는 CCN 노드에 저장된 컨텐츠를 단말로 제공할 수 있게 된다.
또한, 컨트롤러가 설정하는 정책 정보는 위치 기반, 사용자 선호 기반, 등 여러 가지 기준을 기초로 수립될 수 있다. 예컨대 종로 지역 사용자들이 선호하는 컨텐츠, 또는 10대 사용자들이 선호하는 컨텐츠, 최근 이슈가 되고 있는 컨텐츠 등 여러 가지 기준으로 CCN 노드별로 어떠한 컨텐츠를 저장할 지에 대한 정책 정보를 설정할 수 있다.
또한, 상술한 경우에서의 컨텐츠 요청 패킷 및 데이터 패킷은 CCN 패킷이 아닌 TCP/IP 기반의 패킷 형태로 전송될 수 있다. 즉, 컨텐츠 요청(request)와 컨텐츠 응답(response) 패킷 형태로 송수신될 수 있다.
이하, 본 발명의 실시 예에 따른 CCN 노드의 주요 구성에 대해 설명하도록 한다.
전술한 바와 같이, 컨텐츠 중심 네트워크(CCN; Contents Centric Network)는 IP 주소를 이용하여 통신을 수행하는 종래의 일반적인 네트워크와는 달리 CCN 이름을 사용하여 라우팅을 수행하는 네트워크를 의미한다. 컨텐츠 중심 네트워크에서 컨텐츠의 이름은 컨텐츠가 저장된 노드를 찾아가기 위한 나침반 역할과 해당 컨텐츠를 다른 컨텐츠와 구분해 주는 역할을 한다. 그러므로, 각 컨텐츠는 고유한 이름을 사용하며, 두 컨텐츠의 이름이 서로 다르면, 같은 내용의 컨텐츠도 다른 컨텐츠로 취급한다. 예를 들어, 같은 내용으로 이루어진 두 파일이 각각 서로 다른 컨텐츠 이름으로 존재할 경우, 두 파일은 서로 다른 컨텐츠로 처리될 수 있다.
도 15에 도시된 바와 같이, 컨텐츠 중심 네트워크에 포함된 노드, 즉 CCN 노드는 content store, PIT(Pending Interest Table), FIB를 포함하여 구성될 수 있다.
Content store는 컨텐츠가 저장되는 것으로, 컨텐츠 이름에 대한 데이터를 저장하고 관리한다.
PIT 테이블은 컨텐츠 요청 패킷(인터레스트 패킷)이 어디에서 들어왔는 지에 대한 정보를 저장하며, 이를 기초로 컨텐츠 응답 패킷을 제공하게 된다.
FIB는 컨텐츠 이름에 대한 프리픽스(prefix)를 저장하며, 이에 대응하는 페이스의 리스트를 저장할 수 있다. 이 경우, FIB는 프리픽스의 정보만을 저장하고 관리함으로써, 테이블의 크기를 줄일 수 있게 된다.
먼저, 단말이 전송한 컨텐츠 요청 패킷이 페이스 0으로부터 전달되면, 해당 CCN 노드는 먼저, 해당 컨텐츠의 이름을 참조하여 해당 컨텐츠가 노드의 컨텐츠 스토어(content store)에 저장되어 있는 지 여부를 확인한다. 상기 컨텐츠 요청 패킷은 컨텐츠의 이름(풀 네임)을 포함하며, 부가적으로 컨텐츠를 생성한 서버 또는 CCN 노드를 저장할 수도 있다.
확인 결과, 컨텐츠 스토어 내에 해당 컨텐츠가 저장되어 있을 경우, CCN 노드는 해낭 노드를 컨텐츠 요청 패킷이 수신된 페이스 0으로 반환한다. 이때의 페이스(face)는 인터페이스(interface)로도 표현될 수 있다.
반면, 해당 컨텐츠가 컨텐츠 스토어 내에 저장되어 있지 않으면, 노드는 PIT에 해당 항목에 컨텐츠 요청 패킷이 들어온 페이스, 즉 전술한 예에서 페이스 0에 대한 정보를 추가로 기입한다.
그리고 CCN 노드는 PIT 내에 동일 컨텐츠 이름으로 등록된 항목이 없다면, 노드는 FIB에서 컨텐츠 이름에 기반한 검색을 수행하여 해당 엔트리를 확인한다. 여기서, CCN 노드는 최장 프리픽스 매칭(longest prefix matching)에 따라 검색을 수행할 수 있다.
그 후, CCN 노드는 FIB에 등록되어 있는 정보에 기초하여, 컨텐츠 요청 패킷을 전달할 페이스, 예컨대 페이스 1을 결정하고, 해당 페이스로 컨텐츠 요청 패킷을 전송하게 된다. 이 과정에서 CCN 노드는 컨텐츠 요청 패킷이 전달되어 온 페이스(페이스 O)에 대한 정보를 PIT에 등록하며, 향후 컨텐츠 요청 패킷에 대응되는 컨텐츠를 포함한 데이터 패킷을 전달되면, 해당 컨텐츠를 요청한 노드(또는 단말)에게 데이터 패킷을 전달하게 된다. 여기서, FIB에 기초하여 컨텐요청 패킷을 전달할 페이스를 선택할 때, 컨텐츠 요청 패킷이 수신된 페이스(페이스 0)은 선택 대상에서 제외된다.
이하, 도 16을 참조하여 본 발명의 컨텐츠 요청 패킷(interest packet) 및 데이터 패킷(data packet)의 주요 구성에 대해 설명하면, 컨텐츠 요청 패킷은 컨텐츠 네임, 선택자, 랜덤 임시 변수로 구성될 수 있으며, 데이터 패킷은 컨텐츠를 담고 있는 패킷으로 컨텐츠 네임, 서명, 사인 정보, 데이터를 포함하여 구성될 수 있다. 컨텐츠 요청 패킷 및 데이터 패킷을 모두 포함하여 CCN 패킷으로 지칭할 수도 있다.
또한, 본 발명의 실시 예에 따른 CCN 패킷의 프레임은 이더넷/IP/UDP/CCN 헤더를 포함하여 구성될 수 있다. 여기서, CCN 헤더는 기존의 TCP/IP 패킷에서 TCP를 대신하여 존재할 수 있다. 즉, 본 발명의 실시 예에 따른 패킷은 IP를 포함할 수 있으며, UDP를 기반으로 정보를 송수신할 수 있다.
아울러, 본 발명의 실시 예에 따른 CCN 패킷의 컨텐츠 이름은 서비스 이름, 네트워크 이름, 호스트 이름(디바이스 이름), 콘텐츠에 대한 정보를 포함하여 구성될 수도 있다.
아울러, 단말은 TCP/IP 패킷 및 CCN 패킷을 모두 처리할 수 있는 모듈을 포함하여 구성될 수 있다.
본 발명은 SDN(Software Defined Network) 기반의 네트워크에서 CCN(Contents Centric Network) 도입을 위한 방법에 관한 것으로, 컨트롤러가 트래픽 분류기와 연동하여 단말로부터 인입되는 CCN 패킷을 분석하여 경로를 설정하여 CCN 패킷의 라우팅을 제어하며, 각각의 노드들에 대한 정책을 수립하고, 컨텐츠 제공 서버로부터 컨텐츠를 포함하는 데이터 패킷 전달 시, 수립된 정책에 따라 특정 CCN 노드에 해당 컨텐츠가 캐싱되도록 제어할 수 있는 SDN(Software Defined Network) 기반의 네트워크에서 CCN(Contents Centric Network) 도입을 위한 방법에 관한 것이다.
본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
Claims (15)
- 적어도 하나의 CCN(Contents Centric Network) 노드와 연결되는 SDN(Software Defined Network) 스위치를 포함하고, 상기 SDN 스위치와 연결되어 상기 CCN 노드 및 SDN 스위치를 제어하는 제어기를 포함하는 콘텐츠 전송 시스템에서의 콘텐츠 전송 방법에 있어서,
상기 제어기가 어느 하나의 SDN 스위치로부터 인터레스트(Interest) 패킷을 수신하는 단계;
상기 제어기가 상기 인터레스트 패킷의 콘텐츠 이름에 대응하는 콘텐츠를 저장하고 있는 CCN 노드를 확인하는 단계; 및
상기 제어기가 상기 CCN 노드에 연결된 SDN 스위치로 상기 인터레스트 패킷을 전달하여 상기 SDN 스위치를 통해 상기 CCN 노드로 상기 인터레스트 패킷이 전달되도록 제어하는 단계;
를 포함하는 것을 특징으로 하는 콘텐츠 전송 방법. - 제1항에 있어서,
상기 제어기는 기 구축된 콘텐츠 테이블에 상기 콘텐츠 이름에 대응하는 정보가 저장되어 있지 않을 경우, 기 설정된 조건에 따라 CCN 노드를 추출하는 단계; 및
상기 제어기가 상기 추출된 CCN 노드를 경유하는 최적의 경로를 설정하고 설정된 경로를 연결된 하나 이상의 SDN 스위치로 전달하는 단계;
를 포함하는 것을 특징으로 하는 콘텐츠 전송 방법. - 제2항에 있어서,
상기 기 설정된 조건은
상기 CCN 노드가 보유하고 있는 콘텐츠 정보에 대한 콘텐츠 테이블, 각 콘텐츠에 대한 캐싱 히트(hit)율, 부하 정보 중 적어도 하나 이상의 상태 정보에 대한 조건인 것을 특징으로 하는 콘텐츠 전송 방법. - 제1항에 있어서,
상기 인터레스트 패킷을 수신하는 단계는
상기 제어기가 인입되는 패킷의 종류를 판단하여 인터레스트 패킷만을 선별적으로 처리하는 것을 특징으로 하는 콘텐츠 전송 방법. - 제1항에 있어서,
상기 CCN 노드를 확인하는 단계는
상기 제어기가 상기 콘텐츠 이름에 대응하는 정보가 기 구축된 콘텐츠 테이블에 존재하는 지 여부를 판단하여 CCN 노드를 확인하는 것을 특징으로 하는 콘텐츠 전송 방법. - 제1항에 있어서,
어느 하나의 SDN 스위치에 연결된 CCN 노드로부터 광고 패킷을 수신하는 단계;
상기 제어기가 상기 광고 패킷의 콘텐츠 이름에 대응하는 콘텐츠가 기 구축된 콘텐츠 테이블에 존재하는 지 판단하는 단계; 및
상기 광고 패킷의 콘텐츠 이름에 대응하는 콘텐츠가 기 구축된 콘텐츠 테이블에 저장되어 있지 않을 경우, 상기 제어기가 상기 콘텐츠 테이블에 상기 광고 패킷에 대응하는 콘텐츠 이름을 등록하는 단계;
를 더 포함하는 것을 특징으로 하는 콘텐츠 전송 방법. - 제6항에 있어서,
상기 광고 패킷의 콘텐츠 이름에 대응하는 콘텐츠가 기 구축된 콘텐츠 테이블에 저장되어 있을 경우, 기 제어기가 상기 콘텐츠 테이블에 저장된 상기 콘텐츠의 상태 정보를 업데이트하는 단계;
를 더 포함하는 것을 특징으로 하는 콘텐츠 전송 방법. - 적어도 하나의 CCN(Contents Centric Network) 노드 및 제어기와 연결되는 적어도 하나의 SDN(Software Defined Network) 스위치를 포함하는 콘텐츠 전송 시스템에서의 콘텐츠 전송 방법에 있어서,
상기 SDN 스위치가 인입되는 인터레스트 패킷을 수신하는 단계;
상기 SDN 스위치가 상기 인터레스트 패킷에 대응하는 콘텐츠를 캐싱하고 있는 CCN 노드를 확인하는 단계;
상기 SDN 스위치가 해당 콘텐츠를 보유하고 있는 CCN 노드에 대한 경로 설정 정보를 확인하는 단계; 및
상기 SDN 스위치가 해당하는 링크로 상기 인터레스트 패킷을 전달하는 단계;
를 포함하는 것을 특징으로 하는 콘텐츠 전송 방법. - 제8항에 있어서,
상기 CCN 노드를 확인하는 단계는
상기 SDN 스위치가 상기 인터레스트 패킷의 콘텐츠 이름을 확인하는 단계; 및
상기 SDN 스위치가 확인된 콘텐츠 이름에 해당하는 콘텐츠를 저장하고 있는 CCN 노드를 기 구축된 콘텐츠 테이블을 통해 확인하는 단계;
를 포함하는 것을 특징으로 하는 콘텐츠 전송 방법. - 제8항에 있어서,
상기 CCN 노드를 확인하는 단계에서, 상기 인터레스트 패킷에 대응하는 콘텐츠를 캐싱하고 있는 CCN 노드가 확인되지 않으면, 상기 SDN 스위치가 연결된 상기 제어기로 상기 인터레스트 패킷을 전달하며,
상기 제어기로부터 CCN 노드를 경유하는 최적의 경로 정보가 전달되면, 상기 경로 정보에 따라 상기 인터레스트 패킷을 전달하는 단계;
를 더 포함하는 것을 특징으로 하는 콘텐츠 전송 방법. - 제8항에 있어서,
콘텐츠 서버로부터 상기 인터레스트 패킷에 대응하는 데이터 패킷이 전달되면 기 설정된 정책 정보에 따라, 상기 데이터 패킷에 포함된 콘텐츠의 캐싱 여부를 결정하는 단계; 및
상기 콘텐츠를 캐싱하고자 할 경우, 연결된 CCN 노드로 상기 데이터 패킷을 전달하여 캐싱되도록 제어하는 단계;
를 더 포함하는 것을 특징으로 하는 콘텐츠 전송 방법. - 제1항 내지 제11항 중 어느 하나의 항에 기재된 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
- 적어도 하나의 CCN(Contents Centric Network) 노드와 연결되는 SDN(Software Defined Network) 스위치를 포함하고, 상기 SDN 스위치와 연결되어 상기 CCN 노드 및 SDN 스위치를 제어하는 제어기를 포함하는 콘텐츠 전송 시스템에서의
상기 제어기는
어느 하나의 SDN 스위치로부터 인터레스트(Interest) 패킷을 수신하고, 상기 인터레스트 패킷의 콘텐츠 이름에 대응하는 콘텐츠를 저장하고 있는 CCN 노드를 확인하며, 상기 CCN 노드에 연결된 SDN 스위치로 상기 인터레스트 패킷을 전달하여 상기 SDN 스위치를 통해 상기 CCN 노드로 상기 인터레스트 패킷이 전달되도록 제어하는 것을 특징으로 하는 제어기. - 적어도 하나의 CCN(Contents Centric Network) 노드 및 제어기와 연결되는 적어도 하나의 SDN(Contents Centric Network) 스위치를 포함하는 콘텐츠 전송 시스템에서의
상기 SDN 스위치는
단말로부터 인입되는 인터레스트(Interest) 패킷을 수신하고, 상기 인터레스트 패킷에 대응하는 콘텐츠를 캐싱하고 있는 CCN 노드를 확인하며, 해당 콘텐츠를 보유하고 있는 CCN 노드에 대한 경로 설정 정보를 확인하고, 해당하는 링크로 상기 인터레스트 패킷을 전달하는 것을 특징으로 하는 SDN 스위치. - 적어도 하나의 CCN(Contents Centric Network) 노드와 연결되는 SDN(Contents Centric Network) 스위치를 포함하고, 상기 SDN 스위치와 연결되어 상기 CCN 노드 및 SDN 스위치를 제어하는 제어기를 포함하는 콘텐츠 전송 시스템에 있어서,
상기 콘텐츠 전송 시스템은
SDN 스위치에 연결되고, 콘텐츠 이름에 해당하는 콘텐츠를 캐싱하는 적어도 하나의 CCN 노드;
상기 CCN 노드와 연결되며, 인입되는 인터레스트 패킷의 콘텐츠 이름에 해당하는 콘텐츠가 상기 연결된 CCN 노드에 캐싱되어 있는 지 여부를 판단하고, 그렇지 않을 경우, 연결된 제어기로 상기 인터레스트 패킷을 전달하는 SDN 스위치; 및
상기 SDN 스위치로부터 상기 인터레스트 패킷이 수신되면, 상기 인터레스트 패킷에 대응하는 콘텐츠를 저장하고 있는 CCN 노드를 확인하고, 상기 CCN 노드에 연결된 SDN 스위치로 상기 인터레스트 패킷을 전달하여 상기 SDN 스위치를 통해 상기 CCN 노드로 상기 인터레스트 패킷이 전달되도록 제어하는 제어기;
를 포함하는 것을 특징으로 하는 콘텐츠 전송 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140081071A KR102147669B1 (ko) | 2014-06-30 | 2014-06-30 | 콘텐츠 전송 방법, 이를 위한 장치 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140081071A KR102147669B1 (ko) | 2014-06-30 | 2014-06-30 | 콘텐츠 전송 방법, 이를 위한 장치 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160002155A true KR20160002155A (ko) | 2016-01-07 |
KR102147669B1 KR102147669B1 (ko) | 2020-10-14 |
Family
ID=55168860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140081071A KR102147669B1 (ko) | 2014-06-30 | 2014-06-30 | 콘텐츠 전송 방법, 이를 위한 장치 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102147669B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019047706A1 (zh) * | 2017-09-07 | 2019-03-14 | 华为技术有限公司 | 一种用户终端切换的方法、装置及*** |
US11178059B2 (en) | 2018-10-30 | 2021-11-16 | Electronics And Telecommunications Research Institute | Apparatus and method of managing content name in information-centric networking |
EP3895390A4 (en) * | 2018-12-14 | 2022-08-03 | Nokia Solutions and Networks Oy | SERVICE CHAINING MECHANISM FOR PROCESSING A DATA FLOW |
KR20230071211A (ko) * | 2021-11-16 | 2023-05-23 | 숭실대학교산학협력단 | 5g mec 기반 정보 중심 네트워크에서 컨텐츠 캐싱 방법 및 장치 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130048032A (ko) * | 2011-11-01 | 2013-05-09 | 한국전자통신연구원 | 컨텐츠 중심 네트워크에서 라우팅 방법 |
KR20140052847A (ko) * | 2012-10-22 | 2014-05-07 | 한국전자통신연구원 | 소프트웨어 정의 네트워킹 기반 네트워크에서 서비스 품질 제공 방법 및 그 장치 |
KR20140067881A (ko) * | 2012-11-26 | 2014-06-05 | 삼성전자주식회사 | 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법 |
KR20140075831A (ko) * | 2012-11-26 | 2014-06-20 | 삼성전자주식회사 | Ip 라우팅 호환을 위한 패킷의 구조, 네트워크 노드의 통신 방법 및 그 네트워크 노드 |
KR20140076955A (ko) | 2012-12-13 | 2014-06-23 | 한국전자통신연구원 | 서비스 특성을 이용한 네트워크 제어 시스템 및, 그 제어 방법 |
-
2014
- 2014-06-30 KR KR1020140081071A patent/KR102147669B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130048032A (ko) * | 2011-11-01 | 2013-05-09 | 한국전자통신연구원 | 컨텐츠 중심 네트워크에서 라우팅 방법 |
KR20140052847A (ko) * | 2012-10-22 | 2014-05-07 | 한국전자통신연구원 | 소프트웨어 정의 네트워킹 기반 네트워크에서 서비스 품질 제공 방법 및 그 장치 |
KR20140067881A (ko) * | 2012-11-26 | 2014-06-05 | 삼성전자주식회사 | 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법 |
KR20140075831A (ko) * | 2012-11-26 | 2014-06-20 | 삼성전자주식회사 | Ip 라우팅 호환을 위한 패킷의 구조, 네트워크 노드의 통신 방법 및 그 네트워크 노드 |
KR20140076955A (ko) | 2012-12-13 | 2014-06-23 | 한국전자통신연구원 | 서비스 특성을 이용한 네트워크 제어 시스템 및, 그 제어 방법 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019047706A1 (zh) * | 2017-09-07 | 2019-03-14 | 华为技术有限公司 | 一种用户终端切换的方法、装置及*** |
US11178059B2 (en) | 2018-10-30 | 2021-11-16 | Electronics And Telecommunications Research Institute | Apparatus and method of managing content name in information-centric networking |
EP3895390A4 (en) * | 2018-12-14 | 2022-08-03 | Nokia Solutions and Networks Oy | SERVICE CHAINING MECHANISM FOR PROCESSING A DATA FLOW |
KR20230071211A (ko) * | 2021-11-16 | 2023-05-23 | 숭실대학교산학협력단 | 5g mec 기반 정보 중심 네트워크에서 컨텐츠 캐싱 방법 및 장치 |
WO2023090529A1 (ko) * | 2021-11-16 | 2023-05-25 | 숭실대학교산학협력단 | 5g mec 기반 정보 중심 네트워크에서 컨텐츠 캐싱 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR102147669B1 (ko) | 2020-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11563685B2 (en) | Method and apparatus for traffic optimization in virtual private networks (VPNs) | |
Zhang et al. | Software defined networking meets information centric networking: A survey | |
US8677011B2 (en) | Load distribution system, load distribution method, apparatuses constituting load distribution system, and program | |
EP3021534B1 (en) | A network controller and a computer implemented method for automatically define forwarding rules to configure a computer networking device | |
EP1437020B1 (en) | System and method for enabling mobile edge services | |
US8825820B2 (en) | Network aware application management | |
JP6371592B2 (ja) | コンテンツ中心ネットワークにおけるノードの通信方法及びそのノード | |
US20160337464A1 (en) | Proxy interception | |
EP3567813B1 (en) | Method, apparatus and system for determining content acquisition path and processing request | |
CN104137509A (zh) | 用于基于互联网协议的内容路由器的方法和装置 | |
US11601518B1 (en) | Managed exit nodes and third party proxies | |
KR102147669B1 (ko) | 콘텐츠 전송 방법, 이를 위한 장치 및 시스템 | |
Nour et al. | NNCP: A named data network control protocol for IoT applications | |
KR20130093748A (ko) | P2p 기반의 정보 중심 네트워킹 서비스를 제공하기 위한 시스템 및 그 방법 | |
KR102376496B1 (ko) | 서비스 스트림 분산 포워딩 시스템 및 그 방법 | |
Trajano et al. | ContentSDN: A content-based transparent proxy architecture in software-defined networking | |
JP6205765B2 (ja) | 映像配信装置、映像配信プログラム、映像配信方法及び映像配信システム | |
WO2012034414A1 (zh) | 一种处理p2p业务的方法及*** | |
CN106027555B (zh) | 一种采用sdn技术改善内容分发网络安全性的方法及*** | |
CN103685344A (zh) | 一种用于多p2p缓存节点的协同方法和*** | |
KR20160002154A (ko) | Ccn 이름 구성 방법과 ccn 이름 기반 라우팅 방법 및 장치 | |
Eum et al. | Design and implementation of ICN-enabled IEEE 802.11 access points as nano data centers | |
KR101003505B1 (ko) | 망 부하에 따른 트래픽의 동적 제어방법 및 그 장치 | |
JP2016063296A (ja) | 通信経路切替装置、システム、方法およびプログラム | |
Scott et al. | Blocking-resistant network services using Unblock |
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 |