[go: up one dir, main page]

JP2011066536A - Route control device - Google Patents

Route control device Download PDF

Info

Publication number
JP2011066536A
JP2011066536A JP2009213606A JP2009213606A JP2011066536A JP 2011066536 A JP2011066536 A JP 2011066536A JP 2009213606 A JP2009213606 A JP 2009213606A JP 2009213606 A JP2009213606 A JP 2009213606A JP 2011066536 A JP2011066536 A JP 2011066536A
Authority
JP
Japan
Prior art keywords
node
state
packet
label
destination
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.)
Withdrawn
Application number
JP2009213606A
Other languages
Japanese (ja)
Inventor
Takuya Yoshihiro
卓哉 吉廣
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.)
Wakayama University
Original Assignee
Wakayama University
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 Wakayama University filed Critical Wakayama University
Priority to JP2009213606A priority Critical patent/JP2011066536A/en
Publication of JP2011066536A publication Critical patent/JP2011066536A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】比較的少ない枚数の経路表を用いて、ノードやリンクの故障時に適切に迂回するネットワークを構成できる経路制御装置を提供する。
【解決手段】ノードu5が故障しているときに、ノードu1が宛先dのIPパケットを受信すると、u1→u2→u3→u4→w1→w2→dという経路でIPパケットを転送する。特に、iラベルが付加されたu2、oラベルが付加されたu3、sラベルが付加されたu4がそれぞれIPパケットに含まれる状態を書き換えることで、第2経路表を使う迂回の経路(u1→u2→u3)を経て、第1経路表を使って最短路を通るトンネルに入り(u3→u4)、トンネルを出た後は第2経路表を使い(u4→w1)、その後、また第1経路表を使う(w1→w2→d)という経路となる。
【選択図】図8
Provided is a path control device capable of configuring a network that is appropriately bypassed when a node or link fails using a relatively small number of routing tables.
When a node u1 receives an IP packet of a destination d when a node u5 is out of order, the IP packet is transferred through a route of u1->u2->u3->u4->w1->w2-> d. In particular, the rerouting route (u1 →) using the second routing table is rewritten by rewriting the state in which the u2 with the i label, u3 with the o label added, and u4 with the s label added are included in the IP packet. After passing through u2 → u3), the first route table is used to enter the tunnel through the shortest path (u3 → u4), and after leaving the tunnel, the second route table is used (u4 → w1), and then the first The route is such that the route table is used (w1 → w2 → d).
[Selection] Figure 8

Description

本発明は、ネットワークの経路上において故障などの異常状態が発生した場合に、迂回路を設定する経路制御装置に関する。   The present invention relates to a path control device that sets a detour when an abnormal state such as a failure occurs on a network path.

従来から、ルータなどの経路制御装置はネットワーク上の宛先とこの宛先に至るための次の転送先との対応を示す経路表(ルーティング・テーブル)を備えており、やってきたIPパケットの宛先を上記ルーティング・テーブルと照合して次の転送先を決定することが行われている。そして、次の転送先のルータへの経路上に故障などが発生して転送が行えないことがあるため、予備の経路表を予め用意しておく技術が知られている。   Conventionally, a route control device such as a router has a routing table indicating a correspondence between a destination on the network and a next transfer destination to reach this destination. The next transfer destination is determined by comparing with the routing table. Since a failure or the like may occur on the route to the next transfer destination router and transfer cannot be performed, a technique for preparing a spare route table in advance is known.

経路上の故障には大別して2種類ある。リンクの故障(link failure)とノードの故障(node failure)である。
そして、宛先への経路上に存する任意の1リンクが故障したとしても、そのリンクの故障に対して適切な迂回路を設定することを、「リンクプロテクション」という。また、任意の1ノードが故障したとしても、そのノードの故障に対しても適切な迂回路を設定することを「ノードプロテクション」という。
There are two types of failure on the route. A link failure and a node failure.
Then, even if any one link on the route to the destination fails, setting an appropriate detour for the failure of the link is called “link protection”. Moreover, even if any one node fails, setting an appropriate detour for the failure of the node is referred to as “node protection”.

このリンクプロテクションやノードプロテクションを実現するためのひとつの方策として、経路表の枚数を増やして対応する技術が知られている(非特許文献1〜5参照)。例えば、非特許文献1では、各ノードにおいて、そのノードが持つインターフェイス(ポート)毎の経路表を用意しておくことで、リンクプロテクションの実現を試みている。
また、非特許文献2では、同様の手法を用いてリンクプロテクションを実現する経路表の計算方法を提案している。
As one measure for realizing the link protection and the node protection, a technique for increasing the number of route tables is known (see Non-Patent Documents 1 to 5). For example, Non-Patent Document 1 attempts to realize link protection by preparing a route table for each interface (port) of each node.
Non-Patent Document 2 proposes a route table calculation method that realizes link protection using a similar method.

また、非特許文献4では、リンクプロテクションやノードプロテクションを保証するために、幾枚かの経路表を要するとしており、ネットワークの規模などにも依存するものの一般に3枚から5枚の追加テーブルが必要としている。
さらに、非特許文献5では、様々な故障に対応するための必要な追加テーブルの枚数は2枚から3枚としており、上記非特許文献4よりは少ない枚数であるが、一般的なケースにおいて何枚の経路表を要するかに関しては開示されていない。
In Non-Patent Document 4, several routing tables are required to guarantee link protection and node protection, and generally three to five additional tables are required, depending on the size of the network. It is said.
Further, in Non-Patent Document 5, the number of additional tables necessary for dealing with various failures is two to three, which is smaller than that in Non-Patent Document 4, but in a general case, There is no disclosure as to whether one route table is required.

その一方で、経路表をむやみに増やすと各ノードの処理負荷が重くなることがある。このため、非特許文献6では、パケットヘッダに埋め込んだ状態を迂回に利用することで、経路表の枚数を増加を回避しつつ適切な迂回路の設定を試みている。
非特許文献6に開示された技術について説明する。図14に示すように、ネットワーク100は、ノードu1〜u5,w1,w2,dから構成される。
On the other hand, if the routing table is increased unnecessarily, the processing load on each node may increase. For this reason, Non-Patent Document 6 attempts to set an appropriate detour while avoiding an increase in the number of routing tables by using the state embedded in the packet header as a detour.
The technique disclosed in Non-Patent Document 6 will be described. As shown in FIG. 14, the network 100 includes nodes u1 to u5, w1, w2, and d.

各ノードには、宛先であるノードdとノードdに至るための次の転送先のノード(次ホップ)を示す経路表、すなわち通常用の第1経路表(1st)と予備用の第2経路表(2nd)が備えられている。なお、図14において、第1経路表,第2経路表の次ホップへの経路をそれぞれ「第1経路」,「第2経路」と矢印で示している。
ここで図14におけるネットワークのルールは、次の通りである。
Each node includes a destination node d and a route table indicating a next transfer destination node (next hop) to reach the node d, that is, a normal first route table (1st) and a spare second route. A table (2nd) is provided. In FIG. 14, the routes to the next hop in the first route table and the second route table are indicated by arrows “first route”, “second route”, and arrows, respectively.
Here, the network rules in FIG. 14 are as follows.

(ルール1)IPパケットには、第1と第2経路表のいずれを使うべきかを示す状態ラベルが付加されており、状態0が第1経路表、状態1が第2経路表を使うべきことを示す。
(ルール2)第1経路表の次ホップへにつながるリンクの故障を検出するなどして、IPパケットを転送できないノードは、IPパケットをデフォルトの状態0から状態1へと変更し、第2経路表の次ホップに転送する。
(Rule 1) A state label indicating which of the first and second route tables should be used is added to the IP packet, and state 0 should use the first route table and state 1 should use the second route table. It shows that.
(Rule 2) A node that cannot transfer an IP packet, for example, by detecting a link failure leading to the next hop in the first routing table changes the IP packet from the default state 0 to the state 1, and the second route Forward to next hop in table.

(ルール3)sフラグが関連付けられているノードは、状態1のIPパケットを受信したときに、状態1から状態0へと状態を変更する。状態0への変更によりこのノード以降のノードは第1経路表を使うこととなる。
なお、非特許文献6では、IPパケットのループ防止のためにさらに状態を変更する仕組みが紹介されているが本論と密接には関係しないので説明を省略する。
(Rule 3) The node associated with the s flag changes the state from state 1 to state 0 when it receives the state 1 IP packet. The node after this node uses the first routing table due to the change to the state 0.
Non-Patent Document 6 introduces a mechanism for further changing the state in order to prevent IP packet loops, but the description thereof is omitted because it is not closely related to this discussion.

このルール下における具体的な動作例を説明すると、例えば、ノードu1が宛先dのIPパケットを受信した場合でリンクの故障を検出をしないときには、ノードu1は第1経路表の次ホップu5へとIPパケットを転送し、ノードu5もノードu5の第1経路表の次ホップdへ転送とする。つまりIPパケットは、u1→u5→dと転送されることとなる。   A specific operation example under this rule will be described. For example, when the node u1 receives the IP packet of the destination d and does not detect a link failure, the node u1 moves to the next hop u5 in the first routing table. The IP packet is transferred, and the node u5 is also transferred to the next hop d in the first route table of the node u5. That is, the IP packet is transferred as u1 → u5 → d.

また、図15に示すように、同じくノードu1が宛先dのIPパケットを受信した場合で、u5とdとの間のリンク故障を検出すると、u1→u5→u4→w1→w2→dという流れになる。
すなわち、
(1)ノードu1:第1経路表の次ホップu5へとIPパケットを転送する
(2)ノードu5:u5−d間のリンク故障を検出したのでIPパケットの状態を状態0から状態1へと変更、そして第1経路表ではなく第2経路表の次ホップu4へとIPパケットを転送する
(3)ノードu4:IPパケットの状態は状態1であるので第2経路表の次ホップw1へとIPパケットを転送。ただし、sフラグが関連付けられているので、転送前に状態1から状態0へと変更しておく
(4)ノードw1:IPパケットの状態は状態0であるので第1経路表の次ホップw2へとIPパケットを転送する
(5)ノードw2:IPパケットの状態は状態0であるので第1経路表の次ホップdへとIPパケットを転送する
、という流れとなる。
Further, as shown in FIG. 15, when the node u1 receives the IP packet of the destination d and detects a link failure between u5 and d, the flow of u1 → u5 → u4 → w1 → w2 → d become.
That is,
(1) Node u1: Transfers an IP packet to the next hop u5 in the first routing table. (2) Node u5: Since a link failure is detected between u5-d, the state of the IP packet is changed from state 0 to state 1. Change and forward the IP packet not to the first routing table but to the next hop u4 of the second routing table. (3) Node u4: Since the state of the IP packet is in the state 1, to the next hop w1 of the second routing table Forward IP packets. However, since the s flag is associated, the state is changed from the state 1 to the state 0 before the transfer. (4) Node w1: Since the state of the IP packet is the state 0, the next hop w2 in the first routing table (5) Node w2: Since the state of the IP packet is in state 0, the IP packet is transferred to the next hop d in the first routing table.

このように、非特許文献6によると、宛先のノードへの経路上に存する任意の1リンクが故障したとしても、そのリンクの故障に対して適切な迂回路を設定できる(リンクプロテクション)。また、予め計算しておいた経路表を利用するので、故障検出後に瞬時に迂回路を設定することができるとしている。   As described above, according to Non-Patent Document 6, even if any one link existing on the route to the destination node fails, an appropriate detour can be set for the failure of the link (link protection). In addition, since a route table calculated in advance is used, a detour can be set instantaneously after a failure is detected.

S. Lee, Y. Yu, S. Nelakuditi, Z.L. Zhang, and C-N. Chuah,"Proactive vs. Reactive Approaches to Failure Resilient Routing," In Proceings of IEEE INFOCOM '04, Mar.2004.S. Lee, Y. Yu, S. Nelakuditi, Z.L.Zhang, and C-N. Chuah, "Proactive vs. Reactive Approaches to Failure Resilient Routing," In Proceings of IEEE INFOCOM '04, Mar. 2004. Z. Zhong, S. Nelakuditi, Y. Yu, S. Lee,J. Wang,and C.N. Chuah,"Failure Inferencing Based Fast Rerouting for Handling Transient Link and Node Failures," In Proceings of IEEE Global Internet, Mar.2005.Z. Zhong, S. Nelakuditi, Y. Yu, S. Lee, J. Wang, and C.N. Chuah, "Failure Inferencing Based Fast Rerouting for Handling Transient Link and Node Failures," In Proceings of IEEE Global Internet, Mar. 2005. J. Wang and S. Nelakuditi,"IP Fast Reroute with Failure Inferencing," In Proceedings of SIGCOMM workshop (INM) 2007,pp.268-273,2007.J. Wang and S. Nelakuditi, "IP Fast Reroute with Failure Inferencing," In Proceedings of SIGCOMM workshop (INM) 2007, pp.268-273, 2007. A. Kvalbein, A.F. Hansen, T.Cicic, S. Gjessing, and O. Lysne, "Multiple routing configurations for fast IP network recovery," IEEE/ACM Transactions on Networking, Vol.17, Issue.2,pp.473-486, 2009.A. Kvalbein, AF Hansen, T. Cicic, S. Gjessing, and O. Lysne, "Multiple routing configurations for fast IP network recovery," IEEE / ACM Transactions on Networking, Vol.17, Issue.2, pp.473- 486, 2009. T.Cicic, A.F. Hansen,A. Kvalbein, M, Hartmann, R. Martin and M. Menth,"Relaxed multiple routing configurations for IP fast reroute," In Proceings of NOMS2008,pp.457-464, 2008.T. Cicic, A.F. Hansen, A. Kvalbein, M, Hartmann, R. Martin and M. Menth, "Relaxed multiple routing configurations for IP fast reroute," In Proceings of NOMS2008, pp.457-464, 2008. Takuya Yoshihiro,"A Single Backup-Table Rerouting Scheme for Fast Failure Protection in OSPF",IEICE Transactions on Communications, Vol. E91-B, No. 9, pp. 2838-2847, 2008.9. (IEICE/IEEE Joint Special Section on Autonomous Decentralized Systems Theories and Application Deployments)Takuya Yoshihiro, "A Single Backup-Table Rerouting Scheme for Fast Failure Protection in OSPF", IEICE Transactions on Communications, Vol. E91-B, No. 9, pp. 2838-2847, 2008.9. (IEICE / IEEE Joint Special Section on (Autonomous Decentralized Systems Theories and Application Deployments)

ところで、ネットワーク技術においては、上記リンクプロテクションも重要であるが、ノード故障の発生率も無視できないほどに高い。このため、ノードプロテクションをも実現することが重要課題となっている。
しかしながら、このノードプロテクションに対しては、上記した非特許文献6の技術では有効に機能しないことがある。
By the way, in the network technology, the link protection is also important, but the node failure occurrence rate is too high to be ignored. For this reason, realizing node protection has become an important issue.
However, the technique of Non-Patent Document 6 described above may not function effectively for this node protection.

具体的には図16に示すように、ネットワーク102においては、ノードu1が宛先dであるIPパケットを受信した場合で、ノードu5が故障しているときには、IPパケットは、u1→u2→u3→u4→w1→w2→dと転送されるので迂回できる。もっとも、ノードu3は第1経路表の次ホップおよび第2経路表の次ホップが同じu4になっている。このため、ノードu3が宛先dのIPパケットを受信した場合にu4との間のリンク故障を検出すると、ノードu3は次の適切な転送先を決定することができず迂回できず(図17参照)、IPパケット損失を招くこととなる。   Specifically, as shown in FIG. 16, in the network 102, when the node u1 receives an IP packet whose destination is d and the node u5 is out of order, the IP packet is u1 → u2 → u3 → Since it is transferred as u4 → w1 → w2 → d, it can be bypassed. However, the node u3 has the same u4 as the next hop in the first route table and the next hop in the second route table. Therefore, when the node u3 receives the IP packet of the destination d and detects a link failure with the u4, the node u3 cannot determine the next appropriate transfer destination and cannot bypass (see FIG. 17). ), Resulting in IP packet loss.

これに対しては、リンク故障やノード故障などに応じて経路表を用意するなど経路表の枚数を増やすことで対応することも考えられるが、上述のように経路表の枚数の増加は各ノードにおける処理負荷の増大などを招くのでの避けたい。
本発明はこのような背景の下になされたものであって、比較的少ない枚数の経路表を用いて、ノードやリンクの故障時に適切に迂回するネットワークを構成できる経路制御装置を提供することを目的とする。
To deal with this, it may be possible to respond by increasing the number of routing tables, such as preparing routing tables according to link failures, node failures, etc. I want to avoid this because it causes an increase in processing load.
The present invention has been made under such circumstances, and it is intended to provide a path control device capable of configuring a network that appropriately bypasses when a node or link fails using a relatively small number of routing tables. Objective.

本発明に係る経路制御装置は、ネットワークを構成するノードであり、パケットの転送先を制御する経路制御装置であって、宛先と、転送先の決定に係る状態を示す情報を格納するパケットを受信する受信部と、宛先ノードと、当該宛先ノードに至る第1経路上に存する第1ノードと、を対応付けた第1経路表と、宛先ノードと、当該宛先ノードに至る第2経路上に存する第2ノードと、を対応付けた第2経路表と、宛先ノード毎に、前記パケットに格納された状態の書き換え内容を表すラベル情報と、を記憶する記憶部と、前記受信部により受信されたパケットに格納された情報に示される状態が、状態0であり、前記第1ノードへの転送が可能ならば、当該第1ノードへと前記パケットを転送し、状態0であり、前記第1ノードへの転送が可能でないならば、前記第2ノードへと前記パケットを転送して、前記ラベル情報が第1ラベルの付加を示していれば転送前に前記状態0から状態3へと書き換え、第1ラベルの付加を示していなければ転送前に状態0から状態1へと書き換え、状態1であるならば、前記第2ノードへと前記パケットを転送して、前記ラベル情報が第2ラベルの付加を示していれば転送前に状態1から状態2へと書き換え、第2ラベルの付加を示しておらず第1ラベルの付加を示していれば転送前に状態1から状態3へと書き換え、状態2であるならば、前記第1ノードへと前記パケットを転送して、前記ラベル情報が第3ラベルの付加を示していれば転送前に前記状態2から前記状態1へと書き換え、状態3であるならば、前記第1ノードへと前記パケットを転送する転送制御部と、を備えることを特徴とする。   A routing control device according to the present invention is a node that constitutes a network, and controls a forwarding destination of a packet, and receives a packet storing information indicating a destination and a state relating to determination of the forwarding destination. The first route table in which the receiving unit, the destination node, and the first node existing on the first route to the destination node are associated with each other, the destination node, and the second route to the destination node. A second routing table that associates the second node with each other, a storage unit that stores, for each destination node, label information that represents the rewrite contents stored in the packet, and received by the receiving unit If the state indicated in the information stored in the packet is the state 0 and transfer to the first node is possible, the packet is transferred to the first node, and the state is 0, and the first node Transfer to If not possible, transfer the packet to the second node, and if the label information indicates the addition of the first label, rewrite from the state 0 to the state 3 before the transfer, and add the first label Is not rewritten from state 0 to state 1 before transfer, and if it is state 1, the packet is transferred to the second node, and the label information indicates the addition of the second label. For example, the state is rewritten from state 1 to state 2 before transfer, and if the addition of the first label is not indicated but the addition of the first label is indicated, the state is rewritten from state 1 to state 3 before the transfer. For example, if the packet is transferred to the first node and the label information indicates the addition of the third label, the state 2 is rewritten from the state 2 to the state 1 before the transfer. The packet to the first node Characterized in that it comprises a transfer control unit for transferring the door, the.

また、本発明に係る経路制御装置は、ネットワークを構成するノードであり、パケットの転送先を制御する経路制御装置であって、宛先と転送先の決定に係る状態を示す情報とを格納するパケットを受信し、自ノード宛のカプセル化されたパケットを受信すると、カプセル化の解除後のパケットを、受信したパケットとして扱う受信部と、宛先ノードと、当該宛先ノードに至る第1経路上に存する第1ノードと、を対応付けた第1経路表と、宛先ノードと、当該宛先ノードに至る第2経路上に存する第2ノードと、を対応付けた第2経路表と、宛先ノード毎に、前記パケットに格納された状態の書き換え内容を表すラベル情報と、を記憶する記憶部と、前記受信部により受信されたパケットに格納された情報に示される状態が、状態0であり、前記第1ノードへの転送が可能ならば、当該第1ノードへと前記パケットを転送し、状態0であり、前記第1ノードへの転送が可能でないならば、前記第2ノードへと前記パケットを転送して、前記パケットの宛先に対応するラベル情報が第1ラベルの付加を示していれば転送前に前記状態0から状態3へと書き換え、第1ラベルの付加を示していなければ転送前に状態0から状態1へと書き換え、状態1であるならば、前記第2ノードへと前記パケットを転送して、前記パケットの宛先に対応するラベル情報が第2ラベルの付加を示していれば転送前に状態1から状態2へと書き換え、第2ラベルの付加を示しておらず第1ラベルの付加を示していれば転送前に状態1から状態3へと書き換え、状態2であるならば、受信されたパケットの状態を前記状態2から前記状態1へと書き換えて、当該パケットを、前記パケットの宛先に対応するラベル情報が第3ラベルの付加を示すノードからみて第1ノードであるノードを宛先として状態が状態0であるパケットに内包させるようカプセル化し、カプセル化したパケットを前記第1ノードへと前記パケットを転送し、状態3であるならば、前記第1ノードへと前記パケットを転送する転送制御部と、を備えることを特徴とする。   The path control device according to the present invention is a node that constitutes a network, and is a route control device that controls a packet transfer destination, and stores a destination and information indicating a state related to determination of the transfer destination. When the encapsulated packet addressed to the own node is received, the packet after the decapsulation is handled as a received packet, the destination node, and the first route to the destination node. For each destination node, a first route table in which the first node is associated, a destination node, a second route table in which the second node existing on the second route to the destination node is associated, and for each destination node, The storage unit that stores label information that represents the rewriting contents of the state stored in the packet, and the state indicated in the information stored in the packet received by the reception unit is state 0 If the transfer to the first node is possible, the packet is transferred to the first node. If the packet is in state 0, and the transfer to the first node is not possible, the packet is sent to the second node. If the label information corresponding to the destination of the packet indicates the addition of the first label, the state is rewritten from the state 0 to the state 3 before the transfer. If the label information does not indicate the addition of the first label, the transfer is performed. If the state is changed from state 0 to state 1 and is in state 1, the packet is transferred to the second node, and the label information corresponding to the destination of the packet indicates the addition of the second label. Rewrite from state 1 to state 2 before transfer, if the addition of the second label is not indicated but the addition of the first label is indicated, rewrite from state 1 to state 3 before transfer and if state 2 Received packets The state is rewritten from the state 2 to the state 1, and the state of the packet is set to the node that is the first node when the label information corresponding to the destination of the packet indicates the addition of the third label. A transfer control unit that encapsulates the packet to be included in 0, transfers the encapsulated packet to the first node, and transfers the packet to the first node if in state 3; It is characterized by providing.

また、本発明に係る経路制御装置は、ネットワークを構成するノードであり、パケットの転送先を制御する経路制御装置であって、宛先と、転送先の決定に係る状態を示す情報を格納するパケットを受信する受信部と、宛先ノードと、当該宛先ノードに至る第1経路上に存する第1ノードと、を対応付けた第1経路表と、宛先ノードと、当該宛先ノードに至る第2経路上に存する第2ノードと、を対応付けた第2経路表と、宛先ノード毎に、前記パケットに格納された状態の書き換え内容を表すラベル情報と、を記憶する記憶部と、前記受信部により受信されたパケットに格納された情報に示される状態が、状態0であり、前記第1ノードへの転送が可能ならば、当該第1ノードへと前記パケットを転送し、状態0であり、前記第1ノードへの転送が可能でないならば、前記第2ノードへと前記パケットを転送して、前記パケットの宛先に対応するラベル情報が第1ラベルの付加を示していれば転送前に前記状態0から状態3へと書き換え、第1ラベルの付加を示していなければ転送前に状態0から状態1へと書き換え、状態1であるならば、前記第2ノードへと前記パケットを転送して、前記パケットの宛先に対応するラベル情報が第2ラベルの付加を示していれば転送前に状態1から状態2へと書き換え、第2ラベルの付加を示しておらず第1ラベルの付加を示していれば転送前に状態1から状態3へと書き換え、状態2であるならば、受信されたパケットの状態を前記状態2から前記状態1へと書き換えて、受信されたパケットに前記第1経路表に対応する経路であることを識別するMPLSラベルを付加した後、当該MPLSラベルにより識別されるノードへと転送し、状態3であるならば、前記第1ノードへと前記パケットを転送する転送制御部と、
を備えることを特徴としている。
A path control device according to the present invention is a node that constitutes a network and controls a transfer destination of a packet, and stores a packet that stores information indicating a destination and a state related to determination of the transfer destination. , A first route table in which a destination node and a first node existing on the first route to the destination node are associated, a destination node, and a second route to the destination node A storage unit that stores a second routing table that associates the second node existing in the network with each other, and label information that represents the rewrite contents stored in the packet for each destination node, and is received by the receiving unit If the state indicated in the information stored in the received packet is state 0 and transfer to the first node is possible, the packet is transferred to the first node, state 0 is To 1 node If the transfer is not possible, the packet is transferred to the second node. If the label information corresponding to the destination of the packet indicates the addition of the first label, the state is changed from the state 0 to the state 3 before the transfer. If it does not indicate the addition of the first label, it is rewritten from state 0 to state 1 before transfer, and if it is state 1, the packet is transferred to the second node, and is sent to the destination of the packet. If the corresponding label information indicates the addition of the second label, it is rewritten from the state 1 to the state 2 before the transfer, and if the second label is not indicated but the addition of the first label is indicated, the transfer is performed before the transfer. If state 1 is rewritten from state 1 and state 2 is received, the state of the received packet is rewritten from state 2 to state 1 so that the received packet is routed to the route corresponding to the first route table. To be After adding another to MPLS labels, and the MPLS label by transfers to node identified, if the state 3, the transfer control unit that transfers the packet to the first node,
It is characterized by having.

また、本発明に係る経路制御システムにおける方法は、ネットワークを構成する複数のノードから構成される経路制御システムにおける方法であって、各ノードにおいて、宛先ノードに至る第1経路と、前記宛先ノードに至り第1経路とは異なる迂回路である第2経路とを記憶する記憶ステップと、各ノードにおいて、第1経路を用いたパケットの転送が可能でないならば、パケットに迂回途中である旨を示す情報を付加した後で第2経路を用いてパケットを転送する迂回開始ステップと、各ノードにおいて、迂回途中である旨を示す情報が付加されたパケットを受信すると、第2経路を用いてパケットを転送する迂回中ステップと、各ノードにおいて、迂回途中である旨を示す情報が付加されたパケットを受信したにも関わらず、自ノードに関して宛先ノードに至るための経路に係る所定の条件を満足していれば、前記迂回中ステップで用いる第2経路に代えて、第1経路表を用いてパケットを転送する迂回中トンネルステップと、を備えることを特徴としている。   The method in the routing control system according to the present invention is a method in a routing control system including a plurality of nodes constituting a network, and each node has a first route to a destination node and the destination node. A storage step for storing the second route, which is a different detour from the first route, and if the transfer of the packet using the first route is not possible at each node, indicates that the packet is being detoured A detour start step of transferring a packet using the second route after adding the information, and each node receiving a packet with information indicating that the detour is in progress, the packet is transmitted using the second route. The local node in spite of having received a packet with a detour step to transfer and a packet with information indicating that it is detouring at each node. If the predetermined condition relating to the route to reach the destination node is satisfied, the detouring tunnel step of forwarding the packet using the first route table instead of the second route used in the detouring step; It is characterized by providing.

本発明に係る経路制御装置によれば、第1から第3ラベルにより状態0から状態4を状態を書き換えることにより、第1経路表か第2経路表のどちらを用いて転送先とするかを柔軟に決定することができ、ノードやリンクの故障時に適切に迂回路を設定することができる。   According to the route control device of the present invention, by rewriting the state from the state 0 to the state 4 with the first to third labels, it is possible to determine which of the first route table and the second route table is used as the transfer destination. It can be determined flexibly, and a detour can be appropriately set when a node or link fails.

ネットワークの概要を示す図Diagram showing network overview ノードu2の機能ブロック図Functional block diagram of node u2 アルゴリズム"CreateBackupTable-NP"に係る変数の定義を示す図The figure which shows the definition of the variable which relates to algorithm “CreateBackupTable-NP” アルゴリズム"CreateBackupTable-NP"を示す図Diagram showing the algorithm "CreateBackupTable-NP" プロシージャ"findBackupPath"を示す図Diagram showing procedure "findBackupPath" プロシージャ"setBackupNextHops"を示す図Diagram showing procedure "setBackupNextHops" IPパケット受信に係る処理の流れを示すフローチャートFlowchart showing the flow of processing related to IP packet reception 各ノードにおける第1および第2経路表、さらに各ラベルのtrue/falseを示す図The figure which shows the 1st and 2nd routing table in each node, and also true / false of each label ノードu5が故障した際の各ノードにおける処理の流れを示すシーケンス図Sequence diagram showing the flow of processing in each node when node u5 fails 変形例に係るネットワーク構成などを示す図The figure which shows the network configuration etc. which concern on a modification カプセル化を利用した変形例に係るネットワーク構成などを示す図The figure which shows the network configuration etc. concerning the modification which utilizes encapsulation MPLSを利用した変形例に係るネットワーク構成などを示す図The figure which shows the network structure etc. which concern on the modification using MPLS. (a)IPパケットのヘッダ部分の内容を示す図、(b)迂回後(状態3)への変更に関するフローチャート(A) The figure which shows the content of the header part of an IP packet, (b) The flowchart regarding the change to detouring (state 3) 非特許文献6にならったネットワーク構成を示す図The figure which shows the network structure which followed the nonpatent literature 6 図14のネットワークにおいて、u5−d間のリンク故障を示す図The figure which shows the link failure between u5-d in the network of FIG. 非特許文献6でノードプロテクションを行おうとしたときのネットワーク構成を示す図The figure which shows a network configuration when trying to perform node protection in nonpatent literature 6 図16のネットワークにおいて、u3−u4間のリンク故障を示す図The figure which shows the link failure between u3-u4 in the network of FIG.

以下、図面を参照しながら実施の形態について説明する。
<構成>
図1に示すように、ネットワーク1は8個のノードu1〜u5,w1,w2,dから構成される。各ノードはルータから構成され、ネットワーク層においてIPプロトコルに従って通信を行う。各ノードはOSPF(Open Shortest Path First)のルーティング・プロトコルに従って動作するものとする。
Hereinafter, embodiments will be described with reference to the drawings.
<Configuration>
As shown in FIG. 1, the network 1 includes eight nodes u1 to u5, w1, w2, and d. Each node includes a router, and performs communication according to the IP protocol in the network layer. Each node is assumed to operate according to an OSPF (Open Shortest Path First) routing protocol.

また、ネットワークを流れるIPパケットのヘッダ部分には、宛先IPアドレスとTOS(Type Of Service)フィールドが含まれており、このTOSは状態(状態0から状態3までの4種類がある。)の格納領域として用いられている。
図2にノードu2の機能ブロック図を示す。各ノードは基本的に同様な構成であるのでノードu2だけを代表させて説明する。
The header portion of the IP packet flowing through the network includes a destination IP address and a TOS (Type Of Service) field, and this TOS stores the state (there are four types from state 0 to state 3). Used as a region.
FIG. 2 shows a functional block diagram of the node u2. Since each node has basically the same configuration, only node u2 will be described as a representative.

ノードu2は、インターフェイス部10、トポロジ部12、受信部14、転送部16、転送先決定部18、故障検出部20、状態制御部22、各部を制御する制御部24、計算部30、記憶部40を備える。
インターフェイス部10は、他のノードと接続するための回線インターフェイス(ポート)から構成されており、他のノードとの間でのデータ授受を実現する。
The node u2 includes an interface unit 10, a topology unit 12, a reception unit 14, a transfer unit 16, a transfer destination determination unit 18, a failure detection unit 20, a state control unit 22, a control unit 24 that controls each unit, a calculation unit 30, and a storage unit. 40.
The interface unit 10 includes a line interface (port) for connecting to another node, and realizes data exchange with the other node.

トポロジ部12は、他のノードに対して、自ノードに接続されたノード(隣接ノード)のIDやインターフェイスのコストを含むLSA(Link State Advertisement)と呼ばれるトポロジ情報を送信する。また他のノードから集めたトポロジ情報に基づいてトポロジ・マップを作成する。
受信部14は、インターフェイス部10を介してIPパケットなどを受信する。
The topology unit 12 transmits topology information called LSA (Link State Advertisement) including the ID of the node (adjacent node) connected to the node and the cost of the interface to other nodes. A topology map is created based on topology information collected from other nodes.
The receiving unit 14 receives an IP packet or the like via the interface unit 10.

転送部16は、インターフェイス部10を介してIPパケットなどを、転送先決定部18に決定された転送先へと転送する。
故障検出部20は、定期的に隣接ノードとの間でやりとりされるメッセ−ジなどを利用して隣接ノードの故障を検出する。
状態制御部22は、受信部14が受信したIPパケットのヘッダ部分のTOS(Type Of Service)フィールド含まれる状態の読み取りや書き換えを行う。この書き換えは、故障検出部20の故障検出の有無や記憶部40内のラベル表46に基づいて行われる。
The transfer unit 16 transfers an IP packet or the like to the transfer destination determined by the transfer destination determination unit 18 via the interface unit 10.
The failure detection unit 20 detects a failure in an adjacent node by using a message or the like periodically exchanged with the adjacent node.
The state control unit 22 reads and rewrites the state included in the TOS (Type Of Service) field in the header portion of the IP packet received by the receiving unit 14. This rewriting is performed based on the presence / absence of failure detection by the failure detection unit 20 and the label table 46 in the storage unit 40.

状態には、最短路転送中であることを示す「状態0」、迂回路転送中であることを示す「状態1」、トンネル転送中であることを示す「状態2」、迂回後であることを示す「状態3」の4種類がある。各状態の機能や書き換え条件については後述する。
計算部30は、第1経路表計算部32、第2経路表計算部34、ラベル計算部36から構成される。計算部30のアルゴリズムについては後述する。この計算部30の計算結果は、記憶部40内に第1経路表42、第2経路表44、ラベル表46として設定され記憶される。
The state includes “state 0” indicating that the shortest path is being transferred, “state 1” indicating that the detour is being transferred, “state 2” indicating that the tunnel is being transferred, and after the detour There are four types of "state 3" indicating The function and rewrite condition of each state will be described later.
The calculation unit 30 includes a first route table calculation unit 32, a second route table calculation unit 34, and a label calculation unit 36. The algorithm of the calculation unit 30 will be described later. The calculation results of the calculation unit 30 are set and stored in the storage unit 40 as a first route table 42, a second route table 44, and a label table 46.

第1経路表42は、通常用(プライマリー)の経路表であり、宛先ノードを示す「宛先」42aと宛先ノードに至るための「次ホップ」42bとを対応付けた表である。図2中では、「宛先」がノードdについてのみ記述して他の宛先(ノードu1,u3,u4,u5,w1,w2)に関しては省略している。第2経路表44は、予備用(バックアップ)の経路表であり、第1経路表42同様、宛先ノードを示す「宛先」44aと宛先ノードに至るための「次ホップ」44bとを対応付けた表である。   The first routing table 42 is a normal (primary) routing table in which a “destination” 42 a indicating a destination node is associated with a “next hop” 42 b for reaching the destination node. In FIG. 2, “destination” describes only the node d, and other destinations (nodes u1, u3, u4, u5, w1, w2) are omitted. The second route table 44 is a backup (backup) route table, and as in the first route table 42, the “destination” 44a indicating the destination node and the “next hop” 44b for reaching the destination node are associated with each other. It is a table.

ラベル表46は、「宛先」46aと、3つのラベル「s」46b,「i」46c,「o」46dの各ラベルについてtrue/falseを示す表である。図2のラベル表46の例では、宛先ノードdに関してi-ラベルがtrueで、s-ラベル,o-ラベルがfalseあることを示している。
<アルゴリズム>
次に、計算部30の処理内容を定めるアルゴリズムについて説明する。
The label table 46 is a table indicating true / false for each label of “destination” 46a and three labels “s” 46b, “i” 46c, and “o” 46d. The example of the label table 46 in FIG. 2 indicates that the i-label is true and the s-label and the o-label are false for the destination node d.
<Algorithm>
Next, an algorithm for determining the processing contents of the calculation unit 30 will be described.

まず、第1経路表42は、OSPFにおいて一般的に用いられている手法により計算を行う。つまり、トポロジ部12において作成したトポロジ・マップを基に、ダイクストラの最短路計算アルゴリズムを用いて最短経路を求めることにより、宛先ノードに至るための次ホップを決定する。
次に、第2経路表44とラベル表46を求めるアルゴリズムについて、以下説明する。
First, the first route table 42 is calculated by a method generally used in OSPF. That is, the next hop to reach the destination node is determined by obtaining the shortest path using Dijkstra's shortest path calculation algorithm based on the topology map created in the topology unit 12.
Next, an algorithm for obtaining the second route table 44 and the label table 46 will be described below.

まず図3を用いて変数の定義について説明する。G(V,E)は、ネットワークを表す有向グラフである。Vはノードの集合、Eは有向リンクの集合である。関数f:e(∈E)→Rは、各リンクの重みを表す。p(v)はノードvの第1経路表における宛先dへの次ホップを表し、b[v]は、ノードvの第2経路表における宛先dへの次ホップを表す。p(v)が表す宛先dへの最短経路木を転送木Tと呼ぶ。Tにおいて、v(∈V)の親ノードをp(v)とし、v(∈V)の子孫ノードの集合をD(v)と表す。またv(∈V)の子ノードの集合をC(v)と表す。また、Tに対して、ノードv(∈V)を根として導出される部分木をT と表す。 First, the definition of variables will be described with reference to FIG. G (V, E) is a directed graph representing a network. V is a set of nodes, and E is a set of directed links. The function f: e (εE) → R represents the weight of each link. p d (v) represents the next hop to the destination d in the first route table of the node v, and b d [v] represents the next hop to the destination d in the second route table of the node v. The shortest path tree to the destination d represented by p d (v) is called a transfer tree T d . In T d, v the parent node of (∈ V) and p (v), v a set of descendent nodes (∈ V) expressed as D d (v). A set of child nodes of v (∈V) is represented as C d (v). Further, with respect to T d, representing a subtree derived node v the (∈ V) as the root and T d v.

ノードvの宛先dに対するs−ラベル、i−ラベル、o−ラベルをs[v],i[v],o[v]と表す。同様にノードvの宛先dに対するt−ラベルを定義しt[v]と表す。t−ラベルは迂回路中の最短路によるトンネルを構成するノード、即ちi−ラベルとo−ラベルとの間のノード(正確には、i−ラベルノードの次ノードからo−ラベルノードまでに含まれるノードで両端を含む)に一時的に設定されるラベルである。 The s-label, i-label, and o-label for the destination d of the node v are represented as s d [v], i d [v], and o d [v]. Similarly, a t-label for the destination d of the node v is defined and expressed as t d [v]. The t-label is a node that forms a tunnel with the shortest path in the detour, that is, a node between the i-label and the o-label (exactly, included from the node next to the i-label node to the o-label node). This is a label that is temporarily set to a node that includes both ends.

また、各ラベルがtrueであるノードを、それぞれs−ラベルノード、i−ラベルノード、o−ラベルノード、t−ラベルノードと呼ぶ。
本アルゴリズムの方式では、IPパケットがノードu∈Vにおいて第2経路表の次ホップに転送され、その後、迂回後状態(状態3)になるまでの経路を、uの「迂回路」と定義する。
In addition, nodes whose labels are true are called s-label nodes, i-label nodes, o-label nodes, and t-label nodes, respectively.
In the method of this algorithm, the route from when the IP packet is transferred to the next hop of the second routing table at the node uεV and then to the post-detour state (state 3) is defined as the “detour” of u. .

つまり、迂回路p=(u(=v),v,...,v)上の各ノード及び1≦k<nに対して、p(v)=vk+1であれば、vはt−ラベルノードでなければならず、t[v]=falseかつt[vk+1]=trueであればvはi−ラベルノード、t[v]=trueかつt[vk+1]=falseであればvはo−ラベルノード、さらに、vn−1はs−ラベルノードでなければならない。 That is, if p d (v k ) = v k + 1 for each node on the detour p = (u (= v 1 ), v 2 ,..., V n ) and 1 ≦ k <n. , V k must be t-label nodes, and if t d [v k ] = false and t d [v k + 1 ] = true, then v k is an i-label node, t d [v k ] = true If t d [v k + 1 ] = false, v k must be an o-label node, and v n−1 must be an s-label node.

ノード故障に対応する場合には、vの迂回路pはp(v)を通らずにIPパケットをdまで転送できる必要がある。このためには、pの終点ノードでT p(v)の外部にあるノードwがD(p(v))に属さない関係であればよい。v∈Vに対してT p(v)を「NP回避領域」と呼び、始点がv、終点がT p(v)の外部のノードであるw、である迂回路pをvの「NP迂回路」と呼ぶ。 When dealing with a node failure, the detour p of v needs to be able to transfer IP packets up to d without passing through p (v). For this purpose, it is only necessary that the node w outside T d p (v) at the end node of p does not belong to D d (p (v)). For v∈V, T d p (v) is called an “NP avoidance region”, and a detour p having a start point v and an end point w outside the T d p (v) is defined as “ It is called “NP detour”.

一方、リンク故障に対応する場合には、vの迂回路pはリンク(v,p(v))を通らずにIPパケットをdまで転送できる必要がある。このためには、pの終点ノードwがT の外部あればよい。よって、v∈Vに対して、T を「LP回避領域」と呼び、始点がv、終点がw(T の外部のノード)である迂回路pをvの「LP迂回路」と呼ぶ。 On the other hand, when dealing with a link failure, the detour p of v needs to be able to transfer IP packets up to d without passing through the link (v, p (v)). For this purpose, end node w of p may if external T d v. Therefore, for vεV, T d v is referred to as “LP avoidance region”, and the detour p whose start point is v and whose end point is w (a node outside T d v ) is the “LP detour” of v Call it.

迂回路pに対して、t−ラベルノードのみから構成される極大な部分路q∈pをpの「トンネル区間」と呼ぶ。逆に、t−ラベルノードvに対して、そのノードにt−ラベルが付加された時に設定された迂回路pがただ一つ定まり、pのトンネル区間の一つでvを含むものを「vのトンネル区間」と呼ぶ。t−ラベルノードvに対して、vのトンネル区間をpとは逆向きに辿り、t−ラベルノードでないノードに辿りつくまでの経路を「vの逆流経路」と呼ぶ。t−ラベルノードvから最短路トンネルに合流してパケットが転送される迂回路(即ち「状態2」のパケットがvから転送される迂回路)をvの「トンネル迂回路」と呼ぶ。また、経路pとqに対して、これらを連結した経路をp+qのように表す。   For the detour p, a maximal partial path qεp composed only of t-label nodes is called a “tunnel section” of p. Conversely, for a t-label node v, there is only one detour p set when the t-label is added to that node, and one of the tunnel sections of p including v Is called the tunnel section. For the t-label node v, the route of v is traced in the direction opposite to p, and the route to reach the node that is not the t-label node is called “v reverse flow route”. A detour route in which a packet is transferred from the t-label node v to the shortest path tunnel (that is, a detour route in which a packet in “state 2” is transferred from v) is referred to as a “tunnel detour” of v. In addition, a route connecting these routes p and q is expressed as p + q.

図4〜図6を参照しながら、第2経路表を求めるアルゴリズム"CreateBackupTable-NP"について説明する。図5,図6は、図4のアルゴリズムで用いられるプロシージャとなっている。
本アルゴリズムでは宛先d毎に動作するため、入力として宛先dと、この宛先dへの最短路木の一つTをとる。このため、各ノードuにおいて、uがd∈V−{u}であるdのそれぞれに対してアルゴリズムを実行し、出力である宛先dに関する第2経路表のエントリとs,i,oのラベルからu(自分自身のノード)に関するものを取り出してIPパケット転送に用いることとなる。
The algorithm “CreateBackupTable-NP” for obtaining the second routing table will be described with reference to FIGS. 5 and 6 show procedures used in the algorithm of FIG.
Since this algorithm operates for each destination d, the destination d and one shortest path tree T d to the destination d are taken as inputs. For this reason, in each node u, an algorithm is executed for each of d where u is dεV- {u}, and the entries of the second routing table relating to the output destination d and the labels of s, i, o From u (own node) is extracted and used for IP packet transfer.

図4に示すアルゴリズムにおいては、1〜8行目の初期化処理を行う。そして、Tの幅優先探索順にノードvを訪問し(9行目)、vの子ノードそれぞれについて、もし第2経路表が設定されていなければNP迂回路を探索し(10−12行目)、発見されればこれを設定する(13−15行目)。その後、さらにvの子ノードそれぞれについて、もし第2経路表が設定されていなければLP迂回路を探索し(18−20行目)、発見されればこれを設定する(21−23行目)。迂回路の探索と設定をこのような順序で行うのは、探索される迂回路の回避領域の根ノードがTの根に近い順になることを保証するためである。この手順により、宛先dに対する第2経路表とs,i,oのラベルを計算する。 In the algorithm shown in FIG. 4, initialization processing on the first to eighth lines is performed. Then, the node v is visited in the order of breadth-first search of Td (line 9), and for each child node of v, if the second route table is not set, an NP detour is searched (line 10-12). If found, this is set (lines 13-15). Thereafter, for each child node of v, if the second routing table is not set, the LP detour is searched (line 18-20), and if found, this is set (line 21-23). . The reason for searching and setting the detours in this order is to ensure that the root nodes of the avoidance area of the detour to be searched are in the order close to the root of Td . By this procedure, the second route table for the destination d and the labels of s, i, o are calculated.

本アルゴリズムの12,20行目で用いられる"findBackupPath"(迂回路の探索)は、LP迂回路とNP迂回路ともに図5に示すプロシージャ"findBackupPath"により行われる。このプロシージャ"findBackupPath"は迂回路の始点ノードu、宛先ノードd、回避領域の根ノードrを入力にとる。NP迂回路を探索する場合はrとしてNP回避領域の根p(u)を入力し、LP迂回路を探索する場合はuを用いる。   “FindBackupPath” (search for a detour) used in the 12th and 20th lines of this algorithm is performed by the procedure “findBackupPath” shown in FIG. 5 for both the LP detour and the NP detour. This procedure “findBackupPath” takes as input the start node u of the detour, the destination node d, and the root node r of the avoidance area. When searching for an NP detour, the root p (u) of the NP avoidance area is input as r, and when searching for an LP detour, u is used.

図5のプロシージャ"findBackupPath"は基本的には、ダイクストラの最短路計算アルゴリズムを少し変更して繰り返し実行することで迂回路を探索する。動作の骨組みとしては、迂回すべきノード(またはリンク)をGから取り除いたグラフを作成し、その上でuを始点としてダイクストラのアルゴリズムを実行し、Qから取り出した各ノードvのトンネル区間に迂回路の終点となるノードw∈S∪S∪S(Sは回避領域の外部ノードの集合、SはSに含まれないノードの中で第2経路表が定義されていないノード集合、SはS∪Sに含まれないt−ラベルノードの集合である。)を発見すると、uからvまでの経路とvからwまでTに沿った経路を連結した経路を迂回路pとして返す。(正確にはpは迂回路の部分路であるが、便宜上迂回路と呼ぶことにする。)この際に、S∪S∪Sに属するノードwを終点とするリンク(x,w)の重みとして、f(x,w)の重みに、迂回路を通ってwに着いたとして以後dに至るまでの距離を加えた値を用いる。つまり、w∈Sの場合には、wからdへの最短経路の距離を加え、w∈Sの場合にはwから迂回路を通った場合(即ち、「状態1」で第二経路表を用いて転送された場合)のwからdへの距離を加え、w∈Sの場合には、wのトンネル区間が回避領域の根rを含む場合にはwの逆流経路を通った場合のwからdへの距離、rを含まない場合にはwのトンネル経路を通った場合のwからdへの距離を加える。こうすることで、宛先dまでできるだけ最短でたどり着けるv∈S∪S∪Sを探索できる。 The procedure “findBackupPath” in FIG. 5 basically searches for a detour by repeatedly executing Dijkstra's shortest path calculation algorithm with a slight change. As a framework of the operation, a graph is created by removing nodes (or links) to be bypassed from G, and then Dijkstra's algorithm is executed with u as the starting point, and it bypasses to the tunnel section of each node v extracted from Q Node w ∈ S 1 ∪S 2 ∪S 3 which is the end point of the road (S 1 is a set of nodes outside the avoidance area, and S 2 is a second route table not defined among nodes not included in S 1 When a node set, S 3 is a set of t-label nodes not included in S 1 ∪S 2 ), a path that connects a path from u to v and a path along T d from v to w Is returned as a detour p. (Accurately, p is a partial path of the detour, but for convenience, it will be referred to as a detour.) At this time, the link (x, w) that ends with the node w belonging to S 1 ∪S 2 ∪S 3 ) Is used as the weight of f (x, w) plus the distance to reach d after reaching the w through the detour. That is, in the case of w∈S 1 , the distance of the shortest path from w to d is added, and in the case of w∈S 2 , when the detour is taken from w (that is, the second path in “state 1”) The distance from w to d) (if forwarded using the table), and if w∈S 3 then if w tunnel section included the root r of the avoidance region, it passed the back flow path of w The distance from w to d in the case is added, and when r is not included, the distance from w to d when passing through the tunnel path of w is added. By doing this, it is possible to search for vεS 1 ∪S 2 ∪S 3 that can reach the destination d in the shortest possible time.

処理の例外として、Sに属するノードwを発見し、wのトンネル区間が回避領域の根rを含む場合には、上記のpとは異なる経路を返す。即ち、uからvまでの経路とvからwまでTに沿った経路、そしてwの逆流経路の3経路を連結したものをpとして返す。上記のように、このプロシージャは設定すべき迂回路pを返す。この迂回路に基づいて第二経路表とs,i,oのラベルを設定することで、uからdへの迂回路を設定できる。 The exception processing, to discover the nodes w which belongs to S 3, when w of tunnel section comprises a root r avoidance region returns a different path from the above by p. In other words, a path obtained by connecting three paths, a path from u to v, a path along Td from v to w, and a backflow path of w is returned as p. As described above, this procedure returns the detour p to be set. By setting the second route table and the labels of s, i, and o based on this detour, a detour from u to d can be set.

このプロシージャ"findBackupPath"を図5を用いて説明すると、1−27行目で変数の初期化を行う。1−5行目では、迂回路を計算するためのグラフG’=(V’,E’)を生成する。u=rの場合はLP迂回路を探索するので2行目でGからリンク(r,p(r))を除いたものをG’としている。そうでない場合はNP迂回路を探索するので、4行目でGからノードrを除いたものをG’としている。6―8行目は迂回路探索時に迂回路の終端となるノード集合S、S及びSを初期化している。9−25行目で各ノードv∈V’ に対してdist[v]及びbdist[v]の値を初期化している。いずれもプロシージャ中で一時的に用いられる変数であり、それぞれuからvへの距離、及び、(前述の)uからvを経由する迂回路を通ってdに至る時のvからdへの距離を表す。13−15行目はSに属するノードv∈Sに対して、16−18行目はSに属するノードv∈Sに対して、また19−25行目はSに属するノードv∈Sに対して、それぞれbdist[v]の値を与えている。26行目ではダイクストラのアルゴリズムの始点としてuを集合Q(ダイクストラのアルゴリズム実行に用いられるノード集合)に入れ、27行目はuの距離を0で初期化する。 This procedure “findBackupPath” will be described with reference to FIG. 5. Variables are initialized on the 1st to 27th lines. In the first to fifth lines, a graph G ′ = (V ′, E ′) for calculating a detour is generated. In the case of u = r, the LP bypass is searched, so that G ′ is obtained by removing the link (r, p (r)) from G in the second line. Otherwise, an NP detour is searched, so that G ′ is obtained by removing node r from G in the fourth line. The 6th to 8th lines initialize the node sets S 1 , S 2, and S 3 that are the end points of the detour when searching for the detour. In lines 9-25, the values of dist u [v] and bdist u [v] are initialized for each node vεV ′. Each is a variable temporarily used in the procedure, the distance from u to v, respectively, and the distance from v to d when passing through the detour via u to v (described above) to d Represents. 13-15 line to the node V∈S 1 belonging to the S 1, 16-18 row to the node V∈S 2 belongs to S 2, also 19-25 line nodes belonging to S 3 The value of bdist u [v] is given for vεS 3 respectively. The 26th line puts u into the set Q (node set used for executing the Dijkstra algorithm) as the start point of the Dijkstra algorithm, and the 27th line initializes the distance of u to 0.

28行目以降は迂回路を発見するためのループである。29−30行目でQの中から最小距離のノードvを取り出し、31−32行目では、T上のuからvまでの経路上(u、vも含む)にw∈S∪S∪Sであるようなwが含まれるならば、その中でvに最も近いものをwとする。33−35行目では、w∈S∪Sの場合に前述の迂回路p(即ちuからvまでの発見された経路とvからwまでのTに沿った経路を連結したもの)を返し、36−42行目ではw∈Sの場合に対応する迂回路pを返す。44−52行目はダイクストラのアルゴリズムを動作させる部分であり、前述の通りリンク(v,w)に対しては、bdist[w]で表される重みを加算して動作させている。48行目の2番目の条件はダイクストラのアルゴリズムには存在しない部分であるが、これは、等距離の迂回路が複数あった場合に、できるだけTに沿うような迂回路を選択するための条件である。最後まで迂回路が見つからなければnullを返す(54行目)。 The 28th and subsequent lines are loops for finding a detour. In the 29th to 30th lines, the node v having the minimum distance is extracted from Q. In the 31st to 32nd lines, w∈S 1 ∪S on the path from u to v on T d (including u and v). If w such that 2 ∪S 3 is included, the one closest to v is set as w. In lines 33-35, in the case of w∈S 1 ∪S 2 , the aforementioned detour p (that is, the discovered route from u to v and the route along T d from v to w) are connected. the return and returns detour p corresponding to the case of W∈S 3 is 36-42 line. The 44th to 52nd lines are a part for operating Dijkstra's algorithm. As described above, the link (v, w) is operated by adding the weight represented by bdist d [w]. The second condition on the 48th line is a part that does not exist in Dijkstra's algorithm. This is to select a detour that is as close as possible to Td when there are multiple equidistant detours. It is a condition. If no detour is found until the end, null is returned (line 54).

次に、本アルゴリズムの14,22行目(図4)で呼び出される"setBackupNextHops"(次ホップの設定)について説明する。図6に示すプロシージャ"setBackupNextHops"は、"findBackupPath"などで発見された迂回路pを第2経路表およびs,i,o,t-ラベルとして設定し、pの始点uから宛先dまでIPパケットを転送できるようにする処理を行う。このプロシージャは入力として宛先ノードd、設定する迂回路p=(u,u,...,u)、および回避領域の根ノードrをとる。1行目では迂回路の終端から順に第2経路表を設定するようにループさせ、第2経路表のエントリやラベルを設定する。8−14行目はk<n−1、即ちuk+1がpの終端ノードではない場合の処理、15−23行目はuk+1がpの終端ノードである場合の処理であり、2−7行目は両方の場合に共通する処理を行う。2−7行目では、両方の場合に共通する処理として、t−ラベルの付加と第二経路表の設定を行う。2−4行目はuの第1経路表のエントリと第2経路表のエントリが等しいとき(つまり、IPパケットがトンネルを通るとき)の処理であり、3行目ではt-ラベルを付加し、ph にこの迂回路を逆向きにたどる(つまり、逆流経路を示す)ための前ホップを記憶しておく。それ以外の場合には、6行目で第2経路表を設定する。以降はi,o,s-ラベルの設定である。9−10行目は、uでは第1と第2の経路表エントリが異なり、かつuk+1では同一であるときに、uにi-ラベルを付加し、uk+1から第1経路表によるトンネルを用いてIPパケット転送するように設定する。11−12行目は、uでは第1と第2の経路表エントリが同一で、かつuk+1では異なる場合に、uにo-ラベルを付加してIPパケットがトンネルから抜けるよう処理をする。16−17行目は、pの終端が回避領域の外部にあるとき、s-ラベルを付加している。18−19行目は、pの終端がt-ラベルノードで(終端ノードは、第二経路表が設定されていない場合は必ずt−ラベルノードである)、ここからトンネルに入るときには、その前のノードにi-ラベルを付加する。20−21行目は、pの終端でトンネルを抜けて別の迂回路に転送する場合には、その前のノードにo-ラベルを付加する。 Next, “setBackupNextHops” (setting of the next hop) called in the 14th and 22nd lines (FIG. 4) of this algorithm will be described. The procedure “setBackupNextHops” shown in FIG. 6 sets the detour p found by “findBackupPath” or the like as the second path table and s, i, o, t-label, and the IP packet from the starting point u of p to the destination d. Process to be able to transfer. This procedure takes as input the destination node d, the detour p = (u 1 , u 2 ,..., U n ) to be set, and the root node r of the avoidance area. In the first line, a loop is made so as to set the second route table in order from the end of the detour, and the entry and label of the second route table are set. Lines 8-14 are processing when k <n−1, that is, uk + 1 is not a terminal node of p, and lines 15-23 are processing when uk + 1 is a terminal node of p, 2-7 The line performs processing common to both cases. In lines 2-7, t-label addition and setting of the second routing table are performed as processing common to both cases. 2-4 line indicates the processing when the entry of the first routing table entry and the second routing table of u k are equal (i.e., when the IP packet passes through the tunnel), added t- label in the third row Then, the previous hop for tracing the detour in the reverse direction (that is, indicating the reverse flow path) is stored in ph d t . In other cases, the second routing table is set in the sixth line. Thereafter, i, o, and s-labels are set. 9-10 line, different second routing table entry as the first in u k, and when the same in u k + 1, by adding i- label to u k, the first routing table from u k + 1 Set to forward IP packets using a tunnel. 11-12 row, first and second routing table entry in u k is the same, and if different in u k + 1, IP packet by adding o- label u k is the process to escape from the tunnel To do. Lines 16-17 add an s-label when the end of p is outside the avoidance area. Lines 18-19 show that the end of p is a t-label node (the end node is always a t-label node if the second routing table is not set), and before entering the tunnel from here, I-label is added to the node. The 20th to 21st lines add an o-label to the previous node when transferring through a tunnel at the end of p to another detour.

以上が第2経路表と各ラベルを求めるアルゴリズムであり、発見されたどのようなpに対しても、IPパケットがpを通るような第2経路表と各ラベルの設定ができる。
<アルゴリズムに関する理論的結果>
本アルゴリズムは、全ての双方向ネットワークに対して、任意の1ノード故障に対応できるような第二経路表と3つのラベル(s、i、o−ラベル)を計算できることを保証する。より厳密には、任意のノードvに対して、もしvのNP迂回路が存在するならばそのうち一つを設定でき、NP迂回路が存在しない場合にも、もしvのLP迂回路が存在するならばそのうち一つを設定できることが保証される。即ち、ノード故障を迂回できることはリンク故障をも迂回できることを考慮すると、本アルゴリズムは迂回可能な全ての1ノード故障、及び1リンク故障に対応可能である。
The above is the algorithm for obtaining the second routing table and each label, and for every p found, the second routing table and each label can be set so that the IP packet passes through p.
<Theoretical results on the algorithm>
The algorithm guarantees that for every bi-directional network, a second routing table and three labels (s, i, o-labels) that can handle any one node failure can be calculated. More precisely, for any node v, if v NP detours exist, one of them can be set, and if there is no NP detour, v LP detours exist. Then it is guaranteed that one of them can be set. In other words, considering that a node failure can be bypassed and a link failure can also be bypassed, this algorithm can cope with all one-node failures and one link failures that can be bypassed.

これよりそのことを証明する。まず、証明にあたり必要な次の定義及び補題を示す。
定義1:経路pに対して、任意の2ノードv、w∈pを選ぶ。もしp上でvがwの上流に位置し、wがT上でvの祖先である場合、vを始点、wを終点とするpの部分路をスロープ区間と呼ぶ。p上の全てのスロープ区間がT上にあるとき、pを適切経路と呼ぶ。
I prove this from this. First, the following definitions and lemmas necessary for proof are shown.
Definition 1: Any two nodes v and wεp are selected for the path p. If v is located upstream of w on p and w is an ancestor of v on Td , the partial path of p with v as the start point and w as the end point is called a slope section. When all the slope sections on p are on Td , p is called an appropriate path.

補題1:qをノードuの迂回路、pをuを始点とするqの部分路の一つとする。もしpが適切経路ならば、p上の全てのt−ラベルノードvはNP迂回路を持ち、それはvの逆流経路である。
証明:もしpがスロープ区間を持たないならば、補題は満たされる。よって、p上にスロープ区間が存在し、その始点がv、終点がwであるとする(このスロープ区間を以後[v,w]と表す)。xをp上でwの直前ノード、v’をp上でvの直前ノードとする。pは適切経路なので、そのスロープ区間上の全てのノードはt−ラベルノードである。即ち、pが設定された時にはこれらのノードの第二経路表は設定されておらず、その迂回路として逆流経路を設定することが可能である。もしv’がT上でwの子孫であれば、p上の区間[v’,w]は再びスロープ区間であり、上記と同様の議論が可能である。uは明らかにwの子孫ではないので、このようにスロープ区間を広げていくことで、必ずwの子孫でないv’を発見できる。v’がwの子孫でない場合、v’はT の外部にあり、区間[v’,x]内の全ノードに対して、NP回避領域の外部である。よって、区間[v’,x]内の全てのノードにとって、その逆流経路はNP迂回路となっている。(証明終)
補題1は、設定される迂回路pが適切経路であれば、p上の(pがLP迂回路であれば始点ノードを除く)全てのノードはNP迂回路を持つことができることを示している。実際に、アルゴリズムCreateBackupTables-NPは迂回路として常に適切経路を計算し設定することで、全ノードに対して(迂回路が存在する場合に限るが)迂回路を保証する。このことを以下の補題と定理により示す。
Lemma 1: Let q be a detour of node u and p be one of the partial paths of q starting from u. If p is an appropriate path, every t-label node v on p has an NP detour, which is the backflow path of v.
Proof: If p has no slope interval, the lemma is satisfied. Therefore, it is assumed that there is a slope section on p, the start point is v, and the end point is w (this slope section is hereinafter referred to as [v, w]). Let x be the node immediately before w on p, and v ′ be the node immediately before v on p. Since p is an appropriate route, all nodes on the slope section are t-label nodes. That is, when p is set, the second route table of these nodes is not set, and a reverse flow route can be set as a detour. If v ′ is a descendant of w on Td , the interval [v ′, w] on p is again a slope interval, and the same discussion as above is possible. Since u is clearly not a descendant of w, it is always possible to discover v ′ that is not a descendant of w by expanding the slope section in this way. If v ′ is not a descendant of w, v ′ is outside T d w and is outside the NP avoidance region for all nodes in the interval [v ′, x]. Therefore, for all the nodes in the section [v ′, x], the reverse flow path is an NP detour. (End of proof)
Lemma 1 indicates that if the detour p to be set is an appropriate route, all nodes on p (except the start node if p is an LP detour) can have an NP detour. . Actually, the algorithm CreateBackupTables-NP always calculates and sets an appropriate route as a detour, thereby guaranteeing a detour for all nodes (although only when a detour exists). This is shown by the following lemma and theorem.

補題2:プロシージャfindBackupPathは常に適切経路を返す。
証明:プロシージャfindBackupPath内ではuを始点としてダイクストラの最短路計算アルゴリズムが動作しており、プロシージャにより返される経路は原則として2つの部分に分割できる。つまり、ダイクストラのアルゴリズムにより計算されたuからvまでの経路pと、vからw(∈S∪S∪S)までTに沿った経路qに分割できる。(例外があるが、これに関しては後述する。また、v=wの場合もあり得る。)ここで、一般にダイクストラのアルゴリズムで用いられるリンクの重みとは異なる重みbdist[]を加えているにもかかわらず、pはuからvへの重み関数fの下での最短路である。なぜなら、bdist[]はp上で終端ノードにつながるリンクのみに加算され、かつ、同じ終端ノードにつながる全てのリンクには同じ値が加算されるからである。また、プロシージャfindBackupPathの29行目と48行目では、等距離の経路が複数ある場合にはTに沿った経路が優先的に選ばれる仕組みを実現している。従って、pは適切経路であり、これにTに沿った最短路qを加えた経路p+qも適切経路である。(証明終)
ところで、上記の例外として、findBackupPathはp+qにwの逆流経路を連結した経路を返す場合がある。この場合は、逆流経路上の(終端を除く)ノードが全てt−ラベルノードであり、アルゴリズムはQから取り出したノードvの祖先にw∈S∪S∪Sであるノードwを発見するとすぐに終了するため、p上のv以外のどのノードも、逆流経路上のノードをその(T上の)祖先に持たない。よって、p+qに逆流経路をつなげた経路も適切経路である。
Lemma 2: The procedure findBackupPath always returns an appropriate path.
Proof: In the procedure findBackupPath, Dijkstra's shortest path calculation algorithm operates with u as the starting point, and the path returned by the procedure can in principle be divided into two parts. In other words, it divides the path p from u calculated by Dijkstra's algorithm to v, v from w (∈S 1 ∪S 2 ∪S 3 ) path q along the T d to. (There is an exception, but this will be described later. Also, there may be a case where v = w.) Here, a weight bdist d [] different from the link weight generally used in the Dijkstra algorithm is added. Nevertheless, p is the shortest path under the weighting function f from u to v. This is because bdist d [] is added only to the link connected to the terminal node on p, and the same value is added to all links connected to the same terminal node. Further, the 29th and 48th lines of the procedure findBackupPath implement a mechanism in which a path along Td is preferentially selected when there are a plurality of equidistant paths. Therefore, p is an appropriate route, and a route p + q obtained by adding the shortest route q along Td is also an appropriate route. (End of proof)
By the way, as an exception to the above, findBackupPath may return a path in which a backflow path of w is connected to p + q. In this case, all the nodes on the backflow path (excluding the terminal) are t-label nodes, and the algorithm finds a node w that is w∈S 1 ∪S 2 ∪S 3 in the ancestor of the node v extracted from Q Since it ends immediately, no node other than v on p has a node on the backflow path in its ancestor (on Td ). Therefore, a route obtained by connecting a backflow route to p + q is also an appropriate route.

定理1:アルゴリズムCreateBackupTable-NPは、任意のノード対(s,d)に対して次の条件を満たすような第二経路表とラベルを計算できる。条件:sから宛先dへのNP迂回路が存在するならば、sはその中で適切経路であるものを迂回路として利用できる。もしNP迂回路が存在せず、LP迂回路が存在するならば、sはその中で適切経路であるものを迂回路として利用できる。   Theorem 1: The algorithm CreateBackupTable-NP can calculate a second routing table and a label that satisfy the following condition for an arbitrary node pair (s, d). Condition: If there is an NP detour from s to the destination d, s can use an appropriate route as a detour. If there is no NP detour and there is an LP detour, s can use what is an appropriate route as a detour.

証明:アルゴリズムCreateBackupTable-NPは、Tの幅優先探索順にノードvを訪問し、その子ノードuの迂回路を計算・設定することを繰り返す。迂回路計算の各繰り返し処理において、第二経路表が設定された全てのノードが定理の条件を満たす迂回路を持ち、その迂回路が常に適切経路であることを、数学的帰納法により証明する。
最初に迂回路が計算されるノードuを考える。rをこの時の回避領域の根ノードとする。初回はS∪Sに含まれるノードは存在しないので、uから回避領域T の外部に到達する迂回路が存在するならば、アルゴリズムがその終端ノードの一つx∈Sを発見できることは明らかである。ここで、発見された経路pはuからxへのfの下での最短路の一つであり、29行目と48行目の処理で等コスト経路が複数ある場合にはTに沿った経路が優先的に選択されるので、uの迂回路pは適切経路である。ここで、uの迂回路を設定すると、p上のt−ラベルノードと終端ノードを除く全てのノードの迂回路も設定されることになる。これらのノードはT上でrの子孫であるため、xはこれらのNP回避領域の外部にある。即ち、pは第二経路表が設定された全てのノードに対してNP迂回路である。
Proof: The algorithm CreateBackupTable-NP repeatedly visits the node v in the order of breadth-first search of Td , and repeatedly calculates and sets the detour of the child node u. In each iterative process of detour calculation, it is proved by mathematical induction that all nodes for which the second path table is set have detours that satisfy the theorem, and that the detour is always an appropriate path. .
Consider first a node u for which a detour is calculated. Let r be the root node of the avoidance area at this time. Since the first time no node included in S 2 ∪S 3, if detour to reach outside the avoidance area T d r from u is present, the algorithm discovers one X∈S 1 of the terminal node Obviously we can do it. Here, the discovered path p is one of the shortest paths under f from u to x, and if there are a plurality of equal cost paths in the 29th and 48th line processing, it follows Td . Therefore, the detour p of u is an appropriate route. Here, when a detour for u is set, detours for all nodes except the t-label node and the terminal node on p are also set. Since these nodes are descendants of r on Td , x is outside these NP avoidance regions. That is, p is an NP detour for all nodes for which the second routing table is set.

次にk回目の繰り返しまで条件が満たされたと仮定し、k+1回目の処理により計算・設定された迂回路も条件が満たされることを示す。もし、始点ノードuからT の外部に至る経路が存在するならば、アルゴリズムは必ずw∈S∪S∪Sを発見できる。もし
w∈Sが発見されたならば、上記の議論から条件は満たされる。
Next, it is assumed that the condition is satisfied until the k-th iteration, and the detour calculated and set by the k + 1-th process indicates that the condition is also satisfied. If there is a path from the start node u to the outside of the T d r, the algorithm can be always found w∈S 1 ∪S 2 ∪S 3. If wεS 1 is found, the condition is satisfied from the above discussion.

w∈Sが発見された場合、pを発見されたuからvまでの経路とし、p’をvからwまでのTに沿った経路とし、qをwの(既に設定された)迂回路とする。qは仮定より適切経路であり、v∈D(r)よりqはrを含まない。また、アルゴリズムは回避領域が広い順番に(つまり回避領域の根が宛先dに近い順番に)迂回路を計算するため、qはT の外部に到達できる。よって、経路p+p’+qはuの迂回路である。一方、補題2より、このuの迂回路は2本の適切経路p+p’とqの連結である。アルゴリズムはQからノードを取り出し、その祖先にw∈S∪S∪Sであるノードwを発見するとすぐに迂回路を決定する。よって、全てのx∈(p+p’)、x∈qの組に対して、xがxのT上の子孫であれば、p+p’+q上の区間[x,x]はTに含まれる。即ち経路p+p’+qは適切経路である。また、このとき第二経路表が設定された全てのノードは、前述の議論によりNP迂回路を持つ。 If wεS 2 is found, let p be the discovered path from u to v, p ′ be the path along T d from v to w, and q be the (already set) detour of w Road. q is a more appropriate route than assumed, and q does not include r from vεD d (r). Further, the algorithm for the avoidance area is wide order to calculate the (roots i.e. avoidance area is sequentially closer to the destination d) bypass passage, q can reach external T d r. Therefore, the path p + p ′ + q is a detour of u. On the other hand, from Lemma 2, this detour of u is a connection of two appropriate paths p + p ′ and q. The algorithm takes a node from Q and determines a detour as soon as it finds a node w with wεS 1 ∪S 2 ∪S 3 in its ancestor. Thus, all of x 1 ∈ (p + p ' ), for the set of x 2 ∈q, if a descendant on the T d x 1 is x 2, p + p' + q on the interval [x 1, x 2] Is included in Td . That is, the route p + p ′ + q is an appropriate route. At this time, all nodes for which the second routing table is set have NP detours as described above.

最後に、w∈Sである場合は、pを発見されたuからvまでの経路とし、p’をvからwまでのTに沿った経路とし、qをwのトンネル迂回路とし、qをwの逆流経路とする。もしqがrを含まない場合、上記w∈Sの場合と同様の議論により、p+p’+qはT の外部に到達できる迂回路であり、適切経路である。一方、qがrを含む場合、qが適切経路であることからwとrはいずれもwのトンネル区間内にある。よって、補題1より、wの逆流経路はT の外部に到達でき、p+p’+qはuの迂回路である。また、補題2より、p+p’+qは適切経路である。また、このとき第二経路表が設定された全てのノードは、前述の議論によりNP迂回路を持つ。 Finally, if w ∈ S 3 , let p be the discovered path from u to v, p ′ be the path along T d from v to w, and q 1 be the tunnel detour for w. , the q 2 to the reverse flow path of w. If q 1 does not include r, p + p ′ + q 1 is a detour that can reach the outside of T d r by an argument similar to the case of wεS 2 above, and is an appropriate route. On the other hand, if q 1 comprises r, Both w and r are within the tunnel section of w since q 1 is suitable route. Therefore, from Lemma 1, the backward flow path of w can reach the outside of T d r , and p + p ′ + q 2 is a detour of u. From Lemma 2, p + p ′ + q 2 is an appropriate route. At this time, all nodes for which the second routing table is set have NP detours as described above.

以上により、k+1回目の繰り返し処理で第二経路表が設定される(uを除く)全てのノードは定理の条件を満たす迂回路を持つ。(証明終)
<動作>
次にノードu2における、IPパケット受信からIPパケット転送までの処理の流れについて図7を用いて説明する。なお、図1で示したノードu2以外の各ノード(ノードu1,u3,u4,u5,w1,w2)も同様な動作を行う。
As described above, all nodes for which the second routing table is set (except for u) in the (k + 1) th iteration process have detours that satisfy the theorem. (End of proof)
<Operation>
Next, a processing flow from IP packet reception to IP packet transfer in the node u2 will be described with reference to FIG. It should be noted that each node (nodes u1, u3, u4, u5, w1, w2) other than the node u2 shown in FIG. 1 performs the same operation.

まず、受信部14がIPパケットを受信すると(S10)、状態制御部22は受信したIPパケットのヘッダに含まれる状態を読み取る(S11)。
状態が0であり(S12:Yes)、故障検出部20が第1経路表42の次ホップの故障を検出していなければ(S13:No)、転送部16は第1経路表42の次ホップにIPパケットを転送する(S14)。このように、第1経路表42の次ホップに故障がない限りは、状態が0のままでこの第1経路表42の次ホップに転送されることとなる。
First, when the receiving unit 14 receives an IP packet (S10), the state control unit 22 reads the state included in the header of the received IP packet (S11).
If the state is 0 (S12: Yes) and the failure detection unit 20 has not detected a failure of the next hop in the first route table 42 (S13: No), the transfer unit 16 is the next hop in the first route table 42. The IP packet is transferred to (S14). As described above, as long as there is no failure in the next hop of the first route table 42, the state remains 0 and is transferred to the next hop of the first route table 42.

故障検出部20が次ホップの故障を検出を検出していれば(S13:Yes)、転送部16は第2経路表44の次ホップにIPパケットを転送する(S18)。そして、転送前に、状態制御部22はラベル表46を参照して、s-ラベルがtrueでなければ(S15:No、S16)状態0から状態1へと書き換え(S16)、s-ラベルtrueであれば(S15:Yes)状態0から状態3へと書き換える(S17)。   If the failure detection unit 20 detects a failure of the next hop (S13: Yes), the transfer unit 16 transfers the IP packet to the next hop in the second route table 44 (S18). Before the transfer, the state control unit 22 refers to the label table 46, and if the s-label is not true (S15: No, S16), the state is rewritten from the state 0 to the state 1 (S16), and the s-label is true. If so (S15: Yes), the state is rewritten from the state 0 to the state 3 (S17).

状態が0でなく1であれば(S12:No、S21:Yes)、転送部16は第2経路表44の次ホップにIPパケット転送する(S26)。そして、転送前に、状態制御部22はラベル表46を参照して、i-ラベルtrueであれば状態1から状態2へと書き換え(S22:Yes,S23)、i-ラベルtrueでなくs-ラベルtrueであれば状態1から状態3へと書き換える(S22:No,S24:Yes,S25)。   If the state is not 0 but 1 (S12: No, S21: Yes), the transfer unit 16 transfers the IP packet to the next hop of the second route table 44 (S26). Before the transfer, the state control unit 22 refers to the label table 46, and if the i-label is true, it is rewritten from the state 1 to the state 2 (S22: Yes, S23). If the label is true, it is rewritten from state 1 to state 3 (S22: No, S24: Yes, S25).

状態が1でなく2であれば(S21:No、S31:Yes)、転送部16は第1経路表42の次ホップにIPパケット転送する(S34)。そして、転送前に、状態制御部22はラベル表46を参照して、o-ラベルtrueであれば状態2から状態1へと書き換える(S32:Yes,S33)。
状態が2でなく3であれば(S31:No、S41)、転送部16は第1経路表42の次ホップにIPパケット転送する(S42)。
If the state is not 1 but 2 (S21: No, S31: Yes), the transfer unit 16 transfers the IP packet to the next hop of the first route table 42 (S34). Before the transfer, the state control unit 22 refers to the label table 46 and rewrites the state 2 to the state 1 if the o-label is true (S32: Yes, S33).
If the state is 3 instead of 2 (S31: No, S41), the transfer unit 16 transfers the IP packet to the next hop of the first route table 42 (S42).

図1のネットワーク1において、第1および第2経路表、各ラベルについて、上述のアルゴリズムに従って計算した結果を図8に示す。
図8においては、各ノードu1〜u5,w1,w2の傍らに、第1経路表および第2経路表、さらに各ラベルがtrue/falseを示している。例えば、ノードu2は、第1経路表に示される次ホップがu1であり、第2経路表に示される次ホップがu3であり、iラベルがtrue、o-ラベル,s-ラベルはfalseとなっている。
FIG. 8 shows the result of calculation according to the algorithm described above for the first and second routing tables and each label in the network 1 of FIG.
In FIG. 8, the first route table, the second route table, and each label indicate true / false beside each of the nodes u1 to u5, w1, and w2. For example, in the node u2, the next hop shown in the first route table is u1, the next hop shown in the second route table is u3, the i label is true, the o-label, and the s-label are false. ing.

例えば、ノードu1が宛先dのIPパケットを受信した場合で、ノードu5が故障した際の各ノードの動作については、次の(1)〜(6)の通りである(図9参照)。
(1)ノードu1は、状態0のIPパケットを受信すると(S12:Yes)、第1経路表の次ホップu5の故障を検出し(S13:Yes)、状態を0から1へと書き換え(S16)、第2経路表に示される次ホップのu2へと転送する(S18)。
For example, when the node u1 receives the IP packet of the destination d, the operation of each node when the node u5 fails is as follows (1) to (6) (see FIG. 9).
(1) Upon receipt of the state 0 IP packet (S12: Yes), the node u1 detects a failure of the next hop u5 in the first routing table (S13: Yes), and rewrites the state from 0 to 1 (S16). ) And forward to u2 of the next hop shown in the second route table (S18).

(2)ノードu2は、状態1のIPパケットを受信すると(S21:Yes)、i-ラベルtrueなので状態を1から2へと書き換え(S22:Yes,S23)、第2経路表に示される次ホップのu3へと転送する(S26)。
(3)ノードu3は、状態2のIPパケットを受信すると(S31:Yes)、o-ラベルtrueなので状態を2から1へと書き換え(S32:Yes,S33)、第1経路表の次ホップu4へと転送する(S34)。
(2) When the node u2 receives the state 1 IP packet (S21: Yes), the i-label is true, so the state is rewritten from 1 to 2 (S22: Yes, S23), and the next route table shows Forward to hop u3 (S26).
(3) Upon receiving the state 2 IP packet (S31: Yes), the node u3 rewrites the state from 2 to 1 because the o-label is true (S32: Yes, S33), and the next hop u4 in the first routing table (S34).

(4)ノードu4は、状態1のIPパケットを受信すると(S21:Yes)、s-ラベルtrueなので状態を1から3へと書き換え(S22:No,S24:Yes,S25)、第2経路表の次ホップw1へと転送する(S26)。
(5)ノードw1は、状態3のIPパケットを受信すると(S41)、第1経路表の次ホップw2へと転送する(S42)。
(4) When the node u4 receives the state 1 IP packet (S21: Yes), since the s-label is true, the state is rewritten from 1 to 3 (S22: No, S24: Yes, S25), and the second route table To the next hop w1 (S26).
(5) Upon receiving the state 3 IP packet (S41), the node w1 transfers the packet to the next hop w2 of the first routing table (S42).

(6)ノードw2は、状態3のIPパケットを受信すると(S41)、第1経路表の次ホップdへと転送する(S42)。
このようにノードu5が故障した際においても、ノードu1→u2→u3→u4→w1→w2→dという迂回路を通ってIPパケットを無事宛先ノードdへと届けることができる。
(6) Upon receiving the state 3 IP packet (S41), the node w2 transfers the packet to the next hop d in the first routing table (S42).
As described above, even when the node u5 fails, the IP packet can be safely delivered to the destination node d through the detour such as the node u1 → u2 → u3 → u4 → w1 → w2 → d.

以上説明したように、本実施の形態によれば、IPパケットの宛先に関連付けられたs,i,oの各ラベルを利用してIPパケットの状態を書き換えて、第1経路表と第2経路表のいずれの表を使うべきかを多様に設定することが可能となる。特に、ノード故障の検出後の迂回において、一旦迂回路に入ったにも関わらず(u1→u2→u3)、途中で第1経路表を使って最短路を通るトンネルに入り(u3→u4)、トンネルを出た後は第2経路表を使い(u4→w1)、その後、また第1経路表を使う(w1→w2→d)というように柔軟に適切な迂回路を設定することができる。   As described above, according to the present embodiment, the state of the IP packet is rewritten using the s, i, and o labels associated with the destination of the IP packet, and the first route table and the second route are rewritten. It is possible to set various tables to be used. In particular, in the detour after the detection of the node failure, even though the detour is once entered (u1 → u2 → u3), the first route table is used on the way to enter the tunnel through the shortest path (u3 → u4). After leaving the tunnel, an appropriate detour can be set flexibly by using the second route table (u4 → w1) and then using the first route table (w1 → w2 → d). .

このように第1経路表と第2経路表というわずか2枚の経路表によりノードプロテクションを実現することができる。また、4つの状態はIPパケットヘッダのTOSフィールドに2ビットという軽い情報量で入れ込むので、ネットワークへの影響も軽微である。
<補足>
以上、本発明の実施の形態について説明したが、本発明は上記の内容に限定されず、本発明の目的とそれに関連または付随する目的を達成するための各種形態においても実施可能であり、例えば、以下であってもよい。
In this way, node protection can be realized with only two routing tables, the first routing table and the second routing table. In addition, since the four states are inserted into the TOS field of the IP packet header with a light information amount of 2 bits, the influence on the network is slight.
<Supplement>
As mentioned above, although embodiment of this invention was described, this invention is not limited to said content, It can implement also in the various forms for achieving the objective of this invention, the objective related to it, or an incidental, for example, It may be the following.

1.実施の形態においては、ノードu5が故障した際における例(図8)についてのみ説明したが、実施の形態によれば、u1〜u5,w1,w2のうちの任意のノードが宛先dのIPパケットを受信した際に、他のノードが故障していたとしても、適切に迂回路を保証することができる、つまりノードプロテクションを実現することができる。
また、任意のリンクが故障していたとしても適切に迂回路を保証することができる、つまりリンクプロテクションを実現することができる。
1. In the embodiment, only the example when the node u5 has failed (FIG. 8) has been described. However, according to the embodiment, an IP packet in which any of the nodes u1 to u5, w1, and w2 is the destination d Even if another node is faulty when the node is received, it is possible to appropriately guarantee a detour, that is, it is possible to realize node protection.
Further, even if an arbitrary link has failed, a detour can be appropriately ensured, that is, link protection can be realized.

2.図1(図8)とは、異なる形態のネットワークに実施の形態を適用した場合の例について変形例として以下説明する。図10は変形例に係るネットワーク構成などを示す図である。図10(a)はネットワーク構成(トポロジ)を示し、図10(b)は第1経路表とo-ラベル、図10(c)は第2経路表とi-ラベル,s-ラベルを示す。
図10のネットワークにおいても実施の形態の同様にノードプロテクションを実現できる。例えば、宛先がノード6であるIPパケットをノード2が受信した場合で、ノード3が故障している際には、
(1)ノード2は、ノード3の故障を検出すると、IPパケットの状態を0から1へと書き換え、第2経路表に示される次ホップのノード7へとIPパケットを転送する。
2. An example in which the embodiment is applied to a network having a different form from that in FIG. 1 (FIG. 8) will be described below as a modification. FIG. 10 is a diagram illustrating a network configuration according to a modification. FIG. 10A shows a network configuration (topology), FIG. 10B shows a first route table and an o-label, and FIG. 10C shows a second route table, an i-label, and an s-label.
Also in the network of FIG. 10, node protection can be realized as in the embodiment. For example, when node 2 receives an IP packet whose destination is node 6, and node 3 is out of order,
(1) When node 2 detects a failure of node 3, node 2 rewrites the state of the IP packet from 0 to 1, and forwards the IP packet to node 7 of the next hop shown in the second route table.

(2)ノード7は、IPパケットの状態が1であるため第2経路表に示される次ホップのノード9へとIPパケットを転送する。また、i-ラベルtrueなので転送前に状態を1から2へと書き換える。
(3)ノード9は、IPパケットの状態が2であるため第1経路表に示される次ホップのノード4へとIPパケットを転送する。また、o-ラベルtrueなので転送前に状態を2から1へと書き換える。
(2) Since the state of the IP packet is 1, the node 7 transfers the IP packet to the node 9 of the next hop shown in the second route table. Since the i-label is true, the state is rewritten from 1 to 2 before transfer.
(3) Since the state of the IP packet is 2, the node 9 transfers the IP packet to the next hop node 4 shown in the first route table. Since the o-label is true, the state is rewritten from 2 to 1 before transfer.

(4)ノード4は、IPパケットの状態が1であるため第2経路表に示される次ホップのノード5へとIPパケットを転送する。また、s-ラベルtrueなので転送前に状態を1から3へと書き換える。
(5)ノード5は、IPパケットの状態が3であるため第1経路表に示される次ホップのノード8へとIPパケットを転送する。
(4) Since the state of the IP packet is 1, the node 4 transfers the IP packet to the node 5 of the next hop shown in the second route table. Since the s-label is true, the state is rewritten from 1 to 3 before transfer.
(5) Since the state of the IP packet is 3, the node 5 transfers the IP packet to the next hop node 8 shown in the first route table.

(6)ノード8は、IPパケットの状態が3であるため第1経路表に示される次ホップのノード6へとIPパケットを転送する。
このように本変形例においても、ノードプロテクションを行うことができる。
3.迂回路の途中で第1経路表を使う方法としては、カプセル化の技術や、MPLS(Multi Protocol Label Switching)やATM(Asynchronous Transfer Mode)などを含むラベルスイッチング技術と組み合わせることもできる。
(6) Since the state of the IP packet is 3, the node 8 transfers the IP packet to the node 6 of the next hop shown in the first route table.
In this way, node protection can also be performed in this modification.
3. As a method of using the first routing table in the middle of the detour, it is possible to combine with an encapsulation technique, or a label switching technique including MPLS (Multi Protocol Label Switching) and ATM (Asynchronous Transfer Mode).

カプセル化については、RFC2003に規定されているIPパケット中にIPパケットをカプセル化するトンネリング技術が代表的あるが、RFC1701に規定されているような異なるプロトコル間でのトンネリングや、RFC3931に規定されているようなレイヤ2フレーム(Ethernet(登録商標)など)をIPの中にカプセル化する技術などを適宜用いることができる。
カプセル化を利用した場合の具体例を図11に示す。なお、図11においても図8、図14などと同様に、第1経路表,第2経路表の次ホップへの経路をそれぞれ「第1経路」,「第2経路」と矢印で示している。
As for encapsulation, there are typical tunneling technologies that encapsulate IP packets in IP packets defined in RFC2003, but tunneling between different protocols as defined in RFC1701 and RFC3931. A technique of encapsulating such a layer 2 frame (such as Ethernet (registered trademark)) in IP can be used as appropriate.
A specific example in the case of using encapsulation is shown in FIG. In FIG. 11, as in FIGS. 8 and 14, the routes to the next hop in the first route table and the second route table are indicated by arrows “first route”, “second route”, respectively. .

ノードu1のノードが故障した際には、u1→u2→u3→u4→u5→u6→u7→dという経路でパケットが転送される。実施の形態の図8,図9などと挙動が異なるのは基本的にノードu3からノードu5に至る間だけであるので、この間の詳細のみを以下説明する。
(1)ノードu3においてIPパケット(状態1,宛先d)をペイロード部分に入れてヘッダ部分に宛先u5、状態0(デフォルトの状態)を内包させた入れたパケットを新たに作成し(カプセル化)、第1経路のノードu4へと送る。カプセル化されたパケットには、IPパケット(状態1,宛先d)が内包されることとなる。
When the node u1 fails, the packet is transferred through a route of u1->u2->u3->u4->u5->u6->u7-> d. Basically, the behavior is different only from the node u3 to the node u5, and only the details during this time will be described below.
(1) In node u3, an IP packet (state 1, destination d) is put in the payload part and a packet containing destination u5 and state 0 (default state) is created in the header part (encapsulation) To the node u4 on the first route. An IP packet (state 1, destination d) is included in the encapsulated packet.

(2)ノードu4は、受信したIPパケットの状態が0であるため、第1経路表に示されるノードu5へとIPパケットを送る。
(3)ノードu5は、受信したIPパケットの宛先が自ノードであるため、パケットのカプセル化を解除して、中身(ペイロード部分)からIPパケット(状態1,宛先d)を取り出す。そして、取り出したIPパケット(状態1,宛先d)は、状態1であるため、第2経路表のノードu6へと送る。
(2) Since the state of the received IP packet is 0, the node u4 sends the IP packet to the node u5 indicated in the first route table.
(3) Since the destination of the received IP packet is the node itself, the node u5 releases the encapsulation of the packet and takes out the IP packet (state 1, destination d) from the contents (payload portion). Then, since the extracted IP packet (state 1, destination d) is in state 1, it is sent to node u6 in the second routing table.

なお、カプセル化を行った「u3」は、i-ラベルが付加されたノードu2からみて第1経路にあるノード(状態2のパケットを最初に受信するノード)であり、そして、カプセル化したパケットの宛先「u5」はo-ラベルが付加されたノードu4からみて第1経路にあるノードである。このようにカプセル化の開始ノードと宛先ノードとを設定することで迂回路中に第1経路(最短路)を通るトンネル区間(u3からu5までの区間)を設定することができる。   The encapsulated “u3” is a node on the first path as viewed from the node u2 to which the i-label is added (the node that first receives the packet of state 2), and the encapsulated packet The destination “u5” is a node on the first route as seen from the node u4 to which the o-label is added. By setting the encapsulation start node and the destination node in this way, it is possible to set a tunnel section (section from u3 to u5) passing through the first path (shortest path) during the detour.

なお、カプセル化の開始ノードを「u3」に代えて、例えば「u2」など適宜変更することができる。
次に、ラベルスイッチング技術と組み合わせた一例としてMPLSを用いて説明する。MPLSはパケットにMPLSラベルを付加することで、MPLSラベルが付加されているパケットはそのMPLSラベルに対応した既設定経路を用いて転送する技術であり、MPLSラベルは、経路制御中に付加したり削除したり操作が可能である。MPLSは、従来の最短経路による経路制御よりも柔軟な経路設定が可能であるため、負荷分散等にも利用されている。
Note that the encapsulation start node can be changed as appropriate, for example, “u2” instead of “u3”.
Next, a description will be given using MPLS as an example in combination with the label switching technique. MPLS is a technology that adds an MPLS label to a packet, and transfers a packet with an MPLS label using a preset route corresponding to the MPLS label. The MPLS label is added during route control. It can be deleted or manipulated. MPLS is used for load distribution and the like because it allows more flexible route setting than conventional route control using the shortest route.

MPLSを利用した場合の具体例を図12に示す。本例もノードu3からノードu5に至る間の詳細のみを以下説明する。
(1)ノードu3においてIPパケット(状態1,宛先d)にMPLSラベルであるラベル"7"を付加する。MPLSのネットワーク内では、IPヘッダの宛先ではなくラベルのみに基づいて転送先が決定される。このため、ラベル"7"に対応したLSP(Label Switch Path)を用いてパケットが転送される。ここで、ラベル"7"は終点(宛先)がノードu5でu3→u4→u5と第1経路(最短路)を通る経路に設定されているものとする。
A specific example in the case of using MPLS is shown in FIG. In this example, only details from the node u3 to the node u5 will be described below.
(1) At node u3, the label “7”, which is an MPLS label, is added to the IP packet (state 1, destination d). In the MPLS network, the transfer destination is determined based on only the label, not the destination of the IP header. Therefore, the packet is transferred using an LSP (Label Switch Path) corresponding to the label “7”. Here, it is assumed that the label “7” has an end point (destination) set to a route passing through the first route (shortest route) from u3 → u4 → u5 at the node u5.

(2)ノードu4は、受信したIPパケットに付加されたラベル"7"に従って、ノードu5へとIPパケットを送る。
(3)ノードu4は、受信したIPパケットに付加されたラベル"7"が自ノードを宛先としているので、このIPパケットからラベル"7”を外す。そして、ラベル"7”を外したIPパケットは状態1であるため、第2経路表に示されるノードu6へとIPパケットを送る。
(2) The node u4 sends the IP packet to the node u5 according to the label “7” added to the received IP packet.
(3) Since the label “7” added to the received IP packet is destined for the node “node”, the node u4 removes the label “7” from this IP packet. Since the IP packet with the label “7” removed is in the state 1, the IP packet is sent to the node u6 indicated in the second route table.

なお、ラベル"7"を付加した「u3」は、i-ラベルが付加されたノードu2からみて第1経路にあるノード(状態2のパケットを最初に受信するノード)であり、そして、ラベル"7"に従う経路は第1経路(最短路)を通り経路の終点は「u5」となっている。MPLSを利用した場合も上のカプセル化の場合と同様、迂回路中に第1経路(最短路)を通るトンネル区間(u3からu5までの区間)を設定することができる。   Note that “u3” to which the label “7” is added is a node (a node that first receives the packet of the state 2) in the first path as viewed from the node u2 to which the i-label is added, and the label “ The route according to 7 "passes through the first route (shortest route) and the end point of the route is" u5 ". When MPLS is used, a tunnel section (section from u3 to u5) passing through the first path (shortest path) can be set in the detour as in the case of the above encapsulation.

また、図12では、ラベル"7"は第1経路(最短路)を通るように設定されているとして説明したが、効率を考慮すると最短路であることが望ましいが、これに限らず第2経路(迂回路)と異なる経路であればよく、必ずしも最短路である必要はない。
4.実施の形態では、OSPF(Open Shortest Path First)のルーティング・プロトコルに適用した例について説明している。OSPFは、中規模のネットワークにおいて、非常に効率的な運用を可能にできるという利点がある。
In FIG. 12, the label “7” is described as being set so as to pass through the first route (shortest route). However, considering the efficiency, the shortest route is desirable, but not limited to this. The route may be different from the route (detour), and is not necessarily the shortest route.
4). In the embodiment, an example applied to an OSPF (Open Shortest Path First) routing protocol has been described. OSPF has the advantage that it enables very efficient operation in a medium-sized network.

実施の形態で説明した手法は、OSPFだけではなくIS−IS(Intermediate System to Intermediate System)のようなリンク状態型ルーティングにも適用することができる。
さらには、スタティック・ルーティング、つまり各ノードに第1および第2経路表や各ラベルなどを手動で設定するとしてもよい。
The method described in the embodiment can be applied not only to OSPF but also to link state routing such as IS-IS (Intermediate System to Intermediate System).
Furthermore, static routing, that is, first and second routing tables, labels, and the like may be manually set for each node.

5.実施の形態では、各ノードの計算部30において個別に表やラベルの計算をするとしてが、これに代えて、上記計算は処理能力に優れたサーバで行い、各ノードは計算結果をサーバから受け取って、表やラベルを設定するとしてもよい。
6.実施の形態では、最短路計算アルゴリズムの例として、ダイクストラを例に挙げたが、これに限られず、例えば、ワーシャル−フロイド法など他の最短路計算アルゴリズムを適用することができる。
5. In the embodiment, the calculation unit 30 of each node individually calculates a table and a label. Instead, the above calculation is performed by a server having excellent processing capability, and each node receives a calculation result from the server. You may set tables and labels.
6). In the embodiment, Dijkstra is taken as an example of the shortest path calculation algorithm. However, the present invention is not limited to this, and other shortest path calculation algorithms such as the Warshall-Floyd method can be applied.

7.実施の形態では、第1経路表における次ホップは宛先ノードdに至るための最短経路上に存在する隣接ノード(最短ノード)であり、第2経路表における次ホップは宛先ノードdに至るための迂回の経路上に存在する隣接ノード(迂回ノード)であるとして説明したが、第1経路表の次ホップの導出方法はこれに限られない。例えば、効率を重視しない(あるいは無視できる)ネットワーク設計であれば上記最短ノードではないノードを第1経路表に設定するとしても構わない。   7. In the embodiment, the next hop in the first route table is an adjacent node (shortest node) existing on the shortest route to reach the destination node d, and the next hop in the second route table is to reach the destination node d. Although it has been described that it is an adjacent node (detour node) existing on the detour route, the method of deriving the next hop in the first route table is not limited to this. For example, if the network design does not focus on efficiency (or can be ignored), a node that is not the shortest node may be set in the first routing table.

8.実施の形態においては、故障検出部20の故障を検出した場合に状態を状態0から状態1へと書き換えるとして説明したが、このような故障検出に限らず例えば輻輳を検出するなど第1経路表の次ホップへの転送が円滑に行えないことを条件としてもよい。また、隣接ノードとの間でやりとりされるメッセージやリンクを流れる電流、光信号などを定期的な検出対象として、検出結果に基づいて状態0から状態1への書き換えを行うとしてもよい。   8). In the embodiment, it has been described that the state is rewritten from the state 0 to the state 1 when a failure of the failure detection unit 20 is detected. However, the first route table is not limited to such failure detection, for example, congestion is detected. It may be a condition that transfer to the next hop cannot be performed smoothly. In addition, rewriting from the state 0 to the state 1 may be performed based on the detection result by using a message exchanged with an adjacent node, a current flowing through the link, an optical signal, and the like as periodic detection targets.

9.図7のフローチャートにおいて、第2経路表の次ホップに転送しようとしたとき、第2経路表の計算が未完了であるなど第2経路表の次ホップが存在しない場合には、状態3に書き換えて第1経路表の次ホップに転送するとしてもよい。
10.本実施の形態は、無線アドホックネットワーク、無線メッシュネットワーク、センサーネットワーク、その他経路制御を必要とする種々のネットワークに適用可能である。
9. In the flowchart of FIG. 7, when the next hop in the second routing table does not exist, such as when the calculation of the second routing table is incomplete when trying to transfer to the next hop in the second routing table, the state is rewritten to state 3. May be forwarded to the next hop of the first routing table.
10. The present embodiment can be applied to a wireless ad hoc network, a wireless mesh network, a sensor network, and other various networks that require route control.

11.実施の形態において説明した第1および第2経路表、さらには各ラベルを計算するアルゴリズムについては、あくまでも一例でありこれに限定されるものではない。
12.実施の形態では、IPv4のIPパケットのTOSフィールドに状態を含ませるとして説明したが、IPv6においても例えばヘッダ部分の拡張されたフィールドなどに状態を含ませることで実施することができる。
11. The first and second route tables described in the embodiment and the algorithm for calculating each label are merely examples and are not limited thereto.
12 In the embodiment, the state is described as including the state in the TOS field of the IPv4 IP packet. However, in IPv6, for example, the state can be included in the extended field of the header portion.

13.実施の形態では、IPパケットを例に挙げて説明したが、本発明は、IPパケットのみの適用には限定されず、経路表を用いてパケットを転送するスキームのすべてに適用可能である。IP以外にも、例えばIPX(Internetwork Packet eXchange)といったプロトコルにも適用できる。また、その他無線通信で独自仕様の通信プロトコルに適用できる。   13. In the embodiment, the IP packet has been described as an example. However, the present invention is not limited to the application of only the IP packet, and can be applied to all schemes that transfer packets using a routing table. In addition to IP, the present invention can also be applied to a protocol such as IPX (Internetwork Packet eXchange). In addition, it can be applied to other proprietary communication protocols for wireless communication.

14.実施の形態では、s-ラベルのノードを過ぎると直ちに迂回後の状態3に変更しているので(図9,図7:S24:Yes,S25)、迂回後のさらなる迂回はできない構成であったが、もっともこれに限らず、状態3へ変更する代わりにデフォルトの状態0へと変更することで、複数回の迂回を許容するようにしてもよい。
具体的には、図13(a)に示すように、IPパケットのヘッダ部分に迂回回数を格納する領域を設定しておく。
14 In the embodiment, immediately after passing the node of the s-label, the state is changed to the state 3 after the detour (FIGS. 9 and 7: S24: Yes, S25), so that the further detour after the detour cannot be performed. However, the present invention is not limited to this, and a plurality of detours may be allowed by changing to the default state 0 instead of changing to the state 3.
Specifically, as shown in FIG. 13A, an area for storing the number of detours is set in the header portion of the IP packet.

そして、図13(b)に示すように、s-ラベルがtrueであれば(S24:Yes)、IPパケットに格納された迂回領域を参照して、迂回回数が例えば3以下であれば(S51:Yes)、迂回回数をインクリメントし(S52)、状態を状態1から状態0へと変更する(S53)。迂回回数が3以下でなければ(S51:No)、状態を状態1から状態3へと変更する(S25)。   Then, as shown in FIG. 13B, if the s-label is true (S24: Yes), referring to the detour area stored in the IP packet, if the detour count is 3 or less, for example (S51) : Yes), the detour count is incremented (S52), and the state is changed from state 1 to state 0 (S53). If the number of bypasses is not 3 or less (S51: No), the state is changed from state 1 to state 3 (S25).

なお、図13(b)においては、図7と同様なステップに同じステップ番号を付している。
このようにすることで、IPパケットに3回までの迂回を許容することができ、パケット損失の低減に寄与できる。
In FIG. 13B, the same step number is assigned to the same step as in FIG.
By doing so, it is possible to allow the IP packet to be detoured up to three times, thereby contributing to reduction of packet loss.

本発明に係る経路制御装置はルータなどのネットワーク機器として有用である。   The route control device according to the present invention is useful as a network device such as a router.

1 ネットワーク
14 受信部
16 転送部
20 故障検出部
22 状態制御部
30 計算部
32 第1経路表計算部
34 第2経路表計算部
36 ラベル計算部
42 第1経路表
44 第2経路表
46 ラベル表
u1〜u5,w1,w2 ノード(ルータ)
d 宛先ノード(宛先ルータ)
DESCRIPTION OF SYMBOLS 1 Network 14 Reception part 16 Transfer part 20 Failure detection part 22 State control part 30 Calculation part 32 1st routing table calculation part 34 2nd routing table calculation part 36 Label calculation part 42 1st routing table 44 2nd routing table 46 Label table u1-u5, w1, w2 nodes (routers)
d Destination node (destination router)

Claims (4)

ネットワークを構成するノードであり、パケットの転送先を制御する経路制御装置であって、
宛先と、転送先の決定に係る状態を示す情報とを格納するパケットを受信する受信部と、
宛先ノードと、当該宛先ノードに至る第1経路上に存する第1ノードと、を対応付けた第1経路表と、
宛先ノードと、当該宛先ノードに至る第2経路上に存する第2ノードと、を対応付けた第2経路表と、
宛先ノード毎に、前記パケットに格納された状態の書き換え内容を表すラベル情報と、
を記憶する記憶部と、
前記受信部により受信されたパケットに格納された情報に示される状態が、
状態0であり、前記第1ノードへの転送が可能ならば、当該第1ノードへと前記パケットを転送し、
状態0であり、前記第1ノードへの転送が可能でないならば、前記第2ノードへと前記パケットを転送して、前記パケットの宛先に対応するラベル情報が第1ラベルの付加を示していれば転送前に前記状態0から状態3へと書き換え、第1ラベルの付加を示していなければ転送前に状態0から状態1へと書き換え、
状態1であるならば、前記第2ノードへと前記パケットを転送して、前記パケットの宛先に対応するラベル情報が第2ラベルの付加を示していれば転送前に状態1から状態2へと書き換え、第2ラベルの付加を示しておらず第1ラベルの付加を示していれば転送前に状態1から状態3へと書き換え、
状態2であるならば、前記第1ノードへと前記パケットを転送して、前記パケットの宛先に対応するラベル情報が第3ラベルの付加を示していれば転送前に前記状態2から前記状態1へと書き換え、
状態3であるならば、前記第1ノードへと前記パケットを転送する転送制御部と、
を備える
ことを特徴とする経路制御装置。
A node constituting a network, a path control device for controlling a forwarding destination of a packet,
A receiving unit that receives a packet that stores a destination and information indicating a state relating to determination of a transfer destination;
A first route table in which a destination node is associated with a first node existing on the first route to the destination node;
A second route table in which the destination node is associated with the second node existing on the second route to the destination node;
For each destination node, label information indicating the rewrite contents stored in the packet,
A storage unit for storing
The state indicated in the information stored in the packet received by the receiving unit,
If it is in state 0 and transfer to the first node is possible, transfer the packet to the first node;
If it is in state 0 and transfer to the first node is not possible, the packet is transferred to the second node, and the label information corresponding to the destination of the packet indicates the addition of the first label. Rewrite from state 0 to state 3 before transfer, and rewrite from state 0 to state 1 before transfer if the first label is not indicated.
If it is in state 1, the packet is transferred to the second node, and if the label information corresponding to the destination of the packet indicates the addition of the second label, the state is changed from state 1 to state 2 before transfer. Rewrite, if not showing the addition of the second label but showing the addition of the first label, rewrite from state 1 to state 3 before transfer,
If in state 2, the packet is transferred to the first node, and if the label information corresponding to the destination of the packet indicates the addition of a third label, the state 1 is transferred from the state 2 before the transfer. Rewritten,
If it is in state 3, a transfer control unit that transfers the packet to the first node;
A path control device comprising:
ネットワークを構成するノードであり、パケットの転送先を制御する経路制御装置であって、
宛先と転送先の決定に係る状態を示す情報とを格納するパケットを受信し、
自ノード宛のカプセル化されたパケットを受信すると、カプセル化の解除後のパケットを、受信したパケットとして扱う受信部と、
宛先ノードと、当該宛先ノードに至る第1経路上に存する第1ノードと、を対応付けた第1経路表と、
宛先ノードと、当該宛先ノードに至る第2経路上に存する第2ノードと、を対応付けた第2経路表と、
宛先ノード毎に、前記パケットに格納された状態の書き換え内容を表すラベル情報と、
を記憶する記憶部と、
前記受信部により受信されたパケットに格納された情報に示される状態が、
状態0であり、前記第1ノードへの転送が可能ならば、当該第1ノードへと前記パケットを転送し、
状態0であり、前記第1ノードへの転送が可能でないならば、前記第2ノードへと前記パケットを転送して、前記パケットの宛先に対応するラベル情報が第1ラベルの付加を示していれば転送前に前記状態0から状態3へと書き換え、第1ラベルの付加を示していなければ転送前に状態0から状態1へと書き換え、
状態1であるならば、前記第2ノードへと前記パケットを転送して、前記パケットの宛先に対応するラベル情報が第2ラベルの付加を示していれば転送前に状態1から状態2へと書き換え、第2ラベルの付加を示しておらず第1ラベルの付加を示していれば転送前に状態1から状態3へと書き換え、
状態2であるならば、受信されたパケットの状態を前記状態2から前記状態1へと書き換えて、当該パケットを、前記パケットの宛先に対応するラベル情報が第3ラベルの付加を示すノードからみて第1ノードであるノードを宛先として状態が状態0であるパケットに内包させるようカプセル化し、カプセル化したパケットを前記第1ノードへと前記パケットを転送し、
状態3であるならば、前記第1ノードへと前記パケットを転送する転送制御部と、
を備える
ことを特徴とする経路制御装置。
A node constituting a network, a path control device for controlling a forwarding destination of a packet,
Receiving a packet storing information indicating a state related to determination of a destination and a transfer destination;
When receiving an encapsulated packet addressed to the own node, a receiving unit that handles the packet after decapsulation as a received packet;
A first route table in which a destination node is associated with a first node existing on the first route to the destination node;
A second route table in which the destination node is associated with the second node existing on the second route to the destination node;
For each destination node, label information indicating the rewrite contents stored in the packet,
A storage unit for storing
The state indicated in the information stored in the packet received by the receiving unit,
If it is in state 0 and transfer to the first node is possible, transfer the packet to the first node;
If it is in state 0 and transfer to the first node is not possible, the packet is transferred to the second node, and the label information corresponding to the destination of the packet indicates the addition of the first label. Rewrite from state 0 to state 3 before transfer, and rewrite from state 0 to state 1 before transfer if the first label is not indicated.
If it is in state 1, the packet is transferred to the second node, and if the label information corresponding to the destination of the packet indicates the addition of the second label, the state is changed from state 1 to state 2 before transfer. Rewrite, if not showing the addition of the second label but showing the addition of the first label, rewrite from state 1 to state 3 before transfer,
If it is state 2, the state of the received packet is rewritten from state 2 to state 1, and the packet is viewed from the node whose label information corresponding to the destination of the packet indicates the addition of the third label. Encapsulating a node that is a first node as a destination and enclosing it in a packet that is in state 0, forwarding the encapsulated packet to the first node,
If it is in state 3, a transfer control unit that transfers the packet to the first node;
A path control device comprising:
ネットワークを構成するノードであり、パケットの転送先を制御する経路制御装置であって、
宛先と、転送先の決定に係る状態を示す情報を格納するパケットを受信する受信部と、
宛先ノードと、当該宛先ノードに至る第1経路上に存する第1ノードと、を対応付けた第1経路表と、
宛先ノードと、当該宛先ノードに至る第2経路上に存する第2ノードと、を対応付けた第2経路表と、
宛先ノード毎に、前記パケットに格納された状態の書き換え内容を表すラベル情報と、
を記憶する記憶部と、
前記受信部により受信されたパケットに格納された情報に示される状態が、
状態0であり、前記第1ノードへの転送が可能ならば、当該第1ノードへと前記パケットを転送し、
状態0であり、前記第1ノードへの転送が可能でないならば、前記第2ノードへと前記パケットを転送して、前記パケットの宛先に対応するラベル情報が第1ラベルの付加を示していれば転送前に前記状態0から状態3へと書き換え、第1ラベルの付加を示していなければ転送前に状態0から状態1へと書き換え、
状態1であるならば、前記第2ノードへと前記パケットを転送して、前記パケットの宛先に対応するラベル情報が第2ラベルの付加を示していれば転送前に状態1から状態2へと書き換え、第2ラベルの付加を示しておらず第1ラベルの付加を示していれば転送前に状態1から状態3へと書き換え、
状態2であるならば、受信されたパケットの状態を前記状態2から前記状態1へと書き換えて、受信されたパケットに前記第1経路表に対応する経路であることを識別するMPLSラベルを付加した後、当該MPLSラベルにより識別されるノードへと転送し、
状態3であるならば、前記第1ノードへと前記パケットを転送する転送制御部と、
を備える
ことを特徴とする経路制御装置。
A node constituting a network, a path control device for controlling a forwarding destination of a packet,
A receiver that receives a packet that stores information indicating a destination and a state relating to determination of a transfer destination;
A first route table in which a destination node is associated with a first node existing on the first route to the destination node;
A second route table in which the destination node is associated with the second node existing on the second route to the destination node;
For each destination node, label information indicating the rewrite contents stored in the packet,
A storage unit for storing
The state indicated in the information stored in the packet received by the receiving unit,
If it is in state 0 and transfer to the first node is possible, transfer the packet to the first node;
If it is in state 0 and transfer to the first node is not possible, the packet is transferred to the second node, and the label information corresponding to the destination of the packet indicates the addition of the first label. Rewrite from state 0 to state 3 before transfer, and rewrite from state 0 to state 1 before transfer if the first label is not indicated.
If it is in state 1, the packet is transferred to the second node, and if the label information corresponding to the destination of the packet indicates the addition of the second label, the state is changed from state 1 to state 2 before transfer. Rewrite, if not showing the addition of the second label but showing the addition of the first label, rewrite from state 1 to state 3 before transfer,
If it is state 2, the state of the received packet is rewritten from state 2 to state 1, and an MPLS label for identifying the route corresponding to the first route table is added to the received packet. Then forward to the node identified by the MPLS label,
If it is in state 3, a transfer control unit that transfers the packet to the first node;
A path control device comprising:
ネットワークを構成する複数のノードから構成される経路制御システムにおける方法であって、
各ノードにおいて、宛先ノードに至る第1経路と、前記宛先ノードに至り第1経路とは異なる迂回路である第2経路とを記憶する記憶ステップと、
各ノードにおいて、第1経路を用いたパケットの転送が可能でないならば、パケットに迂回途中である旨を示す情報を付加した後で第2経路を用いてパケットを転送する迂回開始ステップと、
各ノードにおいて、迂回途中である旨を示す情報が付加されたパケットを受信すると、第2経路を用いてパケットを転送する迂回中ステップと、
各ノードにおいて、迂回途中である旨を示す情報が付加されたパケットを受信したにも関わらず、自ノードに関して宛先ノードに至るための経路に係る所定の条件を満足していれば、前記迂回中ステップで用いる第2経路に代えて、第1経路表を用いてパケットを転送する迂回中トンネルステップと、
を備えることを特徴とする経路制御システムにおける方法。
A method in a routing system composed of a plurality of nodes constituting a network,
In each node, a storage step of storing a first route that reaches the destination node and a second route that reaches the destination node and is a different route from the first route;
In each node, if transfer of a packet using the first route is not possible, a detour start step of transferring the packet using the second route after adding information indicating that the packet is being detoured to the packet;
When each node receives a packet to which information indicating that it is detouring is added, a detouring step of forwarding the packet using the second route;
If each node satisfies a predetermined condition related to a route to reach the destination node with respect to its own node even though it has received a packet with information indicating that it is detouring, In place of the second route used in the step, the detour tunnel step for forwarding the packet using the first route table;
A method in a routing system comprising:
JP2009213606A 2009-09-15 2009-09-15 Route control device Withdrawn JP2011066536A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009213606A JP2011066536A (en) 2009-09-15 2009-09-15 Route control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009213606A JP2011066536A (en) 2009-09-15 2009-09-15 Route control device

Publications (1)

Publication Number Publication Date
JP2011066536A true JP2011066536A (en) 2011-03-31

Family

ID=43952342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009213606A Withdrawn JP2011066536A (en) 2009-09-15 2009-09-15 Route control device

Country Status (1)

Country Link
JP (1) JP2011066536A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014534776A (en) * 2011-11-01 2014-12-18 アルカテル−ルーセント IP fast reroute scheme providing full range of protection
JP2015012566A (en) * 2013-07-02 2015-01-19 日本電信電話株式会社 Communication device
JPWO2013133211A1 (en) * 2012-03-09 2015-07-30 三菱電機株式会社 Data communication apparatus, data communication system, and data communication method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014534776A (en) * 2011-11-01 2014-12-18 アルカテル−ルーセント IP fast reroute scheme providing full range of protection
US9350641B2 (en) 2011-11-01 2016-05-24 Alcatel Lucent IP fast reroute scheme offering full protection
JPWO2013133211A1 (en) * 2012-03-09 2015-07-30 三菱電機株式会社 Data communication apparatus, data communication system, and data communication method
JP2015012566A (en) * 2013-07-02 2015-01-19 日本電信電話株式会社 Communication device

Similar Documents

Publication Publication Date Title
US8902755B2 (en) Discovering network topology from routing information
US8842522B2 (en) Incremental deployment of MRT based IPFRR
US7986640B2 (en) Technique for efficiently determining acceptable link-based loop free alternates in a computer network
EP2915294B1 (en) Multiple path availability between walkable clusters
CN105453491A (en) Extended remote LFA fast reroute
US8837329B2 (en) Method and system for controlled tree management
CN103916265B (en) Method and controller system for the network that configuration software defines
US11632322B2 (en) Preferred path route graphs in a network
EP2880826A1 (en) Label distribution and route installation in a loop-free routing topology using routing arcs
CN105144627A (en) Technique of operating a network node for load balancing
CN103238300B (en) The method and device that out-of-date route in the routing information storehouse of managing network element removes
KR20130109154A (en) Prioritization of routing information updates
CN105075196A (en) Controller, communication system, path switching method and program
Enyedi et al. An algorithm for computing IP/LDP fast reroute using maximally redundant trees (MRT-FRR)
JP2011066536A (en) Route control device
JP2017228935A (en) Packet transfer control device, packet transfer control method, and packet transfer control program
Kamamura et al. Autonomous IP fast rerouting with compressed backup flow entries using OpenFlow
Gjessing Implementation of two resilience mechanisms using multi topology routing and stub routers
EP1662706B2 (en) A method of automatic protection switching
Suzuki An Efficient Calculation for TI-LFA Rerouting Path
CN103916322B (en) The method and apparatus for defining the lookup system of the network element of software defined network
Pal et al. A framework for fast IP rerouting
CN116648891A (en) Bit index explicit replication traffic engineering fast reroute
JP6672127B2 (en) Transmission path change system, transmission path change method, communication quality management device, and program
Li et al. Fast Reroute in Hybrid Segment Routing Network

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20121204