KR20210044730A - Apparatus and Method for forwarding a Packet in Content Centric Network - Google Patents

Apparatus and Method for forwarding a Packet in Content Centric Network Download PDF

Info

Publication number
KR20210044730A
KR20210044730A KR1020200133500A KR20200133500A KR20210044730A KR 20210044730 A KR20210044730 A KR 20210044730A KR 1020200133500 A KR1020200133500 A KR 1020200133500A KR 20200133500 A KR20200133500 A KR 20200133500A KR 20210044730 A KR20210044730 A KR 20210044730A
Authority
KR
South Korea
Prior art keywords
packet
tag
interest
network
received
Prior art date
Application number
KR1020200133500A
Other languages
Korean (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 US17/071,631 priority Critical patent/US20210112004A1/en
Publication of KR20210044730A publication Critical patent/KR20210044730A/en

Links

Images

Classifications

    • 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/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L61/3075
    • 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/375Access point names [APN]

Abstract

The present invention relates to an apparatus for forwarding packets in a content centric network to efficiently process transit packets and a method thereof. According to the present invention, a node constituting the content centric network comprises: a plurality of interfaces configured to receive and transmit interest packets and data packets to a plurality of remote nodes; a pending interest table (PIT) storing information on a local interest packet, of which the source network or destination network corresponds to a network in which a corresponding node is located, among unanswered interest packets; a tag table storing information on a transit interest packet, of which the source network or destination network is not a network in which the corresponding node is located, among the unanswered interest packets by a group unit related to the source network; a forwarding information base (FIB) for forwarding the interest packet to the destination node; and a processor selecting the PIT or the tag table according to whether the packet is a local packet or a transit packet and performing packet forwarding on the basis of the selected table when forwarding a packet.

Description

콘텐츠 중심 네트워크의 패킷 포워딩 장치 및 방법{Apparatus and Method for forwarding a Packet in Content Centric Network}Apparatus and Method for forwarding a Packet in Content Centric Network

본 개시는 콘텐츠 중심 네트워크의 패킷 포워딩(forwarding) 장치 및 방법에 대한 것이다. 보다 상세하게는, 콘텐츠 중심 네트워크에서 데이터 패킷(data packet) 혹은 인터레스트 패킷(interest packet)에 태그(tag)를 새로이 정의하여 효율적으로 처리하기 위한 기술에 대한 것이다. The present disclosure relates to an apparatus and method for packet forwarding in a content-oriented network. In more detail, the present invention relates to a technology for efficiently processing by newly defining a tag in a data packet or an interest packet in a content-oriented network.

현재 인터넷의 데이터 서비스 규모는 빠르게 증가하고 있다. 한편, 현재의 인터넷은 IP 주소를 이용한 방식으로 동작하고 있다. 데이터 요청자, 즉 소비자는 오직 IP 주소를 이용하여 데이터를 요청하고 데이터를 수신할 수 있다. 이러한 인터넷 네트워크에서는 기본적으로 동일한 데이터를 요청하는 네트워크 상의 사용자가 적어도 하나 이상 존재하는 경우, 사용자의 수만큼 반복적으로 데이터를 전송해야 하므로, 데이터 반복 전송의 측면에서 비효율적인 면이 있다. Currently, the scale of data services on the Internet is increasing rapidly. Meanwhile, the current Internet operates in a manner using an IP address. Data requesters, i.e. consumers, can request and receive data using only IP addresses. In such an Internet network, when there is at least one user on a network that basically requests the same data, data must be repeatedly transmitted as many as the number of users, and thus there is an inefficiency in terms of repeated data transmission.

이를 해결하기 위하여, 최근 IP를 기반으로 한 네트워크 구조가 아닌 콘텐츠를 중심으로 한 네트워크 구조에 대한 연구 및 개발이 활발히 진행되고 있다. 본 개시에서의 콘텐츠 중심 네트워크는 정보 기반/중심 네트워크, CCN(Content Centric Network), ICN(Information Centric Network), Named Data Network(NDN)을 포함한다. In order to solve this problem, research and development on a network structure centered on content, not an IP-based network structure, are being actively conducted in recent years. The content-centric network in the present disclosure includes an information-based/centric network, a Content Centric Network (CCN), an Information Centric Network (ICN), and a Named Data Network (NDN).

콘텐츠 중심 기술을 지원하는 네트워크는 송수신자 대신 데이터를 생성한 콘텐츠 제공자(publisher)와 데이터를 수신하여 소비하는 콘텐츠 소비자(consumer)의 개념을 도입하여 네트워크는 IP 주소 대신 콘텐츠 이름을 사용하여 라우팅을 수행할 수 있다. 라우터는 필요한 경우 특정 데이터를 저장하고 데이터를 요구하는 인근의 새로운 소비자들에게 데이터를 배포하는 방식을 사용할 수 있다.Networks that support content-oriented technology introduce the concept of a content provider that generates data on behalf of a sender and a receiver, and a content consumer that receives and consumes the data, so that the network performs routing using the content name instead of the IP address. can do. Routers can store specific data if necessary and distribute the data to nearby new consumers who request the data.

콘텐츠 중심 네트워크에서는 콘텐츠 소비자가 요청한 데이터 이름을 헤더(header)에 실은 인터레스트 패킷(interest packet)을 송신하면, 데이터 이름 기반 포워딩을 통해 해당 데이터를 캐싱하거나 소유하고 있는 노드가 데이터 패킷으로서 응답할 수 있다. 데이터 패킷은 인터레스트 패킷이 온 경로를 따라서 데이터 요청자에 전달될 수 있다. 한편, 콘텐츠 중심 네트워크를 구성하는 노드는 해당 노드를 경유한 데이터 패킷을 캐싱하는 CS(Content Store), 데이터 이름 기반으로 인터레스트 패킷을 포워딩하기 위한 FIB(Forwarding Information Base) 및 응답받지 못한 인터레스트 패킷의 정보를 저장하고 관리하는 PIT(Pending Interest Table)를 포함할 수 있다. In a content-oriented network, when an interest packet is transmitted with a data name requested by a content consumer in a header, the corresponding data can be cached through data name-based forwarding, or the owning node can respond as a data packet. have. The data packet can be delivered to the data requester along the path on which the interest packet came. On the other hand, the nodes constituting the content-centric network include CS (Content Store) for caching data packets passing through the corresponding node, FIB (Forwarding Information Base) for forwarding interest packets based on the data name, and unanswered interest packets. It may include a Pending Interest Table (PIT) that stores and manages the information of the company.

이 경우 PIT는 인터레스트 패킷의 RTT(Round-Trip Time) 동안 인터레스트 패킷 별 정보를 저장해야 하기에, 노드의 포워딩 용량에 비례하여 PIT의 크기가 증가하게 된다. 이는, 현재 기술로 구현이 거의 불가능한 PIT 테이블 크기가 필요하게 되어, 콘텐츠 중심 네트워크의 도입을 저해하고 있다.In this case, since the PIT needs to store information for each interest packet during the round-trip time (RTT) of the interest packet, the size of the PIT increases in proportion to the forwarding capacity of the node. This requires a PIT table size, which is almost impossible to implement with the current technology, which hinders the introduction of a content-oriented network.

상술한 종래 기술의 문제점을 해결하기 위해, 본 개시의 목적은 콘텐츠 중심 네트워크에서 패킷을 식별하는 방안으로, PIT와 함께 사용하거나 또는 PIT를 대체하여 사용할 수 있는 태그 테이블 (Tag Table)을 제안하는 데 있다.In order to solve the problems of the prior art described above, an object of the present disclosure is to propose a tag table that can be used with PIT or can be used in place of PIT as a method of identifying packets in a content-oriented network. have.

또한, 본 개시의 목적은 콘텐츠 중심 네트워크에서 PIT 크기를 절감하여 수 Tbps 이상의 코어 노드 구현이 가능하게 하는 데 있다.In addition, an object of the present disclosure is to reduce the size of a PIT in a content-oriented network to enable the implementation of a core node of several Tbps or more.

또한, 본 개시의 목적은 콘텐츠 중심 네트워크에서 노드의 네트워크가 수신한 패킷의 출발(source) 네트워크와 목적지(destination) 네트워크가 아닌 트랜짓(transit) 패킷을 효율적으로 처리하는 데 있다. In addition, an object of the present disclosure is to efficiently process a transit packet other than a source network and a destination network of a packet received by a node's network in a content-oriented network.

또한, 본 개시의 목적은 콘텐츠 중심 네트워크에서 PIT를 사용하지 않으면서 데이터 패킷의 인터레스트 패킷에 대한 대칭적 포워딩을 구현하는 데 있다.In addition, an object of the present disclosure is to implement symmetric forwarding of interest packets of data packets without using PIT in a content-oriented network.

본 개시의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 개시의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 개시의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present disclosure may be understood by the following description, and will be more clearly understood by examples of the present disclosure. In addition, it will be easily understood that the objects and advantages of the present disclosure can be realized by the means shown in the claims and combinations thereof.

상기 목적을 달성하기 위한 본 개시의 일 실시예에 따르면, 콘텐츠 중심 네트워크를 구성하는 노드에 있어서, 복수의 원격 노드에 대해 인터레스트 패킷 및 데이터 패킷을 수신 및 송신하도록 구성된 복수의 인터페이스, 응답 받지 못한 인터레스트 패킷 중 소스 네트워크 또는 목적지 네트워크가 해당 노드가 위치한 네트워크에 해당하는 로컬(local) 인터레스트 패킷의 정보를 저장하는 PIT(Pending Interest Table), 응답 받지 못한 인터레스트 패킷 중 소스 네트워크 및 목적지 네트워크가 해당 노드가 위치한 네트워크가 아닌 트랜짓(transit) 인터레스트 패킷의 정보를 소스 네트워크와 연관한 그룹 단위로 저장하는 태그 테이블(tag table), 인터레스트 패킷을 목적지 노드에 포워딩 하기 위한 FIB(Forwarding Information Base), 패킷 포워딩 시 상기 패킷이 로컬 패킷(local packet)인지 트랜짓 패킷(transit packet)인지에 따라 상기 PIT 혹은 상기 태그 테이블을 선택하고, 상기 선택된 테이블을 기반으로 패킷 포워딩을 수행하는 프로세서를 포함할 수 있다.According to an embodiment of the present disclosure for achieving the above object, in a node constituting a content-oriented network, a plurality of interfaces configured to receive and transmit interest packets and data packets for a plurality of remote nodes, Among the interest packets, the source network or the destination network is a PIT (Pending Interest Table) that stores the information of the local interest packet corresponding to the network where the node is located, and the source network and the destination network are among the interest packets that have not been answered. A tag table that stores information of a transit interest packet other than the network in which the node is located in a group unit associated with the source network, and FIB (Forwarding Information Base) for forwarding the interest packet to the destination node. , During packet forwarding, a processor for selecting the PIT or the tag table according to whether the packet is a local packet or a transit packet, and performing packet forwarding based on the selected table may be included. .

한편, 외부 네트워크와 연결된 인터페이스에서 수신된 인터레스트 패킷의 목적지 네트워크 이름이 노드가 위치한 네트워크 이름과 동일하지 않거나 내부 네트워크에 연결된 인터페이스에 의해 수신된 인터레스트 패킷에 태그가 포함된 경우, 상기 프로세서는 상기 수신된 인터레스트 패킷을 트랜짓 인터레스트 패킷으로 구분할 수 있다.On the other hand, if the destination network name of the interest packet received from the interface connected to the external network is not the same as the network name in which the node is located, or a tag is included in the interest packet received by the interface connected to the internal network, the processor The received interest packet can be classified as a transit interest packet.

한편, 내부 네트워크에 연결된 인터페이스에서 수신한 인터레스트 패킷이 태그를 포함하지 않았거나, 외부 네트워크에 연결된 인터페이스에서 목적지 네트워크 이름이 노드가 위치한 네트워크 이름과 동일한 인터레스트 패킷을 수신한 경우, 상기 프로세서는 상기 수신된 인터레스트 패킷을 로컬 인터레스트 패킷으로 구분할 수 있다.Meanwhile, when an interest packet received from an interface connected to the internal network does not include a tag, or an interest packet having the same destination network name as the network name in which the node is located is received from the interface connected to the external network, the processor The received interest packet can be classified as a local interest packet.

한편, 상기 수신한 트랜짓 인터레스트에 태그가 포함된 경우, 상기 프로세서는 상기 수신된 패킷의 태그 및 상기 수신된 패킷의 인터페이스 관련 정보에 매칭되는 엔트리(entry)를 상기 태그 테이블에서 탐색할 수 있다.Meanwhile, when a tag is included in the received transit interest, the processor may search the tag table for an entry matching the tag of the received packet and interface-related information of the received packet.

한편, 상기 태그 테이블 탐색이 성공한 경우, 상기 프로세서는 상기 수신된 패킷의 태그를 상기 엔트리의 출력 태그로 변경할 수 있다.Meanwhile, when the tag table search is successful, the processor may change the tag of the received packet to the output tag of the entry.

한편, 상기 태그 테이블에서 탐색이 실패한 경우, 상기 프로세서는 출력 태그를 할당하여 상기 수신된 패킷의 태그를 상기 출력 태그로 변경할 수 있다.Meanwhile, when the search fails in the tag table, the processor may change the tag of the received packet to the output tag by allocating an output tag.

한편, 상기 수신한 트랜짓 인터레스트 패킷에 태그가 포함되지 않은 경우 상기 프로세서는 상기 패킷이 수신된 인터페이스 관련 정보를 기반으로 상기 수신된 패킷에 태그를 부여할 수 있다.Meanwhile, when a tag is not included in the received transit interest packet, the processor may assign a tag to the received packet based on the interface-related information on which the packet is received.

한편, 상기 패킷에 상기 부여된 태그 및 상기 수신된 인터페이스 관련 정보는 상기 태그 테이블에 추가될 수 있다.Meanwhile, in the packet The assigned tag and the received interface-related information may be added to the tag table.

한편, 상기 수신한 로컬 인터레스트 패킷이 태그를 포함하는 경우 상기 태그를 헤더에서 제거하고 상기 태그와 수신 인터페이스 정보를 인터레스트의 PIT 엔트리에 저장할 수 있다.Meanwhile, when the received local interest packet includes a tag, the tag may be removed from the header and the tag and the reception interface information may be stored in the PIT entry of the interest.

한편, 상기 PIT의 각 엔트리는 수신한 인터레스트 패킷의 태그와 상기 수신한 인터레스트 패킷의 인터페이스 정보를 포함할 수 있다.Meanwhile, each entry of the PIT may include a tag of a received interest packet and interface information of the received interest packet.

한편, 상기 FIB는 네트워크 이름 FIB(network name FIB) 및 데이터 이름 프리픽스 FIB(data name prefix FIB)를 포함할 수 있다.Meanwhile, the FIB may include a network name FIB (network name FIB) and a data name prefix FIB (data name prefix FIB).

한편, 수신된 인터레스트 패킷이 트랜짓 인터레스트 패킷인 경우, 상기 프로세서는 상기 네트워크 이름(Network Name) FIB(Forwarding Information Base) 룩업(Lookup)을 통해 패킷을 포워딩할 수 있다.Meanwhile, when the received interest packet is a transit interest packet, the processor may forward the packet through the network name (FIB) forwarding information base (FIB) lookup.

한편, 수신된 인터레스트 패킷이 로컬 인터레스트 패킷인 경우, 상기 프로세서는 상기 데이터 이름 프리픽스(Data Name Prefix) FIB 룩업을 통해 패킷 포워딩을 수행할 수 있다.Meanwhile, when the received interest packet is a local interest packet, the processor may perform packet forwarding through the Data Name Prefix FIB lookup.

한편, 상기 태그 테이블은 상기 수신된 패킷의 태그, 상기 수신된 패킷의 포워딩을 위한 출력 태그를 포함하고, 상기 수신된 패킷의 최선 수신 시각 정보 또는 상기 수신된 패킷의 에이징 관리를 위한 플래그(flag) 중 적어도 어느 하나를 더 포함할 수 있다.Meanwhile, the tag table includes a tag of the received packet and an output tag for forwarding of the received packet, and a flag for best reception time information of the received packet or aging management of the received packet It may further include at least any one of.

한편, 상기 인터페이스를 통해 데이터 패킷을 수신하되, 상기 데이터 패킷이 태그를 포함하는 경우, 상기 프로세서는 상기 태그와 매칭되는 출력 태그를 갖는 엔트리를 상기 태그 테이블에서 탐색할 수 있다.Meanwhile, when a data packet is received through the interface and the data packet includes a tag, the processor may search the tag table for an entry having an output tag matching the tag.

한편, 상기 프로세서는, 상기 태그는 상기 매칭된 엔트리의 상기 인터레스트 패킷 태그로 변경하고, 상기 수신된 패킷을 상기 매칭된 엔트리의 인터페이스로 포워딩할 수 있다.Meanwhile, the processor may change the tag to the interest packet tag of the matched entry, and forward the received packet to the interface of the matched entry.

한편, 상기 수신된 패킷이 출력 태그가 포함되지 않은 데이터 패킷인 경우,On the other hand, if the received packet is a data packet that does not contain an output tag,

상기 프로세서는 PIT(Pending Interest Table)에서 상기 데이터 패킷의 데이터 이름과 매칭되는 인터레스트 패킷을 탐색하고, 상기 탐색이 성공하면, 상기 인터레스트 패킷의 태그를 데이터 패킷에 추가하고, 상기 인터레스트 패킷을 수신한 인터페이스 정보를 기반으로 패킷을 포워딩할 수 있다.The processor searches for an interest packet matching the data name of the data packet in a PIT (Pending Interest Table), and if the search is successful, adds the tag of the interest packet to the data packet, and adds the interest packet. Packets can be forwarded based on the received interface information.

상기 목적을 달성하기 위한, 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크를 구성하는 노드에 의해 수행되는 패킷 포워딩 방법은, 콘텐츠 중심 네트워크에서 인터레스트 패킷을 수신하는 단계, 상기 인터레스트 패킷에 태그가 포함되었는지 검토하고, 상기 인터레스트 패킷을 포워딩(forwarding)하는 단계를 포함하되, 상기 인터레스트 패킷이 외부 네트워크와 연결된 인터페이스에 의해 수신되었고, 상기 인터레스트 패킷의 목적지 네트워크 이름이 노드가 위치한 네트워크 이름과 동일하지 않거나 상기 인터레스트 패킷이 내부 네트워크에 연결된 인터페이스에 의해 수신되었고, 상기 인터레스트 패킷에 태그가 포함된 경우, 상기 수신된 인터레스트 패킷은 트랜짓 인터레스트 패킷으로 구분될 수 있다.To achieve the above object, a packet forwarding method performed by a node constituting a content-oriented network according to an embodiment of the present disclosure includes the steps of receiving an interest packet in a content-oriented network, wherein a tag is added to the interest packet. Reviewing whether it is included, and forwarding the interest packet, wherein the interest packet is received by an interface connected to an external network, and the destination network name of the interest packet is the network name in which the node is located. If not identical or when the interest packet is received by an interface connected to an internal network and a tag is included in the interest packet, the received interest packet may be classified as a transit interest packet.

한편, 상기 인터레스트 패킷이 내부 네트워크에 연결된 인터페이스에서 수신되었고, 태그를 포함하지 않았거나, 상기 인터레스트 패킷이 외부 네트워크에 연결된 인터페이스에서 목적지 네트워크 이름이 노드가 위치한 네트워크 이름과 동일한 경우, 상기 수신된 인터레스트 패킷을 로컬 인터레스트 패킷으로 구분될 수 있다.Meanwhile, when the interest packet is received from an interface connected to the internal network and does not include a tag, or the destination network name is the same as the network name where the node is located in the interface connected to the external network, the received Interest packets can be classified into local interest packets.

상기 목적을 달성하기 위한 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크를 구성하는 노드에 의해 수행되는 패킷 포워딩 방법은, 콘텐츠 중심 네트워크의 데이터 패킷을 수신하는 단계, 상기 수신된 데이터 패킷에 태그가 포함되었는지 검토하고, 상기 데이터 패킷을 포워딩(forwarding)하는 단계를 포함하되, 상기 수신된 데이터 패킷에 태그가 포함된 경우, 태그 테이블에 상기 태그와 매칭되는 출력 태그를 포함하는 엔트리를 탐색하고, 상기 엔트리에 포함된 인터레스트 패킷의 인터페이스 정보를 기반으로 포워딩을 수행할 수 있다.A packet forwarding method performed by a node constituting a content-oriented network according to an embodiment of the present disclosure for achieving the above object includes receiving a data packet of a content-oriented network, and a tag is included in the received data packet. Checking whether or not, and forwarding the data packet, and if a tag is included in the received data packet, searching for an entry including an output tag matching the tag in a tag table, and the entry Forwarding may be performed based on the interface information of the interest packet included in.

본 개시의 일 실시예에 따르면 콘텐츠 중심 네트워크에서 트랜짓 트래픽(transit traffic)을 효율적으로 처리할 수 있다.According to an embodiment of the present disclosure, it is possible to efficiently process transit traffic in a content-oriented network.

본 개시의 일 실시예에 따르면 콘텐츠 중심 네트워크에서 PIT 크기를 절감하여 수 Tbps 이상의 코어 노드 구현이 가능할 수 있다.According to an embodiment of the present disclosure, it is possible to implement a core node of several Tbps or more by reducing the PIT size in a content-oriented network.

본 개시의 일 실시예에 따르면 PIT를 사용하지 않으면서 데이터 패킷의 포워딩 경로가 역방향의 인터레스트 패킷 포워딩 경로가 되게 하는 대칭적 포워딩을 구현할 수 있다.According to an embodiment of the present disclosure, it is possible to implement symmetric forwarding in which a forwarding path of a data packet becomes a forwarding path of an interest packet in a reverse direction without using a PIT.

본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present disclosure are not limited to the above-mentioned effects, and other effects not mentioned can be clearly understood by those of ordinary skill in the art from the following description. will be.

도 1은 본 개시가 적용될 수 있는 콘텐츠 중심 네트워크에서의 Map-n-Encap 패킷 포워딩 방식을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서의 태그 테이블(tag table) 기반 인터레스트 패킷 포워딩 방식을 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서의 태그 테이블(tag table) 기반 데이터 패킷 포워딩 방식을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서 서로 다른 사용자 네트워크에 위치한 콘텐츠 컨슈머와 프로듀서 사이에 복수의 코어 네트워크를 통과하는 한 패킷 포워딩 방식을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서 인접한 코어 네트워크에 위치한 콘텐츠 컨슈머와 프로듀서간 패킷 교환 방식을 설명하기 위한 도면이다.
도 6은 본 개시에 적용 가능한 콘텐츠 중심 네트워크를 구성하는 노드의 일 예를 설명하기 위한 도면이다.
도 7은 본 개시에 적용 가능한 콘텐츠 중심 네트워크를 구성하는 노드의 다른 일 예를 설명하기 위한 도면이다.
도 8은 본 개시에 적용 가능한 콘텐츠 중심 네트워크를 구성하는 노드의 다른 일 예를 설명하기 위한 도면이다.
도 9는 본 개시에 적용 가능한 콘텐츠 중심 네트워크에서의 태그 테이블(tag table)의 일 예를 설명하기 위한 도면이다.
도 10은 본 개시에 적용 가능한 콘텐츠 중심 네트워크에서의 태그 테이블(tag table)의 다른 일 예를 설명하기 위한 도면이다.
도 11은 본 개시에 적용 가능한 콘텐츠 중심 네트워크에서의 태그(tag)를 지원하는 PIT(Pending Interest table)의 일 예를 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서의 패킷 포맷을 설명하기 위한 도면이다.
도 13은 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크를 구성하는 노드에 의해 수행되는 인터레스트 패킷 포워딩 방식을 설명하기 위한 도면이다.
도 14는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크를 구성하는 노드에 의해 수행되는 데이터 패킷 포워딩 방식을 설명하기 위한 도면이다.
도 15는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크의 PE 노드에서 네트워크 이름이 라우터 리전과 상이한 경우의 인터레스트 패킷 포워딩 방식을 설명하기 위한 도면이다.
도 16은 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크의 Non-PE 노드에서 네트워크 이름이 라우터 리전과 상이한 경우의 인터레스트 패킷 포워딩 방식을 설명하기 위한 도면이다
도 17은 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서 네트워크 이름이 라우터 리전과 동일한 인터레스트 및 네트워크 이름을 포함하지 않는 인터레스트 패킷의 패킷 포워딩 방식을 설명하기 위한 도면이다.
도 18은 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서의 데이터 패킷 포워딩 방식을 설명하기 위한 도면이다.
도 19는 본 개시에 적용 가능한 따른 콘텐츠 중심 네트워크를 구성하는 노드의 다른 일 예를 설명하기 위한 도면이다.
1 is a diagram illustrating a Map-n-Encap packet forwarding method in a content-oriented network to which the present disclosure can be applied.
FIG. 2 is a diagram for describing an interest packet forwarding method based on a tag table in a content-oriented network according to an embodiment of the present disclosure.
3 is a diagram for describing a data packet forwarding method based on a tag table in a content-oriented network according to an embodiment of the present disclosure.
FIG. 4 is a diagram illustrating a packet forwarding method through a plurality of core networks between content consumers and producers located in different user networks in a content-centric network according to an embodiment of the present disclosure.
5 is a diagram illustrating a packet exchange method between a content consumer and a producer located in an adjacent core network in a content-centric network according to an embodiment of the present disclosure.
6 is a diagram illustrating an example of a node constituting a content-oriented network applicable to the present disclosure.
7 is a diagram illustrating another example of a node constituting a content-oriented network applicable to the present disclosure.
8 is a diagram illustrating another example of a node constituting a content-oriented network applicable to the present disclosure.
9 is a diagram illustrating an example of a tag table in a content-oriented network applicable to the present disclosure.
10 is a diagram illustrating another example of a tag table in a content-oriented network applicable to the present disclosure.
11 is a diagram for describing an example of a PIT (Pending Interest Table) supporting a tag in a content-oriented network applicable to the present disclosure.
12 is a diagram illustrating a packet format in a content-oriented network according to an embodiment of the present disclosure.
13 is a diagram for describing an interest packet forwarding method performed by a node constituting a content-oriented network according to an embodiment of the present disclosure.
14 is a diagram illustrating a data packet forwarding method performed by a node constituting a content-oriented network according to an embodiment of the present disclosure.
15 is a diagram for explaining an interest packet forwarding method when a network name is different from a router region in a PE node of a content-oriented network according to an embodiment of the present disclosure.
16 is a diagram for explaining an interest packet forwarding method when a network name is different from a router region in a non-PE node of a content-oriented network according to an embodiment of the present disclosure
FIG. 17 is a diagram for explaining a packet forwarding method of an interest packet whose network name is the same as a router region and does not include a network name in a content-oriented network according to an embodiment of the present disclosure.
18 is a diagram for describing a data packet forwarding method in a content-oriented network according to an embodiment of the present disclosure.
19 is a diagram illustrating another example of a node constituting a content-oriented network according to the present disclosure.

이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the exemplary embodiments. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein.

본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.In describing an embodiment of the present disclosure, when it is determined that a detailed description of a known configuration or function may obscure the subject matter of the present disclosure, a detailed description thereof will be omitted. In addition, parts not related to the description of the present disclosure in the drawings are omitted, and similar reference numerals are attached to similar parts.

본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, components that are distinguished from each other are intended to clearly describe each feature, and do not necessarily mean that the components are separated. That is, a plurality of components may be integrated into one hardware or software unit, or one component may be distributed to form a plurality of hardware or software units. Therefore, even if not stated otherwise, such integrated or distributed embodiments are also included in the scope of the present disclosure.

본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들을 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, components described in various embodiments do not necessarily mean essential components, and some may be optional components. Accordingly, an embodiment comprising a subset of components described in the embodiment is also included in the scope of the present disclosure. In addition, embodiments including other components in addition to the components described in the various embodiments are included in the scope of the present disclosure.

본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들을 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, components described in various embodiments do not necessarily mean essential components, and some may be optional components. Accordingly, an embodiment comprising a subset of components described in the embodiment is also included in the scope of the present disclosure. In addition, embodiments including other components in addition to the components described in the various embodiments are included in the scope of the present disclosure.

본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들 간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제1 구성요소는 다른 실시 예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시예에서의 제2 구성요소를 다른 실시예에서 제1 구성요소라고 칭할 수도 있다.In the present disclosure, terms such as first and second are used only for the purpose of distinguishing one component from other components, and do not limit the order or importance of the components unless otherwise noted. Accordingly, within the scope of the present disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly, a second component in one embodiment is a first component in another embodiment. It can also be called.

본 개시의 어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 “직접 연결되어” 있다거나, “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component of the present disclosure is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but other components exist in the middle. It should be understood that it may be possible. On the other hand, when a component is referred to as being “directly connected” or “directly connected” to another component, it should be understood that there is no other component in the middle.

한편, 본 개시의 실시예들을 설명함에 있어서 콘텐츠 중심 네트워크는 정보 기반/중심 네트워크, CCN(Content Centric Network), ICN(Information Centric Network), Named Data Network(NDN)을 포함할 수 있다.Meanwhile, in describing embodiments of the present disclosure, the content-centric network may include an information-based/centric network, a content centric network (CCN), an information centric network (ICN), and a named data network (NDN).

한편, 본 개시의 실시예들을 설명함에 있어서 콘텐츠 중심 네트워크를 구성하는 노드는 PE(Provider Edge)/Non-PE 노드를 포함할 수 있다.Meanwhile, in describing embodiments of the present disclosure, a node constituting a content-oriented network may include a Provider Edge (PE)/Non-PE node.

한편, 본 개시의 실시예들을 설명함에 있어서 로컬 패킷은 로컬 인터레스트 패킷, 로컬 인터레스트를 포함하는 의미로 사용될 수 있으며, 로컬 인터레스트 패킷과 로컬 인터레스트는 혼용될 수 있다.Meanwhile, in describing embodiments of the present disclosure, a local packet may be used to include a local interest packet and a local interest, and a local interest packet and a local interest may be mixed.

한편, 본 개시의 실시예들을 설명함에 있어서 트랜짓 패킷은 트랜짓 인터레스트, 트랜짓 인터레스트 패킷을 포함하는 의미로 사용될 수 있으며, 트랜짓 인터레스트, 트랜짓 인터레스트 패킷은 혼용될 수 있다.Meanwhile, in describing embodiments of the present disclosure, a transit packet may be used to mean including a transit interest packet and a transit interest packet, and a transit interest packet and a transit interest packet may be used interchangeably.

한편, 본 개시의 실시예들을 설명함에 있어서 패킷 포워딩 부는 프로세서 및/혹은 PIT/태그 테이블 선택 로직을 포함할 수 있다.Meanwhile, in describing embodiments of the present disclosure, the packet forwarding unit may include a processor and/or a PIT/tag table selection logic.

한편, 본 개시의 실시예들을 트랜짓 트래픽 혹은 트랜짓 패킷이라 함은, 특정 코어 네트워크의 노드에서 수신한 패킷의 출발(source) 네트워크와 목적지(destination) 네트워크가 해당 네트워크가 아닌 패킷을 의미한다. 이 외의 패킷은 로컬(local) 패킷으로 정의한다.Meanwhile, in the embodiments of the present disclosure, a transit traffic or a transit packet refers to a packet in which a source network and a destination network of a packet received from a node of a specific core network are not the corresponding network. Other packets are defined as local packets.

한편, 본 개시의 실시예들을 설명함에 있어서 태그(tag)란 트랜짓 인터레스트가 소스 네트워크에서 코어 네트워크로 전달될 때 동일 에지 노드의 동일 출력 인터페이스를 이용한 트랜짓 인터레스트 패킷 그룹을 구분할 수 있는 있는 그룹 식별자를 의미한다. 또한, 태그 테이블(tag table)은 상기 트랜짓 인터레스트 패킷의 그룹 식별자 및 상기 인터레스트 패킷에 대한 정보를 포함하는 데이터 테이블을 의미할 수 있다. 이 때, 태그 및 태그 테이블은 임의의 명칭이다. 예를 들어, 태그는 식별자, ID, 인덱스 등의 다른 명칭이 붙여지는 것도 가능하며, 태그 테이블은 보조 테이블, 식별자 테이블, ID 테이블, 인덱스 테이블, 제2 PIT(pending interest table), 보조 PIT, 변형 PIT 등의 다른 명칭으로 불릴 수 있으며, 이에 한정되는 것은 아니다.Meanwhile, in describing embodiments of the present disclosure, a tag is a group identifier capable of distinguishing a group of transit interest packets using the same output interface of the same edge node when the transit interest is transmitted from the source network to the core network. Means. In addition, a tag table may mean a data table including a group identifier of the transit interest packet and information on the interest packet. At this time, the tag and the tag table are arbitrary names. For example, tags can have other names such as identifiers, IDs, indexes, etc., and tag tables are auxiliary tables, identifier tables, ID tables, index tables, second PITs (pending interest tables), auxiliary PITs, and transformations. It may be called another name such as PIT, but is not limited thereto.

이하, 본 개시의 상세한 실시예에 대하여는 하기에서 도면을 참조하여 더욱 상세하게 설명한다.Hereinafter, detailed embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings.

현재의 인터넷에서 코어 망에서의 BGP(Border Gateway Protocol) 라우팅 엔트리 급증을 해결하기 위해서 제안된 방식 중 하나는, LISP(Locator ID Separation Protocol)으로 대표되는 Map-n-Encap 방식이다. IP 기반 인터넷에서 Map-n-Encap 방식은 패킷의 목적지가 다른 네트워크일 경우, 코어 네트워크로 진입할 때 목적지 네트워크의 대표 IP를 목적지로 IP 헤더를 추가해 터널링(tunneling)하여, 코어 네트워크에서는 목적지 네트워크 IP를 기반으로 포워딩한다. 한편, 목적지 네트워크에 도착했을 때에는 터널 헤더를 제거한 후 목적지 IP로 포워딩한다. 이를 통해, 코어 네트워크에서는 네트워크의 대표 IP 주소에 대한 라우팅 엔트리만 있도록 해서 라우팅 엔트리를 크게 줄여 라우팅 확장성을 확보한다. One of the proposed schemes to solve the rapid increase in BGP (Border Gateway Protocol) routing entries in the core network in the current Internet is the Map-n-Encap scheme, which is represented by LISP (Locator ID Separation Protocol). In the IP-based Internet, the Map-n-Encap method performs tunneling by adding an IP header to the destination network's representative IP when entering the core network when the packet destination is a different network. In the core network, the destination network IP Forwarding is based on. On the other hand, when it arrives at the destination network, it forwards to the destination IP after removing the tunnel header. Through this, in the core network, routing entries are greatly reduced by allowing only routing entries for the representative IP address of the network to secure routing scalability.

NDN/CCN/ICN를 포함한 콘텐츠 중심 네트워크에서는 콘텐츠 이름을 기반으로 패킷을 포워딩 하는 것이 특징이다. 이 경우, 예를 들어 인터넷의 콘텐츠 갯수가 O(

Figure pat00001
)이고, 이를 계층적 이름 구조를 사용해서 애그리게이션(aggregation)을 한다고 가정하더라도 DNS(Domain Name System) 도메인 수가 O(
Figure pat00002
) 만큼 필요하다는 예측이 있어, O(
Figure pat00003
)인 IP의 코어망 라우팅 엔트리 수에 비해 콘텐츠 중심 네트워크 코어망은 IP 망보다 1000배이상 큰 라우팅 엔트리를 처리할 수 있어야 한다. 이는, 콘텐츠 중심 네트워크의 도입에 한계로서 지적된 바 있다. Content-oriented networks including NDN/CCN/ICN are characterized by forwarding packets based on the content name. In this case, for example, the number of contents on the Internet is O(
Figure pat00001
), and even assuming that aggregation is performed using a hierarchical name structure, the number of Domain Name System (DNS) domains is O(
Figure pat00002
There is a prediction that you need as much as O(
Figure pat00003
), the content-oriented network core network must be able to handle routing entries that are 1000 times larger than the IP network compared to the number of routing entries in the core network of IP. This has been pointed out as a limitation in the introduction of a content-oriented network.

이를 해결하기 위해 콘텐츠 중심 네트워크에서도 Map-n-Encap 방식을 적용하는 기술이 제안된 바 있다. 이 때, 개별 네트워크는 네트워크 이름을 가지며, 라우터는 자신이 속한 네트워크 이름을 리전(region)으로 설정해 둔다. 데이터 소유자인 프로듀서(producer)는 자신의 데이터가 속한 네트워크 이름을 NRS(Name Resolution Server)에 등록하며, 데이터 요청자인 컨슈머(Consumer)는 원하는 데이터가 위치한 네트워크 이름을 NRS에 질의해서 안 후에, 인터레스트 패킷에 데이터 이름과 함께 네트워크 이름을 저장한 포워딩 힌트(Forwarding Hint) 필드를 넣어서 전송한다. 라우터는 인터레스트 패킷의 네트워크 이름이 라우터의 리전과 다르면 네트워크 이름으로 포워딩하고, 리전과 동일하면 목적지 네트워크에 도착한 것으로 보아 데이터 이름으로 포워딩 한다. 이렇게 되면 콘텐츠 중심 네트워크의 코어망에서는 데이터 이름이 아니라 네트워크 이름 기반으로 라우팅 엔트리가 만들어져서 라우팅 확장성을 확보할 수 있다.To solve this problem, a technology that applies the Map-n-Encap method in a content-oriented network has been proposed. At this time, each network has a network name, and the router sets the network name to which it belongs as a region. The data owner, the producer, registers the network name to which his or her data belongs to the NRS (Name Resolution Server), and the data requester, the consumer, queries the NRS for the name of the network where the desired data is located, and then A Forwarding Hint field that stores the network name along with the data name in the packet is inserted and transmitted. If the network name of the interest packet is different from the router's region, the router forwards it to the network name. If it is the same as the region, the router forwards it to the data name as it has arrived at the destination network. In this case, in the core network of the content-oriented network, routing entries are made based on the network name rather than the data name, so that routing scalability can be secured.

그러나, 이러한 코어망 노드를 구현할 때, 실제적으로 필요한 크기의 PIT(Pending Interest Table) 구현이 어렵다는 점이 한계로 지적되었다. 보다 구체적으로는, PIT는 데이터 패킷 응답을 기다리는 인터레스트 패킷 별로 엔트리를 생성하는데, 이러한 엔트리는 패킷의 RTT(Round Trip Time)동안 유지되어야 함에 따라 노드의 스위칭 용량이 높아짐에 따라 테이블 크기가 증가하게 된다. 이로 인해 수 Tbps 이상의 코어 노드에서의 PIT는 현재 메모리 기술로 구현이 거의 불가능한 것으로 추산된 바 있다. However, when implementing such a core network node, it was pointed out as a limitation that it was difficult to implement a PIT (Pending Interest Table) of an actual required size. More specifically, the PIT creates an entry for each interest packet waiting for a data packet response. This entry must be maintained during the RTT (Round Trip Time) of the packet, so that the table size increases as the node's switching capacity increases. do. For this reason, it has been estimated that PIT at a core node of several Tbps or more is almost impossible to implement with the current memory technology.

한편, PIT는 인터레스트 패킷(interest packet)의 응답인 데이터 패킷(data packet)이 귀환할 때, 인터레스트 패킷이 수신되었던 입력 인터페이스로 데이터 패킷을 전송하여, 인터레스트 패킷의 포워딩 경로를 따라 역방향으로 데이터 패킷이 귀환하게 할 수 있다. 이를 위하여, PIT는 인터레스트 패킷 별로 인터레스트 패킷이 요청하는 데이터 이름, 인터레스트 패킷이 수신된 입력 인터페이스 리스트, 라이프타임, 루프 감지를 위한 넌스(Nonce) 리스트 등을 포함한다. 이 때, PIT에 저장된 데이터 이름을 요청하는 신규 인터레스트 패킷이 수신되면 PIT에 기 존재하던 매칭되는 엔트리에 통합된다. 또한, PIT를 기반으로, 입력 인터페이스 리스트와 넌스(Nonce) 리스트를 업데이트하는 인터레스트 패킷 통합 기능을 통해 하나의 데이터 패킷이 다수의 데이터 요청자(consumer)에게 멀티캐스트(multicast)될 수 있도록 하여, 데이터 반복 전송에 있어서의 효율성이 도모될 수 있다. 뿐만 아니라, PIT를 통해 인터레스트 패킷의 루프를 넌스(Nonce)를 통해 감지해 내는 기능도 구현될 수 있다.On the other hand, when a data packet, which is a response of an interest packet, returns, the PIT transmits the data packet to the input interface where the interest packet was received, in the reverse direction along the forwarding path of the interest packet. Data packets can be returned. To this end, the PIT includes a data name requested by an interest packet for each interest packet, an input interface list on which the interest packet is received, a lifetime, a nonce list for loop detection, and the like. At this time, when a new interest packet requesting the data name stored in the PIT is received, it is integrated into the matching entry that has already existed in the PIT. In addition, based on the PIT, through an interest packet integration function that updates the input interface list and the nonce list, one data packet can be multicasted to multiple data consumers, Efficiency in repetitive transmission can be achieved. In addition, a function of detecting a loop of an interest packet through a nonce may be implemented through the PIT.

그러나, 인터레스트 패킷 통합을 통한 멀티캐스트의 효과는 데이터 소비자와 가까운 엣지(Edge)에서 주로 효과가 크고 코어망에서는 크지 않다. 또한, 인터레스트 루프(interest loop)는 넌스(Nonce)외에 IP의 TTL(Time To Live)과 같은 한계값(HopLimit)를 인터레스트 패킷에 추가하여 해결할 수 있기에, 확장성에 한계가 있는 PIT 대신에 코어망에서는 데이터 패킷이 인터레스트 패킷 경로를 따라서 귀환할 수 있도록 하는 기능만을 제공하는 PIT 대체 기술도 연구되고 있다. However, the effect of multicast through the integration of interest packets is mainly effective at the edge close to the data consumer and not large in the core network. In addition, since the interest loop can be solved by adding a HopLimit such as TTL (Time To Live) of IP to the interest packet in addition to Nonce, In the network, PIT replacement technology is also being studied, which provides only the function of allowing data packets to return along the path of the interest packet.

따라서, 본 개시에서는 콘텐츠 중심 네트워크의 코어망에 위치한 노드에서 코어망의 트래픽의 대부분을 차지하는 트랜짓 패킷(transit packet), 즉 노드가 속한 네트워크가 패킷이 생성된 네트워크도 아니고 목적지 네트워크도 아닌 패킷에 대해서는 PIT 대신 사용 가능한 보조 테이블로서 태그 테이블(Tag Table)을 제안한다. 본 개시에 따르면, 콘텐츠 중심 네트워크의 노드가 속한 네트워크에서 생성되었거나 콘텐츠 중심 네트워크의 노드가 속한 네트워크가 목적지 네트워크인 패킷에 대해서는 기존의 PIT을 사용할 수 있도록 하여, 적정 수준 크기의 PIT와 보조 테이블(태그 테이블, Tag Table)로 수 Tbps 이상의 코어망 노드를 구현할 수 있도록 하고자 한다. Accordingly, in the present disclosure, a transit packet that occupies most of the traffic of the core network in a node located in the core network of the content-oriented network, that is, the network to which the node belongs is not the network in which the packet was generated nor the destination network. As an auxiliary table that can be used instead of PIT, we propose a tag table. According to the present disclosure, an existing PIT can be used for packets that are generated in a network to which a node of a content-oriented network belongs or a network to which a node of a content-oriented network belongs is a destination network, so that a PIT and an auxiliary table (tag Table, Tag Table) to implement core network nodes of several Tbps or more.

도 1은 본 개시가 적용될 수 있는 콘텐츠 중심 네트워크에서의 Map-n-Encap 패킷 포워딩 방식을 설명하기 위한 도면이다.1 is a diagram illustrating a Map-n-Encap packet forwarding method in a content-oriented network to which the present disclosure can be applied.

일 실시예로서, 모든 네트워크는 네트워크 이름을 가질 수 있으며, 각각의 네트워크를 구성하는 노드들은 NRS(Name Resolution Server)를 통해 원하는 데이터가 위치한 네트워크 이름을 알 수 있다. 상기에서 언급한 바와 같이, 본 개시에서 노드는 PE(Provider Edge) 노드와, Non-PE 노드를 포함할 수 있으며, PE 노드는 코어망을 구성하는 ISP 사업자 망(Internet Service Provider Network)의 엣지에 위치한 노드로서 다른 사업자 망이나 고객망(Customer Network)과 연결되는 노드일 수 있다. 고객망의 노드와 사업자 망의 내부 노드는 Non-PE 노드로 구분될 수 있다.As an embodiment, all networks may have a network name, and nodes constituting each network may know the network name in which desired data is located through a Name Resolution Server (NRS). As mentioned above, in the present disclosure, the node may include a provider edge (PE) node and a non-PE node, and the PE node is at the edge of an ISP network (Internet Service Provider Network) constituting the core network. As a located node, it may be a node that is connected to another operator network or a customer network. Nodes in the customer network and internal nodes in the operator network can be classified into non-PE nodes.

일 실시예로서, 본 개시에서 사업자 망은 트래픽의 소스와 목적지가 자신의 망이 아닌 트랜짓 트래픽(transit traffic)의 라우팅을 지원하는 망을 의미할 수 있으며, 고객망은 트랜짓 트래픽을 지원하지 않는 망을 의미할 수 있다.As an embodiment, in the present disclosure, the operator network may mean a network in which the source and destination of traffic support the routing of transit traffic rather than its own network, and the customer network is a network that does not support transit traffic. Can mean

도 2는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서의 태그 테이블(tag table) 기반 인터레스트 패킷 포워딩 방식을 설명하기 위한 도면이다.FIG. 2 is a diagram for describing an interest packet forwarding method based on a tag table in a content-oriented network according to an embodiment of the present disclosure.

일 실시예로서, 콘텐츠 중심 네트워크인 고객망 CN-1과 CN-2 및 사업자망 PN-1이 존재할 수 있으며, CN-1 및 CN-2는 사업자망 PN-1과 연결될 수 있다. CN-1의 데이터 요청자(consumer)가 CN-2에 위치한 데이터 소유자의 데이터를 요청하는 인터레스트 패킷을 전송한다고 가정한다. 인터레스트 패킷 전송시, 인터레스트 패킷의 헤더 변환이 필요할 수 있다. 데이터 요청자는 데이터 소유자의 네트워크 이름 NN(network name)=CN-2를 인터레스트 패킷에 포함시켜 전송할 수 있다. 이 인터레스트 패킷에는 태그(tag)가 포함될 수도 있으나, 포함되어 있지 않을 수도 있다. 포함되지 않은 경우에는 PN-1의 인그레스 엣지(Ingress Edge) 노드인 PE1 노드에서 태그인 T1을 추가할 수 있다. 여기서 태그 T1은 새롭게 할당된 것으로서, 출력 태그(out_tag)로 표현될 수 있으며, 현재 태그, 즉 인터레스트 패킷의 본래 태그(in_tag)는 존재하지 않았으므로 null일 수 있다. PE1은 인터레스트 패킷 수신 후 태그 테이블(Tag Table)에 {in_tag, in_if, out_tag}를 추가(혹은 업데이트)할 수 있는데, 여기서 in_if는 PE1에서 인터레스트 패킷을 수신한 인터페이스, 즉 입력 인터페이스를 의미하는 것일 수 있다. As an embodiment, there may be a customer network CN-1 and CN-2, which are content-oriented networks, and a service provider network PN-1, and CN-1 and CN-2 may be connected to the service provider network PN-1. It is assumed that a data requester of CN-1 transmits an interest packet requesting data of a data owner located in CN-2. When transmitting an interest packet, it may be necessary to convert the header of the interest packet. The data requestor may transmit the data owner's network name by including NN (network name) = CN-2 in the interest packet. A tag may be included in this interest packet, but may not be included. If not included, the tag T1 can be added at the PE1 node, the Ingress Edge node of the PN-1. Here, the tag T1 is newly allocated and may be expressed as an output tag (out_tag), and may be null because the current tag, that is, the original tag (in_tag) of the interest packet did not exist. PE1 can add (or update) {in_tag, in_if, out_tag} to the tag table after receiving the interest packet, where in_if refers to the interface that received the interest packet from PE1, that is, the input interface. Can be.

일 실시예로서, 태그 테이블에 {null, in_if, out_tag=T1}을 저장한 후에 인터레스트 패킷을 데이터 소유자가 속한 네트워크(CN-2)로 포워딩하기 위하여, PN-1에 위치한 Non-PE 노드인 R2에 포워딩할 수 있다. 이 때, 인터레스트 패킷의 현재 태그(in_tag)는 T1이며, R2는 인터레스트 패킷의 현재 태그(in_tag)를 T2로 변경(swap)할 수 있다. 이그레스 노드(egress node)인 PE 노드로서 인터레스트 패킷이 포워딩된 PE2는 다시금 현재 태그(in_tag)를 T3으로 변경(swap)할 수 있다. 이후 PE2는 CN-2 네트워크의 엣지 노드이자 Non-PE 노드인 R3에 인터레스트 패킷을 포워딩 할 수 있다. R3는 입력된 인터레스트 패킷의 데이터 요청자가 속한 네트워크 이름이 CN-2이므로 목적지 네트워크가 자신이 속한 네트워크임을 인지할 수 있다. 이에 따라, R3는 태그(tag)를 제거하고 PIT에 태그가 T3임(tag=T3)을 저장한 후에 데이터 소유자(프로듀서, producer)에게 포워딩할 수 있다. As an embodiment, in order to forward the interest packet to the network (CN-2) to which the data owner belongs after storing {null, in_if, out_tag=T1} in the tag table, a non-PE node located in PN-1 Can forward to R2. In this case, the current tag (in_tag) of the interest packet is T1, and R2 may change (swap) the current tag (in_tag) of the interest packet to T2. As a PE node, which is an egress node, PE2 to which an interest packet is forwarded may change (swap) the current tag (in_tag) to T3 again. After that, PE2 can forward interest packets to R3, which is the edge node and non-PE node of the CN-2 network. R3 can recognize that the destination network is the network to which it belongs, since the network name to which the data requester of the input interest packet belongs is CN-2. Accordingly, R3 can forward the tag to the data owner (producer, producer) after removing the tag and storing that the tag is T3 (tag=T3) in the PIT.

한편, 상기에서 언급한 콘텐츠 중심 네트워크를 구성하는 노드인 R1, R2, R3, PE1 및 PE2에 대하여는 도 6 내지 8 및 도 19를 참조하여 더욱 상세하게 설명할 것이며, 콘텐츠 중심 네트워크에서 상기와 같이 인터레스트 패킷 및 데이터 패킷을 처리하는 방법에 대하여는 도 13 내지 도 19를 참조하여 더욱 상세하게 설명할 것이다. 또한, 상기에서 언급한 PIT, 태그 테이블 및 패킷은 도 9 내지 12에서 설명되는 것과 동일할 수 있다.Meanwhile, R1, R2, R3, PE1, and PE2, which are nodes constituting the content-centric network mentioned above, will be described in more detail with reference to FIGS. 6 to 8 and 19. A method of processing the rest packet and the data packet will be described in more detail with reference to FIGS. 13 to 19. In addition, the PIT, tag table, and packet mentioned above may be the same as those described in FIGS. 9 to 12.

도 3은 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서의 태그 테이블(tag table) 기반 데이터 패킷 포워딩 방식을 설명하기 위한 도면이다.3 is a diagram for describing a data packet forwarding method based on a tag table in a content-oriented network according to an embodiment of the present disclosure.

일 실시예로서, 콘텐츠 중심 네트워크인 고객망 CN-1과 CN-2, 사업자망 PN-1이 존재하고, CN-1 및 CN-2는 사업자망 PN-1과 연결될 수 있다. As an embodiment, there are customer networks CN-1 and CN-2, which are content-oriented networks, and a service provider network PN-1, and CN-1 and CN-2 may be connected to the service provider network PN-1.

일 실시예로서, 도 3은 도 2와 같이 데이터 요청자로부터 송신된 인터레스트 패킷이 수신된 이후 데이터 소유자가 데이터 패킷을 응답으로서 데이터 요청자에게 송신하는 과정을 나타내는 것일 수 있다. 하기에서는 설명의 명료함을 위하여 도 2의 과정이 우선하였다고 가정한다. 즉, CN-2의 데이터 소유자 (프로듀서, producer)에서 데이터 패킷을 CN-1의 데이터 요청자 (컨슈머, consumer)에게 보내는 과정일 수 있다.As an embodiment, FIG. 3 may show a process in which the data owner transmits the data packet as a response to the data requester after the interest packet transmitted from the data requester is received as shown in FIG. 2. In the following, it is assumed that the process of FIG. 2 has been given priority for clarity of description. In other words, it may be a process in which the data owner (producer, producer) of CN-2 sends a data packet to the data requester (consumer, consumer) of CN-1.

일 실시예로서, CN-2에 위치한 데이터 소유자가 CN-1에 위치하는 데이터 요청자에게 송신하는 데이터 패킷의 헤더에는 데이터 이름만이 포함되어 있을 수 있다. 즉, 데이터 패킷에 태그는 포함되어 있지 않을 수 있다. CN-2에 위치한 엣지 노드인 R3의 PIT에는 해당 데이터 이름에 대해 출력 태그(tag=T3)가 저장되어 있을 수 있다. 이 때, 헤더의 데이터 이름을 기반으로 PIT를 탐색할 수 있으며, PIT에서 데이터 이름에 매칭되는 출력 태그(tag=T3)가 데이터 패킷에 추가될 수 있다. 이후 데이터 패킷은 매칭되는 태그의 연관 인터페이스(인터레스트 패킷의 인터페이스)로 포워딩해서 PN-1의 PE2로 전달될 수 있다. As an embodiment, only the data name may be included in a header of a data packet transmitted by a data owner located in CN-2 to a data requestor located in CN-1. That is, the tag may not be included in the data packet. In the PIT of R3, which is an edge node located in CN-2, an output tag (tag=T3) may be stored for the corresponding data name. In this case, the PIT may be searched based on the data name of the header, and an output tag (tag=T3) matching the data name in the PIT may be added to the data packet. Thereafter, the data packet may be forwarded to the associated interface (interrest packet interface) of the matching tag and transmitted to PE2 of the PN-1.

또한, PE2 노드에서는 태그 테이블(Tag Table)의 출력 태그 필드 ({out_tag} field)에 대해 태그(T3)를 탐색할 수 있다. 관련하여, 데이터 패킷의 태그는 그 자체로서 출력 태그를 의미하는 것이 아니고, 태그 테이블의 출력 태그 필드를 검색하는 정보로 활용될 수 있다. 예를 들어, 태그를 탐색하여 매칭되는 엔트리를 태그 테이블부터 찾아내면, 해당 엔트리의 {in_tag, in_if}를 획득하여 데이터 패킷의 태그(T3)를 매칭된 인터레스트 그룹 태그(in_tag)인 T2로 변경(swap)하고, 매칭되는 인터페이스(in_if)로 포워딩할 수 있다. 마찬가지로, PE2에 의해 인터레스트 패킷이 포워딩된 R2 노드에서는 태그 테이블(Tag Table)의 출력 태그 필드 ({out_tag} field)에 대해 데이터 태그의 현재 태그, 즉 태그(T2)를 탐색할 수 있다. 태그를 탐색하여 매칭되는 엔트리를 찾아내면, 해당 엔트리의 {in_tag, in_if}를 획득하여 데이터 패킷의 태그(T2)를 매칭된 인터레스트 그룹 태그(in_tag)인 T1로 변경(swap)하고, 매칭되는 인터페이스(in_if)로 포워딩할 수 있다. 여기서, 데이터 패킷이 포워딩 된 PE1 노드의 태그 테이블(Tag Table)을 기반으로, 태그(T1)와 매칭되는 엔트리를 검색하면, 인터레스트 패킷이 태그를 포함하지 않았었던(tag=null) 것을 알 수 있다. 즉, T1으로 태그 테이블의 out_tag 필드를 탐색하면 {null, in_if}가 리턴될 수 있으며, 여기서 in_tag = null 이므로 데이터 패킷의 tag을 제거한 후에 데이터 패킷을 인터레스트 패킷이 입력되었던 인터페이스(in_if)로 포워딩할 수 있다.In addition, in the PE2 node, the tag T3 may be searched for the output tag field ({out_tag} field) of the tag table. In relation to this, the tag of the data packet does not mean an output tag by itself, but may be used as information for searching an output tag field of a tag table. For example, if a tag is searched and the matching entry is found from the tag table, the {in_tag, in_if} of the corresponding entry is obtained and the tag (T3) of the data packet is changed to the matched interest group tag (in_tag) T2. (swap) and forwarding to the matching interface (in_if). Similarly, in the R2 node to which the interest packet is forwarded by PE2, the current tag of the data tag, that is, the tag T2, can be searched for the output tag field ({out_tag} field) of the tag table. When a matching entry is found by searching for a tag, the tag (T2) of the data packet is changed (swap) to the matched interest group tag (in_tag) T1 by acquiring the {in_tag, in_if} of the corresponding entry. It can be forwarded to the interface (in_if). Here, based on the tag table of the PE1 node to which the data packet was forwarded, if an entry matching the tag T1 is searched, it can be seen that the interest packet did not contain a tag (tag=null). have. In other words, if you search the out_tag field of the tag table with T1, {null, in_if} can be returned. Since in_tag = null, the data packet is forwarded to the interface (in_if) where the interest packet was input after removing the tag of the data packet. can do.

한편, 상기에서 언급한 콘텐츠 중심 네트워크를 구성하는 노드인 R1, R2, R3, PE1 및 PE2에 대하여는 도 6 내지 8 및 도 19를 참조하여 더욱 상세하게 설명할 것이며, 콘텐츠 중심 네트워크에서 상기와 같이 인터레스트 패킷 및 데이터 패킷을 처리하는 방법에 대하여는 도 13 내지 도 19를 참조하여 더욱 상세하게 설명할 것이다. 또한, 상기에서 언급한 PIT, 태그 테이블 및 패킷은 도 9 내지 12에서 설명되는 것과 동일할 수 있다.Meanwhile, R1, R2, R3, PE1, and PE2, which are nodes constituting the content-centric network mentioned above, will be described in more detail with reference to FIGS. 6 to 8 and 19. A method of processing the rest packet and the data packet will be described in more detail with reference to FIGS. 13 to 19. In addition, the PIT, tag table, and packet mentioned above may be the same as those described in FIGS. 9 to 12.

도 4는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서의 복수의 코어 네트워크를 기반으로 한 패킷 포워딩 방식에서 태그 테이블의 사용 예를 설명하기 위한 도면이다. 특히 도 4는 전술한 도 2 및 도 3에 따른 인터레스트 패킷 및 데이터 패킷의 전달 경로에 따른 태그 테이블의 사용 예를 보여준다. 4 is a diagram for explaining an example of using a tag table in a packet forwarding method based on a plurality of core networks in a content-oriented network according to an embodiment of the present disclosure. In particular, FIG. 4 shows an example of using a tag table according to a transmission path of an interest packet and a data packet according to FIGS. 2 and 3 described above.

도 4를 참고하면, 예를 들어, 콘텐츠 중심 네트워크인 사업자망 NetB, NetC와 고객망 NetA, NetD가 존재할 수 있다. 이 때, 도 4는 데이터 소유자 및 데이터 요청자가 고객망(NetD, NetA)에 존재하는 경우를 나타낸 것이다. Referring to FIG. 4, for example, there may be a content-oriented network such as a service provider network NetB and NetC, and a customer network NetA and NetD. In this case, FIG. 4 shows a case where a data owner and a data requestor exist in a customer network (NetD, NetA).

구체적으로, 도 4는 고객망 NetA에 속한 데이터 요청자가 고객망 NetD에 속한 데이터 소유자의 데이터를 요청해서 수신하는 경우의 패킷 교환 과정을 설명하기 위한 도면이다. 이 경우, 인터레스트 패킷의 태그는 NetB 및 NetC를 거치면서 20, 30, 40, 50로 변경될 수 있다. 반대로, 데이터 패킷의 태그는 NetB 및 NetC를 거치면서 50, 40, 30, 20으로 변경될 수 있다. 이 과정은 상기 도 2 및 도 3을 참조한 과정과 동일할 수 있으며, 하기에서 다른 도면을 참조하여 더욱 상세하게 설명될 수 있다. Specifically, FIG. 4 is a diagram illustrating a packet exchange process when a data requestor belonging to a customer network NetA requests and receives data of a data owner belonging to a customer network NetD. In this case, the tag of the interest packet may be changed to 20, 30, 40, 50 through NetB and NetC. Conversely, the tag of the data packet can be changed to 50, 40, 30, 20 through NetB and NetC. This process may be the same as the process with reference to FIGS. 2 and 3, and may be described in more detail below with reference to other drawings.

도 5는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서의 인접 코어 네트워크 간 패킷 교환 방식을 설명하기 위한 도면이다.5 is a diagram illustrating a packet exchange method between adjacent core networks in a content-oriented network according to an embodiment of the present disclosure.

도 5를 참고하면, 예를 들어, 콘텐츠 중심 네트워크인 사업자망 PN-1, PN-2 와 고객망 CN-1, CN-2가 존재할 수 있다. 이 때, 도 5는 데이터 소유자 (producer) 및 데이터 요청자 (consumer)가 인접 사업자망(PN-1, PN-2)에 각각 존재하는 경우를 나타낸 것이다.Referring to FIG. 5, for example, there may be content-oriented networks, such as operator networks PN-1 and PN-2, and customer networks CN-1 and CN-2. In this case, FIG. 5 shows a case in which a data owner (producer) and a data requestor (consumer) exist in neighboring operator networks (PN-1 and PN-2), respectively.

구체적으로, 도 5는 사업자망 PN-1에 속한 데이터 요청자(consumer)가 인접한 사업자망 PN-2에 속한 데이터 소유자(producer)의 데이터를 요청해서 수신하는 경우의 패킷 교환 과정을 설명하기위한 도면이다. 이 경우 인터레스트 패킷에게 PN-1 망은 소스 네트워크이고 PN-2는 목적지 네트워크여서 이 인터레스트 패킷은 PN-1과 PN-2 모두에서 로컬 인터레스트 패킷(local interest packet)로 분류될 수 있다. 따라서, 태그를 패킷에 포함시키지 않을 수 있게 된다.Specifically, FIG. 5 is a diagram for explaining a packet exchange process when a data requester belonging to an operator network PN-1 requests and receives data of a data owner belonging to an adjacent operator network PN-2 . In this case, for the interest packet, the PN-1 network is the source network and the PN-2 is the destination network, so this interest packet can be classified as a local interest packet in both PN-1 and PN-2. Therefore, it is possible not to include the tag in the packet.

도 6은 본 개시에 적용 가능한 콘텐츠 중심 네트워크를 구성하는 노드의 일 예를 설명하기 위한 도면이다. 6 is a diagram illustrating an example of a node constituting a content-oriented network applicable to the present disclosure.

일 실시예로서, 도 6의 노드는 PE(Provider Edge) 노드 및 Non-PE 노드일 수 있으며, 프로세서(601), 콘텐츠 스토어(Content Store, CS)(602), PIT(Pending Interest Table)(603), FIB(Forwarding Information Base)(604), 태그 테이블(tag table)(605), PIT/태그 테이블 선택 로직(PIT/Tag Table Selection Logic)(606), 하나 이상의 인터페이스(607)가 포함될 수 있다. 단, 상기 도 6의 구성은 본 개시를 설명하기 위해 예를 들어 도시한 것에 불과하다. 따라서, 상기 도 6의 구성 중 일부 또는 전부는 통합되어 하나의 하드웨어 또는 소프트웨어에서 구현될 수 있음은 자명하다. 예를 들어, 상기 PIT/태그 테이블 선택 로직(606)은 상기 프로세서(601)내의 일 구성으로도 구현할 수 있다. 이는 후술할 도 7 내지 8 에도 동일하게 적용될 수 있다.As an embodiment, the node of FIG. 6 may be a provider edge (PE) node and a non-PE node, and a processor 601, a content store (CS) 602, and a pending interest table (PIT) 603 ), Forwarding Information Base (FIB) 604, tag table 605, PIT/Tag Table Selection Logic 606, and one or more interfaces 607 may be included. . However, the configuration of FIG. 6 is merely illustrated as an example to describe the present disclosure. Accordingly, it is obvious that some or all of the configurations of FIG. 6 may be integrated and implemented in one hardware or software. For example, the PIT/tag table selection logic 606 may be implemented as a component in the processor 601. This can be equally applied to FIGS. 7 to 8 to be described later.

일 실시예로서, 프로세서(601)는 노드의 다른 구성(602, 603, 604, 605, 606, 607)의 전반적인 제어를 수행할 수 있으며, 인터레스트 패킷 및 데이터 패킷을 생성하여 인터페이스를 통해 송수신할 수 있다. 일 실시예로서, 프로세서는 PIT/태그 테이블 선택 로직과 연동될 수 있으며, 패킷 포워딩을 위한 일련의 과정을 수행할 수 있다. 일 실시에로서 프로세서는 각 테이블의 초기화를 관여하고, 패킷 포워딩 과정은 각 테이블 구현 로직에서 수행될 수 있다. 패킷 포워딩 과정은 상기 도 2 내지 5 및 하기 도 13 내지 18을 포함할 수 있다. 수신된 패킷에 태그가 포함된 경우, PIT/태그 테이블 선택 로직을 기반으로, 상기 프로세서는 상기 수신된 패킷의 태그 및 상기 수신된 패킷의 인터페이스에 매칭되는 엔트리(entry)를 상기 태그 테이블에서 탐색할 수 있다. 또한, 탐색 성공시 프로세서는 태그 테이블을 기반으로 패킷의 태그(in_tag)를 출력 태그(out_tag)로 변경하거나, 출력 태그(out_tag)를 태그(in_tag)로 변경할 수 있다. 반면, 상기 태그 테이블에서 탐색이 실패한 경우, 상기 프로세서는 출력 태그를 할당하여 상기 수신된 패킷의 태그를 상기 출력 태그로 변경할 수 있다. 또한, 수신된 패킷에 태그가 포함되지 않은 경우, 상기 프로세서는 상기 패킷이 수신된 인터페이스를 기반으로 상기 수신된 패킷에 태그를 부여할 수 있다. 상기 패킷에 상기 부여된 태그 및 상기 수신된 인터페이스는 상기 태그 테이블에 추가될 수 있다. 수신된 패킷이 외부 네트워크로부터 수신된 경우, 상기 프로세서는 상기 네트워크 이름(Network Name) FIB(Forwarding Information Base) 룩업(Lookup)을 통해 패킷을 포워딩할 수 있다. 수신된 패킷이 내부 네트워크로부터 수신된 경우, 상기 프로세서는 상기 데이터 이름 프리픽스(Data Name Prefix) FIB 룩업을 통해 패킷 포워딩을 수행할 수 있다. 수신된 패킷의 네트워크 이름이 라우터 리전과 동일한 경우, 상기 프로세서는 상기 데이터 이름 프리픽스(Data Name Prefix) FIB 룩업을 통해 패킷을 포워딩할 수 있다. 상기 수신된 패킷에 태그가 포함된 경우, 상기 프로세서는 상기 태그 및 상기 패킷이 수신된 인터페이스를 상기 PIT(Pending Interest Table)에 업데이트할 수 있다. As an embodiment, the processor 601 may perform overall control of other components 602, 603, 604, 605, 606, 607 of the node, and generate interest packets and data packets to be transmitted and received through the interface. I can. As an embodiment, the processor may be interlocked with the PIT/tag table selection logic, and may perform a series of processes for packet forwarding. As an embodiment, the processor is involved in the initialization of each table, and the packet forwarding process may be performed in each table implementation logic. The packet forwarding process may include FIGS. 2 to 5 and FIGS. 13 to 18 below. When a tag is included in the received packet, based on the PIT/tag table selection logic, the processor searches the tag table for an entry matching the tag of the received packet and the interface of the received packet. I can. In addition, when the search is successful, the processor may change a tag (in_tag) of a packet to an output tag (out_tag) or change an output tag (out_tag) to a tag (in_tag) based on the tag table. On the other hand, when the search fails in the tag table, the processor may change the tag of the received packet to the output tag by allocating an output tag. In addition, when a tag is not included in the received packet, the processor may assign a tag to the received packet based on the interface on which the packet was received. The tag assigned to the packet and the received interface may be added to the tag table. When the received packet is received from an external network, the processor may forward the packet through the Network Name (FIB) Forwarding Information Base (FIB) lookup. When a received packet is received from an internal network, the processor may perform packet forwarding through the Data Name Prefix FIB lookup. When the network name of the received packet is the same as the router region, the processor may forward the packet through the Data Name Prefix FIB lookup. When a tag is included in the received packet, the processor may update the tag and the interface on which the packet is received in the PIT (Pending Interest Table).

일 실시예로서, 상기 인터페이스를 통해 데이터 패킷을 수신하되, 상기 데이터 패킷이 출력 태그를 포함하는 경우, 상기 프로세서는 상기 출력 태그와 매칭되는 엔트리를 상기 태그 테이블에서 탐색할 수 있다. 상기 프로세서는, 상기 출력 태그는 상기 매칭된 엔트리의 상기 인터레스트 패킷 태그로 변경하고, 상기 수신된 패킷을 상기 매칭된 엔트리의 인터페이스로 포워딩할 수 있다. 상기 수신된 패킷에 출력 태그가 포함되지 않은 데이터 패킷인 경우, 상기 프로세서는 PIT(Pending Interest Table)에서 데이터 이름 프리픽스(Data Name Prefix)를 기반으로 획득한 인터레스트 패킷의 태그와 인터페이스를 통해 패킷을 포워딩할 수 있다. As an embodiment, when a data packet is received through the interface, and the data packet includes an output tag, the processor may search for an entry matching the output tag in the tag table. The processor may change the output tag to the interest packet tag of the matched entry, and forward the received packet to the interface of the matched entry. In the case of a data packet that does not include an output tag in the received packet, the processor transmits the packet through an interface and a tag of an interest packet obtained based on a data name prefix from a PIT (Pending Interest Table). Can be forwarded.

한편, 프로세서는, 예를 들어, 패킷 포워딩부로 표현될 수도 있다. 이는, 도 19에서 더욱 상세하게 설명될 것이다.Meanwhile, the processor may be expressed as, for example, a packet forwarding unit. This will be described in more detail in FIG. 19.

일 실시예로서, 콘텐츠 스토어(Content Store)(602)는 해당 노드를 경유한 데이터 패킷의 캐싱(caching)을 수행할 수 있다.As an embodiment, the content store 602 may caching a data packet passing through a corresponding node.

일 실시예로서, PIT(Pending Interest Table)(603)는 데이터 패킷을 응답받지 못한 인터레스트 패킷의 정보를 저장하는 테이블일 수 있다. 이는 도 11에서 더욱 상세하게 설명할 것이다. As an embodiment, the PIT (Pending Interest Table) 603 may be a table that stores information on an interest packet that has not received a data packet. This will be described in more detail in FIG. 11.

일 실시예로서, FIB(Forwarding Information Base)(604)는 데이터 이름 프리픽스(Data name prefix) 및 네트워크 이름을 기반으로 할 수 있으며, 노드가 FIB를 룩업하여 인터리스트 패킷을 포워딩할 수 있다. As an embodiment, the Forwarding Information Base (FIB) 604 may be based on a data name prefix and a network name, and a node may look up an FIB to forward an interlist packet.

일 실시예로서, 태그 테이블(tag table)(605)은 다른 네트워크로 향하는 트랜짓 트래픽에 대하여 사용될 수 있는 인터페이스 별로 패킷에 할당되는 태그(tag)와 인터레스트 패킷의 관련 정보를 테이블 형태로서 포함할 수 있다. 이 때, 태그란 일반적인 태그(입력 태그, in_tag)와 출력 태그(out_tag)를 포함할 수 있다. 예를 들어, 상기 태그 테이블은 상기 수신된 패킷의 태그, 상기 수신된 패킷의 포워딩을 위한 출력 태그, 상기 수신된 패킷의 최선 수신 시각 정보 및 상기 수신된 패킷의 에이징 관리를 위한 플래그(flag) 중 적어도 어느 하나를 포함할 수 있다. 이는 상기에서 언급한 바와 동일할 수 있으며, 하기 도 7 내지 도 19에서 더욱 상세하게 설명할 것이다. As an embodiment, the tag table 605 may include tags allocated to packets for each interface that can be used for transit traffic to other networks and related information of interest packets in the form of a table. have. In this case, the tag may include a general tag (input tag, in_tag) and an output tag (out_tag). For example, the tag table includes a tag of the received packet, an output tag for forwarding the received packet, information on the best reception time of the received packet, and a flag for aging management of the received packet. It may include at least any one. This may be the same as mentioned above, and will be described in more detail in FIGS. 7 to 19 below.

일 실시예로서, PIT/태그 테이블 선택 로직(606)은 태그 테이블의 전반적인 제어를 수행할 수 있다. 또한, 인터레스트 패킷이 입력된 인터페이스가 외부 네트워크와 연결된 것인지의 여부와 인터레스트의 네트워크 이름이 노드의 리전(region), 즉 라우터 리전과 일치하는지의 여부에 따라 적절히 PIT 또는 태그 테이블을 선택할 수 있다. 일 실시예로서, 데이터 패킷에 대해서는 태그를 포함할 때 태그 테이블을 선택하고, 태그를 포함하지 않으면 PIT를 선택할 수 있다. 보다 구체적으로 PIT/태그 테이블 선택 로직에 의하면, 인터레스트 패킷에 대해서, 외부 네트워크에서 수신된 경우 네트워크 이름이 노드의 리전, 즉 라우터 리전과 상이할 때 태그 테이블을 선택하며, 내부 네트워크에서 수신된 경우 인터레스트 패킷이 태그를 포함할 때만 태그 테이블(Tag Table)을 선택할 수 있다. 이 외의 경우에는 PIT를 선택할 수 있다. 이 때, 노드는 인터페이스 별로 연결된 네트워크가 내부 또는 외부인지를 사전에 설정된 값으로 인지하고 있거나, 적절한 라우터간 제어 프로토콜에 의해서 인지하게 될 수 있다. 또한, 일 실시예로서, 프로세서는 PIT/태그 테이블 선택 로직과 연동되거나 포함할 수 있으며, PIT/태그 테이블 선택 로직이 태그 테이블을 기반으로 직접 패킷의 태그(in_tag)를 출력 태그(out_tag)로 변경하거나, 출력 태그(out_tag)를 태그(in_tag)로 변경하는 것도 가능하다.As an embodiment, the PIT/tag table selection logic 606 may perform overall control of the tag table. In addition, depending on whether the interface to which the interest packet is input is connected to an external network and whether the network name of the interest matches the region of the node, that is, the router region, a PIT or tag table can be appropriately selected. . As an embodiment, for a data packet, when a tag is included, a tag table may be selected, and when a tag is not included, a PIT may be selected. More specifically, according to the PIT/tag table selection logic, when the interest packet is received from an external network, a tag table is selected when the network name is different from the node region, that is, the router region, and when received from the internal network. You can select a tag table only when the interest packet contains a tag. In other cases, PIT can be selected. In this case, the node may recognize as a preset value whether the network connected for each interface is internal or external, or may be recognized by an appropriate inter-router control protocol. In addition, as an embodiment, the processor may interlock with or include the PIT/tag table selection logic, and the PIT/tag table selection logic directly changes the tag (in_tag) of the packet to the output tag (out_tag) based on the tag table. Alternatively, it is possible to change the output tag (out_tag) to a tag (in_tag).

일 실시예로서, 하나 이상의 인터페이스(607)는 인터레스트 패킷 및 데이터 패킷을 복수의 원격 노드와 송수신할 수 있다.As an embodiment, one or more interfaces 607 may transmit/receive an interest packet and a data packet to and from a plurality of remote nodes.

한편, 도 6의 노드 및 하기의 노드는 일 실시예에 해당하므로, 일부 구성이 제외되거나 다른 구성이 더 포함될 수 있다. 또한, 하나의 구성이 복수 개의 하드웨어 혹은 소프트웨어로 구현될 수 있으며, 복수 개의 구성이 하나의 하드웨어 혹은 소프트웨어로 구현될 수 있다. 일 실시예로서, 프로세서(601) 및/혹은 PIT/태그 테이블 선택 로직(606)은 하나의 프로세서나 하나의 패킷 포워딩부로서 표현될 수 있다. 이는, 도 19에서 더욱 상세하게 설명될 것이다.Meanwhile, since the node of FIG. 6 and the following node correspond to an embodiment, some components may be excluded or other components may be further included. In addition, one component may be implemented by a plurality of hardware or software, and a plurality of components may be implemented by a single hardware or software. As an embodiment, the processor 601 and/or the PIT/tag table selection logic 606 may be expressed as one processor or one packet forwarding unit. This will be described in more detail in FIG. 19.

일 실시예로서, 도 6의 설명은 하기의 도 7 내지 도 8의 내용과 배치되지 않는 한 도 7 및 도 8에 나타난 노드에도 적용될 수 있다. As an embodiment, the description of FIG. 6 may be applied to the nodes shown in FIGS. 7 and 8 as long as the description of FIG. 6 is not arranged with the contents of FIGS. 7 to 8 below.

도 7은 본 개시에 적용 가능한 콘텐츠 중심 네트워크를 구성하는 노드의 다른 예를 설명하기 위한 도면이다. 보다 상세하게는, 콘텐츠 중심 네트워크를 구성하는 노드에 포함될 수 있는 PIT, 태그 테이블 및 PIT/태그 테이블 선택 로직 구성과 FIB 구성을 상세히 설명하기 위한 도면이다.7 is a diagram for describing another example of a node constituting a content-oriented network applicable to the present disclosure. In more detail, it is a diagram for explaining in detail the configuration of PIT, tag table, and PIT/tag table selection logic and FIB configuration that may be included in a node constituting a content-oriented network.

일 실시예로서, 도시되지는 않았으나 도 7의 노드는 PIT, 태그 테이블 및 PIT/태그 테이블 선택 로직, FIB 외에 프로세서, 콘텐츠 스토어, 하나 이상의 인터페이스 등을 포함할 수 있다. As an embodiment, although not shown, the node of FIG. 7 may include a PIT, a tag table, and PIT/tag table selection logic, a processor, a content store, and one or more interfaces in addition to the FIB.

일 실시예로서 노드의 FIB는 데이터 이름 프리픽스(Data name Prefix) FIB와 네트워크 이름(Network Name) FIB를 포함할 수 있다. 데이터 요청자 혹은 데이터 소유자의 네트워크에 존재하는 인터레스트 패킷인 로컬 인터레스트 패킷(Local Interest Packet)(701)을 처리함에 있어서는 CS 및 PIT 룩업(lookup)을 거쳐 데이터 이름 프리픽스 FIB(703)를 룩업하게 될 수 있다. As an embodiment, the FIB of the node may include a data name prefix FIB and a network name FIB. In processing the local interest packet 701, which is an interest packet existing in the network of the data requester or data owner, the data name prefix FIB 703 is looked up through CS and PIT lookup. I can.

반면, 그 외의 네트워크에 존재하는 인터레스트 패킷인 트랜짓 인터레스트 패킷(Transit Interest packet)(702)의 경우 태그 테이블(Tag Table)을 거쳐서 네트워크 이름 FIB(704)를 룩업하는 과정을 거치게 될 수 있다. 이 때, 네트워크 이름 FIB의 룩업은 인터레스트 패킷에 포함된 데이터 이름과 함께 네트워크 이름을 저장한 포워딩 힌트(Forwarding Hint) 필드를 기반으로 수행될 수 있다.On the other hand, in the case of a transit interest packet 702, which is an interest packet existing in other networks, a process of looking up the network name FIB 704 may be performed through a tag table. In this case, the lookup of the network name FIB may be performed based on a Forwarding Hint field that stores the network name together with the data name included in the interest packet.

이 경우, 데이터 이름 프리픽스 FIB나 네트워크 이름 FIB의 룩업은 LPM(Longest Prefix Match) 룩업 방식에 의할 수 있다. In this case, the lookup of the data name prefix FIB or the network name FIB may be performed by the LPM (Longest Prefix Match) lookup method.

일 실시예로서, 트랜짓 인터레스트 패킷의 경우에도 트랜짓 인터레스트 패킷의 네트워크 이름은 일반적으로 데이터 이름 프리픽스보다 훨씬 짧고 한정된 길이를 가질 수 있으므로, 네트워크 이름 FIB를 데이터 이름 프리픽스 FIB와 분리하면, 네트워크 이름 FIB는 TCAM(ternary content-addressable memory)과 같은 하드웨어로 고속 룩업을 구현할 수 있게 되어 FIB 탐색 시 시간적으로 뛰어난 성능을 제공할 수 있다. 인터넷 코어망에서 대부분의 트래픽은 트랜짓 트래픽이기 때문에 이에 따르면 트랜짓 트래픽이 룩업하는 네트워크 네임 FIB를 분리함으로서 콘텐츠 중심 네트워크의 코어 라우터 대용량화에 수월해지는 장점을 가지게 될 수 있다.As an embodiment, even in the case of a transit interest packet, the network name of the transit interest packet is generally much shorter than the data name prefix and may have a limited length. Therefore, separating the network name FIB from the data name prefix FIB, the network name FIB It is possible to implement a high-speed lookup with hardware such as TCAM (ternary content-addressable memory), and thus provide excellent temporal performance when searching for FIB. Since most of the traffic in the Internet core network is transit traffic, according to this, by separating the network name FIB from which the transit traffic looks up, it can have an advantage that it is easy to increase the capacity of the core router of the content-oriented network.

도 8은 본 개시에 적용 가능한 콘텐츠 중심 네트워크를 구성하는 노드의 또다른 일 예를 설명하기 위한 도면이다. 보다 상세하게는, 콘텐츠 중심 네트워크를 구성하는 노드에 포함될 수 있는 PIT, 태그 테이블 및 PIT/태그 테이블 선택 로직 구성과 FIB 구성을 상세히 설명하기 위한 도면이다.8 is a diagram for explaining another example of a node constituting a content-oriented network applicable to the present disclosure. In more detail, it is a diagram for explaining in detail the configuration of PIT, tag table, and PIT/tag table selection logic and FIB configuration that may be included in a node constituting a content-oriented network.

일 실시예로서, 도 8의 인터레스트 패킷은 데이터 이름 대신 어플리케이션 이름을 포함할 수 있다. 또한, 도시되지는 않았으나 도 8의 노드는 PIT, 태그 테이블 및 PIT/태그 테이블 선택 로직, FIB 외에 프로세서, 하나 이상의 인터페이스 등을 포함할 수 있다. 이때, 해당 노드를 경유하는 데이터 패킷을 캐싱하는 콘텐츠 스토어(CS)는 포함되지 않을 수 있다. 콘텐츠 스토어가 노드에 포함되는 경우에는 PIT와 연동된 하드웨어 혹은 소프트웨어로서 구현되는 것도 가능하다. As an embodiment, the interest packet of FIG. 8 may include an application name instead of a data name. In addition, although not shown, the node of FIG. 8 may include a PIT, a tag table, and a PIT/tag table selection logic, a processor in addition to the FIB, and one or more interfaces. In this case, the content store CS for caching data packets passing through the corresponding node may not be included. When the content store is included in the node, it may be implemented as hardware or software interlocked with the PIT.

일 실시예로서 인터레스트 패킷은 데이터 이름 대신 어플리케이션 이름을 포함할 수 있으며, 네트워크 이름을 포함하고 있을 수 있다. 노드의 FIB는 어플리케이션 이름 프리픽스(Application name Prefix) FIB(801)와 네트워크 이름(Network Name) FIB를 포함할 수 있다. 이 때, 네트워크 이름 FIB는 상기 도 7에서 설명한 바와 동일할 수 있다. 데이터 요청자 혹은 데이터 소유자의 네트워크에 존재하는 인터레스트 패킷인 로컬 인터레스트 패킷(Local Interest Packet)을 처리함에 있어서는 CS 및 PIT 룩업(lookup)을 거쳐 어플리케이션 이름 프리픽스 FIB(801)를 룩업하게 될 수 있다. As an embodiment, the interest packet may include an application name instead of a data name, and may include a network name. The FIB of the node may include an application name prefix FIB 801 and a network name FIB. In this case, the network name FIB may be the same as described in FIG. 7. In processing a local interest packet, which is an interest packet existing in a network of a data requester or data owner, the application name prefix FIB 801 may be looked up through CS and PIT lookup.

반면, 그 외의 네트워크에 존재하는 인터레스트 패킷인 트랜짓 인터레스트 패킷(Transit Interest packet)의 경우 상기에서 언급한 바에 따라 태그 테이블(Tag Table)을 거쳐서 네트워크 이름 FIB를 룩업하는 과정을 거치게 될 수 있다. 이 때, 네트워크 이름 FIB의 룩업은 인터레스트 패킷에 포함된 데이터 이름과 함께 네트워크 이름을 저장한 포워딩 힌트(Forwarding Hint) 필드를 기반으로 수행될 수 있다. On the other hand, in the case of a transit interest packet, which is an interest packet existing in other networks, a process of looking up a network name FIB may be performed through a tag table as mentioned above. In this case, the lookup of the network name FIB may be performed based on a Forwarding Hint field that stores the network name together with the data name included in the interest packet.

이 경우, 데이터 이름 프리픽스 FIB나 네트워크 이름 FIB의 룩업은 LPM(Longest Prefix Match) 룩업 방식에 의할 수 있다. In this case, the lookup of the data name prefix FIB or the network name FIB may be performed by the LPM (Longest Prefix Match) lookup method.

도 9는 본 개시에 적용 가능한 콘텐츠 중심 네트워크에서의 태그 테이블(tag table)의 일 예를 설명하기 위한 도면이다. 9 is a diagram illustrating an example of a tag table in a content-oriented network applicable to the present disclosure.

일 실시예로서, 태그 테이블에는 태그(입력 태그, in_tag)(901), 인터페이스(in_interface, in_if)(902), 출력 태그(out_tag)(903), 최선 수신 시각(last_visit_time)(904)이 포함될 수 있다. 태그 테이블의 각 필드의 순서는 임의로 주어진 것이며 도 9에 한정되는 것은 아니다.As an embodiment, the tag table may include a tag (input tag, in_tag) 901, an interface (in_interface, in_if) 902, an output tag (out_tag) 903, and the best reception time (last_visit_time) 904. have. The order of each field in the tag table is given arbitrarily and is not limited to FIG. 9.

일 실시예로서, 태그(in_tag)(901)는 인터레스트 패킷의 현재 태그(혹은 입력태그)를 의미할 수 있다. 태그는 불변적인 것이 아니며, 패킷 트랜짓(packet transit)이 수행되는 동안 변경될 수 있다. 인터레스트 패킷 포워딩의 경우, 패킷의 태그는 in_tag 값일 수 있으며, 예를 들어 트랜짓 트래픽을 처리하는 노드를 거칠 때마다 출력 태그(out_tag) 값으로 변경될 수 있다. 데이터 패킷 포워딩의 경우, 패킷의 태그는 out_tag 값일 수 있으며, 예를 들어 트랜짓 트래픽을 처리하는 노드를 거칠 때 마다 in_tag에 해당하는 태그 값으로 변경될 수 있다. 이는 상기에서 언급한 바와 같으며, 하기에서 다른 도면을 참조하여 더욱 상세하게 설명될 수 있다. As an embodiment, the tag (in_tag) 901 may mean a current tag (or an input tag) of an interest packet. Tags are not immutable and may change during packet transit. In the case of interest packet forwarding, the tag of the packet may be an in_tag value, and for example, it may be changed to an output tag (out_tag) value each time it passes through a node that processes transit traffic. In the case of data packet forwarding, the tag of the packet may be an out_tag value, and for example, it may be changed to a tag value corresponding to in_tag each time it passes through a node that processes transit traffic. This is as mentioned above, and may be described in more detail below with reference to other drawings.

일 실시예로서, 인터페이스(in_interface, in_if)(902)는 인터레스트 패킷이 입력된 인터페이스일 수 있다. 인터페이스는 도 6에서 언급한 바와 같이 하나 이상 존재할 수 있으며, 원격의 노드에 인터레스트 패킷 및 데이터 패킷을 송수신하는 데 이용될 수 있다.As an embodiment, the interface (in_interface, in_if) 902 may be an interface to which an interest packet is input. As mentioned in FIG. 6, one or more interfaces may exist, and may be used to transmit/receive interest packets and data packets to a remote node.

일 실시예로서, 출력 태그(out_tag)(903)는 인터레스트 패킷이 포워딩될 때 태그가 변경됨에 따라 갖게 되는 태그 값으로서, 태그 테이블의 태그(in_tag)에 대해 매칭되는 엔트리로부터 결정되는 것일 수 있다. 즉, in_tag를 포함하는 인터레스트 패킷을 기반으로 태그 테이블을 {in_tag, in_if}로 탐색함에 따라 매칭되는 값일 수 있다. 매칭되는 값인 출력 태그는 패킷 포워딩 시 인터레스트 패킷의 태그 값이 될 수 있다. 인터레스트 패킷의 응답인 데이터 패킷은 출력 태그(out_tag)를 포함하게 될 수 있다. 출력 태그(Out_tag)는 노드 내에서 태그 테이블(Tag Table)의 엔트리, 즉 인터페이스 별로 유니크한 값(고유 값)으로 할당된 것일 수 있다. 한편, 출력 태그는 데이터 패킷에 포함된 태그일 수 있으며, 태그 테이블에서 출력 태그에 매칭되는 엔트리를 탐색 성공함에 따라 데이터 패킷의 태그가 in_tag에 해당하는 값으로 변경될 수 있다. 이는 상기에서 언급한 바와 같으며, 하기에서 다른 도면을 참조하여 더욱 상세하게 설명될 수 있다.As an embodiment, the output tag (out_tag) 903 is a tag value obtained as a tag is changed when an interest packet is forwarded, and may be determined from an entry that matches a tag (in_tag) of the tag table. . That is, it may be a value that is matched by searching the tag table with {in_tag, in_if} based on the interest packet including in_tag. The output tag, which is a matched value, may be a tag value of an interest packet during packet forwarding. A data packet that is a response to an interest packet may include an output tag (out_tag). The output tag Out_tag may be an entry of a tag table within a node, that is, assigned as a unique value (unique value) for each interface. Meanwhile, the output tag may be a tag included in the data packet, and the tag of the data packet may be changed to a value corresponding to in_tag as the search succeeds in searching for an entry matching the output tag in the tag table. This is as mentioned above, and may be described in more detail below with reference to other drawings.

일 실시예로서, 최선 수신 시각(last_visit_time)(904)은 해당 엔트리에 매칭된, 즉 해당 인터페이스에 입력된 가장 최근의 인터레스트 패킷 수신 시각을 나타낼 수 있다. 일 실시예로서, 노드마다 태그 테이블(Tag Table) 에이징 시각(aging time)을 설정하여, 적절한 시간 간격으로 현재 시각(current_time)에서 최선 수신 시각(last_visit_time)을 감한 값이 에이징 시각(aging time)보다 큰 엔트리는 삭제될 수 있다. 최선 수신 시각(Last_visit_time)은 매칭되는 인터레스트 패킷마다 업데이트 하지 않고 일정 비율, 예로 1/1000의 비율로 인터레스트 패킷을 샘플링 하거나 아니면, 일정 시간 간격, 예로 1초마다 한 번씩 샘플링된 인터레스트 패킷에 대해서 업데이트 할 수도 있다.As an embodiment, the best reception time (last_visit_time) 904 may indicate a reception time of the most recent interest packet matched to a corresponding entry, that is, input to a corresponding interface. As an embodiment, a tag table aging time is set for each node, and a value obtained by subtracting the best reception time (last_visit_time) from the current time (current_time) at an appropriate time interval is less than the aging time. Large entries can be deleted. The best reception time (Last_visit_time) does not update for each matched interest packet, and samples the interest packet at a certain rate, e.g. 1/1000, or at a certain time interval, e.g., the interest packet sampled once every second. You can also update about it.

도 10은 본 개시에 적용 가능한 콘텐츠 중심 네트워크에서의 태그 테이블(tag table)의 다른 일 예를 설명하기 위한 도면이다.10 is a diagram illustrating another example of a tag table in a content-oriented network applicable to the present disclosure.

일 실시예로서, 도 10의 InFace(IF)는 도 9의 902와, InTag(ITag)는 도 9의 901과, OutTag(Otag)는 도 9의 903과 동일할 수 있다.As an embodiment, InFace (IF) of FIG. 10 may be the same as 902 of FIG. 9, InTag (ITag) may be the same as 901 of FIG. 9, and OutTag (Otag) may be the same as 903 of FIG. 9.

일 실시예로서, 태그 테이블은 최선 수신 시각(last_visit_time) 대신에 액티브 플래그(Active flag)인 에이징 관리를 위한 플래그(1001)를 이용하여 단순하게 인터레스트 패킷 정보 관리를 할 수도 있다. 일 실시예로서, 태그 테이블에 일정한 에이징 시간 주기를 두고, 매 주기 시작에 액티브 플래그를 '0'으로 리셋할 수 있다. 이후에 인터레스트 패킷이 특정 태그의 엔트리에 액세스하면, 즉 인터레스트 패킷의 인터페이스에 매칭되는 엔트리에 액세스하면, 액티브 플래그를 '1'로 세팅할 수 있다. As an embodiment, the tag table may simply manage interest packet information by using the flag 1001 for aging management, which is an active flag, instead of the best reception time (last_visit_time). As an embodiment, the active flag may be reset to '0' at the start of each period with a certain aging time period in the tag table. Thereafter, when the interest packet accesses the entry of a specific tag, that is, accesses the entry matching the interface of the interest packet, the active flag may be set to '1'.

에이징 시간 주기가 끝나면, 그때까지 액티브 플래그가 0인 엔트리는 제거함으로써 태그 테이블 에이징 관리를 단순화할 수 있다. 이 방식은 태그 테이블에 엔트리가 생성된 이후에 매칭되는 인터레스트 패킷에 대하여 태그 테이블(Tag Table)을 룩업할 때 엔트리를 수정하는 회수를 크게 감소시킬 수 있으므로 태그 테이블 룩업시 성능을 개선할 수 있다.At the end of the aging time period, the tag table aging management can be simplified by removing entries whose active flag is 0 until then. This method can greatly reduce the number of times the entry is modified when the tag table is looked up for matching interest packets after the entry is created in the tag table, so performance can be improved when looking up the tag table. .

도 9 및 도 10을 포함한, 본 개시의 태그 테이블은 태그 테이블에서 탐색되어 선택된 엔트리, 즉 인터레스트 패킷의 태그(in_tag)에 매칭되는 {in_tag, in_if} 쌍이 태그 테이블에 존재하지 않는 경우 새롭게 엔트리를 생성할 수 있다. 이때, 엔트리를 생성하면서 인터레스트 패킷의 새로운 태그가 될 출력 태그(out_tag) 값은 노드 내에서 유니크한 값을 할당할 수 있다. 이 때, 수신한 인터레스트 패킷에 태그가 없었다면 in_tag= null로 저장될 수 있다. 인터레스트 패킷에 대하여 태그 테이블을 룩업할 경우 {in_tag, in_if} 필드를 탐색하고, 태그를 가진 데이터 패킷에 대해 태그 테이블을 룩업할 때는 {out_tag} 필드를 탐색할 수 있다. 태그 테이블은 TCAM(ternary content-addressable memory) 등으로 구현될 수 있다.In the tag table of the present disclosure, including FIGS. 9 and 10, a newly selected entry is searched in the tag table, that is, when the pair of {in_tag, in_if} matching the tag (in_tag) of the interest packet does not exist in the tag table, an entry is newly created. Can be generated. At this time, while creating an entry, a value of an output tag (out_tag) that will become a new tag of the interest packet may be assigned a unique value within the node. At this time, if there is no tag in the received interest packet, it may be stored as in_tag=null. When looking up the tag table for an interest packet, you can search the {in_tag, in_if} field, and when looking up the tag table for a data packet with a tag, you can search the {out_tag} field. The tag table may be implemented as a ternary content-addressable memory (TCAM).

한편, 하나의 태그 테이블로 인터레스트 패킷을 위한 탐색 및 데이터 패킷을 위한 탐색이 동시에 지원될 수도 있고, 태그 테이블을 인터레스트 패킷 검색용 태그 테이블과 데이터 검색용 태그 테이블로 구분하는 것도 가능할 것이다. Meanwhile, a single tag table may simultaneously support a search for an interest packet and a search for a data packet, or it may be possible to divide the tag table into a tag table for interest packet search and a tag table for data search.

도 11은 본 개시에 적용 가능한 콘텐츠 중심 네트워크에서의 태그(tag)를 지원하는 PIT(Pending interest Table)의 일 예를 설명하기 위한 도면이다. 일 실시예로서, 도 11의 PIT는 앞서 설명한 태그 테이블과 양립 가능할 수 있다. 즉, 포워딩 해야 하는 패킷에 따라 태그 테이블과 PIT를 선택해 가며 사용할 수 있다. 또다른 일 실시예로서, 노드가 트랜짓 트래픽을 지원하는 코아망에 위치하지 않을 경우 태그 테이블 없이 PIT만구현하여 패킷 포워딩에 사용하는 것도 가능하다. 11 is a diagram for describing an example of a PIT (Pending Interest Table) supporting a tag in a content-oriented network applicable to the present disclosure. As an embodiment, the PIT of FIG. 11 may be compatible with the tag table described above. In other words, tag table and PIT can be selected and used according to packets to be forwarded. As another embodiment, when a node is not located in a core network supporting transit traffic, it is possible to implement only PIT without a tag table and use it for packet forwarding.

일 실시예로서, 도 11의 변형된 PIT는 데이터 이름(1101), 인터페이스와 태그 쌍의 리스트(1102) 및 그외의 필드(1103)를 포함할 수 있다.As an embodiment, the modified PIT of FIG. 11 may include a data name 1101, a list of interface and tag pairs 1102, and other fields 1103.

일 실시예로서, 일반적인 PIT는 데이터 이름에 대하여 입력 인터페이스 리스트를 저장하는 반면, 태그를 지원하는 상기 변형된 PIT는 {인터페이스(in_interface), 태그(in_tag)} (혹은 {태그, 인터페이스}) 리스트(1102)를 저장할 수 있다. 태그가 없는 인터레스트 패킷이 수신되면 상기 변형된 PIT의 in_tag 필드에는 null이 기록될 수 있다. 일 실시예로서, 도 11의 데이터 이름(1101) /x/y/z/a는 데이터 요청자의 내부 네트워크와 외부 네트워크에서 동시에 요청된 경우로, 노드의 eth_3 인터페이스로는 내부 네트워크에서 태그 없는 인터레스트 패킷이 수신되었으며, eth_1 인터페이스로는 외부 네트워크에서 tag=150 인 인터레스트 패킷이 수신된 것일 수 있다. As an embodiment, while a general PIT stores an input interface list for a data name, the modified PIT supporting a tag is {interface (in_interface), tag (in_tag)} (or {tag, interface}) list ( 1102). When an interest packet without a tag is received, null may be recorded in the in_tag field of the modified PIT. As an embodiment, the data name 1101 /x/y/z/a of FIG. 11 is a case where the data requestor's internal network and the external network are simultaneously requested, and the eth_3 interface of the node is a tag-free interest in the internal network. A packet has been received, and an interest packet with tag=150 may be received from an external network through the eth_1 interface.

한편, 태그를 포함하지 않는 데이터 패킷의 경우, 상기 변형된 PIT는 데이터 이름을 기반으로 매칭되는 엔트리를 탐색하는 데 사용될 수 있다. 매칭되는 엔트리 탐색에 성공하면, 인터레스트 패킷의 입력 인터페이스 및 태그 값을 획득할 수 있게 되고, 데이터 패킷은 획득된 태그값을 포함한 상태로 획득된 입력 인터페이스를 통해 포워딩 될 수 있다.Meanwhile, in the case of a data packet not including a tag, the modified PIT may be used to search for matching entries based on the data name. If the search for a matching entry is successful, the input interface and the tag value of the interest packet can be acquired, and the data packet can be forwarded through the acquired input interface with the acquired tag value included.

일 실시예로서, 그외의 필드(1103)에는 넌스(nonce) 값이나 그 외의 다른 정보가 기록될 수 있다.As an embodiment, a nonce value or other information may be recorded in the other field 1103.

도 12는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서의 패킷 포맷을 설명하기 위한 도면이다. 보다 상세하게는, 본 개시에 적용될 수 있는 콘텐츠 중심 네트워크에서의 패킷 포맷의 다양한 예에 대하여 설명하기 위한 도면이다. 12 is a diagram illustrating a packet format in a content-oriented network according to an embodiment of the present disclosure. In more detail, a diagram for describing various examples of packet formats in a content-oriented network applicable to the present disclosure.

일 실시예로서, 콘텐츠 중심 네트워크 패킷에는 인터레스트 패킷과 데이터 패킷이 포함될 수 있다. 콘텐츠 중심 네트워크 망에서는 도 12의 a), d) 및 e)와 같이 기본 구조의 인터레스트 패킷과 데이터 패킷 포맷 외에, 추가적인 패킷 포맷이 존재할 수 있다.As an embodiment, the content-oriented network packet may include an interest packet and a data packet. In a content-oriented network network, an additional packet format may exist in addition to the interest packet and data packet format of the basic structure as shown in a), d) and e) of FIG. 12.

도 12의 a)는 네트워크 이름을 포함하지 않은 기본적인 인터레스트 패킷의 일 예이다. 콘텐츠 중심 네트워크를 구성하는 노드는 이 경우 인터레스트 패킷의 네트워크 이름이 콘텐츠 중심 네트워크 노드의 리전, 즉 현재 인터레스트 패킷을 수신한 노드의 리전(라우터 리전)과 같은 경우로 처리하여 데이터 이름 기반의 포워딩을 수행할 수 있다. 12A is an example of a basic interest packet that does not include a network name. In this case, the node constituting the content-oriented network treats the network name of the interest packet as the same as the region of the content-oriented network node, that is, the region (router region) of the node that received the current interest packet, and forwarding based on the data name. You can do it.

b)는 네트워크 이름이 추가된 일반적인 인터레스트 패킷의 일 실시예이고, c)는 네트워크 이름과 태그(tag)가 추가된 인터레스트 패킷으로 트랜짓(transit) 인터레스트 패킷의 포맷의 일 예이다. d)는 일반적인 데이터 패킷 포맷의 일 예로, 데이터 페이로드(payload)와 데이터 이름만을 포함하며, e)는 태그를 포함한 데이터 패킷 포맷의 일 예이다.b) is an embodiment of a general interest packet to which a network name is added, and c) is an interest packet to which a network name and a tag are added, and is an example of a format of a transit interest packet. d) is an example of a general data packet format, and includes only a data payload and a data name, and e) is an example of a data packet format including a tag.

한편, 상기에서 언급한 인터레스트 패킷, PIT 및 태그 테이블은 상기에서 도 9 내지 12를 참조하여 설명한 것일 수 있다.Meanwhile, the above-mentioned interest packet, PIT, and tag table may be described with reference to FIGS. 9 to 12 above.

본 개시에서 제안하는 콘텐츠 중심 네트워크 노드에서의 인터레스트 패킷과 데이터 패킷의 포워딩 절차를 플로우 차트로 설명하면 도 13 내지 18과 같다.A flow chart of a forwarding procedure of an interest packet and a data packet in a content-oriented network node proposed in the present disclosure is illustrated in FIGS. 13 to 18.

도 13은 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크를 구성하는 노드에 의해 수행되는 인터레스트 패킷 포워딩 방식을 설명하기 위한 도면이다.13 is a diagram for describing an interest packet forwarding method performed by a node constituting a content-oriented network according to an embodiment of the present disclosure.

일 실시예로서, 도 13의 인터레스트 패킷 포워딩 방식은 도 2 내지 도 5 및 도 15 내지 도 18의 패킷 포워딩 절차를 기반으로 할 수 있다. As an embodiment, the interest packet forwarding method of FIG. 13 may be based on the packet forwarding procedure of FIGS. 2 to 5 and 15 to 18.

일 실시예로서, 도 13의 인터레스트 패킷 포워딩 방법을 수행하는 노드는 데이터 요청자가 위치한 노드와 동일한 망 내에 존재하거나, 데이터 소유자가 위치한 노드와 동일한 망 내에 존재할 수도 있으나, 트랜짓 트래픽을 처리하는 그 외의 망 내에 위치할 수 있다. 또한, 노드는 도 6 내지 도 8 및 도 19의 PE 노드이거나 Non-PE 노드일 수 있으며, 이에 한정되는 것은 아니다.As an embodiment, the node performing the interest packet forwarding method of FIG. 13 may exist in the same network as the node in which the data requestor is located, or in the same network as the node in which the data owner is located. It can be located within the network. In addition, the node may be a PE node of FIGS. 6 to 8 and 19 or a non-PE node, but is not limited thereto.

일 실시예로서, 노드는 먼저 콘텐츠 중심 네트워크의 인터레스트 패킷을 수신(1701)할 수 있다. 수신된 인터레스트 패킷은 도 12의 인터레스트 패킷 중 하나일 수 있다. 인터레스트 패킷은 노드의 인터페이스를 통해 수신될 수 있다.As an embodiment, the node may first receive 1701 an interest packet of a content-oriented network. The received interest packet may be one of the interest packets of FIG. 12. The interest packet may be received through the node's interface.

이때, 수신된 인터레스트 패킷이 로컬 인터레스트 패킷인지 아니면 트랜짓 인터레스트 패킷인지를 검토할 수 있다(1702). 외부 네트워크와 연결된 인터페이스에서 수신한 인터레스트 패킷의 네트워크 이름이 노드의 라우터 리전과 동일하지 않을 경우, 또는 내부 네트워크에 연결된 인터페이스에서 수신한 인터레스트 패킷에 태그가 포함된 경우 이를 트랜짓 인터레스트 패킷으로 구분한다. 이 외의 경우는 모두 로컬 인터레스트 패킷으로 구분할 수 있다. 즉, 외부 네트워크로부터 수신한 인터레스트의 네트워크 이름이 노드의 라우터 리전과 동일한 경우, 또는 내부 내트워크로부터 수신한 인터레스트가 태그를 포함하지 않을 경우, 이를 로컬 인터레스트 패킷으로 구분할 수 있다. In this case, it may be checked whether the received interest packet is a local interest packet or a transit interest packet (1702). If the network name of the interest packet received from the interface connected to the external network is not the same as the router region of the node, or if the tag is included in the interest packet received from the interface connected to the internal network, it is classified as a transit interest packet. do. All other cases can be classified as local interest packets. That is, when the network name of the interest received from the external network is the same as the router region of the node, or when the interest received from the internal network does not include a tag, it may be classified as a local interest packet.

트랜짓 인터레스트 패킷으로 구분된 경우, 태그 테이블 프로세싱을 수행(1306)한 후에 네트워크 이름 기반으로 FIB 룩업을 통해 패킷 프로세싱을 수행한다. 트랜짓 인터레스트 패킷이 아닌 경우, 즉 로컬 인터레스트 패킷인 경우 PIT 프로세싱을 수행(1304)한 후에 데이터 이름 기반으로 FIB 룩업을 통해 패킷 프로세싱을 수행한다. When classified as a transit interest packet, after tag table processing is performed (1306), packet processing is performed through FIB lookup based on the network name. In the case of a non-transit-interest packet, that is, a local-interest packet, after PIT processing is performed (1304), packet processing is performed through FIB lookup based on the data name.

한편, 상기에서 설명한 1304, 1306은 하기 도 15 내지 도 17을 참조하여 더욱 상세하게 설명될 것이다. Meanwhile, 1304 and 1306 described above will be described in more detail with reference to FIGS. 15 to 17 below.

이는, 하기에서 도 15 내지 도18을 참조하여 설명하여 더욱 상세하게 설명할 것이다.This will be described in more detail below with reference to FIGS. 15 to 18.

도 14는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크를 구성하는 노드에 의해 수행되는 데이터 패킷 포워딩 방법을 설명하기 위한 도면이다.14 is a diagram illustrating a data packet forwarding method performed by a node constituting a content-oriented network according to an embodiment of the present disclosure.

일 실시예로서, 도 14의 데이터 패킷을 위한 인터레스트 패킷의 포워딩 방식은 도 13, 15, 16의 패킷 포워딩 절차를 기반으로 할 수 있으며, 도 14의 데이터 패킷 포워딩 방식은 도 18을 기반으로 할 수 있다.As an embodiment, the forwarding method of the interest packet for the data packet of FIG. 14 may be based on the packet forwarding procedure of FIGS. 13, 15, and 16, and the data packet forwarding method of FIG. 14 may be based on FIG. 18. I can.

일 실시예로서, 도 14의 인터레스트 패킷 포워딩 방법을 수행하는 노드는 데이터 요청자가 위치한 노드와 동일한 망 내에 존재하거나, 데이터 소유자가 위치한 노드와 동일한 망 내에 존재할 수도 있으나, 트랜짓 트래픽을 처리하는 그 외의 망 내에 위치할 수 있다. 또한, 노드는 도 6 내지 도 8 및 도 19의 PE 노드이거나 Non-PE 노드일 수 있으나, 이에 한정되는 것은 아니다.As an embodiment, the node performing the interest packet forwarding method of FIG. 14 may exist in the same network as the node in which the data requestor is located, or in the same network as the node in which the data owner is located. It can be located within the network. In addition, the node may be a PE node of FIGS. 6 to 8 and 19 or a non-PE node, but is not limited thereto.

일 실시예로서, 노드는 먼저 콘텐츠 중심 네트워크의 데이터 패킷을 수신(1801)할 수 있다. 수신된 데이터 패킷은 도 12의 데이터 패킷 중 하나일 수 있다. 데이터 패킷은 노드의 인터페이스를 통해 수신될 수 있다.As an embodiment, the node may first receive (1801) a data packet of a content-oriented network. The received data packet may be one of the data packets of FIG. 12. The data packet can be received through the interface of the node.

이후, 노드는 수신된 패킷(데이터 패킷)에 태그가 포함되었는지 검토(1802)할 수 있다. 태그가 포함된 것으로 판단되면, 해당 태그는 태그 테이블의 출력 태그에 해당할 것이므로 태그 테이블의 출력 태그에 대하여 매칭되는 엔트리가 있는지 탐색할 수 있다. 데이터 패킷이 태그를 포함하지 않는 경우, 데이터 패킷에 포함된 데이터 이름을 기반으로 PIT 탐색이 수행(1603)될 수 있다. 이는, 도 18에서 더욱 상세하게 설명될 것이다.Thereafter, the node may review (1802) whether a tag is included in the received packet (data packet). If it is determined that the tag is included, the tag will correspond to the output tag of the tag table, so it is possible to search whether there is an entry matching the output tag of the tag table. When the data packet does not include a tag, a PIT search may be performed based on a data name included in the data packet (1603). This will be described in more detail in FIG. 18.

이후, 노드는 수신된 패킷을 포워딩할 수 있다. 이 때, 수신된 데이터 패킷에 태그가 포함된 경우, 태그를 기반으로 데이터 패킷을 다른 노드에 포워딩(1803)할 수 있다. 태그 테이블을 기반으로 하는 경우에는 데이터 패킷은 태그 테이블의 (out_tag) 필드에 해당하는 태그 값을 포함하고 있으므로 태그 테이블의 태그(in_tag)로 재차 변경되면서 패킷 포워딩이 수행될 수 있다. 또한, 데이터 패킷은 인터레스트 패킷의 입력 인터페이스를 통해 포워딩될 수 있어서, 인터레스트 패킷 포워딩과 대칭적인 포워딩이 수행될 수 있다. 이는 상기에서 다른 도면을 참조하여 설명한 바와 동일할 수 있다. Thereafter, the node can forward the received packet. In this case, when a tag is included in the received data packet, the data packet may be forwarded 1803 to another node based on the tag. When the tag table is based, since the data packet includes a tag value corresponding to the (out_tag) field of the tag table, packet forwarding may be performed while being changed to the tag (in_tag) of the tag table again. In addition, since the data packet may be forwarded through the input interface of the interest packet, interest packet forwarding and symmetric forwarding may be performed. This may be the same as described above with reference to other drawings.

도 15는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서 PE 노드에서의 인터레스트 패킷 포워딩 방식을 설명하기 위한 도면이며, 도 16는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서 Non-PE 노드에서의 인터레스트 패킷 포워딩 방식을 설명하기 위한 도면이다.15 is a diagram for explaining an interest packet forwarding method in a PE node in a content-centric network according to an embodiment of the present disclosure, and FIG. 16 is a non-PE node in a content-centric network according to an embodiment of the present disclosure A diagram for explaining an interest packet forwarding scheme in FIG.

보다 상세하게는, 패킷 포워딩 방식은 인터레스트 패킷이 외부 망에서 패킷 포워딩을 수행하는 노드가 존재하는 망으로 포워딩될 때 상기 노드가 목적지 네트워크에 존재하는 것이 아닌 경우를 포함할 수 있다. 즉, 상기 노드는 트랜짓 트래픽(transit traffic)을 수행하는 노드일 수 있다. 이 때 상기 노드는 PE 노드 혹은 Non-PE일 수 있는데, PE 노드인 경우, 패킷 포워딩 부 (및/혹은 프로세서, PIT/태그 테이블 선택 로직)에 의해 태그 테이블로 패킷 포워딩을 수행할 것으로 선택하고 입력 인터페이스 별로 유니크하게 할당된 태그를 인터레스트 패킷에 포함시킬 수 있다. 이 때 외부망은 고객망일 수도 있고 또 다른 사업자 망일 수도 있다. 태그는 데이터 패킷이 귀환할 때 인터레스트 패킷이 입력된 인터페이스를 지나도록, 즉 인터레스트 패킷이 데이터 소유자에 포워딩된 그대로의 경로를 따라 역방향으로 포워딩되도록 하는 목적으로 사용될 수 있다. In more detail, the packet forwarding scheme may include a case where the node does not exist in the destination network when an interest packet is forwarded from an external network to a network in which a node performing packet forwarding exists. That is, the node may be a node performing transit traffic. At this time, the node may be a PE node or a non-PE node. In the case of a PE node, the packet forwarding unit (and/or processor, PIT/tag table selection logic) selects and inputs the packet forwarding to the tag table. Tags that are uniquely assigned for each interface can be included in the interest packet. In this case, the external network may be a customer network or another business network. The tag may be used for the purpose of forwarding an interest packet through an input interface when a data packet returns, that is, forwarding the interest packet in the reverse direction along the path as it was forwarded to the data owner.

여기서, 도 15는 PE 노드에서의 인터레스트 패킷 포워딩 절차를 설명하기 위한 도면이며, 도 16은 Non-PE 노드에서의 인터레스트 패킷 포워딩 절차를 설명하기 위한 도면이다.Here, FIG. 15 is a diagram for explaining an interest packet forwarding procedure in a PE node, and FIG. 16 is a diagram for explaining an interest packet forwarding procedure in a non-PE node.

일 실시예로서, 패킷 포워딩 절차는 PE/Non-PE 노드가 인터레스트 패킷을 수신한 뒤, 적절하게 파싱(Parsing)(1301, 1401)하고, 콘텐츠 스토어(CS)를 기반으로 필요한 처리를 수행(operation)(1302, 1402)하는 과정을 포함할 수 있다. As an embodiment, in the packet forwarding procedure, after the PE/Non-PE node receives the interest packet, appropriately parses (1301, 1401), and performs necessary processing based on the content store (CS) ( operation) (1302, 1402).

이후, 인터레스트 패킷의 네트워크 이름이 라우터 리전, 즉 노드의 리전과 동일한지 여부를 검토(1303, 1403)할 수 있다. 도 13 및 도 14에서는 일 실시예로서 인터레스트 패킷의 네트워크 이름과 라우터 리전이 상이한 경우에 대하여 설명할 것이며, 네트워크 이름과 라우터 리전이 동일한 경우(1304)에 대하여는 도 15를 참조하여 설명할 것이다. Thereafter, it may be examined whether the network name of the interest packet is the same as the router region, that is, the region of the node (1303, 1403). In FIGS. 13 and 14, a case in which the network name of the interest packet and the router region are different will be described as an embodiment, and a case 1304 in which the network name and the router region are the same will be described with reference to FIG. 15.

일 실시예로서, 패킷 포워딩이 PE 노드에 의해 수행되는 경우에는, 수신된 인터레스트 패킷이 외부 네트워크에서 수신되었는지 여부(1305)를 검토할 수 있다. 즉, 인터레스트 패킷이 트랜짓 트래픽(transit traffic)에 포함되는지 여부를 검토할 수 있다. As an embodiment, when packet forwarding is performed by the PE node, it may be checked whether or not the received interest packet is received from an external network (1305). That is, it can be checked whether the interest packet is included in the transit traffic.

이 때, 인터레스트 패킷이 외부 네트워크에서 수신된 경우, 인터레스트 패킷에 태그가 포함되는지 여부(1306)를 검토하고, 태그가 포함된 경우 태그 테이블(Tag Table)에 해당 태그를 포함하는 엔트리, 즉 매칭되는 엔트리를 탐색할 수 있다. 이 때, 현재의 인터레스트 패킷의 태그(tag)와 인터레스트 패킷이 수신된 입력 인터페이스(in_if)의 쌍 {tag, in_if}으로 태그 테이블을 탐색(1308)할 수 있다. At this time, if the interest packet is received from an external network, it is reviewed whether or not a tag is included in the interest packet (1306), and if the tag is included, an entry including the tag in the tag table, that is, You can search for matching entries. In this case, a tag table may be searched 1308 using a pair {tag, in_if} of a tag of a current interest packet and an input interface (in_if) from which the interest packet is received.

일 실시예로서, 수신된 인터레스트 패킷이 외부 네트워크에서 수신된 것이 아닌 경우에는, 인터레스트 패킷에 태그가 포함되었는지 여부를 검토(1309)한 뒤, 태그가 포함된 경우에는 패킷이 외부 네트워크에서 수신된 경우와 동일하게 처리될 수 있다. 태그가 포함되지 않은 경우에는, PIT 처리를 일반적으로 수행(1311)한 뒤, FIB 룩업을 수행할 수 있다. 여기서, FIB 룩업은 데이터 이름 프리픽스 FIB를 기반으로 수행되는 것일 수 있다. As an embodiment, if the received interest packet is not received from an external network, it is checked whether or not a tag is included in the interest packet (1309), and if the tag is included, the packet is received from the external network. It can be treated in the same way as the case of If the tag is not included, after the PIT process is generally performed (1311), the FIB lookup may be performed. Here, the FIB lookup may be performed based on the data name prefix FIB.

상기의 과정은, Non-PE 노드의 경우 인터레스트 패킷이 외부 네트워크에서 수신되었는지 여부에 상관없이 수행될 수 있다. 즉, Non-PE 노드는 필요한 CS 처리가 수행(1402)된 이후 인터레스트 패킷에 태그가 포함되는지 여부(1405)를 검토할 수 있다. 태그가 포함된 경우 태그 테이블(Tag Table)을 현재의 인터레스트 패킷의 태그(tag)와 인터레스트 패킷이 수신된 입력 인터페이스(in_if)의 쌍 {tag, in_if}으로 탐색(1407)할 수 있다. The above process may be performed regardless of whether an interest packet is received from an external network in the case of a non-PE node. That is, the non-PE node may examine whether a tag is included in the interest packet (1405) after the necessary CS processing is performed (1402). When a tag is included, a tag table may be searched 1407 by a pair {tag, in_if} of a tag of a current interest packet and an input interface (in_if) in which the interest packet is received.

일 실시예로서, 매칭되는 엔트리가 태그 테이블에 존재하면(1310, 1408) 인터레스트 패킷의 태그를 매칭되는 엔트리의 출력 태그(out_tag)로 변경(swap)(1314, 1410)하고, FIB 룩업을 통해 패킷 포워딩(1315 ,1411)을 수행할 수 있다. 이 때, FIB 룩업은 네트워크 이름 프리픽스 FIB를 기반으로 수행될 수 있다. 다른 일 실시예로서 태그 테이블에 매칭되는 엔트리가 없으면(1310, 1408), 노드 내에서 사용되지 않은 출력(out_tag) 값을 새로이 할당해서 {in_tag, in_if, out_tag} 엔트리를 태그 테이블에 추가하고, 인터레스트 패킷의 태그(in_tag)를 출력 태그(out_tag)로 변경(1313, 1409)할 수 있다. 이후, 상기에서 언급한 바와 같이 FIB 룩업을 통해 패킷 포워딩(1315 ,1411)을 수행할 수 있다. 이 때, FIB 룩업은 데이터 이름 프리픽스 FIB를 기반으로 수행될 수 있다. 한편, 인터레스트 패킷이 태그를 포함하지 않았더라도, PE 노드의 경우에는 입력 인터페이스(in_if)를 기반으로 새로운 태그를 패킷에 할당(1307)함으로서, 인터레스트 패킷에 태그를 포함시킬 수 있다. 이 경우에는 인터레스트 패킷에 태그가 포함되지 않았고, 새롭게 태그가 포함되었음을 태그 테이블에 표현할 수 있다. 예를 들어, 태그 테이블에 {null, in_if, tag} 엔트리가 추가될 수 있다. 여기서, 추가된 태그 테이블 엔트리 필드 중 하나인 태그(tag)는 새롭게 할당된 태그일 수 있다.As an embodiment, if the matching entry exists in the tag table (1310, 1408), the tag of the interest packet is changed to the output tag (out_tag) of the matching entry (swap) (1314, 1410), and through FIB lookup. Packet forwarding (1315, 1411) may be performed. In this case, the FIB lookup may be performed based on the network name prefix FIB. As another embodiment, if there is no matching entry in the tag table (1310, 1408), the {in_tag, in_if, out_tag} entry is added to the tag table by newly allocating an unused output (out_tag) value in the node. The tag (in_tag) of the rest packet may be changed to an output tag (out_tag) (1313, 1409). Thereafter, as mentioned above, packet forwarding 1315 and 1411 may be performed through FIB lookup. In this case, the FIB lookup may be performed based on the data name prefix FIB. Meanwhile, even if the interest packet does not include a tag, in the case of a PE node, a tag may be included in the interest packet by allocating (1307) a new tag to the packet based on the input interface (in_if). In this case, it may be expressed in the tag table that the tag is not included in the interest packet and that the tag is newly included. For example, a {null, in_if, tag} entry may be added to the tag table. Here, a tag, which is one of the added tag table entry fields, may be a newly allocated tag.

상기와 같은 과정을 통해 태그(Tag)를 포함하는 인터레스트 패킷이 포워딩을 거쳐 데이터 소유자가 존재하는 목적지 네트워크에 진입할 수 있다. 목적지 네트워크에 진입한 이후의 과정에 대하여는 도 17을 참조하여 더욱 상세하게 설명할 것이다. Through the above process, an interest packet including a tag may be forwarded to enter a destination network in which the data owner exists. The process after entering the destination network will be described in more detail with reference to FIG. 17.

한편, 상기에서 언급한 인터레스트 패킷, PIT 및 태그 테이블은 상기에서 도 9 내지 12를 참조하여 설명한 것일 수 있다.Meanwhile, the above-mentioned interest packet, PIT, and tag table may be described with reference to FIGS. 9 to 12 above.

도 17은 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서의 네트워크 이름이 라우터 리전과 동일한 경우의 인터레스트 패킷 포워딩 방식을 설명하기 위한 도면이다. 보다 상세하게는, 목적지 네트워크의 PE/Non-PE 노드가 데이터 소유자에게 인터레스트 패킷 포워딩을 수행하는 방법을 설명하기 위한 도면이다.17 is a diagram for explaining an interest packet forwarding method when a network name in a content-oriented network is the same as a router region according to an embodiment of the present disclosure. In more detail, a diagram for explaining a method of performing interest packet forwarding by a PE/Non-PE node of a destination network to a data owner.

일 실시예로서, 인터레스트 패킷은 목적지 네트워크에 포워딩 되기까지 도 13 및 상기 도 15 내지 도 16의 과정을 거쳤을 수 있으며, 인터레스트 패킷은 로컬 패킷(local packet)으로 표현될 수 있다. As an embodiment, the interest packet may have passed through the processes of FIGS. 13 and 15 to 16 until it is forwarded to the destination network, and the interest packet may be expressed as a local packet.

일 실시예로서, PE/Non-PE 노드는 엣지 라우터(Edge Router)에서 인터레스트 패킷의 목적지가 해당 네트워크임을 확인한 경우(1304) 인터레스트 패킷에 태그가 포함되어 있는지 여부를 검토(1501)할 수 있다. As an embodiment, when the edge router determines that the destination of the interest packet is the corresponding network (1304), the PE/Non-PE node may review 1501 whether or not a tag is included in the interest packet. have.

인터레스트 패킷에 태그가 포함된 경우(1502), 인터레스트 패킷의 태그를 제거하면서 PIT에 태그를 저장할 수 있다. 이 경우, PIT에는 입력 인터페이스와 패킷의 태그가 쌍으로서 ({in_if, tag} 혹은 {tag, in_if}) 저장될 수 있으며, 인터레스트 패킷의 현재 태그는 in_tag 필드에 저장될 수 있다.When a tag is included in the interest packet (1502), the tag may be stored in the PIT while removing the tag of the interest packet. In this case, the input interface and the tag of the packet may be stored in the PIT as a pair ({in_if, tag} or {tag, in_if}), and the current tag of the interest packet may be stored in the in_tag field.

반면, 인터레스트 패킷에 태그가 포함되어 있지 않은 경우(1503), 일반적인 PIT 처리를 거칠 수 있다. On the other hand, when the tag is not included in the interest packet (1503), general PIT processing may be performed.

이후에는 인터레스트 패킷의 태그 사용 유무에 상관없이 데이터 이름 프리픽스 FIB 룩업이 수행(1504)될 수 있다. 이를 통하여, 해당 네트워크 내의 데이터 소유자에게 포워딩(1504)할 수 있다.Thereafter, the data name prefix FIB lookup may be performed (1504) regardless of whether or not the tag of the interest packet is used. Through this, forwarding 1504 to the owner of the data in the corresponding network may be performed.

한편, 상기에서 언급한 인터레스트 패킷, PIT 및 태그 테이블은 상기에서 도 9 내지 12를 참조하여 설명한 것일 수 있다.Meanwhile, the above-mentioned interest packet, PIT, and tag table may be described with reference to FIGS. 9 to 12 above.

도 18은 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크에서의 데이터 패킷 포워딩 방식을 설명하기 위한 도면이다. 보다 상세하게는, PE/Non-PE 노드가 인터레스트 패킷의 응답인 데이터 패킷을 포워딩 하되, 데이터 패킷의 포워딩 경로가 인터레스트 패킷 포워딩 경로를 따라가게 하는 대칭적 포워딩을 수행하는 방법을 설명하기 위한 도면이다.18 is a diagram for describing a data packet forwarding method in a content-oriented network according to an embodiment of the present disclosure. In more detail, to explain a method of performing symmetric forwarding in which the PE/Non-PE node forwards the data packet that is the response of the interest packet, but the forwarding path of the data packet follows the interest packet forwarding path. It is a drawing.

일 실시예로서, 도 18에서 언급되는 데이터 패킷, PIT 및 태그 테이블은 상기에서 도 9 내지 12를 참조하여 설명한 것일 수 있다. As an embodiment, the data packet, PIT, and tag table mentioned in FIG. 18 may be those described above with reference to FIGS. 9 to 12.

일 실시예로서, 다른 노드로부터 데이터 패킷을 수신하고, 적절한 데이터 패킷 파싱(Parsing)을 수행(1601)할 수 있다. 데이터 패킷은 현재 노드가 속한 네트워크 혹은 외부 네트워크에 위치한 노드로부터 포워딩된 것일 수 있다.As an embodiment, a data packet may be received from another node, and appropriate data packet parsing may be performed (1601 ). The data packet may be forwarded from a network to which the current node belongs or a node located in an external network.

필요한 데이터 파싱을 수행한 노드는 수신된 데이터 패킷에 태그가 포함되어 있는지 여부를 검토(1602)할 수 있다. The node that has performed necessary data parsing may review (1602) whether a tag is included in the received data packet.

데이터 패킷이 태그를 포함하는 경우, 태그 테이블(Tag Table)을 기반으로 데이터 패킷 포워딩을 수행할 수 있다. 일 실시예로서, 데이터 패킷에 포함된 태그를 기반으로 태그 테이블의 탐색을 수행할 수 있다. 이 경우, 데이터 패킷에 포함된 태그는 태그 테이블의 {out_tag} 필드에 대해 탐색이 수행(1605, 1606)되며, 태그 테이블에 매칭되는 엔트리가 존재하는 경우, 즉 탐색에 성공한 경우 데이터 패킷에 포함된 태그는 매칭되는 엔트리의 태그로 변경(1607)될 수 있다. 즉, 데이터 패킷에 포함된 태그는, 태그 테이블의 out_tag에 해당할 수 있으므로, 매칭되는 엔트리의 {in_tag} 필드에 있는 태그 값으로 변경될 수 있다. 한편, 태그 테이블에 매칭되는 엔트리가 존재하지 않는 경우, 즉 탐색에 실패한 경우 데이터 패킷은 일반적인 PIT 처리(1608)를 통해 포워딩될 수 있다.When a data packet includes a tag, data packet forwarding may be performed based on a tag table. As an embodiment, a tag table may be searched based on a tag included in a data packet. In this case, the tag included in the data packet is searched for the {out_tag} field of the tag table (1605, 1606), and if an entry matching the tag table exists, that is, if the search is successful, the tag included in the data packet is The tag may be changed to a tag of a matching entry (1607). That is, since the tag included in the data packet may correspond to the out_tag of the tag table, it may be changed to the tag value in the {in_tag} field of the matching entry. Meanwhile, when there is no matching entry in the tag table, that is, when the search fails, the data packet may be forwarded through a general PIT process 1608.

한편, 데이터 패킷이 태그를 포함하지 않는 경우, 데이터 패킷에 포함된 데이터 이름을 기반으로 PIT 탐색이 수행(1603)될 수 있다. 즉, 데이터 이름을 기반으로 PIT에 매칭되는 엔트리가 있는지 탐색이 수행될 수 있고, 매칭되는 엔트리의, 인터레스트 패킷의 입력 인터페이스 및 태그 쌍 {in_if, in_tag} 혹은 {in_tag, in_if}을 획득할 수 있다. 획득된 인터페이스 및 태그 쌍에 대하여, 데이터 패킷에 획득된 태그 값(in_tag)을 포함시켜 상기 인터페이스(in_if)를 통해 포워딩 할 수 있다.Meanwhile, when the data packet does not include a tag, a PIT search may be performed (1603) based on a data name included in the data packet. That is, based on the data name, a search may be performed to see if there is an entry matching the PIT, and of the matching entry, the input interface of the interest packet and the tag pair {in_if, in_tag} or {in_tag, in_if} may be obtained. have. The acquired interface and tag pair may be forwarded through the interface (in_if) by including the acquired tag value (in_tag) in the data packet.

이때, PIT에서 획득된 태그 값(in_tag)이 null인 경우에는 데이터 패킷에 태그가 포함되지 않은 상태로 인터페이스(in_if)를 통한 포워딩이 수행(1604)될 수 있다. 즉, 1604의 “”는 데이터 패킷을 의미하는 것일 수 있다. In this case, when the tag value (in_tag) obtained from the PIT is null, forwarding through the interface (in_if) may be performed in a state in which the tag is not included in the data packet (1604). That is, “” of 1604 may mean a data packet.

한편, 상기에서 언급한 인터레스트 패킷, PIT 및 태그 테이블은 상기에서 도 9 내지 12를 참조하여 설명한 것일 수 있다.Meanwhile, the above-mentioned interest packet, PIT, and tag table may be described with reference to FIGS. 9 to 12 above.

도 19는 본 개시의 일 실시예에 따른 콘텐츠 중심 네트워크를 구성하는 노드를 설명하기 위한 도면이다. 보다 상세하게는, 상기에서 언급한 패킷 포워딩 방법을 실행할 수 있는 콘텐츠 중심 네트워크를 구성하는 노드이자, 콘텐츠 중심 네트워크에서 패킷 처리 방법을 실행하는 컴퓨팅 시스템 혹은 패킷 처리 장치일 수 있다.19 is a diagram illustrating a node constituting a content-oriented network according to an embodiment of the present disclosure. In more detail, it may be a node constituting a content-centric network capable of executing the packet forwarding method described above, and may be a computing system or a packet processing device that executes the packet processing method in the content-centric network.

일 실시예로서, 콘텐츠 중심 네트워크를 구성하는 노드는 PIT 및 태그 테이블(1901), 하나 이상의 인터페이스(1902) 및 패킷 포워딩부(1903)를 포함할 수 있다. PIT 및 태그 테이블(1901)은 상기에서 언급한 바와 같이, 인터레스트 패킷을 데이터 소유자에게 포워딩하기 위하여 사용될 수 있다. 하나 이상의 인터페이스(1902)는 상기에서 언급한 바와 같이 복수의 원격 노드에 대해 인터레스트 패킷 및 데이터 패킷을 수신 및 송신하도록 구성될 수 있다. 패킷 포워딩부(1903)는 상기에서 언급한 바와 같이 상기 태그 테이블(tag table) 및/혹은 PIT를 이용한 패킷 포워딩을 수행할 수 있다. As an embodiment, a node constituting a content-oriented network may include a PIT and tag table 1901, one or more interfaces 1902, and a packet forwarding unit 1902. The PIT and tag table 1901 may be used to forward the interest packet to the data owner, as mentioned above. One or more interfaces 1902 may be configured to receive and transmit interest packets and data packets for a plurality of remote nodes, as mentioned above. As mentioned above, the packet forwarding unit 1902 may perform packet forwarding using the tag table and/or PIT.

일 실시예로서, 콘텐츠 중심 네트워크를 구성하는, 패킷 포워딩을 수행하는 노드는 상기 인터페이스를 통해 수신된 패킷은 상기 인터레스트 패킷이고 상기 수신된 패킷의 네트워크 이름은 라우터 리전과 상이할 수 있다. 이 경우, 상기 수신된 패킷의 포워딩은 상기 수신된 패킷에 태그가 포함된 경우, 상기 패킷 포워딩 부가 상기 수신된 패킷의 태그 및 상기 수신된 패킷의 인터페이스에 매칭되는 엔트리(entry)를 상기 태그 테이블에서 탐색함으로서 수행될 수 있다. As an embodiment, a node that performs packet forwarding constituting a content-oriented network may have a packet received through the interface as the interest packet, and a network name of the received packet may be different from a router region. In this case, the forwarding of the received packet includes an entry matching the tag of the received packet and the interface of the received packet in the tag table when the tag is included in the received packet. It can be done by searching.

또한, 상기 태그 테이블에서 탐색이 성공한 경우, 상기 패킷 포워딩 부가 상기 수신된 패킷의 태그를 상기 엔트리의 출력 태그로 변경할 수 있다. 상기 태그 테이블에서 탐색이 실패한 경우, 상기 수신된 패킷에 출력 태그를 할당하고, 상기 패킷 포워딩 부가 상기 수신된 패킷의 태그를 상기 출력 태그로 변경할 수 있다. 상기 수신된 패킷에 태그가 포함되지 않은 경우, 상기 패킷 포워딩 부에서 상기 패킷이 수신된 인터페이스를 기반으로 상기 수신된 패킷에 태그를 부여할 수 있다.In addition, when the search is successful in the tag table, the packet forwarding unit may change the tag of the received packet to an output tag of the entry. If the search fails in the tag table, an output tag may be assigned to the received packet, and the packet forwarding may change the tag of the received packet to the output tag. When a tag is not included in the received packet, the packet forwarding unit may assign a tag to the received packet based on an interface on which the packet was received.

또한, 상기 수신된 패킷이 외부 네트워크로부터 수신된 경우, 상기 수신된 패킷의 포워딩은 상기 패킷 포워딩 부에서 네트워크 이름(Network Name) FIB 룩업을 통해 수행될 수 있다. 반면, 상기 수신된 패킷이 내부 네트워크로부터 수신된 경우, 상기 패킷 포워딩 부에서 상기 수신된 패킷의 포워딩은 데이터 이름 프리픽스(Data Name Prefix) FIB 룩업을 통해 수행될 수 있다.In addition, when the received packet is received from an external network, forwarding of the received packet may be performed by the packet forwarding unit through a network name FIB lookup. On the other hand, when the received packet is received from an internal network, forwarding of the received packet by the packet forwarding unit may be performed through a Data Name Prefix FIB lookup.

일 실시예로서, 상기 인터페이스를 통해 수신된 패킷은 인터레스트 패킷이고 상기 수신된 패킷의 네트워크 이름은 라우터 리전과 동일할 수 있다. 또한, 상기 패킷 포워딩 부에서 상기 수신된 패킷의 포워딩은 데이터 이름 프리픽스(Data Name Prefix) FIB 룩업을 통해 수행될 수 있다. 상기 수신된 패킷에 태그가 포함된 경우, 상기 태그 및 상기 패킷이 수신된 인터페이스를 PIT(Pending Interest Table)에 업데이트 할 수 있다.As an embodiment, a packet received through the interface may be an interest packet, and a network name of the received packet may be the same as a router region. In addition, forwarding of the received packet by the packet forwarding unit may be performed through a Data Name Prefix FIB lookup. When a tag is included in the received packet, the tag and the interface on which the packet is received may be updated in a PIT (Pending Interest Table).

일 실시예로서, 상기 태그 테이블은 상기 수신된 패킷의 태그, 상기 수신된 패킷의 포워딩을 위한 출력 태그, 상기 수신된 패킷의 최선 수신 시각 정보 및 상기 수신된 패킷의 에이징 관리를 위한 플래그(flag) 중 적어도 어느 하나를 포함할 수 있다. 또한, 상기 수신된 패킷이 출력 태그를 포함하는 데이터 패킷인 경우, 상기 수신된 패킷의 포워딩은 상기 패킷 포워딩부가 상기 출력 태그와 매칭되는 인터레스트 패킷의 인터페이스를 상기 태그 테이블에서 탐색함으로서 수행될 수 있다. 이 경우, 상기 패킷 포워딩 부에서, 상기 출력 태그는 상기 매칭된 인터페이스와 연관된 상기 인터레스트 패킷의 태그로 변경될 수 있다.In one embodiment, the tag table includes a tag of the received packet, an output tag for forwarding the received packet, information on the best reception time of the received packet, and a flag for aging management of the received packet. It may include at least any one of. In addition, when the received packet is a data packet including an output tag, forwarding of the received packet may be performed by the packet forwarding unit searching the tag table for an interface of an interest packet matching the output tag. . In this case, in the packet forwarding unit, the output tag may be changed to a tag of the interest packet associated with the matched interface.

일 실시예로서, 상기 수신된 패킷에 출력 태그가 포함되지 않은 데이터 패킷인 경우, 상기 수신된 패킷의 포워딩은 상기 패킷 포워딩부가 PIT(Pending Interest Table)에서 데이터 이름 프리픽스(Data Name Prefix)를 기반으로 획득한 인터레스트 패킷의 태그와 인터페이스를 통해 수행될 수 있다. As an embodiment, in the case of a data packet that does not include an output tag in the received packet, forwarding of the received packet is performed by the packet forwarding unit based on a data name prefix in a PIT (Pending Interest Table). It can be performed through the tag and interface of the acquired interest packet.

한편, 도 19에는 생략되었으나, 도 19 노드 및/혹은 장치는 RAM(Random Access Memory) 및 ROM(Read Only Memory)을 포함하는 메모리와 프로세서, 스토리지, 버스, PIT, FIB, CS 등을 포함할 수 있다. Meanwhile, although omitted in FIG. 19, the node and/or device of FIG. 19 may include a memory including a random access memory (RAM) and a read only memory (ROM), a processor, a storage, a bus, a PIT, an FIB, and a CS. have.

본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다. Various embodiments of the present disclosure are not listed in all possible combinations, but are intended to describe representative aspects of the present disclosure, and matters described in the various embodiments may be applied independently or may be applied in combination of two or more.

또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(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), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다. 예를 들어, 종단 혹은 에지에서 사용될 수 있는 비 일시적 컴퓨터 판독가능한 매체에 저장된 프로그램의 형식이나, 에지 혹은 클라우드에서 사용될 수 있는 비 일시적 컴퓨터 판독 가능한 매체에 저장된 프로그램의 형식으로도 구현될 수 있음은 자명하다. 또한, 다양한 하드웨어 및 소프트웨어의 결합으로도 구현될 수 있다. In addition, various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof. For implementation by hardware, one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), general purpose It may be implemented by a processor (general processor), a controller, a microcontroller, a microprocessor, or the like. For example, it is obvious that it can be implemented in the form of a program stored in a non-transitory computer readable medium that can be used at the end or edge, or a program stored in a non-transitory computer readable medium that can be used at the edge or the cloud. Do. In addition, it can be implemented by a combination of various hardware and software.

본 개시의 일 실시예에 따른 모방 학습을 통한 사물 자율 제어 프로그램은 컴퓨터에서 정책에 기반한 동작 명령에 따라 동작한 사물의 출력 값을 획득하는 단계, 상기 정책에 대한 보상을 결정하는 단계, 상기 보상을 최적화하는 방향으로 상기 정책을 업데이트 하는 단계를 실행시키는, 비-일시적 컴퓨터 판독가능한 매체에 저장된 프로그램일 수 있다.In the object autonomous control program through imitation learning according to an embodiment of the present disclosure, obtaining an output value of an object operated according to an operation command based on a policy in a computer, determining a compensation for the policy, and performing the compensation. It may be a program stored in a non-transitory computer-readable medium that executes the step of updating the policy in the direction of optimizing.

본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행 가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다. The scope of the present disclosure is software or machine-executable instructions (for example, operating systems, applications, firmware, programs, etc.) that allow an operation according to a method of various embodiments to be executed on a device or a computer, and such software or It includes a non-transitory computer-readable medium (non-transitory computer-readable medium) which stores instructions and the like and is executable on a device or a computer.

이상에서 설명한 본 개시는, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 개시의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로, 본 개시의 범위는 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present disclosure described above is capable of various substitutions, modifications, and changes within the scope of the technical spirit of the present disclosure to those of ordinary skill in the technical field to which the present disclosure belongs, so the scope of the present disclosure is described above. It is not limited by one embodiment and the accompanying drawings.

1901: PIT 및 태그 테이블
1902: 복수의 인터페이스
1903: 패킷 포워딩부
1901: PIT and tag table
1902: multiple interfaces
1903: packet forwarding unit

Claims (20)

콘텐츠 중심 네트워크를 구성하는 노드에 있어서,
복수의 원격 노드에 대해 인터레스트 패킷 및 데이터 패킷을 수신 및 송신하도록 구성된 복수의 인터페이스;
응답 받지 못한 인터레스트 패킷 중 소스 네트워크 또는 목적지 네트워크가 해당 노드가 위치한 네트워크에 해당하는 로컬(local) 인터레스트 패킷의 정보를 저장하는 PIT(Pending Interest Table);
응답 받지 못한 인터레스트 패킷 중 소스 네트워크 및 목적지 네트워크가 해당 노드가 위치한 네트워크가 아닌 트랜짓(transit) 인터레스트 패킷의 정보를 소스 네트워크와 연관한 그룹 단위로 저장하는 태그 테이블(tag table);
인터레스트 패킷을 목적지 노드에 포워딩 하기 위한 FIB(Forwarding Information Base);
패킷 포워딩 시 상기 패킷이 로컬 패킷(local packet)인지 트랜짓 패킷(transit packet)인지에 따라 상기 PIT 혹은 상기 태그 테이블을 선택하고, 상기 선택된 테이블을 기반으로 패킷 포워딩을 수행하는 프로세서를 포함하는, 패킷 포워딩을 수행하는 노드.
In the nodes constituting the content-oriented network,
A plurality of interfaces configured to receive and transmit interest packets and data packets to a plurality of remote nodes;
A PIT (Pending Interest Table) for storing information of a local interest packet corresponding to a network in which a source network or a destination network is located among interest packets that have not been answered;
A tag table for storing information of a transit interest packet, which is not a network in which a corresponding node is located, from the source network and the destination network among the unanswered interest packets in a group unit associated with the source network;
Forwarding Information Base (FIB) for forwarding an interest packet to a destination node;
Packet forwarding, including a processor that selects the PIT or the tag table according to whether the packet is a local packet or a transit packet during packet forwarding, and performs packet forwarding based on the selected table. The node that performs.
제1 항에 있어서
외부 네트워크와 연결된 인터페이스에서 수신된 인터레스트 패킷의 목적지 네트워크 이름이 노드가 위치한 네트워크 이름과 동일하지 않거나 내부 네트워크에 연결된 인터페이스에 의해 수신된 인터레스트 패킷에 태그가 포함된 경우,
상기 프로세서는
상기 수신된 인터레스트 패킷을 트랜짓 인터레스트 패킷으로 구분하는, 패킷 포워딩을 수행하는 노드.
The method of claim 1
When the destination network name of the interest packet received from the interface connected to the external network is not the same as the network name in which the node is located, or a tag is included in the interest packet received by the interface connected to the internal network,
The processor is
A node that performs packet forwarding, dividing the received interest packet into a transit interest packet.
제1 항에 있어서,
내부 네트워크에 연결된 인터페이스에서 수신한 인터레스트 패킷이 태그를 포함하지 않았거나, 또는 외부 네트워크에 연결된 인터페이스에서 목적지 네트워크 이름이 노드가 위치한 네트워크 이름과 동일한 인터레스트 패킷을 수신한 경우,
상기 프로세서는
상기 수신된 인터레스트 패킷을 로컬 인터레스트 패킷으로 구분하는, 패킷 포워딩을 수행하는 노드.
The method of claim 1,
When an interest packet received from an interface connected to the internal network does not contain a tag, or an interest packet having the same destination network name as the network name in which the node is located is received from an interface connected to the external network.
The processor is
A node that performs packet forwarding, dividing the received interest packet into a local interest packet.
제2 항에 있어서,
상기 수신한 트랜짓 인터레스트 패킷에 태그가 포함된 경우,
상기 프로세서는
상기 수신된 패킷의 태그 및 상기 수신된 패킷의 인터페이스 관련 정보에 매칭되는 엔트리(entry)를 상기 태그 테이블에서 탐색하는, 패킷 포워딩을 수행하는 노드.
The method of claim 2,
When a tag is included in the received transit interest packet,
The processor is
A node performing packet forwarding, searching the tag table for an entry matching the tag of the received packet and interface related information of the received packet.
제4 항에 있어서
상기 태그 테이블 탐색이 성공한 경우,
상기 프로세서는
상기 수신된 패킷의 태그를 상기 엔트리의 출력 태그로 변경하는, 패킷 포워딩을 수행하는 노드.
According to claim 4
If the tag table search is successful,
The processor is
A node that performs packet forwarding, changing the tag of the received packet to the output tag of the entry.
제4 항에 있어서
상기 태그 테이블에서 탐색이 실패한 경우,
상기 프로세서는
출력 태그를 할당하여 상기 수신된 패킷의 태그를 상기 출력 태그로 변경하는, 패킷 포워딩을 수행하는 노드.
According to claim 4
If the search fails in the tag table above,
The processor is
A node that performs packet forwarding to change the tag of the received packet to the output tag by allocating an output tag.
제2 항에 있어서
상기 수신한 트랜짓 인터레스트 패킷에 태그가 포함되지 않은 경우
상기 프로세서는
상기 패킷이 수신된 인터페이스 관련 정보를 기반으로 상기 수신된 패킷에 태그를 부여하는, 패킷 포워딩을 수행하는 노드.
The method of claim 2
When a tag is not included in the received transit interest packet
The processor is
A node performing packet forwarding, which assigns a tag to the received packet based on the interface-related information on which the packet is received.
제7 항에 있어서,
상기 패킷에 상기 부여된 태그 및 상기 수신된 인터페이스 관련 정보는 상기 태그 테이블에 추가되는, 패킷 포워딩을 수행하는 노드.
The method of claim 7,
The tag assigned to the packet and the received interface-related information are added to the tag table.
제3 항에 있어서
상기 수신한 로컬 인터레스트 패킷이 태그를 포함하는 경우
상기 태그를 헤더에서 제거하고 상기 태그와 수신 인터페이스 정보를 인터레스트의 PIT 엔트리에 저장하고, 패킷 포워딩을 수행하는 노드.
The method of claim 3
When the received local interest packet includes a tag
A node that removes the tag from a header, stores the tag and reception interface information in a PIT entry of an interest, and performs packet forwarding.
제1 항에 있어서
상기 PIT의 각 엔트리는 수신한 인터레스트 패킷의 태그와 상기 수신한 인터레스트 패킷의 인터페이스 정보를 포함하는, 패킷 포워딩을 수행하는 노드.
The method of claim 1
Each entry of the PIT includes a tag of a received interest packet and interface information of the received interest packet.
제3 항에 있어서,
상기 FIB는 네트워크 이름 FIB(network name FIB) 및 데이터 이름 프리픽스 FIB(data name prefix FIB)를 포함하는, 패킷 포워딩을 수행하는 노드.
The method of claim 3,
The FIB is a node that performs packet forwarding, including a network name FIB (network name FIB) and a data name prefix FIB (data name prefix FIB).
제11 항에 있어서,
수신된 인터레스트 패킷이 트랜짓 인터레스트 패킷인 경우,
상기 프로세서는
상기 네트워크 이름(Network Name) FIB(Forwarding Information Base) 룩업(Lookup)을 통해 패킷을 포워딩하는, 패킷 포워딩을 수행하는 노드.
The method of claim 11,
When the received interest packet is a transit interest packet,
The processor is
A node performing packet forwarding for forwarding a packet through the network name (FIB) Forwarding Information Base (FIB) lookup.
제11 항에 있어서,
수신된 인터레스트 패킷이 로컬 인터레스트 패킷인 경우,
상기 프로세서는
상기 데이터 이름 프리픽스(Data Name Prefix) FIB 룩업을 통해 패킷 포워딩을 수행하는, 패킷 포워딩을 수행하는 노드.
The method of claim 11,
If the received interest packet is a local interest packet,
The processor is
A node that performs packet forwarding, performing packet forwarding through the Data Name Prefix FIB lookup.
제1 항에 있어서,
상기 태그 테이블은
상기 수신된 패킷의 태그, 상기 수신된 패킷의 포워딩을 위한 출력 태그를 포함하고
상기 수신된 패킷의 최신 수신 시각 정보 또는 상기 수신된 패킷의 에이징 관리를 위한 플래그(flag) 중 적어도 어느 하나를 더 포함하는, 패킷 포워딩을 수행하는 노드.
The method of claim 1,
The tag table is
Includes a tag of the received packet and an output tag for forwarding of the received packet,
The node further comprising at least one of latest reception time information of the received packet or a flag for aging management of the received packet.
제1 항에 있어서,
상기 인터페이스를 통해 데이터 패킷을 수신하되,
상기 데이터 패킷이 태그를 포함하는 경우,
상기 프로세서는
상기 태그와 매칭되는 출력 태그를 갖는 엔트리를 상기 태그 테이블에서 탐색하는, 패킷 포워딩을 수행하는 노드.
The method of claim 1,
Receiving a data packet through the interface,
If the data packet contains a tag,
The processor is
A node performing packet forwarding for searching the tag table for an entry having an output tag matching the tag.
제15 항에 있어서,
상기 프로세서는,
상기 태그는 상기 매칭된 엔트리의 상기 인터레스트 패킷 태그로 변경하고,
상기 수신된 패킷을 상기 매칭된 엔트리의 인터페이스로 포워딩하는, 패킷 포워딩을 수행하는 노드.
The method of claim 15,
The processor,
The tag is changed to the interest packet tag of the matched entry,
A node performing packet forwarding for forwarding the received packet to the interface of the matched entry.
제1 항에 있어서,
상기 수신된 패킷이 출력 태그가 포함되지 않은 데이터 패킷인 경우,
상기 프로세서는
PIT(Pending Interest Table)에서 상기 데이터 패킷의 데이터 이름과 매칭되는 인터레스트 패킷을 탐색하고,
상기 탐색이 성공하면, 상기 인터레스트 패킷의 태그를 데이터 패킷에 추가하고, 상기 인터레스트 패킷을 수신한 인터페이스 정보를 기반으로 패킷을 포워딩하는, 패킷 포워딩을 수행하는 노드.
The method of claim 1,
When the received packet is a data packet without an output tag,
The processor is
Search for an interest packet matching the data name of the data packet in the Pending Interest Table (PIT),
If the search is successful, the node performs packet forwarding, adding a tag of the interest packet to a data packet, and forwarding the packet based on interface information receiving the interest packet.
콘텐츠 중심 네트워크를 구성하는 노드에 의해 수행되는 패킷 포워딩 방법에 있어서,
콘텐츠 중심 네트워크에서 인터레스트 패킷을 수신하는 단계;
상기 인터레스트 패킷에 태그가 포함되었는지 검토하고, 상기 인터레스트 패킷을 포워딩(forwarding)하는 단계;를 포함하되,
상기 인터레스트 패킷이 외부 네트워크와 연결된 인터페이스에 의해 수신되었고, 상기 인터레스트 패킷의 목적지 네트워크 이름이 노드가 위치한 네트워크 이름과 동일하지 않거나
상기 인터레스트 패킷이 내부 네트워크에 연결된 인터페이스에 의해 수신되었고, 상기 인터레스트 패킷에 태그가 포함된 경우,
상기 수신된 인터레스트 패킷은 트랜짓 인터레스트 패킷으로 구분되는, 패킷 포워딩 방법.
In the packet forwarding method performed by a node constituting a content-oriented network,
Receiving an interest packet in a content-oriented network;
Including; examining whether a tag is included in the interest packet, and forwarding the interest packet; including,
The interest packet was received by an interface connected to an external network, and the destination network name of the interest packet is not the same as the network name in which the node is located, or
When the interest packet is received by an interface connected to the internal network, and a tag is included in the interest packet,
The received interest packet is divided into a transit interest packet.
제18 항에 있어서,
상기 인터레스트 패킷이 내부 네트워크에 연결된 인터페이스에서 수신되었고, 태그를 포함하지 않았거나,
상기 인터레스트 패킷이 외부 네트워크에 연결된 인터페이스에서 목적지 네트워크 이름이 노드가 위치한 네트워크 이름과 동일한 경우,
상기 수신된 인터레스트 패킷을 로컬 인터레스트 패킷으로 구분되는, 패킷 포워딩 방법.
The method of claim 18,
The interest packet was received on an interface connected to the internal network and did not contain a tag, or
When the destination network name is the same as the network name where the node is located on the interface connected to the external network,
The packet forwarding method, wherein the received interest packet is divided into a local interest packet.
콘텐츠 중심 네트워크를 구성하는 노드에 의해 수행되는 패킷 포워딩 방법에 있어서,
콘텐츠 중심 네트워크의 데이터 패킷을 수신하는 단계;
상기 수신된 데이터 패킷에 태그가 포함되었는지 검토하고, 상기 데이터 패킷을 포워딩(forwarding)하는 단계;를 포함하되,
상기 수신된 데이터 패킷에 태그가 포함된 경우,
태그 테이블에 상기 태그와 매칭되는 출력 태그를 포함하는 엔트리를 탐색하고,
상기 엔트리에 포함된 인터레스트 패킷의 인터페이스 정보를 기반으로 포워딩을 수행하는, 패킷 포워딩 방법.
In the packet forwarding method performed by a node constituting a content-oriented network,
Receiving a data packet of a content-oriented network;
Including; examining whether a tag is included in the received data packet, and forwarding the data packet; Including,
When a tag is included in the received data packet,
Searching for an entry including an output tag matching the tag in the tag table,
A packet forwarding method for performing forwarding based on interface information of an interest packet included in the entry.
KR1020200133500A 2019-10-15 2020-10-15 Apparatus and Method for forwarding a Packet in Content Centric Network KR20210044730A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/071,631 US20210112004A1 (en) 2019-10-15 2020-10-15 Apparatus and method for forwarding a packet in content centric network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190127965 2019-10-15
KR20190127965 2019-10-15

Publications (1)

Publication Number Publication Date
KR20210044730A true KR20210044730A (en) 2021-04-23

Family

ID=75738392

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200133500A KR20210044730A (en) 2019-10-15 2020-10-15 Apparatus and Method for forwarding a Packet in Content Centric Network

Country Status (1)

Country Link
KR (1) KR20210044730A (en)

Similar Documents

Publication Publication Date Title
JP5624331B2 (en) Computer implementation method
US9825860B2 (en) Flow-driven forwarding architecture for information centric networks
US20210112004A1 (en) Apparatus and method for forwarding a packet in content centric network
US10574574B2 (en) System and method for BGP sFlow export
US8176006B2 (en) Maintaining and distributing relevant routing information base updates to subscribing clients in a device
US20140280823A1 (en) Wire-speed pending interest table
JP2017069950A (en) Information centric network by small multi-pass or single-pass transfer state
US10581741B2 (en) Method and system for interest groups in a content centric network
US9929954B2 (en) Hash-based overlay routing architecture for information centric networks
EP2983340B1 (en) Explicit strategy feedback in name-based forwarding
US10033639B2 (en) System and method for routing packets in a content centric network using anonymous datagrams
US9742669B2 (en) Aliasing of named data objects and named graphs for named data networks
CN103546375A (en) Content routing method and device
KR20210044730A (en) Apparatus and Method for forwarding a Packet in Content Centric Network
KR102437289B1 (en) Method and Apparatus for Defining Path of a Packet in Information-Centric Networking for Data Producer Mobility
US10033642B2 (en) System and method for making optimal routing decisions based on device-specific parameters in a content centric network
Wen et al. Interest forwarding in CoLoR: A baseline implementation and performance evaluation
Wainner et al. STRATEGIES FOR LOOP PREVENTION FORWARDING LOGIC IN HYBRID INFORMATION CENTRIC NETWORKING
JP5954330B2 (en) Event notification service method and system
Murata et al. Hardware Design and Evaluation of CAM-based High-speed CCN Router