JP6367732B2 - Transfer device and transfer method - Google Patents

Transfer device and transfer method Download PDF

Info

Publication number
JP6367732B2
JP6367732B2 JP2015027025A JP2015027025A JP6367732B2 JP 6367732 B2 JP6367732 B2 JP 6367732B2 JP 2015027025 A JP2015027025 A JP 2015027025A JP 2015027025 A JP2015027025 A JP 2015027025A JP 6367732 B2 JP6367732 B2 JP 6367732B2
Authority
JP
Japan
Prior art keywords
transfer
packet
value
unit
function unit
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2015027025A
Other languages
Japanese (ja)
Other versions
JP2016149729A (en
Inventor
俊介 本間
俊介 本間
吉川 智之
智之 吉川
このみ 望月
このみ 望月
増田 暁生
暁生 増田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015027025A priority Critical patent/JP6367732B2/en
Publication of JP2016149729A publication Critical patent/JP2016149729A/en
Application granted granted Critical
Publication of JP6367732B2 publication Critical patent/JP6367732B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、転送装置及び転送方法に関する。   The present invention relates to a transfer device and a transfer method.

近年、サーバがユーザ端末に対して様々なサービスを提供するサービス提供機能(SF:Service Function)をクラウド上等に仮想化する技術が知られている。このようなサービス提供機能を仮想化する場合、複数のSF間で柔軟な連携を実現する技術が求められる。このため、ユーザ端末からのパケットをネットワークの入り口で分析し、ユーザ単位若しくは処理の内容ごとに、SF間でパケットを転送する経路の制御を行う転送システムが検討されている。   In recent years, a technology for virtualizing a service providing function (SF: Service Function) in which a server provides various services to a user terminal on a cloud or the like is known. When such a service providing function is virtualized, a technology for realizing flexible cooperation between a plurality of SFs is required. For this reason, a transfer system that analyzes a packet from a user terminal at the entrance of a network and controls a path for transferring the packet between SFs for each user or for each processing content has been studied.

このような転送システムの実現手法として、SFC(Service Function Chaining)やOpen Flow等、ユーザからのパケットをサービス単位、フロー単位で経路制御する技術が知られている。例えば、SFCでは、パケットにサービスを識別するためのラベルを付与し、ラベルに基づく経路制御を提供する。ラベルはサービス毎に異なるIDを持っており、SF間で送受信されるパケットの転送を行う転送機能部(SFF:Service Function Forwarder)は、転送経路を識別するラベルのIDと、パケットの転送先となるSF及び転送機能部とを対応付けて記憶している。転送機能部は、パケットを受信すると、受信したパケットのラベルが示すIDから次の転送先を判定し、パケットを転送する。宛先がSFであった場合、SFはサービス処理を実施し、転送機能部へパケットを転送する。上記の動作を繰り替えし、パケットは必要とされる全てのSFを経由後、ラベルが外され、元の宛先へ転送される。   As a method for realizing such a transfer system, a technique for routing a packet from a user in service units or flow units, such as SFC (Service Function Chaining) or Open Flow, is known. For example, in SFC, a label for identifying a service is assigned to a packet, and routing based on the label is provided. The label has a different ID for each service, and a transfer function unit (SFF: Service Function Forwarder) that transfers a packet transmitted and received between SFs includes a label ID for identifying a transfer path, a packet transfer destination, Are stored in association with each other. When receiving the packet, the transfer function unit determines the next transfer destination from the ID indicated by the label of the received packet, and transfers the packet. If the destination is SF, the SF performs service processing and transfers the packet to the transfer function unit. The above operation is repeated, the packet passes through all the required SFs, the label is removed, and the packet is transferred to the original destination.

”Draft-ietf-sfc-architecture-02” [online]、2014 年 9 月 20 日、[2014年 12月 10 日検索]、インターネット(https://tools.ietf.org/html/draft-ietf-sfc-architecture-02)“Draft-ietf-sfc-architecture-02” [online], September 20, 2014, [December 10, 2014 search], Internet (https://tools.ietf.org/html/draft-ietf- sfc-architecture-02) ”Open Flow Switch Specification Version1.4.0” [online]、2013 年 10 月 14 日、[2014年 12月 10 日検索]、インターネット(https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.4.0.pdf)“Open Flow Switch Specification Version 1.4.0” [online], October 14, 2013, [December 10, 2014 search], Internet (https://www.opennetworking.org/images/stories/downloads/sdn- resources / onf-specifications / openflow / openflow-spec-v1.4.0.pdf)

しかしながら、上述した従来技術では、新規サービス機能の追加により転送経路に分岐する経路が生じると、分岐前後で処理を行う転送機能部の設定を全て変更しなければならないという課題があった。   However, in the above-described conventional technology, when a route branching to a transfer route is generated due to the addition of a new service function, there is a problem that all settings of the transfer function unit that performs processing before and after the branch must be changed.

例えば、パケットの転送経路として第1の経路から分岐し、再度合流する第2の経路を追加する場合、転送経路の分岐点となる転送機能部では、第1の経路を介して転送するパケットと第2の経路を介して転送するパケットとに異なるIDを持つラベルを付与する。このため、第1の経路と第2の経路とが分岐する前後の同一経路上の転送機能部には、各転送経路から受信したパケットを同一の転送機能部に転送するにも関わらず、各転送経路を示すラベルをそれぞれ記憶させなければならない。   For example, when adding a second route that branches from the first route and joins again as a packet transfer route, the transfer function unit that is the branch point of the transfer route uses the packet transferred via the first route as A label having a different ID is assigned to a packet transferred through the second route. For this reason, the transfer function unit on the same route before and after the first route and the second route branch are transferred to the same transfer function unit regardless of whether the packet received from each transfer route is transferred to the same transfer function unit. Each label indicating the transfer path must be stored.

本発明は、上述した従来技術の課題を解決するためになされたものであり、転送経路が追加されても、設定を変更する転送機能部の数を抑えることができる転送装置および転送方法を提供することを目的とする。   The present invention has been made to solve the above-described problems of the prior art, and provides a transfer device and a transfer method capable of suppressing the number of transfer function units whose settings are changed even when a transfer path is added. The purpose is to do.

上述した課題を解決し、目的を達成するため、転送装置は、パケットの転送経路を示す識別子であって、転送経路の分岐に基づく階層構造を有する識別子が付与されたパケットを受信する受信部と、前記受信部が受信したパケットに付与された識別子のうち、所定の階層までの値を抽出する抽出部と、パケットの転送先と、当該パケットに付与される識別子のうち少なくとも前記所定の階層までの値とを対応付けた対応表を参照し、前記抽出部が抽出した値と対応付けられた転送先を特定する特定部と、前記受信部が受信したパケットを前記特定部が特定した転送先に転送する処理部とを有することを特徴とする。   In order to solve the above-described problems and achieve the object, the transfer device includes a receiving unit that receives a packet having an identifier indicating a transfer route of the packet and having a hierarchical structure based on a branch of the transfer route. An extracting unit that extracts a value up to a predetermined layer among identifiers assigned to the packet received by the receiving unit, a transfer destination of the packet, and at least the predetermined layer among identifiers attached to the packet A specifying unit that identifies a transfer destination associated with the value extracted by the extraction unit, and a transfer destination that the specifying unit specifies a packet received by the receiving unit. And a processing unit that transfers the data.

また、転送方法は、転送装置が実行する転送方法であって、パケットの転送経路を示す識別子であって、転送経路の分岐に基づく階層構造を有する識別子が付与されたパケットを受信する受信工程と、前記受信工程で受信したパケットに付与された識別子のうち、所定の階層までの値を抽出する抽出工程と、パケットの転送先と、当該パケットに付与される識別子のうち少なくとも前記所定の階層までの値とを対応付けた対応表を参照し、前記抽出工程で抽出した値と対応付けられた転送先を特定する特定工程と、前記受信工程で受信したパケットを前記特定工程で特定した転送先に転送する処理工程とを含んだことを特徴とする。   Further, the transfer method is a transfer method executed by the transfer device, and includes a reception step of receiving a packet assigned with an identifier having a hierarchical structure based on a branch of the transfer path, which is an identifier indicating a transfer path of the packet. An extraction step for extracting values up to a predetermined layer from the identifiers assigned to the packet received in the reception step, a transfer destination of the packet, and at least the predetermined layer among identifiers assigned to the packet A specifying step for identifying a transfer destination associated with the value extracted in the extraction step with reference to a correspondence table in which the value of the extraction step is associated with, and a transfer destination specifying the packet received in the reception step in the specifying step And a processing step of transferring to the device.

本願に開示する特定装置、転送装置および転送方法は、転送経路に分岐が生じても、設定を変更する転送機能部の数を抑えることができる。   The specific device, the transfer device, and the transfer method disclosed in the present application can suppress the number of transfer function units whose settings are changed even if a branch occurs in the transfer path.

図1は、実施形態に係るサービス提供ネットワークの概要を示す構成図である。FIG. 1 is a configuration diagram illustrating an overview of a service providing network according to an embodiment. 図2は、実施形態に係る転送機能部とSFとが実行する処理の流れの一例を説明する説明図である。FIG. 2 is an explanatory diagram illustrating an example of a flow of processing executed by the transfer function unit and SF according to the embodiment. 図3は、新しい転送経路が追加される際の一例を説明する説明図である。FIG. 3 is an explanatory diagram illustrating an example when a new transfer path is added. 図4は、実施形態に係る転送機能部が実行する処理の一例を説明する図である。FIG. 4 is a diagram illustrating an example of processing executed by the transfer function unit according to the embodiment. 図5は、実施形態に係る識別機能部が有する機能構成の一例を説明する図である。FIG. 5 is a diagram illustrating an example of a functional configuration included in the identification function unit according to the embodiment. 図6は、実施形態に係るサービス対応表の一例を示す説明図である。FIG. 6 is an explanatory diagram illustrating an example of a service correspondence table according to the embodiment. 図7は、実施形態に係るヘッダの一例を説明する図である。FIG. 7 is a diagram illustrating an example of a header according to the embodiment. 図8は、実施形態に係る転送機能部が有する機能構成の一例を示す図である。FIG. 8 is a diagram illustrating an example of a functional configuration of the transfer function unit according to the embodiment. 図9は、実施形態に係る宛先対応表に格納される情報の一例を説明する図である。FIG. 9 is a diagram illustrating an example of information stored in the destination correspondence table according to the embodiment. 図10は、実施形態に係る宛先対応表に格納される情報の他の例を説明する図である。FIG. 10 is a diagram illustrating another example of information stored in the destination correspondence table according to the embodiment. 図11は、実施形態に係る次処理対応表に格納される情報の一例を説明する図である。FIG. 11 is a diagram illustrating an example of information stored in the next process correspondence table according to the embodiment. 図12は、実施形態に係る次処理対応表に格納される情報の他の例を説明する図である。FIG. 12 is a diagram illustrating another example of information stored in the next process correspondence table according to the embodiment. 図13は、実施形態に係る転送機能部が転送情報を更新する処理の一例を示す説明図である。FIG. 13 is an explanatory diagram illustrating an example of processing in which the transfer function unit according to the embodiment updates transfer information. 図14は、実施形態に係る識別機能部が実行する処理の流れを示すフローチャートである。FIG. 14 is a flowchart illustrating a flow of processing executed by the identification function unit according to the embodiment. 図15は、実施形態に係る転送機能部が実行する処理の流れを示すフローチャートである。FIG. 15 is a flowchart illustrating a flow of processing executed by the transfer function unit according to the embodiment. 図16は、転送機能部が転送情報を更新する処理の他の例を示す説明図である。FIG. 16 is an explanatory diagram illustrating another example of processing in which the transfer function unit updates transfer information.

以下の実施の形態では、実施形態に係る転送機能部の構成および処理の流れを説明し、その後、最後に実施形態による効果を説明する。   In the following embodiment, the configuration and processing flow of the transfer function unit according to the embodiment will be described, and then the effects of the embodiment will be described last.

[実施形態]
以下、本願が開示する転送機能部を有するサービス提供ネットワーク等の実施形態を説明する。なお、以下の実施形態は、一例を示すに過ぎず、本願が開示する技術を限定するものではない。また、以下に示す実施形態及びその変形例は、矛盾しない範囲で適宜組合せてもよい。
[Embodiment]
Hereinafter, embodiments of a service providing network having a transfer function unit disclosed in the present application will be described. The following embodiments are merely examples, and do not limit the technology disclosed by the present application. Moreover, you may combine suitably embodiment shown below and its modification in the range which does not contradict.

(サービス提供ネットワークの構成)
まず、図1を用いて、転送装置の一例である転送機能部を有するサービス提供ネットワーク1の構成を説明する。図1は、実施形態に係るサービス提供ネットワークの概要を示す構成図である。図1に示す例では、サービス提供ネットワーク1は、ユーザ端末2、サーバ装置3、及びクラウドネットワーク10を有する。
(Service providing network configuration)
First, the configuration of a service providing network 1 having a transfer function unit, which is an example of a transfer device, will be described with reference to FIG. FIG. 1 is a configuration diagram illustrating an overview of a service providing network according to an embodiment. In the example illustrated in FIG. 1, the service providing network 1 includes a user terminal 2, a server device 3, and a cloud network 10.

ユーザ端末装置2は、サーバ装置3に対して送信するパケットをクラウドネットワーク10に送信するサーバ装置であり、例えば、PC(Personal Computer)等の情報処理装置である。   The user terminal device 2 is a server device that transmits a packet to be transmitted to the server device 3 to the cloud network 10, and is an information processing device such as a PC (Personal Computer), for example.

サーバ装置3は、クラウドネットワーク10からパケットを受信すると、パケットに格納された情報に基づいて、各種の処理を実行するサーバ装置である。例えば、サーバ装置3は、受信したパケットに格納された情報に基づき、ユーザ端末2を使用する利用者に対して各種のサービスを提供する。   When receiving a packet from the cloud network 10, the server device 3 is a server device that executes various processes based on information stored in the packet. For example, the server device 3 provides various services to the user who uses the user terminal 2 based on the information stored in the received packet.

クラウドネットワーク10は、仮想化したサービス提供機能を複数のサーバが連携して実現するネットワークである。例えば、クラウドネットワーク10は、ユーザ端末2からパケットを受信すると、受信したパケットに格納されたデータに応じて、所定の処理を実行し、処理の実行結果を格納したパケットをサーバ装置3へ送信する。   The cloud network 10 is a network that realizes a virtual service providing function in cooperation with a plurality of servers. For example, when receiving a packet from the user terminal 2, the cloud network 10 executes a predetermined process according to the data stored in the received packet, and transmits the packet storing the execution result of the process to the server device 3. .

以下、クラウドネットワーク10の構成について説明する。クラウドネットワーク10は、識別機能部11、複数の転送機能部12a〜12e、SF_A13a、SF_B13b、SF_C13c、SF_D13d、SF_E13eを有する。各転送機能部は直接接続されている場合と、ネットワークを介して接続する場合がある。   Hereinafter, the configuration of the cloud network 10 will be described. The cloud network 10 includes an identification function unit 11, a plurality of transfer function units 12a to 12e, SF_A 13a, SF_B 13b, SF_C 13c, SF_D 13d, and SF_E 13e. Each transfer function unit may be connected directly or via a network.

転送機能部12aは、転送機能部12b〜12eと接続され、転送機能部12bは、転送機能部12a、12c〜12eと接続され、転送機能部12cは、転送機能部12a、12b、12eと接続され、転送機能部12dは、識別機能部11及び転送機能部12a、12b、12eと接続される。また、転送機能部12aは、SF_A13a及びSF_D13dと接続され、転送機能部12bは、SF_B13bと接続され、転送機能部12cは、SF_C13c及びサーバ装置3と接続され、転送機能部12eは、SF_E13eと接続される。   The transfer function unit 12a is connected to the transfer function units 12b to 12e, the transfer function unit 12b is connected to the transfer function units 12a and 12c to 12e, and the transfer function unit 12c is connected to the transfer function units 12a, 12b, and 12e. The transfer function unit 12d is connected to the identification function unit 11 and the transfer function units 12a, 12b, and 12e. The transfer function unit 12a is connected to SF_A 13a and SF_D 13d, the transfer function unit 12b is connected to SF_B 13b, the transfer function unit 12c is connected to SF_C 13c and the server apparatus 3, and the transfer function unit 12e is connected to SF_E 13e. Is done.

なお、以下の説明では、転送機能部12a及びSF_A13aの組をサービスユニット_A14a、転送機能部12b及びSF_B13bの組をサービスユニット_B14b、転送機能部12c及びSF_C13cの組をサービスユニット_C14c、転送機能部12a及びSF_D13dの組をサービスユニット_D14d、転送機能部12e及びSF_E13eの組をサービスユニット_E14eと記載する。   In the following description, a set of the transfer function unit 12a and SF_A 13a is a service unit_A 14a, a set of the transfer function unit 12b and SF_B 13b is a service unit_B 14b, a set of the transfer function unit 12c and SF_C 13c is a service unit_C 14c, and the transfer function unit 12a And SF_D13d are described as service unit_D14d, and the transfer function unit 12e and SF_E13e are described as service unit_E14e.

また、以下の説明では、転送機能部12a〜12eを総称して転送機能部12と記載し、SF_A13a、SF_B13b、SF_C13c、SF_D13d、SF_E13eを総称してSF13と記載する。また、以下の説明では、サービスユニット_A14a、サービスユニット_B14b、サービスユニット_C14c、サービスユニット_D14d、サービスユニット_E14eを総称してサービスユニット14と記載する。   In the following description, the transfer function units 12a to 12e are collectively referred to as the transfer function unit 12, and SF_A 13a, SF_B 13b, SF_C 13c, SF_D 13d, and SF_E 13e are collectively referred to as SF13. In the following description, service unit_A 14a, service unit_B 14b, service unit_C 14c, service unit_D 14d, and service unit_E 14e are collectively referred to as service unit 14.

識別機能部11は、クラウドネットワーク10のユーザ端末2側に位置するゲートウェイ装置であり、サーバ等の情報処理装置により実現される。また、転送機能部12は、ユーザ端末2から受信したパケットを随時転送し、サーバ装置3へ出力する転送装置であり、例えば、NP(Network Processor)及び/又はCPU(Central Processing Unit)を有するネットワーク装置により実現される。また、SF13は、受信したパケットに格納されたデータを用いて各種サービス処理を実行する装置であり、例えば、サーバ装置等の情報処理装置により実現される。   The identification function unit 11 is a gateway device located on the user terminal 2 side of the cloud network 10 and is realized by an information processing device such as a server. The transfer function unit 12 is a transfer device that transfers packets received from the user terminal 2 at any time and outputs the packets to the server device 3, for example, a network having an NP (Network Processor) and / or a CPU (Central Processing Unit). Realized by the device. The SF 13 is a device that executes various service processes using data stored in a received packet, and is realized by an information processing device such as a server device, for example.

(処理の概要)
以下、図2を用いて、識別機能部11、転送機能部12、及びSF13が実行する処理の流れを説明する。図2は、実施形態に係る転送機能部とSFとが実行する処理の流れの一例を説明する説明図である。なお、図2に示す例では、ユーザ端末2から受信したパケットを、SF_A13a、及びSF_B13bを介した転送経路で転送する処理の一例を記載した。
(Outline of processing)
Hereinafter, the flow of processing executed by the identification function unit 11, the transfer function unit 12, and the SF 13 will be described with reference to FIG. FIG. 2 is an explanatory diagram illustrating an example of a flow of processing executed by the transfer function unit and SF according to the embodiment. In the example illustrated in FIG. 2, an example of a process of transferring a packet received from the user terminal 2 through a transfer path via SF_A 13a and SF_B 13b is described.

例えば、図2に示す例では、識別機能部11は、以下に説明する処理を実行する(ステップS1)。具体的には、識別機能部11は、ユーザ端末2からパケットを受信すると、受信したパケットを解析し、パケットの種別を識別する。ここで、パケットの種別とは、パケットに格納されたデータの処理フローやパケットの送信元ユーザ等である。また、識別機能部11は、識別したパケットの種別に応じて経路を決定し、図2中(A)に示すように、決定した経路を示すラベル(経路ID)と、SF_A13aに接続される転送機能部12a宛てのIPヘッダを付与してトンネル化する。そして、識別機能部11は、トンネル化したパケットを転送機能部12aへ送信する。   For example, in the example illustrated in FIG. 2, the identification function unit 11 performs processing described below (step S1). Specifically, when receiving a packet from the user terminal 2, the identification function unit 11 analyzes the received packet and identifies the type of the packet. Here, the packet type is a processing flow of data stored in the packet, a packet transmission source user, or the like. Further, the identification function unit 11 determines a route according to the type of the identified packet, and as shown in FIG. 2A, a label (route ID) indicating the determined route and a transfer connected to the SF_A 13a. An IP header addressed to the function unit 12a is added to create a tunnel. Then, the identification function unit 11 transmits the tunneled packet to the transfer function unit 12a.

一方、転送機能部12aは、トンネル化したパケットを受信すると、受信したパケットのラベルを参照し、参照したラベルが示す転送経路でSF_A13aが処理を実行する場合は、受信したパケットをSF_A13aに送信する(ステップS2)。この場合、SF_A13aは、受信したパケットを用いて処理を実行し、処理結果を受信したパケットに格納して転送機能部12aに返送する(ステップS3)。そして、転送機能部12aは、SF_A13aから受信したパケットのラベルを参照し、ラベルが示す転送経路でSF_A13aの次の宛先である転送機能部12bを特定し、IPヘッダをパケットに付与して送信する(ステップS4)。   On the other hand, when receiving the tunneled packet, the transfer function unit 12a refers to the label of the received packet, and when the SF_A 13a performs processing on the transfer path indicated by the referenced label, transmits the received packet to the SF_A 13a. (Step S2). In this case, the SF_A 13a executes processing using the received packet, stores the processing result in the received packet, and returns it to the transfer function unit 12a (step S3). Then, the transfer function unit 12a refers to the label of the packet received from the SF_A 13a, specifies the transfer function unit 12b that is the next destination of the SF_A 13a on the transfer path indicated by the label, adds the IP header to the packet, and transmits the packet. (Step S4).

また、転送機能部12bは、パケットを受信すると、受信したパケットのラベルを参照し、参照したラベルが示す転送経路でSF_B13bが処理を実行する場合は、受信したパケットをSF_B13bに送信する(ステップS5)。この場合、SF_B13bは、受信したパケットを用いて処理を実行し、処理結果を受信したパケットに格納して転送機能部12bに返送する(ステップS6)。そして、転送機能部12bは、SF_B13bから受信したパケットのラベルを参照し、ラベルが示す転送経路でSF_B13bの次に処理を実行するSF_C13cを特定し、特定したSF_C13cと接続された転送機能部12cのIPヘッダをパケットに付与して送信する(ステップS7)。   When the transfer function unit 12b receives the packet, the transfer function unit 12b refers to the label of the received packet, and when the SF_B 13b executes processing on the transfer path indicated by the referenced label, the transfer function unit 12b transmits the received packet to the SF_B 13b (step S5). ). In this case, the SF_B 13b executes processing using the received packet, stores the processing result in the received packet, and returns it to the transfer function unit 12b (step S6). Then, the transfer function unit 12b refers to the label of the packet received from the SF_B 13b, specifies SF_C 13c that executes the process next to SF_B 13b on the transfer path indicated by the label, and the transfer function unit 12c connected to the specified SF_C 13c. An IP header is attached to the packet and transmitted (step S7).

なお、転送機能部12c〜12eは、転送機能部12a、12bと同様の処理を実行し、SF_C13c〜SF_E13eは、SF_A13a、及びSF_B13bと同様の処理を実行する。このため、クラウドネットワーク10は、ユーザ端末2から受信したパケットを用いたSFCを実現できる。   The transfer function units 12c to 12e execute the same process as the transfer function units 12a and 12b, and the SF_C 13c to SF_E 13e execute the same process as the SF_A 13a and SF_B 13b. For this reason, the cloud network 10 can implement SFC using a packet received from the user terminal 2.

(経路追加の一例)
ここで、新規のSFを経由する新しい転送経路を追加する場合がある。例えば、図3は、新しい転送経路が追加される際の一例を説明する説明図である。図3に示す例では、サービスユニット_A14a、サービスユニット_B14b、サービスユニット_C14c及びサービスユニット_D14dを経由するメインの転送経路に経路ID「123」が付与されている。
(Example of route addition)
Here, there is a case where a new transfer path via a new SF is added. For example, FIG. 3 is an explanatory diagram illustrating an example when a new transfer path is added. In the example illustrated in FIG. 3, the route ID “123” is assigned to the main transfer route that passes through the service unit_A 14a, the service unit_B 14b, the service unit_C 14c, and the service unit_D 14d.

ここで、サービスユニット_B14bの後にサービスユニット_E14eが追加され、サービスユニット_A14aとサービスユニット_B14bとサービスユニット_E14eとサービスユニット_C14cを経由する経路が加わると、そのような経路として新たに経路ID「124」を追加で設定する必要がある。このような場合に、従来技術では、分岐点となるサービスユニット_B14bの前後のサービスユニット_A14a、サービスユニットC14c及びサービスユニットD14dの設定に経路ID「124」を追加する必要がある。   Here, when the service unit_E14e is added after the service unit_B14b and a route passing through the service unit_A14a, the service unit_B14b, the service unit_E14e, and the service unit_C14c is added, a new route ID “124” is added as such a route. Need to be set additionally. In such a case, in the related art, it is necessary to add the route ID “124” to the setting of the service unit_A 14a, the service unit C14c, and the service unit D14d before and after the service unit_B 14b that is a branch point.

(転送機能部12が実行する処理)
そこで、転送機能部12は、以下の処理を実行する。例えば、図4は、実施形態に係る転送機能部が実行する処理の一例を説明する図である。図4に示すように、各転送機能部12は、経路IDを転送経路の分岐に基づいた階層構造にし、転送経路が分岐する度に、経路IDに下層の値を設定する。そして、各転送機能部12は、受信したパケットの経路IDを参照する場合は、自装置が設置された転送経路がメインの転送経路から何回分岐した転送経路かに基づく階層の値まで参照し、参照した値と対応付けられた転送先にパケットを転送する。
(Processing executed by the transfer function unit 12)
Therefore, the transfer function unit 12 executes the following processing. For example, FIG. 4 is a diagram illustrating an example of processing executed by the transfer function unit according to the embodiment. As shown in FIG. 4, each transfer function unit 12 has a hierarchical structure based on the branch of the transfer route, and sets a lower layer value for the route ID every time the transfer route branches. When each transfer function unit 12 refers to the route ID of the received packet, the transfer function unit 12 refers to the hierarchical value based on how many times the transfer route in which the device is installed branches from the main transfer route. The packet is transferred to the transfer destination associated with the referenced value.

例えば、識別機能部は識別結果に基づき、パケットに対して経路ID「123−00」または「123−01」を付与し、サービスユニット_A14aへ転送する。サービスユニット_A14aは、受信したパケットに付与された経路IDのうち、先頭3桁である「123」を参照する(ステップS10)。そして、サービスユニット_A14aは、参照した経路ID「123」と対応付けられた転送先サービスユニット_B14bに受信したパケットを転送する。   For example, the identification function unit assigns a route ID “123-00” or “123-01” to the packet based on the identification result, and transfers the packet to the service unit_A 14a. The service unit_A 14a refers to “123”, which is the first three digits, of the route ID assigned to the received packet (step S10). Then, the service unit_A 14a transfers the received packet to the transfer destination service unit_B 14b associated with the referenced route ID “123”.

一方、サービスユニット_B14bは、受信したパケットに付与された経路IDのうち、先頭3桁である「123」を参照する(ステップS11)。そして、先頭3桁では転送先が一意に決まらなかった場合、続く2桁を参照し、宛先を判定し、サービスユニット_C14cに転送する。   On the other hand, the service unit_B 14b refers to “123”, which is the first three digits, of the route ID assigned to the received packet (step S11). If the transfer destination is not uniquely determined by the first three digits, the next two digits are referred to determine the destination, and the transfer is transferred to the service unit_C 14c.

ここで、サービスユニット_E14eは、メインの転送経路から1回分岐した転送経路に設置されている。そこで、サービスユニット_E14eは、経路IDのうち最上位の層と次の層までの値を参照する。具体例を挙げると、サービスユニット_E14eは、受信したパケットに付与された経路IDのうち、先頭6桁である「123−01」を参照する(ステップS12)。そして、サービスユニット_E14eは、参照した経路ID「123−01」と対応付けられた転送先サービスユニット_C14cにパケットを転送する。   Here, the service unit_E14e is installed in a transfer path branched once from the main transfer path. Therefore, the service unit_E 14e refers to values up to the highest layer and the next layer in the route ID. As a specific example, the service unit_E 14e refers to “123-01”, which is the first six digits, of the route ID assigned to the received packet (step S12). Then, the service unit_E14e transfers the packet to the transfer destination service unit_C14c associated with the referred route ID “123-01”.

この結果、サービスユニット_C14cは、経路ID「123−00」が付与されたパケットと、経路ID「123−01」が付与されたパケットとを受信することとなる。ここで、サブの転送経路を介して転送されるパケットには、最上位の層にメインの転送経路を示す値が格納され、下位の層にサブの転送経路を示す値が格納された経路IDが付与される。このような経路IDが付与されている場合、パケットの転送経路によって経路IDの層の数が増えることはあっても、各層に格納される値が変更されることがない。このため、メインの転送経路上に設置されたサービスユニット_C14cは、経路IDのうち最上位の層に格納された値のみを用いてパケットの転送を行う場合は、設定変更を行う必要がない。   As a result, the service unit_C 14c receives the packet with the route ID “123-00” and the packet with the route ID “123-01”. Here, in a packet transferred through the sub transfer path, a path ID in which a value indicating the main transfer path is stored in the highest layer and a value indicating the sub transfer path is stored in the lower layer Is granted. When such a route ID is given, even if the number of route ID layers increases depending on the packet transfer route, the value stored in each layer is not changed. For this reason, the service unit _C 14c installed on the main transfer route does not need to change the setting when transferring the packet using only the value stored in the highest layer among the route IDs.

例えば、サービスユニット_C14cは、受信したパケットに付与された経路IDのうち、先頭3桁の値「123」を参照する(ステップS13)。そして、サービスユニット_C14cは、参照した経路ID「123」と対応付けられた転送先サービスユニット_D14dにパケットを転送する。また、サービスユニット_D14dも同様に、受信したパケットに付与された経路IDのうち、先頭3桁の値「123」を参照し(ステップS14)、参照した値と対応付けられた転送先へとパケットを転送する。   For example, the service unit_C 14c refers to the first three-digit value “123” in the route ID assigned to the received packet (step S13). Then, the service unit_C 14c transfers the packet to the transfer destination service unit_D 14d associated with the referenced path ID “123”. Similarly, the service unit_D 14d refers to the first three-digit value “123” in the route ID assigned to the received packet (step S14), and then sends the packet to the transfer destination associated with the referenced value. Forward.

このように転送機能部12は、転送経路の分岐に基づく階層構造を有する経路IDが付されたパケットを受信する。また、転送機能部12は、パケットに付された経路IDのうち、所定の階層までの値を抽出する。そして、転送機能部12は、パケットの転送先と、受信したパケットに付された経路IDのうち所定の階層までの値とが対応付けられた宛先対応表を参照し、抽出した経路IDの値と対応付けられた転送先を特定する。その後、転送機能部12は、受信したパケットを特定した転送先に転送する。   As described above, the transfer function unit 12 receives a packet to which a path ID having a hierarchical structure based on a branch of the transfer path is attached. In addition, the transfer function unit 12 extracts values up to a predetermined hierarchy from the route IDs attached to the packets. Then, the transfer function unit 12 refers to the destination correspondence table in which the transfer destination of the packet is associated with the value up to a predetermined layer among the route IDs attached to the received packet, and the value of the extracted route ID The transfer destination associated with is identified. Thereafter, the transfer function unit 12 transfers the received packet to the specified transfer destination.

このため、転送機能部12は、転送経路が追加された場合にも、転送機能部12の設定変更を不要とすることができる。例えば、転送機能部12は、経路ID「123」が示す経路上に配置された転送機能部の設定を変更せずとも、経路ID「124」が示す経路の追加を行うことができる。また、転送機能部12は、設定変更を不要とするので、設定変更に伴って送信される制御信号の増加を抑制することができる。   For this reason, the transfer function unit 12 can make the setting change of the transfer function unit 12 unnecessary even when a transfer path is added. For example, the transfer function unit 12 can add the route indicated by the route ID “124” without changing the setting of the transfer function unit arranged on the route indicated by the route ID “123”. Moreover, since the transfer function part 12 does not require a setting change, it can suppress the increase in the control signal transmitted with a setting change.

(識別機能部11が有する機能構成の一例)
以下、上述した処理を実現する識別機能部11及び転送機能部12が有する機能構成の一例について説明する。なお、以下の説明では、識別機能部11及び転送機能部12がIP(Internet Protocol)アドレスを用いて、パケットを転送する例について説明するが、実施の形態は、これに限定されるものではなく、例えば、MPLS(Multi Protocol Label Switching)のラベルやMAC(Media Access Control)アドレスを用いてパケットを転送してもよい。すなわち、識別機能部11及び転送機能部12は、下位のネットワークの仕様に寄らず、任意の仕様のネットワーク上でパケットの転送を行ってよい。
(Example of functional configuration of the identification function unit 11)
Hereinafter, an example of the functional configuration of the identification function unit 11 and the transfer function unit 12 that realize the above-described processing will be described. In the following description, an example in which the identification function unit 11 and the transfer function unit 12 transfer a packet using an IP (Internet Protocol) address will be described, but the embodiment is not limited to this. For example, a packet may be transferred using an MPLS (Multi Protocol Label Switching) label or a MAC (Media Access Control) address. That is, the identification function unit 11 and the transfer function unit 12 may transfer a packet on a network having an arbitrary specification without depending on the specification of the lower network.

まず、識別機能部11が有する機能構成の一例を説明する。例えば、図5は、実施形態に係る識別機能部が有する機能構成の一例を説明する図である。図5に示す例では、識別機能部11は、制御部20及び記憶部21を有する。制御部20は、通信部23、分析部24、特定部25を有する。また、記憶部21は、サービス対応表22を記憶する。   First, an example of the functional configuration of the identification function unit 11 will be described. For example, FIG. 5 is a diagram illustrating an example of a functional configuration included in the identification function unit according to the embodiment. In the example illustrated in FIG. 5, the identification function unit 11 includes a control unit 20 and a storage unit 21. The control unit 20 includes a communication unit 23, an analysis unit 24, and a specifying unit 25. The storage unit 21 stores a service correspondence table 22.

サービス対応表22は、ユーザ端末2から受信したパケットに係るサービスの内容と、受信したパケットを転送する転送経路の経路IDとが対応付けて記憶される。例えば、図6は、実施形態に係るサービス対応表の一例を示す説明図である。図6に示すように、サービス対応表22には、サービスと、経路IDと、宛先とが対応付けて格納される。   The service correspondence table 22 stores the service contents related to the packet received from the user terminal 2 and the route ID of the transfer route for transferring the received packet in association with each other. For example, FIG. 6 is an explanatory diagram illustrating an example of a service correspondence table according to the embodiment. As shown in FIG. 6, the service correspondence table 22 stores services, route IDs, and destinations in association with each other.

ここで、サービスとは、パケットに係るサービスの内容であり、例えば、「サービスA」、「サービスB」、「サービスC」、「サービスD」といったサービスの内容を識別するための情報が格納される。経路IDには、対応付けられたサービスに係るパケットの転送経路を示す経路IDが格納され、例えば、「100」、「123」、「124」、「125」といったように、分岐に基づく階層構造を有する値が格納される。宛先は、パケットの転送先を示す情報が格納され、例えば、転送先のIPアドレスである「192.168.1.1」〜「192.168.1.4」等が格納される。   Here, the service is the content of the service related to the packet, and for example, information for identifying the content of the service such as “service A”, “service B”, “service C”, “service D” is stored. The In the route ID, a route ID indicating a transfer route of a packet related to the associated service is stored. For example, a hierarchical structure based on a branch such as “100”, “123”, “124”, “125”. Is stored. Information indicating the transfer destination of the packet is stored in the destination, and for example, “192.168.1.1” to “192.168.1.4”, which are IP addresses of the transfer destination, are stored.

なお、サービス対応表22には、図6に示す情報以外の情報が格納されうることは、言うまでもない。例えば、下位のネットワークの仕様がMPLSである場合は、宛先には、転送先となる転送機能部に付与されたラベルが格納される。すなわち、各転送機能部12間には、リーチャビリティがあるものとし、各転送機能部12を識別する情報であれば、任意の情報を宛先に採用することができる。   It goes without saying that information other than the information shown in FIG. 6 can be stored in the service correspondence table 22. For example, when the specification of the lower network is MPLS, the label assigned to the transfer function unit serving as the transfer destination is stored in the destination. That is, it is assumed that there is reachability between the transfer function units 12, and any information can be adopted as the destination as long as the information identifies each transfer function unit 12.

図5に戻り、説明を続ける。通信部23はユーザ端末2及び転送機能部12等とパケットの送受信を行う。例えば、通信部23は、ユーザ端末2からパケットを受信すると、受信したパケットを分析部24に出力する。また、通信部23は、特定部25からパケットを受付けると、受付けたパケットを宛先が示す転送機能部12に送信する。   Returning to FIG. 5, the description will be continued. The communication unit 23 transmits and receives packets to and from the user terminal 2 and the transfer function unit 12. For example, when receiving a packet from the user terminal 2, the communication unit 23 outputs the received packet to the analysis unit 24. In addition, when receiving a packet from the specifying unit 25, the communication unit 23 transmits the received packet to the transfer function unit 12 indicated by the destination.

分析部24は、ユーザ端末2から受信したパケットを分析する。例えば、分析部24は、ユーザ端末2から受信したパケットの送信元や、パケットに格納されたデータを分析し、受信したパケットがどのようなサービスに係るパケットであるかを判定する。   The analysis unit 24 analyzes the packet received from the user terminal 2. For example, the analysis unit 24 analyzes the transmission source of the packet received from the user terminal 2 and the data stored in the packet, and determines what service the received packet is related to.

特定部25は、分析部24による判定結果に応じて、ユーザ端末2から受信したパケットを転送する転送経路の経路IDを特定する。例えば、特定部25は、ユーザ端末2から受信したパケットが「サービスA」に係るパケットである場合は、サービス対応表22を参照し、「サービスA」と対応付けられた経路ID「100」と宛先「192.168.1.1」を特定する。そして、特定部25は、ユーザ端末2から受信したパケットに経路ID「100」を含むラベルを付し、宛先「192.188.1.1」を含むヘッダを付すことで、ユーザ端末2から受信したパケットをトンネル化する。   The specifying unit 25 specifies the route ID of the transfer route for transferring the packet received from the user terminal 2 according to the determination result by the analysis unit 24. For example, when the packet received from the user terminal 2 is a packet related to “service A”, the specifying unit 25 refers to the service correspondence table 22 and sets the route ID “100” associated with “service A”. The destination “192.168.1.1” is specified. Then, the specifying unit 25 adds a label including the route ID “100” to the packet received from the user terminal 2 and adds a header including the destination “192.168.1.1”, thereby receiving the packet from the user terminal 2. Tunneled packets.

ここで、転送機能部12の設定ミス等により、パケットが同一の転送経路内を何度もループする場合がある。このようなループ状態が生じた場合、パケットがループする経路内の転送機能部12に多大な付加がかかり、重大な障害が生じる場合がある。そこで、特定部25は、転送経路内でのループを検出するための転送情報をヘッダに付与する。   Here, a packet may loop many times in the same transfer path due to a setting error of the transfer function unit 12 or the like. When such a loop state occurs, a large amount of addition is applied to the transfer function unit 12 in the path through which the packet loops, and a serious failure may occur. Therefore, the specifying unit 25 adds transfer information for detecting a loop in the transfer path to the header.

例えば、図7は、実施形態に係るヘッダの一例を説明する図である。例えば、特定部25は、図7に示すように、「ヘッダの基本情報」、「経路情報」、「転送情報」、「オプション情報」といった情報が格納されるヘッダをパケットに付与する。   For example, FIG. 7 is a diagram illustrating an example of a header according to the embodiment. For example, as illustrated in FIG. 7, the specifying unit 25 adds a header storing information such as “header basic information”, “route information”, “transfer information”, and “option information” to the packet.

例えば、「ヘッダの基本情報」には、ヘッダの長さや、続くパケットのプロトコル情報などが格納され、「オプション情報」には、ネットワーク上で用いられる各種のメタデータが格納される。また、特定部25は、ヘッダ内の「経路情報」に、特定した経路IDを格納する。また、特定部25は、図7中(A)に示すように、ヘッダ内の「転送情報」に、経路上の何ホップ目かを示すための所定の値を格納する。各転送機能部12は、パケットを受信する度に転送情報の値をデクリメント又はインクリメントする。そして、転送機能部12は、転送情報の値が所定の条件を満たした際には、全てのSFを経由したと判断してヘッダを除去したり、ループが発生したと判断してパケットを破棄したりする。なお、以下の説明では、転送情報の値を「In」と記載する場合がある。   For example, the “header basic information” stores the length of the header, the protocol information of the subsequent packet, and the like, and “option information” stores various metadata used on the network. The specifying unit 25 stores the specified route ID in the “route information” in the header. Further, as illustrated in FIG. 7A, the specifying unit 25 stores a predetermined value for indicating the number of hops on the route in the “transfer information” in the header. Each transfer function unit 12 decrements or increments the value of transfer information each time a packet is received. When the transfer information value satisfies a predetermined condition, the transfer function unit 12 determines that all the SFs have been passed and removes the header, or determines that a loop has occurred and discards the packet. To do. In the following description, the value of transfer information may be described as “In”.

(転送機能部12が有する機能構成の一例)
次に、図8を用いて、転送機能部12が有する機能構成の一例を説明する。図8は、実施形態に係る転送機能部が有する機能構成の一例を示す図である。図8に示すように、転送機能部12は、制御部30、記憶部31を有する。また、記憶部31は、宛先対応表32、次処理対応表33を記憶する。また、制御部30は、通信部34、抽出部35、特定部36、判定部37、処理部38を有する。
(Example of functional configuration of transfer function unit 12)
Next, an example of the functional configuration of the transfer function unit 12 will be described with reference to FIG. FIG. 8 is a diagram illustrating an example of a functional configuration of the transfer function unit according to the embodiment. As illustrated in FIG. 8, the transfer function unit 12 includes a control unit 30 and a storage unit 31. The storage unit 31 also stores a destination correspondence table 32 and a next processing correspondence table 33. The control unit 30 includes a communication unit 34, an extraction unit 35, a specifying unit 36, a determination unit 37, and a processing unit 38.

宛先対応表32は、パケットの転送先を示す情報と、パケットに付与される経路IDのうち所定の階層までの値とが対応付けて格納される。例えば、図9は、実施形態に係る宛先対応表に格納される情報の一例を説明する図である。なお、図9に示す例では、メインの転送経路に設置された転送機能部12aが記憶する宛先対応表32aに格納された情報の一例を記載した。   In the destination correspondence table 32, information indicating the transfer destination of a packet and a value up to a predetermined hierarchy among path IDs assigned to the packet are stored in association with each other. For example, FIG. 9 is a diagram illustrating an example of information stored in the destination correspondence table according to the embodiment. In the example shown in FIG. 9, an example of information stored in the destination correspondence table 32a stored in the transfer function unit 12a installed in the main transfer path is described.

例えば、図9に示すように、宛先対応表32aには、パケットに格納される経路IDのうち最上位の階層までの値が、パケットの宛先を示す情報(例えば、IPアドレス)と対応付けて格納される。例えば、図9に示す例では、宛先対応表32aには、経路ID「100」と宛先「192.168.1.11」とが対応付けて格納され、経路ID「123」と宛先「192.168.1.12」とが対応付けて格納され、経路ID「124」と宛先「192.168.1.13」とが対応付けて格納されている。   For example, as shown in FIG. 9, in the destination correspondence table 32a, values up to the highest layer among the route IDs stored in the packet are associated with information (for example, IP address) indicating the destination of the packet. Stored. For example, in the example illustrated in FIG. 9, the route correspondence table 32 a stores the route ID “100” and the destination “192.168.1.11” in association with each other, and the route ID “123” and the destination “192. 168.1.12 ”is stored in association with each other, and the route ID“ 124 ”and the destination“ 192.168.1.13 ”are stored in association with each other.

一方、図10は、実施形態に係る宛先対応表に格納される情報の他の例を説明する図である。なお、図10に示す例では、サブの転送経路上に設置された転送機能部12eが記憶する宛先対応表32eに格納された情報の一例を記載した。   On the other hand, FIG. 10 is a diagram illustrating another example of information stored in the destination correspondence table according to the embodiment. In the example shown in FIG. 10, an example of information stored in the destination correspondence table 32e stored in the transfer function unit 12e installed on the sub transfer path is described.

図10に示すように、宛先対応表32eには、パケットに格納される経路IDのうち最上位の階層と次の階層までの値とが、パケットの転送先と対応付けて格納される。すなわち、転送機能部12eは、メインの転送経路から1回分岐したサブの転送経路上に設置されているので、経路IDのうち、最上位の階層と次の階層までの値とを転送先と対応付けて記憶する。   As shown in FIG. 10, in the destination correspondence table 32e, the highest layer and the values up to the next layer among the route IDs stored in the packet are stored in association with the transfer destination of the packet. That is, since the transfer function unit 12e is installed on a sub transfer path that branches once from the main transfer path, the value of the highest hierarchy and the next hierarchy in the path ID are set as the transfer destination. Store in association with each other.

例えば、図10に示す例では、宛先対応表32eには、経路ID「100−01」と宛先「192.168.1.15」とが対応付けて格納され、経路ID「123−01」と宛先「192.168.1.17」とが対応付けて格納され、経路ID「124−01」と宛先「192.168.1.18」とが対応付けて格納されている。   For example, in the example illustrated in FIG. 10, the destination correspondence table 32e stores the route ID “100-01” and the destination “192.168.1.15” in association with each other, and the route ID “123-01”. The destination “192.168.1.17” is stored in association with each other, and the route ID “124-01” and the destination “192.168.1.18” are stored in association with each other.

なお、宛先対応表32には、図9、図10に示す情報以外の情報が格納されうることは、言うまでもない。例えば、サブの転送経路から分岐した転送経路上に設置された転送機能部12の宛先対応表32には、例えば、「100−01−01」といった3階層の経路IDが格納されることとなる。また、受信したパケットをSF13へ転送する場合、宛先対応表32には、同一の経路IDに、SF13の宛先と、次にパケットの転送先となる転送機能部12の宛先とが対応付けて格納されることとなる。   It goes without saying that information other than the information shown in FIGS. 9 and 10 can be stored in the destination correspondence table 32. For example, the destination correspondence table 32 of the transfer function unit 12 installed on the transfer path branched from the sub transfer path stores, for example, a three-layer path ID such as “100-01-01”. . Further, when the received packet is transferred to the SF 13, the destination correspondence table 32 stores the destination of the SF 13 and the destination of the transfer function unit 12 to be the next packet transfer destination in association with the same route ID. Will be.

図8に戻り、説明を続ける。次処理対応表33は、転送情報の値に応じて実行される処理の内容が経路IDごとに格納されている。例えば、図11は、実施形態に係る次処理対応表に格納される情報の一例を説明する図である。なお、図11に示す例では、メインの転送経路に設置された転送機能部12aが記憶する次処理対応表33aに格納された情報の一例を記載した。   Returning to FIG. 8, the description will be continued. In the next processing correspondence table 33, the contents of processing executed according to the value of the transfer information are stored for each route ID. For example, FIG. 11 is a diagram illustrating an example of information stored in the next process correspondence table according to the embodiment. In the example shown in FIG. 11, an example of information stored in the next processing correspondence table 33a stored in the transfer function unit 12a installed in the main transfer path is described.

例えば、図11に示すように、次処理対応表33には、経路IDと、パケットが経路上の何ホップ目にいるかを判定するための判定式と、判定式を満たす際に実行する処理とが対応付けて格納されている。例えば、図11に示す例では、経路ID「100」、「123」、及び「124」には、判定式「In<10」及び処理「SF_Aへ転送」が対応付けられている。ここで、判定式「In<10」は、転送情報の値が10よりも少ないか否かを判定する旨を示し、処理「SF_Aへ転送」は、判定式を満たす場合に、SF_Aへ転送する旨を示す。   For example, as shown in FIG. 11, the next processing correspondence table 33 includes a route ID, a determination formula for determining the hop number on the route, and a process executed when the determination formula is satisfied. Are stored in association with each other. For example, in the example illustrated in FIG. 11, the route IDs “100”, “123”, and “124” are associated with the determination formula “In <10” and the process “transfer to SF_A”. Here, the determination formula “In <10” indicates that it is determined whether or not the value of the transfer information is less than 10. The process “transfer to SF_A” transfers to SF_A when the determination formula is satisfied. Indicate.

一方、図12は、実施形態に係る次処理対応表に格納される情報の他の例を説明する図である。なお、図12に示す例では、サブの転送経路上に設置された転送機能部12eが記憶する次処理対応表33eに格納された情報の一例を記載した。   On the other hand, FIG. 12 is a diagram illustrating another example of information stored in the next process correspondence table according to the embodiment. In the example shown in FIG. 12, an example of information stored in the next process correspondence table 33e stored in the transfer function unit 12e installed on the sub transfer path is described.

図12に示すように、次処理対応表33eには、経路ID「100−01」、「123−01」、及び「124−01」と、判定式「In<31」及び処理「SF_Eへ転送」とが対応付けて格納されている。   As illustrated in FIG. 12, the next processing correspondence table 33 e includes the route IDs “100-01”, “123-01”, and “124-01”, the determination formula “In <31”, and the processing “SF_E”. Are stored in association with each other.

なお、次処理対応表33には、図11、図12に示す情報以外の情報が格納されうることは、言うまでもない。例えば、次処理対応表33には、「転送機能部12bへ転送」や、「パケットを破棄」等、受信したパケットに対して行われる各種の処理が格納されていればよい。なお、転送経路上でループが存在しない場合は、転送機能部12は、次処理対応表33を用いた処理を行わずともよい。   It goes without saying that information other than the information shown in FIGS. 11 and 12 can be stored in the next processing correspondence table 33. For example, the next processing correspondence table 33 only needs to store various types of processing to be performed on the received packet, such as “transfer to transfer function unit 12b” and “discard packet”. If there is no loop on the transfer path, the transfer function unit 12 may not perform the process using the next process correspondence table 33.

すなわち、メインの転送経路上に設置されたサービスユニット14は、転送情報の値に「10」を加算して出力し、サブの転送経路上に設置されたサービスユニット14は、転送情報の値に「1」を加算して出力する。このように、サービスユニット14は、メインの転送経路上に設置された場合と、サブの転送経路上に設置された場合とで、異なる位の値を転送情報に加算する。このため、転送機能部12は、経路IDと併せて、転送情報の値も階層化する。   That is, the service unit 14 installed on the main transfer path adds “10” to the value of the transfer information and outputs the value, and the service unit 14 installed on the sub transfer path sets the value of the transfer information. Add "1" and output. In this way, the service unit 14 adds different values to the transfer information when it is installed on the main transfer path and when it is installed on the sub transfer path. For this reason, the transfer function unit 12 hierarchizes the value of the transfer information together with the route ID.

なお、転送情報はSFもしくはそれに準ずる機能で加算(または減算)される。加算(または減算)する値はメイン経路とサブ経路で異なり、その値はメイン経路の方がサブ経路のものよりも大きいことを基本とする。ここで、転送情報の更新は、サービスユニット14のいずれかで行われればよく、例えば、転送機能部12が実行してもよい。   The transfer information is added (or subtracted) by SF or a function equivalent thereto. The value to be added (or subtracted) is different between the main route and the sub route, and the value is based on that the main route is larger than that of the sub route. Here, the transfer information may be updated by any one of the service units 14, and may be executed by the transfer function unit 12, for example.

ここで、転送情報の値を階層化する処理の効果について説明する。例えば、1つの転送機能部12には、複数のSF13が接続される場合がある。具体例を説明すると、図1に示す例では、転送機能部12aは、SF_A13a及びSF_D13dが接続されているため、パケットがSF_A13a及びSF_D13dを経由する場合、同一のパケットを複数回経由することとなる。しかしながら、各転送機能部12は、経路IDと転送先とを1対1で記憶するため、同一の転送機能部12を複数回経由させることができない。   Here, the effect of the process of hierarchizing transfer information values will be described. For example, a plurality of SFs 13 may be connected to one transfer function unit 12. A specific example will be described. In the example shown in FIG. 1, since the transfer function unit 12a is connected to the SF_A 13a and the SF_D 13d, when the packet passes through the SF_A 13a and SF_D 13d, the same packet is passed multiple times. . However, since each transfer function unit 12 stores the path ID and the transfer destination in a one-to-one relationship, the same transfer function unit 12 cannot be routed a plurality of times.

また、転送機能部12が設置された位置に係らず、転送情報の値に一律で同じ数値を加算すると、転送経路を分岐させた際に、分岐よりも後ろの転送機能部が記憶する判定式を全て変更しなくてはならない。そこで、SF13は、自装置が設置された転送経路がメインの転送経路であるか、サブの転送経路であるかに応じて、異なる値を転送情報の値に加算する。より具体的には、SF13は、メインの転送経路である場合に、サブの転送経路である場合よりも大きい値を加算する。例えば、SF13は、自装置が設置された転送経路がメインの転送経路である場合は、転送情報に「10」を加算し、自装置が設置された転送経路がサブの転送経路である場合は、転送情報に「1」を加算する。   Also, regardless of the position where the transfer function unit 12 is installed, if the same numerical value is uniformly added to the value of the transfer information, the determination formula stored in the transfer function unit after the branch when the transfer path is branched All of these must be changed. Therefore, the SF 13 adds a different value to the value of the transfer information depending on whether the transfer path in which the apparatus is installed is a main transfer path or a sub transfer path. More specifically, the SF 13 adds a larger value in the case of the main transfer route than in the case of the sub transfer route. For example, the SF 13 adds “10” to the transfer information when the transfer path where the own apparatus is installed is the main transfer path, and when the transfer path where the own apparatus is installed is the sub transfer path. Then, “1” is added to the transfer information.

図8にもどり、説明を続ける。通信部34は、他の転送機能部12やSF13とパケットの送受信を行う。例えば、通信部34は、転送経路の分岐に基づく階層構造を有する経路IDが付与されたパケットを他の転送機能部12から受信する。   Returning to FIG. 8, the description will be continued. The communication unit 34 transmits and receives packets to and from the other transfer function unit 12 and the SF 13. For example, the communication unit 34 receives from another transfer function unit 12 a packet to which a route ID having a hierarchical structure based on the branch of the transfer route is given.

抽出部35は、受信したパケットのラベルから転送情報の値と、経路IDのうち所定の階層までの値を抽出する。具体的には、抽出部35は、転送機能部12が設置された転送経路がメインの転送岐路から分岐した数に応じた階層までの値を、経路IDから抽出する。   The extraction unit 35 extracts the value of the transfer information and the value up to a predetermined hierarchy from the route ID from the received packet label. Specifically, the extraction unit 35 extracts, from the route ID, a value up to a hierarchy corresponding to the number of branches of the transfer route in which the transfer function unit 12 is installed from the main transfer branch.

例えば、抽出部35は、転送機能部12がメインの転送経路に設置されている場合、経路IDのうち最上位の層に格納された値(例えば、先頭3桁の値)を抽出する。一方、抽出部35は、転送機能部12がサブの転送経路に設置されている場合、経路IDのうち最上位の層および次の層に格納された値まで(例えば、先頭6桁の値)を抽出する。   For example, when the transfer function unit 12 is installed in the main transfer route, the extraction unit 35 extracts a value (for example, the first three digits) stored in the highest layer of the route ID. On the other hand, when the transfer function unit 12 is installed in the sub transfer path, the extraction unit 35 is configured to store the values stored in the highest layer and the next layer in the path ID (for example, the first 6 digits value). To extract.

特定部36は、パケットを受信したポート、抽出部35が抽出した経路ID、及び転送情報の値等から、受信したパケットを自装置と接続されたSF13に転送するか、受信したパケットを他の転送機能部12に転送するか、若しくはパケットの破棄等、受信したパケットに対する各種処理の特定を行う。   The specifying unit 36 transfers the received packet to the SF 13 connected to the own device based on the port that received the packet, the route ID extracted by the extraction unit 35, the value of the transfer information, and the like. Various processes for the received packet are specified such as transfer to the transfer function unit 12 or discard of the packet.

例えば、特定部36は、抽出部35が経路IDから抽出した値と完全一致する経路IDを宛先対応表32から検索する。そして、特定部36は、検索の結果、抽出部35が経路IDから抽出した値と完全一致する経路IDが宛先対応表32に格納されている場合は、その経路IDと対応付けられた宛先を全て取得し、処理部38に出力する。一方、特定部36は、検索の結果、抽出部35が経路IDから抽出した値と完全一致する経路IDが宛先対応表32に格納されていない場合は、受信したパケットを破棄する。   For example, the specifying unit 36 searches the destination correspondence table 32 for a route ID that completely matches the value extracted from the route ID by the extraction unit 35. If the route ID that completely matches the value extracted from the route ID by the extraction unit 35 is stored in the destination correspondence table 32 as a result of the search, the specifying unit 36 selects the destination associated with the route ID. All are acquired and output to the processing unit 38. On the other hand, if the route ID that completely matches the value extracted from the route ID by the extraction unit 35 is not stored in the destination correspondence table 32 as a result of the search, the specifying unit 36 discards the received packet.

判定部37は、抽出部35が抽出した転送情報の値が次処理対応表33に格納された条件式を満たすか否かを判定する。例えば、判定部37は、抽出部35が抽出した経路IDと対応付けられた判定式を次処理対応表33から取得する。そして、判定部37は、抽出部35が抽出した転送情報の値が取得した判定式を満たすか否かを判定する。例えば、判定部37は、取得した判定式が「In<10」である場合は、抽出部35が抽出した転送情報の値が「10」よりも小さいか否かを判定する。そして、判定部37は、判定結果を処理部38に出力する。   The determination unit 37 determines whether or not the value of the transfer information extracted by the extraction unit 35 satisfies the conditional expression stored in the next processing correspondence table 33. For example, the determination unit 37 acquires a determination formula associated with the route ID extracted by the extraction unit 35 from the next processing correspondence table 33. Then, the determination unit 37 determines whether or not the transfer information value extracted by the extraction unit 35 satisfies the acquired determination formula. For example, when the acquired determination formula is “In <10”, the determination unit 37 determines whether or not the value of the transfer information extracted by the extraction unit 35 is smaller than “10”. Then, the determination unit 37 outputs the determination result to the processing unit 38.

処理部38は、受信したパケットから抽出された経路IDに応じて、受信したパケットの破棄、ヘッダの除去、若しくは、パケットを元の宛先(サーバ装置3)へ転送する処理のうち少なくともいずれか1つを実行する。例えば、処理部38は、受信したパケットを受付け、特定部36から宛先を受付ける。また、処理部38は、判定部37から判定結果を受付ける。そして、処理部38は、抽出部35が抽出した転送情報の値が次処理対応表33に格納された条件式を満たすと判定部37が判定した場合は、かかる条件式と対応付けられた処理に従い、パケットを転送する。   The processing unit 38 is at least one of discarding the received packet, removing the header, or transferring the packet to the original destination (server apparatus 3) according to the path ID extracted from the received packet. Run one. For example, the processing unit 38 receives the received packet and receives the destination from the specifying unit 36. In addition, the processing unit 38 receives a determination result from the determination unit 37. When the determination unit 37 determines that the value of the transfer information extracted by the extraction unit 35 satisfies the conditional expression stored in the next processing correspondence table 33, the processing unit 38 performs processing associated with the conditional expression. To forward the packet.

例えば、処理部38は、条件式と対応付けられた処理が「SF_Aへ転送」である場合は、特定部36が特定した宛先から「SF_A」の宛先を特定し、特定した宛先を示すヘッダをパケットに付与することで、パケットを「SF_A」へと転送する。一方、処理部38は、条件式と対応付けられた処理が「転送機能部12bへ転送」である場合は、特定部36が特定した宛先から「転送機能部12b」の宛先を特定し、転送機能部12bの宛先を示すヘッダをパケットに付与し、パケットを転送する。ここで、宛先の特定方法については、任意の従来技術が適用できる。   For example, when the process associated with the conditional expression is “transfer to SF_A”, the processing unit 38 specifies the destination of “SF_A” from the destination specified by the specifying unit 36, and adds a header indicating the specified destination. By attaching to the packet, the packet is transferred to “SF_A”. On the other hand, when the processing associated with the conditional expression is “transfer to transfer function unit 12b”, the processing unit 38 specifies the destination of “transfer function unit 12b” from the destination specified by the specifying unit 36, and transfers A header indicating the destination of the functional unit 12b is added to the packet, and the packet is transferred. Here, any conventional technique can be applied to the destination specifying method.

すなわち、処理部36は、経路IDと対応付けられた転送先や、SF等にパケットを転送する。また、処理部38は、パケットを元の宛先に転送するよう特定部36から指示された場合は、経路ID等が格納されたヘッダを外し、トンネル化する前のパケットの宛先、すなわち、サーバ装置3に受信したパケットを転送する。   That is, the processing unit 36 transfers the packet to a transfer destination associated with the route ID, SF, or the like. In addition, when the specifying unit 36 instructs the processing unit 38 to transfer the packet to the original destination, the processing unit 38 removes the header storing the route ID and the packet destination before tunneling, that is, the server device 3 forwards the received packet.

一方、処理部38は、抽出部35が抽出した転送情報の値が次処理対応表33に格納された全ての条件式を満たさないと判定部37が判定した場合は、ループが発生したと判定し、パケットを破棄する。なお、処理部38は、ループが発生した場合は、受信したパケットからヘッダを外し、トンネル化する前のパケットの宛先へパケットを転送してもよい。他にも、処理部38は、ループが発生した場合に、予め定められた任意の操作を実行するよう設定されてもよい。また、処理部38は、上述した処理以外にも、任意の処理が条件式と対応付けられている場合は、係る処理を実行すればよい。   On the other hand, when the determination unit 37 determines that the value of the transfer information extracted by the extraction unit 35 does not satisfy all the conditional expressions stored in the next processing correspondence table 33, the processing unit 38 determines that a loop has occurred. And discard the packet. When a loop occurs, the processing unit 38 may remove the header from the received packet and transfer the packet to the destination of the packet before tunneling. In addition, the processing unit 38 may be set to execute a predetermined arbitrary operation when a loop occurs. In addition to the above-described processes, the processing unit 38 may execute such a process when an arbitrary process is associated with the conditional expression.

(転送機能部12が実行する処理の他の例)
ここで、転送機能部12は、以下の処理を実行することで、パケットの転送を行ってもよい。例えば、転送機能部12は、経路IDと、判定式と、処理とを対応付けた対応表、すなわち、宛先対応表32と次処理対応表33とを合わせた対応表を記憶する。かかる場合、特定部36は、抽出部35が抽出した経路IDと対応付けられた処理を特定する。そして、判定部37は、特定部が特定した各処理と対応付けられた判定式を、受信したパケットの転送情報が満たすか否かを判定する。そして、処理部38は、判定部37により転送情報が判定式を満たすと判定された処理に従い、パケットの転送や破棄等を実行する。
(Another example of processing executed by the transfer function unit 12)
Here, the transfer function unit 12 may perform packet transfer by executing the following processing. For example, the transfer function unit 12 stores a correspondence table in which the route ID, the determination formula, and the process are associated, that is, a correspondence table in which the destination correspondence table 32 and the next processing correspondence table 33 are combined. In such a case, the specifying unit 36 specifies a process associated with the route ID extracted by the extracting unit 35. And the determination part 37 determines whether the transfer information of the received packet satisfy | fills the determination formula matched with each process which the specific | specification part specified. Then, the processing unit 38 performs packet transfer, discarding, and the like in accordance with processing in which the determination unit 37 determines that the transfer information satisfies the determination formula.

すなわち、転送機能部12は、階層化した経路IDや、階層化した経路情報に基づいて、パケットの処理を決定するのであれば、任意の処理により、実現してよい。   In other words, the transfer function unit 12 may be realized by an arbitrary process as long as it determines the packet processing based on the hierarchical route ID and the hierarchical route information.

(転送情報を更新する処理の一例)
次に、図13を用いて、転送機能部12が転送情報を更新する処理の一例について説明する。図13は、実施形態に係る転送機能部が転送情報を更新する処理の一例を示す説明図である。なお、図13に示す例では、各サービスユニット14が転送情報を更新する処理の一例について記載した。また、以下の説明では、メインの転送経路上に設置されたサービスユニット14は、転送情報に「10」を加算し、サブの転送経路上に設置されたサービスユニット14は、転送情報に「1」を加算するものとする。
(Example of processing for updating transfer information)
Next, an example of processing in which the transfer function unit 12 updates transfer information will be described with reference to FIG. FIG. 13 is an explanatory diagram illustrating an example of processing in which the transfer function unit according to the embodiment updates transfer information. In the example illustrated in FIG. 13, an example of processing in which each service unit 14 updates transfer information is described. In the following description, the service unit 14 installed on the main transfer path adds “10” to the transfer information, and the service unit 14 installed on the sub transfer path adds “1” to the transfer information. "Is added.

例えば、識別機能部11は、転送情報の初期値として「0」を付与したパケットを出力する。係る場合、サービスユニット_A14aは、受信したパケットに付与された転送情報が「In<10」を満たすか否かを判定する(ステップS20)。そして、サービスユニット_A14aは、受信したパケットに付与された転送情報が「In<10」を満たす場合は、サービスユニット_A14aがメインの転送経路上に設置されているため、転送情報の値に「10」を加算してサービスユニット_B14bに転送する(ステップS21)。   For example, the identification function unit 11 outputs a packet given “0” as an initial value of the transfer information. In such a case, the service unit_A 14a determines whether or not the transfer information given to the received packet satisfies “In <10” (step S20). Then, when the transfer information given to the received packet satisfies “In <10”, the service unit_A 14a is set to “10” because the service unit_A 14a is installed on the main transfer path. Is added and transferred to the service unit_B 14b (step S21).

一方、サービスユニット_B14bは、受信したパケットに付与された転送情報が「In<20」を満たすか否かを判定する(ステップS22)。そして、サービスユニット_B14bは、受信したパケットに付与された転送情報が「In<20」を満たす場合は、サービスユニット_B14bがメインの転送経路上に設置されているため、転送情報の値に「10」を加算し、サービスユニット_C14c又はサービスユニット_E14eに転送する(ステップS23、S24)。   On the other hand, the service unit_B 14b determines whether or not the transfer information given to the received packet satisfies “In <20” (step S22). Then, when the transfer information given to the received packet satisfies “In <20”, the service unit_B 14b is set to “10” because the service unit_B 14b is installed on the main transfer path. Is added to the service unit_C14c or the service unit_E14e (steps S23 and S24).

また、サービスユニット_E14eは、受信したパケットに付与された転送情報が「In<30」を満たすか否かを判定する(ステップS25)。そして、サービスユニット_E14eは、受信したパケットに付与された転送情報が「In<30」を満たす場合は、サービスユニット_E14eがサブの転送経路上に設置されているため、転送情報の値に「1」を加算し、サービスユニット_C14cに転送する(ステップS26)。   Also, the service unit_E 14e determines whether or not the transfer information given to the received packet satisfies “In <30” (step S25). Then, when the transfer information given to the received packet satisfies “In <30”, the service unit_E 14e is set on the value of the transfer information because the service unit_E14e is installed on the sub transfer path. Is added and transferred to the service unit_C14c (step S26).

一方、サービスユニット_C14cは、パケットの転送経路がメインの転送経路であるかサブの転送経路であるかに係らず、受信したパケットに付与された転送情報が「In<30」を満たすか否かを判定する(ステップS27)。そして、サービスユニット_C14cは、受信したパケットに付与された転送情報が「In<30」を満たす場合は、サービスユニット_C14cがメインの転送経路上に設置されているため、転送情報の値に「10」を加算してサービスユニット_D14dに転送する(ステップS28)。   On the other hand, the service unit_C 14c determines whether the transfer information given to the received packet satisfies “In <30” regardless of whether the transfer path of the packet is a main transfer path or a sub transfer path. Is determined (step S27). Then, when the transfer information given to the received packet satisfies “In <30”, the service unit_C 14c is set on the value of the transfer information because the service unit_C 14c is installed on the main transfer path. "Is added and transferred to the service unit_D 14d (step S28).

また、サービスユニット_D14dは、受信したパケットに付与された転送情報が「30≦In<40」を満たすか否かを判定する(ステップS29)。そして、サービスユニット_D14dは、受信したパケットに付与された転送情報が「30≦In<40」を満たす場合は、サービスユニット_D14dがメインの転送経路上に設置されているため、転送情報の値に「10」を加算し、パケットを転送する(ステップS30)。   Further, the service unit_D 14d determines whether or not the transfer information given to the received packet satisfies “30 ≦ In <40” (step S29). When the transfer information given to the received packet satisfies “30 ≦ In <40”, the service unit_D 14d has the service unit_D 14d installed on the main transfer path, so “10” is added and the packet is transferred (step S30).

このように、メインの転送経路上に設置されたサービスユニット14は、メインの転送経路上に設置されている場合は、転送情報に「10」を加算し、サブの転送経路上に設定されている場合は、転送情報に「1」を加算する。そして、転送機能部12は、パケットをメインの転送経路上で転送した転送機能部の数に「10」を積算した値よりも、受信したパケットに付与された転送情報の値が少ないか否かを判定する。   Thus, when the service unit 14 installed on the main transfer path is installed on the main transfer path, “10” is added to the transfer information, and the service unit 14 is set on the sub transfer path. If there is, “1” is added to the transfer information. Then, the transfer function unit 12 determines whether or not the value of the transfer information given to the received packet is smaller than the value obtained by adding “10” to the number of transfer function units that transferred the packet on the main transfer path. Determine.

このように、サービスユニット14は、メインの転送経路上とサブの転送経路上とで異なる位の値、すなわち階層化された値を転送情報に加算することとなる。この結果、転送機能部12は、分岐よりも後の転送機能部12の判定式を変更せずとも、ループが発生したか否かを判定することができる。   As described above, the service unit 14 adds different values on the main transfer path and the sub transfer path, that is, hierarchized values, to the transfer information. As a result, the transfer function unit 12 can determine whether or not a loop has occurred without changing the determination formula of the transfer function unit 12 after the branch.

なお、図13に示す例では、メインの転送経路上のサービスユニット14は、値「10」を転送情報に加算し、サブの転送経路上のサービスユニット14は、値「1」を転送情報に加算した。しかしながら、実施形態は、これに限定されるものではない。例えば、メインの転送経路上の転送機能部が転送情報に加算する値を「X」とし、サブの転送経路上の転送機能部が転送情報に加算する値を「x」とした場合、「x」の値は「X」よりも小さい値であればよい。この場合、メインの転送経路上でn番目にパケットを転送する転送機能部は、受信したパケットに付与された転送情報の値が「nX」以下となるか否かを判定すればよい。   In the example shown in FIG. 13, the service unit 14 on the main transfer path adds the value “10” to the transfer information, and the service unit 14 on the sub transfer path uses the value “1” as the transfer information. Added. However, the embodiment is not limited to this. For example, when the value that the transfer function unit on the main transfer path adds to the transfer information is “X” and the value that the transfer function unit on the sub transfer path adds to the transfer information is “x”, “x” The value of “” may be a value smaller than “X”. In this case, the transfer function unit that transfers the nth packet on the main transfer path may determine whether or not the value of the transfer information given to the received packet is equal to or less than “nX”.

ここで、「X」の値及び「x」の値として、10進法表記した場合に異なる位の値を設定した場合には、転送情報の値が階層化されるため、判定式に含まれる閾値の値の設定を容易にすることができる。また、「X」の値及び「x」の値として、バイナリ表記した際に異なる位の値を設定した場合は、転送情報のうち所定のビットの値のみを読み出せば、ループが生じたか否かを判定することができる。   Here, as values of “X” and “x”, when values in different places are set in decimal notation, the values of transfer information are hierarchized and are therefore included in the determination formula Setting of the threshold value can be facilitated. Also, when different values are set as the values of “X” and “x” in binary notation, whether or not a loop has occurred if only a predetermined bit value of the transfer information is read. Can be determined.

(識別機能部11による処理の流れ)
次に、図14を用いて、実施形態に係る識別機能部11による処理の流れを説明する。図14は、実施形態に係る識別機能部が実行する処理の流れを示すフローチャートである。図14に示すように、識別機能部11は、ユーザ端末2から受信したパケットを解析し、パケットに関するサービスを特定する(ステップS101)。また、識別機能部11は、特定したサービスに応じた経路IDと転送情報とをヘッダに付与する(ステップS102)。また、識別機能部11は、特定したサービスに応じた宛先を設定する(ステップS103)。そして、識別機能部11は、受信したパケットを出力し(ステップS104)、処理を終了する。
(Processing flow by the identification function unit 11)
Next, the flow of processing by the identification function unit 11 according to the embodiment will be described with reference to FIG. FIG. 14 is a flowchart illustrating a flow of processing executed by the identification function unit according to the embodiment. As illustrated in FIG. 14, the identification function unit 11 analyzes a packet received from the user terminal 2 and specifies a service related to the packet (step S <b> 101). Further, the identification function unit 11 adds a path ID and transfer information corresponding to the specified service to the header (step S102). Further, the identification function unit 11 sets a destination corresponding to the specified service (step S103). And the identification function part 11 outputs the received packet (step S104), and complete | finishes a process.

(転送機能部12による処理の流れ)
次に、図15を用いて、実施形態に係る転送機能部12による処理の流れを説明する。図15は、実施形態に係る転送機能部が実行する処理の流れを示すフローチャートである。例えば、転送機能部12は、受信したパケットのヘッダから転送情報と経路IDとを抽出する(ステップS201)。また、転送機能部12は、経路IDのうち、先頭から所定の階層までの値を抽出する(ステップS202)。具体的には、転送機能部12は、自装置が設置された転送経路がメインの転送経路から何回分岐したかに応じた階層までの値を抽出する。
(Processing flow by the transfer function unit 12)
Next, the flow of processing by the transfer function unit 12 according to the embodiment will be described with reference to FIG. FIG. 15 is a flowchart illustrating a flow of processing executed by the transfer function unit according to the embodiment. For example, the transfer function unit 12 extracts transfer information and a route ID from the header of the received packet (step S201). Further, the transfer function unit 12 extracts a value from the top to a predetermined hierarchy from the route ID (step S202). Specifically, the transfer function unit 12 extracts values up to the hierarchy according to how many times the transfer path in which the apparatus is installed branches from the main transfer path.

そして、転送機能部12は、抽出した値と対応付けられた宛先が宛先対応表32に登録されているか否かを判定し(ステップS203)、登録されている場合は(ステップS203:Yes)、抽出した値と対応付けられた宛先をパケットの宛先に設定する(ステップS204)。また、転送機能部12は、抽出した転送情報の値が、経路IDから抽出した値と対応受けられた判定式を満たすか否かを判定し(ステップS205)。そして、転送機能部12は、抽出した転送情報の値が判定式を満たすと判定した場合は(ステップS205:Yes)、パケットを転送し(ステップS206)、処理を終了する。   Then, the transfer function unit 12 determines whether or not the destination associated with the extracted value is registered in the destination correspondence table 32 (step S203), and if it is registered (step S203: Yes), The destination associated with the extracted value is set as the destination of the packet (step S204). Further, the transfer function unit 12 determines whether or not the value of the extracted transfer information satisfies the determination formula received in correspondence with the value extracted from the route ID (step S205). When the transfer function unit 12 determines that the extracted transfer information value satisfies the determination formula (step S205: Yes), the transfer function unit 12 transfers the packet (step S206) and ends the process.

一方、転送機能部12は、抽出した値と対応付けられた宛先が宛先対応表32に登録されていない場合は(ステップS203:No)、所定の宛先をパケットの宛先に設定し(ステップS207)、ステップS205を実行する。また、転送機能部12は、抽出した転送情報の値が判定式を満たさない場合は(ステップS205:No)、パケットを破棄し(ステップS208)、処理を終了する。   On the other hand, when the destination associated with the extracted value is not registered in the destination correspondence table 32 (step S203: No), the transfer function unit 12 sets the predetermined destination as the packet destination (step S207). Step S205 is executed. If the extracted transfer information value does not satisfy the determination formula (step S205: No), the transfer function unit 12 discards the packet (step S208) and ends the process.

なお、上述した説明では、抽出した転送情報の値が判定式を満たすか否かに応じて、パケットの転送またはパケットの破棄を実行する処理の例について説明したが、実施の形態は、これに限定されるものではない。例えば、転送機能部12は、複数の条件を設定し、抽出した転送情報の値がいずれの条件を満たすかに応じて、パケットの転送、パケットの破棄、ヘッダの削除、受信したパケットの元の転送先への転送、その他任意の処理を実行してもよい。また、転送機能部12は、転送情報の値と経路IDの値とに対し、複数の条件をそれぞれに設定し、各値がどの条件を満たすかに応じて、各種処理を実行してもよい。   In the above description, an example of processing for executing packet transfer or packet discarding according to whether or not the extracted transfer information value satisfies the determination formula has been described. It is not limited. For example, the transfer function unit 12 sets a plurality of conditions, and depending on which condition the extracted transfer information value satisfies, the packet transfer, the packet discard, the header deletion, the original of the received packet You may perform the transfer to a transfer destination, and other arbitrary processes. In addition, the transfer function unit 12 may set a plurality of conditions for the transfer information value and the route ID value, and execute various processes according to which condition each value satisfies. .

(実施形態の効果)
上述したように、転送機能部12は、パケットの転送経路を示す経路IDであって、転送経路の分岐に基づく階層構造を有する経路IDが付与されたパケットを受信する。また、転送機能部12は、受信したパケットに付与された経路IDのうち、所定の階層までの値を抽出する。そして、転送機能部12は、パケットの転送先と、受信したパケットに付与される経路IDのうち少なくとも所定の階層までの値とを対応付けた宛先対応表32を参照し、抽出した値と対応付けられた転送先を特定する。その後、転送機能部12は、受信したパケットを特定した転送先に転送する。
(Effect of embodiment)
As described above, the transfer function unit 12 receives a packet having a path ID indicating a transfer path of a packet and having a path ID having a hierarchical structure based on a branch of the transfer path. In addition, the transfer function unit 12 extracts values up to a predetermined hierarchy from the route IDs assigned to the received packets. Then, the transfer function unit 12 refers to the destination correspondence table 32 in which the transfer destination of the packet is associated with the value up to at least a predetermined layer among the route IDs assigned to the received packet, and corresponds to the extracted value. Identifies the attached forwarding destination. Thereafter, the transfer function unit 12 transfers the received packet to the specified transfer destination.

このため、転送機能部12は、転送経路が追加された場合にも、追加された経路における転送機能部12の設定変更を不要とすることができる。例えば、図4に示す場合、分岐より後のサービスユニット_C14cやサービスユニット_D14dは、受信したパケットに付与された経路IDが「123−00」であっても「123−01」であっても、経路IDの最上位の値「123」のみを抽出し、抽出した値と対応付けられた転送先にパケットを転送すればよい。このため、転送機能部12は、サービスユニット_C14cやサービスユニット_D14dが記憶する経路IDの変更を不要とすることができる。   For this reason, even when a transfer route is added, the transfer function unit 12 can make it unnecessary to change the setting of the transfer function unit 12 in the added route. For example, in the case illustrated in FIG. 4, the service unit_C14c and the service unit_D14d after branching may have the path ID given to the received packet “123-00” or “123-01”. Only the highest value “123” of the route ID may be extracted, and the packet transferred to the transfer destination associated with the extracted value. For this reason, the transfer function unit 12 can eliminate the need to change the path ID stored in the service unit_C 14c or the service unit_D 14d.

また、転送機能部12は、抽出した値と対応付けられた転送先を特定できなかった場合は、経路ID等が格納されたヘッダを外し、受信したパケットの元の転送先へパケットを転送する。このため、転送機能部12は、転送先の特定に失敗した場合にも、パケットの転送を継続することができる。   If the transfer function unit 12 cannot identify the transfer destination associated with the extracted value, the transfer function unit 12 removes the header storing the path ID and transfers the packet to the original transfer destination of the received packet. . For this reason, the transfer function unit 12 can continue the packet transfer even when the transfer destination is not specified.

また、転送機能部12は、受信した経路IDから、自装置までに転送経路が分岐した数に応じた階層までの値を抽出する。このため、転送機能部12は、転送経路が分岐した数によらず、パケットの転送経路を特定するために必要な値を経路IDから抽出することができる。   In addition, the transfer function unit 12 extracts values from the received route ID to a hierarchy corresponding to the number of transfer routes branched to the own device. Therefore, the transfer function unit 12 can extract a value necessary for specifying the transfer path of the packet from the path ID regardless of the number of transfer paths branched.

また、転送機能部12は、パケットに付与された転送情報の値を、自装置までに転送経路が分岐した数に応じた値を加算した値に更新する。また、転送機能部12は、パケットに付与された転送情報の値が所定の閾値よりも少ないか否かを判定する。そして、転送機能部12は、転送情報の値が所定の閾値よりも少ないと判定した場合は、受信したパケットを転送し、転送情報の値が所定の閾値以上となると判定した場合は、受信部が受信したパケットを破棄する。このため、転送機能部12は、分岐よりも後の転送機能部12が記憶する判定式の変更を不要とすることができる。   In addition, the transfer function unit 12 updates the value of the transfer information given to the packet to a value obtained by adding a value corresponding to the number of transfer paths branched to the own device. Further, the transfer function unit 12 determines whether or not the value of the transfer information given to the packet is less than a predetermined threshold value. When the transfer function unit 12 determines that the value of the transfer information is smaller than the predetermined threshold value, the transfer function unit 12 transfers the received packet. When the transfer function unit 12 determines that the value of the transfer information is equal to or greater than the predetermined threshold value, Discards the received packet. For this reason, the transfer function unit 12 can make it unnecessary to change the determination formula stored in the transfer function unit 12 after the branch.

また、転送機能部12は、メインの転送経路上に設置されている場合は、受信したパケットに付与された転送情報の値に「X」を加算し、メインの転送経路上から分岐したサブの転送経路上に設置されている場合は、受信したパケットに付与された転送情報の値に「x」を加算する。そして、転送機能部12は、パケットを受信するまでに、メインの転送経路上において受信したパケットを転送した転送装置の数に「X」を積算した値を所定の閾値とする。このため、転送機能部12は、分岐よりも後の転送機能部12が記憶する判定式の変更を不要とすることができる。   Further, when the transfer function unit 12 is installed on the main transfer route, the transfer function unit 12 adds “X” to the value of the transfer information given to the received packet, and the sub-function branched from the main transfer route. If it is installed on the transfer path, “x” is added to the value of the transfer information given to the received packet. Then, the transfer function unit 12 sets a value obtained by adding “X” to the number of transfer apparatuses that transferred the received packet on the main transfer path until the packet is received as a predetermined threshold. For this reason, the transfer function unit 12 can make it unnecessary to change the determination formula stored in the transfer function unit 12 after the branch.

(他の実施の形態)
これまで実施形態について説明したが、開示する発明は上述した実施の形態以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では他の実施の形態について説明する。
(Other embodiments)
Although the embodiments have been described so far, the disclosed invention may be implemented in various different forms other than the above-described embodiments. Therefore, other embodiments will be described below.

(転送情報を更新する処理のバリエーション)
上述した転送機能部12は、設置された転送経路がメインの転送経路から分岐した数に応じて異なる値を転送情報の値に加算した。しかしながら、実施形態は、これに限定されるものではない。例えば、転送機能部12は、メインの転送経路上に設置された場合は、転送情報の値を、メインの転送経路上でパケットを転送した転送機能部12の数nに特定の値「X」を積算した値に更新してもよい。
(Variation of processing to update transfer information)
The transfer function unit 12 described above adds a different value to the value of the transfer information depending on the number of installed transfer paths branched from the main transfer path. However, the embodiment is not limited to this. For example, when the transfer function unit 12 is installed on the main transfer path, the value of transfer information is set to a specific value “X” for the number n of transfer function units 12 that transferred packets on the main transfer path. May be updated to the integrated value.

例えば、図16は、転送機能部が転送情報を更新する処理の他の例を示す説明図である。なお、図16に示す例では、特定の値「X」として「10」を採用した。例えば、識別機能部11は、転送情報の初期値として「0」を付与したパケットを出力する。係る場合、サービスユニット_A14aは、受信したパケットに付与された転送情報が「In<10」を満たすか否かを判定する(ステップS40)。そして、サービスユニット_A14aは、受信したパケットに付与された転送情報が「In<10」を満たす場合は、それまでにパケットを転送したサービスユニット14の数「n=1」と「X=10」とを積算した値「10」に転送情報の値を変更し、パケットをサービスユニット_B14bに転送する(ステップS41)。   For example, FIG. 16 is an explanatory diagram illustrating another example of processing in which the transfer function unit updates transfer information. In the example shown in FIG. 16, “10” is adopted as the specific value “X”. For example, the identification function unit 11 outputs a packet given “0” as an initial value of the transfer information. In such a case, the service unit_A 14a determines whether or not the transfer information given to the received packet satisfies “In <10” (step S40). Then, if the transfer information given to the received packet satisfies “In <10”, the service unit_A 14a has the numbers “n = 1” and “X = 10” of the service units 14 that have transferred the packet so far. The value of the transfer information is changed to a value “10” obtained by integrating the above and the packet is transferred to the service unit_B 14b (step S41).

一方、サービスユニット_B14bは、受信したパケットに付与された転送情報が「In<20」を満たすか否かを判定する(ステップS42)。そして、サービスユニット_B14bは、受信したパケットに付与された転送情報が「In<20」を満たす場合は、サービスユニット_B14bがメインの転送経路上に設置されているため、それまでにパケットを転送したサービスユニット14の数「n=2」と「X=10」とを積算した値「20」に転送情報の値を変更し、転送情報の値を変更したパケットを、サービスユニット_C14c又はサービスユニット_e14eに転送する(ステップS43、S44)。   On the other hand, the service unit_B 14b determines whether or not the transfer information given to the received packet satisfies “In <20” (step S42). When the transfer information given to the received packet satisfies “In <20”, the service unit_B 14b has transferred the packet so far because the service unit_B 14b is installed on the main transfer path. The transfer information value is changed to a value “20” obtained by integrating the number of service units 14 “n = 2” and “X = 10”, and the packet with the changed transfer information value is changed to service unit_C14c or service unit_e14e. (Steps S43 and S44).

ここで、サービスユニット_E14eは、受信したパケットに付与された転送情報が「In=20」を満たすか否かを判定する(ステップS45)。そして、サービスユニット_E14eは、受信したパケットに付与された転送情報が「In=20」を満たす場合は、サービスユニット_E14eがサブの転送経路上に設置されているため、転送情報の値に「1」を加算し、サービスユニット_C14cに転送する(ステップS46)。   Here, the service unit_E 14e determines whether or not the transfer information given to the received packet satisfies “In = 20” (step S45). Then, when the transfer information given to the received packet satisfies “In = 20”, the service unit_E 14e is set on the value of the transfer information because the service unit_E14e is installed on the sub transfer path. Is added and transferred to the service unit_C14c (step S46).

一方、サービスユニット_C14cは、パケットの転送経路がメインの転送経路であるかサブの転送経路であるかに係らず、受信したパケットに付与された転送情報が「In<30」を満たすか否かを判定する(ステップS47、S48)。また、サービスユニット_C14cは、受信したパケットに付与された転送情報が「In<30」を満たす場合は、サービスユニット_C14cがメインの転送経路上に設置されているため、それまでにメインの転送経路上でパケットを転送したサービスユニット14の数「n=3」と「X=10」とを積算した値「30」に転送情報の値を変更する。そして、サービスユニット_C14cは、転送情報の値を変更したパケットを、サービスユニット_D14dに転送する(ステップS49)。   On the other hand, the service unit_C 14c determines whether the transfer information given to the received packet satisfies “In <30” regardless of whether the transfer path of the packet is a main transfer path or a sub transfer path. Is determined (steps S47 and S48). In addition, when the transfer information given to the received packet satisfies “In <30”, the service unit_C 14c has the service unit_C 14c installed on the main transfer path. The value of the transfer information is changed to a value “30” obtained by integrating the number “n = 3” and “X = 10” of the service units 14 that transferred the packet. Then, the service unit_C 14c transfers the packet whose transfer information value has been changed to the service unit_D 14d (step S49).

また、サービスユニット_D14dは、受信したパケットに付与された転送情報が「In<40」を満たすか否かを判定する(ステップS50)。そして、サービスユニット_D14dは、受信したパケットに付与された転送情報が「In<40」を満たす場合は、サービスユニット_D14dがメインの転送経路上に設置されているため、それまでにメインの転送経路上でパケットを転送したサービスユニット14の数「n=4」と「X=10」とを積算した値「40」に転送情報の値を変更する。そして、サービスユニット_D14dは、転送情報の値を変更したパケットを転送する(ステップS51)。   Further, the service unit_D 14d determines whether or not the transfer information given to the received packet satisfies “In <40” (step S50). Then, when the transfer information given to the received packet satisfies “In <40”, the service unit_D 14d has the service unit_D 14d installed on the main transfer path. The value of the transfer information is changed to a value “40” obtained by integrating the number “n = 4” and “X = 10” of the service units 14 that transferred the packet. Then, the service unit_D 14d transfers the packet whose transfer information value has been changed (step S51).

このように、サービスユニット14は、メインの転送経路上に設置されている場合は、受信したパケットに付与された転送情報の値を、メインの転送経路上においてパケットを転送した転送機能部の数「n」に特定の値「X」を積算した値に更新する。また、サービスユニット14は、メインの転送経路から分岐したサブの転送経路上に設定されている場合は、受信したパケットに付与された転送情報の値に、特定の値「X」よりも少ない値「x」を加算する。そして、転送機能部12は、メインの転送経路上においてパケットを転送した転送装置の数「n」に特定の値「X」を積算した値よりも転送情報の値が少ないか否かを判定する。   As described above, when the service unit 14 is installed on the main transfer path, the value of the transfer information given to the received packet is set to the number of transfer function units that transferred the packet on the main transfer path. Update a value obtained by adding a specific value “X” to “n”. Further, when the service unit 14 is set on the sub transfer path branched from the main transfer path, the value of the transfer information given to the received packet is smaller than the specific value “X”. Add “x”. Then, the transfer function unit 12 determines whether or not the value of the transfer information is smaller than the value obtained by adding the specific value “X” to the number “n” of transfer devices that transferred the packet on the main transfer path. .

このため、転送機能部12は、分岐よりも後ろの転送機能部が記憶する判定式の変更を不要にできる。また、図13に示した方式では、サブの転送経路に追加可能なサービスユニット14の数が「X−x」個までとなるが、図16に示した方式では、制約を解消することができる。ただし、図16に示した方式では、サブの転送経路とメインの転送経路とが合流する度に、サブの転送経路において更新された転送情報の値が置き換わるので、サブの転送経路における転送内容を示す情報が失われる。   For this reason, the transfer function unit 12 can eliminate the need to change the determination formula stored in the transfer function unit after the branch. Further, in the method shown in FIG. 13, the number of service units 14 that can be added to the sub transfer path is up to “X−x”, but in the method shown in FIG. 16, the restriction can be solved. . However, in the method shown in FIG. 16, every time the sub transfer path and the main transfer path merge, the value of the transfer information updated in the sub transfer path is replaced. The information shown is lost.

(デクリメントについて)
上述した転送機能部12は、転送情報の値に「X」又は「x」の値を加算した。しかしながら、実施形態は、これに限定されるものではない。すなわち、転送機能部12は、転送情報の値から「X」又は「x」の値を減算(デクリメント)してもよい。例えば、図13に示す転送経路において、識別機能部11は、転送情報の値として「50」を付与する。このような場合、サービスユニット_A14aは、転送情報の値が「60」よりも少ないか否かを判定し、転送情報の値が「60」よりも少ないと判定した場合は、転送情報の値「50」から「10」を減算して転送する。また、サービスユニット_B14bは、転送情報の値が「50」よりも少ないか否かを判定し、転送情報の値が「50」よりも少ないと判定した場合は、転送情報の値「40」から「10」を減算して転送する。
(About decrement)
The transfer function unit 12 described above adds the value of “X” or “x” to the value of the transfer information. However, the embodiment is not limited to this. That is, the transfer function unit 12 may subtract (decrement) the value of “X” or “x” from the value of the transfer information. For example, in the transfer path illustrated in FIG. 13, the identification function unit 11 assigns “50” as the value of the transfer information. In such a case, the service unit_A 14a determines whether or not the value of the transfer information is less than “60”, and when it is determined that the value of the transfer information is less than “60”, the value “ Subtract "10" from "50" and transfer. Further, the service unit_B 14b determines whether or not the value of the transfer information is less than “50”, and when determining that the value of the transfer information is less than “50”, the service unit_B 14b starts from the value “40” of the transfer information. Subtract "10" and transfer.

また、サービスユニット_E14eは、転送情報の値が「40」よりも少ないか否かを判定し、転送情報の値が「40」よりも少ないと判定した場合は、転送情報の値「30」から「1」を減算して転送する。そして、サービスユニットC_14cは、転送情報の値が「30」以下となるか否かを判定し、転送情報の値が「30」以下となると判定した場合は、転送情報の値「30」又は「29」から「10」を減算して転送する。   Further, the service unit_E 14e determines whether or not the value of the transfer information is less than “40”, and when determining that the value of the transfer information is less than “40”, the service unit_E 14e starts from the value “30” of the transfer information. Subtract "1" and transfer. Then, the service unit C_14c determines whether or not the value of the transfer information is “30” or less, and when it is determined that the value of the transfer information is “30” or less, the value “30” or “ Subtract "10" from 29 "and transfer.

このように、転送機能部12は、転送情報の値をデクリメントする場合であっても、メインの転送経路と、サブの転送経路とで異なる値をデクリメントすればよい。このような処理を実行することで、転送機能部12は、分岐よりも後ろの転送機能部12が記憶する判定式の変更を不要としつつ、ループを検出することができる。   As described above, even when the transfer function unit 12 decrements the value of the transfer information, the transfer function unit 12 may decrement a different value between the main transfer path and the sub transfer path. By executing such processing, the transfer function unit 12 can detect a loop while making it unnecessary to change the determination formula stored in the transfer function unit 12 after the branch.

(適用範囲について)
上述した実施の形態では、転送機能部12は、SFCにおけるSFFとしてパケットの転送を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、転送機能部12は、VXLAN(Virtual eXtensible Local Area Network)等、任意のネットワーク上でパケットの転送を行ってよい。すなわち、転送機能部12は、例えば、共通ドメインや細分化ドメインなどが追加されることで、転送経路が追加された場合にも、階層化された経路IDや転送情報を用いることで、設定変更を行う転送機能部の数を削減することができる。
(About the scope of application)
In the above-described embodiment, the transfer function unit 12 transfers a packet as an SFF in the SFC. However, the embodiment is not limited to this. For example, the transfer function unit 12 may transfer a packet on an arbitrary network such as VXLAN (Virtual eXtensible Local Area Network). That is, the transfer function unit 12 can change the setting by using a hierarchical route ID and transfer information even when a transfer route is added by adding a common domain or a subdivided domain, for example. It is possible to reduce the number of transfer function units that perform.

これまでいくつかの実施の形態を説明したが、本願が開示する技術はこれらの実施の形態に限定されるものではない。すなわち、これらの実施の形態は、その他の様々な形態で実施されることが可能であり、種々の省略、置き換え、変更を行うことができる。   Although several embodiments have been described so far, the technology disclosed in the present application is not limited to these embodiments. That is, these embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made.

例えば、各装置の分散・統合の具体的形態(例えば、図8の形態)は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合することができる。一例を挙げると、通信部34と処理部38とを一つの部として統合してもよく、転送機能部12を制御部30と記憶部31とに分離してもよい。   For example, the specific form of distribution / integration of each device (for example, the form shown in FIG. 8) is not limited to the one shown in the figure, and all or a part thereof may be arbitrarily determined according to various loads or usage conditions. Functionally or physically distributed and integrated. For example, the communication unit 34 and the processing unit 38 may be integrated as one unit, and the transfer function unit 12 may be separated into the control unit 30 and the storage unit 31.

また、実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともできる。   In addition, among the processes described in the embodiments, all or a part of the processes described as being automatically performed can be manually performed.

また、宛先対応表32、次処理対応表33は、転送機能部12とネットワーク経由で接続する他の記憶装置が記憶してもよい。また、制御部30が有する各部34〜39は、それぞれ別の装置がそれぞれ有し、ネットワークに接続されて協働することで、上記した制御部30の機能を実現するようにしてもよい。   Further, the destination correspondence table 32 and the next processing correspondence table 33 may be stored in another storage device connected to the transfer function unit 12 via a network. In addition, each of the units 34 to 39 included in the control unit 30 may be included in different devices, and may be connected to a network to cooperate to realize the functions of the control unit 30 described above.

これらの実施例やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。   These embodiments and modifications thereof are included in the invention disclosed in the claims and equivalents thereof as well as included in the technology disclosed in the present application.

1 サービス提供ネットワーク
2 ユーザ端末
3 サーバ装置
10 クラウドネットワーク
11 識別機能部
12 転送機能部
13 SF
14 サービスユニット
20、30 制御部
21、31 記憶部
22 サービス対応表
23、34 通信部
24 分析部
25 特定部
32 宛先対応表
33 次処理対応表
34 通信部
35 抽出部
36 特定部
37 判定部
38 処理部
DESCRIPTION OF SYMBOLS 1 Service provision network 2 User terminal 3 Server apparatus 10 Cloud network 11 Identification function part 12 Transfer function part 13 SF
14 service unit 20, 30 control unit 21, 31 storage unit 22 service correspondence table 23, 34 communication unit 24 analysis unit 25 identification unit 32 destination correspondence table 33 next processing correspondence table 34 communication unit 35 extraction unit 36 identification unit 37 determination unit 38 Processing part

Claims (7)

パケットを送受信する転送装置において、
パケットの転送経路を示す識別子であって、転送経路の分岐に基づく階層構造を有し、転送経路が分岐する度に、前記階層構造に下層の値を設定する識別子が付与されたパケットを受信する受信部と、
前記受信部が受信したパケットに付与された識別子から、自転送装置が設置された転送経路がメインの転送経路から何回分岐したかに基づいて所定の階層までの値を抽出する抽出部と、
パケットの転送先と、当該パケットに付与される識別子のうち少なくとも前記所定の階層までの値とを対応付けた対応表を参照し、前記抽出部が抽出した値と対応付けられた転送先を特定する特定部と、
前記受信部が受信したパケットを前記特定部が特定した転送先に転送する処理部と
を有することを特徴とする転送装置。
In a transfer device that transmits and receives packets,
An identifier indicating a transfer path of the packet, have a hierarchical structure based on the branch transfer path, every time the transfer path is branched, receives an identifier for setting a lower value in the hierarchical structure is assigned a packet A receiver,
An extraction unit that extracts a value up to a predetermined layer based on how many times the transfer path in which the own transfer device is installed branches from the main transfer path, from the identifier given to the packet received by the receiving unit;
Referring to the correspondence table that associates the packet transfer destination with the values assigned to the packet up to at least the predetermined layer, and identifies the transfer destination associated with the value extracted by the extraction unit A specific part to be
And a processing unit that transfers the packet received by the receiving unit to the transfer destination specified by the specifying unit.
前記処理部は、前記抽出部が抽出した値に応じて、受信したパケットの破棄、前記識別子の除去、若しくは、前記パケットを元の宛先へ転送する処理のうち少なくともいずれか1つを実行することを特徴とする請求項1に記載の転送装置。   The processing unit executes at least one of discarding the received packet, removing the identifier, or transferring the packet to the original destination according to the value extracted by the extraction unit. The transfer device according to claim 1. 前記抽出部は、前記転送装置までに前記転送経路が分岐した数に応じた階層までの値を抽出することを特徴とする請求項1または2に記載の転送装置。   The transfer device according to claim 1, wherein the extraction unit extracts values up to a hierarchy according to the number of branches of the transfer path up to the transfer device. 前記受信部が受信したパケットに付与された転送情報であって、パケットが転送される度に更新される転送情報の値が所定の閾値よりも少ないか否かを判定する判定部
を有し、
前記処理部は、前記転送情報の値が所定の閾値よりも少ないと前記判定部が判定した場合は、前記受信部が受信したパケットを転送し、前記転送情報の値が前記所定の閾値になると、前記受信部が受信したパケットに対して所定の処理を行う
ことを特徴とする請求項1〜3のいずれか1つに記載の転送装置。
A determination unit that determines whether or not a value of transfer information that is updated every time the packet is transferred is less than a predetermined threshold, which is transfer information given to the packet received by the receiving unit;
When the determination unit determines that the value of the transfer information is less than a predetermined threshold, the processing unit transfers the packet received by the reception unit, and the value of the transfer information becomes the predetermined threshold. The transfer device according to any one of claims 1 to 3, wherein the receiving unit performs a predetermined process on the packet received.
前記転送情報の値は、所定の転送経路上で転送される度に第1の値が加算され、所定の転送経路上から分岐した転送経路上で転送される度に第1の値よりも少ない第2の値が加算され、
前記判定部は、前記転送装置が前記パケットを受信するまでに、前記所定の転送経路上において当該パケットを転送した転送装置の数に前記第1の値を積算した値を前記所定の閾値とする
ことを特徴とする請求項4に記載の転送装置。
The value of the transfer information is incremented by a first value every time it is transferred on a predetermined transfer path, and is smaller than the first value every time it is transferred on a transfer path branched from the predetermined transfer path. The second value is added,
The determination unit sets, as the predetermined threshold, a value obtained by adding the first value to the number of transfer devices that have transferred the packet on the predetermined transfer path before the transfer device receives the packet. The transfer apparatus according to claim 4, wherein:
前記転送情報の値は、所定の転送経路上で転送される場合は、当該所定の転送経路上において当該パケットを転送した転送装置の数に第1の値を積算した値に更新され、前記所定の転送経路から分岐した転送経路上で転送される場合は、前記第1の値よりも少ない第2の値を加算し、
前記判定部は、前記転送装置が前記パケットを受信するまでに、前記所定の転送経路上において当該パケットを転送した転送装置の数に前記第1の値を積算した値を前記所定の閾値とする
ことを特徴とする請求項4に記載の転送装置。
The value of the transfer information is updated to a value obtained by adding the first value to the number of transfer devices that transferred the packet on the predetermined transfer path when the value is transferred on the predetermined transfer path. When transferring on a transfer path branched from the transfer path, a second value smaller than the first value is added,
The determination unit sets, as the predetermined threshold, a value obtained by adding the first value to the number of transfer devices that have transferred the packet on the predetermined transfer path before the transfer device receives the packet. The transfer apparatus according to claim 4, wherein:
パケットを送受信する転送装置が実行する転送方法であって、
パケットの転送経路を示す識別子であって、転送経路の分岐に基づく階層構造を有し、転送経路が分岐する度に、前記階層構造に下層の値を設定する識別子が付与されたパケットを受信する受信工程と、
前記受信工程で受信したパケットに付与された識別子から、自転送装置が設置された転送経路がメインの転送経路から何回分岐したかに基づいて所定の階層までの値を抽出する抽出工程と、
パケットの転送先と、当該パケットに付与される識別子のうち少なくとも前記所定の階層までの値とを対応付けた対応表を参照し、前記抽出工程で抽出した値と対応付けられた転送先を特定する特定工程と、
前記受信工程で受信したパケットを前記特定工程で特定した転送先に転送する処理工程と
を含んだことを特徴とする転送方法。
A transfer method executed by a transfer device that transmits and receives packets ,
An identifier indicating a transfer path of the packet, have a hierarchical structure based on the branch transfer path, every time the transfer path is branched, receives an identifier for setting a lower value in the hierarchical structure is assigned a packet Receiving process;
An extraction step for extracting a value up to a predetermined hierarchy based on how many times the transfer route in which the own transfer device is installed branches from the main transfer route from the identifier given to the packet received in the reception step;
Referring to the correspondence table that associates the packet transfer destination with the values up to the predetermined hierarchy among the identifiers assigned to the packet, specifies the transfer destination associated with the value extracted in the extraction step Specific process to
And a processing step of transferring the packet received in the receiving step to the transfer destination specified in the specifying step.
JP2015027025A 2015-02-13 2015-02-13 Transfer device and transfer method Active JP6367732B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015027025A JP6367732B2 (en) 2015-02-13 2015-02-13 Transfer device and transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015027025A JP6367732B2 (en) 2015-02-13 2015-02-13 Transfer device and transfer method

Publications (2)

Publication Number Publication Date
JP2016149729A JP2016149729A (en) 2016-08-18
JP6367732B2 true JP6367732B2 (en) 2018-08-01

Family

ID=56691407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015027025A Active JP6367732B2 (en) 2015-02-13 2015-02-13 Transfer device and transfer method

Country Status (1)

Country Link
JP (1) JP6367732B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11582674B2 (en) 2018-04-24 2023-02-14 Sony Corporation Communication device, communication method and data structure
US11277337B2 (en) 2019-06-06 2022-03-15 Cisco Technology, Inc. Systems and methods for routing network traffic using labels

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6011762B2 (en) * 2011-12-27 2016-10-19 国立研究開発法人情報通信研究機構 Label switching network

Also Published As

Publication number Publication date
JP2016149729A (en) 2016-08-18

Similar Documents

Publication Publication Date Title
JP6512990B2 (en) Transfer device and transfer system
US10374972B2 (en) Virtual flow network in a cloud environment
RU2612599C1 (en) Control device, communication system, method for controlling switches and program
US9210074B2 (en) Low-cost flow matching in software defined networks without TCAMs
US9967183B2 (en) Source routing with entropy-header
US9491000B2 (en) Data transport system, transmission method, and transport apparatus
US8953599B1 (en) Traffic cut-through within network device having multiple virtual network devices
JP6007799B2 (en) Centralized network control system
US20130308462A1 (en) Communication system, control apparatus, communication node, and communication method
JP2012049674A (en) Communication apparatus, communication system, communication method and communication program
US9590890B2 (en) Transfer apparatus, server, and route changing method
US20170085479A1 (en) Network control method, network system, apparatus, and program
US10313154B2 (en) Packet forwarding
US10069648B2 (en) Communication system, control apparatus, communication control method and program
US9954772B2 (en) Source imposition of network routes in computing networks
US8908702B2 (en) Information processing apparatus, communication apparatus, information processing method, and relay processing method
WO2012090354A1 (en) Communication system and communication method
US9699097B2 (en) Network system, method of controlling thereof, network control apparatus, and non-transitory computer-readable recording medium having stored therein control program thereof
JP6367732B2 (en) Transfer device and transfer method
US10313274B2 (en) Packet forwarding
EP3192221B1 (en) Method and network node for scalable computer network partitioning
CN105765922A (en) Flow entry processing method and apparatus
US20160142224A1 (en) Apparatus and method for reducing the number of ports on which flooding is executed
US10382328B1 (en) Bouncing router communications in a multi-tier network
US11546078B1 (en) Optimizing routes across an optical network based on traffic stream bandwidth utilization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180705

R150 Certificate of patent or registration of utility model

Ref document number: 6367732

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150