JP2016158122A - Control server, transfer system, and transfer method - Google Patents

Control server, transfer system, and transfer method Download PDF

Info

Publication number
JP2016158122A
JP2016158122A JP2015034846A JP2015034846A JP2016158122A JP 2016158122 A JP2016158122 A JP 2016158122A JP 2015034846 A JP2015034846 A JP 2015034846A JP 2015034846 A JP2015034846 A JP 2015034846A JP 2016158122 A JP2016158122 A JP 2016158122A
Authority
JP
Japan
Prior art keywords
transfer
group
entry
route information
value
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.)
Pending
Application number
JP2015034846A
Other languages
Japanese (ja)
Inventor
勇貴 三軒谷
Yuki Sangenya
勇貴 三軒谷
木谷 誠
Makoto Kitani
誠 木谷
裕 奥井
Yutaka Okui
裕 奥井
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2015034846A priority Critical patent/JP2016158122A/en
Publication of JP2016158122A publication Critical patent/JP2016158122A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To suppress a transmission delay due to the passing of a far route.SOLUTION: A control server controls a transfer device network connected to a router group comprising a plurality of transfer devices for transferring data, and executes grouping processing of each connection point into a plurality of groups on the basis of a priority set in each of a plurality of connection points within the transfer device network to which at least one of the plurality of transfer devices belongs; generation processing for generating route information for specifying a destination to which arrival is made from a transmission source via the transfer device network, a router for advertising the destination, and a connection point to which a transfer device connected to the router belongs in each grouped group; setting processing which undergoes setting in the plurality of transfer devices through a communication interface such that the plurality of transfer devices transfer data according to route information; and advertisement processing for advertising the route information to a router specified by the route information through the communication interface.SELECTED DRAWING: Figure 1

Description

本発明は、データを転送する転送装置網を制御する制御サーバ、転送システム、および転送方法に関する。   The present invention relates to a control server, a transfer system, and a transfer method for controlling a transfer device network for transferring data.

トラヒック増大によるネットワーク複雑化により、キャリアにおいて、通信装置のOPEX/CAPEX(Operating Expenditure/Capital ExPenditure)が増大している。高価なルータ網を安価な転送装置網に置き換えることがOPEX/CAPEXの減少には有効である。ルータ網を転送装置に置き換える方法として、特許文献1が提案されている。   Due to network complications due to increased traffic, OPEX / CAPEX (Operating Expenditure / Capital Expenditure) of communication devices is increasing in carriers. Replacing an expensive router network with an inexpensive transfer device network is effective in reducing OPEX / CAPEX. Patent Document 1 has been proposed as a method of replacing a router network with a transfer device.

特許文献1の伝送システムは、伝送網の構成要素である複数の伝送装置と、伝送網を介して通信を行う複数のルータと、複数の伝送装置間の通信経路を設定する伝送網通信経路管理サーバと、設定された通信経路を保存する伝送網通信経路DBと、仮想ルータ制御サーバとを備える。ルータは、伝送装置に接続されると、接続された伝送装置を介して制御データを仮想ルータ制御サーバに送信する。仮想ルータ制御サーバは、制御データから、新たに接続されたルータと伝送装置との間の接続関係の情報を取得し、取得した情報と、伝送網通信経路DBに保存されている伝送装置間の通信経路の情報とに基づいて、ルータ間の通信経路を確立する。   The transmission system disclosed in Patent Document 1 is a transmission network communication path management that sets a plurality of transmission apparatuses that are components of a transmission network, a plurality of routers that perform communication via the transmission network, and a communication path between the plurality of transmission apparatuses. A server, a transmission network communication path DB for storing the set communication path, and a virtual router control server. When the router is connected to the transmission device, the router transmits control data to the virtual router control server via the connected transmission device. The virtual router control server acquires information on the connection relationship between the newly connected router and the transmission device from the control data, and between the acquired information and the transmission device stored in the transmission network communication path DB. Based on the communication path information, a communication path between routers is established.

特開2013−26829号公報JP 2013-26829 A

複数のルータを用いてネットワークを構成する場合、個々のルータがルーティングプロトコルにより分散的に計算を行うことで経路が選ばれる。例えば、ISP(Internet Service Provider)が持つIPネットワークは、複数のルータによって構成されていることが一般的である。ISPの持つネットワークは広域に存在し、複数の地域にまたがってルータは設置される。それぞれのルータに適切な設定を行うことで、パケットが効率よく転送されるようなIPネットワークの構成が可能である。   When a network is configured using a plurality of routers, a route is selected by each router performing calculations in a distributed manner using a routing protocol. For example, an IP network possessed by an ISP (Internet Service Provider) is generally composed of a plurality of routers. An ISP network exists in a wide area, and routers are installed across a plurality of areas. By making an appropriate setting for each router, it is possible to configure an IP network that allows packets to be transferred efficiently.

例えば、異なる地域に転送する際には、設備コストや管理コストが高い長距離回線や海底に設置されている回線を通過することも考えられ、このような回線の利用は極力避けたい。したがって、ISP網からパケットをある宛先に届ける際に、ISP網外のルータへ転送することが可能なルータが複数存在する場合、あるルータからISP網に入ってきたパケットは、可能であれば同じ地域に存在するルータを通ってISP網から出ていくようなネットワークが設計されることが多い。   For example, when transferring to a different area, it may be possible to pass through a long-distance line or a line installed on the seabed, which has high equipment costs and management costs, and the use of such a line should be avoided as much as possible. Therefore, when there are a plurality of routers that can be transferred to a router outside the ISP network when delivering the packet from the ISP network to a certain destination, the packets that have entered the ISP network from a certain router are the same if possible. In many cases, a network that exits the ISP network through a router existing in a region is designed.

ISP網のような広域なネットワークを、特許文献1の伝送システムのように1台のルータとして集中制御を行うと、集中制御を行っているネットワークとその他のネットワークの境界に存在する転送装置の出力ポートが、一台のルータのネットワークインターフェースに対応しているように見え、転送装置が広域に存在する。   When centralized control is performed using a wide area network such as an ISP network as a single router as in the transmission system of Patent Document 1, the output of the transfer device existing at the boundary between the centralized network and the other network The port seems to correspond to the network interface of one router, and the transfer device exists in a wide area.

このとき、ルータの最適経路計算によって、ある宛先へのパケットに対するパケット出力先が1つに決定することで、その宛先へのパケットが出ていくことができる出力ポートが他にも複数存在したとしても、決定したパケット出力ポートを通ってISP網外に出力されることになる。このとき、出力先に決定した出力ポートを持つ転送装置とは距離的に離れた場所にある他の転送装置からのパケットが転送された場合、遠い経路を通過することにより伝送遅延が生じることになる。   At this time, it is assumed that there are several other output ports from which the packet to the destination can be output by determining one packet output destination for the packet to the destination by the optimum route calculation of the router. Is output to the outside of the ISP network through the determined packet output port. At this time, when a packet is transferred from another transfer device located far away from the transfer device having the output port determined as the output destination, a transmission delay occurs due to passing through a far route. Become.

本発明は、遠い経路を通過することによる伝送遅延の抑制を図ることを目的とする。   An object of the present invention is to suppress transmission delay caused by passing through a far route.

本願において開示される発明の一側面となる制御サーバは、データを転送する複数の転送装置により構成されルータ群に接続される転送装置網を制御する制御サーバであって、前記制御サーバは、プログラムを実行するプロセッサと前記プログラムを記憶するメモリと、前記複数の転送装置および前記複数の転送装置を介して前記ルータ群と通信する通信インタフェースと、を有し、前記プロセッサは、前記複数の転送装置の少なくとも1台が所属する前記転送装置網内の複数の接続ポイントの各々に設定されている優先度に基づいて、前記各接続ポイントを複数のグループにグループ分けするグループ分け処理と、前記グループ分け処理によってグループ分けされたグループごとに、送信元から前記転送装置網を経由して到達する宛先と、当該宛先を広告するルータと、当該ルータに接続される転送装置が所属する接続ポイントと、を特定する経路情報を生成する生成処理と、前記複数の転送装置が前記生成処理によって生成された経路情報にしたがってデータを転送するように前記複数の転送装置に前記通信インタフェースを介して設定する設定処理と、前記経路情報を、当該経路情報により特定されるルータに前記通信インタフェースを介して広告する広告処理と、を実行することを特徴とする。   A control server according to one aspect of the invention disclosed in the present application is a control server configured to control a transfer device network configured by a plurality of transfer devices that transfer data and connected to a router group, and the control server includes a program And a communication interface for communicating with the router group via the plurality of transfer devices and the plurality of transfer devices, and the processor includes the plurality of transfer devices. Grouping processing for grouping each connection point into a plurality of groups based on the priority set for each of the plurality of connection points in the transfer apparatus network to which at least one of the group belongs, and the grouping For each group grouped by processing, a destination reached from the transmission source via the transfer device network, and A generation process for generating path information for specifying a router that advertises the destination and a connection point to which a transfer apparatus connected to the router belongs, and path information generated by the plurality of transfer apparatuses by the generation process A setting process for setting the plurality of transfer devices via the communication interface so as to transfer data according to the information, and an advertisement process for advertising the route information to the router specified by the route information via the communication interface And executing.

本発明の代表的な実施の形態によれば、遠い経路を通過することによる伝送遅延の抑制を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。   According to the exemplary embodiment of the present invention, it is possible to suppress transmission delay due to passing through a far route. Problems, configurations, and effects other than those described above will become apparent from the description of the following embodiments.

本実施例にかかる転送システムのシステム構成例およびデータ転送例を示す説明図である。It is explanatory drawing which shows the system configuration example and data transfer example of the transfer system concerning a present Example. 転送装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of a transfer apparatus. 入力転送テーブルの記憶内容例を示す説明図である。It is explanatory drawing which shows the example of the memory content of an input transfer table. ラベル転送テーブルの記憶内容例を示す説明図である。It is explanatory drawing which shows the example of the memory content of a label transfer table. 出力転送テーブルの記憶内容例を示す説明図である。It is explanatory drawing which shows the example of the memory content of an output transfer table. 制御サーバの構成例を示すブロック図である。It is a block diagram which shows the structural example of a control server. 記憶部に格納されている経路情報テーブルの記憶内容例を示す説明図である。It is explanatory drawing which shows the example of the memory content of the path | route information table stored in the memory | storage part. 差分経路情報テーブルの記憶内容例1を示す説明図である。It is explanatory drawing which shows the memory content example 1 of a difference path | route information table. 差分経路情報テーブルの記憶内容例2を示す説明図である。It is explanatory drawing which shows the memory content example 2 of a difference path | route information table. 差分経路情報テーブルの記憶内容例3を示す説明図である。It is explanatory drawing which shows the memory content example 3 of a difference path | route information table. グループ別経路情報データベースの記憶内容例1を示す説明図である。It is explanatory drawing which shows the memory content example 1 of the routing information database classified by group. グループ別経路情報データベースの記憶内容例2を示す説明図である。It is explanatory drawing which shows the example 2 of memory content of the route information database classified by group. グループ別経路情報データベースの記憶内容例3を示す説明図である。It is explanatory drawing which shows the example 3 of memory content of the route information database classified by group. 隣接ルータ管理テーブルの記憶内容例を示す説明図である。It is explanatory drawing which shows the example of the memory content of an adjacent router management table. グループ情報テーブルの記憶内容例を示す説明図である。It is explanatory drawing which shows the example of the memory content of a group information table. PoP情報テーブルの記憶内容例を示す説明図である。It is explanatory drawing which shows the example of the memory content of a PoP information table. 転送装置情報テーブルの記憶内容例を示す説明図である。It is explanatory drawing which shows the example of the memory content of a transfer apparatus information table. 物理リンク情報テーブルの記憶内容例を示す説明図である。It is explanatory drawing which shows the example of the memory content of a physical link information table. パス管理テーブルの記憶内容例を示す説明図である。It is explanatory drawing which shows the example of the memory content of a path management table. グループ分け処理部が実行するグループ分け処理(F2000)の詳細な処理手順例を示すフローチャートである。It is a flowchart which shows the detailed process sequence example of the grouping process (F2000) which a grouping process part performs. 図16に示したPoPのグループ振り分け処理(F2100)の詳細な処理手順例を示すフローチャートである。17 is a flowchart showing a detailed processing procedure example of a PoP group distribution process (F2100) shown in FIG. 16. 仮想ルータ管理機能部が実行するグループ分け変化による経路情報操作処理の詳細な処理手順例を示すフローチャートである。It is a flowchart which shows the detailed process sequence example of the routing information operation process by the grouping change which a virtual router management function part performs. 図18に示したグループ分け変化による経路情報テーブル変更処理(F2250)の詳細な処理手順例を示すフローチャートである。FIG. 19 is a flowchart illustrating a detailed processing procedure example of a route information table change process (F2250) by grouping change illustrated in FIG. 18. FIG. 図18に示した最適経路選択処理(F2300)の詳細な処理手順例を示すフローチャートである。19 is a flowchart illustrating a detailed processing procedure example of the optimum route selection processing (F2300) illustrated in FIG. 18. 図19に示した経路情報比較処理(F2400)の詳細な処理手順例を示すフローチャートである。20 is a flowchart illustrating a detailed processing procedure example of the route information comparison processing (F2400) illustrated in FIG. 19. 図18に示した差分経路情報テーブル更新処理(F2500)の詳細な処理手順例を示すフローチャートである。It is a flowchart which shows the detailed process sequence example of the difference path | route information table update process (F2500) shown in FIG. 図22に示した差分取得処理(F2550)の詳細な処理手順例を示すフローチャートである。It is a flowchart which shows the example of a detailed process sequence of the difference acquisition process (F2550) shown in FIG. 図18に示した転送装置設定処理(F2600)の詳細な処理手順例を示すフローチャートである。19 is a flowchart illustrating a detailed processing procedure example of a transfer device setting process (F2600) illustrated in FIG. 18. 転送装置設定対象判定処理(F3100)の詳細な処理手順例を示すフローチャートである。It is a flowchart which shows the example of a detailed process sequence of the transfer apparatus setting object determination process (F3100). 図25に示した入出力転送テーブル作成処理(F3000)の詳細な処理手順例を示すフローチャートである。It is a flowchart which shows the detailed process sequence example of the input / output transfer table creation process (F3000) shown in FIG. 図18に示した経路情報広告処理(F2700)の詳細な処理手順例を示すフローチャートである。It is a flowchart which shows the detailed process sequence example of the route information advertisement process (F2700) shown in FIG. ルータ接続による経路広告処理(F2900)の詳細な処理手順例を示すフローチャートである。It is a flowchart which shows the example of a detailed process sequence of the route advertisement process (F2900) by router connection. 新規経路取得処理(F2800)の詳細な処理手順例を示すフローチャートである。It is a flowchart which shows the detailed example of a process sequence of a new route acquisition process (F2800).

本実施例では、複数の転送装置を1台のルータとして集中制御する場合に、ある宛先に対して出力ポートを全体で1つに決定せず、転送装置網を考慮した上でパケットの入力ポートから距離的に近くに存在する出力ポートを通ってパケットを送信できるようにする。これにより、コスト値の低いパスを通ってパケットが転送され、転送装置間において距離が近い同じ転送グループ間で可能な限りパケット転送が行われる。したがって、パケットの転送時間を短くし、伝送遅延を抑制することができる。またこれにより、設備コストや管理コストが高い長距離リンクの使用率が下がり、長距離リンクの増設を抑止することが可能となる。   In this embodiment, when a plurality of transfer devices are centrally controlled as a single router, the output port is not determined as a whole for a certain destination, and the packet input port is considered in consideration of the transfer device network. Allows packets to be sent through output ports that are close to each other. As a result, the packet is transferred through a path with a low cost value, and the packet is transferred as much as possible between the same transfer groups having a short distance between the transfer apparatuses. Therefore, the packet transfer time can be shortened and transmission delay can be suppressed. This also reduces the usage rate of long-distance links with high equipment costs and management costs, and it is possible to suppress the addition of long-distance links.

<システム構成例およびデータ転送例>
図1は、本実施例にかかる転送システム1のシステム構成例およびデータ転送例を示す説明図である。なお、以下の説明で、転送装置、ルータ、物理リンク、PoP(Point of Presence)、およびネットワークは複数存在するが、個々を区別しない場合は、凡例で示した符号200,300,400,500,600により総称する。一方、個々を区別する場合には、たとえば、転送装置201というように、一意に特定できる符号を用いる。
<System configuration example and data transfer example>
FIG. 1 is an explanatory diagram illustrating a system configuration example and a data transfer example of the transfer system 1 according to the present embodiment. In the following description, there are a plurality of transfer devices, routers, physical links, PoP (Point of Presence), and networks. However, in the case where they are not distinguished from each other, reference numerals 200, 300, 400, 500, It is generally named 600. On the other hand, when distinguishing each individual, for example, a uniquely identifiable code such as a transfer device 201 is used.

図1において、転送システム1は、複数の転送装置200が物理リンク400で接続された転送装置網10と、複数の転送装置200を制御する制御サーバ100と、により構成される。転送装置200は、物理リンク400とは別のネットワークによって制御サーバ100と接続される。転送システム1は、制御サーバ100により複数の転送装置200を集中制御することにより、転送装置網10を一つのルータ(仮想ルータ10)に見せかけることができるシステムである。転送装置網10と仮想ルータは同義である。また、転送装置網10には複数のルータ300が接続されている。制御サーバ100と転送装置200は、例えば、TCP(Transmission Control Protocol)/IP(Internet Protocol)プロトコル等によって論理的に接続されていればよい。   In FIG. 1, the transfer system 1 includes a transfer device network 10 in which a plurality of transfer devices 200 are connected by physical links 400, and a control server 100 that controls the plurality of transfer devices 200. The transfer device 200 is connected to the control server 100 via a network different from the physical link 400. The transfer system 1 is a system capable of making the transfer device network 10 look like one router (virtual router 10) by centrally controlling a plurality of transfer devices 200 by the control server 100. The transfer device network 10 and the virtual router are synonymous. A plurality of routers 300 are connected to the transfer device network 10. The control server 100 and the transfer device 200 may be logically connected by, for example, a TCP (Transmission Control Protocol) / IP (Internet Protocol) protocol or the like.

転送装置網10には、ネットワーク600との境界にある転送装置201〜205と転送装置網10の内部にある転送装置206,207の二種類の転送装置200が存在する。ネットワーク600との境界にある転送装置201〜205は、ルータ300に接続される。ネットワーク600との境界にある転送装置201〜205は、転送装置網10内において、PoP500内に存在する。PoP500はISPの設備であり、転送装置網10外の装置と転送装置網10との接続ポイントである。PoP500にはPoP504のように転送装置200が複数含まれていることがある。転送装置200は、制御サーバ100による制御によって経路情報が設定される。経路情報とは、PoP500に存在する転送装置200間でパケットを転送する際に転送装置200で使用する情報である。   The transfer device network 10 includes two types of transfer devices 200, transfer devices 201 to 205 at the boundary with the network 600 and transfer devices 206 and 207 inside the transfer device network 10. Transfer apparatuses 201 to 205 at the boundary with the network 600 are connected to the router 300. The transfer apparatuses 201 to 205 at the boundary with the network 600 exist in the PoP 500 in the transfer apparatus network 10. The PoP 500 is an ISP facility and is a connection point between a device outside the transfer device network 10 and the transfer device network 10. The PoP 500 may include a plurality of transfer devices 200 like the PoP 504. In the transfer device 200, route information is set under the control of the control server 100. The route information is information used by the transfer device 200 when transferring a packet between the transfer devices 200 existing in the PoP 500.

なお、ネットワークF〜Jは、ルータ300と転送装置200との間を接続する物理リンク400である。また、ルータ300は、物理リンク451〜455であるネットワークF〜Jにより転送装置201〜205と直接接続されているため、「隣接ルータ」とも称する。   The networks F to J are physical links 400 that connect the router 300 and the transfer apparatus 200. The router 300 is also referred to as an “adjacent router” because it is directly connected to the transfer apparatuses 201 to 205 via the networks F to J that are the physical links 451 to 455.

ルータ300の最適経路計算では、ある宛先に対するパケットの出力ポートは、1つに決定される。最適経路は、経路選択アルゴリズムの結果によって選択される経路を指す。その宛先へのパケットが出力可能な出力ポートが他にも複数存在したとしても、決定された当該出力ポートを通って伝送される。たとえば、宛先がネットワークBの場合、送信元のネットワークDからのパケットが、ルータ301を経由しても、ルータ305を経由しても、ルータ302を経由する。   In the optimum route calculation of the router 300, the output port of a packet for a certain destination is determined as one. The optimum route refers to a route selected by the result of the route selection algorithm. Even if there are a plurality of other output ports that can output a packet to the destination, the packet is transmitted through the determined output port. For example, when the destination is the network B, a packet from the transmission source network D passes through the router 302 regardless of whether it passes through the router 301 or the router 305.

すなわち、個々のルータ300の最適経路計算により、ネットワークDからルータ301を経由してネットワークB宛に送信されるパケットは、ネットワークF、仮想ルータ10、ネットワークG、ルータ302を経由するパスP1で伝送される。この場合、仮想ルータ10内では、当該パケットは、転送装置201、転送装置206、転送装置202を経由することになる。   That is, according to the optimum route calculation of each router 300, a packet transmitted from the network D to the network B via the router 301 is transmitted through the path P1 via the network F, the virtual router 10, the network G, and the router 302. Is done. In this case, in the virtual router 10, the packet passes through the transfer device 201, the transfer device 206, and the transfer device 202.

また、ネットワークDからルータ305を経由してネットワークB宛に送信されるパケットは、ネットワークJ、仮想ルータ10、ネットワークG、ルータ302を経由するパスP2で伝送される。この場合、仮想ルータ10内では、当該パケットは、転送装置205、転送装置204、転送装置207、転送装置206、転送装置202を経由することになる。   A packet transmitted from the network D to the network B via the router 305 is transmitted through a path P 2 passing through the network J, the virtual router 10, the network G, and the router 302. In this case, in the virtual router 10, the packet passes through the transfer device 205, the transfer device 204, the transfer device 207, the transfer device 206, and the transfer device 202.

仮想ルータ10を構成する転送装置200は、各地域に分散配置される。パスP2のように、中継する転送装置200が多い経路ほど、宛先の地域が送信元の地域と異なるため、設備コストおよび管理コストが高い長距離回線や海底に設置されている回線を通過する。たとえば、パスP2において、転送装置204,207間の物理リンク405が高価な長距離回線である場合、ネットワークDからルータ305を経由してネットワークB宛に送信されるパケットを、当該物理リンク405を経由せずに伝送するのが効率的である。すなわち、ネットワークJ、仮想ルータ10、ネットワークI、ルータ304を経由するパスP3で伝送するのが効率的である。この場合、仮想ルータ10内では、当該パケットは、転送装置205、転送装置204を経由することになる。   The transfer devices 200 constituting the virtual router 10 are distributed in each area. As the path P2 has more transfer devices 200 to be relayed, the destination area is different from the transmission source area. Therefore, the path passes through a long-distance line or a line installed on the seabed, which has a high equipment cost and management cost. For example, in the path P2, when the physical link 405 between the transfer apparatuses 204 and 207 is an expensive long-distance line, a packet transmitted from the network D to the network B via the router 305 is transferred to the physical link 405. It is efficient to transmit without going through. In other words, it is efficient to transmit on the path P3 passing through the network J, the virtual router 10, the network I, and the router 304. In this case, in the virtual router 10, the packet passes through the transfer device 205 and the transfer device 204.

本実施例では、転送装置200が配置される位置情報(PoP500)により、制御サーバ100が、転送装置群を複数のグループに分類し、同じ宛先であっても同一グループに存在する転送装置群でパケットを転送するように制御する。   In this embodiment, the control server 100 classifies the transfer device group into a plurality of groups based on the position information (PoP 500) where the transfer device 200 is arranged, and the transfer device group exists in the same group even if it is the same destination. Control to forward the packet.

グループ分けでは、制御サーバ100が、管理者の操作により、PoP500に優先度(PoP優先度)を設定し、重要なPoP500に対して高いPoP優先度を設定する。例えば国際回線と接続されているPoP500など、多くのネットワーク600に到達可能である重要なPoP500が知られている。図1の例では、PoP502、504が多くのネットワーク600に到達可能であるため、制御サーバ100は、管理者の操作により、PoP502、504に対して他のPoP500よりも高いPoP優先度を設定する。これにより、重要なPoP500を中心としたグループが作成され、入力されたPoP500から遠くのPoP500ではなく、近くのPoP500から出力できるようなグループ分けが可能となる。   In grouping, the control server 100 sets a priority (PoP priority) for the PoP 500 and sets a high PoP priority for the important PoP 500 by an operation of the administrator. For example, an important PoP 500 that can reach many networks 600 such as PoP 500 connected to an international line is known. In the example of FIG. 1, since the PoPs 502 and 504 can reach many networks 600, the control server 100 sets a PoP priority higher than that of the other PoPs 500 for the PoPs 502 and 504 by the operation of the administrator. . As a result, a group centering on the important PoP 500 is created, and the grouping can be performed so that it can be output not from the PoP 500 far from the input PoP 500 but from the nearby PoP 500.

図1の場合、転送装置201、202がグループ2に所属し、転送装置203〜205がグループ1に所属することになる。したがって、同じネットワークBを宛先とする場合であっても、ルータ305から転送されてくるパケットは、グループ1に所属する転送装置205,204を経由して、グループ2を経由せずに、ルータ304に到達する。すなわち、ネットワークDからルータ305を経由するパケットは、パスP2ではなく、パスP3経由でネットワークBに到達することになる。   In the case of FIG. 1, the transfer apparatuses 201 and 202 belong to the group 2, and the transfer apparatuses 203 to 205 belong to the group 1. Therefore, even if the destination is the same network B, the packet transferred from the router 305 passes through the transfer devices 205 and 204 belonging to the group 1 and does not pass through the group 2, but the router 304. To reach. That is, a packet passing from the network D via the router 305 reaches the network B not via the path P2 but via the path P3.

なお、異なる転送装置200の間は物理リンク400で接続される。物理リンク400の間には信号を増幅するような中継装置が含まれている可能性があるが、転送装置200間のデータ転送の方式に関与しないリンクであれば、本実施例では単に物理リンク400として扱う。   Note that different transfer apparatuses 200 are connected by a physical link 400. There is a possibility that a relay device that amplifies the signal is included between the physical links 400. However, in the present embodiment, a physical link is simply used as long as the link is not related to the data transfer method between the transfer devices 200. Treat as 400.

<転送装置200の構成例>
図2は、転送装置200の構成例を示すブロック図である。転送装置200は、たとえば、MPLS(Multi Protocol Label Switching)ラベルスイッチであるが、隣接ルータ300と接続されている転送装置200間でパスが確立可能であればよく、転送装置200はMPLSラベルスイッチに限定されない。
<Configuration Example of Transfer Device 200>
FIG. 2 is a block diagram illustrating a configuration example of the transfer device 200. The transfer device 200 is, for example, an MPLS (Multi Protocol Label Switching) label switch, but it is only necessary that a path can be established between the transfer devices 200 connected to the adjacent router 300, and the transfer device 200 is an MPLS label switch. It is not limited.

転送装置200は、装置制御部210と、入力パケット処理部220と、入力転送テーブル225と、ラベル転送処理部230と、ラベル転送テーブル235と、出力パケット処理部240と、出力転送テーブル245と、複数の物理ポート250と、を有する。装置制御部210、入力パケット処理部220、ラベル転送処理部230、および出力パケット処理部240は、具体的には、たとえば、記憶デバイス(不図示)に記憶されたプログラムをプロセッサ(不図示)に実行させることにより、その機能を実現する。また、装置制御部210、入力パケット処理部220、ラベル転送処理部230、および出力パケット処理部240は、例えばFPGA(field−programmable gate array)のような集積回路で設計する等によりハードウェアによってその機能を実現してもよい。入力転送テーブル225、ラベル転送テーブル235、および出力転送テーブル245は、具体的には、たとえば、記憶デバイスに記憶されることにより実現される。まず、入力転送テーブル225、ラベル転送テーブル235、および出力転送テーブル245について説明する。   The transfer apparatus 200 includes an apparatus control unit 210, an input packet processing unit 220, an input transfer table 225, a label transfer processing unit 230, a label transfer table 235, an output packet processing unit 240, an output transfer table 245, A plurality of physical ports 250. Specifically, the device control unit 210, the input packet processing unit 220, the label transfer processing unit 230, and the output packet processing unit 240, for example, send a program stored in a storage device (not shown) to a processor (not shown). The function is realized by executing. Further, the device control unit 210, the input packet processing unit 220, the label transfer processing unit 230, and the output packet processing unit 240 are implemented by hardware by designing with an integrated circuit such as a field-programmable gate array (FPGA), for example. A function may be realized. Specifically, the input transfer table 225, the label transfer table 235, and the output transfer table 245 are realized by being stored in a storage device, for example. First, the input transfer table 225, the label transfer table 235, and the output transfer table 245 will be described.

図3は、入力転送テーブル225の記憶内容例を示す説明図である。入力転送テーブル225は、転送装置200に入力されたパケットの転送先に関する情報を格納するテーブルであり、フィールドとして、ポート番号1301、宛先ネットワーク1302、識別ラベル1303、転送ラベル1304を有し、各フィールド1301〜1304の同一行の値の組み合わせがエントリを構成する。入力転送テーブル225のエントリは、制御サーバ100が計算した経路情報を元に設定されるため、制御サーバ100が経路情報を計算し、装置制御部210が設定を行うまでは、空のテーブルである。なお、図3の(A)、(B)に示す入力転送テーブル225は、転送装置201に設定される入力転送テーブル225である。   FIG. 3 is an explanatory diagram showing an example of the contents stored in the input transfer table 225. The input transfer table 225 is a table that stores information related to the transfer destination of the packet input to the transfer apparatus 200. The input transfer table 225 includes a port number 1301, a destination network 1302, an identification label 1303, and a transfer label 1304 as fields. A combination of values in the same row 1301 to 1304 constitutes an entry. Since the entry of the input transfer table 225 is set based on the route information calculated by the control server 100, the entry is an empty table until the control server 100 calculates the route information and the device control unit 210 performs the setting. . Note that the input transfer table 225 shown in FIGS. 3A and 3B is an input transfer table 225 set in the transfer apparatus 201.

ポート番号1301は、値として、転送装置200のポート番号を格納するフィールドである。本実施例では、ポート番号は(2/1)のようにスラッシュを挟んだふたつの数字として表現される。スラッシュの左側の数字が当該転送装置に装備されているネットワークインターフェースカードの番号である。スラッシュの右側の数字が、スラッシュの左側のネットワークインターフェースカードに属する物理ポートの番号である。たとえば、(2/1)は、ネットワークインターフェース2番の物理ポート1番という意味である。   The port number 1301 is a field that stores the port number of the transfer apparatus 200 as a value. In this embodiment, the port number is expressed as two numbers with a slash between them, such as (2/1). The number on the left side of the slash is the number of the network interface card installed in the transfer device. The number on the right side of the slash is the number of the physical port belonging to the network interface card on the left side of the slash. For example, (2/1) means the physical port number 1 of the network interface number 2.

宛先ネットワーク1302は、値として、入力されたパケットに含まれる宛先のネットワークアドレスを格納するフィールドである。識別ラベル1303は、値として、後述するパスを識別するMPLSラベルを格納するフィールドである。転送ラベル1304は、パケットが次に転送される転送装置を識別する情報を格納するフィールドである。   The destination network 1302 is a field for storing a destination network address included in the input packet as a value. The identification label 1303 is a field for storing an MPLS label for identifying a path to be described later as a value. The transfer label 1304 is a field for storing information for identifying a transfer device to which a packet is transferred next.

図4は、ラベル転送テーブル235の記憶内容例を示す説明図である。ラベル転送テーブル235は、転送装置200に入力されたパケットの転送装置網10内の転送先に関する情報を格納するテーブルであり、後述する制御サーバ100の転送装置管理部123によって予め設定されるテーブルである。(A)は、転送装置201のラベル転送テーブル235である。(B)は、転送装置206のラベル転送テーブル235である。(C)は、転送装置207のラベル転送テーブル235である。(D)は、転送装置202のラベル転送テーブル235である。(E)は、転送装置203のラベル転送テーブル235である。   FIG. 4 is an explanatory diagram showing an example of the contents stored in the label transfer table 235. The label transfer table 235 is a table that stores information related to the transfer destination in the transfer device network 10 of the packet input to the transfer device 200, and is a table that is set in advance by the transfer device management unit 123 of the control server 100 described later. is there. (A) is a label transfer table 235 of the transfer apparatus 201. (B) is a label transfer table 235 of the transfer device 206. (C) is a label transfer table 235 of the transfer device 207. (D) is a label transfer table 235 of the transfer apparatus 202. (E) is a label transfer table 235 of the transfer device 203.

ラベル転送テーブル235は、フィールドとして、入力ポート1351と、入力転送ラベル1352と、出力転送ラベル1353と、出力ポート1354とを有し、各フィールド1351〜1354の同一行の値の組み合わせがエントリを構成する。入力ポート1351は、値として、パケットが入力されたポート番号を格納するフィールドである。   The label transfer table 235 has, as fields, an input port 1351, an input transfer label 1352, an output transfer label 1353, and an output port 1354, and a combination of values in the same row of each field 1351-1354 constitutes an entry. To do. The input port 1351 is a field for storing a port number into which a packet is input as a value.

入力転送ラベル1352は、値として、入力されるパケットの転送ラベルを格納するフィールドである。出力転送ラベル1353は、値として、出力されるパケットの転送ラベルを格納するフィールドである。入力ポート1351から入力されたパケットの入力転送ラベル1352の値は、後述するルールにより、出力転送ラベル1353の値に書き換えられる。出力ポート1354は、値として、パケットが出力されるポート番号を格納するフィールドである。   The input transfer label 1352 is a field for storing the transfer label of the input packet as a value. The output transfer label 1353 is a field for storing the transfer label of the output packet as a value. The value of the input transfer label 1352 of the packet input from the input port 1351 is rewritten to the value of the output transfer label 1353 according to a rule described later. The output port 1354 is a field for storing a port number to which a packet is output as a value.

図5は、出力転送テーブル245の記憶内容例を示す説明図である。出力転送テーブル245は、転送装置200に入力されたパケットの転送装置網10外の出力先に関する情報を格納するテーブルであり、フィールドとして、宛先ネットワーク1402と、識別ラベル1403と、転送ラベル1404と、書換宛先MAC(Media Access Control)1405と、書換送信元MAC1406とを有し、各フィールド1401〜1405の同一行の値の組み合わせがエントリを構成する。出力転送テーブル245のエントリは、制御サーバ100が計算した経路情報を元に設定されるため、制御サーバ100が経路情報を計算し、装置制御部210が設定を行うまでは、空のテーブルである。なお、(A)および(B)は、転送装置202に設定される出力転送テーブル245であり、(C)は、転送装置203に設定される出力転送テーブル245である。   FIG. 5 is an explanatory diagram showing an example of the contents stored in the output transfer table 245. The output transfer table 245 is a table that stores information related to the output destination of the packet input to the transfer device 200 outside the transfer device network 10, and includes, as fields, a destination network 1402, an identification label 1403, a transfer label 1404, It has a rewrite destination MAC (Media Access Control) 1405 and a rewrite source MAC 1406, and a combination of values in the same row of each field 1401-1405 constitutes an entry. The entries in the output transfer table 245 are set based on the route information calculated by the control server 100. Therefore, the entries are empty until the control server 100 calculates the route information and the device control unit 210 performs the setting. . (A) and (B) are the output transfer table 245 set in the transfer apparatus 202, and (C) is the output transfer table 245 set in the transfer apparatus 203.

宛先ネットワーク1402は、値として、出力されるパケットが到達可能な宛先のネットワークアドレスを格納するフィールドである。識別ラベル1403は、後述のパスを識別するMPLSラベルを格納するフィールドである。転送ラベル1404は、出力されるパケットが次に転送される転送装置200を識別する情報を格納するフィールドである。書換宛先MAC1405は、後述するパケットの宛先MACアドレスを書き換える処理を行う際に、書き換えられるMACアドレスの値を格納するフィールドである。書換送信元MAC1406は、後述するパケットの送信元MACアドレスを書き換える処理を行う際に、書き換えられるMACアドレスの値を格納するフィールドである。   The destination network 1402 is a field that stores, as a value, a destination network address to which the output packet can be reached. The identification label 1403 is a field for storing an MPLS label for identifying a path to be described later. The transfer label 1404 is a field for storing information for identifying the transfer apparatus 200 to which the output packet is transferred next. The rewrite destination MAC 1405 is a field for storing a value of a MAC address to be rewritten when a process for rewriting a destination MAC address of a packet to be described later is performed. The rewrite transmission source MAC 1406 is a field for storing a value of a MAC address to be rewritten when performing a process of rewriting a transmission source MAC address of a packet to be described later.

図2に戻り、装置制御部210は、制御サーバ100から受け取ったパケットを元に、入力転送テーブル225、ラベル転送テーブル235、および出力転送テーブル245に対して操作を行う。   Returning to FIG. 2, the apparatus control unit 210 operates the input transfer table 225, the label transfer table 235, and the output transfer table 245 based on the packet received from the control server 100.

入力パケット処理部220は、物理ポート250から入力されたパケットを処理する。具体的には、たとえば、入力パケット処理部220は、物理ポート250から入力されたパケットにMPLSラベルが挿入されている場合、当該パケットをラベル転送処理部230にそのまま転送する。一方、入力されたパケットにMPLSラベルが挿入されていない場合、入力パケット処理部220は、入力転送テーブル225を参照する。   The input packet processing unit 220 processes a packet input from the physical port 250. Specifically, for example, when an MPLS label is inserted in a packet input from the physical port 250, the input packet processing unit 220 transfers the packet to the label transfer processing unit 230 as it is. On the other hand, when the MPLS label is not inserted in the input packet, the input packet processing unit 220 refers to the input transfer table 225.

入力パケット処理部220は、当該パケットが入力されたポートのポート番号がポート番号1301の値と一致し、かつ、当該パケットに含まれる宛先ネットワークアドレスが宛先ネットワーク1302の値と一致するエントリを、入力転送テーブル225から検索する。一致するエントリが存在する場合、入力パケット処理部220は、該当エントリの識別ラベル1303および転送ラベル1304の値を当該パケットに挿入してラベル転送処理部230にわたす。具体的には、たとえば、入力パケット処理部220は、識別ラベル1303の値を、当該パケットのMACヘッダとIPヘッダとの間に挿入する。また、入力パケット処理部220は、転送ラベル1304の値を、MACヘッダと識別ラベル1303の値との間に挿入する。   The input packet processing unit 220 inputs an entry in which the port number of the port to which the packet is input matches the value of the port number 1301 and the destination network address included in the packet matches the value of the destination network 1302 Search from the transfer table 225. If there is a matching entry, the input packet processing unit 220 inserts the values of the identification label 1303 and the transfer label 1304 of the corresponding entry into the packet and passes them to the label transfer processing unit 230. Specifically, for example, the input packet processing unit 220 inserts the value of the identification label 1303 between the MAC header and the IP header of the packet. Further, the input packet processing unit 220 inserts the value of the transfer label 1304 between the MAC header and the value of the identification label 1303.

また、入力パケット処理部220は、当該パケットの処理を次に行うラベル転送処理部230が、当該パケットが転送装置200に入力されたポート番号を識別するために、ポート番号1301の値(入力ポート番号)が記録されたヘッダ(「入力ポート情報ヘッダ」と呼ぶ)を当該パケットに挿入する。入力ポート情報ヘッダは、転送装置200内でのみ使用される情報であり、ポート番号が入る固定長領域をもつ。入力ポート番号をラベル転送処理部230が判断することができれば、入力ポート情報ヘッダの構成は問わない。   In addition, the input packet processing unit 220 uses the value of the port number 1301 (input port) so that the label transfer processing unit 230 that processes the packet next can identify the port number at which the packet is input to the transfer apparatus 200. A header in which the number is recorded (referred to as “input port information header”) is inserted into the packet. The input port information header is information used only in the transfer apparatus 200, and has a fixed-length area in which a port number is entered. The configuration of the input port information header is not limited as long as the label transfer processing unit 230 can determine the input port number.

ラベル転送処理部230は、入力パケット処理部220から転送されてくるパケットを、ラベル転送テーブル235を参照して処理する。具体的には、ラベル転送処理部230は、入力パケット処理部220から転送されてくるパケットの入力ポート情報ヘッダに記録されているポート番号が入力ポート1351の値と一致し、かつ、当該パケットに含まれる転送ラベルが入力転送ラベル1352と一致するエントリを、ラベル転送テーブル235から検索する。   The label transfer processing unit 230 processes the packet transferred from the input packet processing unit 220 with reference to the label transfer table 235. Specifically, the label transfer processing unit 230 matches the port number recorded in the input port information header of the packet transferred from the input packet processing unit 220 with the value of the input port 1351, and The label transfer table 235 is searched for an entry whose included transfer label matches the input transfer label 1352.

一致するエントリが存在する場合、ラベル転送処理部230は、当該パケットに含まれる転送ラベルの番号を当該エントリの出力転送ラベル1353の値に書き換える。そして、ラベル転送処理部230は、入力パケット処理部220で当該パケットに挿入された入力ポート情報ヘッダを外す。   If there is a matching entry, the label transfer processing unit 230 rewrites the transfer label number included in the packet to the value of the output transfer label 1353 of the entry. Then, the label transfer processing unit 230 removes the input port information header inserted into the packet by the input packet processing unit 220.

また、ラベル転送処理部230は、次にパケットを処理する出力パケット処理部240が当該パケットを出力するポート番号を識別できるように、出力ポート1354の値(出力ポート番号)が記録されたヘッダ(「出力ポート情報ヘッダ」と呼ぶ)を当該パケットに挿入する。出力ポート情報ヘッダは転送装置200内でのみ使用される情報であり、ポート番号が入る固定長領域をもつ。出力ポート番号を出力パケット処理部240が判断することができれば、出力ポート情報ヘッダの構成は問わない。ラベル転送処理部230は、出力ポート情報ヘッダが挿入されたパケットを出力パケット処理部240に渡す。   Further, the label transfer processing unit 230 records the header (the output port number) in which the value of the output port 1354 (output port number) is recorded so that the output packet processing unit 240 that processes the packet next can identify the port number to output the packet. (Referred to as “output port information header”) is inserted into the packet. The output port information header is information used only in the transfer apparatus 200, and has a fixed-length area in which the port number is entered. The configuration of the output port information header is not limited as long as the output packet processing unit 240 can determine the output port number. The label transfer processing unit 230 passes the packet in which the output port information header is inserted to the output packet processing unit 240.

出力パケット処理部240は、ラベル転送処理部230から転送されてくるパケットを、出力転送テーブル245を参照して処理する。具体的には、出力パケット処理部240は、当該パケットに含まれる宛先ネットワークアドレスが宛先ネットワーク1402の値と一致し、入力パケット処理部220で挿入された識別ラベル1303の値が識別ラベル1403の値と一致し、かつ、ラベル転送処理部230で出力転送ラベル1353の値に書き換えられた転送ラベルが、転送ラベル1404の値と一致するエントリを、出力転送テーブル245から検索する。   The output packet processing unit 240 processes the packet transferred from the label transfer processing unit 230 with reference to the output transfer table 245. Specifically, the output packet processing unit 240 determines that the destination network address included in the packet matches the value of the destination network 1402, and the value of the identification label 1303 inserted by the input packet processing unit 220 is the value of the identification label 1403. , And the entry whose transfer label rewritten to the value of the output transfer label 1353 by the label transfer processing unit 230 matches the value of the transfer label 1404 is searched from the output transfer table 245.

一致するエントリがある場合、出力パケット処理部240は、ラベル転送処理部230から受け取ったパケットの宛先MACアドレスを当該エントリの書換宛先MAC1405の値に書き換える。続いて、出力パケット処理部240は、宛先MACアドレスが書き換えられたパケットの送信元MACアドレスを書換送信元MAC1406の値に書き換え、挿入された識別ラベルおよび転送ラベルを外す。また、出力パケット処理部240は、出力ポート情報ヘッダに記録されたポート番号を参照し、出力ポート情報ヘッダを外した後に、参照したポート番号からパケットを出力する。   If there is a matching entry, the output packet processing unit 240 rewrites the destination MAC address of the packet received from the label transfer processing unit 230 to the value of the rewrite destination MAC 1405 of the entry. Subsequently, the output packet processing unit 240 rewrites the source MAC address of the packet whose destination MAC address has been rewritten to the value of the rewritten source MAC 1406, and removes the inserted identification label and transfer label. The output packet processing unit 240 refers to the port number recorded in the output port information header, removes the output port information header, and then outputs a packet from the referenced port number.

なお、入力パケット処理部220は、物理ポート250から受信したパケットが仮想ルータ10宛のネットワーク制御用パケットであれば、当該パケットを制御サーバ100に転送する。また、制御サーバ100から転送装置200にネットワーク制御用パケットが届いた場合、入力パケット処理部220は、当該パケットをラベル転送処理部230を通して出力パケット処理部240に渡す。ネットワーク制御用パケットは、物理ポート250を通って転送装置網10外に送信され、ルータ300に転送される。   If the packet received from the physical port 250 is a network control packet addressed to the virtual router 10, the input packet processing unit 220 transfers the packet to the control server 100. When the network control packet arrives at the transfer device 200 from the control server 100, the input packet processing unit 220 passes the packet to the output packet processing unit 240 through the label transfer processing unit 230. The network control packet is transmitted outside the transfer apparatus network 10 through the physical port 250 and transferred to the router 300.

<制御サーバ100の構成例>
図6は、制御サーバ100の構成例を示すブロック図である。制御サーバ100は、処理部120と、記憶部140と、を有する。処理部120は、記憶部140にあるデータベースやテーブルを参照したり、更新したりする。処理部120は、パケット送受信部124と、仮想ルータ機能部121と、グループ分け処理部122と、転送装置管理部123と、を有する。処理部120は、具体的には、たとえば、記憶デバイス(不図示)に記憶されたプログラムをプロセッサ(不図示)に実行させることにより、その機能を実現する。
<Configuration Example of Control Server 100>
FIG. 6 is a block diagram illustrating a configuration example of the control server 100. The control server 100 includes a processing unit 120 and a storage unit 140. The processing unit 120 refers to or updates a database or table in the storage unit 140. The processing unit 120 includes a packet transmission / reception unit 124, a virtual router function unit 121, a grouping processing unit 122, and a transfer device management unit 123. Specifically, the processing unit 120 realizes its function by causing a processor (not shown) to execute a program stored in a storage device (not shown), for example.

パケット送受信部124は、ポート(不図示)を介して転送装置200からパケットを受信し、受信したパケットを解析し、解析したパケットを仮想ルータ機能部121または転送装置管理部123に振り分ける。たとえば、転送装置200から受信したパケットが、BGP(Border Gateway Protocol)などのIP経路制御プロトコル情報を持ったネットワーク制御パケットである場合、パケット送受信部124は、仮想ルータ機能部121にパケットをわたす。また、転送装置200から受信したパケットが、転送装置200の情報や物理リンク400の情報など転送装置制御に関係する転送装置制御用パケットである場合、パケット送受信部124は、転送装置管理部123にパケットをわたす。   The packet transmission / reception unit 124 receives a packet from the transfer device 200 via a port (not shown), analyzes the received packet, and distributes the analyzed packet to the virtual router function unit 121 or the transfer device management unit 123. For example, when the packet received from the transfer device 200 is a network control packet having IP routing protocol information such as BGP (Border Gateway Protocol), the packet transmitting / receiving unit 124 passes the packet to the virtual router function unit 121. When the packet received from the transfer device 200 is a transfer device control packet related to transfer device control such as information on the transfer device 200 or information on the physical link 400, the packet transmission / reception unit 124 sends information to the transfer device management unit 123. Pass the packet.

仮想ルータ機能部121は、経路情報テーブル141と差分経路情報テーブル142とグループ別経路情報データベース143と隣接ルータ管理テーブル144とを参照したり、更新したりする。仮想ルータ機能部121は、隣接するルータ300に対しネットワーク制御パケットを送受信して、転送装置網10を1つのルータとして動作するように設定する。具体的には、仮想ルータ機能部121は、隣接するルータ300から受信したネットワーク制御パケットを解析する。そして、仮想ルータ機能部121は、ネットワーク制御パケットが、隣接関係の構築および維持や、装置間の生存確認等の制御パケットである場合、転送装置網10を1つのルータとして動作するように設定する。   The virtual router function unit 121 refers to or updates the path information table 141, the differential path information table 142, the group-specific path information database 143, and the adjacent router management table 144. The virtual router function unit 121 transmits and receives network control packets to and from the adjacent router 300, and sets the transfer apparatus network 10 to operate as one router. Specifically, the virtual router function unit 121 analyzes the network control packet received from the adjacent router 300. Then, the virtual router function unit 121 sets the transfer device network 10 to operate as one router when the network control packet is a control packet for establishing and maintaining an adjacency relationship or checking for survival between devices. .

より具体的には、仮想ルータ機能部121は、ルータ301〜305から、それぞれのルータ300が存在するネットワーク600に広告されてくるIPネットワークアドレスA〜Eの情報を受け取る。仮想ルータ機能部121は、仮想ルータ機能部121が所属するAS(Autonomous System)以外のASに存在するルータと互いにBGPによって経路情報をやりとりする。ルータ301〜305が仮想ルータ機能部121に対して広告する経路情報は、ルータ301〜305と接続されている転送装置201〜205により受信される。   More specifically, the virtual router function unit 121 receives information on IP network addresses A to E advertised from the routers 301 to 305 to the network 600 in which each router 300 exists. The virtual router function unit 121 exchanges path information with a router existing in an AS other than the AS (Autonomous System) to which the virtual router function unit 121 belongs by using BGP. The route information advertised by the routers 301 to 305 to the virtual router function unit 121 is received by the transfer apparatuses 201 to 205 connected to the routers 301 to 305.

転送装置201〜205が受信した経路情報は、制御サーバ100に転送され、パケット送受信部124が仮想ルータ機能部121に転送し、仮想ルータ機能部121が処理を行う。ルータ302およびルータ304は、ネットワークアドレスA、B、Cの経路情報を保持し、ルータ301およびルータ305は、ネットワークアドレスDの経路情報を保持し、ルータ303はネットワークアドレスEの経路情報を保持する。なお、グループ分けの処理を行うまでは、ルータ301〜305と転送装置201〜205間は接続されておらず、経路情報はやりとりされない。
また、仮想ルータ機能部121がルータ301〜305に対して広告する経路情報、つまり、仮想ルータ10が広告する経路情報は、制御サーバ100がルータ301〜305と接続されている転送装置201〜205に送信し、転送装置201〜205がルータ301〜305に転送する。
The route information received by the transfer apparatuses 201 to 205 is transferred to the control server 100, the packet transmission / reception unit 124 transfers it to the virtual router function unit 121, and the virtual router function unit 121 performs processing. The router 302 and the router 304 hold the route information of the network addresses A, B, and C, the router 301 and the router 305 hold the route information of the network address D, and the router 303 holds the route information of the network address E. . Until the grouping process is performed, the routers 301 to 305 and the transfer apparatuses 201 to 205 are not connected and route information is not exchanged.
Further, the route information advertised by the virtual router function unit 121 to the routers 301 to 305, that is, the route information advertised by the virtual router 10 is the transfer devices 201 to 205 in which the control server 100 is connected to the routers 301 to 305. And the transfer devices 201 to 205 transfer the data to the routers 301 to 305.

仮想ルータ機能部121は、静的経路情報や、OSPF(Open Shortest Path First)やIS−IS(Intermediate System to Intermediate System)といったIGP(Interior Gateway Protocol)を用いて取得した内部経路情報を保持する。仮想ルータ機能部121は、内部経路情報をBGPの経路に取り込んで、BGP経路情報として経路情報テーブル141を作成し、経路情報テーブル141に記録された情報を利用して最適な経路を決定する。   The virtual router function unit 121 holds static route information and internal route information acquired by using IGP (Interior Gateway Protocol) such as OSPF (Open Shortest Path First) or IS-IS (Intermediate System to Intermediate System). The virtual router function unit 121 incorporates the internal route information into the BGP route, creates the route information table 141 as the BGP route information, and determines the optimum route using the information recorded in the route information table 141.

転送装置網10外から転送装置網10に入力されたパケットが、経路情報テーブル141の宛先ネットワーク1101に記録されたネットワークに届くように、経路情報テーブル141の情報をもとに、仮想ルータ機能部121は、PoPに存在する転送装置200の装置制御部210に対して、入力転送テーブル225および出力転送テーブル245の設定を要求する。これにより、転送装置200に入力転送テーブル225および出力転送テーブル245が設定される。転送装置網10外から転送装置網10に入力されたパケットは、転送装置200で入力転送テーブル225、ラベル転送テーブル235、出力転送テーブル245の情報を元に、事前に設定された転送装置間のパスに届けられ、パケットの宛先ネットワークに書かれた転送装置網10外のネットワークに転送される。   Based on the information in the route information table 141, the virtual router function unit so that packets input from outside the transfer device network 10 to the transfer device network 10 reach the network recorded in the destination network 1101 of the route information table 141. 121 requests the apparatus control unit 210 of the transfer apparatus 200 existing in PoP to set the input transfer table 225 and the output transfer table 245. As a result, the input transfer table 225 and the output transfer table 245 are set in the transfer device 200. Packets input to the transfer device network 10 from outside the transfer device network 10 are transferred between the transfer devices set in advance by the transfer device 200 based on information in the input transfer table 225, the label transfer table 235, and the output transfer table 245. The packet is delivered to the path and transferred to a network outside the transfer device network 10 written in the destination network of the packet.

予め管理者により何らかの方法で設定された内部経路情報は、BGPの経路情報として経路情報テーブル141に取り込まれる。また、BGPのパス属性を元に経路情報が比較され、ルーティングに使用される最適経路が決定される。   The internal route information set in advance by the administrator in some way is taken into the route information table 141 as BGP route information. Further, the route information is compared based on the BGP path attribute, and the optimum route used for routing is determined.

ルータ300は、ルーティングプロトコルや静的経路情報毎に経路情報を保持している。各プロトコルで同じ経路情報を受け取った場合、ルータ300は、経路の取得方法と取得元プロトコルとに応じて設定された優先度が高い経路情報を選択して最適経路とする。通常のルータの振る舞いとは異なり、本実施例では、ルータ300は、すべての経路情報をBGP経路情報に変換してから、変換後の経路情報を比較して最適経路を決定する。なお、本実施例では、ルータ300の経路選択手順を簡略化して説明しているが、通常のルータのようにプロトコル毎に経路表が分かれていた上で最適経路を選択してもよい。   The router 300 holds route information for each routing protocol and static route information. When the same route information is received by each protocol, the router 300 selects route information having a high priority set according to the route acquisition method and the source protocol and sets it as the optimum route. Unlike normal router behavior, in this embodiment, the router 300 converts all route information into BGP route information and then compares the converted route information to determine the optimum route. In the present embodiment, the route selection procedure of the router 300 is described in a simplified manner, but an optimum route may be selected after a route table is divided for each protocol as in a normal router.

仮想ルータ機能部121は、経路情報を経路情報テーブル141に設定すると、設定された経路情報の内容をもとに、転送装置200がパケットを転送する際に参照する入力転送テーブル225および出力転送テーブル245のエントリを作成する。仮想ルータ機能部121は、作成された入力転送テーブル225および出力転送テーブル245のエントリを転送装置200に設定する経路情報として転送装置200に送信する。   When the route information is set in the route information table 141, the virtual router function unit 121, based on the contents of the set route information, refers to the input transfer table 225 and the output transfer table that the transfer device 200 refers to when transferring the packet. 245 entries are created. The virtual router function unit 121 transmits the created entries of the input transfer table 225 and the output transfer table 245 to the transfer apparatus 200 as route information set in the transfer apparatus 200.

転送装置200は、制御サーバ100から受け取った入力転送テーブル225および出力転送テーブル245のエントリを入力転送テーブル225、出力転送テーブル245に設定する。転送装置200は、入力されたパケットに対して、入力転送テーブル225および出力転送テーブル245を参照することで、パケットを転送するパスを識別することができる。ルータ300と当該ルータ300に接続されている転送装置200との間では、パスが事前に設定されているため、転送装置網10に入力されたパケットは、設定されているパスの先に存在するルータ300に転送される。転送装置網10に隣接しているルータ300と接続されている転送装置200間に設定されているパスは、転送装置200の故障や物理リンク断線などの転送装置網10の状態が変わらなければ、基本的には一定である。   The transfer apparatus 200 sets the entries of the input transfer table 225 and the output transfer table 245 received from the control server 100 in the input transfer table 225 and the output transfer table 245. The transfer apparatus 200 can identify a path for transferring a packet by referring to the input transfer table 225 and the output transfer table 245 for the input packet. Since a path is set in advance between the router 300 and the transfer apparatus 200 connected to the router 300, the packet input to the transfer apparatus network 10 exists at the end of the set path. Transferred to the router 300. If the path set between the transfer devices 200 connected to the router 300 adjacent to the transfer device network 10 does not change the state of the transfer device network 10 such as a failure of the transfer device 200 or a broken physical link, Basically it is constant.

グループ分け処理部122は、グループ情報テーブル145と、PoP情報テーブル146と、パス管理テーブル149とを、参照したり、更新したりする。グループ分け処理部122は、後述のPoP情報テーブル146に記録された情報を元にして、複数の転送装置200で構成される転送装置網10を1つ以上の転送グループに分ける。各転送グループにはPoPが1つ以上所属しており、また、仮想ルータ機能部121は転送グループ毎に異なる経路表をもつ。本実施例では、ルータ300が有する経路表はグループ別経路情報データベース143に表現されており、転送装置網10外部からのパケットが入力された転送装置200が所属する転送グループに応じて、異なるパケット転送が行われる。   The grouping processing unit 122 refers to or updates the group information table 145, the PoP information table 146, and the path management table 149. The grouping processing unit 122 divides the transfer device network 10 including a plurality of transfer devices 200 into one or more transfer groups based on information recorded in a PoP information table 146 described later. One or more PoPs belong to each forwarding group, and the virtual router function unit 121 has a different routing table for each forwarding group. In this embodiment, the route table of the router 300 is expressed in the group-specific route information database 143, and different packets are used depending on the transfer group to which the transfer device 200 to which a packet from the outside of the transfer device network 10 is input belongs. Transfer is performed.

転送装置管理部123は、転送装置情報テーブル147と、物理リンク情報テーブル148と、パス管理テーブル149とを、参照したり、更新したりする。また、転送装置管理部123は隣接ルータ管理テーブル144を参照する。転送装置管理部123は、複数の転送装置200、転送装置200間を接続している物理リンク400、及び、転送装置200間で確立される論理的なパスの状態を監視し、また、転送装置200の設定や論理的なパスの設定を行う。また、転送装置管理部123は、ラベル転送テーブル235を転送装置200に設定する。   The transfer device management unit 123 refers to or updates the transfer device information table 147, the physical link information table 148, and the path management table 149. Also, the transfer device management unit 123 refers to the adjacent router management table 144. The transfer device management unit 123 monitors the state of a plurality of transfer devices 200, the physical link 400 connecting the transfer devices 200, and the logical path established between the transfer devices 200, and the transfer device 200 is set or a logical path is set. Further, the transfer device management unit 123 sets the label transfer table 235 in the transfer device 200.

転送装置管理部123は、隣接ルータ管理テーブル144を参照して、そのエントリ数分のパスを作成する。転送装置管理部123は、含まれる物理リンク400のリンク間距離の和が最小になるようにパスに含まれる物理リンク400を決定し、パスを確立する。リンク間距離を最小とするようなパスの作成方法に関しては、たとえば、SPF(Shortest Path First)アルゴリズムが採用される。転送装置管理部123は、パスを張る端点の転送装置200を根、その他の転送装置200を葉、物理リンク400を枝としてツリーを作成し、SPFアルゴリズムに従って、コストが最短になるパスを作成する。枝のコストにはリンク間距離を超えない整数のうち最大値を対応させる。
記憶部140は、具体的には、たとえば、記憶デバイスにより実現される。まず、記憶部140内のテーブルおよびデータベースについて説明する。
The transfer device management unit 123 refers to the adjacent router management table 144 and creates paths for the number of entries. The transfer device management unit 123 determines the physical link 400 included in the path so as to minimize the sum of the inter-link distances of the included physical links 400, and establishes the path. As a method for creating a path that minimizes the distance between links, for example, an SPF (Shortest Path First) algorithm is employed. The transfer device management unit 123 creates a tree with the transfer device 200 at the endpoint that establishes the path as the root, the other transfer devices 200 as leaves, and the physical link 400 as a branch, and creates a path with the shortest cost according to the SPF algorithm. . The maximum value among integers not exceeding the distance between links is made to correspond to the cost of the branch.
Specifically, the storage unit 140 is realized by a storage device, for example. First, the table and database in the storage unit 140 will be described.

(経路情報テーブル)
図7は、記憶部140に格納されている経路情報テーブルの記憶内容例を示す説明図である。経路情報テーブル141は、経路情報を記憶するテーブルであり、フィールドとして、宛先ネットワーク1101と、広告元ルータ1102と、他パス属性1103と、PoP優先度1104と、情報源PoP1105と、情報源グループ1106と、経路取得元1107と、を有し、各フィールド1101〜1107の同一行の値の組み合わせがエントリとなる経路情報を構成する。経路情報テーブル141は、仮想ルータ機能部121により作成されるテーブルである。
(Route information table)
FIG. 7 is an explanatory diagram showing an example of the stored contents of the route information table stored in the storage unit 140. The route information table 141 is a table that stores route information. As fields, the destination network 1101, the advertising source router 1102, the other path attribute 1103, the PoP priority 1104, the information source PoP 1105, and the information source group 1106 are stored. And a route acquisition source 1107, and a combination of values in the same row in each field 1101 to 1107 constitutes route information. The route information table 141 is a table created by the virtual router function unit 121.

宛先ネットワーク1101は、値として、当該経路情報によって到達可能な宛先のネットワークアドレスを格納するフィールドである。広告元ルータ1102は、値として、当該経路情報を仮想ルータ機能部121に対して広告したルータの識別番号(ルータID)を示す。仮想ルータ機能部121は、ルータ301〜305に対して転送装置網10をひとつの仮想ルータ10としてみせている。仮想ルータ10のルータIDを、ID:10とする。仮想ルータ機能部121は、転送装置網10が存在するAS内で得られたルータIDであれば広告元ルータ1102には「10」を記憶する。   The destination network 1101 is a field for storing a destination network address that can be reached by the route information as a value. The advertisement source router 1102 indicates the identification number (router ID) of the router that advertised the route information to the virtual router function unit 121 as a value. The virtual router function unit 121 shows the transfer device network 10 as one virtual router 10 to the routers 301 to 305. The router ID of the virtual router 10 is ID: 10. The virtual router function unit 121 stores “10” in the advertisement source router 1102 if the router ID is obtained in the AS in which the transfer apparatus network 10 exists.

他パス属性1103は、値として、特有なパス属性を除いた他のパス属性を格納するフィールドである。他パス属性1103には、たとえば、一つのAS内における経路の優先度を示すLOCAL_PREF属性や、当該経路情報が通ってきたASを示すAS_PATH属性等がある。PoP優先度1104は、当該経路情報を受け取った転送装置200が所属するPoPに設定されているPoP優先度852の値を格納するフィールドである。PoP優先度852は、後述するPoP情報テーブル146のフィールドである。PoP優先度1104には、グループ分け処理の前では、優先度の初期値として未定義を示す「−1」が記録される。   The other path attribute 1103 is a field for storing other path attributes excluding a specific path attribute as a value. The other path attribute 1103 includes, for example, a LOCAL_PREF attribute indicating the priority of a route in one AS, and an AS_PATH attribute indicating an AS through which the route information has passed. The PoP priority 1104 is a field for storing the value of the PoP priority 852 set in the PoP to which the transfer apparatus 200 that has received the path information belongs. The PoP priority 852 is a field of the PoP information table 146 described later. In the PoP priority 1104, “−1” indicating undefined is recorded as the initial value of the priority before the grouping process.

情報源PoP1105は、値として、当該経路情報を受け取った転送装置200が所属するPoPの識別番号を格納するフィールドである。情報源グループ1106は、値として、当該経路情報を受け取った転送装置200が所属するグループの識別番号を格納するフィールドである。経路取得元1107は、値として、当該経路情報を仮想ルータ機能部121が取得した転送装置200の識別情報とそのポート番号とを格納するフィールドである。すなわち、経路取得元1107は、値として、宛先ネットワーク1101に直接接続されている転送装置200の識別情報とそのポート番号を格納する。たとえば、「201(2/1)」のように、左側の「201」が転送装置200の識別情報であり、右側の(2/1)がポート番号である。   The information source PoP 1105 is a field that stores, as a value, the identification number of the PoP to which the transfer apparatus 200 that has received the path information belongs. The information source group 1106 is a field for storing, as a value, an identification number of a group to which the transfer apparatus 200 that has received the path information belongs. The route acquisition source 1107 is a field that stores, as a value, identification information of the transfer device 200 from which the virtual router function unit 121 acquired the route information and its port number. That is, the route acquisition source 1107 stores the identification information of the transfer apparatus 200 directly connected to the destination network 1101 and its port number as values. For example, like “201 (2/1)”, “201” on the left side is the identification information of the transfer apparatus 200, and (2/1) on the right side is the port number.

宛先ネットワーク1101の値と経路取得元1107の値の組み合わせにより、どの転送装置200のどのポートがどのネットワーク600に接続されているかが特定される。たとえば、エントリ1151では、宛先ネットワーク1101の値が「F」であり、経路取得元1107の値が「201(2/1)」である。したがって、転送装置201のポート(2/1)がネットワークFに接続されていることがわかる。   The combination of the value of the destination network 1101 and the value of the route acquisition source 1107 identifies which port of which transfer device 200 is connected to which network 600. For example, in the entry 1151, the value of the destination network 1101 is “F”, and the value of the route acquisition source 1107 is “201 (2/1)”. Therefore, it can be seen that the port (2/1) of the transfer apparatus 201 is connected to the network F.

なお、後述するグループ分け処理を行うまでは、グループは定義されていない。したがって、当該経路情報を受け取った転送装置200が所属するグループの識別番号を表す情報源グループ1106には、グループ分け処理の前では、未定義を示す「−1」が記録される。
なお、(A)は、後述するグループ分け処理(F2000)実行前の経路情報テーブル141であり、(B)は、後述するグループ分け変化による経路情報テーブル変更処理(F2250)実行後の経路情報テーブル141であり、(C)は、隣接ルータ300から経路情報が広告された後の経路情報テーブル141である。
The group is not defined until the grouping process described later is performed. Therefore, “−1” indicating undefined is recorded in the information source group 1106 representing the identification number of the group to which the transfer apparatus 200 that has received the path information belongs, before the grouping process.
(A) is a path information table 141 before execution of a grouping process (F2000) described later, and (B) is a path information table after execution of a path information table change process (F2250) based on a grouping change described later. (C) is the route information table 141 after the route information is advertised from the adjacent router 300.

(差分経路情報テーブル)
図8は、差分経路情報テーブルの記憶内容例を示す説明図である。差分経路情報テーブル142は、差分経路情報を記憶するテーブルである。差分経路情報は、図8に示したエントリである。当該エントリは、図9A〜図9Cに示したグループ別現経路情報テーブル1000のエントリから、グループ別旧経路情報テーブル1050のエントリの情報と一致するエントリを削除した残余のエントリに相当する。
(Difference route information table)
FIG. 8 is an explanatory diagram of an example of the stored contents of the difference path information table. The difference path information table 142 is a table that stores difference path information. The differential path information is the entry shown in FIG. The entry corresponds to a remaining entry obtained by deleting an entry that matches the entry information of the old route information table by group 1050 from the entries of the current route information table by group 1000 shown in FIGS. 9A to 9C.

差分経路情報テーブル142は、仮想ルータ機能部121によって内容が書き換えられる。差分経路情報テーブル142は、経路情報をやりとりが完了するまでは空のテーブルである。差分経路情報テーブル142は、フィールドとして、宛先ネットワーク1201と、広告元ルータ1202と、他パス属性1203と、PoP優先度1204と、情報源PoP1205と、旧情報源グループ1206と、現情報源グループ1207と、経路取得元1208と、削除・更新1209とを有し、各フィールド1201〜1209の同一行の値の組み合わせがエントリとなる差分経路情報を構成する。   The content of the difference path information table 142 is rewritten by the virtual router function unit 121. The differential route information table 142 is an empty table until the exchange of route information is completed. The differential path information table 142 includes, as fields, a destination network 1201, an advertisement source router 1202, another path attribute 1203, a PoP priority 1204, an information source PoP 1205, an old information source group 1206, and a current information source group 1207. And the route acquisition source 1208 and the deletion / update 1209, and the combination of the values in the same row of the fields 1201 to 1209 constitutes differential route information.

宛先ネットワーク1201は、値として、当該差分経路情報によって到達可能なネットワークアドレスを格納するフィールドである。広告元ルータ1202は、値として、当該差分経路情報を仮想ルータ機能部121に対して広告したルータの識別番号を格納するフィールドである。   The destination network 1201 is a field that stores a network address that can be reached by the differential path information as a value. The advertisement source router 1202 is a field that stores, as a value, the identification number of the router that advertised the differential route information to the virtual router function unit 121.

他パス属性1203は、値として、PoP優先度1204と情報源PoP1205と旧情報源グループ1206と現情報源グループ1207と経路取得元1208のような特定のパス属性を除いた、優先度や重みといった情報を格納するフィールドである。BGPではパス属性により最適となる経路が決定される。他パス属性1203には、一つのAS内における経路の優先度を示すLOCAL_PREF属性や、当該差分経路情報が通ってきたASを示すAS_PATH属性等のいずれかが採用される。BGPのパス属性を比較する順番についてはRFC1771で言及されているが、実装依存である。したがって、本実施例では、PoP優先度1204と情報源PoP1205と旧情報源グループ1206と現情報源グループ1207と経路取得元1208に注目し、他パス属性を比較する順番に関しては特に規定しない。   The other path attribute 1203 includes values such as a priority and a weight excluding specific path attributes such as the PoP priority 1204, the information source PoP 1205, the old information source group 1206, the current information source group 1207, and the route acquisition source 1208. This field stores information. In BGP, the optimum route is determined by the path attribute. As the other path attribute 1203, either a LOCAL_PREF attribute indicating the priority of a route in one AS, an AS_PATH attribute indicating an AS through which the differential route information has passed, or the like is employed. The order in which BGP path attributes are compared is mentioned in RFC 1771, but is implementation-dependent. Therefore, in this embodiment, attention is paid to the PoP priority 1204, the information source PoP 1205, the old information source group 1206, the current information source group 1207, and the route acquisition source 1208, and the order in which other path attributes are compared is not particularly defined.

PoP優先度1204は、値として、当該差分経路情報を受け取った転送装置200が所属するPoP500に設定されているPoP優先度を格納するフィールドである。情報源PoP1205は、値として、当該差分経路情報を受け取った転送装置200が所属するPoP500の識別情報を格納するフィールドである。旧情報源グループ1206は、値として、当該差分経路情報を受け取った転送装置200が所属するグループの識別番号を格納するフィールドである。   The PoP priority 1204 is a field for storing the PoP priority set in the PoP 500 to which the transfer apparatus 200 that has received the differential path information belongs as a value. The information source PoP 1205 is a field that stores, as a value, identification information of the PoP 500 to which the transfer apparatus 200 that has received the differential path information belongs. The old information source group 1206 is a field for storing the identification number of the group to which the transfer apparatus 200 that has received the differential path information belongs as a value.

現情報源グループ1207は、値として、当該差分経路情報が記録された際に転送装置200が所属したグループの識別番号を格納するフィールドである。経路取得元1208は、値として、当該差分経路情報を取得した転送装置200の識別情報と転送装置200のポートのポート番号とを格納するフィールドである。削除・更新1209は、「削除」または「更新」が格納されるフィールドである。「削除」は、当該差分経路情報が削除されるべき経路情報であることを示し、「更新」は、当該差分経路情報が更新されるべき経路情報であることを示す。
なお、図8Aは、後述するグループ分け変化による経路情報操作処理(F2200)における差分経路情報テーブル更新処理(F2500)実行後の差分経路情報テーブル142であり、図8Bは、後述するルータ接続による経路広告処理(F2900)における差分経路情報テーブル更新処理(F2500)実行後の、差分経路情報テーブル142であり、図8Cは、後述する新規経路取得処理(F2800)における差分経路情報テーブル更新処理(F2500)実行後の差分経路情報テーブル142である。
The current information source group 1207 is a field for storing the identification number of the group to which the transfer device 200 belongs when the differential path information is recorded as a value. The route acquisition source 1208 is a field for storing the identification information of the transfer device 200 that acquired the differential route information and the port number of the port of the transfer device 200 as values. The delete / update 1209 is a field in which “delete” or “update” is stored. “Delete” indicates that the differential route information is to be deleted, and “Update” indicates that the differential route information is to be updated.
8A shows the differential path information table 142 after execution of the differential path information table update process (F2500) in the path information operation process (F2200) based on grouping change described later, and FIG. 8B shows the path by router connection described later. FIG. 8C shows the difference path information table 142 after the execution of the difference path information table update process (F2500) in the advertisement process (F2900). FIG. 8C shows the difference path information table update process (F2500) in the new path acquisition process (F2800) described later. It is the difference path information table 142 after execution.

(グループ別経路情報データベース)
図9A〜図9Cは、グループ別経路情報データベースの記憶内容例を示す説明図である。グループ別経路情報データベース143は、グループ分け処理を行う前後においてグループ毎に適用される経路情報を保持し、グループ分け処理を行った後のグループ毎に適用される経路情報を保持するグループ別現経路情報テーブル1000と、グループ分け処理を行う前にグループ毎に適用されていた経路情報を保持するグループ別旧経路情報テーブル1050と、を格納するデータベースである。グループ別経路情報データベース143は、仮想ルータ機能部121によって書き換えられる。
(Route information database by group)
9A to 9C are explanatory diagrams illustrating examples of stored contents of the group-specific route information database. The group-specific route information database 143 holds the route information applied to each group before and after performing the grouping process, and holds the route information applied to each group after the grouping process is performed. It is a database that stores an information table 1000 and a group-specific old route information table 1050 that holds route information applied to each group before performing grouping processing. The group route information database 143 is rewritten by the virtual router function unit 121.

グループ別旧経路情報テーブル1050は、グループ分けや経路情報変更が実行される前のグループ別の経路情報(グループ別旧経路情報)を保持するテーブルである。グループ別現経路情報テーブル1000は、グループ分けや経路情報変更が実行された後のグループ別の経路情報(グループ別現経路情報)を保持するテーブルである。グループ別現経路情報テーブル1000およびグループ別旧経路情報テーブル1050は、仮想ルータ機能部121により、経路情報テーブル141の情報を元に作成される。なお、後述するグループ分け処理を行うまでは、グループは定義されておらず、グループ別現経路情報テーブル1000およびグループ別旧経路情報テーブル1050は、初めはエントリがない空のテーブルである。   The group-by-group old route information table 1050 is a table that holds group-by-group route information (group-by-group old route information) before grouping or route information change is executed. The group-by-group current route information table 1000 is a table that holds group-by-group route information (group-by-group current route information) after grouping or route information change is executed. The group-by-group current route information table 1000 and the group-by-group old route information table 1050 are created by the virtual router function unit 121 based on the information in the route information table 141. Until a grouping process, which will be described later, is performed, no groups are defined. The group-specific current route information table 1000 and the group-based old route information table 1050 are initially empty tables with no entries.

グループ別現経路情報テーブル1000は、フィールドとして、利用グループ1001と、宛先ネットワーク1002と、広告元ルータ1003と、他パス属性1004と、PoP優先度1005と、情報源PoP1006と、情報源グループ1007と、経路取得元1008と、を有し、各フィールド1001〜1008の同一行の値の組み合わせがエントリとなるグループ別現経路情報を構成する。   The group-specific current route information table 1000 includes, as fields, a use group 1001, a destination network 1002, an advertising source router 1003, another path attribute 1004, a PoP priority 1005, an information source PoP 1006, and an information source group 1007. , And a route acquisition source 1008, and a combination of values in the same row of each field 1001 to 1008 constitutes group current route information.

利用グループ1001は、値として、当該エントリを利用する現グループの識別番号を格納するフィールドである。宛先ネットワーク1002は、値として、当該グループ別現経路情報によって到達可能なネットワークアドレスを格納するフィールドである。広告元ルータ1003は、値として、当該グループ別現経路情報を仮想ルータ機能部121に対して広告したルータ300の識別番号を格納するフィールドである。他パス属性1004は、値として、上述した特定のパス属性を除いた他のパス属性を格納するフィールドである。   The usage group 1001 is a field for storing the identification number of the current group that uses the entry as a value. The destination network 1002 is a field for storing a network address that can be reached by the current route information for each group as a value. The advertisement source router 1003 is a field for storing the identification number of the router 300 that has advertised the current route information for each group to the virtual router function unit 121 as a value. The other path attribute 1004 is a field for storing other path attributes excluding the specific path attribute described above as a value.

PoP優先度1005は、値として、当該グループ別現経路情報を受け取った転送装置200が所属するPoP500に設定されているPoP優先度を格納するフィールドである。情報源PoP1006は、値として、当該グループ別現経路情報を受け取った転送装置200が所属するPoP500の識別情報を格納するフィールドである。情報源グループ1007は、値として、当該グループ別現経路情報を受け取った転送装置200が所属するグループを格納するフィールドである。経路取得元1008は、値として、当該グループ別現経路情報を取得した転送装置200の識別情報と転送装置200のポートのポート番号とを格納するフィールドである。   The PoP priority 1005 is a field for storing the PoP priority set as the value in the PoP 500 to which the transfer apparatus 200 that has received the current routing information for each group belongs. The information source PoP 1006 is a field for storing, as a value, identification information of the PoP 500 to which the transfer apparatus 200 that has received the current route information for each group belongs. The information source group 1007 is a field for storing a group to which the transfer apparatus 200 that has received the current route information for each group belongs as a value. The route acquisition source 1008 is a field for storing the identification information of the transfer device 200 that acquired the current route information for each group and the port number of the port of the transfer device 200 as values.

グループ別旧経路情報テーブル1050は、フィールドとして、利用グループ1051と、宛先ネットワーク1052と、広告元ルータ1053と、他パス属性1054と、PoP優先度1055と、情報源PoP1056と、情報源グループ1057と、経路取得元1058とを有し、各フィールド1051〜1058の同一行の値の組み合わせがエントリとなるグループ別現経路情報を構成する。   The group-based old route information table 1050 includes, as fields, a use group 1051, a destination network 1052, an advertisement source router 1053, another path attribute 1054, a PoP priority 1055, an information source PoP 1056, and an information source group 1057. , And a route acquisition source 1058, and a combination of values in the same row of each of the fields 1051 to 1058 constitutes group current route information.

利用グループ1051は、値として、当該エントリを利用する旧グループの識別番号を格納するフィールドである。宛先ネットワーク1052は、値として、当該グループ別旧経路情報によって到達可能なネットワークアドレスを格納するフィールドである。広告元ルータ1053は、値として、当該グループ別旧経路情報を仮想ルータ機能部121に対して広告したルータ300の識別番号を格納するフィールドである。他パス属性1054は、値として、上述した特定のパス属性を除いた他のパス属性を格納するフィールドである。   The usage group 1051 is a field for storing the identification number of the old group that uses the entry as a value. The destination network 1052 is a field for storing, as a value, a network address that can be reached by the old route information for each group. The advertisement source router 1053 is a field for storing the identification number of the router 300 that advertised the old route information for each group to the virtual router function unit 121 as a value. The other path attribute 1054 is a field for storing other path attributes excluding the specific path attribute described above as a value.

PoP優先度1055は、値として、当該グループ別旧経路情報を受け取った転送装置200が所属するPoP500に設定されているPoP優先度を格納するフィールドである。情報源PoP1056は、値として、当該グループ別旧経路情報を受け取った転送装置200が所属するPoP500の識別情報を格納するフィールドである。情報源グループ1057は、値として、当該グループ別旧経路情報を受け取った転送装置200が所属するグループを格納するフィールドである。経路取得元1058は、値として、当該グループ別旧経路情報を取得した転送装置200の識別情報と転送装置200のポートのポート番号とを格納するフィールドである。
なお、図9A,図9Bは、後述する最適経路選択処理(F2300)によるグループ別経路情報データベース143の更新過程を示したものであり、図9Cは、後述する新規経路取得処理(F2800)における最適経路選択処理(F2300)実行後のグループ別経路情報データベース143である。
The PoP priority 1055 is a field for storing the PoP priority set as the value in the PoP 500 to which the transfer apparatus 200 that has received the old route information for each group belongs. The information source PoP 1056 is a field for storing, as a value, identification information of the PoP 500 to which the transfer apparatus 200 that has received the old route information for each group belongs. The information source group 1057 is a field for storing a group to which the transfer apparatus 200 that has received the old route information for each group belongs as a value. The route acquisition source 1058 is a field for storing the identification information of the transfer device 200 that acquired the old route information for each group and the port number of the port of the transfer device 200 as values.
9A and 9B show the update process of the group-specific route information database 143 by the optimum route selection process (F2300) described later, and FIG. 9C shows the optimum in the new route acquisition process (F2800) described later. It is the route information database 143 classified by group after route selection processing (F2300) execution.

(隣接ルータ管理テーブル)
図10は、隣接ルータ管理テーブル144の記憶内容例を示す説明図である。隣接ルータ管理テーブル144は、転送装置網10と接続されるルータ301〜305に関する情報を格納するテーブルである。当該情報は、予め管理者により登録される。隣接ルータ管理テーブル144は、仮想ルータ機能部121によって書き換えられる。図10の(A)が、ルータ300が転送装置網10に接続される前の内容であり、図10の(B)が、ルータ300が転送装置網10に接続された後の内容である。
(Adjacent router management table)
FIG. 10 is an explanatory diagram showing an example of the contents stored in the adjacent router management table 144. The adjacent router management table 144 is a table that stores information regarding the routers 301 to 305 connected to the transfer apparatus network 10. The information is registered in advance by the administrator. The adjacent router management table 144 is rewritten by the virtual router function unit 121. 10A shows the content before the router 300 is connected to the transfer device network 10, and FIG. 10B shows the content after the router 300 is connected to the transfer device network 10.

隣接ルータ管理テーブル144は、フィールドとして、隣接ルータID801と、隣接ルータMAC802と、隣接ルータIP803と、接続転送装置804と、接続ポートMAC805と、接続ポートIP806と、接続PoP_ID807と、接続状態808とを有し、各フィールド801〜808の同一行の値の組み合わせがエントリを構成する。   The adjacent router management table 144 includes, as fields, an adjacent router ID 801, an adjacent router MAC 802, an adjacent router IP 803, a connection transfer device 804, a connection port MAC 805, a connection port IP 806, a connection PoP_ID 807, and a connection state 808. A combination of values in the same row of each field 801 to 808 constitutes an entry.

隣接ルータID801は、値として、転送装置網10と接続されているルータ300を識別する番号(隣接ルータID)を格納するフィールドである。隣接ルータMAC802は、値として、転送装置網10と接続されているルータ300のネットワークインターフェースに設定されているMACアドレスを格納するフィールドである。初期状態ではルータ300は転送装置網10に接続されていないため、ルータ300が転送装置網10に接続されるまでは、値として、ブロードキャストアドレスを示す「BROADCAST」が格納される((A)を参照)。なお、ルータ300が転送装置網10に接続されると、仮想ルータ機能部121は、ARP解決により隣接ルータ300のネットワークインターフェースに設定されているMACアドレスを取得して、隣接ルータMAC802に上書きする。   The adjacent router ID 801 is a field for storing a number (adjacent router ID) for identifying the router 300 connected to the transfer apparatus network 10 as a value. The adjacent router MAC 802 is a field for storing a MAC address set in the network interface of the router 300 connected to the transfer apparatus network 10 as a value. Since the router 300 is not connected to the transfer device network 10 in the initial state, “BROADCAST” indicating a broadcast address is stored as a value until the router 300 is connected to the transfer device network 10 ((A)). reference). When the router 300 is connected to the transfer apparatus network 10, the virtual router function unit 121 acquires the MAC address set in the network interface of the adjacent router 300 by ARP resolution, and overwrites the adjacent router MAC 802.

隣接ルータIP803は、値として、転送装置網10に接続されているルータ300のネットワークインターフェースに設定されているIPアドレスを格納するフィールドである。接続転送装置804は、値として、当該隣接ルータ300に接続されている転送装置200の識別情報とそのポート番号とを格納するフィールドである。接続ポートMAC805は、値として、当該隣接ルータ300に接続されている転送装置200のポートのMACアドレスを格納するフィールドである。転送装置網10は接続されている隣接ルータ301〜305からみると1つのルータのようにみえる。このため、隣接ルータ300からみると、接続ポートMAC805の値が、接続している仮想ルータ10のMACアドレスのようにみえる。   The adjacent router IP 803 is a field for storing, as a value, an IP address set in the network interface of the router 300 connected to the transfer apparatus network 10. The connection transfer device 804 is a field that stores the identification information of the transfer device 200 connected to the adjacent router 300 and its port number as values. The connection port MAC 805 is a field that stores the MAC address of the port of the transfer device 200 connected to the adjacent router 300 as a value. The transfer device network 10 looks like one router when viewed from the adjacent routers 301 to 305 connected thereto. For this reason, when viewed from the adjacent router 300, the value of the connection port MAC 805 looks like the MAC address of the connected virtual router 10.

接続ポートIP806は、値として、当該隣接ルータ300に対して見せている仮想ルータ10のIPアドレスを格納するフィールドである。接続ポートIP806は、隣接ルータ300と通信を行うIPアドレスとして設定される。そのIPアドレスに対応するネットワークアドレスは、経路情報テーブル141に記録される。当該隣接ルータ300に対してBGPの経路情報を広告する際など、当該隣接ルータ300宛に送信したパケットの送信元IPアドレスとして接続ポートIP806は使用される。これにより、当該隣接ルータ300からみると、接続転送装置804が仮想ルータ10のポートにみえる。   The connection port IP 806 is a field for storing the IP address of the virtual router 10 shown to the adjacent router 300 as a value. The connection port IP 806 is set as an IP address for communicating with the adjacent router 300. The network address corresponding to the IP address is recorded in the route information table 141. When advertising BGP route information to the neighboring router 300, the connection port IP806 is used as the source IP address of the packet sent to the neighboring router 300. Thereby, when viewed from the adjacent router 300, the connection transfer device 804 appears as a port of the virtual router 10.

接続PoP_ID807は、値として、接続転送装置804が所属するPoP500の識別情報を格納するフィールドである。接続状態808は、値として、転送装置網10と当該隣接ルータ300の接続の状態を示す情報を格納するフィールドである。当該情報には、「通信可」と「通信不可」がある。「通信可」は、当該隣接ルータ300と仮想ルータ機能部121との間のIP通信が可能であることを示す。また、「通信不可」は、当該ルータ300と仮想ルータ機能部121との間のIP通信が不可能であることを示す。初期状態では隣接ルータ301〜305と転送装置網10は接続されていないため、接続状態808の値は、「通信不可」である((A)を参照)。   The connection PoP_ID 807 is a field for storing the identification information of the PoP 500 to which the connection transfer apparatus 804 belongs as a value. The connection state 808 is a field for storing information indicating the connection state between the transfer apparatus network 10 and the adjacent router 300 as a value. The information includes “communication enabled” and “communication disabled”. “Communication enabled” indicates that IP communication between the adjacent router 300 and the virtual router function unit 121 is possible. “Communication impossible” indicates that IP communication between the router 300 and the virtual router function unit 121 is impossible. Since the adjacent routers 301 to 305 and the transfer device network 10 are not connected in the initial state, the value of the connection state 808 is “communication impossible” (see (A)).

(グループ情報テーブル)
図11は、グループ情報テーブル145の記憶内容例を示す説明図である。グループ情報テーブル145は、グループ分け処理によって分けられたグループ毎に属するPoP500のPoP_IDを保持するテーブルであり、フィールドとして、グループID951と、所属PoPリスト952とを有し、各フィールド951、952の同一行の値の組み合わせがエントリを構成する。グループ情報テーブル145は、グループ分け処理部122によって書き換えられる。
(Group information table)
FIG. 11 is an explanatory diagram showing an example of the contents stored in the group information table 145. The group information table 145 is a table that holds the PoP_ID of the PoP 500 belonging to each group divided by the grouping process. The group information table 145 has a group ID 951 and a belonging PoP list 952 as fields, and the fields 951 and 952 are the same. A combination of row values constitutes an entry. The group information table 145 is rewritten by the grouping processing unit 122.

グループID951は、値として、転送グループの識別番号を格納するフィールドである。所属PoPリスト952は、値として、当該転送グループに所属しているPoP500のリスト、すなわち、当該転送グループに所属しているPoP500の識別番号を1つ以上格納するフィールドである。
なお、(A)〜(E)は、後述するグループ分け処理(F2000)によるグループ情報テーブル145の更新過程を示したものである。
The group ID 951 is a field for storing a transfer group identification number as a value. The belonging PoP list 952 is a field that stores, as values, one or more lists of PoP 500 belonging to the transfer group, that is, identification numbers of PoP 500 belonging to the transfer group.
(A) to (E) show the update process of the group information table 145 by the grouping process (F2000) described later.

(PoP情報テーブル)
図12は、PoP情報テーブル146の記憶内容例を示す説明図である。PoP情報テーブル146は、グループ分け処理前後でPoP500が属するグループID情報を保持するテーブルであり、フィールドとして、PoP_ID851と、PoP優先度852と、所属転送装置リスト853と、旧所属グループ854と、現所属グループ855とを有し、各フィールド851〜855の同一行の値の組み合わせがエントリを構成する。PoP情報テーブル146は、グループ分け処理部122によって書き換えられる。
(PoP information table)
FIG. 12 is an explanatory diagram showing an example of the contents stored in the PoP information table 146. The PoP information table 146 is a table that holds group ID information to which the PoP 500 belongs before and after the grouping process. The fields include PoP_ID 851, PoP priority 852, belonging transfer device list 853, old belonging group 854, current belonging group. And a group of values belonging to the same row in each of the fields 851 to 855 constitutes an entry. The PoP information table 146 is rewritten by the grouping processing unit 122.

PoP_ID851は、複数存在するPoP500の識別情報を格納するフィールドである。PoP優先度852は、転送グループ分けを行うために使用するパラメータを格納するフィールドであり、初期値は「0」とする。なお、図12の(A)ではPoP優先度852には初期値である0ではない値が入力されているエントリが存在するが、これについては後述する。   The PoP_ID 851 is a field that stores identification information of a plurality of PoPs 500. The PoP priority 852 is a field for storing a parameter used for performing transfer grouping, and the initial value is “0”. In FIG. 12A, the PoP priority 852 includes an entry in which an initial value other than 0 is input, which will be described later.

所属転送装置リスト853は、PoP_ID851で識別されるPoP500に存在する転送装置200の識別情報を1つ以上格納するフィールドである。旧所属グループ854は、PoP_ID851で識別されるPoP500がグループ分け前に所属していたグループの番号を格納するフィールドである。   The belonging transfer device list 853 is a field for storing one or more pieces of identification information of the transfer devices 200 existing in the PoP 500 identified by the PoP_ID 851. The former affiliation group 854 is a field for storing the number of the group to which the PoP 500 identified by the PoP_ID 851 belonged before grouping.

現所属グループ855は、PoP_ID851で識別されるPoP500がグループ分け後に所属するグループの番号を格納するフィールドである。旧所属グループ854および現所属グループ855は、グループ分け前には不定な値ではあるが、PoP優先度852が初期値の0であれば後述するように転送グループは1つになるので、旧所属グループ854および現所属グループ855の初期値は「1」とする。   The current affiliation group 855 is a field that stores the number of the group to which the PoP 500 identified by the PoP_ID 851 belongs after grouping. The old member group 854 and the current member group 855 are indefinite values before grouping, but if the PoP priority 852 is the initial value 0, there will be one transfer group as will be described later. The initial value of 854 and the current group 855 is “1”.

転送グループ分けを行う場合、管理者が、重要なPoP500に対して高い優先度をPoP優先度852に設定することで、そのPoP500を中心としたグループを作成する。これにより、入力されたPoP500から遠くのPoP500ではなく、近くのPoP500から出力できるような転送グループ分けが実現される。多くのネットワークに到達可能である、例えば国際回線と接続されているPoP500など、重要なPoP500を管理者は知っており、図4では、PoP502、504が多くのネットワーク600に到達可能であるので、管理者が、PoP502、504に対して高いPoP優先度をPoP優先度852に設定する。   When performing transfer grouping, the administrator sets a high priority for the important PoP 500 to the PoP priority 852, thereby creating a group centered on the PoP 500. As a result, transfer grouping is realized so that the output can be performed from a nearby PoP 500 instead of a remote PoP 500. The administrator knows an important PoP 500 that can reach many networks, for example, PoP 500 connected to an international line, and in FIG. 4 PoP 502, 504 can reach many networks 600, The administrator sets the PoP priority higher than the PoP 502 and 504 to the PoP priority 852.

具体的には、たとえば、管理者は、PoP504のPoP優先度852を「20」、PoP502のPoP優先度852を「10」、その他のPoP501、503のPoP優先度852を「0」に設定する。PoP優先度852には、重要なPoP500ほど高い値が設定される。本実施例は、PoP504の方がPoP502よりも重要度が高いため、PoP504の方がPoP502よりもPoP優先度852が高くなるように設定した例である。
なお、(A),(B)は、後述するグループ分け処理(F2000)によるPoP情報テーブル146の更新過程を示したものであり、(C)は、後述するグループ分け変化による経路情報操作処理(F2200)実行後のPoP情報テーブル146である。
Specifically, for example, the administrator sets the PoP priority 852 of the PoP 504 to “20”, the PoP priority 852 of the PoP 502 to “10”, and the PoP priority 852 of the other PoPs 501 and 503 to “0”. . The PoP priority 852 is set to a higher value for the important PoP500. In this embodiment, PoP 504 is higher in importance than PoP 502, and therefore PoP 504 is set to have a higher PoP priority 852 than PoP 502.
(A) and (B) show the update process of the PoP information table 146 by the grouping process (F2000) described later, and (C) shows the route information manipulation process (grouping change described later) ( F2200) The PoP information table 146 after execution.

(転送装置情報テーブル)
図13は、転送装置情報テーブル147の記憶内容例を示す説明図である。転送装置情報テーブル147は、転送装置200が属するPoP500に関する情報を保持するテーブルであり、フィールドとして、転送装置ID901と、PoP情報902と、ポート情報903とを有し、各フィールド901〜903の同一行の値の組み合わせがエントリを構成する。各フィールド901〜903の値は、管理者によって予め設定される。
(Transfer device information table)
FIG. 13 is an explanatory diagram of an example of the contents stored in the transfer device information table 147. The transfer device information table 147 is a table that holds information related to the PoP 500 to which the transfer device 200 belongs. The transfer device information table 147 includes a transfer device ID 901, PoP information 902, and port information 903 as fields, and the fields 901 to 903 are the same. A combination of row values constitutes an entry. The values of the fields 901 to 903 are preset by the administrator.

転送装置ID901は、値として、転送装置200の識別情報を格納するフィールドである。PoP情報902は、値として、当該転送装置200が所属するPoP500の識別情報を格納するフィールドである。転送装置206、207のようにPoP500に含まれていない転送装置200も存在する。PoP500に含まれていない転送装置200のエントリでは、PoP情報902にはPoPの識別情報としては使用されない番号、例えば「−1」が格納される。ポート情報903は、値として、当該転送装置200に含まれるポート番号を格納するフィールドである。   The transfer device ID 901 is a field that stores identification information of the transfer device 200 as a value. The PoP information 902 is a field for storing the identification information of the PoP 500 to which the transfer apparatus 200 belongs as a value. There are also transfer devices 200 that are not included in the PoP 500, such as the transfer devices 206 and 207. In the entry of the transfer device 200 not included in the PoP 500, the PoP information 902 stores a number that is not used as PoP identification information, for example, “−1”. The port information 903 is a field for storing a port number included in the transfer apparatus 200 as a value.

(物理リンク情報テーブル)
図14は、物理リンク情報テーブル148の記憶内容例を示す説明図である。物理リンク情報テーブル148は、物理リンク400(401〜406、451〜455)の情報を保持するテーブルである。物理リンク情報テーブル148は、フィールドとして、リンクID701と、リンク端点の装置情報702と、リンク間距離703とを有し、各フィールド701〜703の同一行の値の組み合わせがエントリを構成する。
(Physical link information table)
FIG. 14 is an explanatory diagram showing an example of the contents stored in the physical link information table 148. The physical link information table 148 is a table that holds information on the physical links 400 (401 to 406, 451 to 455). The physical link information table 148 has, as fields, a link ID 701, link end point device information 702, and an inter-link distance 703, and combinations of values in the same row of the fields 701 to 703 constitute an entry.

リンクID701は、値として、物理リンク400の識別情報を格納するフィールドである。リンク端点の装置情報702は、値として、当該物理リンク400の両端に接続される装置(ルータ300、転送装置200)のポートのポート番号を格納するフィールドである。リンク間距離703は、物理リンク400の配線長を格納するフィールドである。リンク間距離703は、管理者により適宜入力される。物理リンク400の端点がルータ300の場合、リンク間距離703を入力する必要はない。   The link ID 701 is a field that stores identification information of the physical link 400 as a value. The device information 702 of the link end point is a field that stores the port number of the port of the device (router 300, transfer device 200) connected to both ends of the physical link 400 as a value. The inter-link distance 703 is a field for storing the wiring length of the physical link 400. The link distance 703 is appropriately input by the administrator. When the end point of the physical link 400 is the router 300, it is not necessary to input the inter-link distance 703.

(パス管理テーブル)
図15は、パス管理テーブル149の記憶内容例を示す説明図である。パス管理テーブル149は、パスを管理するテーブルである。パスは、仮想ルータ10を経由する隣接ルータ300間の経路である。パス管理テーブル149は、フィールドとして、パスID751と、パス端点転送装置リスト752と、パス端点ルータリスト753と、構成リンク754と、パス間コスト755と、転送ラベル値リスト756とを有し、各フィールド751〜756の同一行の値の組み合わせがエントリを構成する。
(Path management table)
FIG. 15 is an explanatory diagram of an example of the contents stored in the path management table 149. The path management table 149 is a table for managing paths. A path is a path between adjacent routers 300 via the virtual router 10. The path management table 149 includes, as fields, a path ID 751, a path endpoint transfer device list 752, a path endpoint router list 753, a configuration link 754, an inter-path cost 755, and a transfer label value list 756. A combination of values in the same row in the fields 751 to 756 constitutes an entry.

パスID751は、パスを特定する識別情報(パスID)を格納するフィールドである。パス端点転送装置リスト752は、転送装置網10において当該パスの両端点に存在する転送装置200の識別情報とそのポート番号を格納するフィールドである。パス端点ルータリスト753は、当該パスの端点に接続されているルータ300の識別情報を格納するフィールドである。構成リンク754は、当該パス上の物理的な回線である物理リンク400の識別番号を格納するフィールドである。   The path ID 751 is a field for storing identification information (path ID) for specifying a path. The path endpoint transfer device list 752 is a field for storing identification information and port numbers of the transfer devices 200 existing at both ends of the path in the transfer device network 10. The path end point router list 753 is a field for storing identification information of the router 300 connected to the end point of the path. The configuration link 754 is a field for storing the identification number of the physical link 400 that is a physical line on the path.

パス間コスト755は、当該パスのコスト値を格納するフィールドである。本実施例では、たとえば、構成リンク754に格納された物理リンク400の合計距離がコスト値として格納される。転送ラベル値リスト756は、パス端点転送装置リスト752に示される転送装置200の識別情報とそのポート番号に設定されるMPLSラベルの値を格納するフィールドである。これにより、当該パスを通るべきパケットが区別される。パス端点転送装置リスト752には転送装置200の識別情報とそのポート番号が2つ格納され、また、転送ラベル値リスト756には、MPLSラベル値が2つ格納される。パス端点転送装置リスト752と転送ラベル値リスト756にそれぞれ記録されている2つの値は、格納されている順番にそれぞれ対応する。   The inter-path cost 755 is a field for storing the cost value of the path. In this embodiment, for example, the total distance of the physical links 400 stored in the configuration link 754 is stored as the cost value. The transfer label value list 756 is a field for storing the identification information of the transfer device 200 shown in the path endpoint transfer device list 752 and the value of the MPLS label set to the port number. As a result, packets that should pass through the path are distinguished. The path endpoint transfer device list 752 stores two identification information of the transfer device 200 and its port number, and the transfer label value list 756 stores two MPLS label values. The two values recorded in the path endpoint transfer device list 752 and the transfer label value list 756 respectively correspond to the stored order.

例えば、エントリ775のパス端点転送装置リスト752の1つ目に格納されている転送装置201のポート番号(2/1)には、転送ラベル値リスト756の1つ目に格納されているMPLSラベル値の「4001」が対応する。また、エントリ775のパス端点転送装置リスト752の2つ目に格納されている転送装置202のポート番号(2/1)には、転送ラベル値リスト756の2つ目に格納されているMPLSラベル値の「4004」が対応している。パスID751の値が「601」のエントリ775が、図1のパスP1に対応し、パスID751の値が「607」のエントリ781が、図1のパスP2に対応し、パスID751の値が「610」のエントリ784が、図1のパスP3に対応する。   For example, the port number (2/1) of the transfer device 201 stored in the first path endpoint transfer device list 752 of the entry 775 contains the MPLS label stored in the first transfer label value list 756. The value “4001” corresponds. The port number (2/1) of the transfer device 202 stored in the second of the path endpoint transfer device list 752 of the entry 775 contains the MPLS label stored in the second of the transfer label value list 756. The value “4004” corresponds. An entry 775 with a path ID 751 value “601” corresponds to the path P1 in FIG. 1, an entry 781 with a path ID 751 value “607” corresponds to the path P2 in FIG. 1, and the path ID 751 value “ The entry 784 “610” corresponds to the path P3 in FIG.

<制御サーバ100による転送制御処理>
つぎに、本実施例にかかる制御サーバ100による転送制御処理について説明する。転送制御処理では、制御サーバ100は、(1)グループ分け処理、(2)ルータ接続による経路広告処理、(3)新規経路取得処理の順に実行する。
<Transfer Control Processing by Control Server 100>
Next, transfer control processing by the control server 100 according to the present embodiment will be described. In the transfer control process, the control server 100 executes (1) grouping process, (2) route advertisement process by router connection, and (3) new route acquisition process.

(1)グループ分け処理では、グループ分け処理部122は、図1に示したように転送装置200をPoP500に従って転送グループにグループ分けする。仮想ルータ機能部121は、ルータ301〜305との間でBGPのOpenメッセージを処理する。これにより、仮想ルータ機能部121とルータ301〜305との間でeBGPの隣接関係が成立する。eBGPの隣接関係が成立すると、仮想ルータ機能部121は、図10の(A)に示した隣接ルータ管理テーブル144のエントリ825〜829の接続状態808を「通信可」に書き換える。これにより、隣接ルータ管理テーブル144は、図10の(B)の状態となる。   (1) In the grouping process, the grouping processing unit 122 groups the transfer devices 200 into transfer groups according to the PoP 500 as shown in FIG. The virtual router function unit 121 processes a BGP Open message with the routers 301 to 305. As a result, an eBGP adjacency relationship is established between the virtual router function unit 121 and the routers 301 to 305. When the eBGP adjacency relationship is established, the virtual router function unit 121 rewrites the connection state 808 of the entries 825 to 829 in the adjacent router management table 144 illustrated in FIG. As a result, the adjacent router management table 144 is in the state shown in FIG.

(2)ルータ接続による経路広告処理では、仮想ルータ機能部121は、(1)グループ分け処理でeBGPの隣接関係になったルータ301〜305に対して図7Aの経路情報テーブル141で保持されているネットワークアドレスF〜Jに対する経路情報を広告する。また、隣接ルータ301〜305がもつネットワークアドレスA〜Eに対する経路情報が、仮想ルータ機能部121に広告される。   (2) In the route advertisement processing by router connection, the virtual router function unit 121 holds (1) the route information table 141 in FIG. 7A for the routers 301 to 305 that have become eBGP adjacency in the grouping processing. The route information for the existing network addresses F to J is advertised. Further, the route information for the network addresses A to E of the adjacent routers 301 to 305 is advertised to the virtual router function unit 121.

(3)新規経路取得処理では、仮想ルータ機能部121は、(2)ルータ接続による経路広告処理によって広告された新規経路を取得する。これにより、各転送グループの転送装置200は、パケットが転送装置網10に入力されると、図9Cのグループ別現経路情報テーブル1000に従ったパケット転送が行われるように設定される。したがって、図9Cのグループ別現経路情報テーブル1000に従ったパケット転送が実行される。   (3) In the new route acquisition process, the virtual router function unit 121 acquires a new route advertised by (2) route advertisement processing by router connection. Thereby, the transfer device 200 of each transfer group is set so that when a packet is input to the transfer device network 10, packet transfer is performed according to the group-specific current route information table 1000 of FIG. 9C. Therefore, packet transfer is performed according to the group-specific current route information table 1000 of FIG. 9C.

以下、上述した(1)グループ分け処理、(2)ルータ接続による経路広告処理、および(3)新規経路取得処理の詳細な処理手順例について説明する。   Hereinafter, detailed processing procedure examples of the above-described (1) grouping processing, (2) route advertisement processing by router connection, and (3) new route acquisition processing will be described.

なお、(1)グループ分け処理の実行前の各テーブルの状態は、以下のとおりである。図3に示した入力転送テーブル225および図5に示した出力転送テーブル245は空である。転送装置200のラベル転送テーブル235は、図4に示した内容である。図7に示した経路情報テーブル141は、図7の(A)に示した内容である。図8に示した差分経路情報テーブル142は空である。グループ別経路情報データベース143に含まれるグループ別現経路情報テーブル1000およびグループ別旧経路情報テーブル1050は、空である(図9A)。   (1) The state of each table before execution of the grouping process is as follows. The input transfer table 225 shown in FIG. 3 and the output transfer table 245 shown in FIG. 5 are empty. The label transfer table 235 of the transfer device 200 has the contents shown in FIG. The route information table 141 shown in FIG. 7 has the contents shown in FIG. The difference path information table 142 shown in FIG. 8 is empty. The group current route information table 1000 and the group old route information table 1050 included in the group route information database 143 are empty (FIG. 9A).

図10に示した隣接ルータ管理テーブル144は、図10の(A)に示した内容である。図11に示したグループ情報テーブル145は、図11の(A)に示した内容である。なお、(1)グループ分け処理において初期化されるため、エントリが残存していてもよい。図12に示したPoP情報テーブル146は、図12の(A)に示した内容である。なお、図12の(A)では、PoP優先度852の降順にエントリ875〜878がソートされているが、(1)グループ分け処理の実行前ではエントリ875〜878の順番は問わない。転送装置情報テーブル147は、図13に示した内容である。物理リンク情報テーブル148は、図14に示した内容である。パス管理テーブル149は、図15に示した内容である。   The adjacent router management table 144 shown in FIG. 10 has the contents shown in FIG. The group information table 145 shown in FIG. 11 has the contents shown in FIG. Note that (1) the entry may remain because it is initialized in the grouping process. The PoP information table 146 shown in FIG. 12 has the contents shown in FIG. In FIG. 12A, entries 875-878 are sorted in descending order of PoP priority 852, but (1) the order of entries 875-878 does not matter before the grouping process is executed. The transfer device information table 147 has the contents shown in FIG. The physical link information table 148 has the contents shown in FIG. The path management table 149 has the contents shown in FIG.

<(1)グループ分け処理>
図16は、グループ分け処理部122が実行するグループ分け処理(F2000)の詳細な処理手順例を示すフローチャートである。グループ分け処理(F2000)はPoP優先度が変更されたことを契機に実行される。PoP優先度は、管理者によって変更される場合と、システムの状況変化に応じて自動変更される場合がある。PoP優先度が自動設定変更される場合については後述する。グループ分け処理部122は、グループ情報テーブル145のエントリを全て削除する(F2004)。グループ情報テーブル145は、図11の(A)の状態となる。
<(1) Grouping process>
FIG. 16 is a flowchart illustrating a detailed processing procedure example of the grouping processing (F2000) executed by the grouping processing unit 122. The grouping process (F2000) is executed when the PoP priority is changed. The PoP priority may be changed by an administrator, or may be automatically changed according to a change in system status. The case where the PoP priority is automatically changed will be described later. The grouping processing unit 122 deletes all entries in the group information table 145 (F2004). The group information table 145 is in the state shown in FIG.

つぎに、グループ分け処理部122は、変数GROUP_NUMに0を代入する(F2008)。変数GROUP_NUMは、グループ情報テーブル145のグループID951に対応する変数である。つぎに、グループ分け処理部122は、図12の(A)に示したように、PoP情報テーブル146をPoP優先度852の値が大きい順にソートする(F2012)。なお、PoP優先度852の値が同じ値となるエントリが複数ある場合、PoP優先度852の値が同じエントリ同士でPoP_IDの昇順にソートされる。   Next, the grouping processing unit 122 substitutes 0 for the variable GROUP_NUM (F2008). The variable GROUP_NUM is a variable corresponding to the group ID 951 of the group information table 145. Next, as shown in FIG. 12A, the grouping processing unit 122 sorts the PoP information table 146 in descending order of the PoP priority 852 (F2012). When there are a plurality of entries having the same value of the PoP priority 852, the entries having the same value of the PoP priority 852 are sorted in the ascending order of PoP_ID.

つぎに、グループ分け処理部122は、ループカウンタiに1を代入する(F2016)。ループカウンタiは、処理対象となるPoP情報テーブル146のエントリを特定する変数である。i=1の場合、1番目のエントリ878が処理対象である。つぎに、グループ分け処理部122は、ループカウンタiがPoP情報テーブル146のエントリ数以下であるか否かを判断する(F2020)。図12の(A)の例では、PoP情報テーブル146のエントリ数は「4」である。ループカウンタiがPoP情報テーブル146のエントリ数以下である場合(F2020:Yes)、F2024に移行する。一方、ループカウンタiがPoP情報テーブル146のエントリ数以下でない場合(F2020:No)、処理対象となるエントリが存在しないことにあるため、グループ分け処理部122は、グループ分け処理(F2000)を終了する。   Next, the grouping processing unit 122 substitutes 1 for the loop counter i (F2016). The loop counter i is a variable that identifies an entry in the PoP information table 146 to be processed. When i = 1, the first entry 878 is a processing target. Next, the grouping processing unit 122 determines whether or not the loop counter i is equal to or less than the number of entries in the PoP information table 146 (F2020). In the example of FIG. 12A, the number of entries in the PoP information table 146 is “4”. When the loop counter i is equal to or smaller than the number of entries in the PoP information table 146 (F2020: Yes), the process proceeds to F2024. On the other hand, if the loop counter i is not less than the number of entries in the PoP information table 146 (F2020: No), the grouping processing unit 122 ends the grouping process (F2000) because there is no entry to be processed. To do.

図12の(A)の例では、ループカウンタiの最大値は「4」であり、i=1のとき、エントリ878が処理対象として選択され、i=2のとき、エントリ876が選択され、i=3のとき、エントリ875が選択され、i=4のとき、エントリ877が選択される。i=5になると、エントリ数以下でないため(F2020:No)、処理対象となるエントリが存在しない。これにより、グループ分け処理部122は、グループ分け処理(F2000)を終了する。   In the example of FIG. 12A, the maximum value of the loop counter i is “4”. When i = 1, the entry 878 is selected as a processing target, and when i = 2, the entry 876 is selected. When i = 3, entry 875 is selected, and when i = 4, entry 877 is selected. When i = 5, it is not less than the number of entries (F2020: No), so there is no entry to be processed. Thereby, the grouping process part 122 complete | finishes a grouping process (F2000).

F2020:Yesの場合、グループ分け処理部122は、PoP情報テーブル146のi番目のエントリにおいて、PoP優先度852の値が所定値(本実施例では例として「0」)より大きいか否かを判断する(F2024)。すなわち、グループ分け処理部122は、処理対象となるi番目のエントリが優先すべきPoPであるか否かを判断する。PoP優先度852の値が「0」より大きい場合(F2024:Yes)、i番目のエントリが優先すべきPoPであるとして、F2040に移行する。一方、PoP優先度852の値が0より大きくない場合(F2024:No)、F2028に移行する。   In the case of F2020: Yes, the grouping processing unit 122 determines whether the value of the PoP priority 852 is larger than a predetermined value (“0” as an example in this embodiment) in the i-th entry of the PoP information table 146. Judgment is made (F2024). That is, the grouping processing unit 122 determines whether or not the i-th entry to be processed is a PoP that should be prioritized. When the value of the PoP priority 852 is larger than “0” (F2024: Yes), the i-th entry is determined as the PoP to be prioritized, and the process proceeds to F2040. On the other hand, when the value of the PoP priority 852 is not greater than 0 (F2024: No), the process proceeds to F2028.

図12の(A)の例では、i=1のとき、エントリ878についてF2040が実行され、i=2のとき、エントリ876についてF2040が実行され、i=3のとき、エントリ875についてF2028が実行され、i=4のとき、エントリ877についてF2028が実行される。   In the example of FIG. 12A, F2040 is executed for entry 878 when i = 1, F2040 is executed for entry 876 when i = 2, and F2028 is executed for entry 875 when i = 3. When i = 4, F2028 is executed for the entry 877.

F2024:Yesの場合、グループ分け処理部122は、変数GROUP_NUMを1増加する(F2040)。これにより、i番目のエントリで特定されるPoP500が所属するグループのグループID951の値が決定される。つぎに、グループ分け処理部122は、グループ情報テーブル145に、グループID951に変数GROUP_NUMを設定し、所属PoPリスト952にPoP情報テーブル146のi番目のエントリのPoP_ID851の値を設定する(F2044)。   In the case of F2024: Yes, the grouping processing unit 122 increments the variable GROUP_NUM by 1 (F2040). Thereby, the value of the group ID 951 of the group to which the PoP 500 specified by the i-th entry belongs is determined. Next, the grouping processing unit 122 sets the variable GROUP_NUM for the group ID 951 in the group information table 145, and sets the value of the PoP_ID 851 of the i-th entry in the PoP information table 146 in the belonging PoP list 952 (F2044).

i=1のときは、変数GROUP_NUM=1となるため(F2040)、i=1のときのエントリ878においてPoP_ID851で特定されるPoP504の所属グループは、グループ1となる。したがって、グループ分け処理部122は、図11の(A)に示したグループ情報テーブル145にエントリ601を作成し、当該エントリ601のグループID951に変数GROUP_NUMの値「1」を設定し、所属PoPリスト952に「504」を設定する(F2044)。これにより、グループ情報テーブル145は、図11の(A)から(B)の内容になる。   Since variable GROUP_NUM = 1 when i = 1 (F2040), the group to which the PoP 504 identified by PoP_ID 851 in the entry 878 when i = 1 is group 1. Therefore, the grouping processing unit 122 creates the entry 601 in the group information table 145 shown in FIG. 11A, sets the value “1” of the variable GROUP_NUM to the group ID 951 of the entry 601, and belongs to the belonging PoP list. “504” is set to 952 (F2044). As a result, the group information table 145 has the contents from (A) to (B) in FIG.

i=2のときは、変数GROUP_NUM=2となるため(F2040)、i=2のときのエントリ876においてPoP_ID851で特定されるPoP502の所属グループは、グループ2となる。したがって、グループ分け処理部122は、図11の(B)に示したグループ情報テーブル145にエントリ602を作成し、当該エントリ602のグループID951に変数GROUP_NUMの値「2」を設定し、所属PoPリスト952に「502」を設定する(F2044)。これにより、グループ情報テーブル145は、図11の(B)から(C)の内容になる。   Since variable GROUP_NUM = 2 when i = 2 (F2040), the group to which the PoP 502 identified by the PoP_ID 851 in the entry 876 when i = 2 is group 2. Therefore, the grouping processing unit 122 creates the entry 602 in the group information table 145 shown in FIG. 11B, sets the value “2” of the variable GROUP_NUM in the group ID 951 of the entry 602, and belongs to the belonging PoP list. “502” is set to 952 (F2044). Thereby, the group information table 145 has the contents from (B) to (C) in FIG.

つぎに、グループ分け処理部122は、図12の(A)に示したPoP情報テーブル146のi番目のエントリにおいて、旧所属グループ854に現所属グループ855の値を代入し、現所属グループ855に変数GROUP_NUMを代入する(F2048)。旧所属グループ854および現所属グループ855の初期値は「1」である。i=1のときのエントリ878では、旧所属グループ854の値「1」が現所属グループ855の値「1」に上書きされ、現所属グループ855の値「1」に、現所属グループ855に変数GROUP_NUMである「1」が上書きされる。i=2のときのエントリ876では、旧所属グループ854の値「1」が現所属グループ855の値「1」に上書きされ、現所属グループ855の値「1」に、現所属グループ855に変数GROUP_NUMである「2」が上書きされる(図12の(B)を参照。)。つぎに、グループ分け処理部122は、ループカウンタiを1増加して(F2052)、F2020に戻る。   Next, the grouping processing unit 122 substitutes the value of the current group 855 for the old group 854 in the i-th entry of the PoP information table 146 shown in FIG. The variable GROUP_NUM is substituted (F2048). The initial value of the former affiliation group 854 and the current affiliation group 855 is “1”. In the entry 878 when i = 1, the value “1” of the former member group 854 is overwritten with the value “1” of the current member group 855, and the value “1” of the current member group 855 is changed to a variable in the current member group 855. GROUP_NUM “1” is overwritten. In the entry 876 when i = 2, the value “1” of the former member group 854 is overwritten with the value “1” of the current member group 855, and the value “1” of the current member group 855 is changed to a variable in the current member group 855. “2” that is GROUP_NUM is overwritten (see FIG. 12B). Next, the grouping processing unit 122 increments the loop counter i by 1 (F2052), and returns to F2020.

F2024:Noの場合、グループ分け処理部122は、変数GROUP_NUMが1より小さいか否かを判断する(F2028)。すなわち、グループ分け処理部122は、グループ情報テーブル145のエントリ数が0か1以上か、換言すれば、生成されたグループ数が0個か1個以上かを判断する。PoP情報テーブル146において、PoP優先度852の値が0より大きいエントリ数が1以上あれば(F2028:No)、F2100が実行され、PoP優先度852の値が0より大きいエントリ数が0であれば、(F2028:Yes)、すなわち、図12のグループ情報テーブル145の全エントリのPoP優先度852の値が「0」である場合、F2032が実行される。   In the case of F2024: No, the grouping processing unit 122 determines whether or not the variable GROUP_NUM is smaller than 1 (F2028). That is, the grouping processing unit 122 determines whether the number of entries in the group information table 145 is 0 or 1 or more, in other words, whether the number of generated groups is 0 or 1 or more. In the PoP information table 146, if the number of entries whose PoP priority 852 is greater than 0 is 1 or more (F2028: No), F2100 is executed, and the number of entries whose PoP priority 852 is greater than 0 is 0. For example, when (F2028: Yes), that is, when the value of the PoP priority 852 of all entries in the group information table 145 of FIG. 12 is “0”, F2032 is executed.

図12の場合、PoP優先度852の値が0より大きいエントリ数は「2」である。すなわち、i=3の場合のエントリ875、i=4の場合のエントリ877について、F2028を実行する場合、すでに変数GROUP_NUMの値は「2」になっている。したがって、グループ分け処理部122は、i=3、4の場合、変数GROUP_NUMの値は「2」であるため(F2028:No)、PoPグループ振り分け処理(F2100)を実行する。   In the case of FIG. 12, the number of entries with a PoP priority 852 value greater than 0 is “2”. That is, when F2028 is executed for entry 875 when i = 3 and entry 877 when i = 4, the value of variable GROUP_NUM is already “2”. Therefore, when i = 3, 4, the grouping processing unit 122 executes the PoP group distribution process (F2100) because the value of the variable GROUP_NUM is “2” (F2028: No).

F2028:Noの場合、グループ分け処理部122は、PoPのグループ振り分け処理を実行する(F2100)。PoP500のグループ振り分け処理(F2100)は、i番目のエントリを引数として実行される。PoP500のグループ振り分け処理(F2100)は、この時点で所属グループが決まっていないPoP500を、当該PoP500に距離的に近いグループに所属させる処理である。PoP500のグループ振り分け処理(F2100)の詳細については図17で後述する。PoP500のグループ振り分け処理(F2100)のあと、グループ分け処理部122は、ループカウンタiを1増加して(F2056)、F2020に戻る。   In the case of F2028: No, the grouping processing unit 122 executes PoP group distribution processing (F2100). The group distribution process (F2100) of the PoP 500 is executed with the i-th entry as an argument. The group distribution process (F2100) of the PoP 500 is a process of causing the PoP 500, to which no group belongs at this time, belongs to a group that is close to the PoP 500 in terms of distance. Details of the group distribution process (F2100) of the PoP 500 will be described later with reference to FIG. After the group distribution process of PoP500 (F2100), the grouping processing unit 122 increments the loop counter i by 1 (F2056) and returns to F2020.

F2028:Yesの場合、グループ分け処理部122は、グループ情報テーブル145において、グループID951に「1」を設定し、所属PoPリスト952に、PoP情報テーブル146の全エントリのPoP_ID851の値を、設定する(F2032)。   In the case of F2028: Yes, the grouping processing unit 122 sets “1” in the group ID 951 in the group information table 145, and sets the value of the PoP_ID 851 of all entries in the PoP information table 146 in the belonging PoP list 952. (F2032).

つぎに、グループ分け処理部122は、PoP情報テーブル146の全エントリにおいて、旧所属グループ854に現所属グループ855の値を代入し、現所属グループ855に「1」を代入する(F2036)。これにより、図12のグループ情報テーブル145の全エントリのPoP優先度852の値が「0」である場合、当該全エントリのPoP500が、グループID:1の1つのグループに所属することになる。これにより、グループ分け処理部122は、グループ分け処理(F2000)を終了する。   Next, the grouping processing unit 122 substitutes the value of the current affiliation group 855 for the old affiliation group 854 and assigns “1” to the current affiliation group 855 in all entries of the PoP information table 146 (F2036). Accordingly, when the value of the PoP priority 852 of all the entries in the group information table 145 of FIG. 12 is “0”, the PoP 500 of all the entries belongs to one group of group ID: 1. Thereby, the grouping process part 122 complete | finishes a grouping process (F2000).

(PoPのグループ振り分け処理)
図17は、図16に示したPoP500のグループ振り分け処理(F2100)の詳細な処理手順例を示すフローチャートである。PoP500のグループ振り分け処理(F2100)は、PoP情報テーブルのi番目のエントリを引数として用いる。図12の例では、PoP優先度852の値が「0」であるi=3以降のエントリ875,877が処理対象となる。グループ情報テーブル145は、i=3のときは、図11の(C)の状態であり、i=4のときは、図11の(D)の状態である。
(PoP group distribution process)
FIG. 17 is a flowchart illustrating a detailed processing procedure example of the group distribution processing (F2100) of the PoP 500 illustrated in FIG. The PoP 500 group distribution process (F2100) uses the i-th entry of the PoP information table as an argument. In the example of FIG. 12, entries 875 and 877 after i = 3 in which the value of the PoP priority 852 is “0” are processed. The group information table 145 is in the state shown in FIG. 11C when i = 3, and in the state shown in FIG. 11D when i = 4.

グループ分け処理部122は、変数CANDIDATE_GROUP_IDに1を代入する(F2104)。変数CANDIDATE_GROUP_IDは、グループ情報テーブル145のグループID951に対応する変数である。つぎに、グループ分け処理部122は、グループ情報テーブル145のエントリ数が2以上か1以下かを判断する(ステップS2108)。2以上である場合(F2108:Yes)、すなわち、グループ数が複数である場合、F2112に移行し、1以下である場合(F2108:No)、F2152に移行する。図11の(C)の場合、グループ情報テーブル145のエントリ数は「2」(エントリ601,602)であるため、F2112に移行する。   The grouping processing unit 122 substitutes 1 for the variable CANDIDATE_GROUP_ID (F2104). The variable CANDIDATE_GROUP_ID is a variable corresponding to the group ID 951 in the group information table 145. Next, the grouping processing unit 122 determines whether the number of entries in the group information table 145 is 2 or more and 1 or less (step S2108). When the number is 2 or more (F2108: Yes), that is, when the number of groups is plural, the process proceeds to F2112. When the number is 1 or less (F2108: No), the process proceeds to F2152. In the case of (C) in FIG. 11, the number of entries in the group information table 145 is “2” (entries 601 and 602), and thus the process proceeds to F2112.

F2108:Yesの場合、グループ分け処理部122は、PoP情報テーブル146のi番目のエントリにおいて、所属転送装置リスト853の先頭の値を変数NOTICE_NE_IDに代入する(F2112)。ここで「NE」はNetwork Entityの略語で転送装置200を表す。変数NOTICE_NE_IDは、転送装置網10内のパスの一方の端点となる転送装置200を示す。   In the case of F2108: Yes, the grouping processing unit 122 substitutes the first value of the belonging transfer device list 853 in the variable NOTICE_NE_ID in the i-th entry of the PoP information table 146 (F2112). Here, “NE” is an abbreviation of Network Entity and represents the transfer device 200. The variable NOTICE_NE_ID indicates the transfer device 200 that is one end point of the path in the transfer device network 10.

i=3のときにPoP500のグループ振り分け処理(F2100)を実行する場合、i=3のときのエントリ875における所属転送装置リスト853の先頭の値は「201」である。グループ分け処理部122は、「201」を変数NOTICE_NE_IDに代入する。i=4のときにPoPのグループ振り分け処理(F2100)を実行する場合、i=4のときのエントリ877における所属転送装置リスト853の先頭の値は「203」である。グループ分け処理部122は、「203」を変数NOTICE_NE_IDに代入する。   When the PoP 500 group distribution process (F2100) is executed when i = 3, the top value of the belonging transfer device list 853 in the entry 875 when i = 3 is “201”. The grouping processing unit 122 substitutes “201” for the variable NOTICE_NE_ID. When the PoP group distribution process (F2100) is executed when i = 4, the top value of the belonging transfer device list 853 in the entry 877 when i = 4 is “203”. The grouping processing unit 122 substitutes “203” into the variable NOTICE_NE_ID.

つぎに、グループ分け処理部122は、ループカウンタjに1を代入し(F2116)、変数MIN_COSTに「65535」を代入する(F2120)。ループカウンタjは、処理対象となるグループ情報テーブル145のエントリを特定する変数である。変数MIN_COSTは、最小コスト値を検索するための変数であり、F2116では、設定されうるコスト値よりも大きな値が初期値として変数MIN_COSTに代入される。ここでは比較前の変数MIN_COSTの初期値として最大値65535が代入される。   Next, the grouping processing unit 122 substitutes 1 for the loop counter j (F2116), and substitutes “65535” for the variable MIN_COST (F2120). The loop counter j is a variable that identifies an entry in the group information table 145 to be processed. The variable MIN_COST is a variable for searching for the minimum cost value. In F2116, a value larger than the cost value that can be set is substituted into the variable MIN_COST as an initial value. Here, the maximum value 65535 is substituted as the initial value of the variable MIN_COST before the comparison.

つぎに、グループ分け処理部122は、ループカウンタjがグループ情報テーブル145のエントリ数以下であるか否かを判断する(F2124)。図11の(C)の例では、グループ情報テーブル145のエントリ数は「2」である。ループカウンタjがグループ情報テーブル145のエントリ数以下である場合(F2124:Yes)、F2128に移行する。一方、ループカウンタjがグループ情報テーブル145のエントリ数以下でない場合(F2124:No)、処理対象となるエントリが存在しないことにあるため、F2152に移行する。   Next, the grouping processing unit 122 determines whether or not the loop counter j is equal to or less than the number of entries in the group information table 145 (F2124). In the example of FIG. 11C, the number of entries in the group information table 145 is “2”. When the loop counter j is equal to or less than the number of entries in the group information table 145 (F2124: Yes), the process proceeds to F2128. On the other hand, if the loop counter j is not less than or equal to the number of entries in the group information table 145 (F2124: No), the process proceeds to F2152 because there is no entry to be processed.

F2124:Yesの場合、グループ分け処理部122は、グループ情報テーブル145のj番目のエントリの所属PoPリスト952の先頭のPoP_IDをもつエントリをPoP情報テーブル146から検索する。たとえば、図11の(C)の例では、j=1の場合のエントリはエントリ601である。したがって、エントリ601における所属PoPリスト952の先頭のPoP_ID「504」が特定される。グループ分け処理部122は、PoP情報テーブル146を検索し、PoP情報テーブル146から、PoP_ID851が「504」であるエントリ878を特定する。   In the case of F2124: Yes, the grouping processing unit 122 searches the PoP information table 146 for an entry having the first PoP_ID in the belonging PoP list 952 of the jth entry in the group information table 145. For example, in the example of FIG. 11C, the entry when j = 1 is the entry 601. Therefore, the top PoP_ID “504” of the belonging PoP list 952 in the entry 601 is specified. The grouping processing unit 122 searches the PoP information table 146, and identifies the entry 878 whose PoP_ID 851 is “504” from the PoP information table 146.

そして、グループ分け処理部122は、検索したエントリの所属転送装置リスト853の先頭にある転送装置200の識別情報を変数CANDIDATE_NE_IDに代入する(F2128)。変数CANDIDATE_NE_IDは、転送装置網10内のパスの他方の端点となる転送装置200を示す。検索したエントリがエントリ878の場合、所属転送装置リスト853の先頭にある転送装置200の識別情報は「204」である。グループ分け処理部122は、「204」を変数CANDIDATE_NE_IDに代入する。   Then, the grouping processing unit 122 substitutes the identification information of the transfer device 200 at the head of the belonging transfer device list 853 of the searched entry into the variable CANDIDATE_NE_ID (F2128). The variable CANDIDATE_NE_ID indicates the transfer device 200 that is the other end point of the path in the transfer device network 10. When the searched entry is the entry 878, the identification information of the transfer device 200 at the head of the belonging transfer device list 853 is “204”. The grouping processing unit 122 substitutes “204” for the variable CANDIDATE_NE_ID.

つぎに、グループ分け処理部122は、図15に示したパス管理テーブル149を参照して、パス端点転送装置リスト752に変数NOTICE_NE_IDと変数CANDIDATE_NE_IDとを含むエントリを特定する。変数NOTICE_NE_IDは「201」であり、変数CANDIDATE_NE_IDは「204」である場合、グループ分け処理部122は、パスID751が「603」であるエントリ777を特定する。   Next, the grouping processing unit 122 refers to the path management table 149 illustrated in FIG. 15 and identifies an entry including the variable NOTICE_NE_ID and the variable CANDIDATE_NE_ID in the path endpoint transfer device list 752. When the variable NOTICE_NE_ID is “201” and the variable CANDIDATE_NE_ID is “204”, the grouping processing unit 122 identifies the entry 777 whose path ID 751 is “603”.

そして、グループ分け処理部122は、特定したエントリのパス間コスト755を変数TEMP_COSTに代入する(F2132)。特定したエントリがエントリ777である場合、グループ分け処理部122は、特定したエントリ777のパス間コスト755の値「400」を変数TEMP_COSTに代入する。   Then, the grouping processing unit 122 substitutes the inter-path cost 755 of the identified entry for the variable TEMP_COST (F2132). When the identified entry is the entry 777, the grouping processing unit 122 substitutes the value “400” of the inter-path cost 755 of the identified entry 777 for the variable TEMP_COST.

つぎに、グループ分け処理部122は、変数MIN_COSTが変数TEMP_COSTより大きいか否かを判断する(F2136)。変数MIN_COSTが変数TEMP_COSTより大きい場合(F2136:Yes)、F2140に移行する。変数MIN_COSTが変数TEMP_COSTより大きくない場合(F2136:No)、F2148に移行する。F2132で特定したエントリ777の場合、変数MIN_COSTの「65535」がパス間コスト755の値「400」より大きいため、F2140に移行する。   Next, the grouping processing unit 122 determines whether or not the variable MIN_COST is larger than the variable TEMP_COST (F2136). When the variable MIN_COST is larger than the variable TEMP_COST (F2136: Yes), the process proceeds to F2140. When the variable MIN_COST is not larger than the variable TEMP_COST (F2136: No), the process proceeds to F2148. In the case of the entry 777 specified in F2132, since “65535” of the variable MIN_COST is larger than the value “400” of the inter-path cost 755, the process proceeds to F2140.

F2136:Yesの場合、F2140に移行して、グループ分け処理部122は、グループ情報テーブル145のj番目のエントリのグループID951の値をCANDIDATE_GROUP_IDに代入する(F2140)。j=1のときは、図11の(C)において、グループID951が「1」であるエントリ601のグループID「1」を変数CANDIDATE_GROUP_IDに代入する。   In the case of F2136: Yes, the process proceeds to F2140, and the grouping processing unit 122 substitutes the value of the group ID 951 of the jth entry in the group information table 145 for CANDIDATE_GROUP_ID (F2140). When j = 1, in FIG. 11C, the group ID “1” of the entry 601 whose group ID 951 is “1” is substituted into the variable CANDIDATE_GROUP_ID.

つぎに、グループ分け処理部122は、変数MIN_COSTに変数TEMP_COSTを代入する(F2144)。j=1のときは、グループ分け処理部122は、変数MIN_COSTの「65535」に、変数TEMP_COSTの「400」を代入して、変数MIN_COSTは「400」となる。F2144のあと、またはF2136:Noの場合、グループ分け処理部122は、ループカウンタjを1増加して(F2148)、F2124に戻る。j=2になった場合、図11の(C)に示したグループ情報テーブル145において、所属PoPリスト952の先頭のPoP_IDとして「502」が特定される。グループ分け処理部122は、PoP_ID851が「502」であるエントリ876をPoP情報テーブル146から検索する。   Next, the grouping processing unit 122 substitutes the variable TEMP_COST for the variable MIN_COST (F2144). When j = 1, the grouping processing unit 122 assigns “400” of the variable TEMP_COST to “65535” of the variable MIN_COST, and the variable MIN_COST becomes “400”. After F2144 or in the case of F2136: No, the grouping processing unit 122 increments the loop counter j by 1 (F2148) and returns to F2124. When j = 2, “502” is specified as the first PoP_ID of the belonging PoP list 952 in the group information table 145 shown in FIG. The grouping processing unit 122 searches the PoP information table 146 for an entry 876 whose PoP_ID 851 is “502”.

検索したエントリがエントリ876であるため、所属転送装置リスト853の先頭にある転送装置200の識別情報は「202」である。グループ分け処理部122は、「202」を変数CANDIDATE_NE_IDに代入する。また、変数NOTICE_NE_IDは「201」であり、変数CANDIDATE_NE_IDは「202」である。したがって、グループ分け処理部122は、パスID751が「601」であるエントリ775をパス管理テーブル149から特定する。   Since the searched entry is the entry 876, the identification information of the transfer device 200 at the head of the belonging transfer device list 853 is “202”. The grouping processing unit 122 assigns “202” to the variable CANDIDATE_NE_ID. The variable NOTICE_NE_ID is “201”, and the variable CANDIDATE_NE_ID is “202”. Therefore, the grouping processing unit 122 identifies the entry 775 whose path ID 751 is “601” from the path management table 149.

そして、グループ分け処理部122は、特定したエントリ775のパス間コスト755の値「200」を変数TEMP_COSTに代入する。つぎに、グループ分け処理部122は、変数MIN_COSTの「400」が変数TEMP_COSTの「200」より大きいため、F2140に移行する。グループ分け処理部122は、グループ情報テーブル145のj=2番目のエントリのグループID951の値「2」を変数CANDIDATE_GROUP_IDに代入する。また、グループ分け処理部122は、変数MIN_COSTの「400」に、変数TEMP_COSTの「200」を代入して、変数MIN_COSTは「200」となる。   Then, the grouping processing unit 122 substitutes the value “200” of the inter-path cost 755 of the identified entry 775 for the variable TEMP_COST. Next, since “400” of the variable MIN_COST is larger than “200” of the variable TEMP_COST, the grouping processing unit 122 proceeds to F2140. The grouping processing unit 122 substitutes the value “2” of the group ID 951 of the j = 2nd entry of the group information table 145 for the variable CANDIDATE_GROUP_ID. Further, the grouping processing unit 122 assigns “200” of the variable TEMP_COST to “400” of the variable MIN_COST, and the variable MIN_COST becomes “200”.

なお、本実施例では、変数MIN_COSTが最小となるようにPoP情報テーブル146のエントリのPoP_ID851で特定されるPoP500の所属先が変数CANDIDATE_GROUP_IDで特定されるグループに決定される。変数MIN_COSTが最小となるようにPoP500の所属先を決定するのが好ましいが、変数MIN_COSTは、最小値に限定されない。たとえば、変数MIN_COSTは、初期値「65535」よりも低い値であれば、最小値でなくてもよい。たとえば、得られた変数MIN_COSTのうち最大値よりも低い値でもよく、また、所定のしきい値よりも低い値でもよい。   In this embodiment, the affiliation of the PoP 500 specified by the PoP_ID 851 of the entry of the PoP information table 146 is determined to be a group specified by the variable CANDIDATE_GROUP_ID so that the variable MIN_COST is minimized. Although it is preferable to determine the position to which the PoP 500 belongs so that the variable MIN_COST is minimized, the variable MIN_COST is not limited to the minimum value. For example, the variable MIN_COST does not have to be the minimum value as long as the value is lower than the initial value “65535”. For example, the obtained variable MIN_COST may be a value lower than the maximum value, or may be a value lower than a predetermined threshold value.

このあと、グループ分け処理部122は、ループカウンタjを1増加してj=3とし、F2124に戻る。j=3の場合、F2124:Noとなり、F2152が実行される。F2108:1以下またはF2124:Noの場合、グループ分け処理部122は、グループ情報テーブル145において、グループID951の値が変数CANDIDATE_GROUP_IDであるエントリの所属PoPリスト952の末尾に、PoP情報テーブル146のi番目のエントリのPoP_ID851の値を追加する(F2152)。   Thereafter, the grouping processing unit 122 increments the loop counter j by 1 to set j = 3, and returns to F2124. When j = 3, F2124: No, and F2152 is executed. In the case of F2108: 1 or less or F2124: No, the grouping processing unit 122 adds the i-th item in the PoP information table 146 to the end of the belonging PoP list 952 of the entry whose group ID 951 value is the variable CANDIDATE_GROUP_ID in the group information table 145. The value of PoP_ID 851 of the entry is added (F2152).

上記の例では、最新の変数CANDIDATE_GROUP_IDは、グループ情報テーブル145のj=2番目のエントリのグループID951の値「2」である。したがって、グループ分け処理部122は、グループ情報テーブル145において、2番目のエントリであるグループID951が「2」のエントリの所属PoPリスト952の末尾に、PoPのグループ振り分け処理(F2100)の引数を示すループカウンタi=3番目のエントリ875のPoP_ID851の値「501」を追加する。これにより、図11に示したグループ情報テーブル145は、(C)から(D)になる。   In the above example, the latest variable CANDIDATE_GROUP_ID is the value “2” of the group ID 951 of j = 2nd entry in the group information table 145. Therefore, the grouping processing unit 122 indicates an argument of the PoP group distribution process (F2100) at the end of the belonging PoP list 952 of the entry whose group ID 951 is “2” in the group information table 145. Loop counter i = PoP_ID 851 value “501” of the third entry 875 is added. As a result, the group information table 145 shown in FIG. 11 changes from (C) to (D).

つぎに、グループ分け処理部122は、PoP情報テーブル146のi番目のエントリにおいて、旧所属グループ854に現所属グループ855の値を代入し、現所属グループ855に変数CANDIDATE_GROUP_IDを代入する(F2156)。上記の例では、図12の(A)に示したPoP情報テーブル146のi=3番目のエントリ875において、グループ分け処理部122は、旧所属グループ854に現所属グループ855の値「1」を上書きし、現所属グループ855に、このときの変数CANDIDATE_GROUP_IDの値「2」を上書きする。これにより、図12の(A)に示したPoP情報テーブル146のi=3番目のエントリ875は、図12の(B)のようになる。   Next, in the i-th entry of the PoP information table 146, the grouping processing unit 122 substitutes the value of the current affiliation group 855 for the old affiliation group 854, and substitutes the variable CANDIDATE_GROUP_ID for the current affiliation group 855 (F2156). In the above example, in the i = third entry 875 of the PoP information table 146 shown in FIG. 12A, the grouping processing unit 122 sets the value “1” of the current group 855 to the old group 854. Overwrite and overwrite the current group 855 with the value “2” of the variable CANDIDATE_GROUP_ID at this time. As a result, the i = third entry 875 of the PoP information table 146 shown in FIG. 12A becomes as shown in FIG.

ここまでは、i=3番目のエントリ875を引数とした場合のPoPのグループ振り分け処理(F2100)について説明したが、i=4番目のエントリ877を引数とした場合のPoPのグループ振り分け処理(F2100)についても同様に処理される。この場合、F2112では、グループ分け処理部122は、エントリ877における所属転送装置リスト853のうち先頭の値「203」を変数NOTICE_NE_IDに代入する。   Up to this point, the PoP group distribution process (F2100) when the i = third entry 875 is used as an argument has been described. However, the PoP group distribution process (F2100) when the i = 4th entry 877 is used as an argument. ) Is similarly processed. In this case, in F2112, the grouping processing unit 122 substitutes the first value “203” in the belonging transfer device list 853 in the entry 877 for the variable NOTICE_NE_ID.

j=1のとき(F2116)、F2128では、グループ分け処理部122は、PoP_ID851の値がj=1番目のエントリ601における所属PoPリスト952の先頭の値「504」であるエントリ878を特定し、特定したエントリ878における所属転送装置リスト853の先頭の値「204」を変数CANDIDATE_NE_IDに代入する。   When j = 1 (F2116), in F2128, the grouping processing unit 122 identifies the entry 878 whose PoP_ID 851 value is the first value “504” of the belonging PoP list 952 in the j = 1st entry 601; The first value “204” of the belonging transfer device list 853 in the identified entry 878 is substituted into the variable CANDIDATE_NE_ID.

j=1のとき、F2132では、グループ分け処理部122は、パス管理テーブル15のパス端点転送装置リスト752に、変数NOTICE_NE_ID=「203」と変数CANDIDATE_NE_ID=「204」を含むエントリ782を特定し、エントリ782のパス間コスト755の値「300」をTEMP_COSTに代入する。   When j = 1, in F2132, the grouping processing unit 122 identifies the entry 782 including the variable NOTICE_NE_ID = “203” and the variable CANDIDATE_NE_ID = “204” in the path endpoint transfer device list 752 of the path management table 15. The value “300” of the inter-path cost 755 of the entry 782 is substituted into TEMP_COST.

j=1のとき、TEMP_COST「300」は、MIN_COST「65535」より小さいため(F2136:Yes)、F2140では、グループ分け処理部122は、j=1番目のエントリ601のグループID951の値「1」を変数CANDIDATE_GROUP_IDに代入する。j=1のとき、F2144では、グループ分け処理部122は、TEMP_COST「300」をMIN_COSTに設定する。そして、j=2となる(F2148)。   When j = 1, because TEMP_COST “300” is smaller than MIN_COST “65535” (F2136: Yes), in F2140, the grouping processing unit 122 sets the value “1” of the group ID 951 of j = 1st entry 601. Is substituted into the variable CANDIDATE_GROUP_ID. When j = 1, in F2144, the grouping processing unit 122 sets TEMP_COST “300” to MIN_COST. Then, j = 2 (F2148).

j=2のとき、F2128では、グループ分け処理部122は、PoP_ID851の値がj=2番目のエントリ602における所属PoPリスト952の先頭の値「502」であるエントリ876を特定し、特定したエントリ876における所属転送装置リスト853の先頭の値「202」を変数CANDIDATE_NE_IDに代入する。j=2のとき、F2132では、グループ分け処理部122は、パス管理テーブル15のパス端点転送装置リスト752に、変数NOTICE_NE_ID=「203」と変数CANDIDATE_NE_ID=「202」を含むエントリ779を特定し、エントリ779のパス間コスト755の値「300」をTEMP_COSTに代入する。   When j = 2, in F2128, the grouping processing unit 122 identifies the entry 876 whose PoP_ID 851 value is the first value “502” of the belonging PoP list 952 in the j = 2st entry 602, and identifies the identified entry The leading value “202” of the belonging transfer device list 853 in 876 is substituted into the variable CANDIDATE_NE_ID. When j = 2, in F2132, the grouping processing unit 122 identifies the entry 779 including the variable NOTICE_NE_ID = “203” and the variable CANDIDATE_NE_ID = “202” in the path endpoint transfer device list 752 of the path management table 15. The value “300” of the inter-path cost 755 of the entry 779 is substituted into TEMP_COST.

TEMP_COST「300」は、MIN_COST「300」と同じであるため(F2136:No)、F2140、F2114は実行されず、j=3となる(F2148)。このあと、グループ分け処理部122は、j=3であるためF2124:Noとなり、F2152を実行する。この時点で、最新の変数CANDIDATE_GROUP_IDは、j=1番目のエントリ601のグループID951の値「1」である。   Since TEMP_COST “300” is the same as MIN_COST “300” (F2136: No), F2140 and F2114 are not executed, and j = 3 (F2148). Thereafter, since j = 3, the grouping processing unit 122 performs F2124: No and executes F2152. At this time, the latest variable CANDIDATE_GROUP_ID is the value “1” of the group ID 951 of the j = 1st entry 601.

したがって、グループ分け処理部122は、グループ情報テーブル145において、1番目のエントリであるグループID951が「1」のエントリの所属PoPリスト952の末尾に、PoP500のグループ振り分け処理(F2100)の引数を示すループカウンタi=4番目のエントリ877のPoP_ID851の値「503」を追加する。これにより、図11に示したグループ情報テーブル145は、(D)から(E)になる。   Therefore, the grouping processing unit 122 indicates an argument of the group distribution processing (F2100) of the PoP 500 at the end of the belonging PoP list 952 of the entry whose group ID 951 is “1” in the group information table 145. The value “503” of the PoP_ID 851 of the loop counter i = fourth entry 877 is added. As a result, the group information table 145 shown in FIG. 11 changes from (D) to (E).

つぎに、グループ分け処理部122は、図12の(A)に示したPoP情報テーブル146のi=4番目のエントリ877において、グループ分け処理部122は、旧所属グループ854に現所属グループ855の値「1」を上書きし、現所属グループ855に、このときの変数CANDIDATE_GROUP_IDの値「1」を上書きする。これにより、図12の(A)に示したPoP情報テーブル146のi=4番目のエントリ877は、図12の(B)のようになる。すなわち、図1の構成例の場合、グループ分け処理(F2000)では、図12の(B)に示したPoP情報テーブル146が完成する。   Next, in the i = 4th entry 877 of the PoP information table 146 shown in FIG. 12A, the grouping processing unit 122 adds the current group 855 to the old group 854. The value “1” is overwritten, and the current group 855 is overwritten with the value “1” of the variable CANDIDATE_GROUP_ID at this time. As a result, the i = fourth entry 877 of the PoP information table 146 shown in FIG. 12A becomes as shown in FIG. That is, in the configuration example of FIG. 1, in the grouping process (F2000), the PoP information table 146 shown in FIG. 12B is completed.

グループ分け処理(F2000)により、図11の(E)に示したグループ情報テーブル145が生成され、図1に示したように、PoP500を2つのグループ1,2に分割することができる。   By the grouping process (F2000), the group information table 145 shown in FIG. 11E is generated, and the PoP 500 can be divided into two groups 1 and 2 as shown in FIG.

(グループ分け変化による経路情報操作処理)
つぎに、グループ分け変化による経路情報操作処理(F2200)について説明する。グループ分け処理(F2000)により、PoP500をグループ分けできたので、グループ分け後のグループに応じて、経路情報を操作する必要がある。グループ分け変化による経路情報操作処理は、グループ分け処理(F2000)の完了をトリガにして、仮想ルータ機能部121が実行する処理である。グループ分け変化による経路情報操作処理は、旧所属グループと現所属グループとの差分をとって差分経路情報を生成し、差分経路情報を隣接ルータ300に広告し、転送装置200に差分経路情報を設定する処理である。なお、このときのPoP情報テーブル146は、図12の(B)に示した状態である。
(Route information operation processing by grouping change)
Next, route information manipulation processing (F2200) by grouping change will be described. Since the PoP 500 has been grouped by the grouping process (F2000), it is necessary to manipulate the route information according to the group after grouping. The route information operation process by the grouping change is a process executed by the virtual router function unit 121 with the completion of the grouping process (F2000) as a trigger. In the route information operation processing by grouping change, difference route information is generated by taking the difference between the former group and the current group, the difference route information is advertised to the adjacent router 300, and the difference route information is set in the transfer device 200. It is processing to do. Note that the PoP information table 146 at this time is in the state shown in FIG.

図18は、仮想ルータ機能部121が実行するグループ分け変化による経路情報操作処理(F2200)の詳細な処理手順例を示すフローチャートである。仮想ルータ機能部121は、グループ別旧経路情報テーブル1050の内容を、グループ別現経路情報テーブル1000の情報に書き換え、グループ別現経路情報テーブル1000の全エントリを消去する(F2204)。この状態が、図9Aとなる。   FIG. 18 is a flowchart illustrating a detailed processing procedure example of the route information operation processing (F2200) by the grouping change executed by the virtual router function unit 121. The virtual router function unit 121 rewrites the contents of the group-by-group old route information table 1050 with the information in the group-by-group current route information table 1000, and deletes all entries in the group-by-group current route information table 1000 (F2204). This state is shown in FIG. 9A.

つぎに、仮想ルータ機能部121は、グループ分け変化による経路情報テーブル変更処理(F2250)、最適経路選択処理(F2300)、差分経路情報テーブル更新処理(F2500)、転送装置設定処理(F2600)、経路情報広告処理(F2700)を実行する。   Next, the virtual router function unit 121 performs route information table change processing by grouping change (F2250), optimum route selection processing (F2300), difference route information table update processing (F2500), transfer device setting processing (F2600), route The information advertisement process (F2700) is executed.

そして、仮想ルータ機能部121は、図12の(B)に示したPoP情報テーブル146の全エントリについて、旧所属グループ854に現所属グループ855の値を代入する(F2212)。F2212の処理後のPoP情報テーブル146は、図12の(C)となる。これにより、図18のグループ分け変化による経路情報操作処理(F2200)は終了する。   Then, the virtual router function unit 121 assigns the value of the current group 855 to the old group 854 for all entries in the PoP information table 146 shown in FIG. 12B (F2212). The PoP information table 146 after the processing of F2212 is (C) of FIG. Thereby, the route information operation process (F2200) by the grouping change in FIG. 18 is completed.

ここで、グループ分け変化による経路情報テーブル変更処理(F2250)は、図7に示した経路情報テーブル141を、図16に示したグループ分け処理(F2000)のグループ分けに応じて変更する処理である。具体的には、たとえば、図7の(A)に示した経路情報テーブル141において、グループ分け処理(F2000)前は未定義であったPoP優先度1104および情報源グループ1106を設定する処理となる。グループ分け変化による経路情報テーブル変更処理(F2250)の詳細については、図19で説明する。   Here, the route information table change process (F2250) by grouping change is a process for changing the route information table 141 shown in FIG. 7 according to the grouping of the grouping process (F2000) shown in FIG. . More specifically, for example, in the route information table 141 shown in FIG. 7A, the PoP priority 1104 and the information source group 1106 that were undefined before the grouping process (F2000) are set. . Details of the route information table change processing (F2250) by grouping change will be described with reference to FIG.

また、最適経路選択処理(F2300)は、図9Bに示したグループ別現経路情報テーブル1000を作成する処理である。最適経路選択処理(F2300)の詳細については、図20で説明する。また、差分経路情報テーブル更新処理(F2500)は、図8Aに示した差分経路情報テーブル142を作成する処理である。差分経路情報テーブル更新処理(F2500)の詳細については、図22で説明する。   The optimum route selection process (F2300) is a process for creating the group-by-group current route information table 1000 shown in FIG. 9B. Details of the optimum route selection process (F2300) will be described with reference to FIG. Also, the differential path information table update process (F2500) is a process for creating the differential path information table 142 shown in FIG. 8A. Details of the difference path information table update processing (F2500) will be described with reference to FIG.

また、転送装置設定処理(F2600)は、最適経路選択処理(F2300)で作成されたグループ別現経路情報テーブル1000にしたがってパケットが転送できるように転送装置200を設定する処理である。転送装置設定処理(F2600)は、具体的には、入力転送テーブル225と出力転送テーブル245を作成し、転送装置200に設定する処理である。転送装置設定処理(F2600)の詳細については、図24で説明する。   The transfer device setting process (F2600) is a process for setting the transfer device 200 so that packets can be transferred according to the group-specific current route information table 1000 created by the optimum route selection process (F2300). Specifically, the transfer device setting process (F2600) is a process of creating the input transfer table 225 and the output transfer table 245 and setting them in the transfer device 200. Details of the transfer device setting process (F2600) will be described with reference to FIG.

また、経路情報広告処理(F2700)は、隣接ルータ300に対し差分経路情報を広告する処理である。ただし、この段階では、転送装置200と隣接ルータ300とは通信不可の状態である(図10の(A)の接続状態808)ため、図8Aに示した差分経路情報テーブル142のエントリ1225〜1234は広告されない。経路情報広告処理(F2700)の詳細については、図26で説明する。図18に示したグループ分け変化による経路情報操作処理(F2200)の後に、ARP解決により、転送装置200と隣接ルータ300とは通信可能な状態となる(図10の(B)の接続状態808)。   The route information advertisement process (F2700) is a process for advertising the difference route information to the adjacent router 300. However, at this stage, since the transfer device 200 and the adjacent router 300 are in a state where communication is not possible (connection state 808 in FIG. 10A), entries 1225 to 1234 in the differential path information table 142 shown in FIG. 8A. Is not advertised. Details of the route information advertisement processing (F2700) will be described with reference to FIG. After the route information manipulation processing (F2200) by the grouping change shown in FIG. 18, the transfer device 200 and the adjacent router 300 become communicable by ARP resolution (connection state 808 in FIG. 10B). .

(グループ分け変化による経路情報テーブル変更処理)
図19は、図18に示したグループ分け変化による経路情報テーブル変更処理(F2250)の詳細な処理手順例を示すフローチャートである。仮想ルータ機能部121は、経路情報テーブル141の先頭エントリを参照する(F2254)。参照されたエントリを「参照エントリ」と称す。なお、この段階では、初期値である「−1」がPoP優先度1104と情報源グループ1106にそれぞれ設定されているものとする。
(Route information table change processing by grouping change)
FIG. 19 is a flowchart illustrating a detailed processing procedure example of the route information table changing process (F2250) by the grouping change shown in FIG. The virtual router function unit 121 refers to the top entry of the path information table 141 (F2254). The referenced entry is referred to as a “reference entry”. At this stage, it is assumed that the initial value “−1” is set in the PoP priority 1104 and the information source group 1106, respectively.

つぎに、仮想ルータ機能部121は、参照エントリが存在するか否かを判断する(F2258)。存在する場合(F2258:Yes)、仮想ルータ機能部121は、参照エントリの情報源PoP1105に格納されているPoP_IDを特定し、特定したPoP_IDに一致するPoP_ID851の値を有するエントリを、PoP情報テーブル146から特定する。たとえば、図7の(A)に示した経路情報テーブル141の参照エントリがエントリ1151の場合、情報源PoP1105に格納されているPoP_IDは「501」である。したがって、仮想ルータ機能部121は、特定したPoP_ID「501」に一致するPoP_ID851の値を有するエントリ875を、図12の(B)に示したPoP情報テーブル146から特定する。   Next, the virtual router function unit 121 determines whether or not a reference entry exists (F2258). If it exists (F2258: Yes), the virtual router function unit 121 identifies the PoP_ID stored in the information source PoP 1105 of the reference entry, and adds an entry having a value of PoP_ID 851 that matches the identified PoP_ID to the PoP information table 146. Identify from. For example, when the reference entry of the route information table 141 shown in FIG. 7A is the entry 1151, the PoP_ID stored in the information source PoP 1105 is “501”. Therefore, the virtual router function unit 121 identifies the entry 875 having the value of PoP_ID 851 that matches the identified PoP_ID “501” from the PoP information table 146 illustrated in FIG.

そして、仮想ルータ機能部121は、特定したエントリのPoP優先度852の値および現所属グループ855の値を、経路情報テーブル141の参照エントリのPoP優先度1104と情報源グループ1106に代入する(F2262)。たとえば、仮想ルータ機能部121は、特定したエントリ875のPoP優先度852の値「0」および現所属グループ855の値「2」を、図7の(A)に示した経路情報テーブル141の参照エントリ1151のPoP優先度1104と情報源グループ1106に代入する。これにより、参照エントリ1151は、図7の(A)から(B)になる。   Then, the virtual router function unit 121 substitutes the value of the PoP priority 852 and the value of the current group 855 of the identified entry into the PoP priority 1104 and the information source group 1106 of the reference entry of the path information table 141 (F2262). ). For example, the virtual router function unit 121 references the value “0” of the PoP priority 852 and the value “2” of the current group 855 of the identified entry 875 with reference to the path information table 141 shown in FIG. Substitute the PoP priority 1104 and the information source group 1106 of the entry 1151. As a result, the reference entry 1151 changes from (A) to (B) in FIG.

つぎに、仮想ルータ機能部121は、経路情報テーブル141の次のエントリを参照して(F2266)、F2258に戻る。F2258において、参照エントリが存在しない場合(F2258:No)、グループ分け変化による経路情報テーブル変更処理(F2250)は終了する。これにより、経路情報テーブル141が図7の(A)の状態であれば、図7の(B)に更新され、経路情報テーブル141が図7の(B)の状態であれば、図7の(C)に更新される。   Next, the virtual router function unit 121 refers to the next entry in the path information table 141 (F2266) and returns to F2258. In F2258, when the reference entry does not exist (F2258: No), the route information table change process (F2250) by the grouping change ends. Thus, if the route information table 141 is in the state of FIG. 7A, it is updated to FIG. 7B, and if the route information table 141 is in the state of FIG. Updated to (C).

(最適経路選択処理)
図20は、図18に示した最適経路選択処理(F2300)の詳細な処理手順例を示すフローチャートである。仮想ルータ機能部121は、グループ分け変化による経路情報テーブル変更処理(F2250)で作成された経路情報テーブル141の全エントリを引数として、最適経路選択処理(F2300)を実行する。すなわち、最適経路選択処理(F2300)は、グループ分け変化による経路情報テーブル141から最適経路を選択する処理である。
(Optimum route selection process)
FIG. 20 is a flowchart showing a detailed processing procedure example of the optimum route selection processing (F2300) shown in FIG. The virtual router function unit 121 executes an optimum route selection process (F2300) using all entries in the route information table 141 created by the route information table change process (F2250) due to grouping change as arguments. That is, the optimum route selection process (F2300) is a process for selecting the optimum route from the route information table 141 due to the grouping change.

仮想ルータ機能部121は、対象グループ番号Nに「1」を代入する(F2302)。対象グループ番号Nは、最適経路選択処理(F2300)での処理対象となるグループを特定する変数である。つぎに、仮想ルータ機能部121は、経路情報テーブル141の先頭エントリの参照を試みる(F2304)。参照されたエントリを「参照エントリ」と称す。   The virtual router function unit 121 assigns “1” to the target group number N (F2302). The target group number N is a variable that identifies a group to be processed in the optimum route selection process (F2300). Next, the virtual router function unit 121 tries to refer to the head entry of the path information table 141 (F2304). The referenced entry is referred to as a “reference entry”.

つぎに、仮想ルータ機能部121は、参照エントリが存在するか否かを判断する(F2308)。参照エントリが存在しない場合(F2308:No)、仮想ルータ機能部121は、対象グループ番号Nを1増加する(F2309)。そして、仮想ルータ機能部121は、対象グループ番号Nが、図11の(E)に示したグループ情報テーブル145のエントリ数以下であるか否かを判断する(F2310)。対象グループ番号Nが、図11の(E)に示したグループ情報テーブル145のエントリ数以下でない場合(F2310:No)、未処理のグループが存在しないため、最適経路選択処理(F2300)は終了する。一方。対象グループ番号Nが、図11の(E)に示したグループ情報テーブル145のエントリ数以下である場合(F2310:Yes)、対象グループ番号Nは未処理であるため、F2304に戻る。   Next, the virtual router function unit 121 determines whether or not a reference entry exists (F2308). When the reference entry does not exist (F2308: No), the virtual router function unit 121 increments the target group number N by 1 (F2309). Then, the virtual router function unit 121 determines whether or not the target group number N is equal to or smaller than the number of entries in the group information table 145 shown in FIG. 11E (F2310). If the target group number N is not less than or equal to the number of entries in the group information table 145 shown in FIG. 11E (F2310: No), there is no unprocessed group, and the optimum route selection process (F2300) ends. . on the other hand. When the target group number N is equal to or less than the number of entries in the group information table 145 shown in FIG. 11E (F2310: Yes), the target group number N is not processed, and the process returns to F2304.

F2308において、参照エントリが存在する場合(F2308:Yes)、仮想ルータ機能部121は、参照エントリを最適経路情報候補として、最適経路情報候補の宛先ネットワーク1101の値を変数CANDIDATE_NWに代入する(F2312)。たとえば、参照エントリが図7の(B)に示した経路情報テーブル141のエントリ1151である場合、当該エントリ1151を最適経路情報候補とし、その宛先ネットワーク1101の値「F」を、仮想ルータ機能部121は、変数CANDIDATE_NWに代入する。   In F2308, when the reference entry exists (F2308: Yes), the virtual router function unit 121 assigns the value of the destination network 1101 of the optimum route information candidate to the variable CANDIDATE_NW with the reference entry as the optimum route information candidate (F2312). . For example, when the reference entry is the entry 1151 of the route information table 141 shown in FIG. 7B, the entry 1151 is set as the optimum route information candidate, and the value “F” of the destination network 1101 is set as the virtual router function unit. 121 is substituted into the variable CANDIDATE_NW.

つぎに、仮想ルータ機能部121は、変数CANDIDATE_NWへのIP到達性の可否を判断する(F2316)。BGPではIP到達性のない経路情報を最適経路として選択しないため、変数CANDIDATE_NWが更新される都度、F2316が実行される。   Next, the virtual router function unit 121 determines whether or not IP reachability to the variable CANDIDATE_NW is possible (F2316). Since BGP does not select route information without IP reachability as the optimum route, F2316 is executed each time the variable CANDIDATE_NW is updated.

BGPによって広告された経路情報には、BGPのパス属性の1つであるNEXT_HOP属性が付与される。NEXT_HOP属性に示されたIPアドレスをもつ装置に対してパケットを送信することで、広告された経路に到達することが可能であるが、NEXT_HOP属性に示されたIPアドレスに到達することが可能であるかどうかを判定する必要がある。このため、F2316で変数CANDIDATE_NWへのIP到達の可否が判断される。本実施例では、経路情報テーブル141の広告元ルータ1102のIPアドレスがNEXT_HOP属性に示されているものとする。本実施例で扱う宛先ネットワーク1101は、仮想ルータ機能部121からIP到達性があるものとする。   The route information advertised by BGP is assigned a NEXT_HOP attribute which is one of BGP path attributes. It is possible to reach the advertised route by sending a packet to the device having the IP address indicated in the NEXT_HOP attribute, but it is possible to reach the IP address indicated in the NEXT_HOP attribute. It is necessary to determine whether or not there is. For this reason, whether or not IP can be reached in the variable CANDIDATE_NW is determined in F2316. In this embodiment, it is assumed that the IP address of the advertisement source router 1102 in the route information table 141 is indicated in the NEXT_HOP attribute. The destination network 1101 handled in this embodiment is assumed to have IP reachability from the virtual router function unit 121.

変数CANDIDATE_NWへのIP到達性が不可能である場合(F2316:No)、仮想ルータ機能部121は、経路情報テーブル141の次のエントリの参照を試み(F2328)、F2308を実行する。変数CANDIDATE_NWへのIP到達性が可能である場合(F2316:Yes)、仮想ルータ機能部121は、グループ別現経路情報テーブル1000において利用グループ1001の値が対象グループ番号Nであるエントリのうち、宛先ネットワーク1002が変数CANDIDATE_NWであるエントリが存在するか否かを判断する(F2320)。   When the IP reachability to the variable CANDIDATE_NW is impossible (F2316: No), the virtual router function unit 121 tries to refer to the next entry in the path information table 141 (F2328), and executes F2308. When the IP reachability to the variable CANDIDATE_NW is possible (F2316: Yes), the virtual router function unit 121 selects the destination among the entries whose target group number N is the value of the usage group 1001 in the group current path information table 1000. The network 1002 determines whether there is an entry having the variable CANDIDATE_NW (F2320).

グループ別現経路情報テーブル1000のエントリは、図18のF2204で消去されているため、参照エントリが経路情報テーブル141の先頭エントリである場合、F2320:Noとなり、F2324に移行する。そして、仮想ルータ機能部121は、グループ別現経路情報テーブル1000に、利用グループ1001を対象グループ番号Nとしたフィールドを追加した最適経路情報候補のエントリを追加する。つまり、当該エントリの利用グループ1001に対象グループ番号Nを、宛先ネットワーク1002〜経路取得元1008に最適経路情報候補を代入する(F2324)。そして、仮想ルータ機能部121は、経路情報テーブル141の次のエントリの参照を試み(F2328)、F2308を実行する。   Since the entry in the group-by-group current route information table 1000 has been deleted in F2204 in FIG. 18, when the reference entry is the first entry in the route information table 141, F2320 is No and the process proceeds to F2324. Then, the virtual router function unit 121 adds an entry for the optimum route information candidate in which a field having the usage group 1001 as the target group number N is added to the group-specific current route information table 1000. That is, the target group number N is assigned to the use group 1001 of the entry, and the optimum route information candidate is assigned to the destination network 1002 to the route acquisition source 1008 (F2324). Then, the virtual router function unit 121 tries to refer to the next entry in the path information table 141 (F2328) and executes F2308.

なお、たとえば、図7の(B)に示した経路情報テーブル141の各エントリ1151〜1155を参照エントリ(最適経路情報候補)する場合、F2320では、どの最適経路情報候補についても、F2320:Noとなり、F2324が実行される。したがって、図7の(B)に示した経路情報テーブル141の場合、F2332およびF2400は実行されずに、最適経路選択処理(F2300)が終了し、グループ別現経路情報テーブル1000は、F2324のエントリ追加により、図9Aから図9Bに示したように更新される。   For example, when the entries 1151 to 1155 of the route information table 141 shown in FIG. 7B are referred to (optimum route information candidates), F2320 is No for any optimum route information candidate in F2320. F2324 is executed. Therefore, in the case of the route information table 141 shown in FIG. 7B, F2332 and F2400 are not executed, the optimum route selection process (F2300) is completed, and the group-by-group current route information table 1000 contains entries in F2324. By addition, it is updated as shown in FIGS. 9A to 9B.

また、グループ別現経路情報テーブル1000のエントリは、F2324により追加されるため、グループ別現経路情報テーブル1000において利用グループ1001の値が対象グループ番号Nであるエントリのうち、宛先ネットワーク1002が変数CANDIDATE_NWであるエントリが存在する場合が発生する(F2320:Yes)。この場合、仮想ルータ機能部121は、宛先ネットワーク1002が変数CANDIDATE_NWであるグループ別現経路情報テーブル1000のエントリを現最適経路情報に設定し(F2332)、経路情報比較処理(F2400)を実行する。   Further, since the entry of the group-by-group current route information table 1000 is added by F2324, among the entries in the group-by-group current route information table 1000 whose usage group 1001 has the target group number N, the destination network 1002 has the variable CANDIDATE_NW There is a case where there is an entry that is (F2320: Yes). In this case, the virtual router function unit 121 sets an entry of the current route information table by group 1000 in which the destination network 1002 is the variable CANDIDATE_NW as current optimum route information (F2332), and executes route information comparison processing (F2400).

経路情報比較処理(F2400)は、最適経路情報候補と現最適経路情報のいずれかが最適経路であるかを判断する処理である。したがって、最適経路選択処理(F2300)は、現最適経路情報が存在しない場合は、最適経路情報候補を最適経路として選択し、現最適経路情報が存在する場合は、最適経路情報候補と現最適経路情報のいずれかを最適経路として選択する処理となる。   The route information comparison process (F2400) is a process for determining whether the optimum route information candidate or the current optimum route information is the optimum route. Therefore, the optimum route selection process (F2300) selects the optimum route information candidate as the optimum route when the current optimum route information does not exist. When the current optimum route information exists, the optimum route information candidate and the current optimum route are selected. This is a process of selecting one of the information as the optimum route.

(経路情報比較処理)
図21は、図20に示した経路情報比較処理(F2400)の詳細な処理手順例を示すフローチャートである。仮想ルータ機能部121は、対象グループ番号Nと、最適経路情報候補と、現最適経路情報と、を引数1〜引数3として、経路情報比較処理(F2400)を実行する。
(Route information comparison process)
FIG. 21 is a flowchart illustrating a detailed processing procedure example of the route information comparison processing (F2400) illustrated in FIG. The virtual router function unit 121 executes the route information comparison process (F2400) using the target group number N, the optimum route information candidate, and the current optimum route information as arguments 1 to 3.

まず、仮想ルータ機能部121は、最適経路情報候補(引数2)の所属グループと、現最適経路情報(引数3)の所属グループと、のうち、対象グループ番号N(引数3)と等しい方の引数を選択する処理(グループ同一性判定処理)を実行する(F2404、F2408、F2412)。すなわち、対象グループ番号Nと等しい経路が優先的に選択されることになる。なお、最適経路情報候補の所属グループは、経路情報テーブル141の情報源グループ1106の値である。現最適経路情報の所属グループは、グループ別現経路情報テーブル1000の情報源グループ1007の値である。   First, the virtual router function unit 121 determines which of the group belonging to the optimum route information candidate (argument 2) and the group belonging to the current optimum route information (argument 3) equal to the target group number N (argument 3). Processing for selecting an argument (group identity determination processing) is executed (F2404, F2408, F2412). That is, a route equal to the target group number N is preferentially selected. The group to which the optimum route information candidate belongs is the value of the information source group 1106 in the route information table 141. The group to which the current optimum route information belongs is the value of the information source group 1007 in the group-specific current route information table 1000.

具体的には、仮想ルータ機能部121は、最適経路情報候補の所属グループと現最適経路情報の所属グループが同一グループであるか否かを判断する(F2404)。同一グループである場合(F2420:Yes)、F2424に移行する。すなわち、同一グループである場合(F2420:Yes)は、引数1および引数2がそれぞれ対象グループ番号N(引数3)と同一であるため、引数1と引数2の優劣は判断できない。したがって、F2424に移行することになる。   Specifically, the virtual router function unit 121 determines whether the group to which the optimum route information candidate belongs and the group to which the current optimum route information belongs are the same group (F2404). When it is the same group (F2420: Yes), the process proceeds to F2424. That is, in the case of the same group (F2420: Yes), since the argument 1 and the argument 2 are the same as the target group number N (argument 3), the superiority of the argument 1 and the argument 2 cannot be determined. Therefore, the process proceeds to F2424.

同一グループでない場合(F2404:No)、仮想ルータ機能部121は、現最適経路情報の情報源グループ1007の値と、対象グループ番号Nと、が同一であるか否かを判断する(F2408)。同一である場合(F2408:Yes)、対象グループ番号Nのグループにおける最適経路は、現最適経路情報である。したがって、仮想ルータ機能部121は、現最適経路情報を、対象グループ番号Nのグループにおける最適経路に決定する(F2420)。これにより、仮想ルータ機能部121は、経路情報比較処理(F2400)を終了する。   If they are not the same group (F2404: No), the virtual router function unit 121 determines whether or not the value of the information source group 1007 of the current optimum route information and the target group number N are the same (F2408). If they are the same (F2408: Yes), the optimum route in the group with the target group number N is the current optimum route information. Therefore, the virtual router function unit 121 determines the current optimum route information as the optimum route in the group of the target group number N (F2420). Thereby, the virtual router function unit 121 ends the route information comparison process (F2400).

同一グループでない場合(F2408:No)、仮想ルータ機能部121は、最適経路情報候補の情報源グループ1106の値と、対象グループ番号Nと、が同一であるか否かを判断する(F2412)。同一である場合(F2412:Yes)、仮想ルータ機能部121は、グループ別現経路情報テーブル1000に、現最適経路情報を、利用グループ1001を対象グループ番号Nとしたフィールドを追加した最適経路情報候補に書き換える。つまり、当該現最適経路情報のエントリの利用グループ1001に対象グループ番号Nを、宛先ネットワーク1002〜経路取得元1008に最適経路情報候補を代入する(F2416)。このようにして生成されたエントリが最適経路を示す。これにより、仮想ルータ機能部121は、経路情報比較処理(F2400)を終了する。   If they are not the same group (F2408: No), the virtual router function unit 121 determines whether or not the value of the information source group 1106 of the optimum route information candidate and the target group number N are the same (F2412). If they are the same (F2412: Yes), the virtual router function unit 121 adds the current optimum route information to the group-by-group current route information table 1000, and the optimum route information candidate in which a field having the use group 1001 as the target group number N is added. Rewrite to That is, the target group number N is assigned to the use group 1001 of the entry of the current optimum route information, and the optimum route information candidate is assigned to the destination network 1002 to the route acquisition source 1008 (F2416). The entry generated in this way indicates the optimum route. Thereby, the virtual router function unit 121 ends the route information comparison process (F2400).

同一グループでない場合(F2412:No)、F2424に移行する。すなわち、引数1および引数2がそれぞれ対象グループ番号N(引数3)と同一でないため、引数1と引数2の優劣は判断できない。したがって、F2424に移行することになる。   When they are not the same group (F2412: No), the process proceeds to F2424. That is, since the argument 1 and the argument 2 are not the same as the target group number N (argument 3), the superiority of the argument 1 and the argument 2 cannot be determined. Therefore, the process proceeds to F2424.

そして、仮想ルータ機能部121は、最適経路情報候補のPoP優先度1104と現最適経路情報のPoP優先度1005とを比較する(F2424)。最適経路情報候補のPoP優先度1104よりも現最適経路情報のPoP優先度1005が高い場合(F2424:高)、F2420に移行する。最適経路情報候補のPoP優先度1104よりも現最適経路情報のPoP優先度1005が低い場合(F2424:低)、F2416に移行する。   Then, the virtual router function unit 121 compares the PoP priority 1104 of the optimum route information candidate with the PoP priority 1005 of the current optimum route information (F2424). When the PoP priority 1005 of the current optimum route information is higher than the PoP priority 1104 of the optimum route information candidate (F2424: high), the process proceeds to F2420. When the PoP priority 1005 of the current optimum route information is lower than the PoP priority 1104 of the optimum route information candidate (F2424: low), the process proceeds to F2416.

最適経路情報候補のPoP優先度1104と現最適経路情報のPoP優先度1005とが同一である場合(F2424:同)、仮想ルータ機能部121は、最適経路情報候補の他パス属性1103と、現最適経路情報の他パス属性1004とを比較して、最適経路情報候補と現最適経路情報とのいずれかを最適経路に決定する(F2428)。仮想ルータ機能部121は、たとえば、他パス属性で特定される重要度(または優先度)が高い方を、最適経路に決定する。   When the PoP priority 1104 of the optimal route information candidate and the PoP priority 1005 of the current optimal route information are the same (F2424: same), the virtual router function unit 121 sets the other path attribute 1103 of the optimal route information candidate, The other path attribute 1004 of the optimum route information is compared, and either the optimum route information candidate or the current optimum route information is determined as the optimum route (F2428). For example, the virtual router function unit 121 determines the one having the higher importance (or priority) specified by the other path attribute as the optimum route.

そして、仮想ルータ機能部121は、最適経路情報候補が最適経路に決定された場合(F2432:No)、F2416に移行する。一方、現最適経路情報が最適経路に決定された場合(F2432:Yes)、F2420に移行し、仮想ルータ機能部121は、経路情報比較処理(F2400)を終了する。経路情報比較処理(F2400)により最適経路が決定される。   Then, when the optimum route information candidate is determined as the optimum route (F2432: No), the virtual router function unit 121 proceeds to F2416. On the other hand, when the current optimum route information is determined as the optimum route (F2432: Yes), the process proceeds to F2420, and the virtual router function unit 121 ends the route information comparison process (F2400). The optimum route is determined by the route information comparison process (F2400).

なお、図21において、グループ同一性判定処理(F2404、F2408、F2412)を実行せずに、PoP優先度1005の比較(F2424)を実行してもよい。   In FIG. 21, the comparison (F2424) of the PoP priority 1005 may be executed without executing the group identity determination processing (F2404, F2408, F2412).

(差分経路情報テーブル更新処理)
図22は、図18に示した差分経路情報テーブル更新処理(F2500)の詳細な処理手順例を示すフローチャートである。まず、仮想ルータ機能部121は、差分経路情報テーブル142の全エントリを削除することにより初期化を行う(F2504)。つぎに、仮想ルータ機能部121は、図12の(B)に示したPoP情報テーブル146の先頭エントリの参照を試みる(F2508)。参照されたエントリを参照エントリと称す。仮想ルータ機能部121は、参照エントリが存在するか否かを判断する(F2512)。
(Differential route information table update process)
FIG. 22 is a flowchart illustrating a detailed processing procedure example of the difference path information table update processing (F2500) illustrated in FIG. First, the virtual router function unit 121 performs initialization by deleting all entries in the differential path information table 142 (F2504). Next, the virtual router function unit 121 tries to refer to the head entry of the PoP information table 146 shown in FIG. 12B (F2508). Referenced entries are referred to as reference entries. The virtual router function unit 121 determines whether there is a reference entry (F2512).

図12の(B)に示したPoP情報テーブル146に参照エントリが存在する場合(F2512:Yes)、仮想ルータ機能部121は、差分経路情報テーブル142に、参照エントリの旧所属グループ854および現所属グループ855の値と同一の旧情報源グループ1206および現情報源グループ1207の値を有するエントリが存在するか否かを判断する(ステップS2516)。存在する場合(F2516:Yes)、F2520に移行する。存在しない場合(F2516:No)、仮想ルータ機能部121は、差分取得処理(F2550)を実行して、F2520に移行する。   When there is a reference entry in the PoP information table 146 shown in FIG. 12B (F2512: Yes), the virtual router function unit 121 stores the old membership group 854 and the current membership of the reference entry in the differential path information table 142. It is determined whether or not there is an entry having the values of the old information source group 1206 and the current information source group 1207 that are the same as the value of the group 855 (step S2516). When it exists (F2516: Yes), it transfers to F2520. If it does not exist (F2516: No), the virtual router function unit 121 executes a difference acquisition process (F2550) and proceeds to F2520.

F2520では、仮想ルータ機能部121は、PoP情報テーブル146の次のエントリを参照して(F2520)、F2512に戻る。PoP情報テーブル146に参照エントリが存在しない場合(F2512:No)、未処理のエントリが存在しないことになるため、仮想ルータ機能部121は、差分経路情報テーブル更新処理(F2500)を終了する。   In F2520, the virtual router function unit 121 refers to the next entry in the PoP information table 146 (F2520) and returns to F2512. If there is no reference entry in the PoP information table 146 (F2512: No), there is no unprocessed entry, so the virtual router function unit 121 ends the differential path information table update process (F2500).

(差分取得処理)
図23は、図22に示した差分取得処理(F2550)の詳細な処理手順例を示すフローチャートである。なお、グループ別現経路情報テーブル1000は、最適経路選択処理(F2300)により、図9Aから図9Bに更新されている。仮想ルータ機能部121は、図12の(B)に示したPoP情報テーブル146の参照エントリの旧所属グループ854の値を引数1、図12の(B)に示したPoP情報テーブル146の参照エントリの現所属グループ855の値を引数2として、差分取得処理(F2550)を実行する。
(Difference acquisition process)
FIG. 23 is a flowchart illustrating a detailed processing procedure example of the difference acquisition processing (F2550) illustrated in FIG. The group-specific current route information table 1000 has been updated from FIG. 9A to FIG. 9B by the optimum route selection process (F2300). The virtual router function unit 121 uses the value of the old group 854 of the reference entry of the PoP information table 146 shown in FIG. 12B as the argument 1 and the reference entry of the PoP information table 146 shown in FIG. The difference acquisition process (F2550) is executed with the value of the current member group 855 as the argument 2.

仮想ルータ機能部121は、図9Bに示したグループ別現経路情報テーブル1000における利用グループ1001に引数2が記録されているエントリを取得する(F2552)。取得したエントリを現経路情報リストと称す。たとえば、図12の(B)に示したPoP情報テーブル146の参照エントリがエントリ878である場合、現所属グループ855は「1」である。したがって、仮想ルータ機能部121は、利用グループ1001が「1」であるエントリ1025〜1029を、図9Bに示したグループ別現経路情報テーブル1000から取得する。取得したエントリ1025〜1029が現経路情報リストとして保持される。   The virtual router function unit 121 acquires an entry in which the argument 2 is recorded in the usage group 1001 in the group-specific current route information table 1000 illustrated in FIG. 9B (F2552). The acquired entry is referred to as a current route information list. For example, when the reference entry of the PoP information table 146 shown in FIG. 12B is the entry 878, the current group 855 is “1”. Therefore, the virtual router function unit 121 acquires the entries 1025 to 1029 whose usage group 1001 is “1” from the group current path information table 1000 illustrated in FIG. 9B. The acquired entries 1025 to 1029 are held as a current route information list.

つぎに、仮想ルータ機能部121は、図9Bに示したグループ別旧経路情報テーブル1050の先頭エントリの参照を試みる(F2554)。参照したエントリを参照エントリと称す。参照エントリが存在する場合(F2556:Yes)、F2560に移行し、存在しない場合(F2556:No)、F2558に移行する。図9Bに示したグループ別旧経路情報テーブル1050の場合、そのエントリは空であるため、参照エントリが存在しないことになり(F2556:No)、F2558に移行する。   Next, the virtual router function unit 121 attempts to refer to the head entry of the group-by-group old path information table 1050 shown in FIG. 9B (F2554). The referred entry is referred to as a reference entry. When the reference entry exists (F2556: Yes), the process proceeds to F2560. When the reference entry does not exist (F2556: No), the process proceeds to F2558. In the case of the group-by-group old route information table 1050 shown in FIG. 9B, the entry is empty, so there is no reference entry (F2556: No), and the process proceeds to F2558.

F2556:Noの場合、仮想ルータ機能部121は、差分経路情報テーブル142にエントリを追加して(F2558)、差分取得処理(F2550)を終了する。差分経路情報テーブル142に追加されるエントリは、現経路情報リストに残存するエントリの一部のフィールドに、さらに、旧情報源グループ1206に引数1、現情報源グループ1207に引数2、削除・更新1209に「更新」が設定されたエントリである。   In the case of F2556: No, the virtual router function unit 121 adds an entry to the difference path information table 142 (F2558), and ends the difference acquisition process (F2550). The entry added to the differential path information table 142 includes a part of the remaining fields in the current path information list, an argument 1 for the old information source group 1206, an argument 2 for the current information source group 1207, and deletion / update. This is an entry in which “update” is set in 1209.

たとえば、図22のF2512における参照エントリが、図12の(B)に示したPoP情報テーブル146のエントリ878である場合、引数1は旧所属グループ854の値「1」であり、引数2は現所属グループ855の値「1」である。したがって、差分経路情報テーブル142に、エントリ1225〜1229が追加される(図8Aを参照)。   For example, when the reference entry in F2512 of FIG. 22 is the entry 878 of the PoP information table 146 shown in FIG. 12B, the argument 1 is the value “1” of the old group 854, and the argument 2 is the current The value of the group 855 is “1”. Therefore, entries 1225 to 1229 are added to the differential path information table 142 (see FIG. 8A).

また、エントリ878の次エントリ876が図22のF2512において参照された場合、引数1は旧所属グループ854の値「1」であり、引数2は現所属グループ855の値「2」である(図12の(B)を参照)。したがって、差分経路情報テーブル142に、エントリ1230〜1234が追加される(図8Aを参照)。   When the next entry 876 of the entry 878 is referred to in F2512 of FIG. 22, the argument 1 is the value “1” of the old group 854, and the argument 2 is the value “2” of the current group 855 (see FIG. 12 (B)). Accordingly, entries 1230 to 1234 are added to the differential path information table 142 (see FIG. 8A).

F2556:Yesの場合、仮想ルータ機能部121は、グループ別旧経路情報テーブル1050の参照エントリの利用グループ1051の値が、引数1と同一であるか否かを判断する(F2560)。同一でない場合(F2560:No)、仮想ルータ機能部121は、グループ別旧経路情報テーブル1050の次のエントリの参照を試み(ステップS2572)、その参照エントリが存在するか否かを判断することになる(F2556)。   In the case of F2556: Yes, the virtual router function unit 121 determines whether or not the value of the use group 1051 of the reference entry in the group-by-group old path information table 1050 is the same as the argument 1 (F2560). If they are not identical (F2560: No), the virtual router function unit 121 attempts to refer to the next entry in the group-by-group old route information table 1050 (step S2572), and determines whether or not the reference entry exists. (F2556).

一方、同一である場合(F2560:Yes)、仮想ルータ機能部121は、現経路情報リストの先頭エントリの参照を試みる(F2562)。参照したエントリを参照エントリと称す。仮想ルータ機能部121は、現経路情報リストの参照エントリが存在するか否かを判断する(F2564)。存在する場合(F2564:Yes)、仮想ルータ機能部121は、グループ別旧経路情報テーブル1050の参照エントリと現経路情報リストの参照エントリとが、同一の宛先ネットワーク1002,1052を有するか否かを判断する(F2566)。   On the other hand, if they are the same (F2560: Yes), the virtual router function unit 121 tries to refer to the first entry in the current route information list (F2562). The referred entry is referred to as a reference entry. The virtual router function unit 121 determines whether there is a reference entry in the current route information list (F2564). If it exists (F2564: Yes), the virtual router function unit 121 determines whether the reference entry in the group-specific old route information table 1050 and the reference entry in the current route information list have the same destination network 1002, 1052. Judgment is made (F2566).

同一でない場合(F2566:No)、仮想ルータ機能部121は、現経路情報リストの次エントリの参照を試みて(F2582)、F2564に戻る。一方、同一である場合(F2566:Yes)、仮想ルータ機能部121は、両参照エントリ間で差分があるか否かを判断する(F2568)。具体的には、たとえば、仮想ルータ機能部121は、両参照エントリ間で、広告元ルータ1003,1053、他パス属性1004,1054、経路取得元1008,1058のいずれか1つの項目において値が異なるか否かを判断する。   If they are not identical (F2566: No), the virtual router function unit 121 attempts to refer to the next entry in the current route information list (F2582), and returns to F2564. On the other hand, if they are the same (F2566: Yes), the virtual router function unit 121 determines whether there is a difference between both reference entries (F2568). Specifically, for example, the virtual router function unit 121 has different values in any one item of the advertisement source routers 1003 and 1053, the other path attributes 1004 and 1054, and the route acquisition sources 1008 and 1058 between the reference entries. Determine whether or not.

差分がない場合(F2568:No)、F2570に移行する。一方、差分がある場合(F2568:Yes)、仮想ルータ機能部121は、差分経路情報テーブル142にエントリを追加して(F2574)、現経路情報リストの参照エントリを現経路情報リストから削除して(F2570)、F2572に戻る。差分経路情報テーブル142に追加されるエントリは、現経路情報リストの参照エントリに、さらに、旧情報源グループ1206に引数1、現情報源グループ1207に引数2、削除・更新1209に「更新」が設定されたエントリである。   When there is no difference (F2568: No), the process proceeds to F2570. On the other hand, if there is a difference (F2568: Yes), the virtual router function unit 121 adds an entry to the difference route information table 142 (F2574) and deletes the reference entry of the current route information list from the current route information list. (F2570), it returns to F2572. The entry added to the differential route information table 142 is a reference entry in the current route information list, and further includes an argument 1 in the old information source group 1206, an argument 2 in the current information source group 1207, and an “update” in the delete / update 1209. It is a set entry.

一方、F2564において、現経路情報リストの参照エントリが存在しない場合(F2564:No)、仮想ルータ機能部121は、差分経路情報テーブル142にエントリを追加して(F2578)、F2572に戻る。差分経路情報テーブル142に追加されるエントリは、グループ別旧経路情報テーブル1050の参照エントリに、さらに、旧情報源グループ1206に引数1、現情報源グループ1207に引数2、削除・更新1209に「削除」が設定されたエントリである。   On the other hand, in F2564, when there is no reference entry in the current route information list (F2564: No), the virtual router function unit 121 adds an entry to the difference route information table 142 (F2578) and returns to F2572. The entry added to the differential path information table 142 is a reference entry in the group-by-group old path information table 1050, an argument 1 for the old information source group 1206, an argument 2 for the current information source group 1207, and “ The entry is set to “delete”.

図18に示したグループ分け変化による経路情報操作処理(F2200)における差分取得処理(F2550)では、F2558が実行され、F2574とF2578は実行されない。これにより、図8Aに示した差分経路情報テーブル142が作成される。なお、差分取得処理(F2550)におけるF2578は、F2558が削除・更新1209が“更新”となるフィールドを追加する処理であったのに対し、削除・更新1209が“削除”となるフィールドを追加する処理である。   In the difference acquisition process (F2550) in the route information operation process (F2200) by the grouping change shown in FIG. 18, F2558 is executed, and F2574 and F2578 are not executed. Thereby, the differential path information table 142 shown in FIG. 8A is created. Note that F2578 in the difference acquisition process (F2550) is a process for adding a field in which deletion / update 1209 is “updated” in F2558, whereas a field in which deletion / update 1209 is “deleted” is added. It is processing.

(転送装置設定処理)
図24は、図18に示した転送装置設定処理(F2600)の詳細な処理手順例を示すフローチャートである。転送装置設定処理(F2600)は、図3に示した入力転送テーブル225および図5に示した出力転送テーブル245を作成して、転送装置200に設定する処理である。
(Transfer device setting process)
FIG. 24 is a flowchart illustrating a detailed processing procedure example of the transfer device setting process (F2600) illustrated in FIG. The transfer device setting process (F2600) is a process of creating the input transfer table 225 shown in FIG. 3 and the output transfer table 245 shown in FIG.

仮想ルータ機能部121は、図10の(A)に示した隣接ルータ管理テーブル144の先頭エントリの参照を試みる(F2604)。参照したエントリを参照エントリと称す。仮想ルータ機能部121は、参照エントリが存在するか否かを判断する(F2608)。存在する場合(F2608:Yes)、仮想ルータ機能部121は、図8Aに示した差分経路情報テーブル142の先頭エントリの参照を試みる(F2612)。参照したエントリを参照エントリと称す。   The virtual router function unit 121 tries to refer to the head entry of the adjacent router management table 144 shown in FIG. 10A (F2604). The referred entry is referred to as a reference entry. The virtual router function unit 121 determines whether there is a reference entry (F2608). If it exists (F2608: Yes), the virtual router function unit 121 attempts to refer to the top entry of the differential path information table 142 shown in FIG. 8A (F2612). The referred entry is referred to as a reference entry.

仮想ルータ機能部121は、図8Aに示した差分経路情報テーブル142の参照エントリが存在するか否かを判断する(F2616)。存在する場合(F2616:Yes)、仮想ルータ機能部121は、図10の(A)に示した隣接ルータ管理テーブル144の参照エントリにおける接続転送装置804の値と、図8Aに示した差分経路情報テーブル142の参照エントリにおける経路取得元1208の値とを比較する(F2620)。そして、仮想ルータ機能部121は、両値が同値であるか否かを判断する(F2624)。   The virtual router function unit 121 determines whether or not there is a reference entry in the differential path information table 142 illustrated in FIG. 8A (F2616). If it exists (F2616: Yes), the virtual router function unit 121 determines the value of the connection transfer device 804 in the reference entry of the adjacent router management table 144 shown in FIG. 10A and the differential path information shown in FIG. 8A. The value of the route acquisition source 1208 in the reference entry of the table 142 is compared (F2620). Then, the virtual router function unit 121 determines whether or not both values are the same value (F2624).

たとえば、図10の(A)に示した隣接ルータ管理テーブル144の参照エントリがエントリ825である場合、接続転送装置804の値は「201(2/1)」である。また、図8Aに示した差分経路情報テーブル142の参照エントリがエントリ1225である場合、経路取得元1208の値は、「201(2/1)」である。この場合、接続転送装置804の値と経路取得元1208の値は、ともに「201(2/1)」であるため、同値と判断される。   For example, when the reference entry of the adjacent router management table 144 shown in FIG. 10A is the entry 825, the value of the connection transfer device 804 is “201 (2/1)”. When the reference entry of the differential route information table 142 illustrated in FIG. 8A is the entry 1225, the value of the route acquisition source 1208 is “201 (2/1)”. In this case, since the value of the connection transfer device 804 and the value of the route acquisition source 1208 are both “201 (2/1)”, they are determined to be the same value.

同値である場合(F2624:Yes)、仮想ルータ機能部121は、図8Aに示した差分経路情報テーブル142の次のエントリの参照を試み(F2640)、F2616に移行する。すなわち、同値である差分経路情報テーブル142の参照エントリは、設定対象外となる。   When the values are the same (F2624: Yes), the virtual router function unit 121 attempts to refer to the next entry in the differential path information table 142 illustrated in FIG. 8A (F2640), and proceeds to F2616. That is, the reference entry of the differential path information table 142 having the same value is not set.

一方、同値でない場合(F2624:No)、仮想ルータ機能部121は、転送装置設定対象判定処理を実行し(F3100)、差分経路情報テーブル142の次のエントリの参照を試み(F2640)、F2616に移行する。転送装置設定対象判定処理(F3100)は、差分経路情報テーブル142の参照エントリが、転送装置200への設定対象となるエントリであるか否かを判定する処理である。転送装置設定対象判定処理(F3100)の詳細については図25で後述する。   On the other hand, when the values are not the same (F2624: No), the virtual router function unit 121 executes the transfer device setting target determination process (F3100), tries to refer to the next entry in the differential path information table 142 (F2640), and returns to F2616. Transition. The transfer device setting target determination process (F3100) is a process of determining whether or not the reference entry in the differential path information table 142 is an entry to be set to the transfer device 200. Details of the transfer device setting target determination process (F3100) will be described later with reference to FIG.

また、F2616において、図8Aに示した差分経路情報テーブル142の参照エントリが存在しない場合(F2616:No)、仮想ルータ機能部121は、図10の(A)に示した隣接ルータ管理テーブル144の次エントリの参照を試み(F2644)、F2608に戻る。F2608において、図10の(A)に示した隣接ルータ管理テーブル144の参照エントリが存在しない場合(F2608:No)、仮想ルータ機能部121は、転送装置設定処理(F2600)を終了する。   Further, in F2616, when there is no reference entry in the differential path information table 142 shown in FIG. 8A (F2616: No), the virtual router function unit 121 sets the neighbor router management table 144 shown in FIG. Attempt to refer to the next entry (F2644), and return to F2608. In F2608, when there is no reference entry in the adjacent router management table 144 shown in FIG. 10A (F2608: No), the virtual router function unit 121 ends the transfer device setting process (F2600).

転送装置設定処理(F2600)により、図9Bに示したグループ別現経路情報テーブル1000のエントリ1025〜1034の宛先ネットワーク1002を宛先とするパケットが転送装置網10に入力されると、そのパケットは経路取得元1208から出力されて宛先ネットワーク1002に届けられる。   When a packet destined for the destination network 1002 of the entries 1025 to 1034 in the group-specific current route information table 1000 shown in FIG. 9B is input to the transfer device network 10 by the transfer device setting process (F2600), the packet is routed. The data is output from the acquisition source 1208 and delivered to the destination network 1002.

(転送装置設定対象判定処理)
図25は、転送装置設定対象判定処理(F3100)の詳細な処理手順例を示すフローチャートである。仮想ルータ機能部121は、図10の(A)に示した隣接ルータ管理テーブル144の参照エントリにおける接続PoP_ID807の値を有するエントリを、図12の(B)に示したPoP情報テーブル146から検索する。そして、仮想ルータ機能部121は、検索したエントリにおける旧所属グループ854の値と現所属グループ855の値を取得する(F3104)。
(Transfer device setting target determination process)
FIG. 25 is a flowchart illustrating a detailed processing procedure example of the transfer device setting target determination processing (F3100). The virtual router function unit 121 searches the PoP information table 146 shown in FIG. 12B for an entry having the value of the connection PoP_ID 807 in the reference entry of the adjacent router management table 144 shown in FIG. . The virtual router function unit 121 acquires the value of the old group 854 and the value of the current group 855 in the searched entry (F3104).

つぎに、仮想ルータ機能部121は、図8Aに示した差分経路情報テーブル142の参照エントリが、転送装置200への設定対象であるか否かを判断する(F3108)。具体的には、たとえば、仮想ルータ機能部121は、図8Aに示した差分経路情報テーブル142の参照エントリにおける旧情報源グループ1206の値および現情報源グループ1207の値が、F3104で取得した旧所属グループ854の値および現所属グループ855の値と一致するか否かを判断する。一致する場合、図8Aに示した差分経路情報テーブル142の参照エントリが、転送装置200への設定対象となる。   Next, the virtual router function unit 121 determines whether or not the reference entry of the differential path information table 142 illustrated in FIG. 8A is a setting target for the transfer apparatus 200 (F3108). Specifically, for example, the virtual router function unit 121 determines that the old information source group 1206 value and the current information source group 1207 value in the reference entry of the differential path information table 142 illustrated in FIG. It is determined whether or not the value of the affiliation group 854 matches the value of the current affiliation group 855. If they match, the reference entry in the differential path information table 142 shown in FIG. 8A becomes a setting target for the transfer apparatus 200.

つぎに、仮想ルータ機能部121は、差分経路情報テーブル142の参照エントリが転送装置200への設定対象でない場合(F3112:No)、仮想ルータ機能部121は、転送装置設定対象判定処理(F3100)を終了して、図24の処理F2640に移行する。   Next, when the reference entry in the differential path information table 142 is not the setting target for the transfer device 200 (F3112: No), the virtual router function unit 121 determines the transfer device setting target determination process (F3100). Is ended, and the process proceeds to process F2640 in FIG.

一方、設定対象である場合(F3112:Yes)、仮想ルータ機能部121は、図24のF2620で比較された接続転送装置804の値および経路取得元1208の値をパス端点転送装置リスト752に含むエントリを、図15に示したパス管理テーブル149から特定する(F3116)。これにより、接続転送装置804の値および経路取得元1208の値により特定される転送装置200を通過するパスが特定される。そして、仮想ルータ機能部121は、入出力転送テーブル作成処理を実行する(F3000)。入出力転送テーブル作成処理(F3000)は、転送装置200に送る入力転送テーブル225および出力転送テーブル245を作成する処理である。入出力転送テーブル作成処理(F3000)の詳細は図26で説明する。   On the other hand, when it is a setting target (F3112: Yes), the virtual router function unit 121 includes the value of the connection transfer device 804 and the value of the route acquisition source 1208 compared in F2620 of FIG. 24 in the path endpoint transfer device list 752. The entry is specified from the path management table 149 shown in FIG. 15 (F3116). As a result, the path passing through the transfer device 200 specified by the value of the connection transfer device 804 and the value of the route acquisition source 1208 is specified. The virtual router function unit 121 executes an input / output transfer table creation process (F3000). The input / output transfer table creation process (F3000) is a process for creating the input transfer table 225 and the output transfer table 245 to be sent to the transfer apparatus 200. Details of the input / output transfer table creation processing (F3000) will be described with reference to FIG.

入出力転送テーブル作成処理(F3000)のあと、仮想ルータ機能部121は、作成した入力転送テーブル225のエントリおよび出力転送テーブル245のエントリを転送装置200に設定する(F3124)。具体的には、たとえば、仮想ルータ機能部121は、図8Aに示した差分経路情報テーブル142の参照エントリの削除・更新1209に従い、転送装置200に対し、入力転送テーブル225のエントリおよび出力転送テーブル245のエントリの削除または更新要求をおこなう。   After the input / output transfer table creation processing (F3000), the virtual router function unit 121 sets the created entry of the input transfer table 225 and the entry of the output transfer table 245 in the transfer device 200 (F3124). Specifically, for example, the virtual router function unit 121 sends the entry of the input transfer table 225 and the output transfer table to the transfer device 200 in accordance with the reference entry deletion / update 1209 of the differential path information table 142 shown in FIG. 8A. A request to delete or update 245 entries is made.

たとえば、差分経路情報テーブル142の参照エントリの削除・更新1209の値が「削除」の場合は、仮想ルータ機能部121は、対象となる転送装置200から該当する入力転送テーブル225のエントリおよび出力転送テーブル245のエントリを削除する。「更新」の場合は、仮想ルータ機能部121は、対象となる転送装置200に、該当する入力転送テーブル225のエントリおよび出力転送テーブル245のエントリを送信して更新する。   For example, when the value of the deletion / update 1209 of the reference entry in the differential path information table 142 is “deletion”, the virtual router function unit 121 performs the entry and output transfer of the corresponding input transfer table 225 from the target transfer device 200. An entry in the table 245 is deleted. In the case of “update”, the virtual router function unit 121 transmits the entry of the corresponding input transfer table 225 and the entry of the output transfer table 245 to the target transfer apparatus 200 for update.

たとえば、「更新」の場合、仮想ルータ機能部121は、作成した入力転送テーブル225のエントリを、隣接ルータ管理テーブル144の参照エントリにおける接続転送装置804で特定される転送装置200に送信して、当該転送装置200に設定する。また、仮想ルータ機能部121は、作成した出力転送テーブル245のエントリを、図8Aに示した差分経路情報テーブル142の参照エントリにおける経路取得元1208で特定される転送装置200に送信して、当該転送装置200に設定する。   For example, in the case of “update”, the virtual router function unit 121 transmits the created entry of the input forwarding table 225 to the forwarding device 200 identified by the connection forwarding device 804 in the reference entry of the adjacent router management table 144, Set in the transfer device 200. Further, the virtual router function unit 121 transmits the created entry of the output transfer table 245 to the transfer apparatus 200 specified by the route acquisition source 1208 in the reference entry of the differential route information table 142 illustrated in FIG. Set in the transfer device 200.

また、「削除」の場合、仮想ルータ機能部121は、作成した入力転送テーブル225のエントリを、隣接ルータ管理テーブル144の参照エントリにおける接続転送装置804で特定される転送装置200から削除する。また、仮想ルータ機能部121は、作成した出力転送テーブル245のエントリを、差分経路情報テーブル142の参照エントリにおける経路取得元1208で特定される転送装置200から削除する。これにより、仮想ルータ機能部121は、転送装置設定対象判定処理(F3100)を終了する。   In the case of “delete”, the virtual router function unit 121 deletes the created entry of the input transfer table 225 from the transfer device 200 specified by the connection transfer device 804 in the reference entry of the adjacent router management table 144. Further, the virtual router function unit 121 deletes the created entry of the output transfer table 245 from the transfer apparatus 200 specified by the path acquisition source 1208 in the reference entry of the differential path information table 142. Thereby, the virtual router function unit 121 ends the transfer device setting target determination process (F3100).

(入出力転送テーブル作成処理)
図26は、図25に示した入出力転送テーブル作成処理(F3000)の詳細な処理手順例を示すフローチャートである。仮想ルータ機能部121は、F2612での参照エントリを引数1、F2604での参照エントリを引数2、F3116で特定したエントリを引数3として、入出力転送テーブル作成処理(F3000)を実行する。
(I / O transfer table creation process)
FIG. 26 is a flowchart showing a detailed processing procedure example of the input / output transfer table creation processing (F3000) shown in FIG. The virtual router function unit 121 executes the input / output transfer table creation process (F3000) with the reference entry in F2612 as argument 1, the reference entry in F2604 as argument 2, and the entry specified in F3116 as argument 3.

まず、仮想ルータ機能部121は、引数3のパス端点転送装置リスト752の1つ目の値(左側の値)と、引数1の経路取得元1208の値と、が一致するか否かを判断する(F3004)。一致する場合(F3004:Yes)、仮想ルータ機能部121は、引数3の転送ラベル値リスト756の1つ目の値(左側の値)を、変数OUT_LABELに代入し、2つ目の値(右側の値)を変数IN_LABELに代入する(F3008)。そして、F3016に移行する。変数OUT_LABELは出力転送ラベルに対応する変数である。変数IN_LABELは入力転送ラベルに対応する変数である。   First, the virtual router function unit 121 determines whether or not the first value (the value on the left side) of the path endpoint transfer device list 752 of the argument 3 matches the value of the route acquisition source 1208 of the argument 1. (F3004). If they match (F3004: Yes), the virtual router function unit 121 assigns the first value (left value) of the transfer label value list 756 of argument 3 to the variable OUT_LABEL, and substitutes the second value (right side). Is substituted into the variable IN_LABEL (F3008). Then, the process proceeds to F3016. The variable OUT_LABEL is a variable corresponding to the output transfer label. The variable IN_LABEL is a variable corresponding to the input transfer label.

不一致の場合(F3004:No)、仮想ルータ機能部121は、引数3の転送ラベル値リスト756の1つ目の値(左側の値)を、変数IN_LABELに代入し、2つ目の値(右側の値)を変数OUT_LABELに代入する(F3012)。そして、F3016に移行する。   If they do not match (F3004: No), the virtual router function unit 121 assigns the first value (left value) of the transfer label value list 756 of argument 3 to the variable IN_LABEL, and the second value (right side) Is substituted into the variable OUT_LABEL (F3012). Then, the process proceeds to F3016.

つぎに、仮想ルータ機能部121は、入力転送テーブル225のエントリを作成する(F3016)。具体的には、たとえば、仮想ルータ機能部121は、ポート番号1301の値が引数2の接続転送装置804のポート番号、宛先ネットワーク1302の値が引数1の宛先ネットワーク1201の値、識別ラベル1303の値が引数3のパスID751の値、転送ラベル1304の値が変数IN_LABELとなるエントリを作成する。   Next, the virtual router function unit 121 creates an entry in the input transfer table 225 (F3016). Specifically, for example, the virtual router function unit 121 sets the port number of the connection transfer device 804 whose port number 1301 is the argument 2, the value of the destination network 1201 whose argument network 1302 is the argument 1, and the identification label 1303. An entry is created in which the value is the value of the path ID 751 of the argument 3 and the value of the transfer label 1304 is the variable IN_LABEL.

つぎに、仮想ルータ機能部121は、図10の(A)に示した隣接ルータ管理テーブル144から、引数1の経路取得元1208の値と同じ値が接続転送装置804に設定されているエントリを検索する。そして、仮想ルータ機能部121は、検索したエントリの隣接ルータMAC802の値を変数DEST_MACに代入し、接続ポートMAC805の値を変数SOURCE_MACに代入する(F3020)。変数DEST_MACは、宛先MACアドレスに対応する変数であり、変数SOURCE_MACは、送信元MACアドレスに対応する変数である。   Next, the virtual router function unit 121 reads an entry in the connection transfer device 804 that has the same value as the value of the route acquisition source 1208 of argument 1 from the adjacent router management table 144 shown in FIG. Search for. Then, the virtual router function unit 121 substitutes the value of the adjacent router MAC 802 of the searched entry into the variable DEST_MAC, and substitutes the value of the connection port MAC 805 into the variable SOURCE_MAC (F3020). The variable DEST_MAC is a variable corresponding to the destination MAC address, and the variable SOURCE_MAC is a variable corresponding to the source MAC address.

つぎに、仮想ルータ機能部121は、出力転送テーブル245のエントリを作成する(F3024)。具体的には、たとえば、仮想ルータ機能部121は、ポート番号1401の値が引数1の経路取得元1208のポート番号、宛先ネットワーク1402の値が引数1の宛先ネットワーク1201の値、識別ラベル1403の値が引数3のパスID751の値、転送ラベル1404の値が変数OUT_LABEL、書換宛先MAC1405の値が変数DEST_MAC、書換送信元MACが変数SOURCE_MACとなるエントリを作成する。これにより、入力転送テーブル225のエントリと出力転送テーブル245のエントリが作成される。   Next, the virtual router function unit 121 creates an entry in the output transfer table 245 (F3024). Specifically, for example, the virtual router function unit 121 sets the port number 1401 as the port number of the route acquisition source 1208 with the argument 1, the destination network 1402 as the value of the destination network 1201 with the argument 1, and the identification label 1403. An entry is created in which the value is the value of path ID 751 of argument 3, the value of transfer label 1404 is variable OUT_LABEL, the value of rewrite destination MAC 1405 is variable DEST_MAC, and the rewrite source MAC is variable SOURCE_MAC. As a result, an entry in the input transfer table 225 and an entry in the output transfer table 245 are created.

(経路情報広告処理)
図27は、図18に示した経路情報広告処理(F2700)の詳細な処理手順例を示すフローチャートである。経路情報広告処理(F2700)は、隣接ルータ300に経路情報(差分経路情報テーブル142の参照エントリ)を広告する処理である。
(Route information advertisement processing)
FIG. 27 is a flowchart illustrating a detailed processing procedure example of the route information advertisement processing (F2700) illustrated in FIG. The route information advertisement process (F2700) is a process for advertising the route information (reference entry of the difference route information table 142) to the adjacent router 300.

仮想ルータ機能部121は、隣接ルータ管理テーブル144の先頭エントリの参照を試みる(F2704)。参照されたエントリを参照エントリと称す。参照エントリが存在しない場合(F2708:No)、仮想ルータ機能部121は、経路広告処理(F2700)を終了する。   The virtual router function unit 121 tries to refer to the head entry of the adjacent router management table 144 (F2704). Referenced entries are referred to as reference entries. If the reference entry does not exist (F2708: No), the virtual router function unit 121 ends the route advertisement process (F2700).

一方、参照エントリが存在する場合(F2708:Yes)、仮想ルータ機能部121は、参照エントリの接続状態808が「通信可」であるか「通信不可」であるかを判断する(F2712)。「通信不可」である場合(F2712:No)、仮想ルータ機能部121は、隣接ルータ管理テーブル144の次エントリの参照を試み(F2716)、F2708に戻る。   On the other hand, when the reference entry exists (F2708: Yes), the virtual router function unit 121 determines whether the connection state 808 of the reference entry is “communication enabled” or “communication disabled” (F2712). When it is “communication impossible” (F2712: No), the virtual router function unit 121 tries to refer to the next entry in the adjacent router management table 144 (F2716), and returns to F2708.

なお、図18に示したグループ分け変化による経路情報操作処理(F2200)における経路情報広告処理(F2700)では、隣接ルータ管理テーブル144は、図10の(A)に示した内容である。すなわち、エントリ825〜829の接続状態808の値はいずれも「通信不可」であるため、図8Aに示した差分経路情報テーブル142の参照エントリは、いずれのルータ300にも送信されない。一方、「通信可」である場合(F2712:Yes)、仮想ルータ機能部121は、差分経路情報テーブル142の先頭エントリの参照を試みる(F2720)。参照されたエントリを参照エントリと称す。   In the route information advertisement process (F2700) in the route information operation process (F2200) by the grouping change shown in FIG. 18, the adjacent router management table 144 has the contents shown in FIG. That is, since the values of the connection states 808 of the entries 825 to 829 are all “communication impossible”, the reference entry of the differential path information table 142 illustrated in FIG. 8A is not transmitted to any router 300. On the other hand, when “communication is possible” (F2712: Yes), the virtual router function unit 121 tries to refer to the head entry of the differential path information table 142 (F2720). Referenced entries are referred to as reference entries.

仮想ルータ機能部121は、差分経路情報テーブル142の参照エントリが存在するか否かを判断する(F2724)。存在しない場合(F2724:No)、F2716に移行する。一方、存在する場合(F2724:Yes)、仮想ルータ機能部121は、隣接ルータ管理テーブル144の参照エントリにおける接続PoP_ID807の値がPoP_ID851に設定されているエントリを、PoP情報テーブル146から検索する。そして、仮想ルータ機能部121は、検索したエントリにおける旧所属グループ854の値と現所属グループ855の値を取得する(F2728)。   The virtual router function unit 121 determines whether there is a reference entry in the differential path information table 142 (F2724). When it does not exist (F2724: No), the process proceeds to F2716. On the other hand, if it exists (F2724: Yes), the virtual router function unit 121 searches the PoP information table 146 for an entry in which the value of the connection PoP_ID 807 in the reference entry of the adjacent router management table 144 is set to PoP_ID 851. Then, the virtual router function unit 121 acquires the value of the old group 854 and the value of the current group 855 in the searched entry (F2728).

つぎに、仮想ルータ機能部121は、差分経路情報テーブル142の参照エントリが、隣接ルータ300への広告対象であるか否かを判断する(F2732)。具体的には、たとえば、仮想ルータ機能部121は、差分経路情報テーブル142の参照エントリにおける旧情報源グループ1206の値および現情報源グループ1207の値が、F2728で取得した旧所属グループ854の値および現所属グループ855の値と一致するか否かを判断する。一致する場合、差分経路情報テーブル142の参照エントリが、隣接ルータ300への広告対象となる。   Next, the virtual router function unit 121 determines whether or not the reference entry in the differential path information table 142 is an advertisement target to the adjacent router 300 (F2732). Specifically, for example, the virtual router function unit 121 determines that the value of the old information source group 1206 and the value of the current information source group 1207 in the reference entry of the differential path information table 142 are the values of the old member group 854 acquired in F2728. Then, it is determined whether or not it matches the value of the current group 855. If they match, the reference entry in the differential path information table 142 becomes the advertisement target to the adjacent router 300.

差分経路情報テーブル142の参照エントリが、隣接ルータ300への広告対象でない場合(F2736:No)、F2744に移行する。一方、差分経路情報テーブル142の参照エントリが、隣接ルータ300への広告対象である場合(F2736:Yes)、仮想ルータ機能部121は、差分経路情報テーブル142の参照エントリを広告する(F2740)。具体的には、たとえば、仮想ルータ機能部121は、隣接ルータ管理テーブル144の参照エントリにおける隣接ルータID801で特定される隣接ルータ300に対し、差分経路情報テーブル142の参照エントリを、その削除・更新1209の値にしたがって広告する。   When the reference entry of the difference path information table 142 is not the advertising target for the adjacent router 300 (F2737: No), the process proceeds to F2744. On the other hand, when the reference entry of the differential route information table 142 is an object to be advertised to the adjacent router 300 (F2736: Yes), the virtual router function unit 121 advertises the reference entry of the differential route information table 142 (F2740). Specifically, for example, the virtual router function unit 121 deletes / updates the reference entry of the differential route information table 142 for the adjacent router 300 specified by the adjacent router ID 801 in the reference entry of the adjacent router management table 144. Advertise according to the value of 1209.

すなわち、削除・更新1209の値が「削除」である場合、仮想ルータ機能部121は、差分経路情報テーブル142の参照エントリを、削除情報として隣接ルータ300に送信する。隣接ルータ300は、受信した差分経路情報テーブル142の参照エントリを、自身の経路テーブル(不図示)から削除する。一方、削除・更新1209の値が「更新」である場合、仮想ルータ機能部121は、差分経路情報テーブル142の参照エントリを、経路情報として隣接ルータに送信する。隣接ルータ300は、受信した差分経路情報テーブル142の参照エントリを、自身の経路テーブル(不図示)に上書きする。   That is, when the value of the deletion / update 1209 is “deletion”, the virtual router function unit 121 transmits the reference entry of the differential path information table 142 to the adjacent router 300 as deletion information. The adjacent router 300 deletes the reference entry of the received differential route information table 142 from its own route table (not shown). On the other hand, when the value of the delete / update 1209 is “update”, the virtual router function unit 121 transmits the reference entry of the differential route information table 142 to the adjacent router as route information. The adjacent router 300 overwrites the reference entry of the received differential route information table 142 in its route table (not shown).

このあと、仮想ルータ機能部121は、差分経路情報テーブル142の次エントリの参照を試み(F2744)、F2724に戻る。このように、経路情報広告処理(F2700)では、通信可能な状態の隣接ルータ300に対し、経路情報(差分経路情報テーブル142の参照エントリ)を配信することができる。   Thereafter, the virtual router function unit 121 attempts to refer to the next entry in the difference path information table 142 (F2744), and returns to F2724. As described above, in the route information advertisement process (F2700), the route information (reference entry of the difference route information table 142) can be distributed to the adjacent router 300 in a communicable state.

<グループ分け処理後のパケット転送>
つぎに、グループ分け処理(F2000)およびグループ分け変化による経路情報操作処理(F2200)により、図11の(E)に示したグループ情報テーブル145が作成された後におけるパケット転送について説明する。
<Packet transfer after grouping>
Next, packet transfer after the group information table 145 shown in FIG. 11E is created by the grouping process (F2000) and the route information operation process (F2200) by grouping change will be described.

パケットが転送装置網10に入力されると、図9Bに示したグループ別現経路情報テーブル1000に従ってパケット転送が行われる。ここで、転送装置網10に対して転送装置201のポート(2/1)から宛先ネットワークG宛のパケットが入力された場合のパケット転送を例として説明する。   When the packet is input to the transfer apparatus network 10, the packet is transferred according to the group-by-group current path information table 1000 shown in FIG. 9B. Here, a packet transfer when a packet addressed to the destination network G is input to the transfer apparatus network 10 from the port (2/1) of the transfer apparatus 201 will be described as an example.

転送装置201はPoP501に所属する。図11の(E)に示したグループ情報テーブル145を参照すると、PoP501はグループID=2である転送グループ2に所属するため、転送装置201も転送グループ2に所属する。図9Bに示したグループ別現経路情報テーブル1000において、利用グループ1001の値が転送グループ2のグループID=2であり、かつ、宛先ネットワーク1002の値がパケットの宛先ネットワークアドレスGであるエントリは、エントリ1031である。   The transfer apparatus 201 belongs to PoP501. Referring to the group information table 145 shown in FIG. 11E, PoP 501 belongs to transfer group 2 with group ID = 2, and therefore transfer apparatus 201 also belongs to transfer group 2. In the group-by-group current route information table 1000 shown in FIG. 9B, an entry in which the value of the use group 1001 is group ID = 2 of the transfer group 2 and the value of the destination network 1002 is the destination network address G of the packet is This is entry 1031.

図3の(A)に示した転送装置201の入力転送テーブル225および図5の(A)に示した転送装置202の出力転送テーブル245は、予め設定されている図4のラベル転送テーブルと、図9Bに示したグループ別現経路情報テーブル1000のエントリ1031に記録された情報と、を元に設定されている。   The input transfer table 225 of the transfer apparatus 201 shown in FIG. 3A and the output transfer table 245 of the transfer apparatus 202 shown in FIG. 5A are the preset label transfer table of FIG. This is set based on the information recorded in the entry 1031 of the group-specific current route information table 1000 shown in FIG. 9B.

図9Bに示したグループ別現経路情報テーブル1000のエントリ1031の経路取得元1008である転送装置202のポート(2/1)に、G宛のパケットが転送されることを以下に説明する。   The following describes that the packet addressed to G is transferred to the port (2/1) of the transfer apparatus 202 that is the route acquisition source 1008 of the entry 1031 of the group-based current route information table 1000 shown in FIG. 9B.

MPLSラベルが挿入されていないIPパケットが転送装置201のポート(2/1)に入力される。転送装置201の入力パケット処理部220は、物理ポート250から入力されたパケットにMPLSラベルが挿入されていないので、図3の(A)に示した入力転送テーブル225を参照する。入力転送テーブル225は、パケットが入力されたポートである(2/1)をポート番号1301に有し、かつ、入力パケットの宛先IPアドレスである宛先ネットワークGを宛先ネットワーク1302に有するエントリ1325が存在する。   An IP packet in which no MPLS label is inserted is input to the port (2/1) of the transfer apparatus 201. Since the MPLS label is not inserted into the packet input from the physical port 250, the input packet processing unit 220 of the transfer device 201 refers to the input transfer table 225 shown in FIG. In the input forwarding table 225, there is an entry 1325 that has (2/1) that is the port to which the packet is input in the port number 1301 and that has the destination network G that is the destination IP address of the input packet in the destination network 1302. To do.

転送装置201の入力パケット処理部220は、エントリ1325の識別ラベル1303である識別ラベル値「601」をもつMPLSヘッダを、入力パケットのMACヘッダとIPヘッダの間に挿入する。また、転送装置201の入力パケット処理部220は、エントリ1325の転送ラベル1304である転送ラベル値「4001」を有するMPLSヘッダを、入力パケットの既に挿入されているMPLSヘッダとMACヘッダの間に挿入する。   The input packet processing unit 220 of the transfer apparatus 201 inserts an MPLS header having an identification label value “601” that is the identification label 1303 of the entry 1325 between the MAC header and the IP header of the input packet. The input packet processing unit 220 of the transfer apparatus 201 inserts an MPLS header having a transfer label value “4001”, which is the transfer label 1304 of the entry 1325, between the MPLS header and the MAC header that are already inserted in the input packet. To do.

また、転送装置201の入力パケット処理部220は、パケットが転送装置201に入力されたポート番号である(2/1)を記録した入力ポート情報ヘッダをパケットに挿入する。転送装置201の入力パケット処理部220は、MPLSラベルを2つ挿入したパケットをラベル転送処理部230にわたす。   In addition, the input packet processing unit 220 of the transfer device 201 inserts an input port information header in which (2/1) that is the port number at which the packet is input to the transfer device 201 is recorded in the packet. The input packet processing unit 220 of the transfer apparatus 201 passes the packet in which two MPLS labels are inserted to the label transfer processing unit 230.

転送装置201のラベル転送処理部230は、図4の(A)に示した転送装置201のラベル転送テーブル235から、入力ポート1351の値が入力ポート情報ヘッダに記録されているポート番号である(2/1)であり、かつ、入力転送ラベル1352の値がパケットの転送ラベル値「4001」であるエントリ1361を検索する。   The label transfer processing unit 230 of the transfer device 201 is a port number in which the value of the input port 1351 is recorded in the input port information header from the label transfer table 235 of the transfer device 201 shown in FIG. 2/1), and the entry 1361 in which the value of the input transfer label 1352 is the transfer label value “4001” of the packet is searched.

転送装置201のラベル転送処理部230は、パケットの転送ラベル値「4001」を、エントリ1361の出力転送ラベル1353の値「4002」に書き換える。転送装置201のラベル転送処理部230は、エントリ1361の出力ポート1354の値(1/1)を記録した出力ポート情報ヘッダを、パケットに挿入して出力パケット処理部240に渡す。   The label transfer processing unit 230 of the transfer apparatus 201 rewrites the transfer label value “4001” of the packet with the value “4002” of the output transfer label 1353 of the entry 1361. The label transfer processing unit 230 of the transfer apparatus 201 inserts an output port information header in which the value (1/1) of the output port 1354 of the entry 1361 is recorded into the packet, and passes it to the output packet processing unit 240.

入力されたパケットの宛先ネットワークアドレスは「G」、パケットに挿入されている識別ラベル値は「601」、パケットに挿入されている転送ラベル値は「4002」である。この条件を満たすエントリは、転送装置201の出力転送テーブル245に存在しない。   The destination network address of the input packet is “G”, the identification label value inserted in the packet is “601”, and the transfer label value inserted in the packet is “4002”. No entry satisfying this condition exists in the output transfer table 245 of the transfer apparatus 201.

転送装置201の出力パケット処理部240は、パケットに含まれる出力ポート情報ヘッダに記録されたポート番号の(1/1)を参照し、出力ポート情報ヘッダを外した後に、参照したポート番号(1/1)からパケットを出力する。出力されたパケットは転送装置206のポート番号(1/1)をもつ物理ポート250に入力される。   The output packet processing unit 240 of the transfer apparatus 201 refers to (1/1) of the port number recorded in the output port information header included in the packet, removes the output port information header, and then refers to the port number (1 / 1) packet is output. The output packet is input to the physical port 250 having the port number (1/1) of the transfer device 206.

MPLSラベルが挿入されたパケットが入力されたので、転送装置206の入力パケット処理部220は、当該パケットが転送装置206に入力されたポート番号である(1/1)を記録した入力ポート情報ヘッダをパケットに挿入し、ラベル転送処理部230にパケットをわたす。   Since the packet with the MPLS label inserted is input, the input packet processing unit 220 of the transfer device 206 records the input port information header in which (1/1) is the port number at which the packet is input to the transfer device 206. Is inserted into the packet, and the packet is passed to the label transfer processing unit 230.

転送装置206のラベル転送処理部230は、図4の(B)に示した転送装置206のラベル転送テーブル235から、入力ポート1351の値が入力ポート情報ヘッダに記録されているポート番号である(1/1)であり、かつ、入力転送ラベル1352の値がパケットの転送ラベル値「4002」であるエントリ1366を検索する。   The label transfer processing unit 230 of the transfer device 206 is the port number in which the value of the input port 1351 is recorded in the input port information header from the label transfer table 235 of the transfer device 206 shown in FIG. 1/1) and the value of the input transfer label 1352 is searched for the transfer label value “4002” of the packet.

転送装置206のラベル転送処理部230は、パケットの転送ラベル値「4002」をエントリ1366の出力転送ラベル1353に記録されている出力ラベル値「4003」に書き換える。転送装置206のラベル転送処理部230は、エントリ1366の出力ポート1354に記録されている(1/2)を記録した出力ポート情報ヘッダをパケットに挿入し、出力パケット処理部240に渡す。   The label transfer processing unit 230 of the transfer device 206 rewrites the transfer label value “4002” of the packet with the output label value “4003” recorded in the output transfer label 1353 of the entry 1366. The label transfer processing unit 230 of the transfer device 206 inserts the output port information header in which (1/2) recorded in the output port 1354 of the entry 1366 is recorded into the packet, and passes it to the output packet processing unit 240.

転送装置206は、隣接ルータ300と接続されていないので、出力転送テーブル245のエントリは存在しない。このため、転送装置206の出力パケット処理部240は、出力ポート情報ヘッダに記録されたポート番号(1/2)を参照し、出力ポート情報ヘッダを外した後に、参照したポート番号(1/2)からパケットを出力する。出力されたパケットは、転送装置202のポート番号(1/1)をもつ物理ポート250に入力される。   Since the transfer device 206 is not connected to the adjacent router 300, there is no entry in the output transfer table 245. For this reason, the output packet processing unit 240 of the transfer device 206 refers to the port number (1/2) recorded in the output port information header, removes the output port information header, and then refers to the port number (1/2). ) To output the packet. The output packet is input to the physical port 250 having the port number (1/1) of the transfer device 202.

MPLSラベルが挿入されたパケットが入力されたので、転送装置202の入力パケット処理部220は、パケットが転送装置202に入力されたポート番号である(1/1)を記録した入力ポート情報ヘッダをパケットに挿入し、ラベル転送処理部230にパケットをわたす。   Since the packet with the MPLS label inserted is input, the input packet processing unit 220 of the transfer apparatus 202 uses the input port information header that records (1/1) which is the port number at which the packet is input to the transfer apparatus 202. The packet is inserted into the packet and passed to the label transfer processing unit 230.

転送装置202のラベル転送処理部230は、図4の(D)に示した転送装置202のラベル転送テーブル235から、入力ポート1351の値が入力ポート情報ヘッダに記録されているポート番号である(1/1)であり、かつ、入力転送ラベル1352の値がパケットの転送ラベル値「4003」であるエントリ1381を検索する。   The label transfer processing unit 230 of the transfer device 202 is the port number in which the value of the input port 1351 is recorded in the input port information header from the label transfer table 235 of the transfer device 202 shown in FIG. 1/1) and the entry 1381 whose input transfer label 1352 value is the packet transfer label value “4003” is searched.

転送装置202のラベル転送処理部230は、パケットの転送ラベル値「4003」をエントリ1381の出力転送ラベル1353に記録されている出力ラベル値「4004」に書き換える。転送装置202のラベル転送処理部230は、エントリ1381の出力ポート1354に記録されている(2/1)を記録した出力ポート情報ヘッダをパケットに挿入し、出力パケット処理部240に渡す。   The label transfer processing unit 230 of the transfer device 202 rewrites the transfer label value “4003” of the packet with the output label value “4004” recorded in the output transfer label 1353 of the entry 1381. The label transfer processing unit 230 of the transfer device 202 inserts the output port information header recorded (2/1) recorded in the output port 1354 of the entry 1381 into the packet, and passes it to the output packet processing unit 240.

入力されたパケットの宛先ネットワークアドレスは「G」、パケットに挿入されている識別ラベル値は「601」、パケットに挿入されている転送ラベル値は「4004」である。転送装置202の出力パケット処理部240は、この条件を満たすエントリを出力転送テーブル245から検索する。   The destination network address of the input packet is “G”, the identification label value inserted in the packet is “601”, and the transfer label value inserted in the packet is “4004”. The output packet processing unit 240 of the transfer apparatus 202 searches the output transfer table 245 for an entry that satisfies this condition.

この場合、図5の(A)に示した転送装置202の出力転送テーブル245のエントリ1425が上記条件を満たす。したがって、転送装置202の出力パケット処理部240は、ラベル転送処理部230から受け取ったパケットの宛先MACアドレスを当該エントリ1425の書換宛先MAC1405に記録されているブロードキャストアドレス「BROADCAST」に書き換える。また、転送装置202の出力パケット処理部240は、当該パケットの送信MACアドレスを書換送信元MAC1406に記録されている「MAC202」に書き換え、挿入されている識別ラベル値「601」と転送ラベル値「4004」とを外す。   In this case, the entry 1425 of the output transfer table 245 of the transfer device 202 shown in FIG. Accordingly, the output packet processing unit 240 of the transfer device 202 rewrites the destination MAC address of the packet received from the label transfer processing unit 230 to the broadcast address “BROADCAST” recorded in the rewrite destination MAC 1405 of the entry 1425. In addition, the output packet processing unit 240 of the transfer device 202 rewrites the transmission MAC address of the packet to “MAC202” recorded in the rewrite source MAC 1406 and inserts the identification label value “601” and the transfer label value “ 4004 ".

転送装置202の出力パケット処理部240は、出力ポート情報ヘッダに記録されたポート番号(2/1)を参照し、出力ポート情報ヘッダを外した後に、参照したポート番号(2/1)をもつ物理ポート250からパケットを出力する。出力されたパケットは転送装置202のポート番号(2/1)から出力される。   The output packet processing unit 240 of the transfer apparatus 202 refers to the port number (2/1) recorded in the output port information header, and has the referenced port number (2/1) after removing the output port information header. A packet is output from the physical port 250. The output packet is output from the port number (2/1) of the transfer device 202.

以上ように、転送装置201のポート(2/1)から宛先ネットワークG宛のパケットが入力されると、図9Bに示したグループ別現経路情報テーブル1000に従って、エントリ1031の経路取得元1008である転送装置202のポート(2/1)からパケットが出力される。   As described above, when a packet addressed to the destination network G is input from the port (2/1) of the transfer apparatus 201, the route acquisition source 1008 of the entry 1031 is obtained according to the group-specific current route information table 1000 illustrated in FIG. 9B. A packet is output from the port (2/1) of the transfer device 202.

宛先ネットワークG宛のパケットの転送例と同様にして、転送装置201〜205を通って転送装置網10に入力されたパケットは、図9Bに示したグループ別現経路情報テーブル1000に従って、宛先ネットワーク1002に記録されているネットワークに転送される。   Similarly to the transfer example of the packet addressed to the destination network G, the packet input to the transfer device network 10 through the transfer devices 201 to 205 is transferred to the destination network 1002 according to the group-specific current route information table 1000 shown in FIG. 9B. Is transferred to the network recorded in

次に、隣接ルータ301〜305が、隣接ルータ管理テーブル144の隣接ルータID801に対応する接続転送装置804に接続される。仮想ルータ機能部121は、図10の(A)に示した隣接ルータ管理テーブル144のエントリ825〜829における隣接ルータIP803に対してARP解決を行い、得られたMACアドレスを隣接ルータMAC802にそれぞれ記録し、接続状態808を「通信可」にする。   Next, the adjacent routers 301 to 305 are connected to the connection transfer device 804 corresponding to the adjacent router ID 801 in the adjacent router management table 144. The virtual router function unit 121 performs ARP resolution for the adjacent router IP 803 in the entries 825 to 829 in the adjacent router management table 144 shown in FIG. 10A, and records the obtained MAC addresses in the adjacent router MAC 802, respectively. Then, the connection state 808 is set to “communication enabled”.

これにより、仮想ルータ機能部121が、ルータ301〜305との間でBGPのOpenメッセージを処理し、仮想ルータ機能部121とルータ301〜305との間でeBGPの隣接関係が成立する。eBGPの隣接関係が成立すると、仮想ルータ機能部121は、隣接ルータ管理テーブル144のエントリ825〜829の接続状態808を「通信可」に書き換える。以上の処理により、隣接ルータ管理テーブル144は、図10の(A)から(B)に更新される。   As a result, the virtual router function unit 121 processes the BGP Open message with the routers 301 to 305, and the eBGP adjacency relationship is established between the virtual router function unit 121 and the routers 301 to 305. When the eBGP adjacency relationship is established, the virtual router function unit 121 rewrites the connection status 808 of the entries 825 to 829 in the adjacent router management table 144 to “communication enabled”. With the above processing, the adjacent router management table 144 is updated from (A) to (B) in FIG.

<(2)ルータ接続による経路広告処理>
つぎに、ルータ接続による経路広告処理(F2900)について説明する。ルータ接続による経路広告処理は、仮想ルータ機能部121が、BGP隣接関係になったルータ301〜305に対して、経路情報を広告する処理である。
<(2) Route advertisement processing by router connection>
Next, route advertisement processing (F2900) by router connection will be described. The route advertisement processing by router connection is processing in which the virtual router function unit 121 advertises route information to the routers 301 to 305 having the BGP adjacency relationship.

図28は、ルータ接続による経路広告処理(F2900)の詳細な処理手順例を示すフローチャートである。まず、仮想ルータ機能部121は、図22に示した差分経路情報テーブル更新処理(F2500)を実行する。ルータ接続による経路広告処理(F2900)における差分経路情報テーブル更新処理(F2500)では、図18のグループ分け変化による経路情報操作処理(F2200)において更新された図12の(C)のPoP情報テーブル146が用いられる。したがって、図28では、仮想ルータ機能部121は、図8Bに示した差分経路情報テーブル142を作成する。   FIG. 28 is a flowchart showing a detailed processing procedure example of route advertisement processing (F2900) by router connection. First, the virtual router function unit 121 executes the differential path information table update process (F2500) illustrated in FIG. In the difference route information table update process (F2500) in the route advertisement process (F2900) by the router connection, the PoP information table 146 in (C) of FIG. 12 updated in the route information operation process (F2200) by the grouping change in FIG. Is used. Therefore, in FIG. 28, the virtual router function unit 121 creates the differential path information table 142 shown in FIG. 8B.

つぎに、仮想ルータ機能部121は、図27に示した経路情報広告処理(F2700)を実行する。仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の先頭エントリ参照を試みる(F2704)。図10の(B)に示した隣接ルータ管理テーブル144の先頭エントリ825が存在し(F2708:Yes)、参照エントリ825の接続状態808が「通信可」である(F2712:Yes)。したがって、仮想ルータ機能部121は、図8Bに示した差分経路情報テーブル142の先頭エントリの参照を試みる(F2720)。   Next, the virtual router function unit 121 executes the route information advertisement process (F2700) shown in FIG. The virtual router function unit 121 tries to refer to the head entry of the adjacent router management table 144 shown in FIG. 10B (F2704). The head entry 825 of the adjacent router management table 144 shown in FIG. 10B exists (F2708: Yes), and the connection state 808 of the reference entry 825 is “communication enabled” (F2712: Yes). Therefore, the virtual router function unit 121 tries to refer to the head entry of the differential path information table 142 shown in FIG. 8B (F2720).

図8Bに示した差分経路情報テーブル142の先頭エントリ1225が存在する(F2724:Yes)ため、仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ825の接続PoP_ID807の値「501」をもつエントリを、図12の(C)に示したPoP情報テーブル146から検索する。エントリ875が検索される。仮想ルータ機能部121は、そのエントリ875の旧所属グループ854の値「2」と現所属グループ855である「2」を取得する(F2728)。   Since the first entry 1225 of the differential path information table 142 shown in FIG. 8B exists (F2724: Yes), the virtual router function unit 121 sets the reference entry 825 of the adjacent router management table 144 shown in FIG. An entry having the value “501” of the connection PoP_ID 807 is searched from the PoP information table 146 shown in FIG. An entry 875 is retrieved. The virtual router function unit 121 acquires the value “2” of the old group 854 and “2” of the current group 855 of the entry 875 (F2728).

図8Bに示した差分経路情報テーブル142の参照エントリ1225の旧情報源グループ1206の値「1」および現情報源グループ1207の値「1」の組み合わせが、F2728で取得した旧所属グループ854の値「2」および現所属グループ855の値「2」の組み合わせと一致しない。したがって、エントリ1225は広告対象でない(F2732、F2736:No)。このあと、仮想ルータ機能部121は、図8Bに示した差分経路情報テーブル142の次エントリ1226を参照して(F2744)、F2724に戻る。エントリ1226〜1229までは、エントリ1225と同じ処理となる。   The combination of the value “1” of the old information source group 1206 and the value “1” of the current information source group 1207 of the reference entry 1225 of the difference path information table 142 shown in FIG. 8B is the value of the old member group 854 acquired in F2728. It does not match the combination of “2” and the value “2” of the current group 855. Therefore, the entry 1225 is not an advertising target (F2732, F2736: No). Thereafter, the virtual router function unit 121 refers to the next entry 1226 of the differential path information table 142 illustrated in FIG. 8B (F2744), and returns to F2724. The entries 1226 to 1229 are the same as the entry 1225.

図8Bに示した差分経路情報テーブル142の参照エントリがエントリ1230になった場合、参照エントリ1230の旧情報源グループ1206の値「2」および現情報源グループ1207の値「2」の組み合わせが、F2728で取得した旧所属グループ854の値「2」および現所属グループ855の値「2」の組み合わせと一致する。   When the reference entry of the differential path information table 142 shown in FIG. 8B is the entry 1230, the combination of the value “2” of the old information source group 1206 and the value “2” of the current information source group 1207 of the reference entry 1230 is It matches the combination of the value “2” of the former group 854 and the value “2” of the current group 855 acquired in F2728.

したがって、エントリ1230は広告対象になる(F2732、2736:Yes)。広告対象であるエントリ1230の削除・更新1209は「更新」である。したがって、仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ825の隣接ルータID801の値「301」で特定されるルータ301に、エントリ1230を経路情報として広告する(F2740)。   Therefore, the entry 1230 becomes an advertising target (F2732, 2736: Yes). The deletion / update 1209 of the entry 1230 to be advertised is “update”. Therefore, the virtual router function unit 121 uses the entry 1230 as route information for the router 301 identified by the value “301” of the adjacent router ID 801 of the reference entry 825 of the adjacent router management table 144 shown in FIG. Advertising (F2740).

つぎに、仮想ルータ機能部121は、図8Bに示した差分経路情報テーブル142の次エントリ1231の参照を試みる(F2744)。エントリ1231〜1234もエントリ1230と同様にして広告対象になる。エントリ1231〜1234の削除・更新1209は「更新」である。したがって、仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ825の隣接ルータID801の値「301」で特定されるルータ301に、エントリ1231〜1234を経路情報として広告する(F2740)。   Next, the virtual router function unit 121 attempts to refer to the next entry 1231 of the differential path information table 142 illustrated in FIG. 8B (F2744). The entries 1231 to 1234 are advertised in the same manner as the entry 1230. The deletion / update 1209 of the entries 1231 to 1234 is “update”. Therefore, the virtual router function unit 121 routes the entries 1231 to 1234 to the router 301 specified by the value “301” of the adjacent router ID 801 of the reference entry 825 of the adjacent router management table 144 shown in FIG. Advertising as information (F2740).

このあと、仮想ルータ機能部121は、図8Bに示した差分経路情報テーブル142でエントリ1234の次エントリ参照を試みるが(F2744)、図8Bに示した差分経路情報テーブル142のエントリ1234の次エントリが存在しない(F2724:No)。したがって、仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144のエントリ825の次エントリ826の参照を試みる(F2716)。参照するエントリ826が存在する(F2708:Yes)。仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144のエントリ826〜829に対しても、エントリ825と同様にして、処理F2708〜F2744を実行する。   Thereafter, the virtual router function unit 121 tries to refer to the next entry of the entry 1234 in the differential path information table 142 shown in FIG. 8B (F2744), but the next entry of the entry 1234 in the differential path information table 142 shown in FIG. 8B. Does not exist (F2724: No). Therefore, the virtual router function unit 121 tries to refer to the next entry 826 of the entry 825 of the adjacent router management table 144 shown in FIG. 10B (F2716). There is an entry 826 to be referred to (F2708: Yes). The virtual router function unit 121 executes the processing F2708 to F2744 for the entries 826 to 829 in the adjacent router management table 144 shown in FIG.

エントリ826の場合、接続PoP_ID807は「502」である。仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ826の接続PoP_ID807の値「502」をもつエントリを、図12の(C)に示したPoP情報テーブル146から検索する。エントリ876が検索される。仮想ルータ機能部121は、そのエントリ875の旧所属グループ854の値「2」と現所属グループ855である「2」を取得する(F2728)。   In the case of the entry 826, the connection PoP_ID 807 is “502”. The virtual router function unit 121 sets the entry having the value “502” of the connection PoP_ID 807 of the reference entry 826 of the adjacent router management table 144 shown in FIG. 10B to the PoP information table shown in FIG. Search from 146. Entry 876 is retrieved. The virtual router function unit 121 acquires the value “2” of the old group 854 and “2” of the current group 855 of the entry 875 (F2728).

エントリ826の場合、エントリ875と同様、図8Bに示した差分経路情報テーブル142のエントリ1230〜1234が広告対象になる。したがって、仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ826の隣接ルータID801の値「302」で特定されるルータ302に、エントリ1230〜1234を経路情報として広告する(F2740)。   In the case of the entry 826, as with the entry 875, the entries 1230 to 1234 of the differential path information table 142 illustrated in FIG. Therefore, the virtual router function unit 121 routes the entries 1230 to 1234 to the router 302 specified by the value “302” of the adjacent router ID 801 of the reference entry 826 of the adjacent router management table 144 shown in FIG. Advertising as information (F2740).

エントリ827の場合、接続PoP_ID807は「503」である。仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ827の接続PoP_ID807の値「503」をもつエントリを、図12の(C)に示したPoP情報テーブル146から検索する。エントリ877が検索される。仮想ルータ機能部121は、そのエントリ877の旧所属グループ854の値「1」と現所属グループ855である「1」を取得する(F2728)。   In the case of the entry 827, the connection PoP_ID 807 is “503”. The virtual router function unit 121 sets the entry having the value “503” of the connection PoP_ID 807 of the reference entry 827 of the adjacent router management table 144 shown in FIG. 10B to the PoP information table shown in FIG. Search from 146. An entry 877 is retrieved. The virtual router function unit 121 acquires the value “1” of the old group 854 and “1” of the current group 855 of the entry 877 (F2728).

図8Bに示した差分経路情報テーブル142の参照エントリ1225の旧情報源グループ1206の値「1」および現情報源グループ1207の値「1」の組み合わせが、F2728で取得した旧所属グループ854の値「1」および現所属グループ855の値「1」の組み合わせと一致する。   The combination of the value “1” of the old information source group 1206 and the value “1” of the current information source group 1207 of the reference entry 1225 of the difference path information table 142 shown in FIG. 8B is the value of the old member group 854 acquired in F2728. It matches the combination of “1” and the value “1” of the current group 855.

したがって、エントリ1225は広告対象になる(F2732、2736:Yes)。広告対象であるエントリ1230の削除・更新1209は「更新」である。したがって、仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ827の隣接ルータID801の値「303」で特定されるルータ303に、エントリ1225を経路情報として広告する(F2740)。   Therefore, the entry 1225 becomes an advertising target (F2732, 2736: Yes). The deletion / update 1209 of the entry 1230 to be advertised is “update”. Therefore, the virtual router function unit 121 uses the entry 1225 as route information for the router 303 identified by the value “303” of the adjacent router ID 801 of the reference entry 827 of the adjacent router management table 144 shown in FIG. Advertising (F2740).

つぎに、仮想ルータ機能部121は、図8Bに示した差分経路情報テーブル142の次エントリ1226の参照を試みる(F2744)。エントリ1226〜1229もエントリ1225と同様にして広告対象になる。エントリ1226〜1229の削除・更新1209は「更新」である。したがって、仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ827の隣接ルータID801の値「303」で特定されるルータ303に、エントリ1226〜1229を経路情報として広告する(F2740)。なお、エントリ1230〜1234については、広告対象にならないため、広告されない。   Next, the virtual router function unit 121 attempts to refer to the next entry 1226 of the differential path information table 142 illustrated in FIG. 8B (F2744). The entries 1226 to 1229 are also advertised in the same manner as the entry 1225. The deletion / update 1209 of the entries 1226 to 1229 is “update”. Therefore, the virtual router function unit 121 routes the entries 1226 to 1229 to the router 303 specified by the value “303” of the adjacent router ID 801 of the reference entry 827 of the adjacent router management table 144 shown in FIG. Advertising as information (F2740). The entries 1230 to 1234 are not advertised because they are not advertised.

エントリ828の場合、接続PoP_ID807は「504」である。仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ828の接続PoP_ID807の値「504」をもつエントリを、図12の(C)に示したPoP情報テーブル146から検索する。エントリ878が検索される。仮想ルータ機能部121は、そのエントリ878の旧所属グループ854の値「1」と現所属グループ855である「1」を取得する(F2728)。   In the case of the entry 828, the connection PoP_ID 807 is “504”. The virtual router function unit 121 sets the entry having the value “504” of the connection PoP_ID 807 of the reference entry 828 of the adjacent router management table 144 shown in FIG. 10B to the PoP information table shown in FIG. Search from 146. An entry 878 is retrieved. The virtual router function unit 121 acquires the value “1” of the old group 854 and the current group 855 “1” of the entry 878 (F2728).

エントリ828の場合、エントリ877と同様、図8Bに示した差分経路情報テーブル142のエントリ1225〜1229が広告対象になる。したがって、仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ828の隣接ルータID801の値「304」で特定されるルータ304に、エントリ1225〜1229を経路情報として広告する(F2740)。   In the case of the entry 828, as with the entry 877, the entries 1225 to 1229 in the differential path information table 142 shown in FIG. Therefore, the virtual router function unit 121 routes the entries 1225 to 1229 to the router 304 specified by the value “304” of the adjacent router ID 801 of the reference entry 828 of the adjacent router management table 144 shown in FIG. Advertising as information (F2740).

エントリ829の場合、接続PoP_ID807は「504」である。仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ828の接続PoP_ID807の値「504」をもつエントリを、図12の(C)に示したPoP情報テーブル146から検索する。エントリ878が検索される。仮想ルータ機能部121は、そのエントリ878の旧所属グループ854の値「1」と現所属グループ855である「1」を取得する(F2728)。   In the case of the entry 829, the connection PoP_ID 807 is “504”. The virtual router function unit 121 sets the entry having the value “504” of the connection PoP_ID 807 of the reference entry 828 of the adjacent router management table 144 shown in FIG. 10B to the PoP information table shown in FIG. Search from 146. An entry 878 is retrieved. The virtual router function unit 121 acquires the value “1” of the old group 854 and the current group 855 “1” of the entry 878 (F2728).

エントリ829の場合、エントリ877と同様、図8Bに示した差分経路情報テーブル142のエントリ1225〜1229が広告対象になる。したがって、仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ829の隣接ルータID801の値「305」で特定されるルータ305に、エントリ1225〜1229を経路情報として広告する(F2740)。隣接ルータ管理テーブルのエントリ829の次エントリが存在しない場合(F2708:No)、仮想ルータ機能部121は、図27の経路情報広告処理(F2700)を終了する。   In the case of the entry 829, as with the entry 877, the entries 1225 to 1229 in the differential path information table 142 shown in FIG. Therefore, the virtual router function unit 121 routes the entries 1225 to 1229 to the router 305 identified by the value “305” of the adjacent router ID 801 of the reference entry 829 of the adjacent router management table 144 shown in FIG. Advertising as information (F2740). When the next entry of the entry 829 in the adjacent router management table does not exist (F2708: No), the virtual router function unit 121 ends the route information advertisement process (F2700) of FIG.

つぎに、仮想ルータ機能部121は、図12の(C)に示したPoP情報テーブル146の全エントリ875〜878について、旧所属グループ854に現所属グループ855の値をそれぞれ代入する(F2904)。図12の(C)では、PoP情報テーブル146の全エントリ875〜876の旧所属グループ854と現所属グループ855の値は等しいため、図12の(C)に示したPoP情報テーブル146は変更されない。これにより、仮想ルータ機能部121は、ルータ接続による経路広告処理(F2900)を終了する。   Next, the virtual router function unit 121 assigns the values of the current group 855 to the old group 854 for all entries 875 to 878 of the PoP information table 146 shown in FIG. 12C (F2904). In FIG. 12C, since the values of the old affiliation group 854 and the current affiliation group 855 of all entries 875 to 876 in the PoP information table 146 are the same, the PoP information table 146 shown in FIG. 12C is not changed. . Thereby, the virtual router function unit 121 ends the route advertisement processing (F2900) by router connection.

<(3)新規経路取得処理>
つぎに、新規経路取得処理(F2800)について説明する。ルータ301〜305とeBGPの隣接関係が成立したことで、隣接ルータ301〜305がもつネットワークアドレスA〜Eに対する経路情報(隣接ルータ301〜305とその宛先ネットワーク600)が、仮想ルータ機能部121に広告される。そして、仮想ルータ機能部121は、図29に示す新規経路取得処理(F2800)を実行する。なお、経路情報テーブル141は、図7の(B)に示した内容である。
<(3) New route acquisition process>
Next, the new route acquisition process (F2800) will be described. Since the adjacency relationship between the routers 301 to 305 and the eBGP is established, the route information (adjacent routers 301 to 305 and the destination network 600) for the network addresses A to E of the adjacent routers 301 to 305 is stored in the virtual router function unit 121. Advertised. Then, the virtual router function unit 121 executes a new route acquisition process (F2800) shown in FIG. The route information table 141 has the contents shown in FIG.

図29は、新規経路取得処理(F2800)の詳細な処理手順例を示すフローチャートである。まず、仮想ルータ機能部121は、隣接ルータ301〜305から広告されてきた経路情報(隣接ルータ301〜305とその宛先ネットワーク600と経路情報に含まれるパス属性)に、PoP優先度1104、情報源PoP1105、情報源グループ1106、および経路取得元1107を追加して、エントリ1156〜1164として図7の(B)に示した経路情報テーブル141に追加する(F2804)。つまり、広告されてきた経路情報の隣接ルータ300の情報を広告元ルータ1102に格納し、その宛先ネットワーク600を宛先ネットワーク1101に格納し広告されてきた経路情報に含まれるパス属性を他パス属性1103に格納する。また、PoP優先度1104、情報源PoP1105、情報源グループ1106、および経路取得元1107のフィールドを追加してそれぞれの値を格納する。これにより、経路情報テーブル141は、図7の(C)に示した内容になる。   FIG. 29 is a flowchart illustrating a detailed processing procedure example of the new route acquisition processing (F2800). First, the virtual router function unit 121 adds the PoP priority 1104, the information source to the route information advertised from the adjacent routers 301 to 305 (the adjacent routers 301 to 305, the destination network 600, and the path attribute included in the route information). The PoP 1105, the information source group 1106, and the route acquisition source 1107 are added and added as entries 1156 to 1164 to the route information table 141 shown in FIG. 7B (F2804). That is, the information of the adjacent router 300 of the advertised route information is stored in the advertisement source router 1102, the destination network 600 is stored in the destination network 1101, and the path attribute included in the advertised route information is the other path attribute 1103. To store. In addition, fields of PoP priority 1104, information source PoP 1105, information source group 1106, and route acquisition source 1107 are added and stored. As a result, the route information table 141 has the contents shown in FIG.

つぎに、仮想ルータ機能部121は、図9Bに示したグループ別現経路情報テーブル1000のエントリ1025〜1034の内容を、グループ別旧経路情報テーブル1050に複製してから、グループ別現経路情報テーブル1000のエントリ1025〜1034を消去する(F2808)。つまり、グループ別旧経路情報テーブルの内容をグループ別現経路情報テーブルに置き換えてからグループ別現経路情報テーブルを消去する(F2808)。これにより、図9Cに示したように、グループ別旧経路情報テーブル1050のエントリ1075〜1084が作成される。つぎに、仮想ルータ機能部121は、図7の(C)に示した経路情報テーブル141の全エントリ1151〜1164を引数として、図20に示した最適経路選択処理を実行する(F2300)。   Next, the virtual router function unit 121 copies the contents of the entries 1025 to 1034 in the group-by-group current route information table 1000 shown in FIG. 9B to the group-by-group old route information table 1050, and then the group-by-group current route information table. The 1000 entries 1025 to 1034 are deleted (F2808). That is, the contents of the old route information table for each group are replaced with the current route information table for each group, and then the current route information table for each group is deleted (F2808). As a result, as shown in FIG. 9C, entries 1075 to 1084 of the group-by-group old route information table 1050 are created. Next, the virtual router function unit 121 executes the optimum route selection process shown in FIG. 20 using all the entries 1151 to 1164 in the route information table 141 shown in FIG. 7C as arguments (F2300).

グループ分け処理(F2000)での最適経路選択処理(F2300)を実行した場合に図7の(A)に示した経路情報テーブル141のエントリ1151〜1155を引数としたときと同様、本フローの最適経路選択処理(F2300)では、仮想ルータ機能部121は、図7の(C)に示した経路情報テーブル141のエントリ1151〜1158に対して処理F2308:Yes、図20のF2312〜2328を実行する。   When the optimum route selection process (F2300) in the grouping process (F2000) is executed, the optimum of this flow is the same as when the entries 1151-1155 of the route information table 141 shown in FIG. In the route selection processing (F2300), the virtual router function unit 121 executes processing F2308: Yes on the entries 1151-1158 of the route information table 141 shown in (C) of FIG. 7 and F2312-1328 of FIG. .

これにより、図7の(C)に示した経路情報テーブル141のエントリ1151〜1158に利用グループ1001の値「1」が追加されたエントリ1151〜1158が、図9Cに示したグループ別現経路情報テーブル1000のエントリ1025〜1032として追加される。   As a result, the entries 1151 to 1158 in which the value “1” of the usage group 1001 is added to the entries 1151 to 1158 of the route information table 141 shown in FIG. 7C become the current route information for each group shown in FIG. 9C. They are added as entries 1025 to 1032 of the table 1000.

つぎに、仮想ルータ機能部121は、図7の(C)に示した経路情報テーブル141において、エントリ1158の次エントリの参照を試みる(F2328)。次エントリ1159が存在するので(F2308:Yes)、仮想ルータ機能部121は、経路情報テーブル141の参照エントリ1159を最適経路情報候補1159とし、最適経路情報候補1159の宛先ネットワーク1101にある宛先ネットワークAを変数CANDIDATE_NWに代入する(F2312)。   Next, the virtual router function unit 121 tries to refer to the next entry of the entry 1158 in the path information table 141 shown in FIG. 7C (F2328). Since the next entry 1159 exists (F2308: Yes), the virtual router function unit 121 sets the reference entry 1159 in the route information table 141 as the optimum route information candidate 1159, and the destination network A in the destination network 1101 of the optimum route information candidate 1159. Is substituted into the variable CANDIDATE_NW (F2312).

宛先ネットワークAへのIP到達性があるため(F2316:Yes)、グループ別現経路情報テーブル1000のエントリで利用グループ1001が「1」であるエントリ1025〜1032うち、宛先ネットワーク1002の値がCANDIDATE_NWである宛先ネットワークAを持つエントリが存在する(F2320:Yes)。このエントリは、宛先ネットワークAを持つエントリ1156に利用グループ1001の値「1」が追加されたエントリである。便宜上、現最適経路情報1156とする(F2332)。   Since there is IP reachability to the destination network A (F2316: Yes), the value of the destination network 1002 is CANDIDATE_NW among the entries 1025 to 1032 in which the usage group 1001 is “1” in the entry of the current route information table by group 1000. An entry having a certain destination network A exists (F2320: Yes). This entry is an entry in which the value “1” of the usage group 1001 is added to the entry 1156 having the destination network A. For convenience, the current optimum route information 1156 is set (F2332).

つぎに、仮想ルータ機能部121は、対象グループ番号N=1、最適経路情報候補1159、現最適経路情報1156を引数として図21に示した経路属性比較処理(F2400)を実行する。   Next, the virtual router function unit 121 executes the route attribute comparison process (F2400) illustrated in FIG. 21 with the target group number N = 1, the optimum route information candidate 1159, and the current optimum route information 1156 as arguments.

現最適経路情報1156の情報源グループ1106(実際には情報源グループ1007を参照する)の値が「2」であり、最適経路情報候補1159の情報源グループ1106の値が「1」であるため、同一でない(F2404:No)。また、対象グループ番号N=1と現最適経路情報1156の情報源グループ1106の値「2」が同じでない(F2408:No)。   The value of the information source group 1106 (refer to the information source group 1007 is actually referred to) of the current optimum route information 1156 is “2”, and the value of the information source group 1106 of the optimum route information candidate 1159 is “1”. Are not identical (F2404: No). Further, the target group number N = 1 and the value “2” of the information source group 1106 of the current optimum route information 1156 are not the same (F2408: No).

一方、最適経路情報候補1159の情報源グループ1106の値「1」が対象グループ番号N=1と同じであるため(F2412:Yes)、グループ別現経路情報テーブル1000で、現最適経路情報1156を、利用グループ1001の値を「1」としたフィールドを追加した最適経路情報候補1159に書き換えて、グループ別現経路情報テーブル1000のエントリ1030とする(F2416)。これにより、仮想ルータ機能部121は、図21に示した経路属性比較処理(F2400)を終了する。   On the other hand, since the value “1” of the information source group 1106 of the optimal route information candidate 1159 is the same as the target group number N = 1 (F2412: Yes), the current optimal route information 1156 is stored in the group-specific current route information table 1000. Then, it is rewritten to the optimum route information candidate 1159 added with a field in which the value of the use group 1001 is “1”, and is set as the entry 1030 of the group-by-group current route information table 1000 (F2416). Accordingly, the virtual router function unit 121 ends the route attribute comparison process (F2400) illustrated in FIG.

つぎに、仮想ルータ機能部121は、図7の(C)に示した経路情報テーブル141でエントリ1159の次エントリの参照を試みる(F2328)。次エントリ1160が存在する(F2308:Yes)。エントリ1160についても、エントリ1159と同様にして、処理F2304〜F2332、F2400〜F2408、F2420を実行することにより、図9Cのグループ別現経路情報テーブル1000において、現最適経路情報1157がエントリ1031に書き換えられる(F2416)。   Next, the virtual router function unit 121 tries to refer to the next entry of the entry 1159 in the path information table 141 shown in FIG. 7C (F2328). The next entry 1160 exists (F2308: Yes). Similarly to the entry 1159, the entry 1160 also executes the processes F2304 to F2332, F2400 to F2408, and F2420, so that the current optimum route information 1157 is rewritten to the entry 1031 in the group-by-group current route information table 1000 of FIG. (F2416).

つぎに、仮想ルータ機能部121は、図7の(C)に示した経路情報テーブル141でエントリ1160の次エントリの参照を試みる(F2328)。次エントリ1161が存在する(F2308:Yes)。エントリ1161についても、エントリ1160と同様にして、処理F2304〜F2332、F2400〜F2408、F2420を実行することにより、図9Cのグループ別現経路情報テーブル1000において、現最適経路情報1158がエントリ1032に書き換えられる(F2416)。   Next, the virtual router function unit 121 tries to refer to the next entry of the entry 1160 in the path information table 141 shown in FIG. 7C (F2328). The next entry 1161 exists (F2308: Yes). Similarly to the entry 1160, the entry 1161 is rewritten with the entry 1032 in the current optimum route information 1158 in the group-by-group current route information table 1000 by executing the processes F2304 to F2332, F2400 to F2408, and F2420. (F2416).

つぎに、仮想ルータ機能部121は、図7の(C)に示した経路情報テーブル141でエントリ1161の次エントリの参照を試みる(F2328)。次エントリ1162が存在する(F2308:Yes)。エントリ1162についても、エントリ1151の場合と同様にして処理F2308、F2312〜2328を実行することにより、利用グループを1としたフィールドを追加したエントリ1162が、グループ別現経路情報テーブル1000のエントリ1033として追加される。   Next, the virtual router function unit 121 tries to refer to the next entry of the entry 1161 in the path information table 141 shown in FIG. 7C (F2328). The next entry 1162 exists (F2308: Yes). Also for the entry 1162, by executing the processes F2308 and F2312-2328 as in the case of the entry 1151, the entry 1162 to which the field for which the use group is 1 is added becomes the entry 1033 of the current routing information table by group 1000. Added.

つぎに、仮想ルータ機能部121は、経路情報テーブル141でエントリ1162の次エントリの参照を試みる(F2328)。次エントリ1163が存在する(F2308:Yes)。仮想ルータ機能部121は、図7の(C)に示した経路情報テーブル141の参照エントリ1163を最適経路情報候補1163とし、最適経路情報候補1163の宛先ネットワーク1101の値である宛先ネットワークDを変数CANDIDATE_NWに代入する(F2312)。   Next, the virtual router function unit 121 tries to refer to the next entry of the entry 1162 in the path information table 141 (F2328). The next entry 1163 exists (F2308: Yes). The virtual router function unit 121 sets the reference entry 1163 of the route information table 141 shown in FIG. 7C as the optimum route information candidate 1163, and sets the destination network D that is the value of the destination network 1101 of the optimum route information candidate 1163 as a variable. Substituting for CANDIDATE_NW (F2312).

宛先ネットワークDへのIP到達性があるため(F2316:Yes)、グループ別現経路情報テーブル1000のエントリで利用グループ1001が「1」であるエントリ1025〜1034うち、宛先ネットワーク1002の値がCANDIDATE_NWである宛先ネットワークDを持つエントリとして、エントリ1033が存在する(F2320:Yes)。このエントリ1033を現最適経路情報1033とする(F2332)。   Since there is IP reachability to the destination network D (F2316: Yes), the value of the destination network 1002 is CANDIDATE_NW among the entries 1025 to 1034 where the usage group 1001 is “1” in the entry of the current route information table 1000 by group. An entry 1033 exists as an entry having a certain destination network D (F2320: Yes). This entry 1033 is set as the current optimum route information 1033 (F2332).

つぎに、仮想ルータ機能部121は、対象グループ番号N=1、最適経路情報候補1163、現最適経路情報1033を引数として、図21の経路属性比較処理(F2400)を実行する。   Next, the virtual router function unit 121 executes the route attribute comparison process (F2400) of FIG. 21 using the target group number N = 1, the optimum route information candidate 1163, and the current optimum route information 1033 as arguments.

現最適経路情報1033の情報源グループ1007の値が「1」であり、最適経路情報候補1163の情報源グループ1106の値が「2」であるため、同一でない(F2404:No)。一方、グループ番号N=1と現最適経路情報1033の情報源グループ1007の値「1」が同一であるため(F2408:Yes)、グループ1での最適経路は現最適経路情報1033のままで変更はない(F2420)。これにより、仮想ルータ機能部121は、図21の経路属性比較処理(F2400)を終了する。   Since the value of the information source group 1007 of the current optimum route information 1033 is “1” and the value of the information source group 1106 of the optimum route information candidate 1163 is “2”, they are not the same (F2404: No). On the other hand, since the group number N = 1 and the value “1” of the information source group 1007 of the current optimum route information 1033 are the same (F2408: Yes), the optimum route in the group 1 is changed while keeping the current optimum route information 1033. There is no (F2420). Thereby, the virtual router function unit 121 ends the route attribute comparison process (F2400) of FIG.

つぎに、仮想ルータ機能部121は、経路情報テーブル141でエントリ1163の次エントリの参照を試みる(F2328)。次エントリ1164が存在する(F2308:Yes)。エントリ1164についても、エントリ1151の場合と同様にして処理F2308、F2312〜2328を実行することにより、利用グループを1としたフィールドを追加したエントリ1164が、グループ別現経路情報テーブル1000のエントリ1034として追加される。   Next, the virtual router function unit 121 tries to refer to the next entry of the entry 1163 in the path information table 141 (F2328). The next entry 1164 exists (F2308: Yes). Similarly to the entry 1151, the entry 1164 is executed as the entry 1034 of the group-specific current route information table 1000 by executing the processes F2308 and F2312-2328 in the same manner as in the case of the entry 1151 and adding the field with the use group as 1. Added.

つぎに、仮想ルータ機能部121は、経路情報テーブル141でエントリ1164の次エントリの参照を試みる(F2328)。経路情報テーブル141でエントリ1164の次エントリは存在しないので(F2308:No)、仮想ルータ機能部121は、対象グループ番号Nを1から1増加して2とする(F2309)。グループ番号Nが2であり、グループ情報テーブル145のエントリ数2以下である(F2310:Yes)。経路情報テーブル141として図7の(C)の経路情報テーブル141が参照されており、仮想ルータ機能部121は、その先頭エントリの参照を試みる(F2304)。   Next, the virtual router function unit 121 tries to refer to the next entry of the entry 1164 in the path information table 141 (F2328). Since there is no entry next to the entry 1164 in the path information table 141 (F2308: No), the virtual router function unit 121 increments the target group number N from 1 to 2 (F2309). The group number N is 2 and the number of entries in the group information table 145 is 2 or less (F2310: Yes). The path information table 141 in FIG. 7C is referred to as the path information table 141, and the virtual router function unit 121 tries to refer to the head entry (F2304).

グループ番号Nが1のときにエントリ1151〜1164に対して行った処理と同様にし、グループ番号Nが2のときもエントリ1151〜エントリ1164に対して処理F2308〜2332、F2400〜2432が実行される。これにより、図9Cのグループ別現経路情報テーブル1000のエントリ1035〜1044が作成される。   Similar to the processing performed for the entries 1151 to 1164 when the group number N is 1, the processing F2308 to 2332 and F2400 to 2432 are executed for the entries 1151 to 1164 when the group number N is 2. . As a result, entries 1035 to 1044 of the group-specific current route information table 1000 in FIG. 9C are created.

つぎに、仮想ルータ機能部121は、経路情報テーブル141でエントリ1164の次エントリの参照を試みる(F2328)。経路情報テーブル141でエントリ1164の次エントリは存在しないので(F2308:No)、対象グループ番号Nを2から1増加して3とする(F2309)。グループ番号Nが3であり、グループ情報テーブル145のエントリ数2以下でないので(F2310:No)、仮想ルータ機能部121は、最適経路選択処理(F2300)を終了する。図29における最適経路選択処理(F2300)により、図9Cに示したグループ別現経路情報テーブル1000が作成される。   Next, the virtual router function unit 121 tries to refer to the next entry of the entry 1164 in the path information table 141 (F2328). Since there is no entry next to the entry 1164 in the route information table 141 (F2308: No), the target group number N is incremented by 1 from 2 to 3 (F2309). Since the group number N is 3 and the number of entries in the group information table 145 is not less than 2 (F2310: No), the virtual router function unit 121 ends the optimum route selection process (F2300). The optimum route selection process (F2300) in FIG. 29 creates the group-by-group current route information table 1000 shown in FIG. 9C.

つぎに、図29において、仮想ルータ機能部121は、図22に示した差分経路情報テーブル更新処理を実行する(F2500)。差分経路情報テーブル更新処理(F2500)では、まず、仮想ルータ機能部121は、差分経路情報テーブル142の全エントリを削除することにより初期化を行う(F2504)。仮想ルータ機能部121は、図12の(C)に示したPoP情報テーブル146の先頭エントリの参照を試みる(F2508)。   Next, in FIG. 29, the virtual router function unit 121 executes the differential path information table update process shown in FIG. 22 (F2500). In the differential path information table update process (F2500), first, the virtual router function unit 121 performs initialization by deleting all entries in the differential path information table 142 (F2504). The virtual router function unit 121 tries to refer to the head entry of the PoP information table 146 shown in FIG. 12C (F2508).

図12の(C)に示したPoP情報テーブル146の先頭エントリ878が存在する(F2512:Yes)。存在するエントリ878を参照エントリとする。参照エントリ878の現所属グループ855の値である「1」と旧所属グループ854の値である「1」の組み合わせと同じ現情報源グループ1207の値と旧情報源グループ1206の値との組み合わせをもつエントリは、差分経路情報テーブル142には存在しない(F2516:No)。そして、仮想ルータ機能部121は、引数1を参照エントリ878の現所属グループ855の値である「1」、引数2を参照エントリ878の旧所属グループ854の値である「1」として、図23の差分取得処理(F2550)を実行する。   There is a head entry 878 of the PoP information table 146 shown in FIG. 12C (F2512: Yes). An existing entry 878 is set as a reference entry. The same combination of the value of the current information source group 1207 and the value of the old information source group 1206 as the combination of “1” which is the value of the current group 855 of the reference entry 878 and “1” which is the value of the old group 854 The entry having does not exist in the differential path information table 142 (F2516: No). Then, the virtual router function unit 121 sets “1” as the value of the current group 855 of the reference entry 878 as argument 1 and “1” as the value of the old group 854 of the reference entry 878 as argument 1 in FIG. The difference acquisition process (F2550) is executed.

仮想ルータ機能部121は、図9Cに示したグループ別現経路情報テーブル1000から、参照エントリ878の現所属グループ855の値である「1」が利用グループ1001に記録されているエントリ1025〜1034を取得する(F2552)。エントリ1025〜1034は、現経路情報リストとして保持される。   The virtual router function unit 121 adds entries 1025 to 1034 in which “1” that is the value of the current group 855 of the reference entry 878 is recorded in the usage group 1001 from the group-specific current route information table 1000 illustrated in FIG. 9C. Obtain (F2552). Entries 1025 to 1034 are held as a current route information list.

つぎに、仮想ルータ機能部121は、図9Cに示したグループ別旧経路情報テーブル1050の先頭エントリの参照を試みる(F2554)。図9Cに示したグループ別旧経路情報テーブル1050には先頭エントリとしてエントリ1075(以下、参照エントリ)が存在し(F2556:Yes)、参照エントリ1075の利用グループ1001の値である「1」が、引数2の旧所属グループ854の値である「1」と同一である(F2560:Yes)。   Next, the virtual router function unit 121 tries to refer to the head entry of the group-based old path information table 1050 shown in FIG. 9C (F2554). In the group-based old route information table 1050 shown in FIG. 9C, there is an entry 1075 (hereinafter referred to as a reference entry) as the first entry (F2556: Yes), and “1”, which is the value of the usage group 1001 of the reference entry 1075, It is the same as “1” that is the value of the old group 854 of argument 2 (F2560: Yes).

仮想ルータ機能部121は、経路情報リストの先頭エントリの参照を試み(F2562)、現経路情報リストの参照エントリ1025が存在する(F2564:Yes)。図9Cに示したグループ別旧経路情報テーブル1050の参照エントリ1075と現経路情報リストの参照エントリ1025は、同じ宛先ネットワーク1002,1052であるネットワークFを有する(F2566:Yes)。また、広告元ルータ1003,1053、他パス属性1004,1054、経路取得元1008,1058についても同じ値を持つ(F2568:No)。したがって、仮想ルータ機能部121は、現経路情報リストから参照エントリ1025を削除する。これで、現経路情報リストには、エントリ1026〜1034が残存する(F2570)。   The virtual router function unit 121 attempts to refer to the head entry of the route information list (F2562), and the reference entry 1025 of the current route information list exists (F2564: Yes). The reference entry 1075 of the group-based old route information table 1050 shown in FIG. 9C and the reference entry 1025 of the current route information list have the network F that is the same destination network 1002 and 1052 (F2566: Yes). The advertisement source routers 1003 and 1053, the other path attributes 1004 and 1054, and the route acquisition sources 1008 and 1058 have the same value (F2568: No). Therefore, the virtual router function unit 121 deletes the reference entry 1025 from the current route information list. Thus, entries 1026 to 1034 remain in the current route information list (F2570).

つぎに、仮想ルータ機能部121は、図9Cに示したグループ別旧経路情報テーブル1050のエントリ1075の次エントリの参照を試み(F2572)、グループ別旧経路情報テーブル1050のエントリ1075の次エントリ1076が存在する(F2556:Yes)。エントリ1076〜1079についてもエントリ1075の場合と同様にして、処理F2556〜2572を実行することにより、現経路情報リストから、参照したエントリ1026〜1029が削除される。これにより、現経路情報リストには、エントリ1030〜1034が残存する(F2570)。   Next, the virtual router function unit 121 tries to refer to the next entry of the entry 1075 of the group-by-group old path information table 1050 shown in FIG. 9C (F2572), and the next entry 1076 of the entry 1075 of the group-by-group old path information table 1050. Exists (F2556: Yes). Similarly to the entry 1075, the entries 1076 to 1079 are deleted from the current route information list by executing the processing F2556 to 2572. As a result, entries 1030 to 1034 remain in the current route information list (F2570).

つぎに、仮想ルータ機能部121は、図9Cに示したグループ別旧経路情報テーブル1050のエントリ1079の次エントリの参照を試みる(F2572)。次エントリ1080が存在する(F2556:Yes)。エントリ1080の利用グループ1001の値は「2」であり、差分取得処理(F2550)の引数2の旧所属グループ854の値である「1」と異なる(F2560:No)。したがって、仮想ルータ機能部121は、図9Cに示したグループ別旧経路情報テーブル1050のエントリ1084の次エントリの参照を試みる(F2572)。エントリ1081〜1084についても同様に、エントリ1080の利用グループ1001の値は「2」であり、差分取得処理(F2550)の引数2の旧所属グループ854の値である「1」と異なる(F2560:No)。したがって、仮想ルータ機能部121は、図9Cに示したグループ別旧経路情報テーブル1050のエントリ1084の次エントリの参照を試みるが(F2572)、次エントリは存在しない(F2556:No)。   Next, the virtual router function unit 121 attempts to refer to the next entry of the entry 1079 of the group-by-group old path information table 1050 illustrated in FIG. 9C (F2572). The next entry 1080 exists (F2556: Yes). The value of the usage group 1001 of the entry 1080 is “2”, which is different from “1” that is the value of the old group 854 of the argument 2 of the difference acquisition process (F2550) (F2560: No). Therefore, the virtual router function unit 121 attempts to refer to the next entry of the entry 1084 of the group-based old route information table 1050 illustrated in FIG. 9C (F2572). Similarly, for the entries 1081 to 1084, the value of the usage group 1001 of the entry 1080 is “2”, which is different from “1” which is the value of the old group 854 of the argument 2 of the difference acquisition process (F2550) (F2560: No). Therefore, the virtual router function unit 121 attempts to refer to the next entry of the entry 1084 of the group-by-group old route information table 1050 illustrated in FIG. 9C (F2572), but the next entry does not exist (F2556: No).

これにより、仮想ルータ機能部121は、現経路情報リストの残存エントリであるエントリ1030〜1034の一部のフィールドに、旧情報源グループ1206の値が引数1(参照エントリ878の現所属グループ855の値である「1」)、現情報源グループ1207の値が引数2(参照エントリ878の旧所属グループ854の値である「1」)、削除・更新1209の値が「更新」となるフィールドを追加したエントリ1225〜1229を差分経路情報テーブル142に追加する(F2558)。   As a result, the virtual router function unit 121 sets the value of the old information source group 1206 to the argument 1 (the current group 855 of the reference entry 878 in the partial fields of the entries 1030 to 1034 which are the remaining entries of the current route information list. A field in which the value of the current information source group 1207 is the argument 2 (the value of the old group 854 of the reference entry 878 is “1”) and the value of the delete / update 1209 is “update”. The added entries 1225 to 1229 are added to the difference path information table 142 (F2558).

以上により、仮想ルータ機能部121は、引数1を参照エントリ855の現所属グループ855の値である「1」、引数2を参照エントリ855の旧所属グループ854の値である「1」とした図12の差分取得処理(F2550)を終了する。この処理により、図8Cに示した差分経路情報テーブル142のエントリ1225〜1229が作成される。   As described above, the virtual router function unit 121 sets “1” as the value of the current group 855 of the reference entry 855 and “1” as the value of the old group 854 of the reference entry 855 as the argument 1. 12 difference acquisition process (F2550) is complete | finished. By this process, entries 1225 to 1229 in the differential path information table 142 shown in FIG. 8C are created.

つぎに、図22において、仮想ルータ機能部121は、図12の(C)に示したPoP情報テーブルのエントリ878の次エントリ参照を試みる(F2520)。PoP情報テーブル146のエントリ878の次エントリ876は存在する(F2512:Yes)。参照エントリ876の現所属グループ855の値である「2」と旧所属グループ854の値である「2」との組み合わせと同じ現情報源グループ1207の値と旧情報源グループ1206の値との組み合わせを有するエントリは、差分経路情報テーブル142には存在しない(F2516:No)。   Next, in FIG. 22, the virtual router function unit 121 tries to refer to the next entry of the entry 878 of the PoP information table shown in FIG. 12C (F2520). The next entry 876 of the entry 878 of the PoP information table 146 exists (F2512: Yes). The same combination of the value of the current information source group 1207 and the value of the old information source group 1206 as the combination of “2” that is the value of the current group 855 of the reference entry 876 and “2” that is the value of the old group 854 Does not exist in the differential path information table 142 (F2516: No).

したがって、仮想ルータ機能部121は、引数1を参照エントリ878の現所属グループ855の値である「2」、引数2を参照エントリ878の旧所属グループ854の値である「2」として、図23の差分取得処理(F2550)を実行する。エントリ878のときと同様、仮想ルータ機能部121は差分取得処理(F2550)を実行することにより、図8Cに示した差分経路情報テーブル142のエントリ1230〜1234が作成される。   Therefore, the virtual router function unit 121 sets “1” as the value of the current group 855 of the reference entry 878 and “2” as the value of the old group 854 of the reference entry 878 as the argument 1 as shown in FIG. The difference acquisition process (F2550) is executed. As in the case of the entry 878, the virtual router function unit 121 executes the difference acquisition process (F2550), thereby creating the entries 1230 to 1234 of the difference path information table 142 illustrated in FIG. 8C.

つぎに、図22において、仮想ルータ機能部121は、図12の(C)に示したPoP情報テーブルのエントリ876の次エントリの参照を試みる(F2520)。PoP情報テーブル146のエントリ876の次エントリ875が存在し(F2512:Yes)、参照エントリ875の現所属グループ855の値である「2」と旧所属グループ854の値である「2」との組み合わせと同じ現情報源グループ1207の値と旧情報源グループ1206の値との組み合わせをもつエントリが、差分経路情報テーブル142のエントリ1230に存在する(F2516:Yes)。   Next, in FIG. 22, the virtual router function unit 121 attempts to refer to the next entry of the entry 876 in the PoP information table shown in FIG. 12C (F2520). The next entry 875 of the entry 876 of the PoP information table 146 exists (F2512: Yes), and the combination of “2” which is the value of the current group 855 of the reference entry 875 and “2” which is the value of the old group 854 An entry having the same combination of the value of the current information source group 1207 and the value of the old information source group 1206 exists in the entry 1230 of the differential path information table 142 (F2516: Yes).

したがって、仮想ルータ機能部121は、差分取得処理(F2550)を実行せずに、図12の(C)に示したPoP情報テーブル146のエントリ875の次エントリの参照を試みる(F2508)。図12の(C)に示したPoP情報テーブル146のエントリ875の次エントリ877が存在し(F2512:Yes)、参照エントリ877の現所属グループ855の値である「1」と旧所属グループ854の値である「1」との組み合わせと同じ現情報源グループ1207の値と旧情報源グループ1206の値との組み合わせをもつエントリが、差分経路情報テーブル142のエントリ1225に存在する(F2516:Yes)。   Accordingly, the virtual router function unit 121 tries to refer to the next entry of the entry 875 of the PoP information table 146 shown in FIG. 12C without executing the difference acquisition process (F2550) (F2508). The next entry 877 of the entry 875 of the PoP information table 146 shown in (C) of FIG. 12 exists (F2512: Yes), and the value of the current belonging group 855 of the reference entry 877 is “1” and the old belonging group 854 An entry having the same combination of the value of the current information source group 1207 and the value of the old information source group 1206 as the combination of the value “1” exists in the entry 1225 of the differential path information table 142 (F2516: Yes). .

したがって、仮想ルータ機能部121は、差分取得処理(F2550)を実行せずに、図12の(C)に示したPoP情報テーブルのエントリ877の次エントリの参照を試みる(F2508)。PoP情報テーブル146のエントリ877の次エントリは存在しないため(F2512:No)、仮想ルータ機能部121は、図22に示した差分経路情報テーブル更新処理(F2500)を終了する。これにより、図8Cに示した差分経路情報テーブル142が完成する。   Therefore, the virtual router function unit 121 tries to refer to the next entry of the entry 877 of the PoP information table shown in FIG. 12C without executing the difference acquisition process (F2550) (F2508). Since there is no entry next to the entry 877 in the PoP information table 146 (F2512: No), the virtual router function unit 121 ends the differential path information table update process (F2500) illustrated in FIG. Thereby, the differential path information table 142 shown in FIG. 8C is completed.

つぎに、図29において、仮想ルータ機能部121は、図24に示した転送装置設定処理(F2600)を実行する。転送装置設定処理(F2600)では、仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の先頭エントリの参照を試みる(F2604)。図10の(B)に示した隣接ルータ管理テーブル144の先頭エントリ825が存在する(F2608:Yes)ので、仮想ルータ機能部121は、図8Cに示した差分経路情報テーブル142の先頭エントリの参照を試みる(F2612)。差分経路情報テーブル142の先頭エントリ1225が存在する(F2616:Yes)。   Next, in FIG. 29, the virtual router function unit 121 executes the transfer device setting process (F2600) shown in FIG. In the transfer device setting process (F2600), the virtual router function unit 121 tries to refer to the head entry of the adjacent router management table 144 shown in FIG. 10B (F2604). Since the head entry 825 of the adjacent router management table 144 shown in FIG. 10B exists (F2608: Yes), the virtual router function unit 121 refers to the head entry of the differential path information table 142 shown in FIG. 8C. (F2612). There is a head entry 1225 in the difference path information table 142 (F2616: Yes).

つぎに、仮想ルータ機能部121は、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ825の接続転送装置804の値と図8Cに示した差分経路情報テーブル142の参照エントリ1225の経路取得元1208の値を特定する(F2620)。特定された値はそれぞれ転送装置201のポート(2/1)と転送装置204のポート(2/1)であり、異なる(F2624:No)。したがって、仮想ルータ機能部121は、図25に示した転送装置設定対象判定処理を実行する(F3100)。   Next, the virtual router function unit 121 sets the value of the connection transfer device 804 in the reference entry 825 in the adjacent router management table 144 shown in FIG. 10B and the reference entry 1225 in the differential path information table 142 shown in FIG. 8C. The value of the route acquisition source 1208 is specified (F2620). The specified values are the port (2/1) of the transfer device 201 and the port (2/1) of the transfer device 204, and are different (F2624: No). Therefore, the virtual router function unit 121 executes the transfer device setting target determination process shown in FIG. 25 (F3100).

図25の転送装置設定対象判定処理(F3100)では、仮想ルータ機能部121は、図12の(C)に示したPoP情報テーブル146から、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリにおける接続PoP_ID807の値「501」を有するエントリ875を検索する。そして、仮想ルータ機能部121は、検索したエントリ875における旧所属グループ854の値「2」と現所属グループ855の値「2」を取得する(F3104)。   In the transfer device setting target determination process (F3100) in FIG. 25, the virtual router function unit 121 uses the adjacent router management table 144 shown in FIG. 10B from the PoP information table 146 shown in FIG. The entry 875 having the value “501” of the connection PoP_ID 807 in the reference entry is searched. Then, the virtual router function unit 121 acquires the value “2” of the old group 854 and the value “2” of the current group 855 in the searched entry 875 (F3104).

つぎに、仮想ルータ機能部121は、図8Cに示した差分経路情報テーブル142の参照エントリ1225が転送装置200への設定対象であるか否かを判断する(F3108)。具体的には、参照エントリ1225における旧情報源グループ1206の値「1」および現情報源グループ1207の値「1」が、F3104で取得した旧所属グループ854の値「2」および現所属グループ855の値「2」と一致しない。したがって、仮想ルータ機能部121は、参照エントリ1225は転送装置200への設定対象でないと判断する(F3108、F3112:No)。これにより、仮想ルータ機能部121は、図25の転送装置設定対象判定処理(F3100)を終了し、図24のF2604に移行する。   Next, the virtual router function unit 121 determines whether or not the reference entry 1225 of the differential path information table 142 illustrated in FIG. 8C is a setting target for the transfer apparatus 200 (F3108). Specifically, the value “1” of the old information source group 1206 and the value “1” of the current information source group 1207 in the reference entry 1225 are the same as the value “2” of the old member group 854 acquired in F3104 and the current member group 855. Does not match the value “2”. Therefore, the virtual router function unit 121 determines that the reference entry 1225 is not a setting target for the transfer apparatus 200 (F3108, F3112: No). As a result, the virtual router function unit 121 ends the transfer device setting target determination process (F3100) in FIG. 25, and proceeds to F2604 in FIG.

つぎに、図24において、仮想ルータ機能部121は、図8Cに示した差分経路情報テーブル142のエントリ1225の次エントリの参照を試みる(F2640)。エントリ1225の場合と同様、仮想ルータ機能部121は、処理F2616〜2640、F3100〜3112を実行し、次エントリ1226〜1229も転送装置200への設定対象でないと判断する。これにより、仮想ルータ機能部121は、図25の転送装置設定対象判定処理(F3100)を終了し、図24のF2604に移行する。   Next, in FIG. 24, the virtual router function unit 121 attempts to refer to the next entry of the entry 1225 of the differential path information table 142 illustrated in FIG. 8C (F2640). As in the case of the entry 1225, the virtual router function unit 121 executes the processes F 2616 to 2640 and F 3100 to 3112, and determines that the next entries 1226 to 1229 are not the setting targets for the transfer apparatus 200. As a result, the virtual router function unit 121 ends the transfer device setting target determination process (F3100) in FIG. 25, and proceeds to F2604 in FIG.

つぎに、図24において、仮想ルータ機能部121は、図8Cに示した差分経路情報テーブル142のエントリ1229の次エントリを参照する(F2640)。次エントリ1230が存在する(F2616:Yes)。エントリ1230についてもエントリ1226と同様、仮想ルータ機能部121は、処理F2620、F2624、F3100〜3104を実行する。なお、処理F2620では、図10の(B)に示した隣接ルータ管理テーブル144の参照エントリ825の接続転送装置804の値「201(2/1)」と、図8Cに示した差分経路情報テーブル142の参照エントリ1230の経路取得元1208の値「202(2/1)」と、が比較される。同値ではないため(F2624:No)、仮想ルータ機能部121は、図25の転送装置設定対象判定処理を実行する(F3100)。   Next, in FIG. 24, the virtual router function unit 121 refers to the next entry of the entry 1229 of the differential path information table 142 illustrated in FIG. 8C (F2640). The next entry 1230 exists (F2616: Yes). For the entry 1230 as well as the entry 1226, the virtual router function unit 121 executes processes F2620, F2624, and F3100-3104. In process F2620, the value “201 (2/1)” of the connection transfer device 804 of the reference entry 825 of the adjacent router management table 144 shown in FIG. 10B and the difference path information table shown in FIG. The value “202 (2/1)” of the route acquisition source 1208 of the reference entry 1230 of 142 is compared. Since they are not the same value (F2624: No), the virtual router function unit 121 executes the transfer device setting target determination process of FIG. 25 (F3100).

転送装置設定対象判定処理(F3100)では、参照エントリ1230における旧情報源グループ1206の値「2」および現情報源グループの値「2」は、取得した旧所属グループ854の値「2」および現所属グループ855の値「2」とそれぞれ一致する。したがって、仮想ルータ機能部121は、エントリ1230が転送装置200への設定対象であると判断し(F3108、F3112:Yes)、F3116に移行する。   In the transfer device setting target determination process (F3100), the value “2” of the old information source group 1206 and the value “2” of the current information source group in the reference entry 1230 are the values “2” of the acquired old member group 854 and the current It matches the value “2” of the belonging group 855, respectively. Therefore, the virtual router function unit 121 determines that the entry 1230 is a setting target for the transfer apparatus 200 (F3108, F3112: Yes), and proceeds to F3116.

つぎに、仮想ルータ機能部121は、図15に示したパス管理テーブル149から、図24のF2620で比較された参照エントリ825の接続転送装置804の値「201(2/1)」および参照エントリ1230の経路取得元1208の値「202(2/1)」をパス端点転送装置リスト752に含むエントリ775を特定する(F3116)。   Next, the virtual router function unit 121 determines the value “201 (2/1)” and the reference entry of the connection transfer device 804 of the reference entry 825 compared in F2620 of FIG. 24 from the path management table 149 shown in FIG. The entry 775 including the value “202 (2/1)” of the route acquisition source 1208 of 1230 in the path endpoint transfer device list 752 is specified (F3116).

つぎに、仮想ルータ機能部121は、F2612で取得した差分経路情報テーブル142のエントリ1230を引数1とし、F2604で参照した隣接ルータ管理テーブル144のエントリ825を引数2とし、パス管理テーブル149のエントリ775を引数3として、図26に示した入出力転送テーブル作成処理(F3000)を実行する。   Next, the virtual router function unit 121 uses the entry 1230 of the differential path information table 142 acquired in F2612 as the argument 1, the entry 825 of the adjacent router management table 144 referred to in F2604 as the argument 2, and the entry in the path management table 149. With 775 as the argument 3, the input / output transfer table creation process (F3000) shown in FIG. 26 is executed.

入出力転送テーブル作成処理(F3000)では、引数3のエントリ775のパス端点転送装置リスト752の1つ目(左側)の値「201(2/1)」と、引数1のエントリ1230の経路取得元1208の値「202(2/1)」と一致しない(F3004:No)。したがって、仮想ルータ機能部121は、引数3のエントリ775の転送ラベル値リスト756の1つ目(左側)の値「4001」をIN_LABELに代入し、2つ目(右側)の値「4004」を変数OUT_LABELに代入する(F3012)。   In the input / output transfer table creation processing (F3000), the first value (201 (2/1)) of the path endpoint transfer device list 752 of the entry 775 of the argument 3 and the route acquisition of the entry 1230 of the argument 1 are obtained. It does not match the value “202 (2/1)” of the original 1208 (F3004: No). Therefore, the virtual router function unit 121 assigns the first (left side) value “4001” of the transfer label value list 756 of the entry 775 of the argument 3 to IN_LABEL, and substitutes the second (right side) value “4004”. Substitute into the variable OUT_LABEL (F3012).

つぎに、仮想ルータ機能部121は、入力転送テーブル225のエントリを作成する(F3016)。この場合、仮想ルータ機能部121は、ポート番号1301の値が引数2であるエントリ825の接続転送装置804のポート番号(2/1)、宛先ネットワーク1302の値が引数1であるエントリ1230の宛先ネットワーク1201の値「A」、識別ラベル1303の値が引数3であるエントリ775のパスID751の値「601」、転送ラベル1304の値が変数IN_LABEL「4001」となる入力転送テーブル225のエントリ1326を作成する。   Next, the virtual router function unit 121 creates an entry in the input transfer table 225 (F3016). In this case, the virtual router function unit 121 sets the port number (2/1) of the connection transfer device 804 of the entry 825 in which the value of the port number 1301 is the argument 2 and the destination of the entry 1230 in which the value of the destination network 1302 is the argument 1. The entry 1326 of the input transfer table 225 in which the value “A” of the network 1201, the value “601” of the path ID 751 of the entry 775 whose value of the identification label 1303 is the argument 3 and the value of the transfer label 1304 is the variable IN_LABEL “4001” create.

つぎに、仮想ルータ機能部121は、隣接ルータ管理テーブル144から、引数1の経路取得元1208の値「202(2/1)」と同じ値が接続転送装置804に設定されているエントリ826を検索する。そして、検索したエントリ826の隣接ルータMAC802の値「MAC302」を変数DEST_MACに代入し、接続ポートMAC805の値「MAC202」を変数SOURCE_MACに代入する(F3020)。   Next, the virtual router function unit 121 deletes the entry 826 in the connection transfer apparatus 804 from the adjacent router management table 144 in which the same value as the value “202 (2/1)” of the route acquisition source 1208 of the argument 1 is set. Search for. Then, the value “MAC302” of the adjacent router MAC802 of the searched entry 826 is substituted for the variable DEST_MAC, and the value “MAC202” of the connection port MAC805 is substituted for the variable SOURCE_MAC (F3020).

つぎに、仮想ルータ機能部121は、出力転送テーブル245のエントリを作成する(F3024)。この場合、仮想ルータ機能部121は、ポート番号1401の値が引数1の経路取得元1208のポート番号(2/1)、宛先ネットワーク1402の値が引数1の宛先ネットワーク1201の値「A」、識別ラベル1403の値が引数3のパスID751の値「601」、転送ラベル1404の値が変数OUT_LABEL「4004」、書換宛先MAC1405の値が変数DEST_MAC「MAC302」、書換送信元MACが変数SOURCE_MAC「MAC202」となるエントリ1426を作成する。これにより、仮想ルータ機能部121は、図26の入出力転送テーブル作成処理(F3000)を終了する。そして、図25のF3124に移行する。   Next, the virtual router function unit 121 creates an entry in the output transfer table 245 (F3024). In this case, the virtual router function unit 121 sets the port number (2/1) of the route acquisition source 1208 having the port number 1401 as the argument 1 and the value “A” of the destination network 1201 having the value of the destination network 1402 as the argument 1; The value of the identification label 1403 is the path ID 751 value “601” of the argument 3, the value of the transfer label 1404 is the variable OUT_LABEL “4004”, the value of the rewrite destination MAC 1405 is the variable DEST_MAC “MAC302”, and the rewrite source MAC is the variable SOURCE_MAC “MAC202”. ”Is created. Thereby, the virtual router function unit 121 ends the input / output transfer table creation process (F3000) of FIG. And it transfers to F3124 of FIG.

つぎに、図25において、仮想ルータ機能部121は、作成した入力転送テーブル225のエントリ1326および出力転送テーブル245のエントリ1426を転送装置200に設定する(F3124)。この場合、差分経路情報テーブル142の参照エントリ1230の削除・更新1209の値が「更新」であるため、仮想ルータ機能部121は、処理F3016で作成した入力転送テーブル225のエントリ1326を、隣接ルータ管理テーブル144の参照エントリ825の接続転送装置804の値「201」で特定される転送装置201に設定要求する。すなわち、エントリ1326が転送装置201に送信される。   Next, in FIG. 25, the virtual router function unit 121 sets the created entry 1326 of the input transfer table 225 and entry 1426 of the output transfer table 245 in the transfer apparatus 200 (F3124). In this case, since the value of the deletion / update 1209 of the reference entry 1230 of the difference path information table 142 is “update”, the virtual router function unit 121 uses the entry 1326 of the input transfer table 225 created in process F3016 as the adjacent router. A setting request is sent to the transfer apparatus 201 identified by the value “201” of the connection transfer apparatus 804 in the reference entry 825 of the management table 144. That is, the entry 1326 is transmitted to the transfer device 201.

つぎに、エントリ1326を受信した転送装置201の装置制御部210が、転送装置201内の入力転送テーブル225の更新を行う。これにより、図3の(B)のエントリ1326が設定される。また、差分経路情報テーブル142の参照エントリ1230の削除・更新1209の値が「更新」であるため、仮想ルータ機能部121は、処理F3024で作成した出力転送テーブル245のエントリ1426を、差分経路情報テーブル142の参照エントリ1230の経路取得元1208の値「202」で特定される転送装置202に設定要求する。すなわち、エントリ1426が転送装置202に送信される。すなわち、エントリ1426が転送装置202に送信される。   Next, the device control unit 210 of the transfer device 201 that has received the entry 1326 updates the input transfer table 225 in the transfer device 201. As a result, the entry 1326 in FIG. 3B is set. In addition, since the value of the deletion / update 1209 of the reference entry 1230 in the difference path information table 142 is “update”, the virtual router function unit 121 uses the entry 1426 of the output transfer table 245 created in process F3024 as the difference path information. A setting request is sent to the transfer apparatus 202 identified by the value “202” of the route acquisition source 1208 of the reference entry 1230 of the table 142. That is, the entry 1426 is transmitted to the transfer device 202. That is, the entry 1426 is transmitted to the transfer device 202.

つぎに、エントリ1426を受信した転送装置202の装置制御部210が、転送装置202内の出力転送テーブル245の更新を行う。これにより、図5の(B)のエントリ1426が設定され(F3124)、図24のF2640に移行する。つぎに、仮想ルータ機能部121は、図8Bに示した差分経路情報テーブル142のエントリ1230の次エントリの参照を試みる(F2640)。エントリ1230の後続のエントリ1231〜1234についても、エントリ1230と同様に処理F2616〜2644、F3100が実行される。この際、エントリ1234における処理F3124によって、図3の(B)に示した転送装置201の入力転送テーブル225のエントリ1327が設定され、また、図5の(C)に示した転送装置203の出力転送テーブル245のエントリ1440が設定される(F3124)。   Next, the device control unit 210 of the transfer device 202 that has received the entry 1426 updates the output transfer table 245 in the transfer device 202. As a result, the entry 1426 of FIG. 5B is set (F3124), and the process proceeds to F2640 of FIG. Next, the virtual router function unit 121 attempts to refer to the next entry of the entry 1230 of the differential path information table 142 illustrated in FIG. 8B (F2640). For the entries 1231 to 1234 subsequent to the entry 1230, the processes F2616 to 2644 and F3100 are executed in the same manner as the entry 1230. At this time, an entry 1327 of the input transfer table 225 of the transfer apparatus 201 shown in FIG. 3B is set by the process F3124 in the entry 1234, and the output of the transfer apparatus 203 shown in FIG. An entry 1440 of the forwarding table 245 is set (F3124).

エントリ1234について転送装置設定対象判定処理(F3100)が実行された後、仮想ルータ機能部121は、差分経路情報テーブル142のエントリ1234の次エントリの参照を試みる(F2640)。差分経路情報テーブル142の次エントリが存在しないので(F2616:No)、仮想ルータ機能部121は、隣接ルータ管理テーブル144のエントリ825の次エントリの参照を試みる(F2644)。   After the transfer device setting target determination process (F3100) is executed for the entry 1234, the virtual router function unit 121 tries to refer to the next entry of the entry 1234 in the differential path information table 142 (F2640). Since there is no next entry in the difference path information table 142 (F2616: No), the virtual router function unit 121 tries to refer to the next entry in the entry 825 in the adjacent router management table 144 (F2644).

隣接ルータ管理テーブル144のエントリ829の次エントリが存在しないので(F2608:No)、仮想ルータ機能部121は、図24に示した転送装置設定処理(F2600)を終了する。   Since there is no entry next to the entry 829 in the adjacent router management table 144 (F2608: No), the virtual router function unit 121 ends the transfer device setting process (F2600) shown in FIG.

転送装置設定処理(F2600)により、図9Cに示したグループ別現経路情報テーブル1000の宛先ネットワーク1002を宛先とするパケットが転送装置網10に入力されると、そのパケットは経路取得元1208から出力されて宛先ネットワーク1002に届けられる。   When a packet destined for the destination network 1002 in the group-specific current route information table 1000 shown in FIG. 9C is input to the transfer device network 10 by the transfer device setting process (F2600), the packet is output from the route acquisition source 1208. And delivered to the destination network 1002.

つぎに、図29において、仮想ルータ機能部121は、図27の経路情報広告処理(F2700)を実行する。図10の(B)に示した隣接ルータ管理テーブル144、および、図8Cに示した差分経路情報テーブル142のエントリ1225〜1234を参照しながら、前述の通り、仮想ルータ機能部121は、処理F2704〜F2744を実行する。   Next, in FIG. 29, the virtual router function unit 121 executes the route information advertisement process (F2700) of FIG. As described above, the virtual router function unit 121 performs the process F2704 with reference to the adjacent router management table 144 illustrated in FIG. 10B and the entries 1225 to 1234 in the differential path information table 142 illustrated in FIG. 8C. ~ F2744 is executed.

結果として、仮想ルータ機能部121が、図8Cに示した差分経路情報テーブル142のエントリ1225〜1229をルータ303〜305に対して経路情報として広告する。また、仮想ルータ機能部121がエントリ1230〜エントリ1234をルータ301、302に対して経路情報として広告する。これにより、仮想ルータ機能部121は、図29に示した経路情報広告処理(F2700)を終了する。   As a result, the virtual router function unit 121 advertises the entries 1225 to 1229 of the differential route information table 142 illustrated in FIG. 8C as route information to the routers 303 to 305. Further, the virtual router function unit 121 advertises the entries 1230 to 1234 to the routers 301 and 302 as route information. As a result, the virtual router function unit 121 ends the route information advertisement process (F2700) shown in FIG.

このあと、図29において、仮想ルータ機能部121は、図12の(C)に示したPoP情報テーブル146の全エントリで、旧所属グループ854に現所属グループ855の値を代入する(F2212)。PoP情報テーブル146は、図12の(C)の状態から変化しない。   29, the virtual router function unit 121 substitutes the value of the current group 855 for the old group 854 in all entries of the PoP information table 146 shown in FIG. 12C (F2212). The PoP information table 146 does not change from the state shown in FIG.

以上の処理により、仮想ルータ機能部121は、新規経路取得処理(F2800)を完了する。新規経路取得処理(F2800)により、図11の(C)に示したグループ情報テーブル145のように転送グループが分かれている場合にパケットが転送装置網10に入力されると、図9Cに示したグループ別現経路情報テーブル1000に従ったパケット転送が行われるように、各転送グループの転送装置200の設定が行われる。これにより、図9Cに示したグループ別現経路情報テーブル1000に従ったパケット転送が実現される。   With the above processing, the virtual router function unit 121 completes the new route acquisition processing (F2800). When a transfer group is divided as shown in the group information table 145 shown in FIG. 11C by the new route acquisition process (F2800), when a packet is input to the transfer apparatus network 10, the result is shown in FIG. 9C. The transfer device 200 of each transfer group is set so that packet transfer is performed according to the group-specific current route information table 1000. Thereby, packet transfer according to the group-specific current route information table 1000 shown in FIG. 9C is realized.

<新規経路取得処理(F2800)後のパケット転送例>
つぎに、新規経路取得処理(F2800)後において、転送装置網10に対してルータ301から宛先ネットワークA宛のパケットが入力された場合のパケット転送を例に挙げて説明する。
<Example of packet transfer after new route acquisition processing (F2800)>
Next, an example of packet transfer when a packet addressed to the destination network A is input from the router 301 to the transfer apparatus network 10 after the new route acquisition process (F2800) will be described.

ルータ301からパケットが入力されると、転送装置201に当該パケットが入力される。転送装置201はPoP501に属する。図11の(E)に示したグループ情報テーブル145を参照すると、転送装置201が所属するPoP501は転送グループ2に所属する。また、ルータ301からパケットを受信した転送装置201は転送グループ2に所属する(図12の(C)のエントリ875を参照。)。図9Cに示したグループ別現経路情報テーブル1000において、転送グループ2に対応する利用グループ1001の値「2」を有し、かつ、宛先ネットワーク1002の値が「A」となるエントリは、エントリ1040である。   When a packet is input from the router 301, the packet is input to the transfer device 201. The transfer apparatus 201 belongs to PoP501. Referring to the group information table 145 shown in FIG. 11E, the PoP 501 to which the transfer apparatus 201 belongs belongs to the transfer group 2. Further, the transfer apparatus 201 that has received the packet from the router 301 belongs to the transfer group 2 (see the entry 875 in FIG. 12C). In the group-by-group current route information table 1000 shown in FIG. 9C, an entry having the value “2” of the usage group 1001 corresponding to the transfer group 2 and the value of the destination network 1002 being “A” is the entry 1040. It is.

予め設定されている図4の(A)、(B)、(D)に示したラベル転送テーブル235と、図9Cに示したグループ別現経路情報テーブル1000のエントリ1040に記録された情報とを元に、図3の(B)に示した転送装置201の入力転送テーブル225と、図5の(B)に示した転送装置202の出力転送テーブル245が設定されることによって、図9Cに示したグループ別現経路情報テーブル1000のエントリ1040の広告元ルータ1003の値「302」で特定されるルータ302にA宛のパケットが転送されることを以下に説明する。   The preset label transfer table 235 shown in FIGS. 4A, 4B, and 4D and the information recorded in the entry 1040 of the group-specific current route information table 1000 shown in FIG. Originally, the input transfer table 225 of the transfer apparatus 201 shown in FIG. 3B and the output transfer table 245 of the transfer apparatus 202 shown in FIG. The following describes that the packet addressed to A is transferred to the router 302 specified by the value “302” of the advertisement source router 1003 in the entry 1040 of the group-specific current route information table 1000.

ルータ301からはMPLSラベルが挿入されていないIPパケットが転送され、パケットがルータ301から転送装置網10に入力され、転送装置201のポート(2/1)にパケットが入力される。転送装置201の入力パケット処理部220は、物理ポート250から入力されたパケットにMPLSラベルが挿入されていないので、図3の(B)に示した入力転送テーブル225を参照する。   An IP packet with no MPLS label inserted is transferred from the router 301, the packet is input from the router 301 to the transfer apparatus network 10, and the packet is input to the port (2/1) of the transfer apparatus 201. Since the MPLS label is not inserted into the packet input from the physical port 250, the input packet processing unit 220 of the transfer apparatus 201 refers to the input transfer table 225 shown in FIG.

図3の(B)において、パケットが入力されたポートである(2/1)をポート番号1301に有し、かつ、入力パケットの宛先IPアドレスである宛先ネットワークAを宛先ネットワーク1302に有するエントリが、エントリ1326に存在する。したがって、転送装置201の入力パケット処理部220は、エントリ1326の識別ラベル1303である識別ラベル値「601」を有するMPLSヘッダを入力パケットのMACヘッダとIPヘッダの間に挿入する。また、転送装置201の入力パケット処理部220は、エントリ1326の転送ラベル1304の転送ラベル値「4001」を有するMPLSヘッダを、入力パケットの既に挿入されているMPLSヘッダとMACヘッダの間に挿入する。   In FIG. 3B, there is an entry having (2/1) that is the port to which the packet is input in the port number 1301 and the destination network A that is the destination IP address of the input packet in the destination network 1302. Exists in entry 1326. Therefore, the input packet processing unit 220 of the transfer apparatus 201 inserts an MPLS header having an identification label value “601” that is the identification label 1303 of the entry 1326 between the MAC header and the IP header of the input packet. Further, the input packet processing unit 220 of the transfer apparatus 201 inserts an MPLS header having the transfer label value “4001” of the transfer label 1304 of the entry 1326 between the already inserted MPLS header and the MAC header. .

また、転送装置201の入力パケット処理部220は、パケットが転送装置201に入力されたポート番号「(2/1)」を記録した入力ポート情報ヘッダをパケットに挿入する。転送装置201の入力パケット処理部220は、MPLSラベルを2つ挿入したパケットをラベル転送処理部230にわたす。   Further, the input packet processing unit 220 of the transfer apparatus 201 inserts an input port information header in which the port number “(2/1)” at which the packet is input to the transfer apparatus 201 is recorded in the packet. The input packet processing unit 220 of the transfer apparatus 201 passes the packet in which two MPLS labels are inserted to the label transfer processing unit 230.

転送装置201のラベル転送処理部230は、図4の(A)に示したラベル転送テーブル235から、入力ポート1351の値が入力ポート情報ヘッダに記録されているポート番号「(2/1)」であり、かつ、ラベル転送テーブル235の入力転送ラベル1352の値がパケットの転送ラベル値「4001」であるエントリ1361を検索する。   The label transfer processing unit 230 of the transfer apparatus 201 uses the port number “(2/1)” in which the value of the input port 1351 is recorded in the input port information header from the label transfer table 235 shown in FIG. And the entry 1361 in which the value of the input transfer label 1352 of the label transfer table 235 is the transfer label value “4001” of the packet is searched.

転送装置201のラベル転送処理部230は、パケットの転送ラベル値「4001」をエントリ1363の出力転送ラベル1353の値「4002」に書き換える。そして、転送装置201のラベル転送処理部230は、図4の(A)に示した転送装置201のラベル転送テーブル235のエントリ1363の出力ポート1354の値「(1/1)」を記録した出力ポート情報ヘッダをパケットに挿入して出力パケット処理部240に渡す。   The label transfer processing unit 230 of the transfer apparatus 201 rewrites the transfer label value “4001” of the packet with the value “4002” of the output transfer label 1353 of the entry 1363. Then, the label transfer processing unit 230 of the transfer device 201 records the value “(1/1)” of the output port 1354 of the entry 1363 of the label transfer table 235 of the transfer device 201 shown in FIG. The port information header is inserted into the packet and passed to the output packet processing unit 240.

転送装置201の出力パケット処理部240は、ラベル転送処理部230からのパケットを入力する。転送装置201の出力転送テーブル245には、入力パケットの宛先ネットワークアドレス「A」、入力パケットに挿入されている識別ラベル値「601」、および転送ラベル値「4002」の組み合わせと一致するエントリが存在しない。   The output packet processing unit 240 of the transfer device 201 inputs the packet from the label transfer processing unit 230. The output transfer table 245 of the transfer apparatus 201 includes an entry that matches the combination of the destination network address “A” of the input packet, the identification label value “601” inserted in the input packet, and the transfer label value “4002”. do not do.

したがって、転送装置201の出力パケット処理部240は、出力ポート情報ヘッダに記録されたポート番号「(1/1)」を参照し、出力ポート情報ヘッダを外した後に、参照したポート番号「(1/1)」からパケットを出力する。出力されたパケットは転送装置206のポート番号(1/1)をもつ物理ポート250に入力される。   Accordingly, the output packet processing unit 240 of the transfer apparatus 201 refers to the port number “(1/1)” recorded in the output port information header, removes the output port information header, and then refers to the port number “(1 / 1) "outputs a packet. The output packet is input to the physical port 250 having the port number (1/1) of the transfer device 206.

転送装置206の入力パケット処理部220は、MPLSラベルが挿入されたパケットが入力されたことで、パケットが入力されたポート番号「(1/1)」を記録した入力ポート情報ヘッダをパケットに挿入し、ラベル転送処理部230にパケットをわたす。   The input packet processing unit 220 of the transfer device 206 inserts an input port information header in which the port number “(1/1)” into which the packet is input is recorded in the packet when the packet in which the MPLS label is inserted is input. Then, the packet is transferred to the label transfer processing unit 230.

転送装置206のラベル転送処理部230は、図4の(B)に示した転送装置206のラベル転送テーブル235から、入力ポート1351の値が入力ポート情報ヘッダに記録されているポート番号「(1/1)」であり、かつ、入力転送ラベル1352の値がパケットの転送ラベル値「4002」であるエントリ1366を検索する。   The label transfer processing unit 230 of the transfer device 206 reads the port number “(1) in which the value of the input port 1351 is recorded in the input port information header from the label transfer table 235 of the transfer device 206 shown in FIG. / 1) ”and the entry 1366 in which the value of the input transfer label 1352 is the transfer label value“ 4002 ”of the packet is searched.

転送装置206のラベル転送処理部230は、パケットの転送ラベル値「4002」を図4の(B)に示した転送装置206のラベル転送テーブル235におけるエントリ1366の出力転送ラベル1353の値「4003」に書き換える。転送装置206のラベル転送処理部230は、エントリ1366の出力ポート1354の値「(1/2)」を記録した出力ポート情報ヘッダをパケットに挿入して出力パケット処理部240に渡す。   The label transfer processing unit 230 of the transfer device 206 sets the transfer label value “4002” of the packet to the value “4003” of the output transfer label 1353 of the entry 1366 in the label transfer table 235 of the transfer device 206 shown in FIG. Rewrite to The label transfer processing unit 230 of the transfer device 206 inserts an output port information header in which the value “(1/2)” of the output port 1354 of the entry 1366 is recorded into the packet and passes the packet to the output packet processing unit 240.

転送装置206は隣接ルータ300と接続されていないので、転送装置206の出力転送テーブル245のエントリは存在しない。転送装置206の出力転送テーブル245にエントリが存在しないので、転送装置206の出力パケット処理部240は、出力ポート情報ヘッダに記録されたポート番号「(1/2)」を参照し、出力ポート情報ヘッダを外した後に、参照したポート番号「(1/2)」からパケットを出力する。出力されたパケットは転送装置202のポート番号「(1/1)」をもつ物理ポート250に入力される。   Since the transfer device 206 is not connected to the adjacent router 300, there is no entry in the output transfer table 245 of the transfer device 206. Since there is no entry in the output transfer table 245 of the transfer device 206, the output packet processing unit 240 of the transfer device 206 refers to the port number “(1/2)” recorded in the output port information header and outputs the output port information. After removing the header, the packet is output from the referenced port number “(1/2)”. The output packet is input to the physical port 250 having the port number “(1/1)” of the transfer apparatus 202.

転送装置202の入力パケット処理部220は、MPLSラベルが挿入されたパケットが入力されたことで、パケットが転送装置202に入力されたポート番号「(1/1)」を記録した入力ポート情報ヘッダをパケットに挿入し、ラベル転送処理部230にパケットをわたす。   The input packet processing unit 220 of the transfer apparatus 202 records the port number “(1/1)” in which the packet is input to the transfer apparatus 202 when the packet with the MPLS label inserted is input. Is inserted into the packet, and the packet is passed to the label transfer processing unit 230.

転送装置202のラベル転送処理部230は、図4の(C)に示した転送装置202のラベル転送テーブル235から、入力ポート1351の値が入力ポート情報ヘッダに記録されているポート番号「(1/1)」であり、かつ、入力転送ラベル1352の値がパケットの転送ラベル値「4003」であるエントリ1381を検索する。   The label transfer processing unit 230 of the transfer device 202 reads the port number “(1) in which the value of the input port 1351 is recorded in the input port information header from the label transfer table 235 of the transfer device 202 shown in FIG. / 1) ”and the entry 1381 whose input transfer label 1352 value is the packet transfer label value“ 4003 ”is searched.

転送装置202のラベル転送処理部230は、パケットの転送ラベル値「4003」をエントリ1381の出力転送ラベル1353の値「4004」に書き換える。転送装置202のラベル転送処理部230は、エントリ1376の出力ポート1354の値「(2/1)」を記録した出力ポート情報ヘッダをパケットに挿入して出力パケット処理部240に渡す。   The label transfer processing unit 230 of the transfer device 202 rewrites the transfer label value “4003” of the packet with the value “4004” of the output transfer label 1353 of the entry 1381. The label transfer processing unit 230 of the transfer device 202 inserts an output port information header in which the value “(2/1)” of the output port 1354 of the entry 1376 is recorded into the packet and passes the packet to the output packet processing unit 240.

転送装置202の出力パケット処理部240は、ラベル転送処理部230からのパケットを入力する。転送装置202の出力転送テーブル245には、入力されたパケットの宛先ネットワークアドレス「A」、パケットに挿入されている識別ラベル値「601」、およびパケットに挿入されている転送ラベル値「4004」の組み合わせと一致するエントリ1426が存在する。   The output packet processing unit 240 of the transfer device 202 inputs the packet from the label transfer processing unit 230. The output transfer table 245 of the transfer device 202 includes the destination network address “A” of the input packet, the identification label value “601” inserted in the packet, and the transfer label value “4004” inserted in the packet. There is an entry 1426 that matches the combination.

したがって、転送装置202の出力パケット処理部240は、転送装置202のラベル転送処理部230から受け取ったパケットの宛先MACアドレスをエントリ1426の書換宛先MAC1405の値「MAC302」に書き換える。また、転送装置202の出力パケット処理部240は、当該パケットの送信元MACアドレスをエントリ1426の書換送信元MACの値「MAC202」に書き換える。そして、転送装置202の出力パケット処理部240は、パケットに挿入されている識別ラベルと転送ラベルを外す。転送装置202の出力パケット処理部240は、出力ポート情報ヘッダに記録されたポート番号「(2/1)」を参照し、出力ポート情報ヘッダを外した後に、参照したポート番号「(2/1)」をもつ物理ポート250からパケットを出力する。出力されたパケットは転送装置202のポート番号「(2/1)」に接続されているルータ302に転送される。   Therefore, the output packet processing unit 240 of the transfer device 202 rewrites the destination MAC address of the packet received from the label transfer processing unit 230 of the transfer device 202 to the value “MAC302” of the rewrite destination MAC 1405 of the entry 1426. Further, the output packet processing unit 240 of the transfer device 202 rewrites the transmission source MAC address of the packet to the value “MAC202” of the rewrite transmission source MAC of the entry 1426. Then, the output packet processing unit 240 of the transfer apparatus 202 removes the identification label and transfer label inserted in the packet. The output packet processing unit 240 of the transfer apparatus 202 refers to the port number “(2/1)” recorded in the output port information header, removes the output port information header, and then refers to the port number “(2/1). ) "Is output from the physical port 250. The output packet is transferred to the router 302 connected to the port number “(2/1)” of the transfer device 202.

以上ように、転送装置網10に対してルータ301から宛先ネットワークA宛のパケットが入力されると、図9Cに示したグループ別現経路情報テーブル1000に従って、エントリ1040の広告元ルータ1003であるルータ301に転送される。   As described above, when a packet addressed to the destination network A is input from the router 301 to the transfer apparatus network 10, the router that is the advertising source router 1003 of the entry 1040 according to the group current path information table 1000 shown in FIG. 9C. 301.

<異なるグループ間でのパケット転送例>
また、本実施例では、ある転送グループは、異なる転送グループが得た経路情報であっても使用可能である。ある転送グループが異なる転送グループが得た経路情報を用いてパケットを転送する例を説明する。ここでは、例として、転送装置網10に対してルータ301から宛先ネットワークE宛のパケットが入力された場合のパケット転送を例として説明する。
<Example of packet transfer between different groups>
In this embodiment, a certain transfer group can be used even if it is route information obtained by a different transfer group. An example in which a packet is transferred using route information obtained by different transfer groups from a transfer group will be described. Here, as an example, a packet transfer when a packet addressed to the destination network E is input from the router 301 to the transfer apparatus network 10 will be described as an example.

ルータ301から転送装置201にパケットが入力される。転送装置201は、PoP501に属する。図11の(C)に示したグループ情報テーブル145を参照すると、転送装置201が所属するPoP501は、転送グループ2に所属する。また、ルータ301からパケットを受信した転送装置201は転送グループ2に所属する(図12の(C)のエントリ875を参照。)。図9Cに示したグループ別現経路情報テーブルにおいて、転送グループ2に対応する利用グループ1001の値「2」を有し、かつ、宛先ネットワーク1002の値が「E」となるエントリは、エントリ1044である。   A packet is input from the router 301 to the transfer apparatus 201. The transfer apparatus 201 belongs to PoP501. Referring to the group information table 145 shown in FIG. 11C, the PoP 501 to which the transfer apparatus 201 belongs belongs to the transfer group 2. Further, the transfer apparatus 201 that has received the packet from the router 301 belongs to the transfer group 2 (see the entry 875 in FIG. 12C). In the group-by-group current route information table shown in FIG. 9C, an entry having the value “2” of the usage group 1001 corresponding to the transfer group 2 and the value of the destination network 1002 being “E” is the entry 1044. is there.

エントリ1044の情報源グループ1007の値は「1」である。したがって、エントリ1044の経路情報が、パケットが入力される転送装置201のPoP501が属するグループ2と異なるグループから得られた経路情報であることがわかる。予め設定されている図4の(A),(B),(C),(E)に示したラベル転送テーブル235、及び、図9Cに示したグループ別現経路情報テーブル1000のエントリ1044に記録された情報を元に、図3の(B)に示した転送装置201の入力転送テーブル225と図5の(C)に示した転送装置203の出力転送テーブル245が設定される。   The value of the information source group 1007 of the entry 1044 is “1”. Therefore, it can be seen that the route information of the entry 1044 is route information obtained from a group different from the group 2 to which the PoP 501 of the transfer apparatus 201 to which the packet is input belongs. Recorded in the preset label transfer table 235 shown in (A), (B), (C), and (E) of FIG. 4 and the entry 1044 of the group-specific current route information table 1000 shown in FIG. 9C. Based on this information, the input transfer table 225 of the transfer apparatus 201 shown in FIG. 3B and the output transfer table 245 of the transfer apparatus 203 shown in FIG. 5C are set.

図3の(B)に示した転送装置201の入力転送テーブル225と図5の(C)に示した転送装置203の出力転送テーブル245によって、図9Cに示したグループ別現経路情報テーブル1000のエントリ1044における広告元ルータ1003の値「303」で特定されるルータ303に、宛先ネットワーク1002の値「E」宛にパケットが転送されることを以下に説明する。   Based on the input transfer table 225 of the transfer device 201 shown in FIG. 3B and the output transfer table 245 of the transfer device 203 shown in FIG. 5C, the current route information table for each group 1000 shown in FIG. The following describes that the packet is forwarded to the value “E” of the destination network 1002 to the router 303 specified by the value “303” of the advertisement source router 1003 in the entry 1044.

ルータ301からはMPLSラベルが挿入されていないIPパケットが転送され、パケットがルータ301から転送装置網10に入力される。すなわち、転送装置201のポート(2/1)にパケットが入力される。転送装置201の入力パケット処理部220は、物理ポート250から入力されたパケットにMPLSラベルが挿入されていないので、図3の(B)に示した転送装置201の入力転送テーブル225を参照する。   The IP packet without the MPLS label inserted is transferred from the router 301, and the packet is input from the router 301 to the transfer apparatus network 10. That is, the packet is input to the port (2/1) of the transfer device 201. Since the MPLS label is not inserted in the packet input from the physical port 250, the input packet processing unit 220 of the transfer device 201 refers to the input transfer table 225 of the transfer device 201 shown in FIG.

図3の(B)に示した転送装置201の入力転送テーブル225において、ポート番号1301の値がパケットが入力されたポート「(2/1)」であり、かつ、宛先ネットワーク1302の値が入力パケットの宛先IPアドレス「E」であるエントリ1327に存在する。   In the input transfer table 225 of the transfer apparatus 201 shown in FIG. 3B, the value of the port number 1301 is the port “(2/1)” into which the packet is input, and the value of the destination network 1302 is input. It exists in the entry 1327 which is the destination IP address “E” of the packet.

転送装置201の入力パケット処理部220は、エントリ1327の識別ラベル1303の識別ラベル値「602」をもつMPLSヘッダを入力パケットのMACヘッダとIPヘッダの間に挿入する。また、転送装置201の入力パケット処理部220は、エントリ1327の転送ラベル1304の転送ラベル値「4005」をもつMPLSヘッダを、入力パケットの、既に挿入されているMPLSヘッダとMACヘッダとの間に挿入する。   The input packet processing unit 220 of the transfer apparatus 201 inserts an MPLS header having the identification label value “602” of the identification label 1303 of the entry 1327 between the MAC header and the IP header of the input packet. Also, the input packet processing unit 220 of the transfer apparatus 201 sets the MPLS header having the transfer label value “4005” of the transfer label 1304 of the entry 1327 between the already inserted MPLS header and MAC header of the input packet. insert.

また、転送装置201の入力パケット処理部220は、パケットが転送装置201に入力されたポート番号「(2/1)」を記録した入力ポート情報ヘッダをパケットに挿入する。転送装置201の入力パケット処理部220は、MPLSラベルを2つ挿入したパケットをラベル転送処理部230にわたす。   Further, the input packet processing unit 220 of the transfer apparatus 201 inserts an input port information header in which the port number “(2/1)” at which the packet is input to the transfer apparatus 201 is recorded in the packet. The input packet processing unit 220 of the transfer apparatus 201 passes the packet in which two MPLS labels are inserted to the label transfer processing unit 230.

転送装置201のラベル転送処理部230は、図4の(A)に示した転送装置201のラベル転送テーブル235から、入力ポート1351の値が入力ポート情報ヘッダに記録されているポート番号「(2/1)」であり、かつ、入力転送ラベル1352の値がパケットの転送ラベル値「4005」であるエントリ1365を検索する。   The label transfer processing unit 230 of the transfer apparatus 201 uses the port number “(2) in which the value of the input port 1351 is recorded in the input port information header from the label transfer table 235 of the transfer apparatus 201 shown in FIG. / 1) ”and the entry 1365 whose input transfer label 1352 value is the packet transfer label value“ 4005 ”is searched for.

転送装置201のラベル転送処理部230は、パケットの転送ラベル値「4005」を、検索したエントリ1365の出力転送ラベル1353の値「4006」に書き換える。転送装置201のラベル転送処理部230は、エントリ1365の出力ポート1354の値「(1/1)」を記録した出力ポート情報ヘッダをパケットに挿入して出力パケット処理部240に渡す。   The label transfer processing unit 230 of the transfer apparatus 201 rewrites the transfer label value “4005” of the packet with the value “4006” of the output transfer label 1353 of the searched entry 1365. The label transfer processing unit 230 of the transfer apparatus 201 inserts an output port information header in which the value “(1/1)” of the output port 1354 of the entry 1365 is recorded into the packet, and passes the packet to the output packet processing unit 240.

転送装置201の出力パケット処理部240は、ラベル転送処理部230からのパケットを入力する。転送装置201の出力転送テーブル245(不図示)には、入力パケットの宛先ネットワークアドレス「E」、入力パケットに挿入されている識別ラベル値「602」、および転送ラベル値「4006」の組み合わせと一致するエントリが存在しない。   The output packet processing unit 240 of the transfer device 201 inputs the packet from the label transfer processing unit 230. The output transfer table 245 (not shown) of the transfer apparatus 201 matches the combination of the destination network address “E” of the input packet, the identification label value “602” inserted in the input packet, and the transfer label value “4006”. No entry exists.

したがって、転送装置201の出力パケット処理部240は、出力ポート情報ヘッダに記録されたポート番号「(1/1)」を参照し、出力ポート情報ヘッダを外した後に、参照したポート番号「(1/1)」からパケットを出力する。出力されたパケットは転送装置206のポート番号「(1/1)」をもつ物理ポート250に入力される。   Accordingly, the output packet processing unit 240 of the transfer apparatus 201 refers to the port number “(1/1)” recorded in the output port information header, removes the output port information header, and then refers to the port number “(1 / 1) "outputs a packet. The output packet is input to the physical port 250 having the port number “(1/1)” of the transfer device 206.

転送装置206の入力パケット処理部220は、MPLSラベルが挿入されたパケットが入力されたので、パケットが転送装置206に入力されたポート番号「(1/1)」を記録した入力ポート情報ヘッダをパケットに挿入し、ラベル転送処理部230にパケットをわたす。   Since the input packet processing unit 220 of the transfer device 206 has received the packet with the MPLS label inserted, the input packet information header records the port number “(1/1)” at which the packet is input to the transfer device 206. The packet is inserted into the packet and passed to the label transfer processing unit 230.

転送装置206のラベル転送処理部230は、図4の(B)に示した転送装置206のラベル転送テーブル235から、入力ポート1351の値が入力ポート情報ヘッダに記録されているポート番号「(1/1)」であり、かつ、入力転送ラベル1352の値がパケットの転送ラベル値「4006」であるエントリ1370を検索する。   The label transfer processing unit 230 of the transfer device 206 reads the port number “(1) in which the value of the input port 1351 is recorded in the input port information header from the label transfer table 235 of the transfer device 206 shown in FIG. / 1) ”and the entry 1370 whose input transfer label 1352 value is the transfer label value“ 4006 ”of the packet is searched.

転送装置206のラベル転送処理部230は、パケットの転送ラベル値「4006」を、検索したエントリ1370の出力転送ラベル1353の値「4007」に書き換える。転送装置206のラベル転送処理部230は、エントリ1370の出力ポート1354の値「(1/3)」を記録した出力ポート情報ヘッダをパケットに挿入して出力パケット処理部240に渡す。   The label transfer processing unit 230 of the transfer device 206 rewrites the transfer label value “4006” of the packet with the value “4007” of the output transfer label 1353 of the searched entry 1370. The label transfer processing unit 230 of the transfer device 206 inserts an output port information header in which the value “(1/3)” of the output port 1354 of the entry 1370 is recorded into the packet and passes it to the output packet processing unit 240.

転送装置206は隣接ルータ300と接続されていないので、転送装置206では、出力転送テーブル245のエントリは存在しない。このため、転送装置206の出力パケット処理部240は、出力ポート情報ヘッダに記録されたポート番号「(1/3)」を参照し、出力ポート情報ヘッダを外した後に、参照したポート番号「(1/3)」からパケットを出力する。出力されたパケットは、転送装置207のポート番号(1/1)をもつ物理ポート250に入力される。   Since the transfer device 206 is not connected to the adjacent router 300, there is no entry in the output transfer table 245 in the transfer device 206. For this reason, the output packet processing unit 240 of the transfer device 206 refers to the port number “(1/3)” recorded in the output port information header, removes the output port information header, and then refers to the port number “( 1/3) "is output. The output packet is input to the physical port 250 having the port number (1/1) of the transfer device 207.

転送装置207においても、転送装置207の入力パケット処理部220、ラベル転送処理部230、出力パケット処理部240が転送装置206のときと同様の処理を行う。この場合、転送装置207のラベル転送処理部230は、図4の(C)に示した転送装置207のラベル転送テーブル235のエントリ1378を参照する。転送装置207の出力パケット処理部240は、転送装置207のポート(1/2)からパケットを出力する。出力されたパケットは、転送装置203のポート番号(1/1)をもつ物理ポート250に入力される。   The transfer device 207 also performs the same processing as when the input packet processing unit 220, label transfer processing unit 230, and output packet processing unit 240 of the transfer device 207 are the transfer device 206. In this case, the label transfer processing unit 230 of the transfer device 207 refers to the entry 1378 of the label transfer table 235 of the transfer device 207 shown in FIG. The output packet processing unit 240 of the transfer device 207 outputs a packet from the port (1/2) of the transfer device 207. The output packet is input to the physical port 250 having the port number (1/1) of the transfer device 203.

MPLSラベルが挿入されたパケットが入力されたので、転送装置203の入力パケット処理部220は、パケットが転送装置203に入力されたポート番号「(1/1)」を記録した入力ポート情報ヘッダをパケットに挿入し、ラベル転送処理部230にパケットをわたす。   Since the packet in which the MPLS label is inserted is input, the input packet processing unit 220 of the transfer apparatus 203 uses the input port information header in which the port number “(1/1)” in which the packet is input to the transfer apparatus 203 is recorded. The packet is inserted into the packet and passed to the label transfer processing unit 230.

転送装置203のラベル転送処理部230は、図4の(E)に示した転送装置203のラベル転送テーブル235から、入力ポート1351の値が入力ポート情報ヘッダに記録されているポート番号「(1/1)」であり、かつ、入力転送ラベル1352の値がパケットの転送ラベル値「4008」であるエントリ1388を検索する。   The label transfer processing unit 230 of the transfer device 203 uses the port number “(1) in which the value of the input port 1351 is recorded in the input port information header from the label transfer table 235 of the transfer device 203 shown in FIG. / 1) ”and the entry 1388 in which the value of the input transfer label 1352 is the transfer label value“ 4008 ”of the packet is searched.

転送装置203のラベル転送処理部230は、パケットの転送ラベル値「4008」を、検索したエントリ1388の出力転送ラベル1353の値「4009」に書き換える。転送装置203のラベル転送処理部230は、エントリ1388の出力ポート1354の値「(2/1)」を記録した出力ポート情報ヘッダをパケットに挿入して出力パケット処理部240に渡す。   The label transfer processing unit 230 of the transfer device 203 rewrites the transfer label value “4008” of the packet with the value “4009” of the output transfer label 1353 of the searched entry 1388. The label transfer processing unit 230 of the transfer device 203 inserts an output port information header in which the value “(2/1)” of the output port 1354 of the entry 1388 is recorded into the packet and passes the packet to the output packet processing unit 240.

転送装置203の出力パケット処理部240は、図5の(C)に示した転送装置203の出力転送テーブル245から、宛先ネットワーク1402の値が入力されたパケットの宛先ネットワークアドレス「E」、識別ラベル1403の値がパケットに挿入されている識別ラベル値「602」、でかつ、転送ラベル1404の値がパケットに挿入されている転送ラベル値「4009」であるエントリ1440を検索する。   The output packet processing unit 240 of the transfer device 203 receives the destination network address “E” of the packet in which the value of the destination network 1402 is input from the output transfer table 245 of the transfer device 203 shown in FIG. An entry 1440 in which the value of 1403 is the identification label value “602” inserted in the packet and the value of the transfer label 1404 is the transfer label value “4009” inserted in the packet is searched.

したがって、転送装置203の出力パケット処理部240は、ラベル転送処理部230から受け取ったパケットの宛先MACアドレスを当該エントリ1440の書換宛先MAC1405の値「MAC303」に書き換える。また、転送装置203の出力パケット処理部240は、当該パケットの送信元MACアドレスを書換送信元MAC1406の値「MAC203」に書き換え、挿入されている識別ラベルと転送ラベルを外す。転送装置203の出力パケット処理部240は、出力ポート情報ヘッダに記録されたポート番号「(2/1)」を参照し、出力ポート情報ヘッダを外した後に、参照したポート番号「(2/1)」をもつ物理ポート250からパケットを出力する。出力されたパケットは転送装置203のポート番号「(2/1)」に接続されているルータ303に転送される。   Therefore, the output packet processing unit 240 of the transfer device 203 rewrites the destination MAC address of the packet received from the label transfer processing unit 230 to the value “MAC303” of the rewrite destination MAC 1405 of the entry 1440. Further, the output packet processing unit 240 of the transfer device 203 rewrites the transmission source MAC address of the packet with the value “MAC203” of the rewrite transmission source MAC 1406 and removes the inserted identification label and transfer label. The output packet processing unit 240 of the transfer apparatus 203 refers to the port number “(2/1)” recorded in the output port information header, removes the output port information header, and then refers to the port number “(2/1). ) "Is output from the physical port 250. The output packet is transferred to the router 303 connected to the port number “(2/1)” of the transfer device 203.

以上ように、転送装置網10に対してルータ301から宛先ネットワークE宛のパケットが入力されると、図9Cに示したグループ別現経路情報テーブル1000に従って、宛先ネットワークEをもつエントリ1044の広告元ルータ1003の値「303」で特定されるルータ303に転送される。このように、本実施例では、異なる転送グループが得た経路情報を用いてパケット転送をすることもできる。   As described above, when a packet addressed to the destination network E is input from the router 301 to the transfer apparatus network 10, the advertising source of the entry 1044 having the destination network E according to the group-specific current route information table 1000 shown in FIG. 9C. The data is transferred to the router 303 specified by the value “303” of the router 1003. As described above, in this embodiment, it is also possible to perform packet transfer using route information obtained by different transfer groups.

前述のエントリ1040、1044に対するパケット転送例と同様にして、ルータ301〜305から転送装置網10に入力されたパケットは、図9Cに示したグループ別現経路情報テーブル1000に従って、宛先ネットワーク1002に記録されているネットワークに転送される。   Similarly to the packet transfer example for the entries 1040 and 1044 described above, packets input from the routers 301 to 305 to the transfer device network 10 are recorded in the destination network 1002 in accordance with the group-specific current route information table 1000 shown in FIG. 9C. Forwarded to the connected network.

つぎに、転送グループを2つに分けたことにより、転送グループを分けないときに比べて、コスト値の低いパスを通ってパケットが転送されるようになることについて説明する。   Next, description will be made on the fact that, by dividing the transfer group into two, packets are transferred through a path having a lower cost value than when the transfer group is not divided.

ルータ301からPoP501を通ってネットワークアドレスA宛のパケットが転送装置網10に入力された場合を例に挙げる。仮想ルータ機能部121がもつ経路情報である図7の(C)に示した経路情報テーブル141のうち、ネットワークアドレス「A」に到達するための経路情報は、エントリ1156,1159である。転送グループを分けない場合は、使用する経路情報は1つに決定される。   A case where a packet addressed to the network address A is input from the router 301 to the transfer apparatus network 10 through the PoP 501 will be described as an example. The route information for reaching the network address “A” in the route information table 141 shown in FIG. 7C which is the route information held by the virtual router function unit 121 is entries 1156 and 1159. When the transfer group is not divided, the route information to be used is determined as one.

ここで、エントリ1159の経路情報を使用すると決定された場合、エントリ1159の広告元ルータ1102の値が「304」なので、そのルータ304に接続されているPoP504(情報源PoP1105の値)からパケットが出力される。   Here, when it is determined that the route information of the entry 1159 is used, the value of the advertisement source router 1102 of the entry 1159 is “304”, so the packet is transmitted from the PoP 504 (value of the information source PoP 1105) connected to the router 304. Is output.

パス管理テーブル149をみると、ルータ301,304を経由するパスは、パスID751の値が「603」となるパスである(エントリ777)。したがって、パケットはパス603を通って転送される。また、このエントリ777のパス間コスト755の値は「400」である。   Looking at the path management table 149, the path passing through the routers 301 and 304 is a path having a path ID 751 value of “603” (entry 777). Thus, the packet is forwarded through path 603. The value of the inter-path cost 755 of this entry 777 is “400”.

一方、転送グループを2つにわけることで、仮想ルータ機能部121は、図9Cに示したグループ別現経路情報テーブル1000を保持する。ルータ301からパケットを受信するPoP501は、転送グループ2に属する(図11の(E)のグループ情報テーブル145)。宛先ネットワーク1002が「A」のパケットは、広告元ルータ1003の値が「302」なので、そのルータ302に接続されているPoP502(情報源PoP1006の値)から出力される。   On the other hand, by dividing the forwarding group into two, the virtual router function unit 121 holds the group-specific current route information table 1000 shown in FIG. 9C. The PoP 501 that receives a packet from the router 301 belongs to the transfer group 2 (the group information table 145 in FIG. 11E). A packet whose destination network 1002 is “A” is output from the PoP 502 (value of the information source PoP 1006) connected to the router 302 because the value of the advertisement source router 1003 is “302”.

パス管理テーブル149をみると、ルータ301,302を経由するパスは、パスID751が「601」となるパスである(エントリ775)。したがって、パケットはパス601を通って転送される。また、このエントリ775のパス間コスト755の値は「200」である。このように、転送グループを2つにわけることにより、コスト値が半分(400から200)になったことがわかる。   Looking at the path management table 149, the path passing through the routers 301 and 302 is a path whose path ID 751 is “601” (entry 775). Thus, the packet is forwarded through path 601. Further, the value of the cost 755 between paths of this entry 775 is “200”. Thus, it can be seen that the cost value is halved (400 to 200) by dividing the transfer group into two.

また、ルータ305からPoP504を通ってネットワークアドレスB宛のパケットが転送装置網10に入力された場合を例に挙げる。仮想ルータ機能部121がもつ経路情報である図7の(C)に示した経路情報テーブル141のうち、ネットワークアドレスBに到達するための経路情報は、エントリ1157,1160である。転送グループを分けない場合は、使用する経路情報は1つに決定される。 Further, a case where a packet addressed to the network address B is input from the router 305 through the PoP 504 to the transfer apparatus network 10 will be described as an example. In the route information table 141 shown in FIG. 7C, which is route information held by the virtual router function unit 121, the route information for reaching the network address B is entries 1157 and 1160. When the transfer group is not divided, the route information to be used is determined as one.

ここで、エントリ1157の経路情報を使用すると決定された場合、エントリ1157の広告元ルータ1003の値が「302」なので、そのルータ302に接続されているPoP502(情報源PoP1105の値)を通してパケットは出力される。   Here, when it is determined that the route information of the entry 1157 is used, the value of the advertisement source router 1003 of the entry 1157 is “302”, so that the packet is transmitted through the PoP 502 (value of the information source PoP 1105) connected to the router 302. Is output.

パス管理テーブル149をみると、ルータ305,302を経由するパスは、パスID751の値が「607」となるパスである(エントリ781)。したがって、パケットは、パス607を通って転送される。また、このエントリ781のパス間コスト755の値は「401」である。 Looking at the path management table 149, the path passing through the routers 305 and 302 is a path whose path ID 751 value is “607” (entry 781). Thus, the packet is forwarded through path 607. Further, the value of the inter-path cost 755 of this entry 781 is “401”.

一方、転送グループを2つにわけることで、仮想ルータ機能部121は、図9Cに示したグループ別経路情報データベース143を保持する。ルータ301からパケットを受信するPoP504は、転送グループ1に属する(図11の(E)のグループ情報テーブル145)。宛先ネットワーク1002が「B」のパケットは、広告元ルータ1003の値が「304」なので、そのルータ304に接続されているPoP504(情報源PoP1006の値)から出力される。   On the other hand, by dividing the forwarding group into two, the virtual router function unit 121 holds the group-specific route information database 143 shown in FIG. 9C. The PoP 504 that receives the packet from the router 301 belongs to the transfer group 1 (the group information table 145 in FIG. 11E). A packet whose destination network 1002 is “B” is output from the PoP 504 (value of the information source PoP 1006) connected to the router 304 because the value of the advertisement source router 1003 is “304”.

図15に示したパス管理テーブル149をみると、ルータ305,304を経由するパスは、パスID751の値が「610」となるパスである(エントリ784)。したがって、パケットは、パス610を通って転送される。また、このエントリ784のパス間コスト755の値は「1」である。このように、転送グループを2つにわけることにより、コスト値が約400分の1(401から1)になったことがわかる。   Looking at the path management table 149 shown in FIG. 15, the path passing through the routers 305 and 304 is a path whose path ID 751 value is “610” (entry 784). Thus, the packet is forwarded through path 610. The value of the inter-path cost 755 of this entry 784 is “1”. Thus, it can be seen that the cost value is reduced to about 1/4 (from 401 to 1) by dividing the transfer group into two.

このように、本実施例に従って転送グループを分けることで、コスト値の低いパスを通ってパケットが転送されるようになる。本実施例では、パスのコスト値はパスを構成する物理リンクの距離とした。コスト値の低いパスを通ってパケットが転送されるようになったことで、転送装置間の距離が近い同じ転送グループ間で可能な限りパケット転送が行われる。したがって、パケットの転送時間が短くなり、伝送遅延を抑制することができる。   Thus, by dividing the transfer group according to the present embodiment, packets are transferred through a path with a low cost value. In this embodiment, the cost value of the path is the distance between the physical links constituting the path. Since the packet is transferred through the path having a low cost value, the packet is transferred as much as possible between the same transfer groups having a short distance between the transfer devices. Therefore, the packet transfer time is shortened, and transmission delay can be suppressed.

また、距離的に近い転送装置で転送グループを構成することで、コスト値の低いパスを通ってパケットが転送されるようになる。したがって、設備コストや管理コストが高い長距離リンクの使用率が下がり、長距離リンクの増設を抑止することが可能となる。このように、複数の転送装置を1台のルータとして集中制御した場合においても、ある宛先に対して出力ポートを全体でひとつに決定せず、転送装置網を考慮した上でパケットの入力ポートから近くに存在する出力ポートを通ってパケットを送信できるようにすることできる。   In addition, by configuring a transfer group with transfer devices that are close in distance, packets are transferred through a path with a low cost value. Therefore, the usage rate of the long distance link with high equipment cost and management cost decreases, and it becomes possible to suppress the addition of the long distance link. As described above, even when a plurality of transfer devices are centrally controlled as a single router, a single output port is not determined for a certain destination as a whole, and the packet input port is considered after considering the transfer device network. Packets can be sent through a nearby output port.

<PoP優先度の自動設定例>
つぎに、PoP優先度の自動設定例について説明する。制御サーバ100は、各転送装置200の負荷(たとえば、通信帯域やCPU使用率)を監視する。制御サーバ100は、各転送装置200から当該転送装置200の負荷を取得し、取得した負荷により、各転送装置200が所属するPoP500のPoP優先度を変動させる。PoP500に転送装置200が複数存在する場合は、負荷が高い方の転送装置200の負荷を採用してもよく、また、PoP500内の転送装置200の負荷の平均値を採用してもよい。
<Example of automatic setting of PoP priority>
Next, an example of automatically setting the PoP priority will be described. The control server 100 monitors the load (for example, communication bandwidth and CPU usage rate) of each transfer device 200. The control server 100 acquires the load of the transfer device 200 from each transfer device 200, and changes the PoP priority of the PoP 500 to which each transfer device 200 belongs according to the acquired load. When there are a plurality of transfer devices 200 in the PoP 500, the load of the transfer device 200 with the higher load may be adopted, or the average value of the loads of the transfer devices 200 in the PoP 500 may be adopted.

そして、たとえば、あるPoP500内の転送装置200において負荷が下限値よりも低くなった場合、制御サーバ100は、PoP優先度を現在のPoP優先度よりも高く設定してもよい。また、負荷が上限値よりも高くなった場合、PoP優先度を現在のPoP優先度よりも低く設定してもよい。なお、PoP優先度の変動量は、あらかじめ設定された量でもよく、負荷の変動量に応じた量でもよい。   For example, when the load in the transfer device 200 in a certain PoP 500 becomes lower than the lower limit value, the control server 100 may set the PoP priority higher than the current PoP priority. Further, when the load becomes higher than the upper limit value, the PoP priority may be set lower than the current PoP priority. Note that the amount of fluctuation of the PoP priority may be a preset amount or an amount corresponding to the amount of fluctuation of the load.

また、制御サーバ100は、定期的に転送装置200から負荷を示す情報の取得を実行してもよい。また、負荷が下限値よりも低くなったタイミングまたは負荷が上限値よりも高くなったタイミングで、当該転送装置200が負荷を示す情報を制御サーバ100に送信してもよい。   Further, the control server 100 may periodically acquire information indicating the load from the transfer device 200. Further, the transfer device 200 may transmit information indicating the load to the control server 100 at a timing when the load becomes lower than the lower limit value or at a timing when the load becomes higher than the upper limit value.

制御サーバ100は、負荷を示す情報を取得した場合、PoP500ごとにPoP優先度852の値を再計算する。たとえば、エントリ878のPoP504の負荷が上限値よりも大きくなった場合、制御サーバ100は、PoP優先度を、所定量(たとえば、5ポイント)減算する。一方、エントリ875のPoP501の負荷が下限値よりも低くなった場合、制御サーバ100は、PoP優先度を、所定量(たとえば、5ポイント)加算する。   When the control server 100 acquires information indicating the load, the control server 100 recalculates the value of the PoP priority 852 for each PoP 500. For example, when the load of the PoP 504 in the entry 878 becomes larger than the upper limit value, the control server 100 subtracts a predetermined amount (for example, 5 points) from the PoP priority. On the other hand, when the load of the PoP 501 in the entry 875 becomes lower than the lower limit value, the control server 100 adds a predetermined amount (for example, 5 points) to the PoP priority.

制御サーバ100は、PoP優先度852の値が再計算された場合、PoP優先度852の値の降順にエントリ875〜878をソートする。ソート前後でエントリ875〜878の並び順に変動があった場合、制御サーバ100は、(1)グループ分け処理、(2)ルータ接続による経路広告処理、(3)新規経路取得処理を再度実行する。これにより、PoP優先度852に応じて適切なグループ分けを自動的におこなうことができる。   When the value of the PoP priority 852 is recalculated, the control server 100 sorts the entries 875 to 878 in descending order of the value of the PoP priority 852. When there is a change in the order of the entries 875 to 878 before and after the sorting, the control server 100 again executes (1) grouping processing, (2) route advertisement processing by router connection, and (3) new route acquisition processing. Thereby, appropriate grouping can be automatically performed according to the PoP priority 852.

<VRFとの違い>
1つのルータを複数の転送グループに分け、転送グループ毎に異なるルーティングテーブルを持つ技術としてVRF(Virtual Routing and Forwarding)がある。VRFは、1つのルータ上で独立な複数のルーティングテーブルを作成することができ、1つのルータ上で複数の仮想的なルータが動作しているようにみえる。
<Difference from VRF>
One technique for dividing one router into a plurality of forwarding groups and having a different routing table for each forwarding group is VRF (Virtual Routing and Forwarding). The VRF can create a plurality of independent routing tables on one router, and a plurality of virtual routers appear to operate on one router.

VRFでは、複数の独立なルーティングテーブルは、1つのルーティングテーブル上でグループの識別子とIPアドレスを組にすることにより実現されており、異なるグループに応じて扱っているIPネットワークの空間が仮想的に分かれている。VRFでは、仮想的な複数のルータ間でルーティングテーブルを作成するために利用する経路情報は異なる。VRFは、1つのルータ上で仮想的に複数の仮想的なルータを作成して使用できる経路情報を分けることで、ネットワークの空間を分ける。   In the VRF, a plurality of independent routing tables are realized by combining a group identifier and an IP address on one routing table, and the IP network space handled according to different groups is virtually I know. In the VRF, route information used for creating a routing table is different between a plurality of virtual routers. The VRF divides network space by dividing path information that can be used by virtually creating a plurality of virtual routers on one router.

これに対し、本実施例では、転送グループ毎に異なるルーティングテーブルを作成しているが、ルーティングテーブルを作成するために利用する経路情報は複数の転送グループで共通しており、VRFとは異なり複数のグループで扱うIPネットワーク空間は同じである。   In contrast, in this embodiment, a different routing table is created for each transfer group, but the routing information used to create the routing table is common to a plurality of transfer groups, and unlike a VRF, a plurality of routing tables are used. The same IP network space is handled in the group.

本実施例は、転送装置200間の距離が近い同じ転送グループ内で可能な限りパケットが転送される。また、本実施例では、異なる転送グループが取得した経路情報も利用することができる。本実施例では周囲の装置からみると、1つのルータにみえる仮想ルータを採用している。VRFで複数の仮想的なルータを同じルータとしてみせようとすると、複数の仮想的なルータはそれぞれ自ルータと同じルータが複数存在するようにみえ経路情報をやりとりすることができない。したがって、VRFでは、本実施例のような転送グループ分けを実現することはできない。   In this embodiment, packets are transferred as much as possible within the same transfer group in which the distance between the transfer apparatuses 200 is short. In this embodiment, route information acquired by different transfer groups can also be used. In this embodiment, a virtual router that can be seen as a single router is adopted from the viewpoint of surrounding devices. If an attempt is made to show a plurality of virtual routers as the same router in the VRF, the plurality of virtual routers cannot exchange route information as there are a plurality of the same routers as their own routers. Therefore, the transfer grouping as in the present embodiment cannot be realized with the VRF.

このように、本実施例では、制御サーバは、複数の転送装置からなる転送装置網を仮想的に1つのルータとして見せて、複数の転送装置とその外部に存在するルータとを接続し、複数の転送装置をいくつかの転送グループに分け、転送装置網に入力されたパケットを転送装置が所属する転送グループに応じて作成するグループ別経路情報データベース143に従ってパケット転送を行う転送システム1を構築する。   In this way, in this embodiment, the control server virtually shows a transfer device network composed of a plurality of transfer devices as one router, connects a plurality of transfer devices and routers existing outside thereof, Transfer device 1 is divided into several transfer groups, and a transfer system 1 is constructed that performs packet transfer according to a group-specific route information database 143 that creates packets input to the transfer device network according to the transfer group to which the transfer device belongs. .

グループ別経路情報データベース143は、転送グループ毎に異なるエントリをグループ別現経路情報テーブル1000に持つので、転送装置網に入ってきたある宛先のパケットは、宛先が外部からパケットを受信した転送装置の所属グループおよび他グループのいずれからも転送可能である場合、当該所属グループ内の経路で転送することが可能になる。これにより、他グループの経路を通過することによる伝送遅延の抑制を図ることができる。   Since the group-specific route information database 143 has different entries for each transfer group in the group-specific current route information table 1000, a packet of a destination that has entered the transfer device network is the address of the transfer device that received the packet from the outside. When transfer is possible from any of the belonging group and other groups, it is possible to transfer via the route within the belonging group. As a result, it is possible to suppress transmission delay caused by passing through a route of another group.

この転送グループを分ける際に、転送装置間の物理回線の距離が短くなるように転送装置をグループ化することで、転送装置間の距離が近い同じ転送グループ内で可能な限りパケットが転送され、転送装置間の距離が離れたグループ間のパケット転送が抑止される。これにより、高価な長距離回線の増設を抑止することが可能となる。   When dividing this transfer group, by grouping the transfer devices so that the distance of the physical line between the transfer devices is shortened, packets are transferred as much as possible within the same transfer group where the distance between the transfer devices is close, Packet transfer between groups with a long distance between transfer devices is suppressed. This makes it possible to suppress the addition of expensive long-distance lines.

なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。   The present invention is not limited to the above-described embodiments, and includes various modifications and equivalent configurations within the scope of the appended claims. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and the present invention is not necessarily limited to those having all the configurations described. A part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Moreover, you may add the structure of another Example to the structure of a certain Example. Moreover, you may add, delete, or replace another structure about a part of structure of each Example.

また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。   In addition, each of the above-described configurations, functions, processing units, processing means, etc. may be realized in hardware by designing a part or all of them, for example, with an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.

各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。   Information such as programs, tables, and files that realize each function can be stored in a storage device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.

また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。   Further, the control lines and the information lines are those that are considered necessary for the explanation, and not all the control lines and the information lines that are necessary for the mounting are shown. In practice, it can be considered that almost all the components are connected to each other.

1 転送システム
10 転送装置網(仮想ルータ)
100 制御サーバ
120 処理部
140 記憶部
141 経路情報テーブル
142 差分経路情報テーブル
143 グループ別経路情報データベース
144 隣接ルータ管理テーブル
145 グループ情報テーブル
146 差分経路情報テーブル
147 転送装置情報テーブル
148 物理リンク情報テーブル
149 パス管理テーブル
200 転送装置
300 ルータ
400 物理リンク
500 PoP
600 ネットワーク
1 Transfer system 10 Transfer device network (virtual router)
100 Control server 120 Processing unit 140 Storage unit 141 Route information table 142 Differential route information table 143 Route information database by group 144 Neighboring router management table 145 Group information table 146 Differential route information table 147 Forwarding device information table 148 Physical link information table 149 Path Management table 200 Transfer device 300 Router 400 Physical link 500 PoP
600 network

Claims (9)

データを転送する複数の転送装置により構成されルータ群に接続される転送装置網を制御する制御サーバであって、
前記制御サーバは、プログラムを実行するプロセッサと前記プログラムを記憶するメモリと、前記複数の転送装置および前記複数の転送装置を介して前記ルータ群と通信する通信インタフェースと、を有し、
前記プロセッサは、
前記複数の転送装置の少なくとも1台が所属する前記転送装置網内の複数の接続ポイントの各々に設定されている優先度に基づいて、前記各接続ポイントを複数のグループにグループ分けするグループ分け処理と、
前記グループ分け処理によってグループ分けされたグループごとに、送信元から前記転送装置網を経由して到達する宛先と、当該宛先を広告するルータと、当該ルータに接続される転送装置が所属する接続ポイントと、を特定する経路情報を生成する生成処理と、
前記複数の転送装置が前記生成処理によって生成された経路情報にしたがってデータを転送するように前記複数の転送装置に前記通信インタフェースを介して設定する設定処理と、
前記経路情報を、当該経路情報により特定されるルータに前記通信インタフェースを介して広告する広告処理と、
を実行することを特徴とする制御サーバ。
A control server configured to control a transfer device network configured by a plurality of transfer devices that transfer data and connected to a router group,
The control server includes a processor that executes a program, a memory that stores the program, a communication interface that communicates with the router group via the plurality of transfer devices and the plurality of transfer devices,
The processor is
A grouping process for grouping the connection points into a plurality of groups based on the priority set for each of the plurality of connection points in the transfer device network to which at least one of the plurality of transfer devices belongs. When,
For each group grouped by the grouping process, a destination that is reached from the transmission source via the transfer device network, a router that advertises the destination, and a connection point to which the transfer device connected to the router belongs And a generation process for generating route information for specifying
A setting process for setting the plurality of transfer apparatuses via the communication interface so that the plurality of transfer apparatuses transfer data according to the path information generated by the generation process;
Advertising processing for advertising the route information to the router specified by the route information via the communication interface;
A control server characterized by executing
前記グループ分け処理では、前記プロセッサは、前記複数の接続ポイントのうち前記優先度が所定値よりも大きい第1の接続ポイントを、前記優先度に基づいて前記複数のグループにグループ分けし、
前記プロセッサは、
前記グループ分け処理によってグループ分けされた前記第1の接続ポイントに所属する第1の転送装置と、前記複数の接続ポイントのうち前記優先度が前記所定値以下である第2の接続ポイントに所属する第2の転送装置との組み合わせにおいて、前記第1の転送装置と前記第2の転送装置との間の距離を示すコストが最大でないまたはしきい値以下の組み合わせを選択し、選択した組み合わせを構成する前記第1の転送装置が所属するグループに、前記選択した組み合わせを構成する前記第2の転送装置を振り分ける振り分け処理を実行することを特徴とする請求項1に記載の制御サーバ。
In the grouping process, the processor groups the first connection points having a priority higher than a predetermined value among the plurality of connection points into the plurality of groups based on the priority,
The processor is
The first transfer apparatus belonging to the first connection point grouped by the grouping process, and the second transfer point belonging to the second connection point of which the priority is equal to or lower than the predetermined value among the plurality of connection points In the combination with the second transfer device, the combination indicating that the cost indicating the distance between the first transfer device and the second transfer device is not the maximum or less than the threshold is selected, and the selected combination is configured. 2. The control server according to claim 1, wherein a distribution process of distributing the second transfer devices that constitute the selected combination to a group to which the first transfer device belongs is executed.
前記振り分け処理では、前記プロセッサは、前記第1の転送装置と前記第2の転送装置との組み合わせにおいて、前記コストが最小となる組み合わせを選択することを特徴とする請求項2に記載の制御サーバ。   3. The control server according to claim 2, wherein, in the distribution process, the processor selects a combination that minimizes the cost in a combination of the first transfer device and the second transfer device. 4. . 前記生成処理では、前記プロセッサは、前記宛先が同一である経路情報が複数生成された場合、当該複数の経路情報に各々含まれている接続ポイントの所属グループのうち、前記グループ分け処理によってグループ分けされたグループと同一グループとなる経路情報を、前記設定処理の設定対象となる経路情報に選択することを特徴とする請求項1に記載の制御サーバ。   In the generation process, when a plurality of route information having the same destination is generated, the processor performs grouping by the grouping process among the belonging groups of connection points respectively included in the plurality of route information. The control server according to claim 1, wherein route information that is the same group as the group that has been set is selected as route information that is a setting target of the setting process. 前記生成処理では、前記プロセッサは、前記宛先が同一である経路情報が複数生成された場合、当該複数の経路情報に各々含まれている優先度に基づいて、前記複数の経路情報の中から前記設定処理の設定対象となる経路情報を選択することを特徴とする請求項1に記載の制御サーバ。   In the generation process, when a plurality of pieces of route information having the same destination are generated, the processor selects the plurality of pieces of route information from the plurality of pieces of route information based on the priorities included in the plurality of pieces of route information. The control server according to claim 1, wherein route information to be set in setting processing is selected. 前記プロセッサは、前記優先度の変化により前記接続ポイントの優先度に基づく順位に変動があった場合、変化後の優先度に基づいて、前記グループ分け処理、前記生成処理、前記設定処理、および前記広告処理を再実行することを特徴とする請求項1に記載の制御サーバ。   When there is a change in the order based on the priority of the connection point due to the change in the priority, the processor, based on the priority after the change, the grouping process, the generation process, the setting process, and the The control server according to claim 1, wherein advertisement processing is re-executed. データを転送する転送システムであって、
前記転送システムは、前記データを転送する複数の転送装置により構成されルータ群に接続される転送装置網と、前記転送装置網を制御する制御サーバと、を有し、
前記制御サーバは、
前記複数の転送装置の少なくとも1台が所属する前記転送装置網内の複数の接続ポイントの各々に設定されている優先度に基づいて、前記各接続ポイントを複数のグループにグループ分けするグループ分け処理と、
前記グループ分け処理によってグループ分けされたグループごとに、送信元から前記転送装置網を経由して到達する宛先と、当該宛先を広告するルータと、当該ルータに接続される転送装置が所属する接続ポイントと、を特定する第1の経路情報を生成する生成処理と、
前記複数の転送装置が前記生成処理によって生成された第1の経路情報にしたがってデータを転送するように前記複数の転送装置に設定する設定処理と、
前記第1の経路情報を、当該第1の経路情報により特定されるルータに広告する広告処理と、
を実行する制御部を有し、
前記複数の転送装置それぞれは、
前記複数の転送装置それぞれが接続する前記ルータ群から広告された前記ルータ群が保持する第2の経路情報を前記制御サーバに転送し、
前記制御部は、
前記複数の転送装置のうちいずれかの転送装置から前記第2の経路情報を受信すると、
前記生成処理において、当該第2の経路情報を転送した転送装置が所属する接続ポイントと当該第2の経路情報とに基づいて前記第1の経路情報を生成することを特徴とする転送システム。
A transfer system for transferring data,
The transfer system includes a transfer device network configured by a plurality of transfer devices that transfer the data and connected to a router group, and a control server that controls the transfer device network,
The control server
A grouping process for grouping the connection points into a plurality of groups based on the priority set for each of the plurality of connection points in the transfer device network to which at least one of the plurality of transfer devices belongs. When,
For each group grouped by the grouping process, a destination that is reached from the transmission source via the transfer device network, a router that advertises the destination, and a connection point to which the transfer device connected to the router belongs And a generation process for generating first route information for specifying
A setting process for setting the plurality of transfer devices to transfer the data according to the first path information generated by the generation process;
Advertising processing for advertising the first route information to the router specified by the first route information;
A control unit for executing
Each of the plurality of transfer devices includes:
Transferring the second route information held by the router group advertised from the router group to which each of the plurality of transfer devices is connected to the control server;
The controller is
When receiving the second route information from any one of the plurality of transfer devices,
In the generation process, the first route information is generated based on a connection point to which a transfer device that transferred the second route information belongs and the second route information.
前記制御部は、前記複数の転送装置から同じ宛先に関する情報を含む前記第2の経路情報を複数受信すると、
前記生成処理において、複数受信した前記同じ宛先に関する情報を含む前記第2の経路情報のうち、当該第2の経路情報を転送した複数の転送装置それぞれが所属する接続ポイントの前記優先度が高い接続ポイントに所属する転送装置が転送した前記第2の経路情報を前記第1の経路情報の生成に用いることを特徴とする請求項7に記載の転送システム。
When the control unit receives a plurality of the second route information including information on the same destination from the plurality of transfer devices,
In the generation process, among the second route information including a plurality of received information on the same destination, a connection with a high priority of a connection point to which each of a plurality of transfer devices that transferred the second route information belongs The transfer system according to claim 7, wherein the second route information transferred by the transfer device belonging to the point is used for generating the first route information.
データを転送する複数の転送装置により構成されルータ群に接続される転送装置網を制御する制御サーバの設定方法であって、
前記制御サーバは、プログラムを実行するプロセッサと前記プログラムを記憶するメモリとを有し、
前記設定方法は、
前記プロセッサが、
前記複数の転送装置の少なくとも1台が所属する前記転送装置網内の複数の接続ポイントの各々に設定されている優先度に基づいて、前記各接続ポイントを複数のグループにグループ分けするグループ分け処理と、
前記グループ分け処理によってグループ分けされたグループごとに、送信元から前記転送装置網を経由して到達する宛先と、当該宛先を広告するルータと、当該ルータに接続される転送装置が所属する接続ポイントと、を特定する経路情報を生成する生成処理と、
前記複数の転送装置が前記生成処理によって生成された経路情報にしたがって転送するように前記複数の転送装置に設定する設定処理と、
前記経路情報を、当該経路情報により特定されるルータに広告する広告処理と、
を実行することを特徴とする設定方法。
A control server setting method for controlling a transfer device network configured by a plurality of transfer devices for transferring data and connected to a router group,
The control server includes a processor that executes a program and a memory that stores the program,
The setting method is as follows:
The processor is
A grouping process for grouping the connection points into a plurality of groups based on the priority set for each of the plurality of connection points in the transfer device network to which at least one of the plurality of transfer devices belongs. When,
For each group grouped by the grouping process, a destination that is reached from the transmission source via the transfer device network, a router that advertises the destination, and a connection point to which the transfer device connected to the router belongs And a generation process for generating route information for specifying
A setting process for setting the plurality of transfer devices to transfer according to the route information generated by the generation process; and
Advertising processing for advertising the route information to the router specified by the route information;
The setting method characterized by performing.
JP2015034846A 2015-02-25 2015-02-25 Control server, transfer system, and transfer method Pending JP2016158122A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015034846A JP2016158122A (en) 2015-02-25 2015-02-25 Control server, transfer system, and transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015034846A JP2016158122A (en) 2015-02-25 2015-02-25 Control server, transfer system, and transfer method

Publications (1)

Publication Number Publication Date
JP2016158122A true JP2016158122A (en) 2016-09-01

Family

ID=56826475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015034846A Pending JP2016158122A (en) 2015-02-25 2015-02-25 Control server, transfer system, and transfer method

Country Status (1)

Country Link
JP (1) JP2016158122A (en)

Similar Documents

Publication Publication Date Title
US11134012B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
US8817798B2 (en) Constraining topology size and recursively calculating routes in large networks
US9887917B2 (en) Port extender
CN107078960B (en) Optimization method of network function link based on flow
US9369347B2 (en) Service to node resolution
US9225641B2 (en) Communication between hetrogenous networks
US8942085B1 (en) System and method for routing around failed links
US7602796B2 (en) Method and apparatus for border gateway protocol route management and routing policy modeling
EP2911348A1 (en) Control device discovery in networks having separate control and forwarding devices
CN108259341B (en) Prefix label distribution method and SDN controller
US20220191133A1 (en) Malleable routing for data packets
CN105553680A (en) System and method for creating virtual interfaces based on network characteristics
CN106059924A (en) Information management method, devices and system
US8837329B2 (en) Method and system for controlled tree management
US9832121B1 (en) Next hop instruction associations for forwarding unit programming within a network device
EP2995048A1 (en) Configuring forwarding information
US20150256407A1 (en) Control apparatus, control method thereof, and program
US11290394B2 (en) Traffic control in hybrid networks containing both software defined networking domains and non-SDN IP domains
WO2017084448A1 (en) Network system and network operating method
WO2021077015A1 (en) Neighbor equivalence groups
US10075362B2 (en) Method and apparatus for determining next hop and advertising routing information
EP2652920B1 (en) Managing stale route removal in a routing information base of a network element
JP6062388B2 (en) COMMUNICATION SYSTEM, COMMUNICATION CONTROL METHOD, AND CONTROL DEVICE
US20150381775A1 (en) Communication system, communication method, control apparatus, control apparatus control method, and program
US20210160101A1 (en) Interconnecting networks operating different types of control planes