KR20200049607A - 정보 중심 네트워크(icn)에서 플로우 스위칭 장치 및 방법 - Google Patents

정보 중심 네트워크(icn)에서 플로우 스위칭 장치 및 방법 Download PDF

Info

Publication number
KR20200049607A
KR20200049607A KR1020190134045A KR20190134045A KR20200049607A KR 20200049607 A KR20200049607 A KR 20200049607A KR 1020190134045 A KR1020190134045 A KR 1020190134045A KR 20190134045 A KR20190134045 A KR 20190134045A KR 20200049607 A KR20200049607 A KR 20200049607A
Authority
KR
South Korea
Prior art keywords
flow
entry
name
information
fib
Prior art date
Application number
KR1020190134045A
Other languages
English (en)
Other versions
KR102397923B1 (ko
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 US16/666,916 priority Critical patent/US11178059B2/en
Publication of KR20200049607A publication Critical patent/KR20200049607A/ko
Application granted granted Critical
Publication of KR102397923B1 publication Critical patent/KR102397923B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L61/305
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/35Types of network names containing special prefixes

Abstract

본 발명은 정보 중심 네트워크(ICN)에서 플로우 트래픽을 고속 포워딩 하는 방법 및 장치에 대한 것이다. 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 네트워크 노드에서의 플로우 스위칭 방법은, 수신된 인터리스트 패킷에 포함된 데이터 이름을 확인하고, 상기 데이터 이름으로부터 플로우 이름을 식별하여, 상기 식별된 플로우 이름에 대응되는 플로우 엔트리가 플로우 테이블(Flow Table)내에 존재하는 지를 확인하는 과정, 상기 대응되는 플로우 엔트리로부터 상기 플로우 이름에 매칭되는 FIB(Forwarding Information Base) 엔트리 정보를 확인하고, 상기 FIB 엔트리 정보에 대응하는 FIB 엔트리를 확인하는 과정, 및 상기 확인된 FIB 엔트리내에 포함된 인터페이스 정보에 근거하여 상기 인터리스트 패킷을 전달하는 과정을 포함한다

Description

정보 중심 네트워크(ICN)에서 플로우 스위칭 장치 및 방법 {APPARATUS FOR MANAGING CONTENT NAME IN INFORMATION-CENTRIC NETWORKING AND METHOD FOR THE SAME}
본 발명은 정보 중심 네트워크(ICN)의 데이터 처리에 관한 것이며, 보다 구체적으로는 정보 중심 네트워크(ICN)에서 플로우 트래픽을 고속 포워딩 하는 방법 및 장치에 대한 것이다.
인터넷 및 전자 상거래의 확산은 네트워크 산업에서의 혁명적 변화를 계속해서 가속시키고 있다. 오늘날, 온라인 영화 관람부터 일간 뉴스 배달, 소비자 판매, 그리고 인스턴트 메시징에 이르기까지, 상당한 수의 정보교환이 온라인에서 수행된다. 관련하여 현재의 인터넷은 주로 위치-기반의 어드레싱 기법(scheme)에서 동작한다. 2 개의 가장 흔한 프로토콜인, 인터넷 프로토콜(IP)과 이더넷 프로토콜은 모두 위치-기반의 어드레스를 기반으로 한다. 즉, 컨텐츠의 소비자는 물리적 오브젝트나 위치와 밀접하게 연관되는 어드레스(예를 들면, IP 어드레스나 이더넷 미디어 접근 제어(MAC) 어드레스)로부터 컨텐츠를 명시적으로 요청함으로써 컨텐츠를 수신할 수 있을 뿐이다. 따라서, 이러한 제한적인 위치 기반 어드레싱 기법은 정보 중심으로 변화하는 네트워크 수요를 충족시키기에 점점 더 부적합해지고 있다.
최근, 정보 중심 네트워크(Information-centric networking, ICN) 아키텍처가 본 산업에 제안되어 왔다. ICN은 종래 IP를 이용한 네트워킹 방식을 대체하기 위한 새로운 네트워킹 기술이다. 즉, 정보를 교환할 때 정보의 위치 주소에 기반하여 정보를 요청하고 포워딩(forwarding) 하는 IP 네트워킹 방식과는 달리, 정보의 이름 기반 (또는 “네임 기반” 이라고도 한다)으로 정보를 요청하고 포워딩을 수행한다.
종래 일반적인 ICN 에서의 데이터 처리 동작은, 우선 데이터 요청자가 데이터 이름을 데이터 패킷 헤더(data packet header)에 포함한 “인터리스트(interest) 패킷”을 ICN 네트워크에 전송한다. ICN 네트워크내에서 상기 인터리스트 패킷을 수신한 임의의 ICN 노드는 상기 입력 받은 인터리스트 패킷을 데이터 이름 기반으로 포워딩을 수행한다. 이후 해당 데이터를 캐싱(cashing) 하거나 소유하고 있는 특정 ICN 노드에 도착하면 해당 노드는 “데이터(data) 패킷”에 정보를 싣어 응답하게 되는 바, 이? 상기 인터리스트 패킷이 전달된 경로를 역으로 추적하여 데이터 요청자에게 전달되어 진다.
여기서, 상기 종래의 ICN 노드는 응답 받지 못한 인터리스트 정보를 저장하는 PIT(Pending Interest Table), 해당 노드를 경유한 데이터 패킷을 캐싱하는 CS(Content Store), 데이터 이름 기반으로 인터리스트 패킷을 포워딩하기 위한 FIB(Forwarding Information Base)를 포함하여 구성된다.
관련하여, ICN 네트워크에서 사용되는 데이터 이름은 다수의 네임 컴포넌트(name component)로 구성된 계층적 구조를 가진다. 따라서, ICN 노드는 FIB 포워딩을 위해서는 네임 프리픽스 (name prefix) 기반으로 데이터 이름과 매치되는 FIB 엔트리 중에서 가장 긴 엔트리를 찾는 LPM (longest Prefix Match) 방식의 FIB 검색을 수행해야 한다. 특히, 종래 NDN/CCN 네트워크 방식에서, 데이터 이름은 네임 컴포턴트의 개수 및 길이 제한이 없기에, 인터리스트 패킷마다 FIB를 LPM (longest Prefix Match) 방식으로 검색하기 위해서는 많은 테이블 룩업(lookup)이 필요하게 되고, 이는 포워딩 성능 향상의 큰 제약이 되는 문제점이 있었다.
한편, 인터넷 트래픽의 70% 이상은 비디오 트래픽이라고 알려져 있으며, ICN에서 교환할 인터넷의 데이터는 이러한 비디오를 포함하여 하나 이상의 패킷으로 구성될 가능성이 큰 플로우 트래픽(flow traffic)이 매우 많은 실정이다. 따라서 플로우 트래픽의 처리 지연은 전체적인 ICN 포워딩 성능 저하를 유발하는 문제점이 된다.
본 발명은 정보 중심 네트워크에서, ICN 노드의 고속 포워딩 방법 및 장치를 제공하는데 있다.
또한, 본 발명은 종래 정보 중심 네트워크와 호환 가능한 플로우 데이터 고속 포워딩 방법 및 장치를 제공하는데 있다.
또한, 본 발명은, 세그먼트 단위로 분할된 컨텐츠를 빠르고 효율적으로 처리할 수 있는 고속 플로우 포워딩을 지원하는 네트워크 노드를 포함하는 정보 중심 네트워크를 제공하는데 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 네트워크 노드에서의 플로우 스위칭 방법은, 수신된 인터리스트 패킷에 포함된 데이터 이름을 확인하고, 상기 데이터 이름으로부터 플로우 이름을 식별하여, 상기 식별된 플로우 이름에 대응되는 플로우 엔트리가 플로우 테이블(Flow Table)내에 존재하는 지를 확인하는 과정, 상기 대응되는 플로우 엔트리로부터 상기 플로우 이름에 매칭되는 FIB(Forwarding Information Base) 엔트리 정보를 확인하고, 상기 FIB 엔트리 정보에 대응하는 FIB 엔트리를 확인하는 과정, 및 상기 확인된 FIB 엔트리내에 포함된 인터페이스 정보에 근거하여 상기 인터리스트 패킷을 전달하는 과정을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 네트워크 노드에서의 플로우 스위칭 방법은, 상기 플로우 테이블을 구성하는 플로우 엔트리는, 플로우 이름(flow name), 타임 정보(time information) 및 플로우 매칭된 FIB 엔트리 식별자를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 네트워크 노드에서의 플로우 스위칭 방법은, 상기 플로우 이름에 대응되는 플로우 엔트리가 플로우 테이블내에 존재하지 않는 경우, 상기 플로우 이름, 상기 타임 정보, 및 상기 플로우 매칭된 FIB 엔트리 식별자를 포함하는 신규 플로우 엔트리를 구성하는 과정을 더 포함하는 것을 특징으로 하는 플로우 스위칭 방법.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 네트워크 노드에서의 플로우 스위칭 방법은, 첫번째 세그먼트 인터리스트 패킷의 FIB 룩업 결과를 상기 플로우 테이블(FT)내 플로우 엔트리에 저장하고, 해당 플로우에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 수신되면, 상기 플로우 테이블(FT)에 저장된 플로우별 매치 FIB 엔트리 정보를 근거로 한번의 FIB 룩업(lookup)으로 포워딩 하는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 네트워크 노드에서의 플로우 스위칭 방법은, 상기 확인된 FIB 엔트리내에 포함된 인터페이스 정보에 근거하여 상기 인터리스트 패킷을 전달하는 과정은, FIB 엔트리를 검색하기 위한 LPM (longest Prefix Match) 룩업을 수행하지 않는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 네트워크 노드에서의 플로우 스위칭 방법은, 상기 수신되는 데이터 이름으로부터, 공통 이름을 구성하는 네임 컴포넌트를 플로우 이름으로 설정하고 나머지 부분은 세그먼트 넘버로 구분하여, 상기 플로우 이름을 식별하는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 네트워크 노드에서의 플로우 스위칭 방법에서, 상기 타임 정보는 해당 플로우 엔트리를 삭제하기까지 남은 시간을 의미하고, 만약 해당 시간이내에 상기 플로우 이름에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 수신되면, 상기 플로우 이름에 할당된 초기값으로 리셋(reset)되는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 네트워크 노드에서의 플로우 스위칭 방법에서, 상기 타임 정보는 해당 플로우 엔트리에 가장 최근에 매칭되었던 인터리스트 패킷의 도착 시간을 의미하고, 만약 기설정된 시간이내에 상기 플로우 이름에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 수신되면, 상기 타임 정보는 해당 인터리스트의 도착 시간으로 업데이트되는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 네트워크 노드에서의 플로우 스위칭 방법은, 상기 플로우 엔트리의 유효성(validation)을 검증하는 과정을 더 포함하되, 상기 플로우 엔트리의 유효성(validation)을 검증하는 과정은, 상기 FIB 엔트리의 프리픽스(prefix)와 플로우 이름이 일치하는 지를 확인하는 과정을 포함한다. 또한, 만약 상기 FIB 엔트리의 프리픽스와 플로우 이름이 일치하면, 상기 FIB 엔트리 정보가 유효한 것으로 판단하고, 해당 FIB 엔트리내 넥스트홉(nexthop) 리스트와 포워딩 전략이 포함된 포워딩 정보를 활용하여 인터리스트 포워딩을 수행하는 과정을 포함한다. 반면, 만약 상기 FIB 엔트리의 프리픽스가 플로우 이름과 일치하지 않으면, 상기 FIB 정보가 변경된 것으로 판단하고, 해당 인터리스트를 신규 플로우 인터리스트로 마킹한 후에 FIB를 LPM 룩업해서 새로운 매치 FIB 엔트리를 찾고, 해당 정보를 바탕으로 포워딩하는 과정 및 해당 인터리스트를 신규 플로우 인터리스트로 인식하여 상기 플로우 테이블내에 해당 플로우 엔트리를 새로운 FIB 엔트리 정보로 업데이트하는 과정을 포함하는 것을 특징으로 한다.
본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 고속 플로우 스위칭을 지원하는 네트워크 노드는, 플로우 엔트리를 포함하는 플로우 테이블, 수신되는 인터리스트 패킷에 포함된 데이터 이름을 확인하고, 상기 데이터 이름으로부터 플로우 이름을 식별하는 세그먼트 인식부, 및 상기 식별된 플로우 이름에 대응되는 플로우 엔트리가 상기 플로우 테이블내에 존재하는 지를 확인하고, 상기 대응되는 플로우 엔트리로부터 상기 플로우 이름에 매칭되는 FIB 엔트리 정보를 확인하고, 상기 FIB 엔트리 정보에 대응하는 FIB 엔트리를 확인하여, 상기 확인된 FIB 엔트리내에 포함된 인터페이스 정보에 근거하여 상기 인터리스트 패킷을 전달하는 플로우 관리부를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 고속 플로우 스위칭을 지원하는 네트워크 노드에서, 상기 플로우 테이블을 구성하는 플로우 엔트리는, 플로우 이름(flow name), 타임 정보(time information) 및 플로우 매칭된 FIB 엔트리 식별자를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 고속 플로우 스위칭을 지원하는 네트워크 노드에서, 상기 플로우 관리부는, 상기 플로우 이름에 대응되는 플로우 엔트리가 플로우 테이블내에 존재하지 않는 경우, 상기 플로우 이름, 상기 타임 정보, 및 상기 플로우 매칭된 FIB 엔트리 식별자를 포함하는 신규 플로우 엔트리를 플로우 테이블내에 설정하는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 고속 플로우 스위칭을 지원하는 네트워크 노드에서, 상기 플로우 관리부는, 첫번째 세그먼트 인터리스트 패킷의 FIB 룩업 결과를 상기 플로우 테이블(FT)내 플로우 엔트리에 저장하고, 해당 플로우에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 수신되면, 상기 플로우 테이블(FT)에 저장된 플로우별 매치 FIB 엔트리 정보를 근거로 한번의 FIB 룩업(lookup)으로 포워딩 하는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 고속 플로우 스위칭을 지원하는 네트워크 노드에서, 상기 플로우 관리부는, 상기 확인된 FIB 엔트리내에 포함된 인터페이스 정보에 근거하여 상기 인터리스트 패킷을 전달하는 과정은, FIB 엔트리를 검색하기 위한 LPM (longest Prefix Match) 룩업을 수행하지 않는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 고속 플로우 스위칭을 지원하는 네트워크 노드에서, 상기 세그먼트 인식부는, 상기 수신되는 데이터 이름으로부터, 공통 이름을 구성하는 네임 컴포넌트를 플로우 이름으로 설정하고 나머지 부분은 세그먼트 넘버로 구분하여, 상기 플로우 이름을 식별하는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 고속 플로우 스위칭을 지원하는 네트워크 노드에서, 상기 타임 정보는 해당 플로우 엔트리를 삭제하기까지 남은 시간을 의미하고, 만약 해당 시간이내에 상기 플로우 이름에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 수신되면, 상기 플로우 이름에 할당된 초기값으로 리셋(reset)되는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 고속 플로우 스위칭을 지원하는 네트워크 노드에서, 상기 타임 정보는 해당 플로우 엔트리에 가장 최근에 매칭되었던 인터리스트 패킷의 도착 시간을 의미하고, 만약 기설정된 시간이내에 상기 플로우 이름에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 수신되면, 상기 타임 정보는 해당 인터리스트의 도착 시간으로 업데이트되는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 중심 네트워크(ICN)을 구성하는 고속 플로우 스위칭을 지원하는 네트워크 노드에서, 상기 플로우 관리부는, 플로우 엔트리의 유효성(validation)을 검증하는 과정을 더 포함하되, 상기 플로우 엔트리의 유효성(validation)을 검증하는 과정은, 상기 FIB 엔트리의 프리픽스(prefix)와 플로우 이름이 일치하는 지를 확인하는 과정을 포함한다. 또한, 상기 플로우 관리부는, 만약 상기 FIB 엔트리의 프리픽스와 플로우 이름이 일치하면, 상기 FIB 엔트리 정보가 유효한 것으로 판단하고, 해당 FIB 엔트리내 넥스트홉(nexthop) 리스트와 포워딩 전략이 포함된 포워딩 정보를 활용하여 인터리스트 포워딩을 수행하는 과정을 포함한다. 반면, 상기 플로우 관리부는, 만약 상기 FIB 엔트리의 프리픽스가 플로우 이름과 일치하지 않으면, 상기 FIB 정보가 변경된 것으로 판단하고, 해당 인터리스트를 신규 플로우 인터리스트로 마킹한 후에 FIB를 LPM 룩업해서 새로운 매치 FIB 엔트리를 찾고, 해당 정보를 바탕으로 포워딩하는 과정 및 해당 인터리스트를 신규 플로우 인터리스트로 인식하여 상기 플로우 테이블내에 해당 플로우 엔트리를 새로운 FIB 엔트리 정보로 업데이트하는 과정을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 고속 플로우 스위칭을 지원하는 정보 중심 네트워크(ICN)은, 정보 또는 컨텐츠 제공을 받기 위해, 인터리스트 패킷을 생성하여 전송하는 클라이언트 노드, 상기 인터리스트 패킷에 따른 정보 또는 컨텐츠를 제공하는 데이터 제공 노드, 및 상기 클라이언트 노드로부터 인터리스트 패킷을 수신하여 상기 데이터 제공 노드에 전달하는 라우터 노드를 포함하되, 상기 라우터 노드는, 수신된 인터리스트 패킷에 포함된 데이터 이름을 확인하고, 상기 데이터 이름으로부터 플로우 이름을 식별하여, 상기 식별된 플로우 이름에 대응되는 플로우 엔트리가 플로우 테이블(Flow Table)내에 존재하는 지를 확인하는 과정, 상기 대응되는 플로우 엔트리로부터 상기 플로우 이름에 매칭되는 FIB(Forwarding Information Base) 엔트리 정보를 확인하고, 상기 FIB 엔트리 정보에 대응하는 FIB 엔트리를 확인하는 과정, 및 상기 확인된 FIB 엔트리내에 포함된 인터페이스 정보에 근거하여 상기 인터리스트 패킷을 전달하는 과정을 수행하는 것을 특징으로 한다.
본 발명에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 발명의 상세한 설명의 예시적인 양상일 뿐이며, 본 발명의 범위를 제한하는 것은 아니다.
본 발명에 따르면, 세그먼트 단위로 분할된 플로우 트래픽을 빠르고 효율적으로 처리할 수 있는 방법 및 장치가 제공될 수 있다.
본 발명에 따르면, 기존 이름 기반 네트워크 방식과 호환 가능하면서도, 플로우 트래픽을 빠르고 효율적으로 처리할 수 있는 방법 및 장치가 제공될 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 적용되는 계층적 이름 구조를 갖는 네트워크에서 세그먼트의 계층적 이름 구조를 예를 들어 도시한 것이다.
도 2는 본 발명의 실시예에 따른, 정보 중심 네트워크에서의 ICN 노드의 플로우 스위칭을 지원하는 구성을 예를 들어 도시한 것이다.
도 3 (a) 및 (b)는 본 발명에 적용되는 정보 중심 네트워크에서 세그먼트 네임 컴포넌트를 표현하는 예를 각각 도시한 것이다.
도 4는 본 발명의 실시예에 따른, 플로우 테이블 엔트리 구조를 도시한 것이다.
도 5는 본 발명의 실시예에 따른, 플로우 스위칭을 지원하는 정보 중심 네트워크내 임의 ICN 노드에서 수행되는 인터리스트 패킷 처리 과정을 예를 들어 도시한 것이다.
도 6은 본 발명에 적용되는 정보 중심 네트워크에서 FIB 엔트리 구성을 예를 들어 도시한 것이다.
도 7(a) 및 도 7(b)는 본 발명에 적용되는 플로우 스위칭 장치가 적용되는 정보 중심 네트워크에서 인터리스트 패킷을 전달하는 동작을 예를 들어 각각 도시한 것이다.
이하에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 발명의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 발명에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 발명에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결 관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 발명의 범위에 포함된다.
본 발명에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 발명의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 발명의 범위에 포함된다.
또한, 본 발명에서 언급하는 정보 중심 네트워크(ICN)은 이름 기반 네트워킹을 제공하는 NDN (Named Data Networking) 또는 CCN(Content-Centric Networking)이 대표적인 기술로 알려져 있다. 따라서, 본 발명에서는 NDN/CCN 구조에 기반한 ICN 노드를 예로 하여 설명하고자 한다. 즉, 본 발명에서 설명하는 ICN 노드는 NDN 또는 CCN에 적용되는 네트워크 노드가 될 수 있음은 자명하다. 반면, 본 발명의 ICN 노드 또는 네트워크 노드가 반드시 NDN 또는 CCN에만 한정되어 적용되는 것은 아니다. 즉, 이름 기반 네트워크 방식에 따른 어떠한 미래의 네트워킹 방식에도 본 발명의 기술적 사상을 포함하는 ICN 노드에 의한 플로우 고속 포워딩 처리 방식이 적용 가능하다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예들에 대해서 설명한다.
도 1은 본 발명에 적용되는 계층적 이름 구조를 갖는 네트워크에서 세그먼트의 계층적 이름 구조를 예를 들어 도시한 것이다. 일반적으로 ICN은 애플리케이션이 주고받는 정보 자체의 이름을 네트워크 계층의 데이터 이름으로 사용하여 데이터를 요청하고 받고자 하는데 이용한다. 즉, 애플리케이션이 주고받을 정보가 큰 파일이거나 센서 스트림과 같은 지속적인 플로우 트래픽(flow traffic)일 경우, 하나의 데이터 패킷(packet)으로 교환될 수 없기에 정보를 적정 크기의 세그먼트(segment)로 나누어서 세그먼트 단위로 주고받게 된다. NDN/CCN과 같은 계층적 이름 구조를 사용하는 이름 기반 네트워크에서, 데이터 세그먼트는 공통 데이터 이름 뒤에 세그먼트 번호를 붙여서 구분하는 것이 일반적이다. 예를 들어, NDN/CCN에서 URI 형식으로 표현한 다음과 같은 유튜브 영상 “/youtube.com/bts/seoul-concert” 이 1000개의 세그먼트로 나뉘어 진다고 가정하면, 해당 비디오는 /youtube.com/bts/seoul-concert/1, /youtube.com/bts/seoul-concert/2, … /youtube.com/bts/seoul-concert/10000 이라는 1000개의 세그먼트로 나뉘어 교환된다. NDN/CCN의 계층적 이름의 URI 형식 표현에서 네임 컴포넌트(Name Component)는 특정 기호 (예, '/') 로 구분될 수 있으며, 예를 들어, 상기 세그먼트 이름은 4개의 네임 컴포넌트로 구성됨을 알 수 있다.
관련하여, 상기 4개의 네임 컴포넌트 중, “/youtube.com/bts/seoul-concert”는 공통 이름을 구성하는 3개의 네임 컴포넌트가 된다. 이를 본 발명에서는 “플로우 이름(Flow Name)”이라고 명명한다. 예를 들어, 도 1과 같이 이름 기반 네트워크에서 플로우 트래픽의 세그먼트 이름은 앞부분에 다수개의 공통 네임 컴포넌트로 이루어진 플로우 이름(Flow Name, 101)과 세그먼트 번호(Segment Number)를 담은 세그먼트 네임 컴포넌트(Segment Name Component, 102)로 구성된다. 따라서, NDN/CCN의 계층적 이름 구조를 고려할 때 세그먼트 네임 컴포넌트(102) 앞부분에 존재하는 네임 컴포넌트들 (예, Name Component 1, Name Component 2,…Component N-1)로 “플로우 이름(Flow Name, 101)”을 정의하거나 설정할 수 있다. 단, 애플리케이션의 네이밍 방법에 따라 세그먼트 네임 컴포넌트 뒤에 추가로 네임 컴포넌트가 존재하는 것도 가능하지만, 일반적인 NDN/CCN의 계층적 이름 구조를 고려할 때 플로우 이름에 포함시키지 않아도 무방함으로 이 경우에도 세그먼트 네임 컴포넌트 앞부분만 플로우 이름으로 정의할 수 있다. 하지만 이는 본 발명의 일실시예에 불과하며, “플로우 이름”을 인식하는 방법은 다양한 방식을 적용할 수 있음은 자명하다.
도 2는 본 발명의 실시예에 따른 ICN 노드의 세부 구성을 예를 들어 도시한 것이다. 특히, 도 2는 본 발명에서 제안하는 플로우 스위칭을 지원하는 ICN 노드의 플로우 스위칭 장치를 설명하기 위해 도시한 것이다.
본 발명의 일실시예에 따른 ICN 노드(200)는, 데이터 패킷을 캐싱(caching)하는 캐싱부(202) (이하 이를 “CS (Content Store)”라고도 한다), 데이터 이름 기반으로 인터리스트 패킷을 포워딩하기 위한 포워딩부(203) (이하 이를 “FIB(Forwarding Information Base)” 라고도 한다) 및 응답 받지 못한 인터리스트 정보를 저장하는 인터리스트 테이블(204) (이하 이를 “PIT(Pending Interest Table)” 라고도 한다) 을 포함한다. 또한, 본 발명의 일실시예에 따른 ICN 노드(200)는, 외부 ICN 노드와 통신하기 위한 인터페이스 수단(208,209, 이하 이를 “페이스(Face)” 라고도 한다) 및 전술한 ICN 노드(200)내의 상기 각 기능 블록들(202-209)의 전체 동작을 제어하고 실행하는 프로세서(201, processor)를 더 포함한다.
또한, 본 발명의 일실시예에 따른 ICN 노드(200)는, 상기 구성에 더하여, 고속 플로우 스위칭을 수행하기 위해, 플로우 테이블(205, Flow Table), 세그먼트 인식부(206, Segment Identification Logic) 및 플로우 관리부 (207, Flow Management Logic)를 더 포함한다.
관련하여, 도 2의 본 발명 ICN 노드(200)는 설명의 편의를 위해 각 기능적 블록들(201-209)을 복수개의 독립적인 블록으로 표시하였을 뿐, 실제 구현에 있어서는 상기 복수의 블록들을 전부 또는 일부 통합하여 하나의 칩 또는 디바이스로 구성할 수 있음을 자명하다 할 것이다.
또한, 본 발명의 ICN 노드(200)를 구성하는 상기 CS(202), PIT(203), FIB(204), 제어 프로세서(201) 및 입출력 인터페이스인 다수의 페이스(208, 209)는 종래 일반적인 NDN/CCN 기반의 네트워크 노드에서의 구성과 동일하거나 유사하다. 즉, 본 발명의 ICN 노드(200)는 종래 NDN/CCN 기반의 네트워크 노드로도 동작 가능하며, 이는 기존 시스템의 변경없이 호환적으로 본 발명의 ICN 노드(200)를 적용할 수 있음을 의미한다. 또한, 이러한 호환 가능한 ICN 노드(200)는 기존 NDN/CCN 기반 네트워크 표준을 변경하지도 않아도 됨에 따라 실제 제품 적용시 활용가능성을 높일 수 있는 장점을 가지게 된다.
반면, 본 발명의 ICN 노드(200)는 상기 기본 구성에 추가하여, 인터리스트 패킷의 데이터 이름에서 세그먼트 네임 컴포넌트 유무를 판별하여 세그먼트 네임 컴포넌트 이전 까지를 플로우 이름으로 인식하는 세그먼트 인식부(206), 플로우 이름 별로 타임 정보와 매칭 FIB 엔트리 주소를 포함하는 플로우 엔트리(flow entry)를 저장하는 플로우 테이블(205), 및 상기 플로우 테이블과 플로우 테이블내 플로우 엔트리를 관리하는 플로우 관리부(207)를 더 포함하여 구성된다.
이하, 상기 ICN 노드(200)의 플로우 고속 포워딩 방법을 상세히 설명한다.
우선, 세그먼트 인식부(206)는, 수신된 인터리스트 패킷의 데이터 이름에서 세그먼트 네임 컴포넌트의 존재 유무를 판단한다. 여기서, 도 3은 상기 세그먼트 인식부(206) 동작을 설명하기 위해, NDN/CCN 네트워크에서 세그먼트 네임 컴포넌트를 표시하는 2가지 방식을 예를 들어 도시한 것이다. 첫째, 도 3(a)는 네임 컴포넌트의 타입(name type) 필드(301)에는 특정 세그먼트 타입을 정의하고, 길이(Length) 필드(302)에는 길이 값을 정의하고, 또 다른 필드(예, “3)”필드)에는 세그먼트 넘버를 인코딩하는 방식이다. 이때 개별 네임 컴포넌트는 TLV (Type Length Value)구조를 가진다. 둘째, 도 3(b)는 네임 컴포넌트의 타입 필드(311)에 다른 네임 컴포넌트와 동일한 일반 타입(generic)으로 정의하고, 길이(Length) 필드(312)에는 길이 값을 정의하고, 또 다른 필드(예, “3)”필드)에는 세그먼트 넘버 외에 특정 세그먼트 태그(segment tag)를 추가하여 인코딩하는 방식이다. 여기서, 도 3(a) 방식은 CCN과 NDN에서 모두 적용할 수 있는 방식이며, 도 3(b)는 특히 NDN에서 권장하는 방식이다. 관련하여, NDN에서는 상기 세그먼트 태그로 “0x00”을 사용한다.
상기 세그먼트 인식부(206)는, 애플리케이션(application)이 사용하는 세그먼트 네임 컴포넌트 인코딩 방식 (예, 도3(a) 또는 (b) 방식 중 어느 하나)을 이해하여 인터리스트 패킷의 데이터 이름에서 세그먼트 네임 컴포넌트의 존재 유무를 파악한다. 만약, 인터리스트 패킷의 데이터 이름에서 세그먼트 네임 컴포넌트가 존재한다고 판단하면, 세그먼트 네임 컴포넌트 직전 까지의 데이터 이름을 추출하여 해당 인터리스트의 플로우 이름으로 설정하고 관리한다.
상기 플로우 관리부(207)는, 상기 세그먼트 인식부(206)가 수신된 인터리스트 패킷에서 플로우 이름을 인식하면, 상기 플로우 테이블(205)에서 해당 플로우 이름을 가지는 플로우 엔트리(Flow entry)가 존재하는 지 서치한다. 만약, 상기 플로우 테이블(205)내에 동일한 플로우 이름이 없으면, 신규 플로우 인터리스트로 설정(mark)하고, 우선 FIB를 LPM (longest Prefix Match) 룩업(lookup) 해서 FIB 엔트리에서 지정한 목적지로 해당 플로우를 포워딩 한 후에, 플로우 테이블에 신규 플로우 엔트리를 상기 FIB 엔트리를 참고하여 생성하게 된다. 다른 예로, 신규 플로우 인터리스트로 설정(mark)하는 경우, 플로우 테이블에 신규 플로우 엔트리를 우선 생성하고, 이후 FIB를 LPM (longest Prefix Match) 룩업(lookup) 해서 FIB 엔트리에서 지정한 목적지로 해당 플로우를 포워딩한 다음, 상기 신규 플로우 엔트리를 FIB 엔트리 정보를 참고하여 업데이트 하는 것도 가능하다.
관련하여, 도 4는 본 발명의 일실시예에 의한 상기 플로우 테이블내에 생성되는 플로우 엔트리(400)를 예를 들어 도시한 것이다. 도 4를 참고하면, 플로우 엔트리(400)는 플로우 이름(401, Flow name) 필드, 타임 정보(402, time information) 필드 및 플로우 매치 FIB 엔트리 정보(403, Flow-matched FIB entry information) 필드를 포함한다.
또 다른 예로서, 플로우 테이블 구현 방법에 따라서는, 예를 들어 해시 테이블(hash table)로 구현할 경우 상기 플로우 엔트리(400)는 플로우 이름을 해싱(hashing)한 플로우 아이디(flow-id) 필드를 더 포함할 수 있다.
또한, 상기 타임 정보(402) 필드는 다양한 타임 정보를 저장하는 것이 가능하다. 예를 들어, 상기 타임 정보는 플로우 엔트리(400)를 삭제하기까지 남은 시간을 의미할 수 있다. 또 다른 예로서, 상기 타임 정보는 해당 플로우 엔트리에 가장 최근에 매칭되었던 인터리스트 패킷의 도착 시간을 의미할 수 있다. 또 다른 예로서, 상기 타임 정보는 대응하는 플로우 세그먼트 요청 인터리스트가 도착하면, 해당 인터리스트의 도착 시간을 의미할 수 있다.
관련하여, 상기 타임 정보 필드는 대응하는 플로우 세그먼트 요청 인터리스트가 도착하면 플로우에 할당된 초기값으로 리셋(reset)되도록 설정할 수 있다. 또한 상기 타임 정보 필드는 대응하는 대응하는 플로우 세그먼트 요청 인터리스트가 도착하면, 해당 인터리스트의 도착 시간으로 업데이트 할 수 있다.
또한, 상기 플로우 매치 FIB 엔트리 정보(403) 필드는 신규 플로우 인터리스트의 FIB LPM 룩업에서 매치된 FIB 엔트리 정보를 기록해 둔다. 구체적으로, 예를 들어, 상기 플로우 매치 FIB 엔트리 정보(403)는 FIB 엔트리의 주소가 될 수 있다. 상기 플로우 관리부(207)는 상기 플로우 테이블(205)의 타임 정보(402)를 모니터링해서, 플로우 테이블 및 플로우 엔트리를 관리 할 수 있다,. 예를 들어, 상기 플로우 관리부(207)는 해당 플로우 내의 세그먼트 요청 인터리스트가 일정 시간이상 도착하지 않을 경우 해당 플로우 엔트리를 삭제할 수 있다. 이 때, 상기 세그먼트 요청 인터리스트가 일정 시간이내 도착 유무를 판단하기 위해, 상기 타임 정보(402)가 활용되어 진다. 예를 들어, 상기 타임 정보가 플로우 엔트리(400)를 삭제하기까지 남은 시간을 의미하는 경우에는, 해당 시간 이내에 상기 세그먼트 요청 인터리스트가 도착하는 지를 판단하게 된다. 반면, 상기 타임 정보가 해당 플로우 엔트리에 가장 최근에 매칭되었던 인터리스트 패킷의 도착 시간을 의미하는 경우에는, 상기 도착 시간 이후 기 설정된 시간 이내에 상기 세그먼트 요청 인터리스트가 도착하는 지를 판단하게 된다. 상기 기 설정된 시간은 상기 플로우 관리부(207)에 의해 이미 설정되어 있으며 필요에 따라 조정 가능하다.
또한, 상기 플로우 관리부(207)는 상기 플로우 테이블(205)이 특정 사용자에 의한 과도한 플로우 엔트리를 생성하지 못하도록 하기 위해서 페이스(208, 209)별로 플로우 엔트리 설정 수를 일정 개수 이하로 제한할 수 있다. 이는 한정된 플로우 엔트리 개수를 유지하여야 하는 상황에서 유용하다.
다른 예로, 만약, 신규 플로우 인터리스트가 도착했을 때, 상기 플로우 테이블(205)이 풀(full)된 상황이라면, 상기 플로우 관리부(207)는 플로우 엔트리들 중, 상기 타임 정보(402)를 통해 가장 오랫동안 세그먼트 요청 인터리스트가 도착하지 않은 아이들(idle)한 플로우 엔트리를 삭제하고 신규 플로우 엔트리를 설정할 수 있다.
또 다른 예로는, 신규 플로우 인터리스트가 도착했을 때, 상기 플로우 테이블(205)이 풀(full)된 상황이라면, 상기 플로우 관리부(207)는 신규 플로우 엔트리를 더 이상 생성하지 않을 수도 있다. 단, 상기 플로우 엔트리가 생성되지 않더라도 인터리스트는 FIB를 LPM 룩업해서 정상 포워딩 하는 것이 가능하다. 즉, 본 발명에서 제안하는 ICN에서의 플로우 스위칭 기능은 종래 일반적인 NDN/CCN 노드의 인터리스트 패킷 처리 절차를 개선하는 것으로, NDN/CCN의 인터리스트 패킷 및 데이터 패킷 구조의 변경을 요구하지 않으며, 데이터 패킷의 처리 절차도 NDN/CCN과 동일하게 호환성을 유지하는 것이 가능하다.
도 5는 본 발명의 실시예에 따른, 플로우 스위칭 기능이 있는 ICN 노드에서의 인터리스트 패킷 처리 방법을 예를 들어 도시한 것이다.
상기 ICN 노드(200)내 통신 인터페이스 수단(208, 209)를 통해, 인터리스트 패킷이 수신되면, 인터리스트 패킷이 요청하는 데이터 이름을 추출한다(501). 상기 ICN 노드(200)의 프로세서(201)는 추출된 데이터 이름과 동일한 이름의 데이터가 CS(202, Content Store)에 존재하는 지 확인한다(502). 만약 동일한 이름의 데이터가 CS(202)내에 존재하면, 해당 데이터 패킷을 수신 페이스를 통해 전송한다(503). 반면, 만약 동일한 이름의 데이터가 CS(202)내에 존재하지 않으면, PIT(204)에 해당 데이터 이름에 매치되는 PIT 엔트리가 존재하는지 확인한다. 만약 PIT 엔트리가 존재하고, PIT 엔트리의 입력페이스 리스트에 속하지 않은 페이스에서 수신된 인터리스트 패킷이라면 PIT 엔트리를 업데이트(update)하고 포워딩 한다(505). 단, 만일 PIT(204)에 해당 데이터 이름에 매치되는 PIT 엔트리가 없으면, 신규의 PIT 엔트리를 생성한다(506). 관련하여, 상기 단계 501~506은 종래 일반적인 NDN/CCN 노드의 CS, PIT 처리 절차와 동일하거나 유사하다. 이는 종래 시스템과의 호환성을 유지하는 방안이 된다.
이후, 상기 세그먼트 인식부(206)는 PIT 룩업 후에 포워딩되는 인터리스트의 데이터 이름에 세그먼트가 있는지를 확인한다(507). 만약, 인터리스트의 데이터 이름에서 세그먼트를 인식하지 못하면 (507, “No” 수행), FIB LPM (longest Prefix Match) 룩업을 수행하여 매칭 FIB 엔트리를 찾은 후, 해당 FIB 엔트리내 넥스트홉(nexthop) 리스트와 포워딩 전략(Forwarding strategy)에 따라 적정 넥스트홉(nexthop)들을 선택해서 포워딩 한다(508).
관련하여, 도 6은 FIB 엔트리(600)의 한 예를 도시한 것이다. 예를 들어, 네임 프리픽스(601)가 “/youtube.com/bts/”인 FIB엔트리 정보로서, 포워딩 전략(602)은 “best route”, 넥스트홉(nexthop) 리스트(603)는 {2, 5}인 예를 보여준다. 즉, NDN/CCN 노드에서는 네임 프리픽스(601)별로 포워딩 전략(602)을 다르게 할 수 있으며, 포워딩 전략(602)에 의해 선택되는 하나 이상의 넥스트홉(nexthop)에 인터리스트를 포워딩하게 된다. 예를 들어, “best route” 포워딩 전략일 경우 최적의 넥스트홉(nexthop) 인 페이스 2로 포워딩 하는 것이 가능하다.
반면, 만약 인터리스트의 데이터 이름에서 세그먼트를 인식하게 되면 (507, “”수행), 상기 플로우 테이블(205)에서 매치되는 플로우 이름이 존재하는 지를 룩업 한다(509). 이를, 특히 “Exact Match Lookup” 이라고 한다. 단 본 발명은 상기 용어에 한정되는 것은 아니다.
만약, 상기 플로우 테이블 룩업 (509) 결과, 매치되는 플로우 엔트리가 없으면 해당 인터리스트를 신규 플로우 인터리스트로 마킹(marking) 한다(510). 이후 상기 508단계를 다시 수행하여 FIB(203)를 LPM 룩업해서 포워딩한 후에, 매칭 FIB 엔트리 정보를 바탕으로 플로우 테이블(205)에 신규 엔트리를 생성한다(514).
반면, 만약, 상기 플로우 테이블 룩업 (509) 결과, 매치되는 플로우 엔트리가 상기 플로우 테이블(205)내에 존재하면, 해당 플로우 엔트리로부터 플로우 매치 FIB 엔트리 정보를 획득한다(511). 즉, FIB(203)를 LPM 룩업하지 않고도 매치 FIB 엔트리를 플로우 테이블(205)내 플로우 엔트리로부터 바로 획득하는 것이 가능하게 된다. 이는 많은 지연을 초래하는 FIB(203) LPM 과정을 생략할 수 있어 고속 플로우 포워딩을 가능하게 한다.
또한, 본 발명은 상기 플로우 엔트리의 유효성(validation)을 검증하는 과정을 더 포함한다. 이하 후술되는 본 "u명의 플로우 엔트리 유효성(validation) 검증 과정은, 본 발명 플로우 테이블 적용에 따른 간편하면서도 효율적인 효과를 제공한다.
우선,, 상기 매치 FIB 엔트리의 프리픽스(prefix)와 플로우 네임이 일치하는 지를 확인하고(512), 일치하면 매치 FIB 엔트리 정보가 유효한 것으로 판단하여(512, “”단계), 해당 FIB 엔트리내 넥스트홉(nexthop) 리스트와 포워딩 전략이 포함된 포워딩 정보로부터 적응적으로 인터리스트 포워딩을 수행한다(515).
반면, 만약 상기 매치 FIB 엔트리의 프리픽스가 플로우 이름과 매치하지 않는 것으로 확인되면(512, “”단계), FIB 정보가 변경된 것으로 판단해서 전술한 510 단계, 508 단계, 513 단계, 514 단계를 순차적으로 수행한다. 즉, 해당 인터리스트를 신규 플로우 인터리스트로 마킹(510)한 후에 FIB를 LPM 룩업해서 새로운 매치 FIB 엔트리를 찾고, 해당 정보를 바탕으로 포워딩되도록 한다(508). 이후, 해당 인터리스트를 신규 플로우 인터리스트로 인식하고(513), 상기 플로우 테이블내에 해당 플로우 엔트리를 새로운 매치 FIB 엔트리 정보로 업데이트한다(514).
관련하여, 본 발명의 다른 실시예로 플로우 고속 포워딩 방안으로, 플로우별 포워딩 정보로 넥스트홉(nexthop)을 저장해서 플로우 테이블에 매치되는 인터리스트는 FIB 룩업을 하지 않고 플로우 테이블의 넥스트홉(nexthop)으로 포워딩하는 방식을 사용하는 것도 가능하다. 하지만, 상기 실시예는, 플로우 테이블이 유지되는 동안 네트워크 상황이 바뀌어서 최적의 넥스트홉(nexthop)이 변경될 경우에는, 기존의 플로우 엔트리를 재설정하는 과정이 필요하다. 또한, 플로우 엔트리를 재설정을 위해서는 재설정이 필요한 시점을 확인하기 위한 과정이 더 필요하게 된다.
따라서, 플로우 포워딩이 고속이면서도 보다 정확한 넥스트홉으로 포워딩 되는 네트워크 시스템을 설계하고자 하는 경우라면, 전술한 도 5의 플로우 스위칭 방법이 보다 유용함을 알 수 있다. 즉, 도 5의 실시예에 의하면, 플로우 테이블에 매치 FIB 엔트리 정보를 저장한 후, 플로우 스위칭되는 인터리스트들도 항상 FIB를 룩업하게 하여, 네트워크 상황에 맞는 최적의 넥스트홉(nexthop)으로 포워딩 될 수 있도록 한다. 따라서, 만약 FIB(203)가 수정되더라도, 저장된 플로우 매치 FIB 엔트리 정보가 유효한 지 여부를 플로우 인터리스트 포워딩시 항상 체크하는 단계(예, 512 단계)를 수행함에 따라, 잘못된 넥스트홉(nexthop)으로 플로우 스위칭을 방지할 수 있게 된다.
정리하면, 상기 플로우 테이블(205)은 다수의 세그먼트(segment)로 나뉘어서 전달되는 플로우 트래픽을 고속 포워딩 하는 기능을 수행한다. 구체적으로, 상기 ICN 노드(200)의 플로우 관리부(207)는, 첫번째 세그먼트 요청 인터리스트 패킷의 FIB 룩업 결과를 상기 플로우 테이블(205)에 저장한다. 이후, 해당 플로우에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 연속적 또는 일정 시간내에 수신되면 상기 플로우 테이블(205)에 저장된 플로우별 매치 FIB 엔트리 정보를 바탕으로 한번의 FIB 룩업으로 포워딩 하는 것이 가능하게 된다.
도 7a 및 도 7b는 본 발명의 실시예에 따라, 플로우 스위칭 장치가 적용되는 네트워크 시스템 구조를 도시한 것으로, 특히, 네트워크 시스템내에서 인터리스트 패킷이 전달되는 과정을 설명하기 위해 도시한 것이다.
클라이언트 노드(21, client node)는 사용자가 특정 정보 또는 컨텐츠를 요청하는 컴퓨팅 장치이고, 라우터 노드(23, router node)는 ICN 네트워크 시스템에서 클라이언트 노드(21)와 데이터 제공 노드(25, data node) 사이에 신호 또는 데이터를 전달하는 중계 장치이다. 도 7a에서 데이터 제공 노드(25)는 동영상 스트리밍 서비스를 제공하는 "YouTube" 서버를 예로 도시하였다. 도 7a의 데이터 제공 노드(25)는 동영상 컨텐츠를 제공하는 서버 장치일 수 있다.
예를 들어, 사용자는 클라이언트 노드(21a, 21b, 21c)를 통해 제공받고자 하는 정보 또는 컨텐츠의 이름으로 인터리스트 패킷(Interest Packet)을 라우터 노드(23)를 향하여 전송한다. 예를 들어, 클라이언트 노드(21a, 21b, 21c)는 사용자가 요청하는 정보 또는 컨텐츠를 찾기 위한 인터리스트 패킷(Interest Packet)을 인접한 라우터에 전달한다. 예컨대, 클라이언트 노드 A(21a)는 인접한 라우터 R3(23-3)에 인터리스트 패킷을 전송하고, 라우터 R3(23-3)는 정보 또는 컨텐츠 제공 장치(25)에 이르는 경로에 있는 이웃 라우터 R1(23-1)에 인터리스트 패킷을 전송한다. 라우터 R1(23-1)은 데이터 제공 노드(25)에 이르는 경로에 있는 이웃 라우터 R0(23-0)에 인터리스트 패킷을 전송한다. 라우터 R0(23-0)는 데이터 제공 노드(25)에 인터리스트 패킷을 전송한다. 나머지 클라이언트 노드 B(21b) 및 클라이언트 노드 C(21c)도 유사한 방식으로 인터리스트 패킷을 데이터 제공 노드(25)에 전달하게 된다.
도 7b는 본 발명의 실시예에 따라, 플로우 스위칭 장치가 적용되는 네트워크 시스템에서 데이터 패킷을 전달하는 동작을 예시한다.
도 7b를 참고하면, 데이터 패킷이 전달되는 경로는 인터리스트 패킷이 전달된 경로의 역순으로 진행될 수 있다. ICN 네트워크 시스템이 IP 기반 네트워크와 다른 점은 라우터 노드(23)가 데이터 패킷을 수신하는 경우 일정하게 해당 데이터를 자신의 저장 매체에 저장할 수 있도록 구성되는 것이다. 예컨대, 라우터 R3(23-3)가 클라이언트 노드 A(21a)로부터 종전과 동일한 데이터 이름을 갖는 컨텐츠에 대한 인터리스트 패킷을 수신하는 경우, 라우터 R3(25-3)는 다른 라우터 장치로 인터리스트 패킷을 전달하지 않고, 자신의 저장 매체에 저장된 컨텐츠를 클라이언트 노드 A(21a)에 전달하도록 구성될 수 있다.
이를 위해, 라우터 노드(23)는 전술한 컨텐츠 저장소(CS, 202)를 구비할 수 있으며, CS(202)와 연동된 전술한 펜딩 인터리스트 테이블(PIT, 204) 및 포워딩 인포메이션 베이스(FIB, 203)를 구비한다. 또한, 라우터 노드(23)는 다른 노드와 통신하기 위한 인터페이스(208, 209)를 생성 및 관리할 수 있다.
본 발명의 실시예들에 따르면, 정보 중심 네트워크에서, 세그먼트 단위로 분할된 플로우 트래픽을 빠르고 효율적으로 처리할 수 있는 방법 및 장치가 제공된다. 또한, 본 발명의 실시예에 따르면, 기존 이름 기반 네트워크 방식과 호환 가능하면서도, 정보 중심 네트워크에서 플로우 트래픽을 빠르고 효율적으로 처리할 수 있는 방법 및 장치가 제공된다. 예를 들어, 인터넷 트래픽의 70% 이상은 비디오 트래픽이라고 알려져 있으며, 향후 80% 이상이 될 것으로 예측되고, 또한 ICN에서 애플리케이션이 요청하는 데이터는 이러한 비디오를 포함하여 하나 이상의 세그먼트로 구성되는 플로우 트래픽이 대부분을 차지할 것으로 예상된다. 본 발명은 NDN/CCN기반의 ICN 노드에서, 다수의 세그먼트(segment)로 나뉘어서 전달되는 플로우 트래픽을 고속 포워딩 되도록 하여, 플로우 트래픽이 대부분이 될 미래의 ICN 망에서 ICN 노드의 포워딩 성능을 획기적으로 높일 수 있게 된다.
본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리 및/또는 스토리지)에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
본 발명의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 발명에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 발명의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 발명의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 발명의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 발명의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
201 : 프로세서
202 : Content Store (CS)
203 : Forwarding Information Base (FIB)
204 : Pending Interest Table (PIT)
205 : Flow Table (FT)

Claims (20)

  1. 정보 중심 네트워크를 구성하는 네트워크 노드에서의 플로우 스위칭 방법에 있어서,
    수신된 인터리스트 패킷에 포함된 데이터 이름을 확인하고, 상기 데이터 이름으로부터 플로우 이름을 식별하여, 상기 식별된 플로우 이름에 대응되는 플로우 엔트리가 플로우 테이블(Flow Table)내에 존재하는 지를 확인하는 과정,
    상기 대응되는 플로우 엔트리로부터 상기 플로우 이름에 매칭되는 FIB(Forwarding Information Base) 엔트리 정보를 확인하고, 상기 FIB 엔트리 정보에 대응하는 FIB 엔트리를 확인하는 과정, 및
    상기 확인된 FIB 엔트리내에 포함된 인터페이스 정보에 근거하여 상기 인터리스트 패킷을 전달하는 과정을 포함하는 것을 특징으로 하는 플로우 스위칭 방법.
  2. 제1항에 있어서,
    상기 플로우 테이블을 구성하는 플로우 엔트리는,
    플로우 이름(flow name), 타임 정보(time information) 및 플로우 매칭된 FIB 엔트리 식별자를 포함하는 것을 특징으로 하는 플로우 스위칭 방법.
  3. 제2항에 있어서,
    상기 플로우 이름에 대응되는 플로우 엔트리가 플로우 테이블내에 존재하지 않는 경우, 상기 플로우 이름, 상기 타임 정보, 및 상기 플로우 매칭된 FIB 엔트리 식별자를 포함하는 신규 플로우 엔트리를 구성하는 과정을 더 포함하는 것을 특징으로 하는 플로우 스위칭 방법.
  4. 제2항에 있어서,
    첫번째 세그먼트 인터리스트 패킷의 FIB 룩업 결과를 상기 플로우 테이블(FT)내 플로우 엔트리에 저장하고, 해당 플로우에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 수신되면, 상기 플로우 테이블(FT)에 저장된 플로우별 매치 FIB 엔트리 정보를 근거로 한번의 FIB 엔트리 룩업(lookup)으로 포워딩 하는 것을 특징으로 하는 플로우 스위칭 방법.
  5. 제4항에 있어서,
    상기 확인된 FIB 엔트리내에 포함된 인터페이스 정보에 근거하여 상기 인터리스트 패킷을 전달하는 과정은, FIB 엔트리를 검색하기 위한 LPM (longest Prefix Match) 룩업을 수행하지 않는 것을 특징으로 하는 플로우 스위칭 방법.
  6. 제1항에 있어서,
    상기 수신되는 데이터 이름으로부터, 공통 이름을 구성하는 네임 컴포넌트를 플로우 이름으로 설정하고 나머지 부분은 세그먼트 넘버로 구분하여, 상기 플로우 이름을 식별하는 것을 특징으로 하는 플로우 스위칭 방법.
  7. 제2항에 있어서,
    상기 타임 정보는 해당 플로우 엔트리를 삭제하기까지 남은 시간을 의미하고, 만약 해당 시간이내에 상기 플로우 이름에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 수신되면, 상기 플로우 이름에 할당된 초기값으로 리셋(reset)되는 것을 특징으로 하는 플로우 스위칭 방법.
  8. 제2항에 있어서,
    상기 타임 정보는 해당 플로우 엔트리에 가장 최근에 매칭되었던 인터리스트 패킷의 도착 시간을 의미하고, 만약 기설정된 시간이내에 상기 플로우 이름에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 수신되면, 상기 타임 정보는 해당 인터리스트의 도착 시간으로 업데이트되는 것을 특징으로 하는 플로우 스위칭 방법.
  9. 제1항에 있어서,
    상기 플로우 엔트리의 유효성(validation)을 검증하는 과정을 더 포함하는 것을 특징으로 하는 플로우 스위칭 방법.
  10. 제9항에 있어서,
    상기 플로우 엔트리의 유효성(validation)을 검증하는 과정은,
    상기 FIB 엔트리의 프리픽스(prefix)와 플로우 이름이 일치하는 지를 확인하는 과정,
    만약 상기 FIB 엔트리의 프리픽스와 플로우 이름이 일치하면, 상기 FIB 엔트리 정보가 유효한 것으로 판단하고, 해당 FIB 엔트리내 넥스트홉(nexthop) 리스트와 포워딩 전략이 포함된 포워딩 정보를 활용하여 인터리스트 포워딩을 수행하는 과정을 포함하고,
    만약 상기 FIB 엔트리의 프리픽스가 플로우 이름과 일치하지 않으면, 상기 FIB 정보가 변경된 것으로 판단하고, 해당 인터리스트를 신규 플로우 인터리스트로 마킹한 후에 FIB를 LPM 룩업해서 새로운 매치 FIB 엔트리를 찾고, 해당 정보를 바탕으로 포워딩하는 과정 및 해당 인터리스트를 신규 플로우 인터리스트로 인식하여 상기 플로우 테이블내에 해당 플로우 엔트리를 새로운 FIB 엔트리 정보로 업데이트하는 과정을 포함하는 것을 특징으로 하는 플로우 스위칭 방법.
  11. 정보 중심 네트워크를 구성하는 네트워크 노드에 있어서,
    플로우 엔트리를 포함하는 플로우 테이블,
    수신되는 인터리스트 패킷에 포함된 데이터 이름을 확인하고, 상기 데이터 이름으로부터 플로우 이름을 식별하는 세그먼트 인식부, 및
    상기 식별된 플로우 이름에 대응되는 플로우 엔트리가 상기 플로우 테이블내에 존재하는 지를 확인하고, 상기 대응되는 플로우 엔트리로부터 상기 플로우 이름에 매칭되는 FIB 엔트리 정보를 확인하고, 상기 FIB 엔트리 정보에 대응하는 FIB 엔트리를 확인하여, 상기 확인된 FIB 엔트리내에 포함된 인터페이스 정보에 근거하여 상기 인터리스트 패킷을 전달하는 플로우 관리부를 포함하는 것을 특징으로 하는 고속 플로우 스위칭을 지원하는 네트워크 노드.
  12. 제11항에 있어서,
    상기 플로우 테이블을 구성하는 플로우 엔트리는,
    플로우 이름(flow name), 타임 정보(time information) 및 플로우 매칭된 FIB 엔트리 식별자를 포함하는 것을 특징으로 하는 고속 플로우 스위칭을 지원하는 네트워크 노드.
  13. 제12항에 있어서, 상기 플로우 관리부는,
    상기 플로우 이름에 대응되는 플로우 엔트리가 플로우 테이블내에 존재하지 않는 경우, 상기 플로우 이름, 상기 타임 정보, 및 상기 플로우 매칭된 FIB 엔트리 식별자를 포함하는 신규 플로우 엔트리를 플로우 테이블내에 설정하는 것을 특징으로 하는 고속 플로우 스위칭을 지원하는 네트워크 노드.
  14. 제12항에 있어서, 상기 플로우 관리부는,
    첫번째 세그먼트 인터리스트 패킷의 FIB 룩업 결과를 상기 플로우 테이블(FT)내 플로우 엔트리에 저장하고, 해당 플로우에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 수신되면, 상기 플로우 테이블(FT)에 저장된 플로우별 매치 FIB 엔트리 정보를 근거로 한번의 FIB 엔트리 룩업(lookup)으로 포워딩 하는 것을 특징으로 하는 고속 플로우 스위칭을 지원하는 네트워크 노드.
  15. 제14항에 있어서, 상기 플로우 관리부는,
    상기 확인된 FIB 엔트리내에 포함된 인터페이스 정보에 근거하여 상기 인터리스트 패킷을 전달하는 과정은, FIB 엔트리를 검색하기 위한 LPM (longest Prefix Match) 룩업을 수행하지 않는 것을 특징으로 하는 고속 플로우 스위칭을 지원하는 네트워크 노드.
  16. 제11항에 있어서, 상기 세그먼트 인식부는,
    상기 수신되는 데이터 이름으로부터, 공통 이름을 구성하는 네임 컴포넌트를 플로우 이름으로 설정하고 나머지 부분은 세그먼트 넘버로 구분하여, 상기 플로우 이름을 식별하는 것을 특징으로 하는 고속 플로우 스위칭을 지원하는 네트워크 노드.
  17. 제12항에 있어서,
    상기 타임 정보는 해당 플로우 엔트리를 삭제하기까지 남은 시간을 의미하고, 만약 해당 시간이내에 상기 플로우 이름에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 수신되면, 상기 플로우 이름에 할당된 초기값으로 리셋(reset)되는 것을 특징으로 하는 고속 플로우 스위칭을 지원하는 네트워크 노드.
  18. 제12항에 있어서,
    상기 타임 정보는 해당 플로우 엔트리에 가장 최근에 매칭되었던 인터리스트 패킷의 도착 시간을 의미하고, 만약 기설정된 시간이내에 상기 플로우 이름에 속하는 다른 세그먼트를 요청하는 인터리스트 패킷이 수신되면, 상기 타임 정보는 해당 인터리스트의 도착 시간으로 업데이트되는 것을 특징으로 하는 고속 플로우 스위칭을 지원하는 네트워크 노드.
  19. 제11항에 있어서,
    상기 플로우 관리부는, 상기 플로우 엔트리의 유효성(validation)을 검증하는 과정을 포함하는 것을 특징으로 하는 고속 플로우 스위칭을 지원하는 네트워크 노드.
  20. 제19항에 있어서,
    상기 플로우 관리부에 의한 상기 플로우 엔트리의 유효성(validation)을 검증하는 과정은,
    상기 FIB 엔트리의 프리픽스(prefix)와 플로우 이름이 일치하는 지를 확인하는 과정,
    만약 상기 FIB 엔트리의 프리픽스와 플로우 이름이 일치하면, 상기 FIB 엔트리 정보가 유효한 것으로 판단하고, 해당 FIB 엔트리내 넥스트홉(nexthop) 리스트와 포워딩 전략이 포함된 포워딩 정보를 활용하여 인터리스트 포워딩을 수행하는 과정을 포함하고,
    만약 상기 FIB 엔트리의 프리픽스가 플로우 이름과 일치하지 않으면, 상기 FIB 정보가 변경된 것으로 판단하고, 해당 인터리스트를 신규 플로우 인터리스트로 마킹한 후에 FIB를 LPM 룩업해서 새로운 매치 FIB 엔트리를 찾고, 해당 정보를 바탕으로 포워딩하는 과정 및 해당 인터리스트를 신규 플로우 인터리스트로 인식하여 상기 플로우 테이블내에 해당 플로우 엔트리를 새로운 FIB 엔트리 정보로 업데이트하는 과정을 포함하는 것을 특징으로 하는 고속 플로우 스위칭을 지원하는 네트워크 노드.
KR1020190134045A 2018-10-30 2019-10-25 정보 중심 네트워크(icn)에서 플로우 스위칭 장치 및 방법 KR102397923B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/666,916 US11178059B2 (en) 2018-10-30 2019-10-29 Apparatus and method of managing content name in information-centric networking

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180131011 2018-10-30
KR20180131011 2018-10-30

Publications (2)

Publication Number Publication Date
KR20200049607A true KR20200049607A (ko) 2020-05-08
KR102397923B1 KR102397923B1 (ko) 2022-05-13

Family

ID=70677180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190134045A KR102397923B1 (ko) 2018-10-30 2019-10-25 정보 중심 네트워크(icn)에서 플로우 스위칭 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102397923B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140136963A (ko) * 2012-02-28 2014-12-01 후아웨이 테크놀러지 컴퍼니 리미티드 콘텐츠 중심 네트워크에 대한 협동 캐싱 방법
US20160212066A1 (en) * 2015-01-20 2016-07-21 Futurewei Technologies, Inc. Software-Defined Information Centric Network (ICN)
US20180242218A1 (en) * 2017-02-23 2018-08-23 Cisco Technology, Inc. Heterogeneous access gateway for an information-centric networking environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140136963A (ko) * 2012-02-28 2014-12-01 후아웨이 테크놀러지 컴퍼니 리미티드 콘텐츠 중심 네트워크에 대한 협동 캐싱 방법
US20160212066A1 (en) * 2015-01-20 2016-07-21 Futurewei Technologies, Inc. Software-Defined Information Centric Network (ICN)
US20180242218A1 (en) * 2017-02-23 2018-08-23 Cisco Technology, Inc. Heterogeneous access gateway for an information-centric networking environment

Also Published As

Publication number Publication date
KR102397923B1 (ko) 2022-05-13

Similar Documents

Publication Publication Date Title
US9825860B2 (en) Flow-driven forwarding architecture for information centric networks
EP2214357B1 (en) Method and system for facilitating forwarding a packet in a content-centric network
US20230027856A1 (en) Preemptive caching of content in a content-centric network
US8837483B2 (en) Mapping private and public addresses
US20140280823A1 (en) Wire-speed pending interest table
JP2015512231A (ja) 高速かつ大規模な最長プレフィックスマッチングのための方法およびシステム
KR20150037938A (ko) 고속 콘텐츠 라우팅
EP2863614A1 (en) Method and apparatus for a named data network within an autonomous system
US9716622B2 (en) System and method for dynamic name configuration in content-centric networks
US20210112004A1 (en) Apparatus and method for forwarding a packet in content centric network
US10033639B2 (en) System and method for routing packets in a content centric network using anonymous datagrams
US9401864B2 (en) Express header for packets with hierarchically structured variable-length identifiers
US9954795B2 (en) Resource allocation using CCN manifests
US20170257342A1 (en) Method and system for reducing a collision probability of hash-based names using a publisher identifier
US11178059B2 (en) Apparatus and method of managing content name in information-centric networking
EP2719118B1 (en) Routing by resolution
JP2015198451A (ja) ネットワーク名を使用する、複数オブジェクトのインタレスト
KR102397923B1 (ko) 정보 중심 네트워크(icn)에서 플로우 스위칭 장치 및 방법
US20220166708A1 (en) Method and apparatus for selecting packet path to support producer mobility in information-centric networking
KR20200065887A (ko) 인터레스트 패킷의 고속 포워딩 방법 및 장치
US10033642B2 (en) System and method for making optimal routing decisions based on device-specific parameters in a content centric network
KR20210066641A (ko) Icn 시스템에서의 푸시 데이터 처리 방법 및 장치
KR20200062888A (ko) 콘텐츠 이름 관리 장치 및 방법
KR102110524B1 (ko) 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드 및 그 방법
KR20200065888A (ko) 생산자 기반의 콘텐츠 캐싱 방법 및 장치

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