KR102286466B1 - Method and system for providing function-based routing - Google Patents

Method and system for providing function-based routing Download PDF

Info

Publication number
KR102286466B1
KR102286466B1 KR1020150053010A KR20150053010A KR102286466B1 KR 102286466 B1 KR102286466 B1 KR 102286466B1 KR 1020150053010 A KR1020150053010 A KR 1020150053010A KR 20150053010 A KR20150053010 A KR 20150053010A KR 102286466 B1 KR102286466 B1 KR 102286466B1
Authority
KR
South Korea
Prior art keywords
function
node
packet
fid
input packet
Prior art date
Application number
KR1020150053010A
Other languages
Korean (ko)
Other versions
KR20160123024A (en
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 KR1020150053010A priority Critical patent/KR102286466B1/en
Publication of KR20160123024A publication Critical patent/KR20160123024A/en
Application granted granted Critical
Publication of KR102286466B1 publication Critical patent/KR102286466B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/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/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic

Abstract

본 발명의 일 실시예에 따르는 기능 기반 라우팅 시스템은 에지노드에서 입력 패킷의 기능을 추출하고 그 기능에 부합하는 FID(Function Identifier) 레이블을 삽입함으로써, 각 노드가 FID 레이블을 매개로 입력 패킷에 필요한 기능을 수행하고 순차적으로 필요한 노드를 찾아 입력 패킷이 포워딩되도록 함으로써, 각 패킷별 기능을 기준으로 네트워크 내에서 최적의 처리가 수행되도록 할 수 있다. 이는 IP 주소나 정책에 따라 패킷 처리가 결정되는 기존의 네트워크와는 다른 기능 분산 네트워크에 매우 적합하고 효율적인 방법이라 할 수 있다. A function-based routing system according to an embodiment of the present invention extracts a function of an input packet from an edge node and inserts a FID (Function Identifier) label that matches the function, so that each node needs the input packet through the FID label. By performing the function and sequentially finding the necessary nodes and allowing the input packets to be forwarded, optimal processing can be performed in the network based on the function of each packet. This can be said to be a very suitable and efficient method for a functional distributed network that is different from the existing network where packet processing is determined according to IP addresses or policies.

Description

기능 기반 라우팅 방법 및 시스템{METHOD AND SYSTEM FOR PROVIDING FUNCTION-BASED ROUTING}FUNCTION-BASED ROUTING METHOD AND SYSTEM FOR PROVIDING FUNCTION-BASED ROUTING

본 발명은 기능 기반 라우팅 방법 및 시스템에 관한 것으로서, 보다 상세하게는, 기능 분산 네트워크에 있어서 임의의 패킷에 대한 기능 기반 패킷 라우팅을 구현하기 위한 기능 기반 라우팅 방법 및 시스템에 관한 것이다.The present invention relates to a function-based routing method and system, and more particularly, to a function-based routing method and system for implementing function-based packet routing for an arbitrary packet in a functional distributed network.

기존 네트워크는 패킷을 최종 목적지로 전송하기 위하여 각 노드가 패킷의 주소를 기반으로 목적지를 결정하여 패킷을 전송하도록 한다. 예를 들어 IP(Internet Protocol)의 경우, 네트워크 노드에서 동작하는 다양한 라우팅 프로토콜을 이용하여 IP주소를 기반으로 목적지를 찾아갈 수 있도록 만들어진 포워딩 테이블이 존재하는데, 이때 입력 패킷이 IP 목적지 주소를 이용하여 포워딩 테이블로부터 다음 노드에 대한 정보를 얻게 된다. 이러한 기존 네트워크 시스템은 모든 네트워크 노드가 동일한 기능을 수행하며 패킷의 네트워크 노드의 경유는 일반적으로 최소 비용이 드는 경로로 선택이 된다. In the existing network, in order to transmit a packet to its final destination, each node determines a destination based on the packet's address and transmits the packet. For example, in the case of IP (Internet Protocol), there is a forwarding table made to find a destination based on the IP address using various routing protocols operating in the network node. Information on the next node is obtained from the forwarding table. In such an existing network system, all network nodes perform the same function, and the route of packets passing through the network nodes is generally selected as the path with the least cost.

한편, NFV (Network Function Virtualization ) 기술 도입과 더불어 네트워크 노드 기능이 프로그래밍 가능한 형태로 발전되고 있다. NFV의 구현 형태는 클라우드에 네트워크 기능을 구현하는 형태로 진행될 수 있으나, 네트워크 노드 자체에 기능이 구현되는 형태로도 진행될 수 있으며, 이러한 경우, 하나의 네트워크 노드는 패킷 처리를 위해 필요한 모든 기능을 갖지 않고 일부 기능만 가질 수도 있다. 즉, 이와 같이, 서로 다른 기능을 지원하는 네트워크 노드가 분산되어 있고 각 네트워크 노드의 기능이 동적으로 변경되는 네트워크를 기능 분산 네트워크(Function Distributed Network)라고 한다.On the other hand, NFV ( Network Function With the introduction of Virtualization ) technology, network node functions are being developed in a programmable form. The implementation form of NFV may proceed in the form of implementing network functions in the cloud, but may also proceed in the form in which the functions are implemented in the network node itself. In this case, one network node does not have all the necessary functions for packet processing. and may have only some functions. That is, as described above, a network in which network nodes supporting different functions are distributed and the function of each network node is dynamically changed is called a function distributed network.

따라서, 기존 네트워크 시스템과 달리 기능 분산 네트워크의 경우, 각 노드에서 패킷에 대하여 처리 해야 하는 기능이 서로 달라지게 되므로, 주소를 기반으로 하는 라우팅은 적합하지 않다. 그러므로, 이러한 경우, 각 패킷별 필요한 기능 집합을 구분하고 패킷 라우팅이 이루어지도록 하는 기술의 도입이 요구되고 있다.Therefore, unlike the existing network system, in the case of a functional distributed network, the functions to be processed for packets in each node are different from each other, so address-based routing is not suitable. Therefore, in this case, it is required to introduce a technique for classifying a necessary set of functions for each packet and performing packet routing.

본 발명의 일 실시예는 기능 분산 네트워크에 있어서 입력 패킷이 네트워크에 진입하여 네트워크를 빠져나갈 때까지, 서로 다른 기능을 갖는 노드를 적절히 거쳐 입력 패킷에 필요한 처리가 이루어지도록 하는 기능 기반 라우팅(Function-based Routing) 방법을 제공하는 것을 목적으로 한다.An embodiment of the present invention provides a function-based routing (Function-based Routing) that allows an input packet to undergo appropriate processing through nodes having different functions until it enters the network and exits the network in a distributed functional network. based Routing) method.

본 발명의 일 실시예에 따르는, 적어도 하나 이상의 기능을 갖는 복수의 노드를 포함하는 기능 분산 네트워크를 통한 기능 기반 라우팅 방법은, (a) 상기 기능 분산 네트워크에 포함된 에지노드가 입력 패킷을 수신하는 경우, 입력 패킷으로부터 상기 입력 패킷의 기능에 대한 식별정보인 FID(Function ID)를 포함하는 패킷에 대한 기능 리스트를 획득하는 단계; (b) 상기 에지노드가 상기 FID를 레이블 형태로 표현하여, 적어도 하나의 FID 레이블로 구성된 FID 레이블 스택을 상기 입력 패킷에 삽입하는 단계; (c) 상기 에지노드가 각 노드의 기능에 대한 정보가 포함된 라우팅 테이블과 상기 FID 레이블 스택을 참고하여 상기 입력 패킷을 포워딩 할 중간노드를 결정하고 상기 중간노드로 포워딩하는 단계; 및 (d) 상기 중간노드가 상기 입력 패킷의 FID 레이블 스택 중 어느 하나의 FID 레이블과 부합하는 상기 중간노드의 기능을 수행하고, 상기 라우팅 테이블과 상기 FID 레이블 스택을 참고하여, 타 노드로 상기 입력 패킷을 포워딩하는 단계;를 포함하는 것을 특징으로 한다. According to an embodiment of the present invention, a function-based routing method through a functional distributed network including a plurality of nodes having at least one or more functions, (a) an edge node included in the functional distributed network receives an input packet case, obtaining a function list for a packet including a function ID (FID), which is identification information for a function of the input packet, from the input packet; (b) the edge node expressing the FID in the form of a label and inserting, by the edge node, an FID label stack composed of at least one FID label into the input packet; (c) determining, by the edge node, an intermediate node to which the input packet is to be forwarded by referring to the FID label stack and a routing table containing information on the function of each node, and forwarding the input packet to the intermediate node; and (d) the intermediate node performs the function of the intermediate node matching any one of the FID label stacks of the FID label stack of the input packet, and referring to the routing table and the FID label stack, the input to another node and forwarding the packet.

또한, 상기 기능 분산 네트워크의 각 노드에 포함된 적어도 하나의 기능에 대한 집합은 타 노드에 포함된 기능에 대한 집합과 다르게 구성되는 것을 특징으로 한다. In addition, the set of at least one function included in each node of the functional distributed network is configured differently from the set of functions included in other nodes.

또한, 상기 기능 기반 라우팅 방법은, (e) 상기 (a) 단계 전, 각 노드가 자신의 기능을 타 노드와 공유함에 따라, 각 노드에서 상기 라우팅 테이블을 구축하는 단계를 더 포함하는 것을 특징으로 한다. In addition, the function-based routing method, (e) before the step (a), as each node shares its function with other nodes, it further comprises the step of constructing the routing table at each node. do.

또한, 상기 (e) 단계는, (e-1) 각 노드가 자신의 기능에 대한 정보를 포함한 LSA(Link State Advertisement) 메시지를 타 노드로 전송하는 단계; (e-2) 상기 LSA 메시지를 수신한 노드는 상기 LSA 메시지에 포함된 각 노드의 기능을 바탕으로 기능 기반 라우팅 데이터베이스를 구축하고, 상기 LSA 메시지를 타 노드로 플러딩하는 단계; 및 (e-3) 상기 기능 기반 라우팅 데이터베이스에 저장된 각 노드의 기능에 대한 정보를 기능별 최단경로 알고리즘에 적용하여, 각 기능 별 라우팅 경로가 저장된 라우팅 테이블을 구축하는 단계;를 포함하는 것을 특징으로 한다. In addition, the step (e) includes: (e-1) each node transmitting a Link State Advertisement (LSA) message including information on its own function to another node; (e-2) the node receiving the LSA message constructing a function-based routing database based on the function of each node included in the LSA message, and flooding the LSA message to other nodes; and (e-3) applying the information on the function of each node stored in the function-based routing database to the shortest path algorithm for each function, and constructing a routing table in which the routing path for each function is stored. .

또한, 상기 (a) 단계는, 상기 에지노드가 상기 입력 패킷의 헤더의 다중 필드를 기반으로 트래픽 분류를 수행하여 상기 패킷기능리스트를 획득하는 단계를 포함하는 것을 특징으로 한다. In addition, the step (a) is characterized in that the edge node obtains the packet function list by performing traffic classification based on multiple fields of the header of the input packet.

또한, 상기 기능 기반 라우팅 방법은, (f) 상기 (a) 단계 후, 상기 패킷기능리스트에 상기 에지노드의 기능 중 적어도 하나의 기능이 포함되어 있는 경우, 상기 에지노드가 상기 패킷기능리스트에 포함된 상기 적어도 하나의 기능을 수행하는 단계를 더 포함하는 것을 특징으로 한다. In addition, in the function-based routing method, (f) after step (a), when at least one function among the functions of the edge node is included in the packet function list, the edge node is included in the packet function list It characterized in that it further comprises the step of performing the at least one function.

또한, 상기 FID 레이블은 상기 FID 레이블이 상기 FID 레이블 스택 내에서 배치되는 위치에 관한 정보를 포함하는 것을 특징으로 한다. In addition, the FID label is characterized in that it includes information on a position in which the FID label is arranged in the FID label stack.

또한, 상기 (b) 단계는, 상기 에지노드가 상기 패킷기능리스트에 포함된 기능들 중 우선순위가 높은 기능의 FID 레이블이 최상위에 배치되도록 상기 FID 레이블 스택을 우선순위에 따라 형성하여 상기 입력 패킷에 삽입하는 단계를 포함하는 것을 특징으로 한다. Also, in the step (b), the edge node forms the FID label stack according to the priority so that the FID label of the function having a higher priority among the functions included in the packet function list is placed at the top of the input packet. It characterized in that it comprises the step of inserting into the.

또한, 상기 (c) 단계는, 상기 에지노드가 상기 FID 레이블 스택 중 최상위에 배치된 FID 레이블을 기반으로, 상기 최상위에 배치된 FID 레이블에 대응하는 기능을 수행하기 위한 중간노드를 상기 라우팅 테이블을 참고하여 검색하는 단계를 포함하는 것을 특징으로 한다. In addition, in step (c), the edge node assigns an intermediate node for performing a function corresponding to the topmost FID label in the routing table based on the FID label disposed at the top of the FID label stack. It is characterized in that it includes the step of searching for reference.

또한, 상기 (d) 단계는, 상기 중간노드가 상기 입력 패킷의 최상위에 배치된 FID 레이블에 대응하는 상기 중간노드의 기능을 수행하고, 상기 최상위에 배치된 FID 레이블을 상기 FID 레이블 스택으로부터 삭제하는 단계; 및 상기 FID 레이블 스택 내에 다른 FID 레이블이 존재하는 경우, 다른 FID 레이블 중 최상위에 배치된 FID 레이블에 대응하는 기능을 수행하기 위한 타 노드를 상기 라우팅 테이블을 통해 검색하여, 검색된 타 노드로 상기 입력 패킷을 전송하는 단계;를 포함하는 것을 특징으로 한다. In addition, in the step (d), the intermediate node performs the function of the intermediate node corresponding to the FID label disposed at the top of the input packet, and deletes the FID label disposed at the top from the FID label stack. step; and when another FID label exists in the FID label stack, another node for performing a function corresponding to the highest FID label among other FID labels is searched through the routing table, and the input packet is sent to the searched other node. It is characterized in that it comprises;

한편, 본 발명의 다른 실시예에 따르는, 서로 통신이 연결되며 적어도 하나 이상의 기능을 갖는 복수의 노드를 포함하는 기능 기반 라우팅 시스템에 있어서, 각 노드는, 입력 패킷을 수신하는 경우, 입력 패킷으로부터 상기 입력 패킷의 기능에 대한 식별정보인 FID(Function ID)를 포함하는 패킷기능리스트를 획득하는 패킷기능리스트 획득부; 상기 FID를 레이블 형태로 표현하여, 적어도 하나의 FID 레이블로 구성된 FID 레이블 스택을 상기 입력 패킷에 삽입하는 FID 레이블 삽입부; 및 각 노드의 기능에 대한 정보가 포함된 라우팅 테이블과 상기 FID 레이블 스택을 참고하여 상기 입력 패킷을 포워딩 할 타 노드를 결정하고 상기 타 노드로 포워딩하는 패킷 포워딩부;를 포함하는 것을 특징으로 한다. On the other hand, according to another embodiment of the present invention, in the function-based routing system including a plurality of nodes that are connected to each other and have at least one function, when each node receives an input packet, the a packet function list obtaining unit which obtains a packet function list including FID (Function ID), which is identification information on a function of an input packet; an FID label inserter for expressing the FID in a label form and inserting an FID label stack composed of at least one FID label into the input packet; and a packet forwarding unit that determines another node to which the input packet is to be forwarded by referring to a routing table including information on the function of each node and the FID label stack and forwards the input packet to the other node.

또한, 상기 기능 기반 라우팅 시스템의 각 노드에 포함된 적어도 하나의 기능에 대한 집합은 타 노드에 포함된 기능에 대한 집합과 다르게 구성되는 것을 특징으로 한다. In addition, the set of at least one function included in each node of the function-based routing system is configured differently from the set of functions included in other nodes.

또한, 상기 각 노드는, 타 노드와 기능을 공유함에 따라, 상기 라우팅 테이블을 구축하는 라우팅 테이블 구축부를 더 포함하는 것을 특징으로 한다. In addition, each node, as it shares a function with other nodes, characterized in that it further comprises a routing table construction unit for building the routing table.

또한, 상기 라우팅 테이블 구축부는, 자신의 노드의 기능에 대한 정보를 포함한 LSA(Link State Advertisement) 메시지를 타 노드로 전송하는 노드기능정보 전송부; 타 노드로부터 상기 LSA 메시지를 수신한 경우, 상기 LSA 메시지에 포함된 각 노드의 기능을 바탕으로 기능 기반 라우팅 데이터베이스를 구축하고, 상기 LSA 메시지를 타 노드로 플러딩하는 노드기능정보 수신처리부; 및 상기 기능 기반 라우팅 데이터베이스에 저장된 각 노드의 기능에 대한 정보를 기능별 최단경로 알고리즘에 적용하여, 각 기능 별 라우팅 경로가 저장된 라우팅 테이블을 구축하는 라우팅 테이블 생성부;를 포함하는 것을 특징으로 한다. In addition, the routing table construction unit, the node function information transmitting unit for transmitting the LSA (Link State Advertisement) message including information on the function of the node to another node; a node function information reception processing unit that, when receiving the LSA message from another node, builds a function-based routing database based on the function of each node included in the LSA message, and floods the LSA message to another node; and a routing table generator configured to construct a routing table in which routing paths for each function are stored by applying the information on the function of each node stored in the function-based routing database to the shortest path algorithm for each function.

또한, 상기 패킷기능리스트 획득부는, 상기 에지노드가 상기 입력 패킷의 헤더의 다중 필드를 기반으로 트래픽 분류를 수행하여 상기 패킷기능리스트를 획득하는 것을 특징으로 한다. In addition, the packet function list obtaining unit is characterized in that the edge node obtains the packet function list by performing traffic classification based on multiple fields of the header of the input packet.

또한, 상기 기능 기반 라우팅 시스템은, 상기 패킷기능리스트가 획득된 후, 상기 패킷기능리스트에 상기 에지노드의 기능 중 적어도 하나의 기능이 포함되어 있는 경우, 상기 에지노드가 상기 패킷기능리스트에 포함된 상기 적어도 하나의 기능을 수행하는 노드기능 수행부를 더 포함하는 것을 특징으로 한다. Further, in the function-based routing system, after the packet function list is obtained, when at least one function among the functions of the edge node is included in the packet function list, the edge node is included in the packet function list. It characterized in that it further comprises a node function performing unit for performing the at least one function.

또한, 상기 FID 레이블은 상기 FID 레이블이 상기 FID 레이블 스택 내에서 배치되는 위치에 관한 정보를 포함하는 것을 특징으로 한다. In addition, the FID label is characterized in that it includes information on a position in which the FID label is arranged in the FID label stack.

또한, 상기 FID 레이블 삽입부는, 상기 에지노드가 상기 패킷기능리스트에 포함된 기능들 중 우선순위가 높은 기능의 FID 레이블이 최상위에 배치되도록 상기 FID 레이블 스택을 우선순위에 따라 형성하여 상기 입력 패킷에 삽입하는 것을 특징으로 한다. In addition, the FID label insertion unit is configured to form the FID label stack according to the priority so that the FID label of a function having a higher priority among functions included in the packet function list is placed at the top of the packet function list by the edge node. characterized in that it is inserted.

또한, 상기 패킷 포워딩부는, 상기 에지노드가 상기 FID 레이블 스택 중 최상위에 배치된 FID 레이블을 기반으로, 상기 최상위에 배치된 FID 레이블에 대응하는 기능을 수행하기 위한 중간노드를 상기 라우팅 테이블을 참고하여 검색하는 것을 특징으로 한다. In addition, the packet forwarding unit, the edge node based on the FID label disposed at the top of the FID label stack, selects an intermediate node for performing a function corresponding to the FID label disposed at the top by referring to the routing table. It is characterized by searching.

또한, 상기 노드기능 수행부는, 상기 FID 레이블 스택을 포함하는 입력 패킷을 수신한 경우, 상기 FID 레이블 스택의 최상위에 배치된 FID 레이블에 대응하는 노드의 기능을 수행하고, 상기 최상위에 배치된 FID 레이블을 상기 FID 레이블 스택으로부터 삭제하며, 상기 패킷 포워딩부는, 상기 FID 레이블 스택 내에 다른 FID 레이블이 존재하는 경우, 다른 FID 레이블 중 최상위에 배치된 FID 레이블에 대응하는 기능을 수행하기 위한 타 노드를 상기 라우팅 테이블을 통해 검색하여, 검색된 타 노드로 상기 입력 패킷을 전송하는 것을 특징으로 한다.In addition, the node function performing unit, upon receiving the input packet including the FID label stack, performs a function of a node corresponding to the FID label disposed at the top of the FID label stack, and the FID label disposed at the top deletes from the FID label stack, and the packet forwarding unit, when another FID label exists in the FID label stack, routes another node for performing a function corresponding to the FID label disposed at the top of the other FID labels. It is characterized in that the input packet is transmitted to the searched other node by searching through the table.

본 발명의 일 실시예에 따르는 기능 기반 라우팅 시스템은 에지노드에서 입력 패킷의 기능을 추출하고 그 기능에 부합하는 FID(Function Identifier) 레이블을 삽입함으로써, 각 노드가 FID 레이블을 매개로 입력 패킷에 필요한 기능을 수행하고 순차적으로 필요한 노드를 찾아 입력 패킷이 포워딩되도록 할 수 있다. 이러한 과정을 통해 본 발명의 일 실시예는 각 패킷별 기능을 기준으로 네트워크 내에서 최적의 처리가 수행되도록 할 수 있다. 이는 IP 주소나 정책에 따라 패킷 처리가 결정되는 기존의 네트워크와는 다른 기능 분산 네트워크에 매우 적합하고 효율적인 방법이라 할 수 있다.A function-based routing system according to an embodiment of the present invention extracts a function of an input packet from an edge node and inserts a FID (Function Identifier) label that matches the function, so that each node needs the input packet through the FID label. It can perform the function and sequentially find the required node so that the input packet is forwarded. Through this process, an embodiment of the present invention can allow optimal processing to be performed in the network based on the function of each packet. This can be said to be a very suitable and efficient method for a functional distributed network that is different from the existing network where packet processing is determined according to IP addresses or policies.

도 1은 본 발명의 일 실시예에 따르는 기능 기반 라우팅 시스템의 구조도이다.
도 2는 본 발명의 일 실시예에 따르는 기능 기반 라우팅 시스템에 속하는 각 노드의 구조에 대한 블록도이다.
도 3은 본 발명의 일 실시예에 따르는 라우팅 테이블 구축부의 구조를 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따라 라우팅 테이블 구축시 노드에서 전송되는 LSA(Link State Advertisement) 메시지의 구조를 나타내는 구조도이다.
도 5는 본 발명의 일 실시예에 따라 각 노드 별로 기능별 라우팅 데이터베이스를 구축하는 예를 나타내는 개념도이다.
도 6은 본 발명의 일 실시예에 따라 입력 패킷에 삽입되는 FID(Function IDentifier) 레이블의 일 예를 나타내는 구조도이다.
도 7은 본 발명의 일 실시예에 따라 에지노드에서 중간노드로 입력 패킷이 전달되는 과정을 개념적으로 나타낸 개념도이다.
도 8은 본 발명의 일 실시예에 따르는 기능 기반 라우팅 방법에 있어서 에지노드의 패킷 처리 과정을 설명하기 위한 개념도이다.
도 9는 본 발명의 일 실시예에 따르는 기능 기반 라우팅 방법에 있어서 중간노드의 패킷 처리 과정을 설명하기 위한 개념도이다.
1 is a structural diagram of a function-based routing system according to an embodiment of the present invention.
2 is a block diagram of the structure of each node belonging to a function-based routing system according to an embodiment of the present invention.
3 is a block diagram showing the structure of a routing table construction unit according to an embodiment of the present invention.
4 is a structural diagram illustrating the structure of a Link State Advertisement (LSA) message transmitted from a node when a routing table is established according to an embodiment of the present invention.
5 is a conceptual diagram illustrating an example of constructing a routing database for each function for each node according to an embodiment of the present invention.
6 is a structural diagram illustrating an example of a function identifier (FID) label inserted into an input packet according to an embodiment of the present invention.
7 is a conceptual diagram conceptually illustrating a process of transferring an input packet from an edge node to an intermediate node according to an embodiment of the present invention.
8 is a conceptual diagram illustrating a packet processing process of an edge node in a function-based routing method according to an embodiment of the present invention.
9 is a conceptual diagram for explaining a packet processing process of an intermediate node in a function-based routing method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement them. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 또한 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.

이하, 도면을 참고하여 본 발명의 일 실시예에 따르는 기능 기반 라우팅 시스템에 대하여 구체적으로 설명한다. Hereinafter, a function-based routing system according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 1을 참조하면, 본 발명의 일 실시예에 따르는 시스템(10)은 복수의 노드(100)를 포함한다. 각 노드(100)들은 네트워크망(미도시)을 통하여 필요한 정보 또는 패킷을 주고 받으며, 이러한 네트워크망은 유선 또는 무선 네트워크망으로 구성될 수 있다. Referring to FIG. 1 , a system 10 according to an embodiment of the present invention includes a plurality of nodes 100 . Each node 100 exchanges necessary information or packets through a network (not shown), and this network may be configured as a wired or wireless network.

또한, 본 발명의 일 실시예의 시스템(10)은 기능 분산 네트워크(Function Distributed Network)를 기반으로 하는 것으로서, 기능 분산 네트워크에서 각 노드(100)는 적어도 하나 이상의 기능으로 구성된 기능 집합을 가지되, 타 노드의 기능 집합과 다른 기능 집합을 포함하도록 구성될 수 있으며, 각 노드(100)의 기능 집합은 동적으로 변경될 수 있다. 그러므로, 기능 분산 네트워크 내에서 하나의 패킷을 처리하기 위하여 복수의 기능이 수행되어야 하는 경우, 해당 패킷은 필요한 노드(100)를 거쳐 필요한 기능 처리가 모두 이루어지도록 해야 한다.In addition, the system 10 of an embodiment of the present invention is based on a Function Distributed Network, in which each node 100 has a function set consisting of at least one function, but other It may be configured to include a function set different from that of the node, and the function set of each node 100 may be dynamically changed. Therefore, when a plurality of functions are to be performed in order to process one packet in the functional distributed network, the corresponding packet must pass through the necessary node 100 so that all necessary function processing is performed.

예를 들면, 도 1에서, A 노드(100a)는 제1기능, 제2기능을 지원하며, B 노드(100b)는 제3기능, 제4기능을 지원하고, C 노드(100c)는 제6기능을 지원하고, D 노드(100d)는 제5기능을 지원하도록 구성되는 경우를 가정한다. 이때, 패킷 X를 처리하기 위해서는 제1기능, 제5기능, 제6기능이 요구되는데, 패킷 X가 최초에 A 노드(100a)로 수신되었다면, 실선 화살표 방향과 같이, A 노드(100a), C 노드(100c), D 노드(100d)를 거치며 차례대로 제1기능, 제5기능, 제6기능이 네트워크 내에서 실행될 수 있다. 또한, 패킷 Y를 처리하기 위해서는, 제2기능, 제3기능, 제5기능, 제6기능이 요구되는데, 패킷 Y가 최초에 A 노드(100a)로 수신되었다면, 점선 화살표 방향과 같이, A 노드(100a), B 노드(100b), C 노드(100c), D 노드(100d)를 차례대로 거치며 제2기능, 제3기능, 제5기능, 제6기능이 네트워크 내에서 실행될 수 있다. For example, in FIG. 1 , a node A 100a supports a first function and a second function, a node B 100b supports a third function and a fourth function, and a node C 100c supports a sixth function. It is assumed that the function is supported, and the D node 100d is configured to support the fifth function. At this time, in order to process the packet X, the first function, the fifth function, and the sixth function are required. If the packet X is initially received by the node A 100a, as shown in the direction of the solid arrow, the node A 100a, C The first function, the fifth function, and the sixth function may be sequentially executed in the network through the node 100c and the D node 100d. In addition, in order to process the packet Y, the second function, the third function, the fifth function, and the sixth function are required. If the packet Y is initially received by the A node 100a, as in the direction of the dotted arrow, the A node The second function, the third function, the fifth function, and the sixth function may be executed in the network by sequentially passing through the node 100a, the node B 100b, the node C 100c, and the node D 100d.

이와 같이, 입력 패킷에 필요한 기능을 지원하는 노드(100)에 순차적으로 입력 패킷이 전달되어 처리되도록 하기 위해서는, 입력 패킷에 대하여 요구되는 기능을 추출하고, 타 노드가 어떤 기능을 지원하는지 파악하여 입력 패킷을 적절한 다른 노드에 전송할 수 있어야 한다. In this way, in order to sequentially transfer and process input packets to the node 100 supporting the functions required for the input packets, functions required for the input packets are extracted, and the functions supported by other nodes are identified and input. It should be able to send the packet to the appropriate other node.

이하, 도 2 및 도 3을 참조하여, 각 노드(100)의 구성요소를 구체적으로 설명하여 기능 기반 라우팅이 이루어지는 원리에 대하여 알아보도록 한다. Hereinafter, with reference to FIGS. 2 and 3 , the components of each node 100 will be described in detail to learn about the principle of function-based routing.

각 노드(100)는 라우팅 테이블 구축부(110), 패킷기능리스트 획득부(120), 노드기능 수행부(130), FID 레이블 삽입부(140), 패킷 포워딩부(150)를 포함한다. Each node 100 includes a routing table building unit 110 , a packet function list obtaining unit 120 , a node function performing unit 130 , an FID label inserting unit 140 , and a packet forwarding unit 150 .

라우팅 테이블 구축부(110)는 각 노드(100)의 기능을 공유하여, 임의의 노드(100)에 입력된 입력 패킷이 전달될 타 노드(즉, 넥스트 홉(nexthop))에 대한 정보를 제공하는 라우팅 테이블을 구축한다. 구체적으로, 라우팅 테이블은 각 노드(100)가 갖는 기능에 대한 식별정보인 FID(Function IDentifier)와 각 노드(100)에 대한 IP 정보 및 각 기능 별로 최소 비용이 드는 라우팅 경로 등으로 구성된다. 그에 따라, 라우팅 테이블에 FID가 키 값을 입력될 경우, 넥스트 홉에 대한 정보가 결과값으로 출력될 수 있다. The routing table construction unit 110 shares the function of each node 100 to provide information on other nodes (ie, next hops) to which an input packet input to an arbitrary node 100 will be delivered. Build a routing table. Specifically, the routing table is composed of a Function IDentifier (FID), which is identification information for a function of each node 100 , IP information about each node 100 , and a routing path that requires a minimum cost for each function. Accordingly, when the FID key value is input to the routing table, information on the next hop may be output as a result value.

여기서 FID(Function IDentifier)는 노드(100) 뿐만 아니라 패킷에 대한 기능의 식별정보를 지칭할 수도 있다. FID는 기능에 대한 이름(문자) 또는 숫자 형태로서 표현될 수 있으나, 그 밖의 다양한 형태로도 표현될 수 있다. 다만, 바람직하게, 일반적으로 이더넷의 경우 IP는 0x0800, ARP는 0x0806 등의 숫자로 표시하는 것처럼 숫자 형태가 구현 관점에서 용이할 수 있다.Here, the FID (Function IDentifier) may refer not only to the node 100 but also to identification information of a function for a packet. The FID may be expressed in the form of a name (letter) or number for a function, but may also be expressed in various other forms. However, preferably, in general, in the case of Ethernet, the form of a number may be easy from the viewpoint of implementation, such as 0x0800 for IP and 0x0806 for ARP.

도 3을 참조하면, 라우팅 테이블 구축부(110)는 라우팅 테이블을 구축하기 위하여 노드기능정보 전송부(111), 노드기능정보 수신처리부(112), 라우팅 테이블 생성부(113)를 포함한다. Referring to FIG. 3 , the routing table construction unit 110 includes a node function information transmission unit 111 , a node function information reception processing unit 112 , and a routing table generation unit 113 to construct a routing table.

노드기능정보 전송부(111)는 자신의 노드(100)의 기능에 대한 정보를 인접한 타 노드로 전송한다. 구체적으로, 노드기능정보 전송부(111)는 노드 기능에 대한 정보를 LSA(Link State Advertisement) 메시지(즉, OSPF(Open Shortest Path First)의 LSA와 같은 형태의 메시지)로 전송할 수 있다. 도 4는 LSA메시지의 일 실시 예를 나타내는 것으로서, OSPF와 LSA에 각 노드(100)가 갖는 기능에 대한 정보인 FID 리스트를 추가하는 형태로 구현 가능하다. The node function information transmitting unit 111 transmits information on the function of its own node 100 to another adjacent node. Specifically, the node function information transmission unit 111 may transmit information on the node function as a Link State Advertisement (LSA) message (ie, a message in the same form as the LSA of Open Shortest Path First (OSPF)). 4 shows an embodiment of an LSA message, which can be implemented in the form of adding an FID list, which is information on a function of each node 100, to OSPF and LSA.

노드기능정보 수신처리부(112)는 타 노드로부터 타 노드의 기능에 대한 정보를 수신하였을 경우, 시스템(10) 내의 모든 노드(100)들의 기능에 대한 정보를 집합시킨 기능 기반 라우팅 데이터베이스를 구축하기 위해 적절한 처리를 수행한다. 구체적으로, 타 노드로부터 LSA 메시지를 수신한 경우, LSA 메시지에 포함된 타 노드의 기능을 추출하고, 추출한 정보들을 수집하여 기능 기반 라우팅 데이터베이스를 구축한다. 그리고 노드기능정보 수신처리부(112)는 LSA 메시지를 인접한 타 노드로 플러딩한다. When the node function information reception processing unit 112 receives information about the function of another node from another node, in order to build a function-based routing database that aggregates information on the functions of all nodes 100 in the system 10 Take appropriate treatment. Specifically, when an LSA message is received from another node, functions of other nodes included in the LSA message are extracted, and the extracted information is collected to build a function-based routing database. And the node function information reception processing unit 112 floods the LSA message to other adjacent nodes.

라우팅 테이블 생성부(113)는 기능 기반 라우팅 데이터베이스에 저장된 각 노드(100)의 기능에 대한 정보를 기능별 최단경로 알고리즘에 적용하여, 각 기능 별 라우팅 경로가 설정된 라우팅 테이블을 생성한다. The routing table generator 113 applies the information on the function of each node 100 stored in the function-based routing database to the shortest path algorithm for each function, and generates a routing table in which a routing path for each function is set.

즉, 라우팅 테이블을 구축하는 과정을 쉽게 설명하면, 도 5와 같이, 각 노드(100)들은 자신의 기능에 대한 정보를 타 노드와 교환/공유하여, 모든 노드(100)들의 기능 목록에 대한 데이터베이스를 동기화한다. 이어서, 각 기능 별로 최소 비용에 따른 넥스트 홉이 지정되도록 라우팅 테이블을 구축한다. 이에 따라, 각 노드(100)에서는 입력 패킷에 대하여 요구되는 기능을 키 값으로 라우팅 테이블에 입력하기만 하면 라우팅 테이블은 결과 값으로 최소 비용에 따른 넥스트 홉을 결과값으로 출력할 수 있게 된다. That is, to easily explain the process of building the routing table, as shown in FIG. 5 , each node 100 exchanges/shares information on its own function with other nodes, and provides a database for the function list of all nodes 100 . to synchronize Next, a routing table is built so that the next hop according to the minimum cost is designated for each function. Accordingly, in each node 100, only by inputting a function required for an input packet as a key value into the routing table, the routing table can output the next hop according to the minimum cost as the result value.

다시, 도 2를 참조하면, 패킷기능리스트 획득부(120)는 노드(100)로 유입된 입력 패킷이 시스템(10) 상에 최초로 유입되어 해당 노드(100)가 에지노드(100e) 역할을 수행하는 경우 동작하는 것으로서, 입력 패킷에 대하여 패킷기능리스트를 획득한다. 여기서 패킷기능리스트란 패킷이 처리되기 위하여 요구되는 기능(즉, FID)들의 목록을 의미한다. 구체적으로, 패킷기능리스트 획득부(120)는 입력 패킷의 헤더의 다중 필드(예, IP SRC, IP DST, Protocol, TCP/UDP port numbers)를 기반으로 트래픽 분류 테이블을 검색하여 패킷기능리스트를 획득할 수 있다. Again, referring to FIG. 2 , in the packet function list acquisition unit 120 , the input packet flowing into the node 100 is first introduced into the system 10 so that the node 100 serves as the edge node 100e. In this case, the packet function list is obtained for the input packet. Here, the packet function list means a list of functions (ie, FIDs) required to process a packet. Specifically, the packet function list acquisition unit 120 obtains the packet function list by searching the traffic classification table based on multiple fields (eg, IP SRC, IP DST, Protocol, TCP/UDP port numbers) of the header of the input packet. can do.

노드기능 수행부(130)는 획득된 패킷기능리스트 중 자체적으로 처리할 수 있는 기능이 포함되어 있는 경우, 해당 기능을 수행한다. The node function performing unit 130 performs a corresponding function when a function that can be processed by itself is included in the acquired packet function list.

FID 레이블 삽입부(140)는 패킷기능리스트에 포함되어 있는 기능(즉, FID)을 레이블 형태로 입력 패킷에 삽입한다. 각각의 기능은 레이블 형태로 입력 패킷에 삽입될 수 있다. 이때, 하나의 기능에 대한 레이블을 FID 레이블이라고 지칭하고, 패킷기능리스트에 포함된 복수의 기능에 대한 레이블들은 FID 레이블 스택이라고 지칭한다. 도 6은 일 실시 예에 따른 FID 레이블의 형태를 나타내는 도면이다. FID 레이블은 Function ID, Reserved, S, TTL(Time To Live) 항목으로 구성되며, S는 해당 FID 레이블이 FID 레이블 스택 내에서 차지하는 위치를 나타내는 정보로서, 일반적으로 FID 레이블 스택 내의 마지막 레이블인지 여부를 나타낸다. 이와 같이, 전반적으로 FID 레이블은 MPLS(Multiprotocol Label Switching) 레이블과 유사한 형태를 가질 수 있다. The FID label inserting unit 140 inserts a function (ie, FID) included in the packet function list into an input packet in the form of a label. Each function can be inserted into the input packet in the form of a label. In this case, a label for one function is referred to as an FID label, and labels for a plurality of functions included in the packet function list are referred to as an FID label stack. 6 is a diagram illustrating a form of an FID label according to an embodiment. The FID label consists of Function ID, Reserved, S, and Time To Live (TTL) items, where S is information indicating the position the corresponding FID label occupies in the FID label stack. In general, it is the last label in the FID label stack. indicates. As such, the overall FID label may have a form similar to that of a Multiprotocol Label Switching (MPLS) label.

또한, FID 레이블 삽입부(140)는 패킷기능리스트에 포함된 기능들 중 가장 먼저 처리되어야 할 FID 레이블이 최상위에 배치되고, 다음에 처리할 기능이 후순위로 배치되도록 각 기능에 대한 우선순위에 따라 FID 레이블이 순차적으로 배치되도록 FID 레이블 스택을 형성하여 입력 패킷에 삽입할 수 있다. 한편, FID 레이블 삽입시 해당 노드(100)에서 이미 실행된 기능에 대한 FID 레이블 삽입은 생략될 수도 있다. In addition, the FID label inserting unit 140 according to the priority of each function so that the FID label to be processed first among the functions included in the packet function list is placed at the top, and the function to be processed next is placed in the second order. A stack of FID labels can be formed so that the FID labels are sequentially placed and inserted into the input packet. On the other hand, when inserting the FID label, the insertion of the FID label for a function already executed in the node 100 may be omitted.

패킷 포워딩부(150)는 FID 레이블을 기반으로 라우팅 테이블을 룩업하여 패킷이 전송될 넥스트 홉을 파악하고, 넥스트 홉으로 패킷을 포워딩한다. 구체적으로, 패킷 포워딩부(150)는 FID 레이블 스택 중 최상위에 배치된 FID 레이블에 대응하는 기능을 갖는 넥스트 홉을 라우팅 테이블 룩업을 통해 파악하여, 포워딩할 수 있다. FID 레이블 스택 중 최상위에 배치된 FID 레이블은 입력 패킷이 입력된 노드(100)에서 실행되지 않은 기능들 중 최우선적으로 수행되어야 할 기능이기 때문에 최상위에 배치된 FID 레이블이 넥스트 홉 결정시 고려 대상이 될 수 있다. 한편, 라우팅 테이블은 FID 뿐만 아니라 IP 포워딩 테이블과 결합된 형태의 테이블로 구성될 수 있으며, 이러한 경우, 패킷 포워딩부(150)는 FID 레이블 스택 중 첫 번째 FID 레이블과 IP 목적지 주소를 기반으로 포워딩할 노드(100)를 결정할 수 있다. The packet forwarding unit 150 looks up the routing table based on the FID label to identify the next hop to which the packet is to be transmitted, and forwards the packet to the next hop. Specifically, the packet forwarding unit 150 may forward the next hop having a function corresponding to the FID label disposed at the top of the FID label stack through a routing table lookup. Since the FID label placed at the top of the FID label stack is a function that should be performed with the highest priority among functions that are not executed in the node 100 to which the input packet is input, the FID label placed at the top is considered when determining the next hop. can be On the other hand, the routing table may be composed of a table combined with the IP forwarding table as well as the FID. In this case, the packet forwarding unit 150 performs forwarding based on the first FID label and the IP destination address of the FID label stack. The node 100 may be determined.

즉, 도 7과 같이, 본 발명의 일 실시예의 기능 기반 라우팅 시스템은 에지노드(100e)(A 노드(100a))에서 입력 패킷(패킷 X)의 처리에 필요한 패킷기능리스트를 획득하고, 이를 바탕으로 FID 레이블이 삽입된 입력 패킷(패킷 X’)을 중간노드(100m)(C 노드(100c)) 로 전달함에 따라, 입력 패킷은 자신이 처리되기 위하여 필요한 기능을 갖는 노드(100)를 찾아 순차적으로 적절하게 전송될 수 있다. That is, as shown in Fig. 7, the function-based routing system of an embodiment of the present invention obtains a list of packet functions required for processing an input packet (packet X) in the edge node 100e (node A 100a), and based on this As an input packet (packet X') with an FID label inserted therein is delivered to the intermediate node 100m (node C 100c), the input packet finds the node 100 having the necessary function to be processed and sequentially can be transmitted appropriately.

한편, 각 노드(100)가 도 2의 구성을 모두 포함하는 것으로 설명하였으나, 각 노드(100)가 에지노드(100e)나 중간노드(100m)가 되느냐에 따라 다른 기능을 수행하는 바, 본 발명의 일 실시예에 따르는 기능 기반 라우팅 방법에 있어서, 에지노드(100e)와 중간노드(100m)에서의 패킷 처리 과정에 대하여 도 8과 도 9를 참조하여 구체적으로 설명한다. On the other hand, although each node 100 has been described as including all the configurations of FIG. 2 , each node 100 performs a different function depending on whether it becomes the edge node 100e or the intermediate node 100m. In the function-based routing method according to an embodiment of , packet processing in the edge node 100e and the intermediate node 100m will be described in detail with reference to FIGS. 8 and 9 .

먼저, 도 8을 참조하여 에지노드(100e)에서의 패킷 처리 과정을 설명하면, 에지노드(100e)의 패킷기능리스트 획득부(120)는 트래픽 분류 테이블을 이용하여 입력 패킷의 헤더를 기반으로 패킷기능리스트를 획득한다. 이때, 에지노드(100e)의 노드기능 수행부(130)는 패킷기능리스트 중 지원가능한 기능이 있는 경우 곧바로 실행할 수 있다. 이어서, 에지노드(100e)의 FID 레이블 삽입부(140)는 이를 바탕으로, FID 레이블을 생성하고 입력 패킷에 삽입한다. 그리고, 에지노드(100e)의 패킷 포워딩부(150)는 라우팅 테이블을 참조하여, 최상위 FID 레이블에 대응하는 기능을 갖는 중간노드(100m)를 검색하여, 검색된 중간노드(100m)로 FID 레이블이 삽입된 입력 패킷을 포워딩한다. First, a packet processing process in the edge node 100e will be described with reference to FIG. 8 . The packet function list acquisition unit 120 of the edge node 100e uses a traffic classification table to obtain a packet based on the header of the input packet. Get the function list. In this case, the node function performing unit 130 of the edge node 100e may immediately execute a supportable function in the packet function list. Next, the FID label insertion unit 140 of the edge node 100e generates an FID label based on this and inserts the FID label into the input packet. Then, the packet forwarding unit 150 of the edge node 100e refers to the routing table, searches for an intermediate node 100m having a function corresponding to the highest FID label, and inserts the FID label into the searched intermediate node 100m. forwards the received input packet.

도 9를 참조하면, 중간노드(100m)는 FID 레이블이 삽입된 입력 패킷을 수신하며, 중간노드(100m)의 노드기능 수행부(130)는 최상위 FID 레이블이 자신의 노드(100)에서 지원가능한 기능인지 판단한 후, 자신의 노드(100)의 기능과 대응하는 경우, 해당 기능을 수행하고, 최상위에 배치된 FID 레이블을 FID 레이블 스택으로부터 삭제한다.(POP 동작) 이어서, 중간노드(100m)의 패킷 포워딩부(150)는 FID 레이블 스택 내에 다른 FID 레이블이 존재하는 경우, 다른 FID 레이블 중 최상위에 배치된 FID 레이블에 대응하는 기능을 수행하기 위한 타 노드를 라우팅 테이블을 통해 검색하고, 검색된 타 노드로 입력 패킷을 전송한다. 한편, FID 레이블에 대한 POP 동작 후, 또 다른 FID 레이블이 존재하지 않는 경우, 라우팅 테이블 내에 IP주소만으로 이루어진 IP 포워딩 테이블을 룩업하여 입력 패킷을 전송할 수 있다. Referring to FIG. 9 , the intermediate node 100m receives an input packet having an FID label inserted therein, and the node function performing unit 130 of the intermediate node 100m determines that the highest FID label is supported by the node 100 . After determining whether it is a function, if it corresponds to the function of its own node 100, the corresponding function is performed, and the FID label disposed at the top is deleted from the FID label stack. (POP operation) Next, the intermediate node 100m When another FID label exists in the FID label stack, the packet forwarding unit 150 searches the routing table for another node for performing a function corresponding to the FID label disposed at the top among other FID labels, and the searched other node sends the input packet to Meanwhile, after the POP operation on the FID label, if another FID label does not exist, the input packet may be transmitted by looking up an IP forwarding table composed of only IP addresses in the routing table.

이와 같이, 본 발명의 일 실시예에 따르는 기능 기반 라우팅 시스템은 에지노드에서 입력 패킷의 기능을 추출하고 그 기능에 부합하는 FID(Function Identifier) 레이블을 삽입함으로써, 각 노드가 FID 레이블을 매개로 입력 패킷에 필요한 기능을 수행하고 순차적으로 필요한 노드를 찾아 입력 패킷이 포워딩되도록 함으로써, 각 패킷별 기능을 기준으로 네트워크 내에서 최적의 처리가 수행되도록 할 수 있다. 이는 IP 주소나 정책에 따라 패킷 처리가 결정되는 기존의 네트워크와는 다른 기능 분산 네트워크에 매우 적합하고 효율적인 방법이라 할 수 있다. In this way, the function-based routing system according to an embodiment of the present invention extracts the function of the input packet from the edge node and inserts a FID (Function Identifier) label that matches the function, so that each node inputs the FID label as a medium. By performing a function required for a packet and sequentially finding a necessary node to forward an input packet, it is possible to perform optimal processing within the network based on the function of each packet. This can be said to be a very suitable and efficient method for a functional distributed network that is different from the existing network where packet processing is determined according to IP addresses or policies.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may be implemented in a combined form.

10 : 기능 기반 라우팅 시스템
100 : 노드
110 : 라우팅 테이블 구축부
120 : 패킷기능리스트 획득부
130 : 노드기능 수행부
140 : FID 레이블 삽입부
150 : 패킷 포워딩부
10: Function-based routing system
100 : node
110: routing table construction unit
120: packet function list acquisition unit
130: node function execution unit
140: FID label insertion part
150: packet forwarding unit

Claims (20)

적어도 하나 이상의 기능을 갖는 복수의 노드를 포함하는 기능 분산 네트워크를 통한 기능 기반 라우팅 방법에 있어서,
(a) 상기 기능 분산 네트워크에 포함된 에지노드가 입력 패킷을 수신하는 경우, 상기 입력 패킷으로부터 상기 입력 패킷의 기능에 대한 식별정보인 FID(Function ID)를 포함하는 패킷기능리스트를 획득하는 단계;
(b) 상기 에지노드가 상기 FID를 레이블 형태로 표현하여, 적어도 하나의 FID 레이블로 구성된 FID 레이블 스택을 상기 입력 패킷에 삽입하는 단계;
(c) 상기 에지노드가 각 노드의 기능에 대한 정보가 포함된 라우팅 테이블과 상기 FID 레이블 스택을 참고하여 상기 입력 패킷을 포워딩할 중간노드를 결정하고 상기 중간노드로 포워딩하는 단계; 및
(d) 상기 중간노드가 상기 입력 패킷의 FID 레이블 스택 중 어느 하나의 FID 레이블과 부합하는 상기 중간노드의 기능을 수행하고, 상기 라우팅 테이블과 상기 FID 레이블 스택을 참고하여, 타 노드로 상기 입력 패킷을 포워딩하는 단계;
를 포함하는 기능 기반 라우팅 방법.
In the function-based routing method through a functional distributed network including a plurality of nodes having at least one function,
(a) when an edge node included in the distributed function network receives an input packet, obtaining a packet function list including FID (Function ID), which is identification information for a function of the input packet, from the input packet;
(b) inserting, by the edge node, an FID label stack composed of at least one FID label into the input packet by expressing the FID in the form of a label;
(c) determining, by the edge node, an intermediate node to which the input packet is to be forwarded by referring to the FID label stack and a routing table containing information on the function of each node, and forwarding the input packet to the intermediate node; and
(d) the intermediate node performs the function of the intermediate node matching any one of the FID label stacks of the FID label stack of the input packet, and refers to the routing table and the FID label stack, and sends the input packet to another node forwarding;
A feature-based routing method comprising
제 1 항에 있어서,
상기 기능 분산 네트워크의 각 노드에 포함된 적어도 하나의 기능에 대한 집합은 타 노드에 포함된 기능에 대한 집합과 다르게 구성되는, 기능 기반 라우팅 방법.
The method of claim 1,
A function-based routing method, wherein a set of at least one function included in each node of the distributed function network is configured differently from a set of functions included in other nodes.
제 1 항에 있어서,
상기 기능 기반 라우팅 방법은,
(e) 상기 (a) 단계 전, 각 노드가 자신의 기능을 타 노드와 공유함에 따라, 각 노드에서 상기 라우팅 테이블을 구축하는 단계를 더 포함하는, 기능 기반 라우팅 방법.
The method of claim 1,
The function-based routing method comprises:
(e) before step (a), as each node shares its function with other nodes, the method further comprising the step of building the routing table at each node.
제 3 항에 있어서,
상기 (e) 단계는,
(e-1) 각 노드가 자신의 기능에 대한 정보를 포함한 LSA(Link State Advertisement) 메시지를 타 노드로 전송하는 단계;
(e-2) 상기 LSA 메시지를 수신한 노드는 상기 LSA 메시지에 포함된 각 노드의 기능을 바탕으로 기능 기반 라우팅 데이터베이스를 구축하고, 상기 LSA 메시지를 타 노드로 플러딩하는 단계; 및
(e-3) 상기 기능 기반 라우팅 데이터베이스에 저장된 각 노드의 기능에 대한 정보를 기능별 최단경로 알고리즘에 적용하여, 각 기능 별 라우팅 경로가 저장된 라우팅 테이블을 구축하는 단계;
를 포함하는, 기능 기반 라우팅 방법.
4. The method of claim 3,
Step (e) is,
(e-1) each node transmitting a Link State Advertisement (LSA) message including information on its function to another node;
(e-2) the node receiving the LSA message constructing a function-based routing database based on the function of each node included in the LSA message, and flooding the LSA message to other nodes; and
(e-3) applying the information on the function of each node stored in the function-based routing database to a shortest path algorithm for each function to construct a routing table in which routing paths for each function are stored;
Including, a function-based routing method.
제 1 항에 있어서,
상기 (a) 단계는,
상기 에지노드가 상기 입력 패킷의 헤더의 다중 필드를 기반으로 트래픽 분류를 수행하여 상기 패킷기능리스트를 획득하는 단계를 포함하는, 기능 기반 라우팅 방법.
The method of claim 1,
The step (a) is,
and obtaining, by the edge node, the packet function list by performing traffic classification based on multiple fields of a header of the input packet.
제 1 항에 있어서,
상기 기능 기반 라우팅 방법은,
(f) 상기 (a) 단계 후, 상기 패킷기능리스트에 상기 에지노드의 기능 중 적어도 하나의 기능이 포함되어 있는 경우, 상기 에지노드가 상기 패킷기능리스트에 포함된 상기 적어도 하나의 기능을 수행하는 단계를 더 포함하는, 기능 기반 라우팅 방법.
The method of claim 1,
The function-based routing method comprises:
(f) after step (a), when at least one function among the functions of the edge node is included in the packet function list, the edge node performs the at least one function included in the packet function list A function-based routing method, further comprising the step.
삭제delete 제 1 항에 있어서,
상기 (b) 단계는,
상기 에지노드가 상기 패킷기능리스트에 포함된 기능들 중 우선순위가 높은 기능의 FID 레이블이 최상위에 배치되도록 상기 FID 레이블 스택을 우선순위에 따라 형성하여 상기 입력 패킷에 삽입하는 단계를 포함하는, 기능 기반 라우팅 방법.
The method of claim 1,
Step (b) is,
and inserting, by the edge node, the FID label stack according to the priority so that the FID label of the function having a higher priority among the functions included in the packet function list is placed at the top of the input packet. based routing method.
제 8 항에 있어서,
상기 (c) 단계는,
상기 에지노드가 상기 FID 레이블 스택 중 최상위에 배치된 FID 레이블을 기반으로, 상기 최상위에 배치된 FID 레이블에 대응하는 기능을 수행하기 위한 중간노드를 상기 라우팅 테이블을 참고하여 검색하는 단계를 포함하는, 기능 기반 라우팅 방법.
9. The method of claim 8,
The step (c) is,
Based on the FID label disposed at the top of the FID label stack, the edge node searches for an intermediate node for performing a function corresponding to the FID label disposed at the top with reference to the routing table. A feature-based routing method.
삭제delete 서로 통신 연결되며 적어도 하나 이상의 기능을 갖는 복수의 노드를 포함하는 기능 기반 라우팅 시스템에 있어서,
각 노드는,
입력 패킷을 수신하는 경우, 상기 입력 패킷으로부터 상기 입력 패킷의 기능에 대한 식별정보인 FID(Function ID)를 포함하는 패킷기능리스트를 획득하는 패킷기능리스트 획득부;
상기 FID를 레이블 형태로 표현하여, 적어도 하나의 FID 레이블로 구성된 FID 레이블 스택을 상기 입력 패킷에 삽입하는 FID 레이블 삽입부; 및
상기 각 노드의 기능에 대한 정보가 포함된 라우팅 테이블과 상기 FID 레이블 스택을 참고하여 상기 입력 패킷을 포워딩 할 타 노드를 결정하고 상기 타 노드로 포워딩하는 패킷 포워딩부;
를 포함하는, 기능 기반 라우팅 시스템.
In the function-based routing system comprising a plurality of nodes that are connected to each other and have at least one function,
Each node is
a packet function list obtaining unit which, when receiving an input packet, obtains a packet function list including a function ID (FID), which is identification information for a function of the input packet, from the input packet;
an FID label inserter for expressing the FID in a label form and inserting an FID label stack composed of at least one FID label into the input packet; and
a packet forwarding unit that determines another node to which the input packet is to be forwarded by referring to the FID label stack and a routing table including information on the function of each node, and forwards the input packet to the other node;
Including, a function-based routing system.
서로 통신 연결되며 적어도 하나 이상의 기능을 갖는 복수의 노드를 포함하는 기능 기반 라우팅 방법에 있어서,
각 노드는, 입력 패킷을 수신하는 경우, 상기 입력 패킷으로부터 상기 입력 패킷의 기능에 대한 식별정보인 FID(Fuction ID)를 포함하는 패킷기능리스트를 획득하는 단계;
상기 FID를 레이블 형태로 표현하여, 적어도 하나의 FID 레이블로 구성된 FID 레이블 스택을 상기 입력 패킷에 삽입하는 단계; 및
상기 각 노드의 기능에 대한 정보가 포함된 라우팅 테이블과 상기 FID 레이블 스택을 참고하여 상기 입력 패킷을 포워딩 할 타 노드를 결정하고 상기 타 노드로 포워딩하는 단계;
를 포함하는 기능 기반 라우팅 방법.
In the function-based routing method comprising a plurality of nodes that are connected to each other and have at least one function,
obtaining, by each node, a packet function list including a function ID (FID), which is identification information for a function of the input packet, from the input packet when receiving an input packet;
expressing the FID in a label form and inserting an FID label stack composed of at least one FID label into the input packet; and
determining another node to which the input packet is to be forwarded by referring to a routing table including information on the function of each node and the FID label stack, and forwarding the input packet to the other node;
A feature-based routing method comprising
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020150053010A 2015-04-15 2015-04-15 Method and system for providing function-based routing KR102286466B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150053010A KR102286466B1 (en) 2015-04-15 2015-04-15 Method and system for providing function-based routing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150053010A KR102286466B1 (en) 2015-04-15 2015-04-15 Method and system for providing function-based routing

Publications (2)

Publication Number Publication Date
KR20160123024A KR20160123024A (en) 2016-10-25
KR102286466B1 true KR102286466B1 (en) 2021-08-05

Family

ID=57446429

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150053010A KR102286466B1 (en) 2015-04-15 2015-04-15 Method and system for providing function-based routing

Country Status (1)

Country Link
KR (1) KR102286466B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101867880B1 (en) * 2016-11-22 2018-06-18 아토리서치(주) Method, apparatus and computer program for service fuction chainnig
CN114374649A (en) * 2020-10-15 2022-04-19 ***通信有限公司研究院 Hybrid routing method, device and network equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100473805B1 (en) 2002-09-23 2005-03-10 한국전자통신연구원 Method of path setup for network security service of multi-level

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100755706B1 (en) * 2006-01-17 2007-09-05 삼성전자주식회사 Method and apparatus for providing distributed service composition model for ad hoc networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100473805B1 (en) 2002-09-23 2005-03-10 한국전자통신연구원 Method of path setup for network security service of multi-level

Also Published As

Publication number Publication date
KR20160123024A (en) 2016-10-25

Similar Documents

Publication Publication Date Title
EP2544417B1 (en) Communication system, path control apparatus, packet forwarding apparatus and path control method
US9832031B2 (en) Bit index explicit replication forwarding using replication cache
US8194664B2 (en) Two-level load-balancing of network traffic over an MPLS network
KR100971050B1 (en) Label switching in fibre channel networks
US8599721B2 (en) Composite next hops for forwarding data in a network switching device
CN108259341B (en) Prefix label distribution method and SDN controller
US20150103824A1 (en) Communication system, control apparatus, communication method and program
JP6872647B2 (en) Systems and methods for processing packets in computer networks
US9306835B2 (en) Scalable forwarding table with overflow address learning
CN106603413B (en) Method and device for transmitting flow through designated path
WO2014133015A1 (en) Control apparatus, communication system, switch control method and program
US10069648B2 (en) Communication system, control apparatus, communication control method and program
JP2015159486A (en) relay node and route control method
CN102946349A (en) OSPF (open shortest path first) protocol-based Ethernet E-Line service link discovery method and device
KR20090110916A (en) Method, bridge and computer network for calculating a spanning tree based on link state advertisementlsa
JP5644948B2 (en) Packet transfer system, control device, packet transfer method and program
JP6311611B2 (en) CONTROL DEVICE, COMMUNICATION SYSTEM, CONTROL INFORMATION CREATION METHOD, AND PROGRAM
JP6064989B2 (en) Control device, communication system, node control method, and program
KR102286466B1 (en) Method and system for providing function-based routing
CN108965122B (en) Routing method, device and computer readable storage medium
CN109861912B (en) Optimizing fabric path forwarding for virtual nodes within an electronic device
EP3104562B1 (en) Method of aggregation of flows in ict networks
KR100552518B1 (en) The apparatus for implementation of ECMP in Network Processor
US20230216785A1 (en) Source routing apparatus and method in icn
Ibanez et al. Path-moose: a scalable all-path bridging protocol

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right