(57)【要約】【課題】障害の発生個所からの高速な迂回処理を実現する。【解決手段】転送プログラムは、転送装置で実行される。転送装置は、転送対象の対象パケットの宛先に至る最適経路に障害が発生した場合に、障害が発生している可能性のある光ファイバを識別するファイバ情報を対象パケットが含むかを判定する。転送装置は、対象パケットがファイバ情報を含む場合、転送処理に使用可能な複数の経路の各々を、経路を収容する光ファイバに対応付けた光ファイバ情報テーブルを参照する。転送装置は、対象パケットの宛先に至る１つ以上の代替経路から、ファイバ情報で識別される光ファイバに光ファイバ情報テーブルで対応づけられた経路を使用する原因とならない経路を優先して、転送経路を選択し、転送経路に対象パケットを送信する。【選択図】図１３
2020174231.tif 000002
【特許請求の範囲】
【請求項１】
転送対象の対象パケットの宛先に至る最適経路に障害が発生した場合に、障害が発生している可能性のある光ファイバを識別するファイバ情報を前記対象パケットが含むかを判定し、
前記対象パケットが前記ファイバ情報を含む場合、転送処理に使用可能な複数の経路の各々を、当該経路を収容する光ファイバに対応付けた光ファイバ情報テーブルを参照し、
前記対象パケットの宛先に至る１つ以上の代替経路から、前記ファイバ情報で識別される光ファイバに前記光ファイバ情報テーブルで対応づけられた経路を使用する原因とならない経路を優先して、転送経路を選択し、
前記転送経路に前記対象パケットを送信する
処理を転送装置に行わせることを特徴とする転送プログラム。
【請求項２】
前記１つ以上の代替経路は、前記最適経路に対応付けられた１つ以上の光ファイバに含まれる第１の光ファイバに対応付けられている第１の経路と、前記１つ以上の光ファイバに含まれない第２の光ファイバに対応付けられている第２の経路を含み、
前記ファイバ情報で識別される光ファイバが前記最適経路に対応付けられている場合、前記第１の経路よりも、前記第２の経路を優先的に前記転送経路に選択する
ことを特徴とする請求項１に記載の転送プログラム。
【請求項３】
前記最適経路に障害が発生し、かつ、前記最適経路を収容する光ファイバを識別する他のファイバ情報が前記対象パケットに含まれていない場合、障害が発生している可能性のある光ファイバを識別する情報として、前記他のファイバ情報を前記対象パケットに付加する
処理をさらに前記転送装置に行わせることを特徴とする請求項１または２の転送プログラム。
【請求項４】
前記転送装置に、
前記最適経路が使用可能であるかを判定し、
前記最適経路が使用可能であると判定すると、前記ファイバ情報で識別される光ファイバに前記最適経路が収容されていても、前記最適経路を前記転送経路として選択する
処理を行わせることを特徴とする請求項１〜３のいずれか１項に記載の転送プログラム。
【請求項５】
前記転送装置がセグメントルーティングを用いた転送処理を行う場合、前記対象パケットの転送先として指定する装置の情報を記録するセグメントリストから、前記ファイバ情報を特定する
処理を前記転送装置に行わせることを特徴とする請求項１〜４のいずれか１項に記載の転送プログラム。
【請求項６】
前記対象パケットの宛先として前記転送装置を指定した第１のセグメントリストに前記ファイバ情報が含まれる場合、前記対象パケットの転送先を指定する第２のセグメントリストに、前記ファイバ情報を記録する
処理を前記転送装置に行わせることを特徴とする請求項５に記載の転送プログラム。
【請求項７】
転送対象の対象パケットの宛先に至る最適経路に障害が発生した場合に、障害が発生している可能性のある光ファイバを識別するファイバ情報を前記対象パケットが含むかを判定し、
前記対象パケットが前記ファイバ情報を含む場合、転送処理に使用可能な複数の経路の各々を、当該経路を収容する光ファイバに対応付けた光ファイバ情報テーブルを参照し、
前記対象パケットの宛先に至る１つ以上の代替経路から、前記ファイバ情報で識別される光ファイバに前記光ファイバ情報テーブルで対応づけられた経路を使用する原因とならない経路を優先して、転送経路を選択し、
前記転送経路に前記対象パケットを送信する
処理を転送装置が行うことを特徴とする転送方法。
【請求項８】
転送処理に使用可能な複数の経路の各々を、当該経路を収容する光ファイバに対応付けた光ファイバ情報テーブルと、
転送対象である対象パケットの宛先に至る最適経路に障害が発生した場合に、障害が発生している可能性のある光ファイバを識別するファイバ情報を前記対象パケットが含むかを判定する判定部と、
前記対象パケットが前記ファイバ情報を含む場合、前記対象パケットの宛先に至る１つ以上の代替経路から、前記光ファイバ情報テーブル中で前記ファイバ情報によって識別される光ファイバに対応づけられた経路を使用する原因とならない経路を優先して、転送経路を選択する選択部と、
前記転送経路に前記対象パケットを送信する送信部
を備えることを特徴とする転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、転送プログラム、転送方法、および、転送装置に関する。
【背景技術】
【０００２】
光伝送ネットワークを用いてＩＰ（Internet Protocol）レイヤの通信を行うマルチレイヤネットワークが通信に使用されることがある。図１は、ネットワークの例を説明する図である。図１に示すネットワークでは、ＩＰレイヤの経路が光レイヤのＲＯＡＤＭ５（reconfigurable optical add/drop multiplexer、５ａ〜５ｄ）およびＲＯＡＤＭ５間を接続する光ファイバによって実現される。ＩＰレイヤでは、パケットの転送処理をルータ７（７ａ〜７ｄ）が行う。ルータ７によって形成されているＩＰネットワークは、インターネット３やＯＳＳ（Operation Support System）６にも接続され得る。さらに、ＩＰネットワークには、基地局４が接続されていてもよい。図１の例では、基地局４を介して、端末２（２ａ〜２ｃ）が通信している。なお、図１の例では、基地局４がルータ７ａに接続され、ＯＳＳ６とインターネット３がルータ７ｂに接続されているが、インターネット３、基地局４、および、ＯＳＳ６は、任意のルータ７に接続され得る。図１の例では、ルータ７の各々は、各ルータ７と破線で結んだＲＯＡＤＭ５に対応づけられており、ルータ７間の経路は各ルータ７に対応付けられたＲＯＡＤＭ５の間の光ファイバで実現される。
【０００３】
関連する技術として、ＩＰレイヤネットワークと光レイヤネットワークを統合管理するネットワークで、光パスの設定時などに光パスのコスト、始点ノードのＩＤ、終点ノードのＩＤなどを広告する方法が提案されている（例えば、特許文献１）。
【０００４】
さらに、障害発生時の高速な経路の切り替え方法として、セグメントルーティングを活用することが提案されている。例えば、セグメントルーティングを活用することにより、ＬＦＡ（Loop Free Alternative）と呼ばれる、ルータ間でのシグナリングやパスのステータス保持を伴わない高速切り替え（ＦＲＲ、Fast Reroute)が実現されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２３４８２４号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＩＰレイヤネットワークでは、障害が発生した場合に、ルータ７は通信を切断しないために経路を代替経路に切り替える。しかし、ルータ７が認識している代替経路も切り替え前の経路と同じ光ファイバで実現されている場合がある。このため、ＬＦＡを適用しても転送に失敗してしまい、高速な迂回処理が行われない場合がある。また、セグメントルーティングやＬＦＡを適用する場合以外でも、代替経路と切り替え前の経路が同じ光ファイバで実現されていることにより、経路の切り替えが高速に行われない可能性がある。
【０００７】
本発明は、１つの側面として、障害の発生個所からの高速な迂回処理を実現することを目的とする。
【課題を解決するための手段】
【０００８】
ある１つの態様にかかる転送プログラムは、転送装置で実行される。転送装置は、転送対象の対象パケットの宛先に至る最適経路に障害が発生した場合に、障害が発生している可能性のある光ファイバを識別するファイバ情報を前記対象パケットが含むかを判定する。転送装置は、前記対象パケットが前記ファイバ情報を含む場合、転送処理に使用可能な複数の経路の各々を、当該経路を収容する光ファイバに対応付けた光ファイバ情報テーブルを参照する。転送装置は、前記対象パケットの宛先に至る１つ以上の代替経路から、前記ファイバ情報で識別される光ファイバに前記光ファイバ情報テーブルで対応づけられた経路を使用する原因とならない経路を優先して、転送経路を選択し、前記転送経路に前記対象パケットを送信する。
【発明の効果】
【０００９】
障害の発生個所からの高速な迂回処理を実現できる。
【図面の簡単な説明】
【００１０】
【図１】ネットワークの例を説明する図である。
【図２】転送装置の動作の例を説明するフローチャートである。
【図３】転送装置の構成の例を説明するブロック図である。
【図４】転送装置のハードウェア構成の例を説明する図である。
【図５】パケットのフォーマットの例を説明する図である。
【図６】転送装置が保持するテーブルの例を説明する図である。
【図７】第１の実施形態でのネットワークの例を説明する図である。
【図８】第１の実施形態での転送処理の例を説明する図である。
【図９】第１の実施形態での転送処理の例を説明する図である。
【図１０】第１の実施形態での転送処理の例を説明する図である。
【図１１】転送装置の動作の例を説明するフローチャートである。
【図１２】実施形態にかかる転送装置が使用されない場合に発生する問題の例を説明する図である。
【図１３】第１の実施形態で使用される迂回経路の例を説明する図である。
【図１４】第２の実施形態でのネットワークの例を説明する図である。
【図１５】第２の実施形態での転送処理の例を説明する図である。
【図１６】第２の実施形態での転送処理の例を説明する図である。
【図１７】第２の実施形態での転送処理の例を説明する図である。
【図１８】第２の実施形態での転送処理の例を説明する図である。
【図１９】第２の実施形態での転送処理の例を説明する図である。
【図２０】第２の実施形態での転送処理の例を説明する図である。
【発明を実施するための形態】
【００１１】
以下の説明では、実施形態にかかる転送装置１０（図３）は、パケットの転送に使用可能な経路の各々について、その経路を収容する光ファイバを対応付けている光ファイバ情報テーブルを保持しているものとする。このため、転送装置１０は、転送装置１０間を結ぶ経路がいずれの光ファイバで実現されているかを認識できる。さらに、転送装置１０は、障害の発生している経路を実現している光ファイバを、障害が発生している可能性のある光ファイバとして特定し、他の転送装置１０に通知するために、特定した光ファイバの情報をパケットのヘッダなどに追加できる。
【００１２】
図２は、実施形態にかかる転送装置１０の動作の例を説明するフローチャートである。転送装置１０は、転送対象のパケットを受信すると（ステップＳ１）、転送対象のパケットの転送に使用可能な最適経路に障害があるかを判定する（ステップＳ２）。最適経路に障害が発生していない場合、転送装置１０は、転送対象のパケットを最適経路で転送する（ステップＳ２でＮｏ、ステップＳ３）。
【００１３】
最適経路に障害が発生している場合、転送装置１０は、最適経路を収容している光ファイバを、障害が発生している可能性のある光ファイバとして特定できる（ステップＳ２でＹｅｓ）。転送装置１０は、障害が発生している可能性のある光ファイバの情報が転送対象のパケットに含まれているかを判定する（ステップＳ４）。転送対象のパケットに障害が発生している可能性のある光ファイバの情報が含まれている場合、転送装置１０は、最適経路を収容する光ファイバの情報がパケットに含まれているかを判定する（ステップＳ４でＹｅｓ、ステップＳ５）。その後、転送装置１０は、障害が発生している可能性のある光ファイバを使用しない経路を優先的に、パケットの転送経路として選択する（ステップＳ７）。ここで、最適経路を収容する光ファイバの情報がパケットに含まれている場合（ステップＳ５でＹｅｓ）、最適経路を収容する光ファイバに障害が発生している可能性がある。このため、最適経路と同じ光ファイバに収容されている代替経路を用いても、転送先から宛先に向かう経路の途中で転送に失敗する可能性がある。そこで、ステップＳ７では、転送装置１０は、最適経路と同じ光ファイバに収容されている代替経路を、障害が発生している可能性がある光ファイバを使用する経路として扱っても良い。換言すると、転送装置１０は、障害が発生している光ファイバに対応付けられた経路を使用する原因とならない経路を、優先的に転送経路に選択する。ここで、障害が発生している可能性のある光ファイバに対応付けられていないが、障害が発生した最適経路と同じ光ファイバに収容されている代替経路は、障害が発生している光ファイバに対応付けられた経路を使用する原因となる経路であるといえる。すなわち、障害が発生している光ファイバに対応付けられた経路を使用する原因とならない経路は、障害が発生している可能性のある光ファイバに対応付けられておらず、かつ、障害が発生した最適経路と同じ光ファイバに収容されていない代替経路である。転送装置１０は、選択した経路を用いてパケットを転送する（ステップＳ８）。
【００１４】
最適経路を収容する光ファイバの情報がパケットに含まれていない場合、転送装置１０は、最適経路を収容する光ファイバの情報を、障害が発生している可能性のある光ファイバの情報としてパケットに追加する（ステップＳ５でＮｏ、ステップＳ６）。その後、転送装置１０は、ステップＳ７、Ｓ８の処理を行う。なお、障害が発生している可能性のある光ファイバの情報が転送対象のパケットに含まれていない場合も、ステップＳ６以降の処理が行われる（ステップＳ４でＮｏ）。
【００１５】
このように、転送装置１０は、最適経路に障害が発生しているため代替の経路を選択する場合、障害の発生している可能性のあるファイバを使用する経路の優先度を低くする。さらに、転送装置１０は、最適経路と同じ光ファイバに収容されている代替経路を、障害の発生している可能性のあるファイバを使用する経路として扱うことで、自装置の転送処理後に他の転送装置１０が転送処理に失敗する可能性を低くすることができる。従って、転送装置１０を用いると、最適経路の代替として選択した代替経路が障害の発生している光ファイバを使用していることによりパケット転送に失敗するという事態を避けやすくなる。このため、実施形態にかかる転送装置１０を用いると、ルーティングプロトコルによる経路情報の交換や経路の再計算が行われる前であっても、障害の発生個所を迂回して、迅速に経路を切り替えることができる。
【００１６】
なお、最適経路の障害がＩＰレイヤでの設定上の問題である場合など、経路の障害が光ファイバの障害に起因しない場合もある。このため、転送装置１０は、障害の発生している可能性のある光ファイバの情報がパケットに含まれるかにかかわらず、ステップＳ２、Ｓ３に示すように、最適経路を介した転送処理が可能な場合は最適経路を介した転送処理を行う。
【００１７】
＜装置構成＞
図３は、転送装置１０の構成の例を説明するブロック図である。以下、転送装置１０がセグメントルーティングを行うルータである場合を例として説明する。転送装置１０は、例えば、ＳＲｖ６（Segment Routing IPv6）、ＳＲ−ＭＰＬＳ（Multi-Protocol Label Switching）などのプロトコルを使用して転送処理を行うものとする。転送装置１０は、通信部２０、制御部３０、および、記憶部４０を備える。記憶部４０は、ルーティングテーブル４１、光ファイバ情報テーブル４２、ビット列テーブル４３、および、ＳＩＤ（Segment IDentifier）テーブル４４を保持する。
【００１８】
ルーティングテーブル４１は、転送装置１０が使用可能な転送経路をパケットの宛先ネットワークごとに記録する。ルーティングテーブル４１は、１つの宛先ネットワークに対して複数の経路を保持していてもよい。１つの宛先ネットワークに対して複数の経路が記録される場合、１つの経路が最適経路として記録されている。光ファイバ情報テーブル４２は、ルーティングテーブル４１に記録されている経路で使用される転送先のリンクの各々について、その経路が収容されている光ファイバの情報を記録する。ビット列テーブル４３は、光ファイバの情報をパケットに書き込む際に使用するビット列を光ファイバの識別子に対応付けている。ＳＩＤテーブル４４は、セグメントルーティングによって転送処理を行うためのＳＩＤの設定を記録する。ルーティングテーブル４１、光ファイバ情報テーブル４２、ビット列テーブル４３、および、ＳＩＤテーブル４４の例は後述する。
【００１９】
通信部２０は、送信部２１と受信部２２を有する。送信部２１は、他の転送装置１０、基地局４、端末２などの他の装置にパケットを送信する。受信部２２は、他の転送装置１０、基地局４、端末２などの他の装置からパケットを受信する。
【００２０】
制御部３０は、ＳＩＤ処理部３１、判定部３２、選択部３３、付加部３４を備える。ＳＩＤ処理部３１は、パケットのヘッダ中のＳＩＤの情報を処理する。判定部３２は、転送対象のパケットに障害の発生している可能性のあるファイバの情報が含まれているかを判定する。選択部３３は、パケットの転送に使用する経路を選択する。付加部３４は、パケットのヘッダに、障害の発生している可能性のあるファイバの情報を付加する。制御部３０で行われる処理の詳細は後述する。
【００２１】
図４は、転送装置１０のハードウェア構成の例を説明する図である。転送装置１０は、例えば、ルータとして実現され得る。転送装置１０は、制御カード１００、スイッチカード１１０、および、ラインカード１２０（１２０ａ、１２０ｂ）を備える。制御カード１００は、プロセッサ１０１、メモリ１０２、記憶装置１０３、および、内部通信用インタフェース１０４を備える。ラインカード１２０は、プロセッサ１２１（１２１ａ、１２１ｂ）、メモリ１２２（１２２ａ、１２２ｂ）、内部通信用インタフェース１２３（１２３ａ、１２３ｂ）、および、外部通信用インタフェース１２４（１２４ａ、１２４ｂ）を備える。
【００２２】
プロセッサ１０１およびプロセッサ１２１は、任意の処理回路であり、例えば、ＣＰＵ（Central Processing Unit）とすることができる。プロセッサ１０１は、メモリ１０２をワーキングメモリとして使用して、メモリ１０２や記憶装置１０３に記憶されたプログラムを実行することにより、様々な処理を実行する。プロセッサ１２１は、メモリ１２２をワーキングメモリとして使用して、メモリ１２２に記憶されたプログラムを実行することにより、様々な処理を実行する。メモリ１０２やメモリ１２２には、ＲＡＭ（Random Access Memory）が含まれ、さらに、ＲＯＭ（Read Only Memory）等の不揮発性のメモリも含まれる。メモリ１０２およびメモリ１２２は、プログラムを記憶するほか、プロセッサ１０１、プロセッサ１２１での処理に使用されるデータを格納する。記憶装置１０３は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ１０１などに提供する。内部通信用インタフェース１０４および内部通信用インタフェース１２３は、転送装置１０内での通信に使用される。外部通信用インタフェース１２４は、ネットワークを介した他の装置との通信に使用される。スイッチカード１１０は、制御カード１００、ラインカード１２０ａ、および、ラインカード１２０ｂを、互いにデータの入出力が可能になるように接続する。なお、図４は転送装置１０のハードウェア構成の一例であり、実装に応じて変更され得る。例えば、転送装置１０は、２つ以上のラインカード１２０を備えていてもよい。
【００２３】
転送装置１０において、制御部３０は、プロセッサ１０１によって実現される。記憶部４０は、メモリ１０２と記憶装置１０３によって実現される。通信部２０は、ラインカード１２０ａおよびラインカード１２０ｂによって実現される。
【００２４】
＜パケットおよびテーブルの例＞
図５は、パケットのフォーマットの例を説明する図である。以下の説明では、パケットがＩＰｖ６に従ったフォーマットである場合を例とする。
【００２５】
図５のＦ１は、パケットのフォーマットの例である。Ｆ１は、送信元の装置のアドレスがＡ１：：であり、パケットの最終的な宛先のアドレス（Ａ４：：）に向けて、セグメントルーティングを用いて転送処理が行われる場合のパケットの例を示す。
【００２６】
パケットは、ＩＰｖ６ヘッダ、ＳＲヘッダ、および、ペイロードを備える。ＩＰｖ６ヘッダには、バージョン、トラフィッククラス、フローラベル、ペイロード長、ネクストヘッダ（Ｎｅｘｔ）、ホップリミット、送信元アドレス、および、宛先アドレスが含まれる。ネクストヘッダは、ＩＰｖ６ヘッダの直後に続くヘッダのタイプを識別する。図５の例では、ＩＰｖ６ヘッダの直後にＳＲヘッダが続いていることを示す値（Ｎｅｘｔ＝４３）にネクストヘッダが設定されている。ＩＰｖ６ヘッダ中の宛先アドレスは、処理対象となるセグメントリストに記録されている転送先の装置のアドレスに設定される。以下の説明では、処理対象のセグメントリストのことを、「アクティブになっているセグメントリスト」、「アクティブなセグメントリスト」などと記載することがある。図５の例では、セグメントリスト［２］がアクティブなセグメントリストであるので、ＩＰｖ６ヘッダ中の宛先アドレスはセグメントリスト［２］に指定されたアドレス（Ａ２：：）に設定されている。
【００２７】
ＳＲヘッダは、ネクストヘッダ（Ｎｅｘｔ  Ｈｅａｄｅｒ）、ヘッダ長（Ｌｅｎ）、タイプ、Ｓｅｇｍｅｎｔ―Ｌｅｆｔ（ＳＬ）、Ｌａｓｔ  Ｅｎｔｒｙ、フラグ、タグ、セグメントリストを含む。ネクストヘッダフィールドには、ＳＲヘッダの次に続くヘッダの情報が記録される。ヘッダ長フィールドには、ＳＲヘッダの長さが記録される。タイプフィールドには、ルーティングタイプが記録される。図５の例ではＴｙｐｅ＝４に設定されている。Ｓｅｇｍｅｎｔ―Ｌｅｆｔは、アクティブなセグメントリストのインデックス値を表す。なお、セグメントリストのインデックス値は、［２］などのように、ブラケットで囲んだ数値として示す。Ｌａｓｔ  Ｅｎｔｒｙは、セグメントリストのインデックスの最大値を示す。図５の例では、Ｓｅｇｍｅｎｔ  Ｌｉｓｔ［２］が最後のインデックスであるので、Ｌａｓｔ  Ｅｎｔｒｙ＝２が設定されている。各セグメントリストには、ＳＩＤが記録される。
【００２８】
Ｆ２にＳＩＤのフォーマットの例を示す。ＳＩＤは１２８ビットであり、Ｌｏｃａｔｏｒフィールド（Ｆ３）とＦｕｎｃｔｉｏｎフィールド（Ｆ４）を含む。なお、図５の例では、Ｆｕｎｃｔｉｏｎフィールド（Ｆ４）にパケットの受信時のＡｃｔｉｏｎを指定する領域とＦｕｎｃｔｉｏｎに引き渡される引数を記録する領域（Ａｒｇｕｍｅｎｔフィールド）が含まれる。Ｌｏｃａｔｏｒフィールドには、転送先の転送装置１０を特定する情報が記録される。各Ｆｕｎｃｔｉｏｎフィールドには、障害が発生している可能性のある光ファイバの情報が記録される。
【００２９】
図６は、転送装置１０が保持するテーブルの例を示す。なお、以下の説明では、テーブルを格納している転送装置１０や動作を行っている転送装置１０を明確にするために、転送装置１０に割り当てられている符号の末尾のアルファベットを記載することがある。例えば、ルーティングテーブル４１Ａは、転送装置１０Ａが保持するルーティングテーブル４１である。同様に、ＳＩＤ処理部３１Ａは、転送装置１０Ａが備えるＳＩＤ処理部３１である。図６は、転送装置１０Ａが保持するテーブルを例として示すが、他の転送装置１０も転送装置１０Ａと同様の種類の情報を記録したテーブルを保持している。
【００３０】
ルーティングテーブル４１Ａには、ネットワークアドレスごとに、優先順、Ｎｅｘｔ−ｈｏｐ、リンクが記録される。ネットワークアドレスは、パケットの宛先アドレスに指定された装置が含まれるネットワークのアドレスである。１つのネットワークアドレスに対して複数の経路が登録される場合、経路の優先順位を表す情報として優先順が設定される。優先順の欄に設定される値が小さいほど、優先順位が高い経路である。Ｎｅｘｔ−ｈｏｐは、そのエントリの経路を使用する場合の転送先の転送装置１０に設定されたアドレスである。リンクはそのエントリの経路を使用する際にパケットが通過するリンクの情報である。以下の説明では、各リンクは、そのリンクの始点の転送装置１０に割り当てられたアルファベットの小文字と、リンクの終点の転送装置１０に割り当てられたアルファベットの小文字をハイフンでつないで示す。例えば、転送装置１０Ａと転送装置１０Ｅの間のリンクはａ−ｅと記載する。
【００３１】
ルーティングテーブル４１Ａの例では、ＮＷ−Ｘというネットワークのネットワークアドレスは２０１３：：／４８である。ＮＷ−Ｘに至る転送経路のうち、最も優先順位の高い最適経路（ｂｅｓｔ−ｐａｔｈ）では、転送先が転送装置１０Ｅ（２０１０：：１）であり、転送装置１０Ａはリンクａ−ｅにパケットを転送することになる。ＮＷ−Ｘに至る転送経路のうち、２番目に優先順位の高い経路（ｂａｃｋｕｐ）では、転送先が転送装置１０Ｂ（２０１１：：１）であり、転送装置１０Ａはリンクａ−ｂにパケットを転送することになる。同様に、ＮＷ−Ｘに至る転送経路のうち、３番目に優先順位の高い経路（２ｎｄ  ｂａｃｋｕｐ）では、転送先が転送装置１０Ｈ（２０１２：：１）であり、転送装置１０Ａはリンクｈ−ａにパケットを転送することになる。その他のネットワークについても、同様に１つ以上の経路がルーティングテーブル４１に登録され得る。
【００３２】
光ファイバ情報テーブル４２Ａは、各リンクについて、そのリンクを実現するために使用される光ファイバの情報を対応付ける。以下の説明では、２つの転送装置１０間の接続に使用される光ファイバを、各転送装置１０の符号中のアルファベットをハイフンでつないで示す。例えば、転送装置１０Ａと転送装置１０Ｂを接続する光ファイバはＡ−Ｂと記載する。光ファイバ情報テーブル４２Ａに示す例では、リンクａ−ｂは光ファイバＡ−Ｂによって実現される。一方、リンクａ−ｅは、光ファイバＡ−Ｂ、光ファイバＢ−Ｃ、光ファイバＣ−Ｄ、光ファイバＤ−Ｅの４本の光ファイバを用いて実現される。同様に、リンクｈ−ａは、光ファイバＡ−Ｈによって実現されている。図６の例ではリンクａ−ｂとリンクａ−ｅのいずれも光ファイバＡ−Ｂを使用するので、リンクａ−ｂとリンクａ−ｅは、同じ光ファイバに収容されているリンク同士であるといえる。
【００３３】
ビット列テーブル４３Ａは、各光ファイバについて、その光ファイバの情報をＳＩＤのＦａｎｃｔｉｏｎフィールドに書き込む際に使用するビット列を格納する。例えば、ビット列テーブル４３Ａの１番目のエントリは、光ファイバＡ−Ｂの情報を記録する際に「０００１」というビット列を用いることを表す。ビット列テーブル４３Ａの２番目のエントリは、光ファイバＢ−Ｃの情報を記録する際に「００１０」というビット列を用いることを表す。同様に、ビット列テーブル４３Ａの３番目のエントリは、光ファイバＣ−Ｄの情報を記録する際に「００１１」というビット列を用いることを表す。他の光ファイバに対応するビット列も、適宜、ビット列テーブル４３に格納される。
【００３４】
ＳＩＤテーブル４４Ａは、パケットの転送経路ごとにＳＩＤのＬｏｃａｔｏｒフィールドに指定する情報を記録する。ＳＩＤテーブル４４には、ネットワークアドレス、Ｎｅｘｔ−ｈｏｐ、ＳＩＤが含まれる。ＳＩＤテーブル４４には、ネットワークアドレスとＮｅｘｔ−ｈｏｐの組み合わせごとに、ＳＩＤの欄に、ＳＩＤのＬｏｃａｔｏｒフィールドに指定する情報が記録されている。例えば、ＳＩＤテーブル４４Ａの１番目のエントリでは、転送装置１０Ｂ（２０１１：：１）を経由してＮＷ−Ｘに至る経路では、ＳＩＤに転送装置１０Ｃの情報を記録することが格納されている。一方、ＳＩＤテーブル４４Ａの２番目のエントリでは、転送装置１０Ｈ（２０１２：：１）を経由してＮＷ−Ｘに至る経路では、ＳＩＤに転送装置１０Ｇの情報を記録することが格納されている。他の経路についても同様に、ＳＩＤに設定する情報がＳＩＤテーブル４４に記録される。
【００３５】
＜第１の実施形態＞
図７は、第１の実施形態でのネットワークの例を説明する図である。第１の実施形態では、転送装置１０Ａ〜１０Ｈと通信に使用されるリンクは図７に示すように設置されているとする。また、第１の実施形態では、転送装置１０ＡからＮＷ−Ｘに至る経路は、以下の３つの経路があるとする。
【００３６】
経路１：転送装置１０Ａから転送装置１０Ｅを介してＮＷ−Ｘに至る経路
経路２：転送装置１０Ａから転送装置１０Ｂ、転送装置１０Ｃ、転送装置１０Ｄ、転送装置１０Ｅを介してＮＷ−Ｘに至る経路
経路３：転送装置１０Ａから転送装置１０Ｈ、転送装置１０Ｇ、転送装置１０Ｆ、転送装置１０Ｅを介してＮＷ−Ｘに至る経路
なお、ルーティングテーブル４１Ａ（図６）に示すように、転送装置１０ＡからＮＷ−Ｘに至る経路は、経路１、経路２、経路３の順に優先順が設定されているとする。
【００３７】
図７に示すＩＰレイヤのネットワークを実現する光レイヤのネットワークをαに示す。光レイヤのネットワークには、ＲＯＡＤＭ５ａ〜５ｈが含まれている。以下の説明では、転送装置１０ＡはＲＯＡＤＭ５ａに対応しており、転送装置１０ＢはＲＯＡＤＭ５ｂに対応しているとする。同様に、転送装置１０ＣはＲＯＡＤＭ５ｃに対応し、転送装置１０ＤはＲＯＡＤＭ５ｄに対応する。転送装置１０ＥはＲＯＡＤＭ５ｅに対応し、転送装置１０ＦはＲＯＡＤＭ５ｆに対応する。さらに、転送装置１０ＧはＲＯＡＤＭ５ｇに対応し、転送装置１０ＨはＲＯＡＤＭ５ｈに対応するものとする。ＲＯＡＤＭ５ａ〜５ｈは、αに示すように、光ファイバで環状に接続されている。転送装置１０Ａと転送装置１０Ｅの間のリンクａ−ｅは、ＲＯＡＤＭ５ａ、ＲＯＡＤＭ５ｂ、ＲＯＡＤＭ５ｃ、ＲＯＡＤＭ５ｄ、ＲＯＡＤＭ５ｅの間を接続する光ファイバによって実現される。
【００３８】
以下の説明では、転送装置１０Ａは、図６に示す情報を保持しているとする。転送装置１０ＡからＮＷ−Ｘに至る経路について保持している情報は、Ｔ１に示すようにまとめることができる。転送経路の優先順、各転送経路でのＮｅｘｔ−ｈｏｐの転送装置１０、および、転送先のリンクの情報は、ルーティングテーブル４１Ａから引用している。ＳＩＤの情報は、ＳＩＤテーブル４４Ａにおいて、転送経路のＮｅｘｔ−ｈｏｐに対応付けられた情報である。「付加する光ファイバ情報」は、光ファイバ情報テーブル４２において最適経路（ｂｅｓｔ−ｐａｔｈ）中のリンクに対応付けられた光ファイバである。最適経路が使用されない場合、最適経路中のリンクに対応付けられた光ファイバは、障害が発生している可能性のある光ファイバとして特定され、ＳＩＤを用いて他の転送装置１０に通知される。なお、「付加する光ファイバ情報」は、２ｎｄ  Ｂａｃｋｕｐの経路など、Ｂａｃｋｕｐの経路以外の経路が使用される場合にも付加され得る。
【００３９】
Ｔ２は、ＮＷ−Ｘに至る経路に関する情報として転送装置１０Ｂが保持する情報の例である。Ｔ２の例では、転送装置１０Ｂは、ＮＷ−Ｘに至る最適経路でのＮｅｘｔ−ｈｏｐは転送装置１０Ａであり、リンクａ−ｂを用いることを記憶している。また、転送装置１０Ｂは、ｂａｃｋｕｐの経路として、Ｎｅｘｔ−ｈｏｐが転送装置１０Ｃであり、リンクｃ−ｄを用いることを記憶している。
【００４０】
Ｔ３は、ＮＷ−Ｘに至る経路に関する情報として転送装置１０Ｄが保持する情報の例である。転送装置１０Ｄは、ＮＷ−Ｘに至る最適経路でのＮｅｘｔ−ｈｏｐは転送装置１０Ｅであり、リンクｄ−ｅを用いることを記憶している。また、転送装置１０Ｄは、Ｂａｃｋｕｐの経路として、Ｎｅｘｔ−ｈｏｐが転送装置１０Ｃであり、リンクｃ−ｄを用いることを記憶している。さらに、転送装置１０Ｄは、Ｂａｃｋｕｐの経路を使用する場合に指定するＳＩＤが転送装置１０Ｂであることと、最適経路を使用しない場合に光ファイバＤ−Ｅの情報をパケットに付加することを記憶している。
【００４１】
図７以降でも同様に、説明の都合上、あるネットワークに至る経路に関して転送装置１０が保持している１つ以上のテーブル中の情報をまとめて示すことがある。この場合、いずれの転送装置１０が保持する情報も、転送先やリンクの情報はルーティングテーブル４１から引用されており、ＳＩＤの情報はＳＩＤテーブル４４から引用されている。付加する光ファイバの情報は、最適経路に含まれるリンクに対応付けられた光ファイバの情報として光ファイバ情報テーブル４２から特定される。
【００４２】
図８〜図１０は、第１の実施形態での転送処理の例を説明する図である。以下、図７に示すネットワークにおいて、転送装置１０Ｃに接続された装置からＮＷ−Ｘ中の装置を最終的な宛先とするパケットＰ１が転送された場合を例として、転送処理の例を説明する。以下の例では、転送装置１０は、最適経路とは異なる光ファイバに対応付けられた２ｎｄ  Ｂａｃｋｕｐ経路を使用する場合には、他の転送装置１０から通知された光ファイバの情報を通知しないものとする。
【００４３】
なお、以下の説明では、パケット中のセグメントリストでは、Ｌｏｃａｔｏｒフィールドで指定される転送装置１０を、「ＲＴ−」という文字列の後に転送装置１０の符号の末尾のアルファベットをつなげた文字列で表す。例えば、転送装置１０Ｅを、ＲＴ−Ｅと表わす。さらに、パケットのフォーマットは図５を参照しながら説明したとおりであるが、図を見やすくするために、以下の図では、パケット中の一部の要素を省略して図示することがある。また、図８以降では、アクティブになっているセグメントリストを太線で示す。
【００４４】
第１の実施形態では、βに示すように、ＲＯＡＤＭ５ｄとＲＯＡＤＭ５ｅの間を接続する光ファイバに障害が発生しているものとする。ＲＯＡＤＭ５ｄが転送装置１０Ｄに対応し、かつ、ＲＯＡＤＭ５ｅが転送装置１０Ｅに対応するので、βに示す状況下では転送装置１０Ｄと転送装置１０Ｅを結ぶ光ファイバＤ−Ｅに障害が発生している。このため、リンクｄ−ｅとリンクａ−ｅに障害が発生している。なお、ネットワーク中の各転送装置１０の選択部３３は、自装置に接続されているリンクでの障害の発生状況を認識しているものとする。
【００４５】
パケットＰ１の最終宛先はパケットＰ１中のセグメントリスト［０］に示すＮＷ−Ｘ中の装置である。なお、パケットＰ１では転送装置１０Ｅ（ＲＴ−Ｅ）の情報をＬｏｃａｔｏｒフィールドで指定するセグメントリスト［１］がアクティブになっているので、パケットＰ１のＩＰｖ６ヘッダ中の宛先アドレスは、転送装置１０Ｅのアドレスに設定されている。
【００４６】
転送装置１０Ｃの受信部２２ＣはパケットＰ１を受信する。選択部３３Ｃは、パケットＰ１の宛先アドレスが転送装置１０Ｅ（ＲＴ−Ｅ）であるので、ルーティングテーブル４１Ｃを参照することにより、転送装置１０Ｅのポートが属するネットワークへの転送経路を選択する。この例では、選択部３３Ｃは、転送装置１０Ｄを介して転送装置１０Ｅに至る経路を選択する。送信部２１ＣはパケットＰ１を転送装置１０Ｄに向けて転送するので、パケットＰ１は矢印Ａ１に示すように転送される。
【００４７】
転送装置１０Ｄの受信部２２ＤはパケットＰ１を受信する。選択部３３Ｄは、パケットＰ１の宛先アドレスが転送装置１０Ｅ（ＲＴ−Ｅ）であることを認識する。ここで、転送装置１０Ｄは、転送装置１０Ｅのポートが属するネットワークに至る経路の情報として、Ｔ１１に示す情報を保持しているとする。選択部３３Ｄは、最適経路に含まれるリンクｄ−ｅで障害が発生しているため、パケットの転送に最適経路を使用しないことを決定する。選択部３３Ｄは、最適経路を使用しないことを判定部３２Ｄに通知する。
【００４８】
判定部３２Ｄは、障害が発生している可能性のある光ファイバの情報として、最適経路に対応する光ファイバの情報がパケットＰ１のアクティブなセグメントリストに含まれているかを判定する。図８の例では、アクティブなセグメントリスト［１］には、障害が発生している可能性のある光ファイバの情報が含まれていない。換言すると、転送装置１０Ｄがリンクダウンを確認した最適経路のリンクに対応する光ファイバは、他の転送装置１０から障害が発生している可能性がある光ファイバとして通知されていない。判定部３２Ｄは、判定結果を選択部３３Ｄに通知する。
【００４９】
障害が発生している可能性のある光ファイバの情報が他の転送装置１０から通知されていないので、選択部３３Ｄは、Ｂａｃｋｕｐ経路を転送経路として選択する。選択部３３Ｄは、パケットＰ１の転送にＢａｃｋｕｐ経路を使用することを、ＳＩＤ処理部３１Ｄと付加部３４Ｄに通知する。
【００５０】
Ｂａｃｋｕｐの経路が転送経路となるので、ＳＩＤ処理部３１Ｄは、Ｔ１１に示す情報を用いて、転送装置１０Ｂを宛先とすることを決定する。ＳＩＤ処理部３１Ｄは、Ｌｏｃａｔｏｒフィールドに転送装置１０Ｂを示す情報（ＲＴ−Ｂ）を含むＳＩＤを、アクティブなセグメントリストとして追加する。さらに、ＳＩＤ処理部３１Ｄは、ＩＰｖ６ヘッダ中の宛先アドレスを転送装置１０Ｂのアドレス（ＲＴ−Ｂ）に設定する。
【００５１】
付加部３４Ｄは、最適経路であるリンクｄ−ｅに対応する光ファイバＤ―Ｅを、障害が発生している可能性のある光ファイバとして特定する。パケットＰ１には障害が発生している可能性のある光ファイバの情報が含まれていないと判定されているので、付加部３４Ｄは、アクティブなセグメントリストのＦｕｎｃｔｉｏｎフィールドに、光ファイバＤ―Ｅを識別する情報を追加する。このとき、付加部３４Ｄは、ビット列テーブル４３Ｄで光ファイバＤ−Ｅに対応付けられたビット列を、Ｆｕｎｃｔｉｏｎフィールドに格納する。ＳＩＤ処理部３１Ｄ、判定部３２Ｄ、付加部３４Ｄの処理により、パケットＰ１はパケットＰ２に示すように変換される。このため、パケットＰ２を受信する装置は、アクティブなセグメントリストとビット列テーブル４３Ｄを用いて、光ファイバＤ―Ｅを障害が発生している可能性のある光ファイバとして特定できる。送信部２１Ｄは、パケットＰ２を転送装置１０Ｃに向けて送信する。
【００５２】
転送装置１０Ｃの受信部２２ＣはパケットＰ２を受信する。選択部３３Ｃは、パケットＰ２の宛先アドレスが転送装置１０Ｂ（ＲＴ−Ｂ）であるので、ルーティングテーブル４１Ｃを参照することにより、転送装置１０Ｂのポートが属するネットワークへの転送経路を選択する。この例では、選択部３３Ｃは、隣接する転送装置１０Ｂにリンクｂ−ｃを介して転送する経路を選択したとする。送信部２１ＣはパケットＰ２を転送装置１０Ｂに向けて転送するので、パケットＰ２は矢印Ａ２に示すように転送される。
【００５３】
図９は図８の処理の後に行われる転送処理の例を示す。転送装置１０Ｂの受信部２２ＢはパケットＰ２を受信する。選択部３３Ｂは、転送装置１０Ｂ自身が宛先アドレスに設定されているので、自装置宛のパケットを受信したことをＳＩＤ処理部３１Ｂに通知する。ＳＩＤ処理部３１Ｂは、Ｓｅｇｍｅｎｔ―Ｌｅｆｔの値を１つデクリメントすることにより、セグメントリスト［１］をアクティブにする。さらに、ＳＩＤ処理部３１Ｂは、アクティブなセグメントリスト［１］のＦｕｎｃｔｉｏｎフィールドに、セグメントリスト［２］を用いて通知された光ファイバＤ−Ｅの情報を、障害が発生している可能性があるファイバの情報として格納する。セグメントリスト［１］のＬｏｃａｔｏｒフィールドに転送装置１０Ｅ（ＲＴ−Ｅ）の情報が格納されているので、ＳＩＤ処理部３１Ｂは、ＩＰｖ６ヘッダ中の宛先アドレスを転送装置１０Ｅのアドレスに変更する。これらの処理により、パケットＰ２は、パケットＰ３に示すように変換される。
【００５４】
ここで、転送装置１０Ｂは、転送装置１０Ｅに至る経路の情報として、Ｔ１２に示す情報を保持しているとする。選択部３３Ｂは、転送装置１０Ｅに至る最適経路がリンクａ−ｂを介した経路であることを特定する。最適経路に含まれるリンクａ−ｂに障害が発生していないので、選択部３３Ｂは、パケットＰ３の転送に最適経路を使用することを決定する。送信部２１Ｂは、パケットＰ３をリンクａ−ｂに出力するので、パケットＰ３は矢印Ａ３に示すように転送される。
【００５５】
図１０は図９の処理の後に行われる転送処理の例を示す。なお、以下の説明では処理を分かりやすくするためにビット列テーブル４３の参照について記載しない場合があるが、付加部３４やＳＩＤ処理部３１の処理の際に、適宜、ビット列テーブル４３が使用され得る。
【００５６】
転送装置１０Ａの受信部２２ＡはパケットＰ３を受信する。選択部３３Ａは、パケットＰ３の宛先アドレスが転送装置１０Ｅ（ＲＴ−Ｅ）であることを認識する。ここで、転送装置１０Ａは、転送装置１０Ｅのポートが属するネットワークに至る経路の情報として、Ｔ１３に示す情報を保持しているものとする。選択部３３Ａは、最適経路に含まれるリンクａ−ｅに障害が発生しているので、転送装置１０Ｅへのパケットの転送に最適経路を使用しないことを決定し、判定部３２Ａに通知する。
【００５７】
判定部３２Ａは、障害が発生している可能性のある光ファイバの情報として、最適経路に対応する光ファイバの情報がパケットＰ３のアクティブなセグメントリストに含まれているかを判定する。転送装置１０Ｅへの転送の際の最適経路（リンクａ−ｅ）は、図６の光ファイバ情報テーブル４２Ａに示すように、光ファイバＡ−Ｂ、光ファイバＢ−Ｃ、光ファイバＣ−Ｄ、光ファイバＤ−Ｅに対応付けられている。パケットＰ３のアクティブなセグメントリスト［１］に光ファイバＤ−Ｅの情報が記録されているので、最適経路に対応する光ファイバの情報がパケットＰ３を用いて通知されている。判定部３２Ａは、判定結果を選択部３３Ａに通知する。
【００５８】
最適経路に障害が発生し、かつ、障害が発生した可能性がある光ファイバとして最適経路に対応付けられた光ファイバの情報が含まれている場合、最適経路に対応付けられた光ファイバで障害が発生している可能性が高い。この場合、Ｂａｃｋｕｐ経路が最適経路と同じ光ファイバに収容されていると、Ｂａｃｋｕｐ経路を用いたとしても、転送先から最終宛先に向かう経路中で障害が発生する可能性がある。そこで、選択部３３Ａは、転送装置１０Ｅに至るＢａｃｋｕｐ経路が転送装置１０Ｅに至る最適経路と同じ光ファイバに収容されているかを判定する。光ファイバ情報テーブル４２Ａ（図６）では、Ｂａｃｋｕｐ経路中のリンクａ−ｂは光ファイバＡ−Ｂに対応付けられ、最適経路中のリンクａ−ｅは光ファイバＡ−Ｂ、光ファイバＢ−Ｃ、光ファイバＣ−Ｄ、光ファイバＤ−Ｅに対応付けられている。最適経路中のリンクとＢａｃｋｕｐ経路中のリンクの両方に共通して対応付けられた光ファイバがあるため、選択部３３Ａは、転送装置１０Ｅに至るＢａｃｋｕｐ経路と最適経路が同じ光ファイバに収容されていると判定する。
【００５９】
Ｂａｃｋｕｐ経路が最適経路と同じ光ファイバに収容されているので、選択部３３Ａは、パケットＰ３の転送に２ｎｄ  Ｂａｃｋｕｐ経路を使用することを決定する。選択部３３Ａは、パケットＰ３の転送に、２ｎｄ  Ｂａｃｋｕｐ経路を使用することを、ＳＩＤ処理部３１Ａに通知する。
【００６０】
ＳＩＤ処理部３１Ａは、Ｓｅｇｍｅｎｔ―Ｌｅｆｔの値を１つインクリメントすることにより、セグメントリスト［２］をアクティブにする。ＳＩＤ処理部３１Ａは、ＳＩＤテーブル４４Ａを参照して、２ｎｄ  Ｂａｃｋｕｐの経路を用いるときに設定する宛先が転送装置１０Ｇであることを特定する。ＳＩＤ処理部３１Ａは、アクティブなセグメントリスト［２］のＬｏｃａｔｏｒフィールドに転送装置１０Ｇを示す情報（ＲＴ−Ｇ）を格納し、ＩＰｖ６ヘッダ中の宛先アドレスを転送装置１０Ｇのアドレスに設定する。
【００６１】
パケットの転送処理に２ｎｄ  Ｂａｃｋｕｐ経路が使用されるので、アクティブなセグメントリスト［２］のＦｕｎｃｔｉｏｎフィールドには、光ファイバの情報は格納されない。このため、パケットＰ３は、パケットＰ４に示すように変換される。送信部２１Ａは、パケットＰ４を転送装置１０Ｈに向けて送信する。
【００６２】
転送装置１０Ｈの受信部２２ＨはパケットＰ４を受信する。選択部３３Ｈは、パケットＰ４の宛先アドレスが転送装置１０Ｇ（ＲＴ−Ｇ）であるので、ルーティングテーブル４１Ｈを参照することにより、転送装置１０Ｇのポートが属するネットワークへの転送経路を選択する。この例では、選択部３３Ｈは、隣接する転送装置１０Ｇにリンクｇ−ｈを介して転送する経路を選択したとする。送信部２１ＨはパケットＰ４を転送装置１０Ｇに向けて転送するので、パケットＰ４は矢印Ａ４に示すように転送される。
【００６３】
その後、転送装置１０Ｇの受信部２２Ｇは、パケットＰ４を受信する。選択部３３Ｇは、自装置宛のパケットを受信したことをＳＩＤ処理部３１Ｇに通知する。ＳＩＤ処理部３１Ｇは、Ｓｅｇｍｅｎｔ―Ｌｅｆｔの値を１つデクリメントすることにより、セグメントリスト［１］をアクティブにするとともに、ＩＰｖ６ヘッダ中の宛先アドレスを転送装置１０Ｅのアドレスに設定して転送する。なお、セグメントリスト［２］には障害の発生している可能性のある光ファイバの情報が含まれないため、セグメントリスト［１］にも障害が発生している可能性がある光ファイバの情報は格納されない。
【００６４】
転送装置１０Ｇから転送されたパケットは、転送装置１０Ｆを介して転送装置１０Ｅに到達する。なお、転送装置１０Ｆで行われる転送処理は、転送装置１０Ｈでの転送処理と同様である。転送装置１０Ｅが転送装置１０Ｇと同様の処理を行うことにより、パケットのセグメントリスト［０］がアクティブに設定され、ＩＰｖ６ヘッダ中の宛先アドレスも最終宛先であるＮＷ−Ｘ中の装置のアドレスに設定される。
【００６５】
図１１は、転送装置１０の動作の例を説明するフローチャートである。図１１の例では、Ｂａｃｋｕｐ経路と２ｎｄ  Ｂａｃｋｕｐ経路の両方がリンクアップしている場合に行われる処理を説明する。
【００６６】
受信部２２は、パケットを受信する（ステップＳ１１）。選択部３３は、ＩＰｖ６ヘッダを参照することにより、自装置が宛先であるかを判定する（ステップＳ１２）。自装置が宛先である場合、ＳＩＤ処理部３１は、Ｓｅｇｍｅｎｔ―Ｌｅｆｔの値（ＳＬ）を１つデクリメントした後で、セグメントリスト［ＳＬ］をアクティブなセグメントリストとする（ステップＳ１３）。ステップＳ１３において、ＳＩＤ処理部３１は、アクティブなセグメントリスト中のＬｏｃａｔｏｒフィールドに格納されている装置に割り当てられたアドレスを、ＩＰｖ６ヘッダの宛先アドレスに設定する。その後、判定部３２は、パケットの受信時にアクティブであったセグメントリスト［ＳＬ＋１］が光ファイバ情報を含んでいるかを判定する（ステップＳ１４）。パケットの受信時にアクティブであったセグメントリスト［ＳＬ＋１］が光ファイバ情報を含んでいる場合、ＳＩＤ処理部３１は、通知された光ファイバ情報を、現在アクティブなセグメントリスト［ＳＬ］のＦｕｎｃｔｉｏｎフィールドにコピーする（ステップＳ１４でＹｅｓ、ステップＳ１５）。
【００６７】
ステップＳ１５の処理後、選択部３３は転送先への最適経路（ｂｅｓｔ−ｐａｔｈ）がリンクアップしているかを判定する（ステップＳ１６）。ｂｅｓｔ−ｐａｔｈがリンクアップしている場合、選択部３３はｂｅｓｔ−ｐａｔｈでパケットを転送することを決定する（ステップＳ１６でＹｅｓ、ステップＳ１７）。なお、ステップＳ１７において、選択部３３は、最適経路がリンクアップしている場合には、最適経路のリンクに対応する光ファイバに障害が発生している可能性があることが通知されていても最適経路を使用することを決定する。なお、転送装置１０は、障害の発生している可能性のあるファイバの情報を転送対象のパケットから除去しない。このため、パケットを受信した転送装置１０は、その装置での転送の最適経路に障害が発生すると、パケットに含まれているファイバの情報を用いて、代替経路を選択することができる。
【００６８】
一方、ｂｅｓｔ−ｐａｔｈがリンクアップしていない場合、判定部３２は、ｂｅｓｔ−ｐａｔｈのリンクに対応する光ファイバ情報がアクティブなセグメントリスト内に存在するかを判定する（ステップＳ１６でＮｏ、ステップＳ１８）。なお、自装置宛のパケットを受信した場合であっても、ステップＳ１４、Ｓ１５の処理により、通知されたファイバの情報がアクティブなセグメントリスト内にコピーされている。このため、障害が発生している可能性のある光ファイバの情報が他の転送装置１０から通知された場合には、ステップＳ１８の処理時点において、アクティブなセグメントリスト内に光ファイバの情報が含まれている。
【００６９】
ｂｅｓｔ−ｐａｔｈのリンクに対応する光ファイバ情報がアクティブなセグメントリスト内に存在しない場合、自装置がリンクダウンを確認したリンクに対応する光ファイバの情報がパケットに含まれていない（ステップＳ１８でＮｏ）。選択部３３は、Ｂａｃｋｕｐ経路のリンクがリンクアップしているので、Ｂａｃｋｕｐ経路を用いることを決定する。ＳＩＤ処理部３１は、Ｓｅｇｍｅｎｔ―Ｌｅｆｔの値（ＳＬ）を１つインクリメントした後で、セグメントリスト［ＳＬ］をアクティブなセグメントリストとする。さらに、ＳＩＤ処理部３１は、セグメントリスト［ＳＬ］にＢａｃｋｕｐ経路を指定する宛先の情報と、ｂｅｓｔ−ｐａｔｈのリンクに対応する光ファイバの情報を記録する（ステップＳ２３）。ＳＩＤ処理部３１は、ＩＰｖ６ヘッダ中の宛先アドレスを、セグメントリスト［ＳＬ］のＬｏｃａｔｏｒフィールドに格納した宛先に割り当てられたアドレスに更新する。その後、送信部２１は、Ｂａｃｋｕｐ経路を用いてパケットを転送する（ステップＳ２４）。
【００７０】
ｂｅｓｔ−ｐａｔｈのリンクに対応する光ファイバ情報がアクティブなセグメントリスト内に存在する場合、自装置がリンクダウンを確認したリンクに対応する光ファイバの情報がパケットに含まれている（ステップＳ１８でＹｅｓ）。すなわち、自装置を含む複数の転送装置１０によって、自装置のｂｅｓｔ−ｐａｔｈのリンクに対応する光ファイバに障害が発生している可能性があることが確認されたことになる。この場合、光ファイバに障害が発生している可能性が高いので、Ｂａｃｋｕｐ経路がｂｅｓｔ−ｐａｔｈと同じ光ファイバに収容されている場合、Ｂａｃｋｕｐ経路を用いてもパケットの転送に失敗する可能性が高いといえる。そこで、判定部３２は、Ｂａｃｋｕｐ経路のリンクに対応する光ファイバの情報が、ｂｅｓｔ−ｐａｔｈのリンクに対応する光ファイバ情報に含まれるかを判定する（ステップＳ１９）。Ｂａｃｋｕｐ経路のリンクに対応する光ファイバの情報が、ｂｅｓｔ−ｐａｔｈのリンクに対応する光ファイバ情報に含まれていない場合、Ｂａｃｋｕｐ経路はｂｅｓｔ−ｐａｔｈと同じ光ファイバに収容されていない（ステップＳ１９でＮｏ）。そこで、選択部３３は、Ｂａｃｋｕｐ経路を用いて転送処理を行うことを決定する。このため、ステップＳ２３以降の処理が行われる。
【００７１】
一方、Ｂａｃｋｕｐ経路のリンクに対応する光ファイバの情報が、ｂｅｓｔ−ｐａｔｈのリンクに対応する光ファイバ情報に含まれる場合、Ｂａｃｋｕｐ経路はｂｅｓｔ−ｐａｔｈと同じ光ファイバを使用している（ステップＳ１９でＹｅｓ）。この場合、Ｂａｃｋｕｐ経路を用いてパケットを転送先まで転送できたとしても、転送先の装置からパケットの最終宛先に至る経路においてパケットの転送に失敗する可能性がある。そこで、選択部３３は、Ｂａｃｋｕｐ経路とは異なる２ｎｄ  Ｂａｃｋｕｐ経路が存在するかを判定する（ステップＳ２０）。２ｎｄ  Ｂａｃｋｕｐ経路が存在する場合、選択部３３は、２ｎｄ  Ｂａｃｋｕｐ経路を転送経路として選択する（ステップＳ２０でＹｅｓ）。ＳＩＤ処理部３１は、Ｓｅｇｍｅｎｔ―Ｌｅｆｔの値（ＳＬ）を１つインクリメントした後で、セグメントリスト［ＳＬ］をアクティブなセグメントリストとする。さらに、ＳＩＤ処理部３１は、セグメントリスト［ＳＬ］に２ｎｄ  Ｂａｃｋｕｐ経路を指定する宛先の情報を記録する（ステップＳ２１）。さらに、ＳＩＤ処理部３１は、ＩＰｖ６ヘッダ中の宛先アドレスを、セグメントリスト［ＳＬ］のＬｏｃａｔｏｒフィールドに格納した宛先に割り当てられたアドレスに更新する。その後、送信部２１は、２ｎｄ  Ｂａｃｋｕｐ経路を用いてパケットを転送する（ステップＳ２３）。なお、ステップＳ２１では、ｂｅｓｔ−ｐａｔｈのリンクに対応する光ファイバの情報を記録していない。これは、ｂｅｓｔ−ｐａｔｈとは異なる光ファイバに収容されている可能性が高い経路を使用することから、自装置がリンクダウンを確認したリンクに対応する光ファイバの情報が他の転送装置１０での転送経路を決定する際に使用されない可能性が高いためである。
【００７２】
一方、２ｎｄ  Ｂａｃｋｕｐ経路が存在しない場合、選択部３３は、Ｂａｃｋｕｐ経路を使用してパケットを転送することを決定する（ステップＳ２０でＮｏ）。すると、ステップＳ２３以降の処理が行われる。
【００７３】
ステップＳ１２において宛先が自装置ではないと判定された場合（ステップＳ１２でＮｏ）も、ステップＳ１６以降の処理が行われる。また、ステップＳ１４において、パケットの受信時にアクティブであったセグメントリスト［ＳＬ＋１］が光ファイバ情報を含んでいないと判定された場合（ステップＳ１４でＮｏ）も、ステップＳ１６以降の処理が行われる。
【００７４】
図１２は、実施形態にかかる転送装置１０が使用されない場合に発生する問題の例を説明する図である。実施形態にかかる転送装置１０を用いていない場合、障害が発生してからＩＧＰ（Interior Gateway Protocol）などによる経路の再計算と切り替えが行われるまでは、セグメントルーティングでパケットを迂回させる。しかし、セグメントルーティングを用いても、ルータ７は自装置に接続されたリンク以外の情報は、他のルータ７との間の通信によりルーティング情報が更新されるまでは認識しない。このため、セグメントルーティングを用いても、ループが発生するなどの理由によりパケットの転送に失敗する可能性がある。
【００７５】
例えば、ネットワークＮ１は、ネットワークＮ２に示すＲＯＡＤＭ５ａ〜５ｈに対応付けられたルータ７ａ〜７ｈによって形成されたネットワークの例である。図１２の例では、ＲＯＡＤＭ５ｄとＲＯＡＤＭ５ｅの間の光ファイバに障害が発生している。ＲＯＡＤＭ５ｄとＲＯＡＤＭ５ｅの間の光ファイバには、ルータ７ａとルータ７ｅの間のリンクとルータ７ｄとルータ７ｅの間のリンクが収容されている。このため、ネットワークＮ１に示すように、ルータ７ａとルータ７ｅの間のリンクとルータ７ｄとルータ７ｅの間のリンクの両方がリンクダウンしている。
【００７６】
ネットワークＮ１において、ルータ７ｅ宛のパケットがルータ７ｃに転送されてきたとする（矢印Ａ１１）。ルータ７ｃは、パケットをルータ７ｄに転送する（矢印Ａ１２）。ルータ７ｄとルータ７ｅの間のリンクがリンクダウンしているので、ルータ７ｄは、ルータ７ｅ宛のパケットの宛先をルータ７ｂに変更した上で、変更後のパケットをバックアップ経路での転送先であるルータ７ｃへ転送する（矢印Ａ１３）。すなわち、ルータ７ｄは、ルータ７ｃから最終宛先であるルータ７ｅに向けた転送が行われると予測している。ルータ７ｄから転送されたパケットは、矢印Ａ１２に示すように、ルータ７ｃを介してルータ７ｂに転送される。ルータ７ｂはこの時点ではリンク７ａとルータ７ｅの間の障害の情報を有さないので、ルータ７ｅ宛のパケットを、ルータ７ｅを宛先としてルータ７ａに転送したとする（矢印Ａ１４）。ルータ７ａはルータ７ｅ宛のパケットを受信した時点でも、まだ、リンク７ｄとルータ７ｅの間の障害の情報を有していないとする。すると、ルータ７ａは、ルータ７ｅへのｂｅｓｔ−ｐａｔｈがリンクダウンしているので、Ｂａｃｋｕｐ経路としてルータ７ｃを宛先としたセグメントルーティングを行う（矢印Ａ１５）。ルータ７ｃはルータ７ｅ宛のパケットを受信した時点でも、まだ、リンク７ｄとルータ７ｅの間の障害の情報を有していないとする。すると、ルータ７ｃはルータ７ｅ宛のパケットをルータ７ｄに転送してしまう。このため、矢印Ａ１２〜Ａ１５で示すループが発生してしまう。矢印Ａ１２〜Ａ１５で示すループでのパケットの転送経路を光ファイバ単位で図示すると、ネットワークＮ２に示すとおりになる。このループは、経路の再計算と切り替えが行われるまで解消されない。その結果、経路の再計算と切り替えが行われるまでは、ルータ７ｃの接続先とルータ７ｅの接続先の間の通信が途絶するおそれがある。
【００７７】
図１３は、第１の実施形態で使用される迂回経路の例を説明する図である。図１３は、図８〜図１０を参照しながら説明した迂回経路をまとめて示している。実施形態にかかる転送装置１０は、最適経路（ｂｅｓｔ−ｐａｔｈ）の代わりにＢａｃｋｕｐ経路を用いる場合、最適経路を収容している光ファイバの情報を、障害が発生している可能性のある光ファイバとしてパケットに含める。このため、矢印Ａ１に示す経路で転送装置１０Ｄに転送されたパケットＰ１（図８）をリンクｄ−ｅの障害に起因して転送装置１０Ｂ宛てに転送する際に、転送装置１０Ｄは、光ファイバＤ−Ｅの情報をパケットＰ２に示すように追加する。パケットＰ２が矢印Ａ２に示す経路で転送装置１０Ｂに転送されると、転送装置１０Ｂでの処理により、アクティブなセグメントリストがセグメントリスト［１］に更新されるので、転送装置１０Ｅ宛のパケットＰ３が生成される。このとき、転送装置１０ＢのＳＩＤ処理部３１Ｂは、セグメントリスト［２］で通知された光ファイバＤ−Ｅの情報をセグメントリスト［１］にコピーする。このため、矢印Ａ３に示す経路でパケットＰ３を受信した転送装置１０Ａは、光ファイバＤ−Ｅで障害が発生している可能性があることを認識できる。換言すると、転送装置１０Ａは、ルーティングプロトコルによる経路情報の交換前に、パケットＰ３を受信することにより、障害の発生している可能性がある光ファイバの情報を取得することができる。
【００７８】
転送装置１０Ａは、最適経路であるリンクａ−ｅを収容している光ファイバＤ−Ｅで障害が発生している可能性があることから、Ｂａｃｋｕｐ経路が最適経路と同じ光ファイバに収容されているかも判定する。転送装置１０Ａは、Ｂａｃｋｕｐ経路が最適経路と同じ光ファイバに収容されていると判定すると、Ｂａｃｋｕｐ経路を用いてもパケットが最終宛先に届かないおそれがあると判定する。すなわち、転送装置１０Ａは、Ｂａｃｋｕｐ経路を用いたときのパケットの転送先である転送装置１０Ｂまでパケットを転送できても、転送装置１０Ｂから転送装置１０Ｅに至る経路で、リンクａ−ｅの障害と同じ原因で転送に失敗するおそれがあると認識できる。このため、転送装置１０Ａは、障害の発生している可能性がある光ファイバを、転送装置１０Ａと他の転送装置１０のいずれも使用しないで済む可能性が高い経路である２ｎｄ  Ｂａｃｋｕｐ経路を、転送先として優先的に選択している。２ｎｄ  Ｂａｃｋｕｐ経路を用いて転送されたパケットＰ４は、障害が発生している光ファイバを迂回して転送されるので、転送装置１０Ｅに到達し得る。
【００７９】
このように、第１の実施形態によると、ルーティングプロトコルによる経路情報の交換前であっても、障害が発生している可能性のある光ファイバを含まない経路が優先的に選択される。さらに、障害が発生している可能性のある光ファイバに対応付けられていない経路であっても、障害の発生している最適経路に対応付けられた光ファイバと同じ光ファイバに対応付けられた経路も優先的に選択されない。つまり、障害が発生している可能性のある光ファイバを使用する原因となり得る経路は、優先的に選択されない。このため、最適経路と同じ光ファイバに収容されている代替の経路を選択することにより、最適経路の障害の原因となっている光ファイバの障害によって、代替えの経路を用いても転送処理に失敗するという事態が回避されやすくなる。従って、転送装置１０を用いたネットワークでは、ルーティングプロトコルによる経路情報の交換や再計算の前に、経路の切り替えが迅速に行われる。
【００８０】
＜第２の実施形態＞
図１４は、第２の実施形態でのネットワークの例を説明する図である。第２の実施形態では、第１の実施形態と同様に、転送装置１０Ａ〜１０Ｈが環状に接続されているが、転送装置１０Ｂが転送装置１０Ｅ宛のパケットを受信する。一方、転送装置１０Ｃは転送装置１０Ｂおよび転送装置１０Ｄ以外からパケットを受信しないとする。転送装置１０Ａ〜１０ＨとＲＯＡＤＭ５ａ〜５ｈの対応関係は、第１の実施形態と同様である。ＲＯＡＤＭ５ａ〜５ｈとＲＯＡＤＭ５間を接続する光ファイバの設置状況は、図１４中のγに示すとおりである。従って、リンクａ−ｅは、光ファイバＡ−Ｂ、光ファイバＢ−Ｃ、光ファイバＣ−Ｄ、および、光ファイバＤ−Ｅに収容されている。また、リンクａ−ｂは光ファイバＡ−Ｂ、リンクｂ−ｃは光ファイバＢ−Ｃ、リンクｃ−ｄは光ファイバＣ−Ｄ、リンクｄ−ｅは光ファイバＤ−Ｅに収容されている。さらに、転送装置１０Ａは、転送装置１０Ｅのポートが属するネットワークへの経路に関する情報としてＴ２１に示す情報を有する。転送装置１０Ｂは、転送装置１０Ｅのポートが属するネットワークへの経路に関する情報として、Ｔ２２に示す情報を有する。さらに、転送装置１０Ｃ、転送装置１０Ｄは、それぞれ、転送装置１０Ｅのポートが属するネットワークへの経路に関する情報として、Ｔ２３、Ｔ２４に示す情報を有する。なお、Ｔ２１〜Ｔ２４に示す情報も、第１の実施形態と同様に、各転送装置１０が備えるルーティングテーブル４１、光ファイバ情報テーブル４２、ＳＩＤテーブル４４から導かれる。
【００８１】
図１５〜図２０は、第２の実施形態での転送処理の例を説明する図である。第２の実施形態でも、δに示すように、ＲＯＡＤＭ５ｄとＲＯＡＤＭ５ｅの間を接続する光ファイバに障害が発生したとする。ＲＯＡＤＭ５ｄが転送装置１０Ｄに対応し、かつ、ＲＯＡＤＭ５ｅが転送装置１０Ｅに対応するので、δに示す状況下では転送装置１０Ｄと転送装置１０Ｅを結ぶ光ファイバＤ−Ｅに障害が発生している。このため、リンクｄ−ｅとリンクａ−ｅに障害が発生している。なお、ネットワーク中の各転送装置１０の選択部３３は、自装置に接続されているリンクでの障害の発生状況を認識している。
【００８２】
図１５では、転送装置１０ＢがパケットＰ１１を受信する。選択部３３Ｂは、パケットＰ１１の宛先アドレスが転送装置１０Ｅ（ＲＴ−Ｅ）であり、転送装置１０Ｅへの最適経路（Ｔ２２のｂｅｓｔ−ｐａｔｈ）がリンクアップしているので、転送装置１０Ａを介して転送装置１０Ｅに至る経路を選択する。送信部２１ＢはパケットＰ１１を転送装置１０Ａに向けてリンクａ−ｂに出力するので、パケットＰ１１は矢印Ａ２１に示すように転送される。
【００８３】
図１６は、図１５の処理の後に行われる転送処理の例を示す。転送装置１０Ａの受信部２２ＡはパケットＰ１１を受信する。選択部３３Ａは、パケットＰ１１の宛先アドレスが転送装置１０Ｅ（ＲＴ−Ｅ）であることを認識する。ここで、転送装置１０Ａは、転送装置１０Ｅのポートが属するネットワークに至る経路の情報として、Ｔ２１に示す情報を保持している。選択部３３Ａは、最適経路に含まれるリンクａ−ｅで障害が発生しているため、パケットの転送に最適経路を使用しないことを決定する。選択部３３Ａは、最適経路を使用しないことを判定部３２Ａに通知する。
【００８４】
判定部３２Ａは、障害が発生している可能性のある光ファイバの情報として、最適経路に対応する光ファイバの情報がパケットＰ１１のアクティブなセグメントリストに含まれているかを判定する。パケットＰ１１（図１５）のアクティブなセグメントリスト［１］には、障害が発生している可能性のある光ファイバの情報が含まれていない。つまり、転送装置１０Ａがリンクダウンを確認した最適経路のリンクに対応する光ファイバは、他の転送装置１０から障害が発生している可能性がある光ファイバとして通知されていない。判定部３２Ａは、判定結果を選択部３３Ａに通知する。
【００８５】
障害が発生している可能性のある光ファイバの情報が他の転送装置１０から通知されていないので、選択部３３Ａは、Ｂａｃｋｕｐ経路を転送経路として選択する。選択部３３Ａは、パケットＰ１１の転送にＢａｃｋｕｐ経路を使用することを、ＳＩＤ処理部３１Ａと付加部３４Ａに通知する。
【００８６】
Ｂａｃｋｕｐの経路が転送経路となるので、ＳＩＤ処理部３１Ａは、ＳＩＤテーブル４４Ａを参照して、転送装置１０Ｃを宛先とすることを決定する。ＳＩＤ処理部３１Ａは、Ｌｏｃａｔｏｒフィールドに転送装置１０Ｃを示す情報（ＲＴ−Ｃ）を含むＳＩＤをアクティブなセグメントリストとして追加する。さらに、ＳＩＤ処理部３１Ａは、ＩＰｖ６ヘッダ中の宛先アドレスを転送装置１０Ｃのアドレス（ＲＴ−Ｃ）に設定する。
【００８７】
付加部３４Ａは、最適経路であるリンクａ−ｅに対応する光ファイバＡ−Ｂ、光ファイバＢ−Ｃ、光ファイバＣ−Ｄ、および、光ファイバＤ−Ｅを、障害が発生している可能性のある光ファイバとして特定する。付加部３４Ａは、アクティブなセグメントリストのＦｕｎｃｔｉｏｎフィールドに、特定した光ファイバの情報を追加する。ＳＩＤ処理部３１Ａと付加部３４Ａの処理により、パケットＰ１１はパケットＰ１２に示すように変換される。このため、パケットＰ１２を受信する装置は、アクティブなセグメントリスト［２］を用いて、光ファイバＡ−Ｂ、光ファイバＢ−Ｃ、光ファイバＣ−Ｄ、光ファイバＤ―Ｅの４本の光ファイバを障害が発生している可能性のある光ファイバとして特定できる。送信部２１Ａは、パケットＰ１２を転送装置１０Ｂに向けて送信する。
【００８８】
転送装置１０Ｂの受信部２２ＢはパケットＰ１２を受信する。選択部３３Ｂは、パケットＰ１１の宛先アドレスが転送装置１０Ｃであり、最適経路のリンク（リンクｂ−ｃ）に障害が発生していないので、最適経路を選択する。このため、パケットＰ１２は矢印Ａ２２に示すように転送される。
【００８９】
図１７は、図１６の処理の後に行われる転送処理の例を示す。転送装置１０Ｃの受信部２２ＣはパケットＰ１２を受信する。選択部３３Ｃは、転送装置１０Ｃ自身が宛先アドレスに設定されているので、自装置宛のパケットを受信したことをＳＩＤ処理部３１Ｃに通知する。ＳＩＤ処理部３１Ｃは、Ｓｅｇｍｅｎｔ―Ｌｅｆｔの値を１つデクリメントすることにより、セグメントリスト［１］をアクティブにする。さらに、ＳＩＤ処理部３１Ｃは、アクティブなセグメントリスト［１］のＦｕｎｃｔｉｏｎフィールドに、セグメントリスト［２］を用いて通知された光ファイバの情報を、障害が発生している可能性があるファイバの情報として格納する。このため、セグメントリスト［１］のＦｕｎｃｔｉｏｎフィールドに、光ファイバＡ−Ｂ、光ファイバＢ−Ｃ、光ファイバＣ−Ｄ、光ファイバＤ−Ｅの情報が格納される。セグメントリスト［１］のＬｏｃａｔｏｒフィールドに転送装置１０Ｅ（ＲＴ−Ｅ）の情報が格納されているので、ＳＩＤ処理部３１Ｃは、ＩＰｖ６ヘッダ中の宛先アドレスを転送装置１０Ｅのアドレスに変更する。これらの処理により、パケットＰ１２は、パケットＰ１３に示すように変換される。
【００９０】
ここで、転送装置１０Ｃは、転送装置１０Ｅに至る経路の情報として、Ｔ２３に示す情報を保持している。選択部３３Ｃは、転送装置１０Ｅに至る最適経路がリンクｃ−ｄを介した経路であることを特定する。最適経路に含まれるリンクｃ−ｄに障害が発生していないので、選択部３３Ｃは、パケットＰ１３の転送に最適経路を使用することを決定する。送信部２１Ｃは、パケットＰ１３をリンクｃ−ｄに出力するので、パケットＰ１３は矢印Ａ２３に示すように転送される。
【００９１】
図１８は、図１７の処理の後に行われる転送処理の例を示す。転送装置１０Ｄの受信部２２ＤはパケットＰ１３を受信する。選択部３３Ｄは、パケットＰ１３の宛先アドレスが転送装置１０Ｅ（ＲＴ−Ｅ）であることを認識する。ここで、転送装置１０Ｄは、転送装置１０Ｅのポートが属するネットワークに至る経路の情報として、Ｔ２４に示す情報を保持している。選択部３３Ｄは、最適経路に含まれるリンクｄ−ｅで障害が発生しているため、パケットの転送に最適経路を使用しないことを決定する。選択部３３Ｄは、最適経路を使用しないことを判定部３２Ｄに通知する。
【００９２】
判定部３２Ｄは、障害が発生している可能性のある光ファイバの情報として、最適経路に対応する光ファイバの情報がパケットＰ１３のアクティブなセグメントリストに含まれているかを判定する。転送装置１０Ｅへの転送の際の最適経路（リンクｄ−ｅ）は、光ファイバＤ−Ｅに対応付けられている。パケットＰ１３のアクティブなセグメントリスト［１］に光ファイバＤ−Ｅの情報が記録されているので、最適経路に対応する光ファイバの情報がパケットＰ１３を用いて通知されている。判定部３２Ｄは、判定結果を選択部３３Ｄに通知する。
【００９３】
転送装置１０Ｄがリンクダウンを確認した最適経路のリンクに対応する光ファイバは、他の転送装置１０でも障害が発生している可能性がある光ファイバとして認識されているので、光ファイバＤ−Ｅで障害が発生している可能性が高いといえる。そこで、選択部３３Ｄは、転送装置１０Ｅに至るＢａｃｋｕｐ経路が転送装置１０Ｅに至る最適経路と同じ光ファイバに収容されているかを判定する。光ファイバ情報テーブル４２Ｅ（図示せず）では、転送装置１０Ｅでの最適経路に含まれるリンクｄ−ｅとＢａｃｋｕｐ経路中のリンクｃ−ｄは、以下のように光ファイバと対応付けられているとする。
【００９４】
リンクｄ−ｅ  ：  光ファイバＤ−Ｅ
リンクｃ−ｄ  ：  光ファイバＣ−Ｄ
この場合、Ｔ２４中の最適経路（ｂｅｓｔ−ｐａｔｈ）とＢａｃｋｕｐ経路は、互いに異なる光ファイバに収容されている。Ｂａｃｋｕｐ経路は障害が発生している可能性が高い光ファイバに収容されていないので、転送装置１０Ｄにとっては、Ｂａｃｋｕｐ経路を用いたときにパケットに転送に失敗する可能性が高いと判定する要素はない。そこで、選択部３３Ｄは、Ｂａｃｋｕｐ経路を転送経路として選択する。選択部３３Ｄは、パケットＰ１３の転送にＢａｃｋｕｐ経路を使用することを、ＳＩＤ処理部３１Ｄと付加部３４Ｄに通知する。
【００９５】
Ｂａｃｋｕｐの経路が転送経路となるので、ＳＩＤ処理部３１Ｄは、Ｔ２４に示す情報を用いて、転送装置１０Ｂを宛先とすることを決定する。ＳＩＤ処理部３１Ｄは、Ｓｅｇｍｅｎｔ―Ｌｅｆｔの値を１つインクリメントすることにより、セグメントリスト［２］をアクティブにする。ＳＩＤ処理部３１Ｄは、アクティブなセグメントリスト［２］のＬｏｃａｔｏｒフィールドに転送装置１０Ｂを示す情報（ＲＴ−Ｂ）を格納し、ＩＰｖ６ヘッダ中の宛先アドレスを転送装置１０Ｂのアドレスに設定する。
【００９６】
付加部３４Ｄは、最適経路であるリンクｄ−ｅに対応する光ファイバＤ―Ｅを、障害が発生している可能性のある光ファイバとして特定する。付加部３４Ｄは、アクティブなセグメントリスト［２］のＦｕｎｃｔｉｏｎフィールドの情報を、光ファイバＤ―Ｅを識別する情報に変更する。ＳＩＤ処理部３１Ｄと付加部３４Ｄの処理により、パケットＰ１３はパケットＰ１４に示すように変換される。このため、パケットＰ１４を受信する装置は、光ファイバＤ―Ｅを障害が発生している可能性のある光ファイバとして特定できる。送信部２１Ｄは、パケットＰ１４を転送装置１０Ｃに向けて送信する。
【００９７】
転送装置１０Ｃの受信部２２ＣはパケットＰ１４を受信する。選択部３３Ｃは、パケットＰ１４の宛先アドレスが転送装置１０Ｂであり、最適経路のリンク（リンクｂ−ｃ）に障害が発生していないので、最適経路を選択する。このため、パケットＰ１２は矢印Ａ２４に示すように転送される。
【００９８】
図１９は、図１８の処理の後に行われる転送処理の例を示す。転送装置１０Ｂの受信部２２ＢはパケットＰ１４を受信する。選択部３３Ｂは、転送装置１０Ｂ自身が宛先アドレスに設定されているので、自装置宛のパケットを受信したことをＳＩＤ処理部３１Ｂに通知する。ＳＩＤ処理部３１Ｂは、Ｓｅｇｍｅｎｔ―Ｌｅｆｔの値を１つデクリメントすることにより、セグメントリスト［１］をアクティブにする。さらに、ＳＩＤ処理部３１Ｂは、アクティブなセグメントリスト［１］のＦｕｎｃｔｉｏｎフィールドに、セグメントリスト［２］を用いて通知された光ファイバの情報を、障害が発生している可能性があるファイバの情報として格納する。このため、セグメントリスト［１］のＦｕｎｃｔｉｏｎフィールドに、光ファイバＤ−Ｅの情報が格納される。セグメントリスト［１］のＬｏｃａｔｏｒフィールドに転送装置１０Ｅ（ＲＴ−Ｅ）の情報が格納されているので、ＳＩＤ処理部３１Ｂは、ＩＰｖ６ヘッダ中の宛先アドレスを転送装置１０Ｅのアドレスに変更する。これらの処理により、パケットＰ１４は、パケットＰ１５に示すように変換される。
【００９９】
ここで、転送装置１０Ｂは、転送装置１０Ｅに至る経路の情報として、Ｔ２２に示す情報を保持している。選択部３３Ｂは、転送装置１０Ｅに至る最適経路がリンクａ−ｂを介した経路であることを特定する。最適経路に含まれるリンクａ−ｂに障害が発生していないので、選択部３３Ｂは、パケットＰ１５の転送に最適経路を使用することを決定する。送信部２１Ｂは、パケットＰ１５をリンクａ−ｂに出力するので、パケットＰ１５は矢印Ａ２５に示すように転送される。
【０１００】
図２０は、図１９の処理の後に行われる転送処理の例を示す。転送装置１０ＡはパケットＰ１５を受信する。ここで、パケットＰ１５の宛先は転送装置１０Ｅであり、転送装置１０Ａにとっての宛先ネットワークへの最適経路に含まれるリンク（リンクａ−ｅ）では障害が発生している。また、パケットＰ１５のアクティブなセグメントリスト［１］には、最適経路に含まれる光ファイバ（Ｄ−Ｅ）が他の転送装置１０で障害が発生している可能性があると判定された光ファイバの情報として含まれている。さらに、転送装置１０Ａにとっての宛先ネットワークへのＢａｃｋｕｐ経路は、光ファイバ情報テーブル４２Ａ（図６）に示すように、最適経路と同じ光ファイバに収容されている。このため、パケットＰ１５を受信した転送装置１０Ａは、図１０を参照しながら説明した転送装置１０Ａの処理と同様の処理を行う。すなわち、２ｎｄ  Ｂａｃｋｕｐ経路を用いてパケットを転送するために、アクティブなセグメントリストで、転送先を転送装置１０Ｇに指定するとともに、ＩＰｖ６ヘッダ中の宛先アドレスを転送装置１０Ｇのアドレスに設定する。このため、パケットＰ１５は、パケットＰ１６に示すように変換される。転送装置１０Ｈ以降、パケットの最終宛先であるＮＷ−Ｘへの転送処理も、図１０を参照しながら説明した処理と同様に行われる。
【０１０１】
第２の実施形態にかかるネットワークでは、ループが発生しない代替経路への分岐点に位置する転送装置１０Ａが矢印Ａ２１に示す転送処理で最初にパケットを受信したときに障害が発生しているファイバの情報が通知されていない。このため、矢印Ａ２２〜Ａ２５のようにループ経路は発生するものの、矢印Ａ２５でパケットが２回目に転送装置１０Ａに到達するときには、転送装置１０Ａに障害が発生している光ファイバＤ−Ｅの情報が通知される。従って、転送装置１０Ａは、第１の実施形態と同様に、２ｎｄ  Ｂａｃｋｕｐ経路を選択することにより、ループの継続を回避することができる。
【０１０２】
すなわち、転送装置１０を用いると、最適経路とＢａｃｋｕｐ経路が同じ光ファイバに収容されていることによりループ経路が一時的に発生しても、ループが発生しない代替経路への分岐点に位置する転送装置１０に２回目にパケットが到達するとループが回避できる。従って、第２の実施形態によると、最適経路とＢａｃｋｕｐ経路が同じ光ファイバに収容されていることによりループ経路が一時的に発生しても、ルーティングプロトコルによる経路情報の更新処理が行われる前に、パケットを転送することができるようになる。
【０１０３】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。例えば、第１および第２の実施形態とは異なるネットワークトポロジにおいても、転送装置１０が使用され得る。
【０１０４】
以上の説明では、転送装置１０がセグメントルーティングを行うルータである場合を例として説明したが、転送装置１０はセグメントルーティング以外の転送処理を行ってもよい。例えば、転送装置１０は、ＭＰＬＳによる転送処理を行うルータであってもよい。
【０１０５】
以上の説明では、２ｎｄ  Ｂａｃｋｕｐ経路を用いるときに、障害の発生している可能性がある光ファイバの情報をアクティブなセグメントリストに追加する処理を省略しているが、これは処理の一例に過ぎない。多くの代替の経路が得られている場合、２ｎｄ  Ｂａｃｋｕｐ経路も最適経路と同じ光ファイバに収容される可能性もある。このため、２ｎｄ  Ｂａｃｋｕｐ経路が用いられる場合にも、転送装置１０は、障害の発生している可能性がある光ファイバの情報をアクティブなセグメントリストに追加してもよい。このように変形すると、複雑なネットワークにおいても、ループの発生やループの２回以上の継続を防ぎつつ、迅速な経路切り替えが可能になる。
【０１０６】
以上の説明で示したテーブルやパケットのフォーマットは一例であり、実装に応じて変更され得る。例えば、ルーティングテーブル４１、光ファイバ情報テーブル４２、ビット列テーブル４３、ＳＩＤテーブル４４のうちの１つ以上が1つのテーブルにまとめられても良い。また、各テーブルに含まれる要素も実装に応じて変更され得る。
【符号の説明】
【０１０７】
２  端末
３  インターネット
４  基地局
５  ＲＯＡＤＭ
６  ＯＳＳ
７  ルータ
１０  転送装置
２０  通信部
２１  送信部
２２  受信部
３０  制御部
３１  ＳＩＤ処理部
３２  判定部
３３  選択部
３４  付加部
４０  記憶部
４１  ルーティングテーブル
４２  光ファイバ情報テーブル
４３  ビット列テーブル
４４  ＳＩＤテーブル
１００  制御カード
１０１、１２１  プロセッサ
１０２、１２２  メモリ
１０３  記憶装置
１０４、１２３  内部通信用インタフェース
１１０  スイッチカード
１２４  外部通信用インタフェース
【図１】
2020174231.tif 000003
【図２】
2020174231.tif 000004
【図３】
2020174231.tif 000005
【図４】
2020174231.tif 000006
【図５】
2020174231.tif 000007
【図６】
2020174231.tif 000008
【図７】
2020174231.tif 000009
【図８】
2020174231.tif 000010
【図９】
2020174231.tif 000011
【図１０】
2020174231.tif 000012
【図１１】
2020174231.tif 000013
【図１２】
2020174231.tif 000014
【図１３】
2020174231.tif 000015
【図１４】
2020174231.tif 000016
【図１５】
2020174231.tif 000017
【図１６】
2020174231.tif 000018
【図１７】
2020174231.tif 000019
【図１８】
2020174231.tif 000020
【図１９】
2020174231.tif 000021
【図２０】
2020174231.tif 000022