(57)【要約】【課題】パケット転送装置（特に、パケットのカプセル化を行うトンネルエントリポイント）が、パケットがカプセル化を受けながら同一経路をループしてしまうトンネリングループの存在を検出できるようにする。【解決手段】本発明に係るルータのループ検出モジュールは、パケットの転送を行う際に、そのパケットのカプセル化ヘッダに設定されているＴＥＬ値（トンネルの重複回数を制限するトンネルカプセル化制限の値）、あるいは、ＩＣＭＰエラーとして返送されるパケットのカプセル化ヘッダに設定されているＴＥＬ値を記憶する。そして、ループ検出モジュールは、記憶したＴＥＬ値の時間に対する増減変化のパターンを分析し、トンネリングループが発生している場合に現れる特有のパターン（鋸歯状のパターン）に一致した場合に、トンネリングループが発生していると推定する。【選択図】図３Ｂ
2009543383.tif 000002
【特許請求の範囲】
【請求項１】
パケット転送機能を有するパケット転送装置内に配置されるトンネリングループ検出制御装置であって、
パケットに含まれる情報を収集する情報収集手段と、
前記情報収集手段によって収集された前記情報を蓄積する情報蓄積手段と、
前記情報蓄積手段によって蓄積された前記情報に基づいて、トンネリングループが起こっているか否かを検出するトンネリングループ検出手段とを、
有するトンネリングループ検出制御装置。
【請求項２】
前記情報収集手段が、前記パケットのトンネルヘッダ内に含まれるトンネルカプセル化制限オプションの値を収集するように構成されている請求項１に記載のトンネリングループ検出制御装置。
【請求項３】
前記情報収集手段が、ＩＣＭＰエラーパケット内に含まれるトンネルカプセル化制限オプションの値を収集するように構成されている請求項１に記載のトンネリングループ検出制御装置。
【請求項４】
前記情報蓄積手段が、所定の個数だけ前に転送した前記パケットから直近に受信した前記パケットのそれぞれに含まれる前記情報を記憶するように構成されている請求項１に記載のトンネリングループ検出制御装置。
【請求項５】
前記トンネリングループ検出手段が、前記情報蓄積手段に蓄積されている前記情報に対して統計処理を行い、その統計処理結果に基づいて、前記トンネリングループが起こっているか否かを推定するように構成されている請求項１に記載のトンネリングループ検出制御装置。
【請求項６】
前記トンネリングループ検出手段が、前記情報蓄積手段に蓄積されている前記情報に関して、時間に対する前記パケットに含まれる情報が示す値の増減パターンを求める処理を行い、その処理結果が、トンネリングループの発生時に特有の鋸歯状のパターンに一致する場合に、前記トンネリングループが起こっていると判断するように構成されている請求項１に記載のトンネリングループ検出制御装置。
【請求項７】
前記パケットを個別に又は特定のグループ別に識別することが可能なパケット選別手段を有しており、前記トンネリングループ検出手段が、前記パケット選別手段で選別された個別のパケットごと又はグループごとに、前記情報蓄積手段によって蓄積された前記情報を解析して、前記トンネリングループが起こっているか否かを検出するように構成されている請求項１に記載のトンネリングループ検出制御装置。
【請求項８】
前記パケット選別手段は、前記パケットに付加されている識別情報に基づいて前記パケットの識別を行うように構成されている請求項７に記載のトンネリングループ検出制御装置。
【請求項９】
前記パケットの最外部ヘッダに前記パケットに付加されている前記識別情報が保持されるように制御する識別情報付加制御手段を有する請求項８に記載のトンネリングループ検出制御装置。
【請求項１０】
前記パケット選別手段が、前記パケットの送信元アドレス及びあて先アドレスのセットごとに前記グループを設定するように構成されている請求項７に記載のトンネリングループ検出制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット交換型データ通信ネットワークにおいて、パケットのカプセル化（パケットのトンネリング）を制御するためのトンネリングループ検出制御装置に関する。
【背景技術】
【０００２】
インターネットプロトコルスイート（Internet Protocol suite）に属する多数のプロトコルでは、パケットカプセル化（あるいは、パケットトンネリング）が利用されている。ＩＰｖ６（Internet Protocol version 6：インターネットプロトコルバージョン６）では、このパケットカプセル化は、主に下記の非特許文献１において定義されている。
【０００３】
例えば、仮想プライベートネットワーク（Virtual Private Network：ＶＰＮ）では、異なる位置に存在する２つ以上のネットワークを相互接続可能として、大規模プライベートネットワークを形成するために、トンネリング技術が用いられる。
【０００４】
また、モバイルＩＰｖ６（Mobile IPv6：ＭＩＰｖ６）のモビリティサポートでは、モバイルノードとホームエージェントとの間のトンネリングの使用によって、モバイルノードは、そのホームアドレスで常に到達可能な状態となる。
【０００５】
また、ＩＰｖ６のネットワークモビリティサポート（ＮＥＭＯ）では、モバイルルータが、自身のホームエージェントとの間にトンネルを確立することによって、ネットワーク全体が、モバイルネットワークのプレフィックスの到達可能な状態を維持したまま、インターネットを移動することが可能となる。
【０００６】
ＩＰｖ６トンネリングでは、内部のＩＰｖ６パケット（インナパケット）を、外部のＩＰｖ６パケット（アウタパケット）のペイロードとするカプセル化が行われる。なお、インナパケットは、ペイロードパケットと呼ばれることもあり、アウタパケットは、トンネルパケットと呼ばれることもある。
【０００７】
トンネリングは、トンネル入口ノード（tunnel entry node）及びトンネル出口ノード（tunnel exit node）の２つのエンティティに関連している。なお、本明細書では、トンネル入口ノードを、トンネルエントリポイント（tunnel entry point）又はＴＥＰと表現し、トンネル出口ノードをトンネル出口ポイントと表現することもある。
【０００８】
トンネル入口ノードは、送信元アドレス（source address）にトンネル入口ノードのアドレスを有するとともに、あて先アドレス（destination address）にトンネル出口ノードのアドレスを有するトンネルパケットに、ペイロードパケットをカプセル化する。トンネルパケットがトンネル出口ノードに到達した場合には、ペイロードパケットはデカプセル化されて、通常通り発送される。これによって、既存のルーティングインフラストラクチャ上に、オーバレイネットワークが効率良く作られる。
【０００９】
さらに、中継ルータがインナパケットの内容を見ることができないように、ペイロードパケットは暗号化されてもよい。トンネリングによって、インナパケットの送信元及びあて先アドレスは隠蔽されるので、既存のルーティングインフラストラクチャでは、単に、アウタパケットに基づく経路の決定のみが行われる。
【００１０】
しかしながら、これにより、トンネルパケットがトンネル出口ノードに到達する前にトンネル入口ノードに戻ってしまうときには、トンネリングループ（tunneling loop）として知られている現象が発生してしまうおそれがある。
【００１１】
また、パケットが複数レベルのカプセル化を被る必要がある場合には、トンネリングループは、より起こりやすくなる。カプセル化によって、インナパケットの送信元アドレスは隠れてしまうので、トンネル入口ノードは、トンネル入口ノード自身が以前にそのパケットのトンネル化を既に行っている旨に気付かない可能性がある。トンネリングループは、ネットワークリソースを瞬間的に消費してしまうので、望ましいものではない。
【００１２】
カプセル化されたパケットには、それぞれ新たなホップリミットフィールド（hop limit field：中継限界数フィールド）が設定されるので、パケットは、トンネリングループ上で（トンネリングループに沿って）無限に発送され続けることになる。その結果、ルーティングのループを防ぐためにホップリミットを使用する既存のメカニズムは、有効ではなくなる。
【００１３】
さらに、各カプセル化によって、パケットには余分なパケットヘッダが付加され、パケットのサイズが大きくなる。パケットサイズが非常に大きくなることで、パケット分割（fragmentation）が行われる可能性もある。その結果、別のパケット（分割されたパケット）がトンネリングループに導入されてしまうことになる。
【００１４】
トンネリングループが起こる可能性がある場合は多数存在する。図１Ａ及び図１Ｂには、トンネリングループが起こることが予想される２つの展開が図示されている。
【００１５】
図１Ａでは、ＭＲ（Mobile Router：モバイルルータ）１１０、ＭＲ１１２、ＭＲ１１４は、インターネット１００を移動している。各モバイルルータによって、トンネリングループが形成される可能性がある。
【００１６】
ここで、ＭＲ１１０は、接続１２０に示されるようにＭＲ１１２に接続されており、ＭＲ１１２は、接続１２２に示されるようにＭＲ１１４に接続されており、ＭＲ１１４は、接続１２４に示されるようにＭＲ１１０に接続されている。モバイルルータの１つ（例えば、ＭＲ１１０）が、自身のＨＡ（Home Agent：ホームエージェント）１４０へのトンネル化を行っている場合には、ＭＲ１１０は、ＨＡ１４０へのトンネル用にパケットをカプセル化して、ＭＲ１１０のアクセスルータであるＭＲ１１２にパケットを渡す。
【００１７】
ＭＲ１１２も、自身のホームエージェントに渡すために、パケットを更にカプセル化する。そして、パケットはＭＲ１１４に渡され、ここでも、パケットのカプセル化が行われる。これは永久に続き、各モバイルルータは、パケットに対して、カプセル化のレイヤを１つずつ付加し続ける。
【００１８】
また、図１Ｂには、ＭＮ（Mobile Node：モバイルノード）１３０が２つのホームアドレス（ＭＮ．ＨｏＡ１及びＭＮ．ＨｏＡ２）を有し、それぞれに対応したホームエージェント（ＨＡ１４０及びＨＡ１４２）が存在する場合の展開が示されている。
【００１９】
ＨＡ１４０は、ホームアドレスＭＮ．ＨｏＡ１を管理しており、ＨＡ１４２は、ホームアドレスＭＮ．ＨｏＡ２を管理している。ＭＮ１３０は、ＨＡ１４０に対して偶然又は意図的に、自身の気付アドレス（care-of address：ＣｏＡ）がＭＮ．ＨｏＡ２であることを通知し、ＨＡ１４２に対して、自身の気付アドレスがＭＮ．ＨｏＡ１であることを通知したとする。
【００２０】
その結果、ＨＡ１４０のバインディングキャッシュ１５０内には、ＭＮ．ＨｏＡ１を含むホームアドレス（ＨｏＡ）フィールド１６２と、ＭＮ．ＨｏＡ２を含む気付アドレス（ＣｏＡ）フィールド１６４とを有するエントリが格納される。また、同様に、ＨＡ１４２のバインディングキャッシュ１５２内には、ＭＮ．ＨｏＡ２を含むホームアドレスフィールド１６６と、ＭＮ．ＨｏＡ１を含む気付アドレスフィールド１６８とを有するエントリが格納される。
【００２１】
ここで、ホームエージェントの１つ（例えば、ＨＡ１４０）が、ＭＮ１３０あてのパケットを受信した場合、ＨＡ１４０は、自身のバインディングキャッシュで特定される気付アドレス（すなわち、ＭＮ．ＨｏＡ２）に転送されるように、パケットのカプセル化を行う。これは、図１Ｂに経路１７２として示されている。
【００２２】
ＨＡ１４２は、このパケットを受信（intercept）し、自身のバインディングキャッシュ１５２内のＭＮ１３０の気付アドレス（ＭＮ．ＨｏＡ１）に対して、パケットのトンネルを行う。これにより、図１Ｂに経路１７４として示されているように、パケットは、トンネルによってＨＡ１４０に戻される。そして、このループは、無限に続くことになる。
【００２３】
下記の非特許文献１には、トンネルカプセル化制限（Tunnel Encapsulation Limit：ＴＥＬ）オプションを使用して、トンネリングループの破滅的な結末を防ぐことが記載されている。このＴＥＬオプションは、パケットが受けることができるカプセル化の最大数を含むあて先ヘッダオプション（destination header option）である。
【００２４】
通常、中継ルーティングノードは、通過パケットのあて先ヘッダを検査することはない。しかしながら、非特許文献１では、すべてのトンネル入口ノードが、カプセル化を行う前に、パケットのあて先ヘッダを検査する必要がある。そして、パケット内にＴＥＬオプションが見つかった場合には、トンネル入口ノードは、まず、ＴＥＬオプションにおいて、許容されるカプセル化の最大数がゼロではないことをチェックする必要がある。
【００２５】
ＴＥＬオプション内に記載されている値がゼロの場合には、トンネル入口ノードは、パケットを破棄するとともに、発信元に問題を通知するインターネット制御メッセージプロトコル（Internet Control Message Protocol：ＩＣＭＰ）エラーを、パケットの発信元に対して送信する。
【００２６】
また、ＴＥＬオプションがゼロではない場合には、トンネル入口ノードは、パケットのカプセル化処理を行い、元々のＴＥＬオプション（パケット受信時のＴＥＬオプション）から１を引いた値を含むＴＥＬオプションを、新たなトンネルパケットヘッダに付加する。
【００２７】
一方で、元々のパケット（受信したパケット）にＴＥＬオプションが含まれていない場合には、トンネル入口ノードは、カプセル化処理を行い、最大カプセル化のデフォルトの数値を含むＴＥＬオプションをトンネルパケットヘッダに付加する。このデフォルトの数値は、トンネル入口ノードで設定されるパラメータである。
【００２８】
次に、図１Ｃにおいて、上述した非特許文献１に開示されている技術に係る動作について例示する。ここで、送信元ノード１８０（図１Ｃでは、ソースと表記）は、データパケットを任意のあて先に送信する送信元のノードである。パケットは、３つのトンネルエントリポイント（ＴＥＰ１８２、ＴＥＰ１８４、ＴＥＰ１８６）を経由する経路を通る。しかしながら、構成のミスやその他の理由によって、３つのトンネルエントリポイントは、トンネリングループを形成しているとする。
【００２９】
送信元ノード１８０がデータパケット１８７（図１Ｃでは、Ｄａｔａと表記）を送信した場合、データパケット１８７は、最初のトンネルエントリ（ＴＥＰ１８２）に到達する。ＴＥＰ１８２は、トンネルパケット１８８内にデータパケットをカプセル化するとともに、トンネルパケットヘッダにＴＥＬオプションを付加する。ペイロードパケット１８７にはＴＥＬオプションは含まれていないので、トンネルパケット１８８内のＴＥＬオプションには、デフォルト値（例えば「４」）が設定された制限フィールドが設けられる。
【００３０】
さらに、ＴＥＰ１８４は、このパケットをＴＥＰ１８６にトンネルし、その結果、ＴＥＬ制限が「３」のパケット１８９（図１Ｃでは、Ｐｋｔ｛ＴＥＬ＝３｝と表記）が生じる。さらに、ＴＥＰ１８６は、このパケットをＴＥＰ１８２にトンネルし、その結果、ＴＥＬ制限が「２」のパケット１９０（図１Ｃでは、Ｐｋｔ｛ＴＥＬ＝２｝と表記）が生じる。ＴＥＰ１８２は、もう一度このパケットをＴＥＰ１８４にトンネルし、その結果、ＴＥＬ制限が「１」のパケット１９１（図１Ｃでは、Ｐｋｔ｛ＴＥＬ＝１｝と表記）が生じる。そして、最終的に、ＴＥＰ１８４は、このパケットをＴＥＰ１８６にトンネルし、その結果、ＴＥＬ制限が「０」のパケット１９２（図１Ｃでは、Ｐｋｔ｛ＴＥＬ＝０｝と表記）が生じる。
【００３１】
ここで、ＴＥＰ１８６は、受信したパケットには、値がゼロのＴＥＬオプションが存在していることに気付く。その結果、更なるカプセル化の実行は不可能となる。そして、ＴＥＰ１８６は、パケット１９２を破棄し、パケットの送信元（すなわち、ＴＥＰ１８４）に対して、パケット１９２の元のＴＥＬオプション１８４を示すＩＣＭＰエラーメッセージ１９３（図１Ｃでは、ＩＣＭＰ−Ｅｒｒｏｒと表記）を返送する。
【００３２】
このＩＣＭＰエラーメッセージ１９３を受信したＴＥＰ１８４は、ＩＣＭＰエラーメッセージ１９３から元のパケット１９１を抽出して、パケット１９１の送信元（すなわち、ＴＥＬ１８２）に対して、パケット１９１のＴＥＬオプションを示すＩＣＭＰエラーメッセージ１９４（図１Ｃでは、ＩＣＭＰ−Ｅｒｒｏｒと表記）を返送する。
【００３３】
このＩＣＭＰエラーメッセージの返送は、受信するＩＣＭＰエラーメッセージから抽出されるパケットにＴＥＬオプションが含まれなくなるまで実行される（すなわち、ＩＣＭＰエラーメッセージ１９５〜１９７（図１Ｃでは、ＩＣＭＰ−Ｅｒｒｏｒと表記）が順次返送される）。なお、図１Ｃでは、ＴＥＰ１８２がＩＣＭＰエラーメッセージ１９７を受信した場合に、パケットにＴＥＬオプションが含まれなくなる。そして、最終的なＩＣＭＰエラーメッセージ１９８（図１Ｃでは、ＩＣＭＰ−Ｅｒｒｏｒと表記）が、ＴＥＰ１８２から元の送信元ノード１８０に送信される。
【００３４】
また、ルーティングループに関する問題を解決しようとする他の従来技術も存在している。例えば、下記の特許文献１には、ＩＰヘッダに含まれているホップ数ごとに、パケットの個数を所定の期間カウントするカウンタを設けることによって、ルーティングループが起こっているか否かを推定し、一般的なルーティングループの検出を行う方法が開示されている。
【００３５】
また、ルーティングループそのものを防ごうとしている別の従来の技術も存在する。例えば、下記の特許文献２には、ルーティングループを防ごうとしているモバイルアドホックルーティング方法が記載されている。また、下記の特許文献３には、レイヤ２のトンネリングプロトコル（Ｌ２ＴＰ）や仮想プライベートネットワーク（ＶＰＮ）に関して、ルーティングループを防ぐために、スパニングツリーアルゴリズム（全域木アルゴリズム）を使用するルーティング方法が開示されている。
【非特許文献１】“Generic Packet Tunneling in IPv6 Specification”、ＲＦＣ２４７３、１９９８年１２月
【特許文献１】米国特許公開公報２００５／００６３３１１
【特許文献２】米国特許公開公報２００４／０１４６００７
【特許文献３】米国特許６７６５８８１号
【発明の開示】
【発明が解決しようとする課題】
【００３６】
しかしながら、非特許文献１に開示されている技術によれば、上述のＴＥＬオプションの使用によって、トンネリングループが無限に発生し続けないようにすることは可能となるものの、複雑な問題に対しては不十分な解決方法である。特に、ＴＥＬオプションを使用した場合、ＩＣＭＰエラーメッセージの受信者は、ＴＥＬの値がゼロになった理由が、トンネリングループによるものであるのか、あるいは、単に、ＴＥＬの値の設定が、最終のあて先に到達するまでに通過する必要があるトンネルの数に対して十分ではなかったことによるものなのかを判断することができない。
【００３７】
したがって、トンネル入口ノードが、トンネルカプセル化の制限に達したことを告げるＩＣＭＰエラーに対して、どのように応じればよいかに関しては不明瞭である。
【００３８】
トンネル入口ノードは、そのデフォルトのＴＥＬの値を増やして、パケットを通過させようと試みることができる。しかしながら、トンネリングループが実際に存在する場合には、これによって、ＩＣＭＰエラーの受信及びデフォルトのＴＥＬの値の増加が無限に行われることになるかもしれない。
【００３９】
また、トンネル入口ノードは、トンネリングループが存在していると仮定して、同一のあて先アドレスを有するトンネルパケットを単に拒否することもできる。しかしながら、ＩＣＭＰエラーの本当の理由が、パケットが通過する必要のあるトンネルの数が、パケットがその最終あて先に到達するために設定されるＴＥＬの値よりも大きかったという理由の場合には、これによって、不要なサービス拒否が行われてしまうかもしれない。
【００４０】
上述の説明から、トンネル入口ノードが、トンネリングループが形成されている場合と、パケットが通過するために必要となるトンネルの数が、設定されるデフォルトのＴＥＬの値よりも大きい場合とを区別することができる情報が、ＴＥＬオプションに含まれていないことがＴＥＬオプションの使用に係る問題であることが分かる。
【００４１】
また、特許文献１に開示されている方法は、１秒あたりに何千個ものパケットの処理を行うルータには適していない。
【００４２】
また、特許文献２、３に開示されているような方法に関しては、特に、ループ発生の確率がかなり小さい場合に、ループをわざわざ防ぐために費やされる計算コストが割に合ったものではないという問題がある。トンネリングプロトコルは、トンネル入口ノードからトンネル出口ノードへのパケットのルーティングに関しては、基本的なルーティングインフラストラクチャを利用するものである。したがって、上記の問題は、特にトンネリングプロトコルに関して当てはまる。また、基本的なルーティングインフラストラクチャにルーティングループがない限り、トンネリングループが起こる可能性は、実際にはかなり小さい。したがって、トンネリングプロトコルに関しては、完全かつ複雑なループ回避メカニズムは適していない。
【００４３】
上記の課題に鑑み、本発明は、パケット転送装置（特に、トンネルエントリポイント）がトンネリングループの存在を検出するためのトンネリングループ検出制御装置を提供することを目的とする。
【課題を解決するための手段】
【００４４】
上記の目的を達成するため、本発明のトンネリングループ検出制御装置は、パケット転送機能を有するパケット転送装置内に配置されるトンネリングループ検出制御装置であって、
パケットに含まれる情報を収集する情報収集手段と、
前記情報収集手段によって収集された前記情報を蓄積する情報蓄積手段と、
前記情報蓄積手段によって蓄積された前記情報に基づいて、トンネリングループが起こっているか否かを検出するトンネリングループ検出手段とを、
有する。
上記の構成により、パケットの転送を行うパケット転送装置が、転送すべきパケットに含まれる情報を収集、蓄積することによって、その情報に基づいてトンネリングループの存在を検出することができるようになる。
【００４５】
さらに、本発明のトンネリングループ検出制御装置は、上記の構成に加えて、前記情報収集手段が、前記パケットのトンネルヘッダ内に含まれるトンネルカプセル化制限オプションの値を収集するように構成されている。
上記の構成により、トンネルパケットに設定され、カプセル化の回数を制限するトンネルカプセル化制限オプションの値に基づいて、トンネリングループの存在が検出されるようになる。
【００４６】
さらに、本発明のトンネリングループ検出制御装置は、上記の構成に加えて、前記情報収集手段が、ＩＣＭＰエラーパケット内に含まれるトンネルカプセル化制限オプションの値を収集するように構成されている。
上記の構成により、カプセル化の回数を制限するトンネルカプセル化制限オプションを有するトンネルパケットに対して発生したＩＣＭＰエラーパケット内のトンネルカプセル化制限オプションの値に基づいて、トンネリングループの存在が検出されるようになる。
【００４７】
さらに、本発明のトンネリングループ検出制御装置は、上記の構成に加えて、前記情報蓄積手段が、所定の個数だけ前に転送した前記パケットから直近に受信した前記パケットのそれぞれに含まれる前記情報を記憶するように構成されている。
上記の構成により、所定の個数のパケットに含まれる情報に基づいて、トンネリングループの存在を検出することができるようになる。
【００４８】
さらに、本発明のトンネリングループ検出制御装置は、上記の構成に加えて、前記トンネリングループ検出手段が、前記情報蓄積手段に蓄積されている前記情報に対して統計処理を行い、その統計処理結果に基づいて、前記トンネリングループが起こっているか否かを推定するように構成されている。
上記の構成により、転送するパケットに含まれる情報に係る統計処理結果に基づいて、トンネリングループの存在を検出することができるようになる。
【００４９】
さらに、本発明のトンネリングループ検出制御装置は、上記の構成に加えて、前記トンネリングループ検出手段が、前記情報蓄積手段に蓄積されている前記情報に関して、時間に対する前記パケットに含まれる情報が示す値の増減パターンを求める処理を行い、その処理結果が、トンネリングループの発生時に特有の鋸歯状のパターンに一致する場合に、前記トンネリングループが起こっていると判断するように構成されている。
上記の構成により、転送するパケットに含まれる情報が示す値の増減パターンが、トンネリングループの発生時に特有の鋸歯状のパターンに一致することを検出することによって、トンネリングループの存在を検出することができるようになる。
【００５０】
さらに、本発明のトンネリングループ検出制御装置は、上記の構成に加えて、前記パケットを個別に又は特定のグループ別に識別することが可能なパケット選別手段を有しており、前記トンネリングループ検出手段が、前記パケット選別手段で選別された個別のパケットごと又はグループごとに、前記情報蓄積手段によって蓄積された前記情報を解析して、前記トンネリングループが起こっているか否かを検出するように構成されている。
上記の構成により、個別に又は所定のグループごとにパケットを特定して、その特定結果を反映した情報の解析を行うことで、トンネリングループの検出精度が向上されるようになる。
【００５１】
さらに、本発明のトンネリングループ検出制御装置は、上記の構成に加えて、前記パケット選別手段は、前記パケットに付加されている識別情報に基づいて前記パケットの識別を行うように構成されている。
上記の構成により、トンネルエントリポイントは、パケットに付加されている識別情報を参照することで、個別に又は所定のグループごとにパケットを特定できるようになる。
【００５２】
さらに、本発明のトンネリングループ検出制御装置は、上記の構成に加えて、前記パケットの最外部ヘッダに前記パケットに付加されている前記識別情報が保持されるように制御する識別情報付加制御手段を有する。
上記の構成により、例えば、最初にパケットのカプセル化を行ったトンネルエントリポイントで付加されたＩＤ情報が、パケットの最外部に保持され続けるようになり、トンネリングループの詳細なループの態様が把握可能となる。
【００５３】
さらに、本発明のトンネリングループ検出制御装置は、上記の構成に加えて、前記パケット選別手段が、前記パケットの送信元アドレス及びあて先アドレスのセットごとに前記グループを設定するように構成されている。
上記の構成により、パケットの送信元アドレス及びあて先アドレスのセットごとに、パケットを特定し、同一のトンネリングループに係る情報の抽出制度が向上されるようになる。
【発明の効果】
【００５４】
本発明は、上記の構成を有しており、トンネルエントリポイントがトンネリングループの存在を検出することができるようになるという効果を有している。
【発明を実施するための最良の形態】
【００５５】
以下、図面を参照しながら、本発明の実施の形態について説明する。
【００５６】
本発明では、基本的に、トンネルエントリポイントが、転送すべきパケットから得られるパラメータ（例えば、ＴＥＬオプション内の値（以下、ＴＥＬ値と記載する））を収集し、この収集されたパラメータの統計量を監視して、トンネリングループが存在している際に現れる特有のパターンを収集された統計量に発見することで、トンネリングループの存在を推測する。
【００５７】
また、本発明では、トンネリングループが発生した場合、そのトンネリングループを形成する複数のトンネルエントリポイントのうちの少なくとも１つが、本発明の実施の形態に係るトンネルエントリポイント（トンネリングループを検出することが可能なトンネルエントリポイント）であれば、そのトンネルエントリポイントによってトンネリングループの存在が検出される。
【００５８】
以下、図２に示されているネットワーク構成を参照しながら、本発明に係るシナリオを実現する方法について説明する。図２は、本発明の実施の形態において、トンネリングループが形成される場合のネットワーク構成の一例を示す図である。
【００５９】
図２において、送信元ノード（ソース）１１００によって送信されたデータパケットは、まず経路１１１０を通ってトンネルエントリポイントＴＥＰ１１２０に届く。なお、経路１１１０には、不図示の複数のルータ又はトンネルエントリポイントが存在してもよい。また、ここでは、ＴＥＰ１１２０が、データパケットをカプセル化する最初のトンネルエントリポイントであるとする。
【００６０】
ＴＥＰ１１２０でカプセル化されたパケットは、経路１１１２を通じてＴＥＰ１１２２に発送され、ＴＥＰ１１２２において、トンネルパケットは更にカプセル化される。なお、経路１１１２には、不図示の複数のルータ又はトンネルエントリポイントが存在してもよい。
【００６１】
ＴＥＰ１１２２でカプセル化されたパケットは、経路１１１４を通じてＴＥＰ１１２４に発送され、ＴＥＰ１１２４において、トンネルパケットは更にカプセル化される。なお、経路１１１４には、不図示の複数のルータ又はトンネルエントリポイントが存在してもよい。
【００６２】
そして、ＴＥＰ１１２４でカプセル化されたパケットは、経路１１１６を通じてＴＥＰ１１２０に戻る。なお、経路１１１６には、不図示の複数のルータ又はトンネルエントリポイントが存在してもよい。その結果、上述の場合には、最初のトンネルエントリポイントがループの一部を形成する状態で、トンネリングループが形成される。
【００６３】
図２において、すべてのＴＥＰ１１２０、１１２２、１１２４が従来の技術に係るトンネルエントリポイントの場合には、パケット転送の際に、図１Ｃを用いて説明した従来の動作と同一の動作が行われ、トンネリングループは検出されないが、トンネリングループを形成する複数のＴＥＰ１１２０、１１２２、１１２４のうちの任意のトンネルエントリポイントが、本発明に係るトンネリングループの検出機能を有していれば、そのトンネリングループにおいて、トンネリングループは検出される。
【００６４】
以下、図２に示すＴＥＰ１１２４が本発明に係るトンネリングループの検出機能を有している場合を想定し、図３Ａを参照しながら、本発明の実施の形態における動作の一例について説明する。図３Ａは、本発明の実施の形態における動作の一例に係るシーケンスチャートである。
【００６５】
図３Ａにおいて、メッセージシーケンスは、データパケット１３００（図３Ａでは、Ｄａｔａと表記）を送信する送信元ノード１１００から開始される。従来と同様、ＴＥＰ１１２０は、ＴＥＬ値を例えば“５”に設定して、データパケット１３００をトンネルパケット１３１０にカプセル化する。パケット１３１０（図３Ａでは、Ｐｋｔ｛ＴＥＬ＝５｝と表記）はＴＥＰ１１２２に到達する。
【００６６】
ＴＥＰ１１２２は、ＴＥＬ値を１つデクリメントして、ＴＥＬ値が“４”に設定されたトンネルパケット１３１２でパケット１３１０をカプセル化する。パケット１３１２（図３Ａでは、Ｐｋｔ｛ＴＥＬ＝４｝と表記）はＴＥＰ１１２４に到達する。
【００６７】
ＴＥＰ１１２４は、ＴＥＬ値を１つデクリメントして、ＴＥＬ値が“３”に設定されたトンネルパケット１３１４でパケット１３１２をカプセル化する。そして、ＴＥＰ１１２０がこのトンネルパケット１３１４（図３Ａでは、Ｐｋｔ｛ＴＥＬ＝３｝と表記）を受信した場合に、トンネリングループが形成される。
【００６８】
なお、ＴＥＰ１１２４は、受信したパケット１３１２のトンネルヘッダに含まれているＴＥＬ値（ＴＥＬ値“４”）を記憶する処理を行うことが可能である。ここで記憶されたＴＥＬ値は、トンネリングループの検出に用いられる。なお、ＴＥＰ１１２４は、受信したパケット１３１２のトンネルヘッダに含まれているＴＥＬ値を１つデクリメントした値（パケット１３１４に設定されるＴＥＬ値“３”）を記憶してもよい。
【００６９】
ＴＥＰ１１２０は、受信したパケット１３１４を参照しても、トンネリングループの検出又は推測を行うことはできず、同様の処理を行って、ＴＥＬ値が“２”に設定されたトンネルパケット１３１６（図３Ａでは、Ｐｋｔ｛ＴＥＬ＝２｝と表記）を送信する。そして、同様に、ＴＥＰ１１２２及びＴＥＰ１１２４は、それぞれＴＥＬ値が“１”及び“０”に設定されたトンネルパケット１３１８、１３２０（図３Ａでは、Ｐｋｔ｛ＴＥＬ＝１｝、Ｐｋｔ｛ＴＥＬ＝０｝と表記）を送信し、ＴＥＬ値が“０”に設定されたトンネルパケット１３２０がＴＥＬ１１２０に到達する。また、ＴＥＰ１１２４は、パケット１３１８の受信時においても、受信したパケット１３１８のトンネルヘッダに含まれているＴＥＬ値（ＴＥＬ値“１”）を記憶する処理を行う。
【００７０】
ＴＥＬ値が“０”に設定されたトンネルパケット１３２０の受信者（すなわち、ＴＥＰ１１２０）は、送信者（ＴＥＰ１１２４）に対して、ＴＥＬ値“０”を示すＩＣＭＰエラー（ＩＣＭＰエラーメッセージ）１３２２（図３Ａでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝０｝と表記）を送信する。ＩＣＭＰエラーは逆方向に伝搬され、ＴＥＰ１１２４は、ＴＥＬ値“１”を示すＩＣＭＰエラー１３２４（図３Ａでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝１｝と表記）をＴＥＰ１１２２に送信する。
【００７１】
なお、ＴＥＰ１１２４は、受信したＩＣＭＰエラー１３２２に含まれているＴＥＬ値（ＴＥＬ値“０”）を記憶する処理を行うことが可能である。ここで記憶されたＴＥＬ値は、トンネリングループの検出に用いられる。なお、ＴＥＰ１１２４は、送信するＩＣＭＰエラー１３２４に含まれているＴＥＬ値“１”を記憶してもよい。
【００７２】
そして、同様に、ＴＥＰ１１２２は、ＴＥＰ１１２０に対して、ＴＥＬ値“２”を示すＩＣＭＰエラー１３２６（図３Ａでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝２｝と表記）を送信する。この後方伝搬（バックプロパゲーション）は、図３ＡのＩＣＭＰエラー１３２８、１３３０（図３Ａでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝３｝、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝４｝と表記）を経て、オリジナルのトンネルパケットのＴＥＬ値“５”を示すＩＣＭＰエラー１３３２（図３Ａでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝５｝と表記）までループを戻る。なお、このとき、ＩＣＭＰエラー１３２２に対する処理と同様に、ＴＥＰ１１２４は、ＩＣＭＰエラー１３２８に関しても、ＴＥＬ値の記憶を行う。
【００７３】
ＴＥＰ１１２０は、トンネリングループの存在を検出できない。したがって、ＴＥＰ１１２０は、再構成を行って、このエラーを克服するためにＴＥＬ値を増加する処理を行うことが想定される。この処理は、図３Ａの処理１３３４として示されている。その結果、この場合には、ＴＥＰ１１２０から、ＴＥＬ値“６”が最初に設定されたトンネルパケット１３３６（図３Ａでは、Ｐｋｔ｛ＴＥＬ＝６｝と表記）が送信され、トンネリングループが再び繰り返されることになる。なお、ＴＥＰ１１２２は、ＴＥＬ値を１つデクリメントして、ＴＥＬ値が“５”に設定されたトンネルパケット１３３８（図３Ａでは、Ｐｋｔ｛ＴＥＬ＝５｝と表記）を送信し、その後のメッセージシーケンスに関しては、図３Ａでは図示省略する。なお、当業者であれば、最初のＴＥＬ値が１つ増加されているので、パケット１つ分（１回のパケット転送）だけトンネリングループが長くなることが分かるであろう。また、ＴＥＰ１１２４は、ＴＥＰ１１２０から送信されたＴＥＬ値“６”のパケット１３３６に関連してパケット転送処理の際においても、パケットのトンネルヘッダに含まれるＴＥＬ値の記憶を行う。
【００７４】
また、ＴＥＬ値がゼロに達した場合には、上述の動作と同様に、再びＩＣＭＰエラーのバックプロバケーションが行われる。ここで、注目すべきポイントは、ＴＥＬ値が１つ増加しているのでバックプロバケーションにおいて、各ＴＥＰは、先のバックプロバケーションループ（メッセージ１３２２〜１３３２）よりも１大きいＴＥＬ値を示すＩＭＣＰエラーを受信するという点である。例えば、ＴＥＰ１１２４は、まずＴＥＬ値“１” （ＩＣＭＰエラー１３２２内のＴＥＬ値“０”よりも１大きい）を示すＩＣＭＰエラー１３４０（図３Ａでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝１｝と表記）を受信する。さらに、その後、ＴＥＰ１１２４は、ＩＣＭＰエラー１３４２、１３４４（図３Ａでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝２｝、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝３｝と表記）の逆方向の伝搬を経て、再びＴＥＬ値“４” （ＩＣＭＰエラー１３２６内のＴＥＬ値“３”よりも１大きい）を示すＩＣＭＰエラー１３４６（図３Ａでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝４｝と表記）を受信する。なお、ＴＥＰ１１２４は、この場合においても、受信したＩＣＭＰエラー１３４０、１３４６に含まれるＴＥＬ値の記憶を行う。
【００７５】
なお、上述の説明では、ＴＥＰ１１２４が、受信したトンネルパケット及びＩＣＭＰエラーの両方に含まれるＴＥＬ値を記憶するように記載されているが、受信したトンネルパケットのＴＥＬ値の記憶と、ＩＣＭＰエラーのＴＥＬ値の記憶とは、実質的に等価な処理であり、ＴＥＬ１１２４は、受信したトンネルパケット及びＩＣＭＰエラーのどちらか一方のみに含まれるＴＥＬ値を記憶することが望ましい。
【００７６】
図３Ａの動作において、ＴＥＰ１１２４は、例えば、ＩＣＭＰエラーから得られたＴＥＬ値に基づいて、トンネリングループの存在を検出することが可能である。以下、ＩＣＭＰエラーから得られたＴＥＬ値に基づくトンネリングループを検出する方法について説明する。
【００７７】
図３Ａに示す動作でＴＥＰ１１２４によってＩＣＭＰエラーから収集されたＴＥＬ値は、図３Ｂに模式的に図示されているグラフとして表される。図３Ｂは、本発明の実施の形態において、トンネルエントリポイントによってＩＣＭＰエラーから収集されたＴＥＬ値を模式的に示すグラフの一例を示す図である。図３Ｂには、図３Ａに示されているシーケンスチャートにおいて、ＴＥＰ１１２４によって受信されるＩＣＭＰエラーが示すＴＥＬ値のグラフが図示されている。なお、図３Ｂにおいて、縦軸１３５０は、受信したＩＣＭＰエラーで示されるＴＥＬ値を表しており、横軸１３５２は、受信したＩＣＭＰエラー（又は時間）を表している。
【００７８】
最初にＴＥＰ１１２４によって受信されたＩＣＭＰエラーは、図３Ａのパケット１３２２であり、これは、図３Ｂのポイント１３６０（ＴＥＬ値“０”）に対応している。次にＴＥＰ１１２４によって受信されたＩＣＭＰエラーは、図３Ａのパケット１３２８であり、これは、図３Ｂのポイント１３６１（ＴＥＬ値“３”）に対応している。さらに、次にＴＥＰ１１２４によって受信されたＩＣＭＰエラーは、図３Ａのパケット１３４０であり、これは、図３Ｂのポイント１３６２（ＴＥＬ値“２”）に対応している。
【００７９】
なお、図３Ｂでは、ＴＥＰ１１２４によるＩＣＭＰエラーからのＴＥＬ値の収集処理が継続されると仮定し、更なる処理によって得られるポイント１３６３〜１３６９も図示されている。図３Ｂに図示されているグラフ１３７０（連続したポイントをつなぐことによって構築されるグラフ）は、ある特定の鋸歯のようなパターンが存在しており、かつピーク（ポイント１３６１、１３６３、１３６５、１３６８）が増加していることが把握できる。このように、ＩＣＭＰエラーのＴＥＬ値に、鋸歯のようなパターン、ピークの増加の傾向が見られる場合には、トンネリングループが存在していると判断することが可能であり、ＴＥＰ１１２４は、この特性を利用して、グラフ１３７０からトンネリングループの存在を検出することが可能である。
【００８０】
また、図３Ａの動作において、ＴＥＰ１１２４は、例えば、トンネルパケットから得られたＴＥＬ値に基づいて、トンネリングループの存在を検出することが可能である。以下、トンネルパケットから得られたＴＥＬ値に基づくトンネリングループを検出する方法について説明する。
【００８１】
図３Ａに示す動作でＴＥＰ１１２４によってトンネルパケットから収集されたＴＥＬ値は、図３Ｃに模式的に図示されているグラフとして表される。図３Ｃは、本発明の実施の形態において、トンネルエントリポイントによってトンネルパケットから収集されたＴＥＬ値を模式的に示すグラフの一例を示す図である。図３Ｃには、図３Ａに示されているシーケンスチャートにおいて、ＴＥＰ１１２４によって受信されるトンネルパケットに含まれるＴＥＬ値のグラフが図示されている。なお、図３Ｃにおいて、縦軸１３５６は、受信したトンネルパケットに含まれるＴＥＬ値を表しており、横軸１３５８は、受信したトンネルパケット（又は時間）を表している。
【００８２】
最初にＴＥＰ１１２４によって受信されたトンネルパケットは、図３Ａのパケット１３１２であり、これは、図３Ｃのポイント１３８０（ＴＥＬ値“４”）に対応している。次にＴＥＰ１１２４によって受信されたトンネルパケットは、図３Ａのパケット１３１８であり、これは、図３Ｃのポイント１３８１（ＴＥＬ値“１”）に対応している。さらに、次に受信されたトンネルパケットは、図３Ａのパケット１３３８であり、これは、図３Ｃのポイント１３８２（ＴＥＬ値“５”）に対応している。
【００８３】
なお、図３Ｃでは、ＴＥＰ１１２４によるトンネルパケットからのＴＥＬ値の収集処理が継続されると仮定し、更なる処理によって得られるポイント１３８３〜１３８９も図示されている。図３Ｃに図示されているグラフ１３９０（連続したポイントをつなぐことによって構築されるグラフ）は、図３Ｂと同様に、ある特定の鋸歯のようなパターンが存在しており、かつピーク（ポイント１３８０、１３８２、１３８４、１３８７）が増加していることが把握できる。このように、トンネルパケットのＴＥＬ値に、鋸歯のようなパターン、ピークの増加の傾向が見られる場合には、トンネリングループが存在していると判断することが可能であり、ＴＥＰ１１２４は、この特性を利用して、グラフ１３９０からトンネリングループの存在を検出することが可能である。
【００８４】
上記の図３Ｂ及び図３Ｃに示されるように、グラフ１３７０、１３９０には同様の特性が存在しており、パケットを転送する装置（ルータやＴＥＰなど）が、転送パケットのＴＥＬ値を収集して、その収集結果がトンネリングループに特有のパターンと一致するか否かを監視することで、トンネリングループの検出が行われるようになる。上記の図３Ｂ及び図３Ｃに示されるように、本発明は、ＴＥＬ値が含まれるパケットの種類やパケットの伝送方向に依存するものではなく、トンネリングループの検出に同一アルゴリズムを使用することが可能である。
【００８５】
なお、ＴＥＬ値を収集する対象としてＩＣＭＰエラーを用いる方法では、トンネリングループの存在を含む何らかの理由によってＩＣＭＰエラーが発生した場合にのみ、ＴＥＬ値の記憶が行われるので、転送されるトンネルパケットのＴＥＬ値を常時記憶する場合に比べて、処理負荷が軽減される。一方、ＴＥＬ値を収集する対象としてトンネルパケットを用いる方法によれば、ＴＥＬ値を収集する対象としてＩＣＭＰエラーを用いる方法よりも迅速にトンネリングループの存在が検出される。
【００８６】
また、本発明によれば、トンネリングループが複雑な構成を有している場合であっても、トンネリングループが検出される。図４Ａは、本発明の実施の形態において、トンネリングループが形成される場合のネットワーク構成の別の一例を示す図である。図４Ａには、トンネリングループがより複雑に形成されている場合が図示されている。ここでは、トンネリングループは、相互に絡み合った２つのループを有している。
【００８７】
図４Ａにおいて、送信元ノード(ソース)１４００によって送信されたデータパケットは、まず経路１４１０を通ってトンネルエントリポイントＴＥＰ１４２０に届く。なお、経路１４１０には、不図示の複数のルータ又はトンネルエントリポイントが存在してもよいが、ここでは、ＴＥＰ１４２０が、データパケットをカプセル化する最初のトンネルエントリポイントであるとする。
【００８８】
ＴＥＰ１４２０でカプセル化されたパケットは、経路１４１１を通じてＴＥＰ１４２２に発送され、ＴＥＰ１４２２において、トンネルパケットは更にカプセル化される。ＴＥＰ１４２２でカプセル化されたパケットは、経路１４１２を通じてＴＥＰ１４２４に発送され、ＴＥＰ１４２４において、トンネルパケットは更にカプセル化される。
【００８９】
ＴＥＰ１４２４は、使用可能な２つのルートを有している。例えば、ＴＥＰ１４２４は、ロードバランシング（負荷分散）を行うために、これらの２つのルートを交互に使用できるように構成されている。なお、ここでは、ＴＥＰ１４２４が、２つのルートのそれぞれに交互にパケットを発送するロードバランシングを行うように構成されている場合を一例として説明するが、任意のロードバランシングが実現されてもよい。
【００９０】
ＴＥＰ１４２４が使用可能な２つのルートのうちの一方（第１のルート）では、経路１４１３を通じてＴＥＰ１４２０に戻るトンネルにパケットがカプセル化される。その結果、第１のトンネリングループが形成される。
【００９１】
ＴＥＰ１４２４が使用可能な２つのルートのうちのもう一方（第２のルート）では、経路１４１４を通じてＴＥＰ１４２６に向かうトンネルにパケットがカプセル化される。ＴＥＰ１４２６では、パケットは、さらにカプセル化され、経路１４１５を通じてＴＥＰ１４２８に発送される。さらに、ＴＥＰ１４２８においてパケットはカプセル化され、経路１４１６を通じてＴＥＰ１４２２に戻される。この結果、第２のトンネリングループが形成される。
【００９２】
なお、各経路１４１１、１４１２、１４１３、１４１４、１４１５、１４１６上に、不図示の複数のルータ又はトンネルエントリポイントが存在してもよい。
【００９３】
図４Ａでは、第１及び第２トンネリングループによってトンネリングループが形成されるが、トンネリングループを形成する複数のＴＥＰ１４２０、１４２２、１４２４、１４２６、１４２８のうちの任意のトンネルエントリポイントが、本発明に係るトンネリングループの検出機能を有していれば、そのトンネリングループにおいて、トンネリングループは検出される。
【００９４】
以下、図４Ｂを参照しながら、図４Ａに示すネットワーク構成における本発明に係る動作の一例について説明する。図４Ｂは、本発明の実施の形態における動作の別の一例に係るシーケンスチャートである。
【００９５】
図４Ｂにおいて、メッセージシーケンスは、データパケット１４３０（図４Ｂでは、Ｄａｔａと表記）を送信する送信元ノード１４００から開始される。ＴＥＰ１４２０は、ＴＥＬ値を例えば“１２”に設定して、データパケット１４３０をトンネルパケット１４３１にカプセル化する。パケット１４３１（図４Ｂでは、Ｐｋｔ｛ＴＥＬ＝１２｝と表記）はＴＥＰ１４２２に到達する。
【００９６】
ＴＥＰ１４２２は、ＴＥＬ値を１つデクリメントして、ＴＥＬ値が“１１”に設定されたトンネルパケット１４３２でパケット１４３１をカプセル化する。パケット１４３２（図４Ｂでは、Ｐｋｔ｛ＴＥＬ＝１１｝と表記）は、経路１４１２を通じてＴＥＰ１４２４に到達する。
【００９７】
ＴＥＰ１４２４は、ＴＥＬ値を１つデクリメントして、ＴＥＬ値が“１０”に設定されたトンネルパケット１４３３でパケット１４３２をカプセル化する。このパケット１４３３（図４Ｂでは、Ｐｋｔ｛ＴＥＬ＝１０｝と表記）は、例えば経路１４１３を通じて発送され、再びＴＥＰ１４２０に到達して、第１のトンネリングループが形成される。
【００９８】
このように第１のトンネリングループを通過して戻ってきたパケット１４３３に関して、ＴＥＰ１４２０は、ＴＥＬ値を１つデクリメントして、ＴＥＬ値が“９”に設定されたトンネルパケット１４３４でパケット１４３３をカプセル化する。パケット１４３４（図４Ｂでは、Ｐｋｔ｛ＴＥＬ＝９｝と表記）は、経路１４１１を通じてＴＥＰ１４２２に到達する。
【００９９】
ＴＥＰ１４２２は、ＴＥＬ値を１つデクリメントして、ＴＥＬ値が“８”に設定されたトンネルパケット１４３５でパケット１４３４をカプセル化する。パケット１４３５（図４Ｂでは、Ｐｋｔ｛ＴＥＬ＝８｝と表記）は、経路１４１２を通じてＴＥＰ１４２４に届く。
【０１００】
ＴＥＰ１４２４は、ＴＥＬ値を１つデクリメントして、ＴＥＬ値が“７”に設定されたトンネルパケット１４３６でパケット１４３５をカプセル化する。パケット１４３６（図４Ｂでは、Ｐｋｔ｛ＴＥＬ＝７｝と表記）は、今度は例えば経路１４１４を通じて発送され、ＴＥＰ１４２６に到達する。
【０１０１】
ＴＥＰ１４２６は、ＴＥＬ値を１つデクリメントして、ＴＥＬ値が“６”に設定されたトンネルパケット１４３７でパケット１４３６をカプセル化する。パケット１４３７（図４Ｂでは、Ｐｋｔ｛ＴＥＬ＝６｝と表記）は、経路１４１５を通じてＴＥＰ１４２８に届く。
【０１０２】
ＴＥＰ１４２８は、ＴＥＬ値を１つデクリメントして、ＴＥＬ値が“５”に設定されたトンネルパケット１４３８でパケット１４３７をカプセル化する。パケット１４３８（図４Ｂでは、Ｐｋｔ｛ＴＥＬ＝５｝と表記）は、経路１４１６を通じて発送され、再びＴＥＰ１４２２に到達して、第２のトンネリングループが形成される。なお、ＴＥＬ値がゼロに達するまで、パケットは、第１及び第２のトンネリングループ内で伝送される。
【０１０３】
その後、同様にパケットのトンネリングが繰り返され（パケット１４３９〜１４４２（図４Ｂでは、Ｐｋｔ｛ＴＥＬ＝４｝、Ｐｋｔ｛ＴＥＬ＝３｝、Ｐｋｔ｛ＴＥＬ＝２｝、Ｐｋｔ｛ＴＥＬ＝１｝と表記）、ＴＥＰ１４２４がパケット１４４２をパケット１４４３でカプセル化し、ＴＥＰ１４２６にパケット１４４３（図４Ｂでは、Ｐｋｔ｛ＴＥＬ＝０｝と表記）を送信した場合にＴＥＬ値はゼロに達する。
【０１０４】
ＴＥＬ値がゼロに達すると、パケット１４４３の受信者（すなわち、ＴＥＰ１４２６）は、送信者（ＴＥＰ１４２４）に対して、ＴＥＬ値“０”を示すＩＣＭＰエラー１４４４（図４Ｂでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝０｝と表記）を送信する。ＩＣＭＰエラーは逆方向に伝搬され、ＴＥＰ１４２４は、ＴＥＬ値“１”を示すＩＣＭＰエラー１４４５（図４Ｂでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝１｝と表記）をＴＥＰ１４２２に送信する。同様に、ＴＥＰ１４２２は、ＴＥＰ１４２０に対して、ＴＥＬ値“２”を示すＩＣＭＰエラー１４４６（図４Ｂでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝３｝と表記）を報告する。この後方伝搬（バックプロパゲーション）では、オリジナルのトンネルパケットのＴＥＬ値“１２”を示すＩＣＭＰエラー１４５６（図４Ｂでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝１２｝と表記）まで、第１及び第２のトンネリングループ内をＩＣＭＰエラー１４４７〜１４５５（図４Ｂでは、ＩＣＭＰ−Ｅｒｒｏｒ｛ＴＥＬ＝３〜１１｝と表記））が伝送される。
【０１０５】
なお、図４Ｂには不図示ではあるが、本発明に係るトンネリングループの検出機能を有するトンネルポイントエントリは、トンネルパケット及び／又はＩＣＭＰエラーに含まれるＴＥＬ値を記憶する処理を行う。
【０１０６】
例えばＴＥＰ１４２０が、本発明に係るトンネリングループの検出機能を有しており、ＩＣＭＰエラーに含まれるＴＥＬ値を記憶する処理を行う場合、図４Ｂに示す動作でＴＥＰ１４２０によってＩＣＭＰエラーから収集されたＴＥＬ値は、図４Ｃに模式的に図示されているグラフとして表される。図４Ｃは、本発明の実施の形態において、トンネルエントリポイントによってＩＣＭＰエラーパケットから収集されたＴＥＬ値を模式的に示すグラフの別の一例を示す図である。
【０１０７】
図４Ｃには、図４Ｂに示されているシーケンスチャートにおいて、ＴＥＰ１４２０によって受信されるＩＣＭＰエラーに含まれるＴＥＬ値のグラフが図示されている。なお、図４Ｃにおいて、縦軸１４６０は、受信したＩＣＭＰエラーに含まれるＴＥＬ値を表しており、横軸１４６２は、受信したＩＣＭＰエラー（又は時間）を表している。
【０１０８】
最初にＴＥＰ１４２０によって受信されたＩＣＭＰエラーは、図４Ｂのパケット１４４６であり、これは、図４Ｃのポイント１４７０（ＴＥＬ値“２”）に対応している。次にＴＥＰ１４２０によって受信されたＩＣＭＰエラーは、図４Ｂのパケット１４５３であり、これは、図４Ｃのポイント１４７１（ＴＥＬ値“９”）に対応している。さらに、次にＴＥＰ１４２０によって受信されたＩＣＭＰエラーは、図４Ｂのパケット１４５６であり、これは、図４Ｃのポイント１４７２（ＴＥＬ値“１２”）に対応している。
【０１０９】
なお、図４Ｃでは、ＴＥＰ１４２０によるＩＣＭＰエラーからのＴＥＬ値の収集処理が継続されると仮定し、更なる処理によって得られるポイント１４７３〜１４７６も図示されている。図４Ｃに図示されているグラフ１４８０（連続したポイントをつなぐことによって構築されるグラフ）においても、鋸歯のようなパターン及びピークの増加というトンネリングループが存在する際の特性が現れている。
【０１１０】
また、例えばＴＥＰ１４２４が、本発明に係るトンネリングループの検出機能を有しており、ＩＣＭＰエラーに含まれるＴＥＬ値を記憶する処理を行う場合、図４Ｂに示す動作でＴＥＰ１４２４によってＩＣＭＰエラーから収集されたＴＥＬ値は、図４Ｄに模式的に図示されているグラフとして表される。図４Ｄは、本発明の実施の形態において、トンネルエントリポイントによってＩＣＭＰエラーパケットから収集されたＴＥＬ値を模式的に示すグラフの更に別の一例を示す図である。
【０１１１】
図４Ｄには、図４Ｂに示されているシーケンスチャートにおいて、ＴＥＰ１４２４によって受信されるＩＣＭＰエラーに含まれるＴＥＬ値のグラフが図示されている。なお、図４Ｄにおいて、縦軸１４６６は、受信したＩＣＭＰエラーに含まれるＴＥＬ値を表しており、横軸１４６８は、受信したＩＣＭＰエラー（又は時間）を表している。
【０１１２】
最初にＴＥＰ１４２４によって受信されたＩＣＭＰエラーは、図４Ｂのパケット１４４４であり、これは、図４Ｄのポイント１４９０（ＴＥＬ値“０”）に対応している。次にＴＥＰ１４２４によって受信されたＩＣＭＰエラーは、図４Ｂのパケット１４４７あり、これは、図４Ｄのポイント１４９１（ＴＥＬ値“３”）に対応している。さらに、次にＴＥＰ１４２４によって受信されたＩＣＭＰエラーは、図４Ｂのパケット１４５１であり、これは、図４Ｄのポイント１４９２（ＴＥＬ値“７”）に対応している。さらに、次にＴＥＰ１４２４によって受信されたＩＣＭＰエラーは、図４Ｂのパケット１４５４であり、これは、図４Ｄのポイント１４９３（ＴＥＬ値“１０”）に対応している。
【０１１３】
なお、図４Ｄでは、ＴＥＰ１４２４によるＩＣＭＰエラーからのＴＥＬ値の収集処理が継続されると仮定し、更なる処理によって得られるポイント１４９４〜１４９８も図示されている。図４Ｄに図示されているグラフ１４８４（連続したポイントをつなぐことによって構築されるグラフ）においても、鋸歯のようなパターン及びピークの増加というトンネリングループが存在する際の特性が現れている。
【０１１４】
図４Ｃ及び図４Ｄに示されるように、例えば、ロードバランシングによって複数のループがトンネリングループを形成している場合などのように、トンネリングループが複雑に形成されている場合であっても、転送パケットのＴＥＬ値の統計量を参照し、トンネリングループを示すパターンを発見することで、トンネリングループを検出することが可能となる。なお、トンネリングループの複雑さの程度によらず、すべての種類のトンネリングループに係るＴＥＬ値の統計量に関して、上記のような鋸歯のパターンが見られる。
【０１１５】
また、実際には、データの送信元ノード１１００、１４００は短時間のうちに複数のパケットを送信するかもしれず、この場合、任意の瞬間において、トンネリングループ内には１つ以上のパケットが存在していることになる。上述の図３Ｂ、図３Ｃ、図４Ｃ、図４Ｄには、トンネリングループ内の１つのパケットのみに着目した場合における理想的なＴＥＬ値の統計量の変動パターンの一例が図示されているが、実際にトンネルエントリポイントによって収集されるＴＥＬ値の統計量は、図５に図示されているグラフ１５１０のようになり得る。
【０１１６】
図５は、本発明の実施の形態において、トンネルエントリポイントによってＩＣＭＰエラーから実際に収集されたＴＥＬ値を示すグラフの一例を示す図である。図５に図示されているグラフ１５１０は、上述の図３Ｂ、図３Ｃ、図４Ｃ、図４Ｄのそれぞれのグラフ１３７０、１３９０、１４８０、１４８４よりも不規則（乱雑）に見えるが、短い時間窓で統計量の平均を算出した場合には、より滑らかなグラフ１５２０が取得される。トンネリングループが発生している場合には、この滑らかなグラフ１５２０が、鋸歯のパターン及びピークの増加というトンネリングループに特有のパターンに酷似したパターンを有することになるので、このパターンの検出によって、トンネリングループの存在を検出することが可能となる。
【０１１７】
なお、図５に図示されているグラフ１５１０には多数のパケットの情報が含まれているが、転送すべきパケットの識別及び情報管理を行うことで、トンネリングループ内で多数のパケットが伝送されている場合であっても、単一又は少数のパケットの情報（上述の図３Ｂ、図３Ｃ、図４Ｃ、図４Ｄのそれぞれのグラフ１３７０、１３９０、１４８０、１４８４に近い情報）を取得することが可能となる。例えば、各トンネルエントリポイントが、トンネルパケットの最外部ヘッダに固有のＩＤ情報（たとえば、最初のトンネルエントリポイントの識別情報、乱数値、シーケンスナンバー、あるいはこれらの組み合わせ）を付加することによって、各トンネルエントリポイントは、１つのパケット又は同一の転送経路のパケットを特定することが可能となる。このとき、トンネルエントリポイントは、既に付加されている固有のＩＤ情報を、転送すべきトンネルパケットの最外部ヘッダに発見した場合には、自身が更に生成するトンネルパケットの最外部ヘッダに、発見した固有のＩＤ情報をコピーすることで、本発明に対応するトンネルエントリポイントの最初のトンネルエントリポイントの識別情報が、常にトンネルパケットの最外部ヘッダに保持されるようになる。また、トンネルエントリポイントは、パケットの送信元アドレス及びあて先アドレスのセットごとに、ＴＥＬ値の管理を行ってもよい。 このような固有のＩＤ情報や個別に管理されたＴＥＬ値を用いることにより、複数のループに関与しているトンネルエントリポイントは、異なるループに対して異なる統計処理を行うことができるようになり、例えば、特定のトンネリングループに特有のパターンを、様々な実行可能な方法を用いて検出することで、トンネリングループをより精度よく検出されるようにすることが可能になる。
【０１１８】
また、本発明を実現するためには、本発明にトンネルポイントエントリは、図６に図示されるような機能アーキテクチャが使用されることが望ましい。なお、図６には、トンネルエントリポイントに含まれるトンネリングループ検出制御機能（トンネリングループ検出制御装置）に関する構成要素が図示されている。
【０１１９】
本発明の実施の形態によれば、図６に示されるトンネルエントリポイント１２００の機能アーキテクチャは、ルーティング部１２２０と、１つ又は複数のネットワークインタフェース１２１０とを有している。なお、図６では、ネットワークインタフェース１２１０は、１つのみ図示されている。
【０１２０】
各ネットワークインタフェース１２１０は、トンネルエントリポイント１２００が、リンクアクセス技術を使用して経路１２８５を通じた他のノードとの通信を行うために必要な、すべてのネットワークハードウェア、ソフトウェア、プロトコルを表す機能ブロックである。
【０１２１】
例えば、ＩＳＯ（International Standards Organization：国際標準化機構）のＯＳＩ（Open System Interconnect）の７レイヤモデルにおいて、ネットワークインタフェース１２１０は、物理層及びデータリンク層を包含している。
【０１２２】
ネットワークインタフェース１２１０がパケットを受信した場合には、更なる処理のために、データパス１２９５を通じてルーティング部１２２０にパケットを渡す。同様に、ルーティング部１２２０は、パケットの送信を行う際には、データパス１２９５を通じた送信を行うために、対応するネットワークインタフェース１２１０にパケットを渡す。
【０１２３】
また、ルーティング部１２２０は、インターネットワーキングレイヤにおけるルーティングに関するすべての処理を行う。ＯＳＩモデルの下では、ルーティング部１２２０は、ネットワーク層のすべての機能を包含している。
【０１２４】
ルーティング部１２２０は、基本的に、ＩＰｖ６や一般的なトンネリング機能を実行する。ルーティング部１２２０には、ルーティングテーブル１２３０及びトンネリングモジュール１２４０が存在している。
【０１２５】
ルーティングテーブル１２３０には、ルーティング部１２２０が経路を決定するための情報が含まれている。なお、ルーティングテーブル１２３０は、エントリのリストのように構成されており、各エントリには、あて先フィールド及び次ホップフィールドが含まれていることが望ましい。あて先フィールドには、完全なあて先アドレス、又はあて先アドレスのプレフィックスが格納されており、次ホップフィールドには、あて先フィールドに格納されている値と一致するあて先アドレスを有するパケットの転送場所が記載されている。
【０１２６】
また、トンネリングモジュール１２４０は、必要に応じて、ＩＰトンネルの確立、維持、破棄を行う。例えば、ＮＥＭＯベーシックサポートの下では、モバイルルータは、自身のホームエージェントとの間に双方向トンネルを確立する。これは、トンネリングモジュール１２４０によって維持される。
【０１２７】
なお、当業者であれば、トンネリングモジュール１２４０は、トンネルインタフェースとして知られる仮想ネットワークインタフェースを作成することが望ましいことが分かるであろう。このトンネルインタフェースは、ルーティング部１２２０にとっては、他のネットワークインタフェース１２１０と等価に見える。
【０１２８】
また、トンネリングモジュール１２４０には、ループ検出モジュール１２５０が存在している。ループ検出モジュール１２５０は、受信パケット（トンネルパケット及び／又はＩＣＭＰエラー）にＴＥＬオプションが存在するか否かの検査を行うとともに、ＴＥＬオプションが存在する場合には、その中に含まれているＴＥＬ値を記憶する機能を有している。また、ループ検出モジュール１２５０は、トンネリングループ検出アルゴリズムを実行し、記憶されたＴＥＬ値に基づいてトンネリングループが存在しているかを推測して、トンネリングループの存在が検出された場合にはエラーを始動する機能を有している。さらに、ループ検出モジュール１２５０は、送出するトンネルパケットに対するＴＥＬオプションの挿入や、ＴＥＬオプションに対してＴＥＬ値やその他の付加情報（例えば、ＩＤ情報など）の設定を行う機能も有している。
【０１２９】
なお、当業者であれば、図６に図示されているトンネルエントリポイントの機能アーキテクチャには、トンネルエントリポイントを実現するために必要な最小限の機能ブロックのみが含まれており、実際には、さらに、他の機能が必要であるかもしれないことが分かるであろう。例えば、トンネルエントリポイントがホームエージェントである場合には、ホームエージェント能力を提供するための機能（例えば、バインディングキャッシュエントリなど）が追加される必要がある。
【０１３０】
また、本発明の実施の形態において、トンネルエントリポイントのループ検出モジュール１２５０は、図７に図示されているように、統計量収集機能及び統計量比較機能を有することが望ましい。図７は、本発明の実施の形態におけるトンネルポイントエントリのループ検出モジュールの構成の一例を示す図である。
【０１３１】
図７に図示されているループ検出モジュール１２５０は、受信パケットから得られる所定のパラメータ（例えば、ＴＥＬ値）を収集するように構成されており、トンネリングループが発生している可能性を示す信号を送出するように構成されている。
【０１３２】
図７において、入力ノード１６１０は、収集された統計量のサンプル（例えば、受信されたトンネルパケットのＴＥＬ値、又は受信されたＩＣＭＰエラーのＴＥＬ値）の入力点である。入力ノード１６１０に入力された値は、異なる２つのユニットに供給される。すなわち、入力ノード１６１０に入力された値は、データパス１６５０−１を通じてレジスタ１６２０−１に供給されるとともに、データパス１６５１を通じて比較器１６３０に供給される。
【０１３３】
レジスタ１６２０−１は、１単位時間（１パケット分）における入力で得られる値を格納する機能を有している。データパス１６５０−１からレジスタ１６２０−１に新たな値が入力される場合には、レジスタ１６２０−１内に格納されている現在の値がデータパス１６５０−２から出力されるとともに、新たな値がレジスタ１６２０−１に格納される。なお、データパス１６５０−２から出力された値は、次のレジスタ１６２０−２に格納されることによってシフトする。
【０１３４】
ループ検出モジュール１２５０は、上記のようなｎ個のレジスタ１６２０−１〜１６２０−ｎが配列されており、レジスタ１６２０−１〜１６２０−ｎはそれぞれ隣接したもの同士が接続されている。なお、ｎは２以上の整数である。一連のレジスタ１６２０−１〜１６２０−ｎは、従来の技術に係る遅延フィルタを形成している。ここで、各レジスタ１６２０−ｙは、新たな値の入力に応じて、前回の単位時間において前段のレジスタ１６２０−ｘ（ｙ＝ｘ＋１：ｘ、ｙは１〜ｎの正の整数）に格納されている値を格納する。
【０１３５】
なお、各レジスタ１６２０−ｘに格納されている値が出力されるデータパスは、２つ存在する。すなわち、次のレジスタ１６２０−ｙに出力値を供給するデータパス１６５０−ｙ（ｙ＝ｘ＋１）と、比較器１６３０に出力値を供給するデータパス１６５２−ｘとが存在する。ただし、最後のレジスタ１６５０−ｎに関しては、例外として、比較器１６３０に出力値を供給するデータパス１６２０−ｎのみ存在する。
【０１３６】
比較器１６３０は、データパス１６５１からの新たな入力値と、データパス１６５２−１〜１６５２−ｎからの以前に入力された値（各レジスタ１６２０−１〜１６２０−ｎに格納されていた値）とを比較し、データパス１６５４を通じて出力ノード１６４０に、トンネリングループが検出されたか否かを示す値を出力するように構成されている。なお、比較器１６３０は、トンネリングループが発生している可能性が検出された場合にのみ、トンネリングループ検出通知信号を出力ノード１６４０に出力してもよい。
【０１３７】
実際に比較器１６３０を実装する方法は様々存在しており、本発明では、特に限定されるものではない。例えば、比較器１６３０は、重み付けされた線形結合器によって実現可能である。ここでは、データパス１６５４への出力値は、データパス１６５１、１６５１−１〜１６５１−ｎから入力されたすべての値に対して重み付けが行われたものの総和である。なお、各重みは、例えば、トンネリングループを含むフロー及びトンネリングループを含まないフローの両方から得られる複数の値のサンプルを収集することによって決定可能であり、所望の出力からの２乗エラーが最小になるように出力値が設定されることが望ましい。
【０１３８】
なお、別の方法として、ニューラルネットワークによって比較器１６３０が実現されてもよい。ニューラルネットワークは、例えば、トンネリングループを含むフロー及びトンネリングループを含まないフローの両方から得られる値を使用して、所望の出力を与えるように学習される。なお、特に有用なタイプのニューラルネットワークは、マルチレイヤパーセプション（ＭＬＰ：Multi-Layer Perception）であるが、これは、エラーバックプロバケーション方法を利用した大規模なトレーニングが必要となる。また、別の有用なタイプのニューラルネットワークは、放射基底関数（ＲＢＦ：Radial Basis Function）ネットワークである。このＲＢＦネットワークはトレーニングが比較的容易であり、クラスタアルゴリズムを使用して、放射基底関数のクラスタセンタを決定することができる。また、通常の最小２乗エラーアルゴリズムを使用することによって、線形の重みを決定することが可能である。
【０１３９】
また、本明細書では、最も実用的かつ好適な実施の形態であると思われる内容で本発明の開示及び説明が行われているが、当業者であれば、本発明の範囲を逸脱することなく、デザインやパラメータの詳細において様々な変更が可能であることが分かるであろう。
【０１４０】
なお、上記の本発明の実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるＬＳＩ（Large Scale Integration）として実現される。これらは個別に１チップ化されてもよいし、一部又はすべてを含むように１チップ化されてもよい。なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１４１】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１４２】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
【産業上の利用可能性】
【０１４３】
本発明は、パケット転送装置（特に、トンネルエントリポイント）がトンネリングループの存在を検出することができるようになるという効果を有しており、パケット交換型データ通信ネットワークにかかる通信分野や、特に、パケットのカプセル化（パケットのトンネリング）の技術分野に適用可能である。
【図面の簡単な説明】
【０１４４】
【図１Ａ】従来の技術において、トンネリングループが起こることが予想される第１の構成例を示す図
【図１Ｂ】従来の技術において、トンネリングループが起こることが予想される第２の構成例を示す図
【図１Ｃ】従来の技術における動作の一例に係るシーケンスチャート
【図２】本発明の実施の形態において、トンネリングループが形成される場合のネットワーク構成の一例を示す図
【図３Ａ】本発明の実施の形態における動作の一例に係るシーケンスチャート
【図３Ｂ】本発明の実施の形態において、トンネルエントリポイントによってＩＣＭＰエラーから収集されたＴＥＬ値を模式的に示すグラフの一例を示す図
【図３Ｃ】本発明の実施の形態において、トンネルエントリポイントによってトンネルパケットから収集されたＴＥＬ値を模式的に示すグラフの一例を示す図
【図４Ａ】本発明の実施の形態において、トンネリングループが形成される場合のネットワーク構成の別の一例を示す図
【図４Ｂ】本発明の実施の形態における動作の別の一例に係るシーケンスチャート
【図４Ｃ】本発明の実施の形態において、トンネルエントリポイントによってＩＣＭＰエラーから収集されたＴＥＬ値を模式的に示すグラフの別の一例を示す図
【図４Ｄ】本発明の実施の形態において、トンネルエントリポイントによってＩＣＭＰエラーから収集されたＴＥＬ値を模式的に示すグラフの更に別の一例を示す図
【図５】本発明の実施の形態において、トンネルエントリポイントによってＩＣＭＰエラーから実際に収集されたＴＥＬ値を示すグラフの一例を示す図
【図６】本発明の実施の形態におけるトンネルエントリポイントの構成の一例を示す図
【図７】本発明の実施の形態におけるトンネルポイントエントリのループ検出モジュールの構成の一例を示す図
【図１Ａ】
2009543383.tif 000003
【図１Ｂ】
2009543383.tif 000004
【図１Ｃ】
2009543383.tif 000005
【図２】
2009543383.tif 000006
【図３Ａ】
2009543383.tif 000007
【図３Ｂ】
2009543383.tif 000008
【図３Ｃ】
2009543383.tif 000009
【図４Ａ】
2009543383.tif 000010
【図４Ｂ】
2009543383.tif 000011
【図４Ｃ】
2009543383.tif 000012
【図４Ｄ】
2009543383.tif 000013
【図５】
2009543383.tif 000014
【図６】
2009543383.tif 000015
【図７】
2009543383.tif 000016
【国際調査報告】
2009543383.tif 000017
2009543383.tif 000018