(57)【要約】【課題】パケットの通過履歴の記憶管理を行う。【解決手段】パケット転送装置１０は、ＴＲＩＬＬネットワーク内でパケットの転送を行うノードであって、制御部１１および記憶部１２を備える。制御部１１は、パケットを受信し、受信したパケットが試験パケットであるか否かを判定する。制御部１１は、パケットが試験パケットであって、試験パケットのヘッダに自パケット転送装置の識別番号の付加がない場合、少なくとも自パケット転送装置の識別番号をヘッダに付加する。また、制御部１１は、隣接装置が試験機能を有していないことを検出した場合は、隣接装置の識別番号をヘッダに追加して試験パケットを転送する。記憶部１２は、パケット転送経路を示す経路情報や、パケット送受信カウンタ値を示す統計情報等を記憶する。【選択図】図１
2019195141.tif 000002
【特許請求の範囲】
【請求項１】
ＴＲＩＬＬ（Transparent Interconnection of Lots of Links）のルーティングプロトコルを有する複数のパケット転送装置が接続されたネットワークでパケットの転送を行うパケット転送プログラムであって、
前記パケットを受信し、
受信した前記パケットが試験パケットであるか否かを判定し、
前記パケットが前記試験パケットであって、前記試験パケットのヘッダに自パケット転送装置の識別番号の付加がない場合、前記自パケット転送装置の識別番号を前記ヘッダに付加して前記試験パケットを転送する、
処理をコンピュータに実行させるパケット転送プログラム。
【請求項２】
前記処理は、隣接装置が試験機能を有していないことを検出した場合、前記隣接装置の識別番号を前記ヘッダに追加して前記試験パケットを転送する請求項１記載のパケット転送プログラム。
【請求項３】
前記処理は、
前記隣接装置が前記試験パケットの送信先パケット転送装置であって前記送信先パケット転送装置が前記試験機能を有していないことを検出した場合、
前記試験パケットが転送する前記自パケット転送装置から前記送信先パケット転送装置への順に、前記自パケット転送装置の識別番号と前記送信先パケット転送装置の識別番号とを前記ヘッダに付加する請求項２記載のパケット転送プログラム。
【請求項４】
前記処理は、
前記隣接装置が前記試験パケットの送信元パケット転送装置であって前記送信元パケット転送装置が前記試験機能を有していないことを検出した場合、
前記試験パケットが転送する前記送信元パケット転送装置から前記自パケット転送装置への順に、前記送信元パケット転送装置の識別番号と前記自パケット転送装置の識別番号とを前記ヘッダに付加する請求項２記載のパケット転送プログラム。
【請求項５】
前記処理は、
前記ネットワークの出口側パケット転送装置で受信された前記試験パケットの前記ヘッダから、前記試験パケットの転送順に前記識別番号が付加されているリスト情報を抽出し、
前記ネットワーク内でパケット転送が行われる経路が予め管理されている管理情報と、抽出した前記リスト情報とを比較し、前記リスト情報に前記識別番号の抜けがある場合、抜けのある前記識別番号を前記管理情報にもとづき補填して、前記ネットワーク内における前記試験パケットの転送履歴を生成する請求項１記載のパケット転送プログラム。
【請求項６】
前記処理は、前記隣接装置が前記試験機能を有していない場合に付加した前記隣接装置の識別番号に対して、前記試験機能を有している前記パケット転送装置によって補填されたことを示す情報を付加する請求項２記載のパケット転送プログラム。
【請求項７】
前記処理は、
受信した前記試験パケットの前記ヘッダに付加されている識別番号と、送信元ポート番号とにもとづいて、前記識別番号を有する送信元パケット転送装置が前記送信元ポート番号を有していないことを検出した場合、前記送信元パケット転送装置は前記試験機能を有していないことを検出結果とする請求項１記載のパケット転送プログラム。
【請求項８】
前記処理は、前記ネットワーク内で、前記試験パケットが転送する前記パケット転送装置の転送履歴を生成するための試験を行う請求項１記載のパケット転送プログラム。
【請求項９】
ＴＲＩＬＬ（Transparent Interconnection of Lots of Links）のルーティングプロトコルを有するパケット転送装置であって、
前記パケットを受信し、受信した前記パケットが試験パケットであるか否かを判定し、前記パケットが前記試験パケットであって、前記試験パケットのヘッダに自パケット転送装置の識別番号の付加がない場合、前記自パケット転送装置の識別番号を前記ヘッダに付加して前記試験パケットを転送する制御部、
を有するパケット転送装置。
【請求項１０】
ＴＲＩＬＬ（Transparent Interconnection of Lots of Links）のルーティングプロトコルを有する複数のパケット転送装置が接続されたネットワークでパケットの転送を行うパケット転送方法であって、
コンピュータが、
前記パケットを受信し、
受信した前記パケットが試験パケットであるか否かを判定し、
前記パケットが前記試験パケットであって、前記試験パケットのヘッダに自パケット転送装置の識別番号の付加がない場合、前記自パケット転送装置の識別番号を前記ヘッダに付加して前記試験パケットを転送するパケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット転送プログラム、パケット転送装置およびパケット転送方法に関する。
【背景技術】
【０００２】
近年、マルチパスネットワークを実現する技術としてＴＲＩＬＬ（Transparent Interconnection of Lots of Links）と呼ばれるプロトコルが開発されている。ＴＲＩＬＬは、イーサネット（登録商標）等のレイヤ２ネットワークの冗長化プロトコルであり、ＩＥＴＦ（Internet Engineering Task Force）で標準化され、ＲＦＣ（Request for Comments）６３２５で仕様が定められている。
【０００３】
ＴＲＩＬＬでは、リンクステートプロトコルのＩＳ−ＩＳ（Intermediate System to Intermediate System）をレイヤ２に応用することで、ネットワーク内の経路の冗長化および高速切替えを行っている。
【０００４】
従来のネットワーク技術としては、宛先装置に至る経路の選択に使用される情報を外部ヘッダに付加して宛先装置に向けて送信する技術が提案されている。
また、新サービス形式をサポートするパケットが廃棄された場合、旧サービス形式をサポートするパケットを送信することにより、新旧の異なるサービス形式の混在を可能とする技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１１８４３８号公報
【特許文献２】特開平１０−３２７１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＴＲＩＬＬネットワークでは、障害が発生した場合、障害を自動的に回避する経路切替えが行われる。しかし、ＴＲＩＬＬプロトコルには、ＴＲＩＬＬネットワーク内のどのノードをパケットが実際に通過したかの経路の履歴（通過履歴）を記憶管理する機構が備えられていない。
【０００７】
管理サーバ（または保守者）がパケットの通過履歴を認識できないと、例えば、ＴＲＩＬＬネットワークの正常性の確認や障害発生時の解析等を精度よく行うことが困難である。このため、管理サーバが一括して収集できるようなパケットの通過履歴を記憶管理できる技術が望まれている。
【０００８】
１つの側面では、本発明は、パケットの通過履歴の記憶管理を可能にしたパケット転送プログラム、パケット転送装置およびパケット転送方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、ＴＲＩＬＬのルーティングプロトコルを有する複数のパケット転送装置が接続されたネットワークでパケットの転送を行うパケット転送プログラムが提供される。パケット転送プログラムは、パケットを受信し、受信したパケットが試験パケットであるか否かを判定し、パケットが試験パケットであって、試験パケットのヘッダに自パケット転送装置の識別番号の付加がない場合、自パケット転送装置の識別番号をヘッダに付加して試験パケットを転送する処理をコンピュータに実行させる。
【００１０】
また、上記課題を解決するために、上記パケット転送プログラムと同様の制御を実行するパケット転送装置が提供される。
さらに、上記課題を解決するために、コンピュータが上記パケット転送プログラムと同様の制御を実行するパケット転送方法が提供される。
【発明の効果】
【００１１】
１側面によれば、パケットの通過履歴の記憶管理が可能になる。
【図面の簡単な説明】
【００１２】
【図１】パケット転送装置を説明するための図である。
【図２】ＴＲＩＬＬネットワークの構成の一例を示す図である。
【図３】ネットワーク障害を回避するための経路変更の一例を示す図である。
【図４】ＲＢのソフトウェア／ハードウェア構成の一例を示す図である。
【図５】ＴＲＩＬＬネットワークの構成の一例を示す図である。
【図６】ＲＢのハードウェア構成の一例を示す図である。
【図７】ＲＢの機能ブロックの一例を示す図である。
【図８】ＲＢの制御シーケンスの一例を示す図である。
【図９】トレース試験登録処理の動作を示すフローチャートである。
【図１０】Ｉｎｇｒｅｓｓ ＲＢにおけるパケット送受信処理の動作を示すフローチャートである。
【図１１】Ｒｅｌａｙ ＲＢにおけるパケット中継処理の動作を示すフローチャートである。
【図１２】Ｅｇｒｅｓｓ ＲＢにおけるパケット送受信処理の動作を示すフローチャートである。
【図１３】ＴＲＩＬＬパケットのフィールド構成の一例を示す図である。
【図１４】ＴＲＩＬＬオプション領域の使用例を示す図である。
【図１５】パケット転送の一例を示す図である。
【図１６】通過経路上のＲＢで出力される試験パケットの一例を示す図である。
【図１７】パケット転送の一例を示す図である。
【図１８】通過経路上のＲＢで出力される試験パケットの一例を示す図である。
【図１９】パケット転送の一例を示す図である。
【図２０】通過経路上のＲＢで出力される試験パケットの一例を示す図である。
【図２１】ＲＢ番号の補填制御の一例を示す図である。
【図２２】通過経路上のＲＢで出力される試験パケットの一例を示す図である。
【図２３】ＲＢ番号の補填制御の一例を示す図である。
【図２４】通過経路上のＲＢで出力される試験パケットの一例を示す図である。
【図２５】ＲＢ番号の補填制御の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１はパケット転送装置を説明するための図である。パケット転送装置１０は、ネットワーク内でパケットの転送を行うノードであって、制御部１１および記憶部１２を備える。
【００１４】
制御部１１は、パケットを受信し、受信したパケットが試験パケットであるか否かを判定する。制御部１１は、パケットが試験パケットであって、試験パケットのヘッダに自パケット転送装置の識別番号の付加がない場合、少なくとも自パケット転送装置の識別番号をヘッダに付加して試験パケットを転送する。また、制御部１１は、隣接装置が試験機能を有していないことを検出した場合は、隣接装置の識別番号をヘッダに追加して試験パケットを転送する。
【００１５】
なお、試験とは、ネットワーク内に試験パケットを流して、試験パケットがどのノードを転送（通過）したかの転送履歴（以下、通過履歴と呼ぶ）を確認するための試験である。また、この試験を行う場合の機能（試験機能）には、例えば、パケットが通過したノードの識別番号（パケット転送装置１０の識別番号）をパケットヘッダに付加する機能が含まれる。
【００１６】
記憶部１２は、パケット転送経路を示す経路情報や、パケット送受信カウンタ値を示す統計情報等を記憶する。また記憶部１２は、装置運用に関する制御情報等の記憶も行う。
図１に示す例を用いて試験パケット転送時の動作について説明する。
【００１７】
（状態Ｓｔ１）パケット転送装置１０ａ−１、１０ａ−２、１０ａ−３がネットワーク内でシリアルに接続され、パケット転送装置１０ａ−１、１０ａ−２、１０ａ−３は試験機能を有している状態とする。
【００１８】
〔ステップＳ１ａ〕パケット転送装置１０ａ−１内の制御部１１ａ−１は、試験パケットｐａ１を受信すると、例えば試験パケットｐａ１のヘッダに設定されている経路情報にもとづいて、隣接する送信先のパケット転送装置１０ａ−２は試験機能を有していることを検出する。
【００１９】
制御部１１ａ−１は、試験パケットｐａ１のヘッダに、自身のパケット転送装置１０ａ−１の識別番号＃１０ａ−１を付加して試験パケットｐａ２を生成する。そして、制御部１１ａ−１は、試験パケットｐａ２をパケット転送装置１０ａ−２へ送信する。
【００２０】
〔ステップＳ２ａ〕パケット転送装置１０ａ−２内の制御部１１ａ−２は、試験パケットｐａ２を受信すると、例えば試験パケットｐａ２のヘッダに設定されている経路情報にもとづいて、隣接する送信先のパケット転送装置１０ａ−３は試験機能を有していることを検出する。
【００２１】
制御部１１ａ−２は、試験パケットｐａ２のヘッダに、自身のパケット転送装置１０ａ−２の識別番号＃１０ａ−２を付加して試験パケットｐａ３を生成する。そして、制御部１１ａ−２は、識別番号＃１０ａ−１、＃１０ａ−２が付加された試験パケットｐａ３をパケット転送装置１０ａ−３へ送信する。
【００２２】
〔ステップＳ３ａ〕パケット転送装置１０ａ−３内の制御部１１ａ−３は、試験パケットｐａ３を受信すると、例えば試験パケットｐａ３のヘッダに設定されている経路情報にもとづいて、隣接する送信先装置（図示せず）は試験機能を有していることを検出する。
【００２３】
制御部１１ａ−３は、試験パケットｐａ３のヘッダに、自身のパケット転送装置１０ａ−３の識別番号＃１０ａ−３を付加して試験パケットｐａ４を生成する。そして、制御部１１ａ−３は、識別番号＃１０ａ−１、＃１０ａ−２、＃１０ａ−３が付加された試験パケットｐａ４を隣接する送信先装置へ送信する。
【００２４】
このように、試験機能を持つパケット転送装置１０ａ−１、１０ａ−２、１０ａ−３は、各自の識別番号を転送パケットに付加するため、転送パケットに通過履歴が蓄積されることになる。
【００２５】
（状態Ｓｔ２）パケット転送装置１０ｂ−１、１０ｂ−２がネットワーク内で接続され、パケット転送装置１０ｂ−１は試験機能を有し、パケット転送装置１０ｂ−２は試験機能を有していない状態とする。
【００２６】
〔ステップＳ１ｂ〕パケット転送装置１０ｂ−１の制御部１１ｂ−１は、試験パケットｐｂ１を受信すると、例えば試験パケットｐｂ１のヘッダに設定されている経路情報にもとづいて、隣接する送信先のパケット転送装置１０ｂ−２は試験機能を有していないことを検出する。
【００２７】
制御部１１ｂ−１は、試験パケットｐｂ１のヘッダに、自身のパケット転送装置１０ｂ−１の識別番号＃１０ｂ−１と、パケット転送装置１０ｂ−２の識別番号＃１０ｂ−２とを付加して試験パケットｐｂ２を生成する。そして、制御部１１ｂ−１は、識別番号＃１０ｂ−１、＃１０ｂ−２が付加された試験パケットｐｂ２をパケット転送装置１０ｂ−２へ送信する。
【００２８】
〔ステップＳ２ｂ〕パケット転送装置１０ｂ−２は、試験機能を持たないため、識別番号の付加は行わず、受信した試験パケットｐｂ２を隣接する送信先装置（図示せず）へ送信する。
【００２９】
このように、パケット転送装置１０ｂ−１は、試験パケット送信先のパケット転送装置１０ｂ−２が試験機能を持たないことを検出すると、自識別番号の付加だけでなく、パケット転送装置１０ｂ−２の識別番号の付加も行う。
【００３０】
これにより、パケット転送装置１０ｂ−１によって、試験機能を持たないパケット転送装置１０ｂ−２の識別番号の補填が行われるので、試験機能を持たない装置がネットワーク内に存在する場合も、転送パケットに通過履歴が蓄積されることになる。
【００３１】
（状態Ｓｔ３）パケット転送装置１０ｃ−１、１０ｃ−２がネットワーク内で接続され、パケット転送装置１０ｃ−１は試験機能を有しておらず、パケット転送装置１０ｃ−２は試験機能を有している状態とする。
【００３２】
〔ステップＳ１ｃ〕パケット転送装置１０ｃ−１は、試験機能を持たないため識別番号の付加は行わず、経路情報にもとづいて送信先の隣接するパケット転送装置１０ｃ−２へ試験パケットｐｃ１を送信する。
【００３３】
〔ステップＳ２ｃ〕パケット転送装置１０ｃ−２の制御部１１ｃ−２は、例えば受信した試験パケットｐｃ１のヘッダに設定されている経路情報にもとづいて、隣接する送信元のパケット転送装置１０ｃ−１は試験機能を有していないことを検出する。
【００３４】
制御部１１ｃ−２は、試験パケットｐｃ１を受信すると試験パケットｐｃ１のヘッダに、パケット転送装置１０ｃ−１の識別番号＃１０ｃ−１と、自身のパケット転送装置１０ｃ−２の識別番号＃１０ｃ−２とを付加して試験パケットｐｃ２を生成する。そして、制御部１１ｃ−２は、識別番号＃１０ｃ−１、＃１０ｃ−２が付加された試験パケットｐｃ２を隣接する送信先装置へ送信する。
【００３５】
このように、パケット転送装置１０ｃ−２は、試験パケット送信元のパケット転送装置１０ｃ−１が試験機能を持たないことを検出すると、自識別番号の付加だけでなく、パケット転送装置１０ｃ−１の識別番号の付加も行う。
【００３６】
これにより、パケット転送装置１０ｃ−２によって、試験機能を持たないパケット転送装置１０ｃ−１の識別番号の補填が行われるので、試験機能を持たない装置がネットワーク内に存在する場合も、転送パケットに通過履歴が蓄積されることになる。
【００３７】
以上説明したように、パケット転送装置１０では、パケット転送時に装置の識別番号を試験パケットのヘッダに付加してパケットの転送を行う。この場合、パケット転送装置１０は、隣接装置が試験機能を有しているか否かを判定し、試験機能を有していない装置が存在する場合は、該装置の識別番号の補填を行う。これにより、パケット転送装置１０は、パケットが実際に通過した通過履歴の記憶管理を行うことが可能になる。
【００３８】
［第２の実施の形態］
次に第２の実施の形態について説明する。第２の実施の形態は、第１の実施の形態のパケット転送装置１０の機能をＴＲＩＬＬネットワークに適用したものである。最初に従前のＴＲＩＬＬネットワークおよびパケット通過履歴に関する課題について図２から図４を用いて説明する。
【００３９】
図２はＴＲＩＬＬネットワークの構成の一例を示す図である。ＴＲＩＬＬネットワーク２０ａは、ＥＳ（End Station）２１、２２およびＲＢ（Routing Bridge）１ａ、・・・、６ａを有する。
【００４０】
ＲＢ１ａ、・・・、６ａは、ＴＲＩＬＬプロトコル機能が実装されてパケットルーティングを行うＬ２スイッチ等のノードである。ＥＳ２１、２２は、ＴＲＩＬＬネットワーク２０ａと他ネットワークとの分界点となりサーバ等に該当する。
【００４１】
ＴＲＩＬＬネットワーク２０ａのノード間接続構成において、ＥＳ２１は、ＲＢ１ａに接続され、ＥＳ２２は、ＲＢ６ａに接続される。ＲＢ１ａ、・・・、６ａはリング状に接続される。
【００４２】
さらに、ＲＢ２ａは、ＲＢ５ａに接続され、ＲＢ３ａは、ＲＢ４ａに接続される。なお、ＲＢ１ａ、６ａは、Ｉｎｇｒｅｓｓ（入口）またはＥｇｒｅｓｓ（出口）のＲＢとなり、ＲＢ２ａ、・・・、５ａは、中継ＲＢ（ＲｅｌａｙＲＢ）となる。
【００４３】
ＲＢは、ＩＳ−ＩＳプロトコルにより、隣接に位置するＲＢを学習して最短経路の算出を行い、ユーザパケットの転送経路を自動生成する。ＴＲＩＬＬネットワーク２０ａに転送されたユーザパケットは、ＴＲＩＬＬパケットにカプセル化されて、自動生成された経路に従って転送される。
【００４４】
図３はネットワーク障害を回避するための経路変更の一例を示す図である。ＴＲＩＬＬネットワーク２０ａ−１において、ＲＢ２ａとＲＢ４ａ間に障害が発生したとする。
この場合、ＲＢ１ａ、・・・、６ａは、障害検出を契機にして、ＩＳ−ＩＳプロトコルにより隣接ＲＢを学習して障害を回避できる最短経路の算出を行い、ユーザパケットの転送経路を生成する。
【００４５】
図３の例では、障害発生前の経路Ｐｓ１１（ＥＳ２１→ＲＢ１ａ→ＲＢ２ａ→ＲＢ４ａ→ＲＢ６ａ→ＥＳ２２）に対して、ＲＢ２ａとＲＢ４ａ間に障害が発生している。このため、経路Ｐｓ１１から経路Ｐｓ１２（ＥＳ２１→ＲＢ１ａ→ＲＢ２ａ→ＲＢ５ａ→ＲＢ６ａ→ＥＳ２２）に変更されている。
【００４６】
ユーザパケットは、ＴＲＩＬＬパケットにカプセル化された後、経路Ｐｓ１２に従って転送される。このように、ネットワーク障害が生じた場合でも、経路変更の一連の動作はＲＢ毎に自律で行われるため、障害を回避した経路が自動的に生成される。
【００４７】
＜ユーザパケットの通過履歴に関する課題＞
図４はＲＢのソフトウェア／ハードウェア構成の一例を示す図である。ＲＢは、ソフトウェア部ｗ１およびハードウェア部ｗ２を備え、ハードウェア／ソフトウェアインタフェース（Hard／Soft INF）で接続される。
【００４８】
ソフトウェア部ｗ１は、ユーザパケットを転送するための経路設定等のＴＲＩＬＬネットワークのＣ−Ｐｌａｎｅ（Control−Plane）に関わる制御を行う。また、ソフトウェア部ｗ１は、パケット転送経路に関する経路情報の管理を行う。
【００４９】
ハードウェア部ｗ２は、ユーザパケットの送受信処理等のＴＲＩＬＬネットワークのＵ−Ｐｌａｎｅ（User−Plane）に関わる制御を行う。また、ハードウェア部ｗ２は、統計情報（ユーザパケットの送受信カウンタ）の管理を行う。
【００５０】
ここで、ＴＲＩＬＬプロトコルによって自動生成された経路は、経路情報として各ＲＢのソフトウェア部ｗ１で管理されるが、各ＲＢでは、ユーザパケットが実際に通過した経路を記憶管理する機構を持たない。このため、管理サーバ等でユーザパケットの実際の通過履歴を収集することができないため、経路トレース等の解析を精度よく行うことが困難である。
【００５１】
一方、通過履歴の確認を行うための試験環境を設けて、試験パケットのトラヒックのみを流すことを前提にして、各ＲＢで管理される統計情報をすべてのＲＢから収集することで、通過履歴を確認することはできる。しかし、運用環境において通過履歴確認の試験を行う場合、試験パケット以外のトラヒックを止めることになるので、このような試験は非現実的である。
【００５２】
本発明はこのような点に鑑みてなされたものであり、ネットワーク内でユーザパケットが実際に通過した経路の実績である通過履歴の記憶管理を可能にするものである。
＜ネットワーク構成＞
以降、第２の実施の形態について詳しく説明する。図５はＴＲＩＬＬネットワークの構成の一例を示す図である。ＴＲＩＬＬネットワーク２０ｂは、ＥＳ２１、２２、ＲＢ１、・・・、６および管理サーバ４０を備える。ＲＢ１、・・・、６には、図１に示したパケット転送装置１０の機能を有するＲＢ（以下、ＲＢ１０と表記）が含まれる。
【００５３】
ＲＢ１、・・・、６は、ＴＲＩＬＬプロトコル機能が実装されてパケットルーティングを行うＬ２スイッチ等のノードである。ＴＲＩＬＬネットワーク２０ｂのノード間接続構成において、ＥＳ２１は、ＲＢ１に接続され、ＥＳ２２は、ＲＢ６に接続される。ＲＢ１、・・・、６はリング状に接続される。
【００５４】
さらに、ＲＢ２は、ＲＢ５に接続され、ＲＢ３は、ＲＢ４に接続される。また、管理サーバ４０は、ＲＢ１、・・・、６のうちの少なくとも１台に接続して、ＲＢ１、・・・、６の所定ＲＢにアクセスして動作管理を行う。
【００５５】
ＲＢ１、・・・、６は、互いにＴＲＩＬＬ ＨＥＬＬＯパケットを交換することで自律的に隣接関係を学習する。また、ＲＢ１、・・・、６は、互いにＬＳＰ（Link State PDU（Protocol Data Unit））パケットを交換することで、同一トポロジ情報（隣接関係、コスト等）を共有し、最短経路でルーティングを行う。
【００５６】
Ｉｎｇｒｅｓｓ／Ｅｇｒｅｓｓ ＲＢ（ＲＢ１、６）は、ＴＲＩＬＬネットワーク２０ｂとその他ネットワークとの境界に位置し、ＴＲＩＬＬパケットを終端する。また、ＴＲＩＬＬネットワーク２０ｂ内のＲＢ１、・・・、６が含まれるネットワーク２０ｂ−１は、全体として１つの論理的な装置（ＲＢ）に置き換えられる。そのため、エンドユーザはネットワーク２０ｂ−１がどのような構成で、どのようにパケット転送されているかを意識する必要がない。
【００５７】
一方、ＲＢ２、・・・、５は、Ｉｎｇｒｅｓｓ／Ｅｇｒｅｓｓ ＲＢを結ぶ経路中に存在するＲｅｌａｙ ＲＢであり、ＴＲＩＬＬパケットを中継転送する役割を担う。通常、ネットワーク２０ｂ−１は冗長構成の接続形態をとるため、使用する回線が特定の回線に偏らないように、ＲＢ２、・・・、５でパケットを振り分けることで回線を有効利用することが可能である。
【００５８】
なお、エンドユーザは、ネットワーク２０ｂ−１を意識する必要がない反面、ネットワーク提供側は回線障害等に備えて冗長経路を準備することが通常である。さらに、設備投資の面からも冗長経路の有効利用と負荷分散による収容ユーザの増加が可能となることが望ましい。そのため、Ｉｎｇｒｅｓｓ／ＥｇｒｅｓｓＲＢと、Ｒｅｌａｙ ＲＢは振り分けアルゴリズムを持ち、より効率的な回線使用を可能としている。
【００５９】
＜ハードウェア構成＞
図６はＲＢのハードウェア構成の一例を示す図である。ＲＢ１０は、プロセッサ１００、メモリ１０１および操作インタフェース１０２を備える。さらに、ＲＢ１０は、回線インタフェース（ネットワークインタフェース）１０３、バススイッチｓｗ１、パススイッチｓｗ２、ＦＰＧＡ（Field Programmable Gate Array）１０４、ブートローダ１０５、電源１０６およびＦＡＮ１０７を備える。
【００６０】
プロセッサ１００は、ＲＢ１０全体を制御する中央処理部である。プロセッサ１００は例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１００は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００６１】
メモリ１０１は、主記憶部として使用される。メモリ１０１には、プロセッサ１００に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０１には、プロセッサ１００による処理に要する各種メッセージが格納される。
【００６２】
また、メモリ１０１は、補助記憶部としても使用され、ＯＳのプログラム、アプリケーションプログラム、および各種メッセージが格納される。メモリ１０１は、補助記憶部として、フラッシュメモリやＳＳＤ（Solid State Drive）等の半導体記憶部やＨＤＤ（Hard Disk Drive）等の磁気記録媒体を含んでもよい。
【００６３】
メモリ１０１は、不揮発性メモリ１０１ａ、ＲＯＭ（Read Only Memory）１０１ｂおよびＲＡＭ（Random Access Memory）１０１ｃを含む。
不揮発性メモリ１０１ａは、プログラム等の各種情報を記憶した記憶領域である。ＲＯＭ１０１ｂは、各種設定情報を記憶した記憶領域であり、例えば、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）である。
【００６４】
ＲＡＭ１０１ｃは、例えば、トポロジ情報等の各種情報を記憶する。ＲＡＭ１０１ｃは例えば、ＤＤＲ３（Double-Data-Rate3）のＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）である。
【００６５】
操作インタフェース１０２は、プロセッサ１００からの命令に従って装置の状態を表示する表示装置として機能するモニタ（例えば、ＬＥＤ（Light Emitting Diode）やＬＣＤ（Liquid Crystal Display）等）が接続されている。
【００６６】
また、操作インタフェース１０２は、キーボードやマウス等の情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ１００に送信する。
操作インタフェース１０２は、周辺機器を接続するための通信インタフェースとして機能する。例えば、操作インタフェース１０２は、レーザ光等を利用して、光ディスクに記録されたメッセージの読み取りを行う光学ドライブ装置を接続することができる。
【００６７】
光ディスクは、光の反射によって読み取り可能なようにメッセージが記録された可搬型の記録媒体である。光ディスクには、Ｂｌｕ−ｒａｙ Ｄｉｓｃ（登録商標）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）等がある。
【００６８】
さらに、操作インタフェース１０２は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、操作インタフェース１０２との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのメッセージの書き込み、またはメモリカードからのメッセージの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。
【００６９】
さらにまた、操作インタフェース１０２は、コンソール端末（試験端末等）と接続してＲＢ１０内の設定内容を変更するためのインタフェース機能を有し、例えば、ＲＳ−２３２Ｃのインタフェースが使用できる。
【００７０】
バススイッチｓｗ１は、プロセッサ１００とＦＰＧＡ１０４との間、プロセッサ１００とパススイッチｓｗ２との間のバスラインを切替え接続する。バススイッチｓｗ１は例えば、ＰＣＩｅ（Peripheral Component Interconnect express）Ｓｗｉｔｃｈである。ＦＰＧＡ１０４とパススイッチｓｗ２との間は、例えば、ＥＢＩ（External Bus Interface）で接続される。
【００７１】
回線インタフェース１０３は、例えば、ＮＩＣ（Network Interface Card）、無線ＬＡＮ（Local Area Network）カード等の機能を有する。回線インタフェース１０３で受信された信号やメッセージ等は、プロセッサ１００に出力される。
【００７２】
また、回線インタフェース１０３は、物理パスと接続する、例えば、ＲＪ４５やＳＦＰ（Small Form-Factor Pluggable）等の通信ポートを備える。
パススイッチｓｗ２は、回線インタフェース１０３内の通信ポートを切替えることで、その通信ポートに接続する物理パスを切替え接続する。パススイッチｓｗ２は例えば、Switch Siliconである。
【００７３】
ＦＰＧＡ１０４は、論理構成情報を設定変更可能にする集積回路であり、パススイッチｓｗ２のスイッチング制御を行う。ブートローダ１０５は、ＦＰＧＡ１０４内の論理構成情報を設定変更する際に変更プログラムの起動を行う。ブートローダ１０５は、例えばＢｏｏｔＦｌaｓｈである。電源１０６は、ＲＢ１０全体に電力を供給する。ＦＡＮ１０７は、ＲＢ１０内部の機器を冷却する空調機器である。
【００７４】
以上のようなハードウェア構成によって、ＲＢ１０の処理機能を実現することができる。ＲＢ１０は、例えば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。ＲＢ１０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
【００７５】
例えば、ＲＢ１０に実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ１００は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。
【００７６】
また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ１００からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ１００が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００７７】
＜機能ブロック＞
図７はＲＢの機能ブロックの一例を示す図である。ＲＢ１０は、制御部１１および記憶部１２を備える。制御部１１は、ソフトウェア機能であって、ＴＲＩＬＬ制御部１１ａ、保守制御部１１ｂ、ポート状態監視制御部１１ｃ、制御パケット処理部１１ｄおよびインタフェース部１１ｅを備える。
【００７８】
ＴＲＩＬＬ制御部１１ａは、ＴＲＩＬＬ状態管理部１１ａ１、ＴＲＩＬＬプロトコル制御部１１ａ２およびＴＲＩＬＬ経路算出部１１ａ３を含む。保守制御部１１ｂは、コマンド制御部１１ｂ１および試験制御部１１ｂ２を含む。
【００７９】
インタフェース部１１ｅは、パススイッチｓｗ２を介して、Ｌ２ネットワーク（ＴＲＩＬＬネットワーク）とのインタフェース制御を行う。また、インタフェース部１１ｅは、試験パケットの識別や、ヘッダへの経路情報の設定を行い、ヘッダ情報を試験制御部１１ｂ２へ通知する。さらにインタフェース部１１ｅは、コマンドの受信インタフェース処理および試験結果の通知インタフェース処理を行う。
【００８０】
ポート状態監視制御部１１ｃは、通信ポートの状態を監視し、ポート状態の変化を検出した場合、その変化検出をＴＲＩＬＬ制御部１１ａに通知する。
制御パケット処理部１１ｄは、ＴＲＩＬＬネットワーク内で制御パケットの送受信を行い、制御パケットを受信した場合にＴＲＩＬＬ制御部１１ａに通知すると共に、ＴＲＩＬＬ制御部１１ａからの指示に応じて制御パケットを送信する。
【００８１】
制御パケットには、例えば、ＨＥＬＬＯ、ＬＳＰ（Link State PDU）、ＣＳＮＰ（Complete Sequence Number PDU）およびＰＳＮＰ（Partial Sequence Number PDU）等がある。
【００８２】
ＨＥＬＬＯパケットは、ＲＢ１０がブロードキャスト設定された通信ポートで周期的に送受信し、ＲＢ１０の生存確認に使用される制御パケットである。ＬＳＰパケットは、ＲＢ１０が自装置までのパス距離を報告するＰＤＵに相当し、ＴＲＩＬＬネットワーク内の全ＲＢに伝達され、全ＲＢが同一トポロジ情報を算出するのに使用される制御パケットである。ＣＳＮＰパケットおよびＰＳＮＰパケットは、リンクステート情報の同期を確保するために使用される制御パケットである。
【００８３】
ＴＲＩＬＬ状態管理部１１ａ１は、ポート状態監視制御部１１ｃを通じて、ポート状態やパスコスト等の状態情報を収集し、収集した状態情報を管理する。また、ＴＲＩＬＬ状態管理部１１ａ１は、ポート状態監視制御部１１ｃを通じて、物理パスの障害等でポート状態の変化を検出した場合、状態変化をＴＲＩＬＬプロトコル制御部１１ａ２に通知する。
【００８４】
ＴＲＩＬＬプロトコル制御部１１ａ２は、ＴＲＩＬＬ制御部１１ａ全体を制御する。ＴＲＩＬＬプロトコル制御部１１ａ２は、制御パケット処理部１１ｄを通じて他ＲＢとの間でＨＥＬＬＯパケットを相互交換することで自律的に隣接関係を学習する。
【００８５】
また、ＴＲＩＬＬプロトコル制御部１１ａ２は、制御パケット処理部１１ｄを通じて他ＲＢとの間でＬＳＰ等の制御パケットを相互交換することで、自ＲＢの隣接関係や物理パスのパスコスト等のネットワーク情報を収集する。
【００８６】
ＴＲＩＬＬ経路算出部１１ａ３は、ＴＲＩＬＬプロトコル制御部１１ａ２で学習された隣接関係にもとづいて、最短経路の算出を行い、算出した経路情報を記憶部１２に格納する。
【００８７】
コマンド制御部１１ｂ１は、コマンドの受信時、受信したコマンドが試験登録用のコマンドか、試験登録以外の既存のコマンドかを振り分ける。試験制御部１１ｂ２は、試験登録用のコマンドを受信すると、試験結果の受信および後述の経路情報の補填を行い、結果を管理サーバ４０へ通知する。
【００８８】
記憶部１２は、経路情報および統計情報を記憶する。また記憶部１２は、ＲＢ１０の制御に関わる制御情報等の記憶も行う。なお、制御部１１は、図６に示したプロセッサ１００によって実現され、記憶部１２は、図６に示したメモリ１０１によって実現される。
【００８９】
＜制御シーケンス＞
図８はＲＢの制御シーケンスの一例を示す図である。なお、以降の説明では、パケット通過履歴を生成するための試験をトレース試験とも呼ぶ。
【００９０】
〔ステップＳ１１ａ〕管理サーバ４０は、トレース試験を行うためのコマンドをＩｎｇｒｅｓｓＲＢ１０−１へ送信してトレース試験の登録を行う。
〔ステップＳ１１ｂ〕管理サーバ４０は、トレース試験を行うためのコマンドをＥｇｒｅｓｓＲＢ１０−３へ送信してトレース試験の登録を行う。
【００９１】
〔ステップＳ２０ａ〕Ｉｎｇｒｅｓｓ ＲＢ１０−１は、管理サーバ４０から送信されたコマンドにもとづいてトレース試験登録動作を行う。
〔ステップＳ２０ｂ〕Ｅｇｒｅｓｓ ＲＢ１０−３は、管理サーバ４０から送信されたコマンドにもとづいてトレース試験登録動作を行う。
【００９２】
〔ステップＳ１２〕ユーザ端末５１からユーザパケットがＩｎｇｒｅｓｓＲＢ１０−１へ送信される。
〔ステップＳ３０〕Ｉｎｇｒｅｓｓ ＲＢ１０−１は、ユーザ端末５１から送信されたユーザパケットを受信し、Ｒｅｌａｙ ＲＢ１０−２へユーザパケットを送信するまでのパケット送受信処理を行う。
【００９３】
〔ステップＳ１３〕Ｉｎｇｒｅｓｓ ＲＢ１０−１は、ユーザパケットをＲｅｌａｙ ＲＢ１０−２へ送信する。
〔ステップＳ４０〕Ｒｅｌａｙ ＲＢ１０−２は、パケット中継処理を行う。
【００９４】
〔ステップＳ１４〕Ｒｅｌａｙ ＲＢ１０−２は、ユーザパケットをＥｇｒｅｓｓ ＲＢ１０−３へ送信する。
〔ステップＳ５０〕Ｅｇｒｅｓｓ ＲＢ１０−３は、Ｒｅｌａｙ ＲＢ１０−２から送信されたユーザパケットを受信し、宛先のユーザ端末５２へユーザパケットを送信するまでのパケット送受信処理を行う。
【００９５】
〔ステップＳ１５〕Ｅｇｒｅｓｓ ＲＢ１０−３は、ユーザパケットをユーザ端末５２へ送信する。
〔ステップＳ１６〕Ｅｇｒｅｓｓ ＲＢ１０−３は、トレース試験が行われた場合、トレース試験結果（試験パケットの通過履歴）を管理サーバ４０へ通知する。
【００９６】
＜フローチャート＞
次にＲＢ１０の動作フローについて図９から図１２を用いて説明する。図９はトレース試験登録処理の動作を示すフローチャートである。図８のステップＳ２０ａ、２０ｂの詳細動作フローを示している。
【００９７】
管理サーバ４０から送信されたコマンドがＩｎｇｒｅｓｓ ＲＢ１０−１およびＥｇｒｅｓｓ ＲＢ１０−３で受信されると、トレース試験登録処理が行われる。この処理は、ＩｎｇｒｅｓｓＲＢ１０−１およびＥｇｒｅｓｓ ＲＢ１０−３で共通である。以降ではＩｎｇｒｅｓｓＲＢ１０−１およびＥｇｒｅｓｓ ＲＢ１０−３をＩｎｇｒｅｓｓ／ＥｇｒｅｓｓＲＢと表記する。
【００９８】
〔ステップＳ２１〕Ｉｎｇｒｅｓｓ／Ｅｇｒｅｓｓ ＲＢは、管理サーバ４０から送信されたコマンドを受信する。
〔ステップＳ２２〕Ｉｎｇｒｅｓｓ／Ｅｇｒｅｓｓ ＲＢは、コマンドの振分を行う。受信したコマンドがトレース試験登録コマンドの場合はステップＳ２４へ処理が進み、トレース試験登録コマンド以外の場合はステップＳ２３へ処理が進む。
【００９９】
〔ステップＳ２３〕Ｉｎｇｒｅｓｓ／Ｅｇｒｅｓｓ ＲＢは、既存コマンドの処理を行う。
〔ステップＳ２４〕Ｉｎｇｒｅｓｓ／Ｅｇｒｅｓｓ ＲＢは、トレース試験登録コマンドに設定されているトレース試験情報（ＶＬＡＮタグおよびポート番号）の正常性をチェックする。
【０１００】
例えば、トレース試験用のＶＬＡＮタグの数値範囲およびポート番号の数値範囲はあらかじめ設定されており、トレース試験登録コマンドに設定されているＶＬＡＮタグおよびポート番号の値が、設定された数値の範囲内で有効な値になっている否かがチェックされる。
【０１０１】
〔ステップＳ２５〕Ｉｎｇｒｅｓｓ／Ｅｇｒｅｓｓ ＲＢは、トレース試験情報を保持する。
図１０はＩｎｇｒｅｓｓ ＲＢにおけるパケット送受信処理の動作を示すフローチャートである。トレース試験機能を持つＩｎｇｒｅｓｓ ＲＢ１０−１における図８のステップＳ３０の詳細動作フローを示している。なお、図１０のフローでは、Ｉｎｇｒｅｓｓ ＲＢ１０−１が自身の識別番号と送信先ＲＢの識別番号を試験パケットのヘッダに付加するものとする。
【０１０２】
〔ステップＳ３１〕Ｉｎｇｒｅｓｓ ＲＢ１０−１は、ユーザパケットを受信する。
〔ステップＳ３２〕Ｉｎｇｒｅｓｓ ＲＢ１０−１は、受信したユーザパケットが試験パケットか、商用時のサービスパケットかを判定する。すなわち、試験パケットの識別情報としてあらかじめ登録されているＶＬＡＮタグおよびポート番号が、受信したユーザパケットに設定されているか否かが判定される。受信したユーザパケットが試験パケットの場合はステップＳ３４へ処理が進み、サービスパケットの場合はステップＳ３３へ処理が進む。
【０１０３】
〔ステップＳ３３〕Ｉｎｇｒｅｓｓ ＲＢ１０−１は、既存のサービスパケット処理を行う。
〔ステップＳ３４〕Ｉｎｇｒｅｓｓ ＲＢ１０−１は、ＴＲＩＬＬヘッダを試験パケットに追加する。
【０１０４】
〔ステップＳ３５〕Ｉｎｇｒｅｓｓ ＲＢ１０−１は、ＴＲＩＬＬヘッダのパケット種別に試験パケットである旨を設定する。
〔ステップＳ３６〕Ｉｎｇｒｅｓｓ ＲＢ１０−１は、ＴＲＩＬＬヘッダのオプション領域に自身のＲＢ番号（自ＲＢ番号）を付加する。なお、ＲＢ番号は、ＴＲＩＬＬネットワーク内で一意に決まるＲＢの識別番号である。
【０１０５】
〔ステップＳ３７〕Ｉｎｇｒｅｓｓ ＲＢ１０−１は、ＴＲＩＬＬヘッダのオプション領域に、隣接する送信先ＲＢのＲＢ番号を付加する。
〔ステップＳ３８〕Ｉｎｇｒｅｓｓ ＲＢ１０−１は、ＴＲＩＬＬヘッダでカプセル化した試験パケットを送信先ＲＢへ送信する。
【０１０６】
上記のように、Ｉｎｇｒｅｓｓ ＲＢ１０−１は、試験パケットの最初の送信ノードであるので、受信した試験パケットのＴＲＩＬＬヘッダにはＲＢ番号の付加はないので、ＩｎｇｒｅｓｓＲＢ１０−１において自ＲＢ番号と送信先ＲＢ番号を付加して転送する。
【０１０７】
図１１はＲｅｌａｙ ＲＢにおけるパケット中継処理の動作を示すフローチャートである。トレース試験機能を持つＲｅｌａｙ ＲＢ１０−２における図８のステップＳ４０の詳細動作フローを示している。
【０１０８】
〔ステップＳ４１〕Ｒｅｌａｙ ＲＢ１０−２は、ユーザパケットを受信する。
〔ステップＳ４２〕Ｒｅｌａｙ ＲＢ１０−２は、受信したユーザパケットが試験パケットかサービスパケットかを判定する。この場合、ＴＲＩＬＬヘッダに設定されているパケット種別が試験パケットになっているか否かが判定される。受信したユーザパケットが試験パケットの場合はステップＳ４４へ処理が進み、サービスパケットの場合はステップＳ４３へ処理が進む。
【０１０９】
〔ステップＳ４３〕Ｒｅｌａｙ ＲＢ１０−２は、既存のサービスパケット処理を行う。
〔ステップＳ４４〕Ｒｅｌａｙ ＲＢ１０−２は、ＴＲＩＬＬヘッダの更新を行う（例えば、ＭＡＣ（Media Access Control）アドレスの更新やホップカウントの更新等）。
【０１１０】
〔ステップＳ４５〕Ｒｅｌａｙ ＲＢ１０−２は、ＴＲＩＬＬヘッダのオプション領域に設定されている経路情報（最新のＲＢ番号情報）の判定を行う。最新のＲＢ番号が自ＲＢ番号の場合はステップＳ４８へ処理が進む。最新のＲＢ番号が隣接する送信元のＲＢ番号の場合はステップＳ４６へ処理が進む。最新のＲＢ番号が自ＲＢ番号でも隣接する送信元のＲＢ番号でもない場合はステップＳ４７へ処理が進む。
【０１１１】
〔ステップＳ４６〕Ｒｅｌａｙ ＲＢ１０−２は、ＴＲＩＬＬヘッダのオプション領域に自ＲＢ番号を追加する。
〔ステップＳ４７〕Ｒｅｌａｙ ＲＢ１０−２は、隣接する送信元ＲＢは試験機能を有していないと判定し、ＴＲＩＬＬヘッダのオプション領域に隣接する送信元のＲＢ番号および自ＲＢ番号を追加する（送信元のＲＢ番号、自ＲＢ番号の順に追加する）。
【０１１２】
なお、隣接する送信元のＲＢ番号を補填する場合、Ｒｅｌａｙ ＲＢ１０−２は、補填したＲＢ番号であることが認識されるように、例えば、フラグを設定する。これにより、ＲＢ番号の通過リストの中で、フラグが設定されたＲＢ番号は、試験機能を持たないＲＢのＲＢ番号であることが容易に認識できる。
【０１１３】
〔ステップＳ４８〕Ｒｅｌａｙ ＲＢ１０−２は、ＴＲＩＬＬヘッダのオプション領域に隣接送信先ＲＢ番号を追加する。
〔ステップＳ４９〕Ｒｅｌａｙ ＲＢ１０−２は、送信先のＲＢへＴＲＩＬＬヘッダでカプセル化した試験パケットを送信する。
【０１１４】
上記のステップＳ４５のようなＲＢ番号の判定を行うことで、隣接装置が試験機能を有しているか否かについて、試験パケットを受信したＲＢが判定することができる。
図１２はＥｇｒｅｓｓ ＲＢにおけるパケット送受信処理の動作を示すフローチャートである。図８のステップＳ５０の詳細動作フローを示している。
【０１１５】
〔ステップＳ５１〕Ｅｇｒｅｓｓ ＲＢ１０−３は、ユーザパケットを受信する。
〔ステップＳ５２〕Ｅｇｒｅｓｓ ＲＢ１０−３は、受信したユーザパケットが試験パケットか、商用時のサービスパケットかを判定する。すなわち、試験パケットの識別情報としてあらかじめ登録されているＶＬＡＮタグおよびポート番号が、受信したユーザパケットに設定されているか否かが判定される。受信したユーザパケットが試験パケットの場合はステップＳ５４へ処理が進み、サービスパケットの場合はステップＳ５３へ処理が進む。
【０１１６】
〔ステップＳ５３〕Ｅｇｒｅｓｓ ＲＢ１０−３は、既存のパケット処理を行う。
〔ステップＳ５４〕Ｅｇｒｅｓｓ ＲＢ１０−３は、ＴＲＩＬＬヘッダのオプション領域に設定されている経路情報（最新のＲＢ番号情報）の判定を行う。最新のＲＢ番号が自ＲＢ番号の場合はステップＳ５７へ処理が進む。最新のＲＢ番号が隣接する送信元のＲＢ番号の場合はステップＳ５５へ処理が進む。最新のＲＢ番号が自ＲＢ番号でも隣接する送信元のＲＢ番号でもない場合はステップＳ５６へ処理が進む。
【０１１７】
〔ステップＳ５５〕Ｅｇｒｅｓｓ ＲＢ１０−３は、ＴＲＩＬＬヘッダのオプション領域に自ＲＢ番号を追加する。
〔ステップＳ５６〕Ｅｇｒｅｓｓ ＲＢ１０−３は、ＴＲＩＬＬヘッダのオプション領域に対して、隣接する送信元のＲＢ番号および自ＲＢ番号の順に付加する。
【０１１８】
〔ステップＳ５７〕Ｅｇｒｅｓｓ ＲＢ１０−３は、ＴＲＩＬＬヘッダの更新情報を退避して、カプセル化の解除を行い、宛先のユーザ端末へ試験パケットを送信する（または試験パケットはＥｇｒｅｓｓＲＢ１０−３で終端されてもよい）。
【０１１９】
なお、隣接する送信元のＲＢ番号を補填する場合、Ｅｇｒｅｓｓ ＲＢ１０−３は、補填したＲＢ番号であることが認識されるように、例えば、フラグを設定する。これにより、ＲＢ番号の通過リストの中で、フラグが設定されたＲＢ番号は、試験機能を持たないＲＢのＲＢ番号であることが容易に認識できる。
【０１２０】
〔ステップＳ５８〕Ｅｇｒｅｓｓ ＲＢ１０−３は、ＴＲＩＬＬヘッダのオプション領域に蓄積された試験パケットの通過リスト情報（試験パケットが通過したＲＢのＲＢ番号リスト）を抽出する。
【０１２１】
そして、Ｅｇｒｅｓｓ ＲＢ１０−３は、ソフトウェア部で予め算出され管理されているパケット転送経路情報（管理情報）と、抽出した通過リスト情報とを比較して、不足しているＲＢ番号がある場合、パケット転送経路情報から不足しているＲＢ番号を補填する。
【０１２２】
〔ステップＳ５９〕Ｅｇｒｅｓｓ ＲＢ１０−３は、補填データを含む通過リスト情報を管理サーバ４０へ通知する。
＜ＴＲＩＬＬパケットのフィールド構成＞
図１３はＴＲＩＬＬパケットのフィールド構成の一例を示す図である。ＴＲＩＬＬパケットｐｔ０は、ヘッダ部、ペイロード部およびFCS（Frame Check Sequence）を備える。
【０１２３】
ヘッダ部には、Outer Ethernet Header、TRILL HeaderおよびInner Ethernet Headerが含まれる。なお、Inner Ethernet Header、ペイロード部およびFCSでネイティブパケットが形成される。
【０１２４】
Outer Ethernet Headerは、Destination MAC Address、Source MAC Address、EthertypeおよびVLAN Tag Informationを含む。
Destination MAC Addressは、送信先ＲＢのＭＡＣアドレスであり、Source MAC Addressは、送信元ＲＢのＭＡＣアドレスである。Ethertypeは、C−Tagとして０ｘ８１００が設定される。VLAN Tag InformationにはＶＬＡＮタグが設定される。
【０１２５】
また、TRILL Headerは、Ethertype、V（Version）、R（Reserved）、M（Multi Destination）、Op−Len（Option Length）、Hop Count、Egress Nickname、Ingress NameおよびTRILL Option Fieldを含む。
【０１２６】
Ethertypeには、ＴＲＩＬＬパケットであることを示す０ｘ２２Ｆ３が設定される。Vはバージョンであり０固定である。Rは予備（０）であるが本発明では、０を通常パケット（サービスパケット）、１を試験パケットとして使用する。
【０１２７】
Mは、Ｅｇｒｅｓｓ ＲＢがMulti Destinationであるか否かを示す。Op−Lenは、TRILL Option Fieldの長さを示す（Op−Lenが０の場合、TRILL Option Fieldは存在しない）。Hop Countはホップ数を示す。Egress Nicknameは、Ｅｇｒｅｓｓ ＲＢのニックネームを示し、Ingress Nameは、Ｉｎｇｒｅｓｓ ＲＢのニックネームを示す。TRILL Option Fieldは、通過リスト情報を設定するフィールドとして使用される。
【０１２８】
さらに、Inner Ethernet Headerは、Destination MAC Address、Source MAC Address、Ethertype＝C−Tag、VLAN Tag InformationおよびEthertype of Payloadを含む。
図１４はＴＲＩＬＬオプション領域の使用例を示す図である。TRILL Option Field１ｆは、Trace list（通過リスト情報）を含み、Trace listには、ＲＢの通過履歴が付加される。また、Trace listは、seq、flagおよびRB infoの各フィールドを含む。
【０１２９】
seqは通過順番を示す。flagは、ＲＢ番号を送信時に補填したのか、受信時に補填したのかを示す。具体的には、受信時に補填した場合は1が設定され（隣接する送信元のＲＢ番号を補填した場合）、受信時以外に補填した場合は０が設定される。
【０１３０】
受信時に補填した場合、補填する送信元ＲＢより手前の通過ＲＢがいくつ存在したのか自ＲＢでは判断がつかないため、推測データである旨を管理サーバ４０が認識するために使用される。RB infoには、ＲＢ番号が付加される。
【０１３１】
＜動作の具体例＞
最初に本発明の適用のない（トレース試験機能を持たない）動作について図１５、図１６を用いて説明する。図１５はパケット転送の一例を示す図である。ＴＲＩＬＬネットワーク２０ｃは、ＥＳ２１、２２、および試験機能を持たないＲＢ１ａ、・・・、６ａを有する。なお、以降の説明では、「ポート番号ｐのポート」を単に「ポートｐ」と呼ぶ場合がある。
【０１３２】
ＴＲＩＬＬネットワーク２０ｃのノード間接続関係において、ＥＳ２１は、ＲＢ１ａのポートＡに接続され、ＥＳ２２は、ＲＢ６ａのポートＢに接続される。ＲＢ１ａのポートｐ１はＲＢ２ａのポートｐ２に接続され、ＲＢ１ａのポートｐ７はＲＢ３ａのポートｐ８に接続される。
【０１３３】
ＲＢ２ａのポートｐ３はＲＢ４ａのポートｐ４に接続され、ＲＢ２ａのポートｐ１４はＲＢ５ａのポートｐ１５に接続される。ＲＢ３ａのポートｐ１３はＲＢ４ａのポートｐ１６に接続され、ＲＢ３ａのポートｐ９はＲＢ５ａのポートｐ１０に接続される。ＲＢ４ａのポートｐ５はＲＢ６ａのポートｐ６に接続され、ＲＢ５ａのポートｐ１１はＲＢ６ａのポートｐ１２に接続される。
【０１３４】
また、ＲＢ１ａ（Ｉｎｇｒｅｓｓ ＲＢ１ａ）およびＲＢ６ａ（Ｅｇｒｅｓｓ ＲＢ６ａ）は、ＶＬＡＮタグ＝７のＶＬＡＮ（以下、ＶＬＡＮ７と表記）を試験登録するものとする。
【０１３５】
さらに、試験パケットの経路Ｐｓ１は、ＥＳ２１→ＲＢ１ａ→ＲＢ３ａ→ＲＢ５ａ→ＲＢ６ａ→ＥＳ２２とする。パケット通過時のホップ数（ｈｏｐ）については、ＲＢ１ａのパケット通過時はｈｏｐ＝０、ＲＢ３ａの通過時はｈｏｐ＝１、ＲＢ５ａの通過時はｈｏｐ＝２、ＲＢ６ａの通過時はｈｏｐ＝３とする。
【０１３６】
図１６は通過経路上のＲＢで出力される試験パケットの一例を示す図である。ＲＢ１ａ、３ａ、５ａ、６ａでは、ＶＬＡＮ毎に自動生成された経路を管理する。この例では、ＲＢ１ａは、ＶＬＡＮ７の経路Ｐｓ１として、ＲＢ１ａ→ＲＢ３ａ→ＲＢ５ａ→ＲＢ６ａを管理する。ＲＢ３ａ、５ａ、６ａも同様の経路管理を行う。
【０１３７】
一方、ＲＢ１ａ、・・・、６ａでは、トレース試験機能を持たないため、通過する試験パケットに対してＲＢ番号の付加を行わない。よって、ＲＢ１ａでは、ポート情報が送信元ポート番号Ｄ＝ｐ７および送信先ポート番号Ｓ＝ｐ８としたＴＲＩＬＬヘッダをユーザデータに付加した試験パケット３１を出力する。
【０１３８】
また、ＲＢ３ａでは、ポート情報が送信元ポート番号Ｓ＝ｐ９および送信先ポート番号Ｄ＝ｐ１０としたＴＲＩＬＬヘッダをユーザデータに付加した試験パケット３２を出力する。
【０１３９】
さらに、ＲＢ５ａでは、ポート情報が送信元ポート番号Ｓ＝ｐ１１および送信先ポート番号Ｄ＝ｐ１２としたＴＲＩＬＬヘッダをユーザデータに付加した試験パケット３３を出力する。
【０１４０】
このように、トレース試験機能を持たないＲＢで構築されたＴＲＩＬＬネットワーク２０ｃでは、通過経路上のＲＢ１ａ、３ａ、５ａにおいて、通過する試験パケットに対してＲＢ番号の付加が行われない。このため、通過履歴が試験パケットのヘッダに残らず、通過履歴の記憶管理が行われない。
【０１４１】
＜全ＲＢがトレース試験機能を持つ場合の動作＞
図１７はパケット転送の一例を示す図である。ＴＲＩＬＬネットワーク２０ｃ−１を構築する全ＲＢがトレース試験機能を持つとする（全ＲＢに本発明が適用されている）。
【０１４２】
ＴＲＩＬＬネットワーク２０ｃ−１は、ＥＳ２１、２２およびＲＢ１、・・・、６を有する。ＲＢ１、・・・、６それぞれの識別番号をＲＢ＃１、・・・、ＲＢ＃６とする。なお、ＴＲＩＬＬネットワーク２０ｃ−１は、図１５に示したＲＢ１ａ、・・・、６ａをＲＢ１、・・・、６に置き換えたものであり、ノード間接続関係等は図１５と同じなので接続関係等の説明は省略する。
【０１４３】
図１８は通過経路上のＲＢで出力される試験パケットの一例を示す図である。ＲＢ１、３、５、６では、ＶＬＡＮ毎に自動生成された経路を管理する。図１５と同様に、ＲＢ１は、ＶＬＡＮ７の経路Ｐｓ１として、ＲＢ１→ＲＢ３→ＲＢ５→ＲＢ６を管理する。ＲＢ３、５、６も同様の経路管理を行う。
【０１４４】
一方、ＲＢ１、３、５では、通過する試験パケットに対してＴＲＩＬＬヘッダのオプション領域にＲＢ番号の付加を行う。
ＲＢ１では、ＴＲＩＬＬヘッダのオプション領域に、（通過順番、ＲＢ番号）＝（０、ＲＢ＃１）を付加する。そして、ＲＢ１は、ポート情報が送信元ポート番号Ｓ＝ｐ７および送信先ポート番号Ｄ＝ｐ８であって、ＲＢ番号＝ＲＢ＃１が付加されたＴＲＩＬＬヘッダを付加した試験パケット３１ａを出力する。
【０１４５】
また、ＲＢ３では、ＴＲＩＬＬヘッダのオプション領域に、（通過順番、ＲＢ番号）＝（１、ＲＢ＃３）を付加する。そして、ＲＢ３は、ポート情報が送信元ポート番号Ｓ＝ｐ９および送信先ポート番号Ｄ＝ｐ１０であって、ＲＢ番号＝ＲＢ＃１、ＲＢ＃３が付加されたＴＲＩＬＬヘッダを付加した試験パケット３２ａを出力する。
【０１４６】
さらに、ＲＢ５では、ＴＲＩＬＬヘッダのオプション領域に、（通過順番、ＲＢ番号）＝（２、ＲＢ＃５）を付加する。そして、ＲＢ５は、ポート情報が送信元ポート番号Ｓ＝ｐ１１および送信先ポート番号Ｄ＝ｐ１２であって、ＲＢ番号＝ＲＢ＃１、ＲＢ＃３、ＲＢ＃５が付加されたＴＲＩＬＬヘッダを付加した試験パケット３３ａを出力する。
【０１４７】
このように、全ＲＢがトレース試験機能を有するＴＲＩＬＬネットワーク２０ｃ−１では、通過経路上のＲＢ１、３、５において、通過する試験パケットに対して自ＲＢ番号の付加が行われる。
【０１４８】
このため、通過履歴が試験パケットのヘッダに蓄積されるので、例えば、ＥｇｒｅｓｓＲＢ６で通過履歴の記憶管理を行うことが可能になる。また、Ｅｇｒｅｓｓ ＲＢ６では、この通過履歴を管理サーバ４０へ通知する。これにより、管理サーバ４０は、実際に試験パケットが通過した経路を容易に取得することが可能になる。
【０１４９】
＜トレース試験機能を持つＲＢと該機能を持たないＲＢとが混在する場合の動作＞
上記では、トレース試験機能を有するＲＢ（以下、適用ＲＢと表記する場合がある）でＴＲＩＬＬネットワークが構築される例について説明した。これに対し、試験パケットが通過する経路上でトレース試験機能を持たない、すなわちＲＢ番号付加機能を持たないＲＢ（以下、非適用ＲＢと表記する場合がある）が存在する場合がある。
【０１５０】
このような混在型のＴＲＩＬＬネットワークに対して、本発明では非適用ＲＢで付加されなかったＲＢ番号を適用ＲＢで補填する制御を行う。以降では、ＲＢ番号補填制御の３つのパターンについて説明する。
【０１５１】
（ＲＢ番号補填制御のパターン１）
図１９はパケット転送の一例を示す図である。ＴＲＩＬＬネットワーク２０ｃ−２において、経路Ｐｓ２上にＲＢ１、３ａ、５、６が位置している。ＲＢ１、５、６は、制御部１１の機能（試験機能）を有し、ＲＢ１、５は、ＲＢ番号の付加を行うとする。また、ＲＢ３ａは、制御部１１の機能を持たず、ＲＢ番号の付加を行わないとする（ＲＢ３ａのＲＢ番号＝ＲＢ＃３ａとする）。
【０１５２】
図２０は通過経路上のＲＢで出力される試験パケットの一例を示す図であり、図２１はＲＢ番号の補填制御の一例を示す図である。ＲＢ１、３ａ、５、６では、ＶＬＡＮ毎に自動生成された経路を管理する。ＲＢ１は、ＶＬＡＮ７の経路Ｐｓ２として、ＲＢ１→ＲＢ３ａ→ＲＢ５→ＲＢ６を管理する。ＲＢ３ａ、５、６も同様の経路管理を行う。
【０１５３】
一方、ＲＢ番号補填制御のパターン１では、ＲＢ番号付加機能を持たないＲＢへ試験パケットを送信する送信側ＲＢがＲＢ番号の補填を行うものである。
ＲＢ１では、ＴＲＩＬＬヘッダのオプション領域に、自ＲＢ番号と、送信先ＲＢ３ａのＲＢ番号とを付加する。なお、ＲＢ１は、装置情報として隣接送信先のＲＢ＃３ａが試験機能を持たない装置であることを予め認識している。
【０１５４】
この例では、ＲＢ１は、（通過順番、ＲＢ番号）＝（０、ＲＢ＃１）、（１、ＲＢ＃３ａ）を付加する。また、ＲＢ１は、送信元ポート番号Ｓ＝ｐ７および送信先ポート番号Ｄ＝ｐ８を設定する。そして、ＲＢ１は、ＲＢ＃１、ＲＢ＃３ａが付加されたＴＲＩＬＬヘッダを含む試験パケット３１ｂをＲＢ３ａへ送信する。
【０１５５】
ＲＢ３ａは、試験パケット３１ｂを受信すると、送信元ポート番号Ｓ＝ｐ９および送信先ポート番号Ｄ＝ｐ１０を設定する。そして、ＲＢ３ａは、ＲＢ番号＃１、＃３ａが付加されているＴＲＩＬＬヘッダを含む試験パケット３２ｂをＲＢ５へ送信する。
【０１５６】
ＲＢ５は、ＴＲＩＬＬヘッダのオプション領域に、（通過順番、ＲＢ番号）＝（２、ＲＢ＃５）を付加する。したがって、ＴＲＩＬＬヘッダのオプション領域には、（通過順番、ＲＢ番号）＝（０、ＲＢ＃１）、（１、ＲＢ＃３ａ）、（２、ＲＢ＃５）が付加された状態になる。また、ＲＢ５は、送信元ポート番号Ｓ＝ｐ１１および送信先ポート番号Ｄ＝ｐ１２を設定する。そして、ＲＢ５は、ＲＢ＃１、ＲＢ＃３ａ、ＲＢ＃５が付加されたＴＲＩＬＬヘッダを含む試験パケット３３ｂをＲＢ６へ送信する。
【０１５７】
このように、ＲＢ番号補填制御のパターン１では、ＲＢ番号付加機能を持たないＲＢ３ａへ試験パケットを送信するＲＢ１が、自ＲＢ番号の付加に加えて、送信先ＲＢ３ａのＲＢ番号＃３ａを補填する。
【０１５８】
これにより、トレース試験機能を持たないＲＢが存在する場合でもＲＢ番号抜けを防止することができ、試験パケットの通過履歴の記憶管理を行うことが可能になる。
（ＲＢ番号補填制御のパターン２）
図２２は通過経路上のＲＢで出力される試験パケットの一例を示す図であり、図２３はＲＢ番号の補填制御の一例を示す図である。ＲＢ番号補填制御のパターン２では、ＲＢ番号付加機能を持たないＲＢから送信された試験パケットを受信する受信側ＲＢがＲＢ番号の補填を行うものである。
【０１５９】
ＲＢ１は、ＴＲＩＬＬヘッダのオプション領域に、（通過順番、ＲＢ番号）＝（０、ＲＢ＃１）を付加する。また、ＲＢ１は、送信元ポート番号Ｓ＝ｐ７および送信先ポート番号Ｄ＝ｐ８を設定する。そして、ＲＢ１は、ＲＢ番号＃１が付加されたＴＲＩＬＬヘッダを含む試験パケット３１ｃをＲＢ３ａへ送信する。
【０１６０】
ＲＢ３ａは、試験パケット３１ｃを受信すると、送信元ポート番号Ｓ＝ｐ９および送信先ポート番号Ｄ＝ｐ１０を設定する。そして、ＲＢ３ａは、ＲＢ番号＃１が付加されているＴＲＩＬＬヘッダを含む試験パケット３２ｃをＲＢ５へ送信する。
【０１６１】
ＲＢ５は、試験パケット３２ｃを受信すると、自ＲＢ番号＝ＲＢ＃５を付加する前に、ＴＲＩＬＬヘッダのオプション領域に付加されている最新のＲＢ番号と送信元ポート番号をチェックする。すなわち、オプション領域に付加されている最新のＲＢ番号を持つＲＢが、自身に隣接して接続される隣接送信元ＲＢであるか否かがチェックされる。
【０１６２】
ＲＢ５では、オプション領域に付加されている最新のＲＢ番号を持つＲＢが、隣接送信元ＲＢでないと判定した場合、隣接送信元ＲＢのＲＢ番号をオプション領域に付加し、その後に自ＲＢ番号を付加する。
【０１６３】
この例では、ＲＢ５が受信した試験パケット３２ｃのＴＲＩＬＬヘッダのオプション領域に付加されている最新のＲＢ番号＝ＲＢ＃１であり、また送信元ポート番号はｐ９である。ＲＢ１はポートｐ９を有していないので（図１９）、ＲＢ５は、ＲＢ１は隣接送信元ＲＢでないことを認識する。
【０１６４】
よって、ＲＢ５は、ポートｐ９を持つＲＢ３ａが抜けていることを経路情報から検出して、ＴＲＩＬＬヘッダのオプション領域に（通過順番、ＲＢ番号）＝（１、ＲＢ＃３ａ）を付加した後、自身の（通過順番、ＲＢ番号）＝（２、ＲＢ＃５）を付加する。したがって、ＴＲＩＬＬヘッダのオプション領域には、（通過順番、ＲＢ番号）＝（０、ＲＢ＃１）、（１、ＲＢ＃３ａ）、（２、ＲＢ＃５）が付加された状態になる。
【０１６５】
また、ＲＢ５は、送信元ポート番号Ｓ＝ｐ１１および送信先ポート番号Ｄ＝ｐ１２を設定する。そして、ＲＢ５は、ＲＢ番号＃１、＃３ａ、＃５が付加されたＴＲＩＬＬヘッダを含む試験パケット３３ｃをＲＢ６へ送信する。
【０１６６】
このように、ＲＢ番号補填制御のパターン２では、試験パケットの経路情報を認知しているので、ＴＲＩＬＬヘッダのオプション領域に付加されている最新のＲＢ番号と送信元ポート番号をチェックすることで、隣接ＲＢが本発明を適用したＲＢかを判断する。これにより、トレース試験機能を持たないＲＢが存在する場合でもＲＢ番号抜けを防止することができ、試験パケットの通過履歴の記憶管理を行うことが可能になる。
【０１６７】
（ＲＢ番号補填制御のパターン３）
図２４は通過経路上のＲＢで出力される試験パケットの一例を示す図である。ＲＢ１、３ａ、５、６では、上記と同様に、ＶＬＡＮ毎に自動生成された経路を管理する。
【０１６８】
一方、ＲＢ１では、ＴＲＩＬＬヘッダのオプション領域に、（通過順番、ＲＢ番号）＝（０、ＲＢ＃１）を付加する。また、ＲＢ１は、送信元ポート番号Ｓ＝ｐ７および送信先ポート番号Ｄ＝ｐ８を設定する。そして、ＲＢ１は、ＲＢ番号＃１が付加されたＴＲＩＬＬヘッダを含む試験パケット３１ｄをＲＢ３ａへ送信する。
【０１６９】
ＲＢ３ａは、試験パケット３１ｄを受信すると、送信元ポート番号Ｓ＝ｐ９および送信先ポート番号Ｄ＝ｐ１０を設定する。そして、ＲＢ３ａは、ＲＢ番号＃１が付加されているＴＲＩＬＬヘッダを含む試験パケット３２ｄをＲＢ５へ送信する。
【０１７０】
ＲＢ５では、ＴＲＩＬＬヘッダのオプション領域に、（通過順番、ＲＢ番号）＝（１、ＲＢ＃５）を付加する。したがって、ＴＲＩＬＬヘッダのオプション領域には、（通過順番、ＲＢ番号）＝（０、ＲＢ＃１）、（１、ＲＢ＃５）が付加された状態になる。
【０１７１】
また、ＲＢ５は、送信元ポート番号Ｓ＝ｐ１１および送信先ポート番号Ｄ＝ｐ１２を設定する。そして、ＲＢ５は、ＲＢ番号＝ＲＢ＃１、＃５が付加されたＴＲＩＬＬヘッダを含む試験パケット３３ｄをＲＢ６へ送信する。
【０１７２】
図２５はＲＢ番号の補填制御の一例を示す図である。管理サーバ４０は、ＴＲＩＬＬヘッダのオプション領域に付加されたＲＢ番号から、通過したＲＢ番号を検出可能である。しかし、この例では、ＲＢ１とＲＢ５の間におけるＲＢ番号（ＲＢ＃３ａ）が抜けているので正確な通過履歴を検出できない。
【０１７３】
したがって、ＲＢ番号補填制御のパターン３では、経路Ｐｓ２の到達点であるＥｇｒｅｓｓＲＢ６が、ＴＲＩＬＬヘッダのオプション領域に付加されていないＲＢ１とＲＢ５の間のＲＢ番号を、あらかじめ管理されているパケット転送経路の管理情報から補填するものである。
【０１７４】
この例では、ＲＢ６は、管理情報にもとづいて、ＲＢ＃１とＲＢ＃５の間のＲＢ番号をＲＢ＃３ａと検出し、ＲＢ＃１とＲＢ＃５の間にＲＢ＃３ａを補填した通過履歴を生成する。そして、ＲＢ６は、ＲＢ＃１、ＲＢ＃３ａ、ＲＢ＃５、ＲＢ＃６を含む通過リスト情報を管理サーバ４０へ通知する。
【０１７５】
ただし、ＲＢ＃３ａは管理情報から補填したものなので、ＲＢ６は、ＲＢ＃３ａは推測データであることを示すフラグを立てて通過履歴を通知する。管理サーバ４０は、フラグが付加されたＲＢ番号を検出することで、該ＲＢ番号は推測値であり、また該ＲＢ番号のＲＢは試験機能を持たないＲＢであることを容易に認識することができる。
【０１７６】
なお、上記のパターン３の補填制御では、試験パケットの到達点であるＥｇｒｅｓｓＲＢ６で、管理情報と通過リスト情報とを対比させてＥｇｒｅｓｓ ＲＢ６で一括して補填するので、パターン３だけで通過履歴を生成することもできる。またはパターン３の補填制御を、パターン１、２の制御を実施した後に適用してもよい。
【０１７７】
すなわち、Ｅｇｒｅｓｓ ＲＢ６は、パターン１、２で生成された通過リスト情報を受信した際に、通過リスト情報を管理情報と対比させてＲＢ番号抜けをチェックする。これにより、ＲｅｌａｙＲＢおよびＥｇｒｅｓｓ ＲＢの両方で補填が行われるので、ＲＢ番号抜けを確実に防止することができ、精度の高い通過履歴を記憶管理することができる。
【０１７８】
なお、パターン１、２の補填制御では、自ＲＢのＲＢ番号をヘッダのオプション領域へ付加する際、隣接するＲＢが非適用ＲＢか否かをチェックしながら補填して記録するので、非適用ＲＢが最大２連続までの補填を行うことができる。
【０１７９】
例えば、ＲＢ１−１、１−２、１−３、１−４がシリアルに接続され、ＲＢ１−１、１−４が適用ＲＢ、ＲＢ１−２、１−３が非適用ＲＢとする。この場合、ＲＢ１−１はＲＢ１−２のＲＢ番号を補填でき、ＲＢ１−４は、ＲＢ１−３のＲＢ番号を補填できるので、パターン１、２では最大２連続までの補填を行うことができる。また、最大３連続以上の非適用ＲＢがある場合はパターン３によって補填することができる。
【０１８０】
以上説明したように、本発明によれば、ＴＲＩＬＬヘッダのオプション領域に試験パケットが通過したＲＢのＲＢ番号を記録することで、試験パケットが通過した通過履歴を蓄積させる。通過経路の到達点であるＥｇｒｅｓｓＲＢでは、オプション領域に記録されたＲＢ番号の通過リスト情報を抽出し、管理サーバ４０へ通知する。これにより、ユーザパケットの通過履歴の記憶管理を行うことができ、通過履歴を容易に取得することが可能になる。
【０１８１】
上記で説明した本発明のパケット転送装置１０およびＲＢ１０の処理機能は、コンピュータによって実現することができる。この場合、パケット転送装置１０およびＲＢ１０が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１８２】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等がある。光ディスクには、ＣＤ−ＲＯＭ／ＲＷ等がある。光磁気記録媒体には、ＭＯ（Magneto Optical disk）等がある。
【０１８３】
プログラムを流通させる場合、例えば、そのプログラムが記録されたＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１８４】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
【０１８５】
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤ等の電子回路で実現することもできる。
【０１８６】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１８７】
（付記１）  ＴＲＩＬＬ（Transparent Interconnection of Lots of Links）のルーティングプロトコルを有する複数のパケット転送装置が接続されたネットワークでパケットの転送を行うパケット転送プログラムであって、
前記パケットを受信し、
受信した前記パケットが試験パケットであるか否かを判定し、
前記パケットが前記試験パケットであって、前記試験パケットのヘッダに自パケット転送装置の識別番号の付加がない場合、前記自パケット転送装置の識別番号を前記ヘッダに付加して前記試験パケットを転送する、
処理をコンピュータに実行させるパケット転送プログラム。
【０１８８】
（付記２）  前記処理は、隣接装置が試験機能を有していないことを検出した場合、前記隣接装置の識別番号を前記ヘッダに追加して前記試験パケットを転送する付記１記載のパケット転送プログラム。
【０１８９】
（付記３）  前記処理は、
前記隣接装置が前記試験パケットの送信先パケット転送装置であって前記送信先パケット転送装置が前記試験機能を有していないことを検出した場合、
前記試験パケットが転送する前記自パケット転送装置から前記送信先パケット転送装置への順に、前記自パケット転送装置の識別番号と前記送信先パケット転送装置の識別番号とを前記ヘッダに付加する付記２記載のパケット転送プログラム。
【０１９０】
（付記４）  前記処理は、
前記隣接装置が前記試験パケットの送信元パケット転送装置であって前記送信元パケット転送装置が前記試験機能を有していないことを検出した場合、
前記試験パケットが転送する前記送信元パケット転送装置から前記自パケット転送装置への順に、前記送信元パケット転送装置の識別番号と前記自パケット転送装置の識別番号とを前記ヘッダに付加する付記２記載のパケット転送プログラム。
【０１９１】
（付記５）  前記処理は、
前記ネットワークの出口側パケット転送装置で受信された前記試験パケットの前記ヘッダから、前記試験パケットの転送順に前記識別番号が付加されているリスト情報を抽出し、
前記ネットワーク内でパケット転送が行われる経路が予め管理されている管理情報と、抽出した前記リスト情報とを比較し、前記リスト情報に前記識別番号の抜けがある場合、抜けのある前記識別番号を前記管理情報にもとづき補填して、前記ネットワーク内における前記試験パケットの転送履歴を生成する付記１記載のパケット転送プログラム。
【０１９２】
（付記６）  前記処理は、前記隣接装置が前記試験機能を有していない場合に付加した前記隣接装置の識別番号に対して、前記試験機能を有している前記パケット転送装置によって補填されたことを示す情報を付加する付記２記載のパケット転送プログラム。
【０１９３】
（付記７）  前記処理は、
受信した前記試験パケットの前記ヘッダに付加されている識別番号と、送信元ポート番号とにもとづいて、前記識別番号を有する送信元パケット転送装置が前記送信元ポート番号を有していないことを検出した場合、前記送信元パケット転送装置は前記試験機能を有していないことを検出結果とする付記１記載のパケット転送プログラム。
【０１９４】
（付記８）  前記処理は、前記ネットワーク内で、前記試験パケットが転送する前記パケット転送装置の転送履歴を生成するための試験を行う付記１記載のパケット転送プログラム。
【０１９５】
（付記９）  ＴＲＩＬＬ（Transparent Interconnection of Lots of Links）のルーティングプロトコルを有するパケット転送装置であって、
前記パケットを受信し、受信した前記パケットが試験パケットであるか否かを判定し、前記パケットが前記試験パケットであって、前記試験パケットのヘッダに自パケット転送装置の識別番号の付加がない場合、前記自パケット転送装置の識別番号を前記ヘッダに付加して前記試験パケットを転送する制御部、
を有するパケット転送装置。
【０１９６】
（付記１０）  ＴＲＩＬＬ（Transparent Interconnection of Lots of Links）のルーティングプロトコルを有する複数のパケット転送装置が接続されたネットワークでパケットの転送を行うパケット転送方法であって、
コンピュータが、
前記パケットを受信し、
受信した前記パケットが試験パケットであるか否かを判定し、
前記パケットが前記試験パケットであって、前記試験パケットのヘッダに自パケット転送装置の識別番号の付加がない場合、前記自パケット転送装置の識別番号を前記ヘッダに付加して前記試験パケットを転送するパケット転送方法。
【０１９７】
（付記１１）  複数のパケット転送装置が接続されたネットワークでパケットの転送を行うパケット転送プログラムであって、
前記パケットを受信し、
受信した前記パケットが試験パケットであるか否かを判定し、
前記パケットが前記試験パケットである場合、前記試験パケットのヘッダに少なくとも自パケット転送装置の識別番号を付加して前記試験パケットを転送し、
前記ネットワークの出口側パケット転送装置で受信された前記試験パケットの前記ヘッダから、前記試験パケットの転送順に前記識別番号が付加されているリスト情報を抽出し、
前記ネットワーク内でパケット転送が行われる経路を示す管理情報と、抽出した前記リスト情報とを比較し、前記リスト情報に前記識別番号の抜けがある場合、抜けのある前記識別番号を前記管理情報にもとづき補填して、前記ネットワーク内における前記試験パケットの転送履歴を生成する、
処理をコンピュータに実行させるパケット転送プログラム。
【０１９８】
（付記１２）  複数のパケット転送装置が接続されたネットワークでパケットの転送を行うパケット転送プログラムであって、
前記パケットを受信し、
受信した前記パケットが試験パケットであるか否かを判定し、
前記パケットが前記試験パケットである場合、前記試験パケットのヘッダに付加されているパケット転送装置の識別番号情報の判定を行い、
前記識別番号情報に識別番号の付加がない場合、自パケット転送装置の第１の識別番号と、隣接する送信先パケット転送装置の第２の識別番号を前記ヘッダに付加し、
前記識別番号情報に付加されている最新の値が前記第１の識別番号の場合は、前記第２の識別番号を前記ヘッダに付加し、
前記識別番号情報に付加されている最新の値が隣接する送信元パケット転送装置の第３の識別番号の場合は、前記第１の識別番号および前記第２の識別番号を、前記第１の識別番号および前記第２の識別番号の順に前記ヘッダに付加し、
前記識別番号情報に付加されている最新の値が前記第１の識別番号でも前記第３の識別番号でもない場合、前記第１の識別番号、前記第２の識別番号および前記第３の識別番号を、前記第３の識別番号、前記第１の識別番号および前記第２の識別番号の順に前記ヘッダに付加して、前記試験パケットを転送する、
処理をコンピュータに実行させるパケット転送プログラム。
【符号の説明】
【０１９９】
１０、１０ａ−１、１０ａ−２、１０ａ−３、１０ｂ−１、１０ｂ−２、１０ｃ−１、１０ｃ−２  パケット転送装置
１１、１１ａ−１、１１ａ−２、１１ａ−３、１１ｂ−１、１１ｃ−２  制御部
１２  記憶部
ｐａ１、・・・、ｐａ４、ｐｂ１、ｐｂ２、ｐｃ１、ｐｃ２  試験パケット
＃１０ａ−１、＃１０ａ−２、＃１０ａ−３、＃１０ｂ−１、＃１０ｂ−２、＃１０ｃ−１、＃１０ｃ−２  識別番号
【図１】
2019195141.tif 000003
【図２】
2019195141.tif 000004
【図３】
2019195141.tif 000005
【図４】
2019195141.tif 000006
【図５】
2019195141.tif 000007
【図６】
2019195141.tif 000008
【図７】
2019195141.tif 000009
【図８】
2019195141.tif 000010
【図９】
2019195141.tif 000011
【図１０】
2019195141.tif 000012
【図１１】
2019195141.tif 000013
【図１２】
2019195141.tif 000014
【図１３】
2019195141.tif 000015
【図１４】
2019195141.tif 000016
【図１５】
2019195141.tif 000017
【図１６】
2019195141.tif 000018
【図１７】
2019195141.tif 000019
【図１８】
2019195141.tif 000020
【図１９】
2019195141.tif 000021
【図２０】
2019195141.tif 000022
【図２１】
2019195141.tif 000023
【図２２】
2019195141.tif 000024
【図２３】
2019195141.tif 000025
【図２４】
2019195141.tif 000026
【図２５】
2019195141.tif 000027