JP6367732B2 - Transfer device and transfer method - Google Patents
Transfer device and transfer method Download PDFInfo
- 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
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.
しかしながら、上述した従来技術では、新規サービス機能の追加により転送経路に分岐する経路が生じると、分岐前後で処理を行う転送機能部の設定を全て変更しなければならないという課題があった。 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.
以下の実施の形態では、実施形態に係る転送機能部の構成および処理の流れを説明し、その後、最後に実施形態による効果を説明する。 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
ユーザ端末装置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
サーバ装置3は、クラウドネットワーク10からパケットを受信すると、パケットに格納された情報に基づいて、各種の処理を実行するサーバ装置である。例えば、サーバ装置3は、受信したパケットに格納された情報に基づき、ユーザ端末2を使用する利用者に対して各種のサービスを提供する。
When receiving a packet from the
クラウドネットワーク10は、仮想化したサービス提供機能を複数のサーバが連携して実現するネットワークである。例えば、クラウドネットワーク10は、ユーザ端末2からパケットを受信すると、受信したパケットに格納されたデータに応じて、所定の処理を実行し、処理の実行結果を格納したパケットをサーバ装置3へ送信する。
The
以下、クラウドネットワーク10の構成について説明する。クラウドネットワーク10は、識別機能部11、複数の転送機能部12a〜12e、SF_A13a、SF_B13b、SF_C13c、SF_D13d、SF_E13eを有する。各転送機能部は直接接続されている場合と、ネットワークを介して接続する場合がある。
Hereinafter, the configuration of the
転送機能部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
なお、以下の説明では、転送機能部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
また、以下の説明では、転送機能部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
識別機能部11は、クラウドネットワーク10のユーザ端末2側に位置するゲートウェイ装置であり、サーバ等の情報処理装置により実現される。また、転送機能部12は、ユーザ端末2から受信したパケットを随時転送し、サーバ装置3へ出力する転送装置であり、例えば、NP(Network Processor)及び/又はCPU(Central Processing Unit)を有するネットワーク装置により実現される。また、SF13は、受信したパケットに格納されたデータを用いて各種サービス処理を実行する装置であり、例えば、サーバ装置等の情報処理装置により実現される。
The
(処理の概要)
以下、図2を用いて、識別機能部11、転送機能部12、及びSF13が実行する処理の流れを説明する。図2は、実施形態に係る転送機能部とSFとが実行する処理の流れの一例を説明する説明図である。なお、図2に示す例では、ユーザ端末2から受信したパケットを、SF_A13a、及びSF_B13bを介した転送経路で転送する処理の一例を記載した。
(Outline of processing)
Hereinafter, the flow of processing executed by the
例えば、図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
一方、転送機能部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
また、転送機能部12bは、パケットを受信すると、受信したパケットのラベルを参照し、参照したラベルが示す転送経路でSF_B13bが処理を実行する場合は、受信したパケットをSF_B13bに送信する(ステップS5)。この場合、SF_B13bは、受信したパケットを用いて処理を実行し、処理結果を受信したパケットに格納して転送機能部12bに返送する(ステップS6)。そして、転送機能部12bは、SF_B13bから受信したパケットのラベルを参照し、ラベルが示す転送経路でSF_B13bの次に処理を実行するSF_C13cを特定し、特定したSF_C13cと接続された転送機能部12cのIPヘッダをパケットに付与して送信する(ステップS7)。
When the
なお、転送機能部12c〜12eは、転送機能部12a、12bと同様の処理を実行し、SF_C13c〜SF_E13eは、SF_A13a、及びSF_B13bと同様の処理を実行する。このため、クラウドネットワーク10は、ユーザ端末2から受信したパケットを用いたSFCを実現できる。
The
(経路追加の一例)
ここで、新規の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
ここで、サービスユニット_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
(転送機能部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
一方、サービスユニット_B14bは、受信したパケットに付与された経路IDのうち、先頭3桁である「123」を参照する(ステップS11)。そして、先頭3桁では転送先が一意に決まらなかった場合、続く2桁を参照し、宛先を判定し、サービスユニット_C14cに転送する。
On the other hand, the
ここで、サービスユニット_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
この結果、サービスユニット_C14cは、経路ID「123−00」が付与されたパケットと、経路ID「123−01」が付与されたパケットとを受信することとなる。ここで、サブの転送経路を介して転送されるパケットには、最上位の層にメインの転送経路を示す値が格納され、下位の層にサブの転送経路を示す値が格納された経路IDが付与される。このような経路IDが付与されている場合、パケットの転送経路によって経路IDの層の数が増えることはあっても、各層に格納される値が変更されることがない。このため、メインの転送経路上に設置されたサービスユニット_C14cは、経路IDのうち最上位の層に格納された値のみを用いてパケットの転送を行う場合は、設定変更を行う必要がない。
As a result, the
例えば、サービスユニット_C14cは、受信したパケットに付与された経路IDのうち、先頭3桁の値「123」を参照する(ステップS13)。そして、サービスユニット_C14cは、参照した経路ID「123」と対応付けられた転送先サービスユニット_D14dにパケットを転送する。また、サービスユニット_D14dも同様に、受信したパケットに付与された経路IDのうち、先頭3桁の値「123」を参照し(ステップS14)、参照した値と対応付けられた転送先へとパケットを転送する。
For example, the
このように転送機能部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
まず、識別機能部11が有する機能構成の一例を説明する。例えば、図5は、実施形態に係る識別機能部が有する機能構成の一例を説明する図である。図5に示す例では、識別機能部11は、制御部20及び記憶部21を有する。制御部20は、通信部23、分析部24、特定部25を有する。また、記憶部21は、サービス対応表22を記憶する。
First, an example of the functional configuration of the
サービス対応表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
分析部24は、ユーザ端末2から受信したパケットを分析する。例えば、分析部24は、ユーザ端末2から受信したパケットの送信元や、パケットに格納されたデータを分析し、受信したパケットがどのようなサービスに係るパケットであるかを判定する。
The
特定部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
ここで、転送機能部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
宛先対応表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
例えば、図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
例えば、図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
すなわち、メインの転送経路上に設置されたサービスユニット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
また、転送機能部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
抽出部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
例えば、特定部36は、抽出部35が経路IDから抽出した値と完全一致する経路IDを宛先対応表32から検索する。そして、特定部36は、検索の結果、抽出部35が経路IDから抽出した値と完全一致する経路IDが宛先対応表32に格納されている場合は、その経路IDと対応付けられた宛先を全て取得し、処理部38に出力する。一方、特定部36は、検索の結果、抽出部35が経路IDから抽出した値と完全一致する経路IDが宛先対応表32に格納されていない場合は、受信したパケットを破棄する。
For example, the specifying
判定部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
処理部38は、受信したパケットから抽出された経路IDに応じて、受信したパケットの破棄、ヘッダの除去、若しくは、パケットを元の宛先(サーバ装置3)へ転送する処理のうち少なくともいずれか1つを実行する。例えば、処理部38は、受信したパケットを受付け、特定部36から宛先を受付ける。また、処理部38は、判定部37から判定結果を受付ける。そして、処理部38は、抽出部35が抽出した転送情報の値が次処理対応表33に格納された条件式を満たすと判定部37が判定した場合は、かかる条件式と対応付けられた処理に従い、パケットを転送する。
The
例えば、処理部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
すなわち、処理部36は、経路IDと対応付けられた転送先や、SF等にパケットを転送する。また、処理部38は、パケットを元の宛先に転送するよう特定部36から指示された場合は、経路ID等が格納されたヘッダを外し、トンネル化する前のパケットの宛先、すなわち、サーバ装置3に受信したパケットを転送する。
That is, the
一方、処理部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
(転送機能部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
すなわち、転送機能部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
一方、サービスユニット_B14bは、受信したパケットに付与された転送情報が「In<20」を満たすか否かを判定する(ステップS22)。そして、サービスユニット_B14bは、受信したパケットに付与された転送情報が「In<20」を満たす場合は、サービスユニット_B14bがメインの転送経路上に設置されているため、転送情報の値に「10」を加算し、サービスユニット_C14c又はサービスユニット_E14eに転送する(ステップS23、S24)。
On the other hand, the
また、サービスユニット_E14eは、受信したパケットに付与された転送情報が「In<30」を満たすか否かを判定する(ステップS25)。そして、サービスユニット_E14eは、受信したパケットに付与された転送情報が「In<30」を満たす場合は、サービスユニット_E14eがサブの転送経路上に設置されているため、転送情報の値に「1」を加算し、サービスユニット_C14cに転送する(ステップS26)。
Also, the
一方、サービスユニット_C14cは、パケットの転送経路がメインの転送経路であるかサブの転送経路であるかに係らず、受信したパケットに付与された転送情報が「In<30」を満たすか否かを判定する(ステップS27)。そして、サービスユニット_C14cは、受信したパケットに付与された転送情報が「In<30」を満たす場合は、サービスユニット_C14cがメインの転送経路上に設置されているため、転送情報の値に「10」を加算してサービスユニット_D14dに転送する(ステップS28)。
On the other hand, the
また、サービスユニット_D14dは、受信したパケットに付与された転送情報が「30≦In<40」を満たすか否かを判定する(ステップS29)。そして、サービスユニット_D14dは、受信したパケットに付与された転送情報が「30≦In<40」を満たす場合は、サービスユニット_D14dがメインの転送経路上に設置されているため、転送情報の値に「10」を加算し、パケットを転送する(ステップS30)。
Further, the
このように、メインの転送経路上に設置されたサービスユニット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
(転送機能部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
また、転送機能部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
一方、サービスユニット_B14bは、受信したパケットに付与された転送情報が「In<20」を満たすか否かを判定する(ステップS42)。そして、サービスユニット_B14bは、受信したパケットに付与された転送情報が「In<20」を満たす場合は、サービスユニット_B14bがメインの転送経路上に設置されているため、それまでにパケットを転送したサービスユニット14の数「n=2」と「X=10」とを積算した値「20」に転送情報の値を変更し、転送情報の値を変更したパケットを、サービスユニット_C14c又はサービスユニット_e14eに転送する(ステップS43、S44)。
On the other hand, the
ここで、サービスユニット_E14eは、受信したパケットに付与された転送情報が「In=20」を満たすか否かを判定する(ステップS45)。そして、サービスユニット_E14eは、受信したパケットに付与された転送情報が「In=20」を満たす場合は、サービスユニット_E14eがサブの転送経路上に設置されているため、転送情報の値に「1」を加算し、サービスユニット_C14cに転送する(ステップS46)。
Here, the
一方、サービスユニット_C14cは、パケットの転送経路がメインの転送経路であるかサブの転送経路であるかに係らず、受信したパケットに付与された転送情報が「In<30」を満たすか否かを判定する(ステップS47、S48)。また、サービスユニット_C14cは、受信したパケットに付与された転送情報が「In<30」を満たす場合は、サービスユニット_C14cがメインの転送経路上に設置されているため、それまでにメインの転送経路上でパケットを転送したサービスユニット14の数「n=3」と「X=10」とを積算した値「30」に転送情報の値を変更する。そして、サービスユニット_C14cは、転送情報の値を変更したパケットを、サービスユニット_D14dに転送する(ステップS49)。
On the other hand, the
また、サービスユニット_D14dは、受信したパケットに付与された転送情報が「In<40」を満たすか否かを判定する(ステップS50)。そして、サービスユニット_D14dは、受信したパケットに付与された転送情報が「In<40」を満たす場合は、サービスユニット_D14dがメインの転送経路上に設置されているため、それまでにメインの転送経路上でパケットを転送したサービスユニット14の数「n=4」と「X=10」とを積算した値「40」に転送情報の値を変更する。そして、サービスユニット_D14dは、転送情報の値を変更したパケットを転送する(ステップS51)。
Further, the
このように、サービスユニット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
また、サービスユニット_E14eは、転送情報の値が「40」よりも少ないか否かを判定し、転送情報の値が「40」よりも少ないと判定した場合は、転送情報の値「30」から「1」を減算して転送する。そして、サービスユニットC_14cは、転送情報の値が「30」以下となるか否かを判定し、転送情報の値が「30」以下となると判定した場合は、転送情報の値「30」又は「29」から「10」を減算して転送する。
Further, the
このように、転送機能部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
また、実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともできる。 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
これらの実施例やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 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
14
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〜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の値を積算した値を前記所定の閾値とする
ことを特徴とする請求項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の値を積算した値を前記所定の閾値とする
ことを特徴とする請求項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.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6011762B2 (en) * | 2011-12-27 | 2016-10-19 | 国立研究開発法人情報通信研究機構 | Label switching network |
-
2015
- 2015-02-13 JP JP2015027025A patent/JP6367732B2/en active Active
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 |