(57)【特許請求の範囲】
【請求項１】
フレームを送受信する複数のポートを有し、受信したフレームを送信先に伝送するフレーム伝送装置であって、
第１フレームを受信した場合に、前記第１フレームに含まれる送信元アドレスを示す第１送信元アドレスと、前記第１フレームを受信したポートを示す第１受信ポートとを対応付けて学習テーブルに記憶する学習テーブル記憶手段と、
第２フレームを受信した場合に、当該第２フレームに含まれる送信元アドレスを示す第２送信元アドレスと一致する第１送信元アドレスを前記学習テーブルから検出し、検出した第１送信元アドレスに対応する第１受信ポートと、前記第２フレームを受信したポートを示す第２受信ポートとが一致するか否かを判定するポート判定手段と、
前記第１受信ポートと前記第２受信ポートとが一致せず、かつ、前記学習テーブル記憶手段が、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過が所定値未満である場合には、前記第２フレームがループしていると判定し、当該第２フレームを破棄し、前記第１受信ポートと前記第２受信ポートとが一致せず、かつ、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過が所定時間以上である場合には、前記第２フレームの送信元アドレスおよび前記第２受信ポートにより、前記学習テーブルを更新するループ判定手段と
を備えたことを特徴とするフレーム伝送装置。
【請求項２】
前記ループ判定手段によって第２フレームが破棄された場合に、当該第２フレームに対応する第２送信元アドレス、第２受信ポートおよび前記第２フレームが破棄された時刻を破棄テーブルに記憶する破棄テーブル記憶手段と、フレームを受信した場合に、受信したフレームの送信元アドレスおよび当該フレームを受信したポートと、前記破棄テーブルとを基にして、フレームを破棄するか否かを判定する破棄判定手段とを更に備えたことを特徴とする請求項１に記載のフレーム伝送装置。
【請求項３】
前記学習テーブルに記憶された第１送信元アドレスと一致する第２送信元アドレスを前記破棄テーブルから検出し、検出した第２送信元アドレスを前記破棄テーブルに記憶した時刻と、当該第２送信元アドレスに対応する前記第１送信元アドレスを前記学習テーブルに記憶した時刻とを基にして、前記第２フレームのループが解消したか否かを判定するループ解消判定手段を更に備えたことを特徴とする請求項２に記載のフレーム伝送装置。
【請求項４】
フレームを送受信する複数のポートを有し、受信したフレームを送信先に伝送するフレーム伝送装置のループ判定方法であって、
前記フレーム伝送装置は、
第１フレームを受信した場合に、前記第１フレームに含まれる送信元アドレスを示す第１送信元アドレスと、前記第１フレームを受信したポートを示す第１受信ポートとを対応付けて学習テーブルに記憶する学習テーブル記憶ステップと、
第２フレームを受信した場合に、当該第２フレームに含まれる送信元アドレスを示す第２送信元アドレスと一致する第１送信元アドレスを前記学習テーブルから検出し、検出した第１送信元アドレスに対応する第１受信ポートと、前記第２フレームを受信したポートを示す第２受信ポートとが一致するか否かを判定するポート判定ステップと、
前記第１受信ポートと前記第２受信ポートとが一致せず、かつ、前記学習テーブル記憶ステップによって、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過が所定値未満である場合には、前記第２フレームがループしていると判定し、当該第２フレームを破棄し、前記第１受信ポートと前記第２受信ポートとが一致せず、かつ、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過が所定時間以上である場合には、前記第２フレームの送信元アドレスおよび前記第２受信ポートにより、前記学習テーブルを更新するループ判定ステップと
を含んだことを特徴とするループ判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、フレームを送受信する複数のポートを有し、受信したフレームを送信先に伝送するフレーム伝送装置およびそのループ判定方法に関し、特にループの発生しているフレームを迅速に検出することが出来るフレーム伝送装置およびループ判定方法に関するものである。
【背景技術】
【０００２】
近年、企業内ネットワークの構築時に、設備コストを抑える目的でＩＰ−ＶＰＮ（Virtual  Private  Network）の代わりに広域Ethernet（登録商標）が導入されている。そして、この広域Ethernet（登録商標）を構築する際に用いられるＬ２（レイヤ２）スイッチは、ＭＡＣ（Media  Access  Control）学習機能を有し、フレーム伝送を実行する。
【０００３】
ここで、Ｌ２スイッチにおけるＭＡＣ学習機能は、Ｌ２スイッチが受信したフレームの「送信元のＭＡＣアドレス」と「受信ポート」とをペアでＦＤＢ（フォワーディングデータベース）に記憶しておき、ＦＤＢに記憶されたＭＡＣアドレスを宛先とするフレームを他のポートから受信した場合に、全ポートにフレームを転送するのではなく、学習済みのポートにのみフレームを転送して、無駄なトラフィックを削除する機能である。
【０００４】
また、ＭＡＣ学習機能は、エージング機能も備えている。このエージング機能は、Ｌ２スイッチが、学習済みの「送信元のＭＡＣアドレス」を有するフレームを一定時間受信しなかった場合に、通信が行われていないとみなしてＦＤＢからエントリを削除する機能である。なお、フレームを受信していない間にカウントダウンしていくタイマのことをエージングタイマという。Ｌ２スイッチは、学習済みの「送信元のＭＡＣアドレス」を有するフレームを受信するたびに、該当するエージングタイマを最大値にリセットする。
【０００５】
図１０は、従来のＬ２スイッチにおけるＭＡＣ学習機能を説明するための図である。同図に示すように、このＬ２スイッチ５０は、ポート１〜４と、ＦＤＢ５０ａとを備えており、ポート１，２がＬ２ネットワーク２０に接続され、ポート３，４がＬ２ネットワーク３０に接続されている。なお、ポート１〜４のポート識別情報をそれぞれ「１」〜「４」とする。
【０００６】
例えば、Ｌ２スイッチ５０が、端末１０ａ（この端末１０ａのＭＡＣアドレスを「ＭＡＣ−Ａ」とする）のフレームをポート１から受信した場合には、ポート識別情報「１」と、ＭＡＣアドレス「ＭＡＣ−Ａ」と、エージングタイマの値とを対応付けてＦＤＢ５０ａに記憶する。このようなエントリがＦＤＢ５０ａに記憶された状態で、Ｌ２スイッチ５０が外部から端末１０ａ宛のフレームを受信した場合には、Ｌ２スイッチ５０は、ポート１から該当フレームを送信する。
【０００７】
その後、端末１０ａが移動し、Ｌ２スイッチ５０が、端末１０ａからのフレームをポート２から受信した場合には、ＭＡＣアドレス「ＭＡＣ−Ａ」に対応するポート識別情報を「２」、エージングタイマを「３００秒」に設定することによりＦＤＢ５０ａを更新する（エージングタイマの最大値を３００秒とする）。
【０００８】
しかし、従来では、Ｌ２ネットワーク２０，３０内に接続ミスや装置バグが存在する場合に、フレームがループしてしまうという問題があった。図１１は、フレームがループすることによる問題点を説明するための図である。図１１において、端末１０ａのＭＡＣアドレスを「ＭＡＣ−Ａ」、端末１０ｂのＭＡＣアドレスを「ＭＡＣ−Ｂ」とする。
【０００９】
図１１に示すように、Ｌ２スイッチ５０が、ポート１からフレーム（送信元のＭＡＣアドレス「ＭＡＣ−Ａ」、送信先のＭＡＣアドレス「ＭＡＣ−Ｂ」）を取得し、ＦＤＢ５０ａに基づいて、フレームをポート３から送信した後、フレームがＬ２ネットワーク３０をループしてＬ２スイッチ５０のポート４に戻ってきた場合に、Ｌ２スイッチ５０は、端末１０ａが移動したとみなして（実際に、端末１０ａは移動していないにも関わらず）ＦＤＢ５０ａを更新（ＭＡＣアドレス「ＭＡＣ−Ａ」に対応するポート識別情報を「１」から「４」に更新）してしまう。
【００１０】
このように、Ｌ２スイッチ５０がＦＤＢ５０ａを更新すると、該当フレームは、送信先のアドレスが「ＭＡＣ−Ｂ」に設定されているので、ポート４からポート３に再度転送され、その結果、ポート３とポート４との間で永遠にフレームがループしてしまうことになる。
【００１１】
また、ＦＤＢ５０ａが誤って更新されている状態で、Ｌ２スイッチ５０が、端末１０ａ宛のフレームを受信した場合には、フレームを適切に、端末１０ａに送信することが出来なくなる。従って、図１１に示した問題を解消するために、フレームがループしているか否かを判定し、ループしている場合には、ＦＤＢ５０ａを更新せずに、ループ中のフレームを破棄すべきである。
【００１２】
ここで、フレームがループしているか否かを判定する技術は、例えば、特許文献１に公開されている。この特許文献１では、同一の送信元アドレスのパケットが異なるポートに入力した端末移動体状態を検出し、ポート毎に端末移動状態を検出した回数をカウントすることにより、フレームがループしているか否かを判定している。
【００１３】
【特許文献１】特開２００６−１７３７８５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、上述した従来の技術（例えば、特許文献１）では、端末移動体状態を検出して、ループが発生しているか否かを判定しているため、ループの発生を検出するまでの時間が長くなってしまうという問題があった。
【００１５】
Ｌ２スイッチは、膨大な数のフレームを短時間で処理するため、ループの発生を検出するまでの時間が長くなると、Ｌ２スイッチにかかる負担が大きくなるとともに、多くのフレームを送信先に適切に送信できなくなる恐れがある。
【００１６】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、ループの発生を迅速に検出することができるフレーム伝送装置およびループ判定方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決し、目的を達成するため、このフレーム伝送装置は、フレームを送受信する複数のポートを有し、受信したフレームを送信先に伝送するフレーム伝送装置であって、第１フレームを受信した場合に、前記第１フレームに含まれる送信元アドレスを示す第１送信元アドレスと、前記第１フレームを受信したポートを示す第１受信ポートとを対応付けて学習テーブルに記憶する学習テーブル記憶手段と、第２フレームを受信した場合に、当該第２フレームに含まれる送信元アドレスを示す第２送信元アドレスと一致する第１送信元アドレスを前記学習テーブルから検出し、検出した第１送信元アドレスに対応する第１受信ポートと、前記第２フレームを受信したポートを示す第２受信ポートとが一致するか否かを判定するポート判定手段と、前記第１受信ポートと前記第２受信ポートとが一致しない場合に、前記学習テーブル記憶手段が、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過に基づいて、前記第２フレームがループしているか否かを判定するループ判定手段と、を備えたことを要件とする。
【００１８】
また、このフレーム伝送装置は、上記のフレーム伝送装置において、前記ループ判定手段は、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過が所定値未満である場合に、前記第２フレームがループしていると判定し、当該第２フレームを破棄することを要件とする。
【００１９】
また、このフレーム伝送装置は、上記のフレーム伝送装置において、前記ループ判定手段によって第２フレームが破棄された場合に、当該第２フレームに対応する第２送信元アドレス、第２受信ポートおよび前記第２フレームが破棄された時刻を破棄テーブルに記憶する破棄テーブル記憶手段と、フレームを受信した場合に、受信したフレームの送信元アドレスおよび当該フレームを受信したポートと、前記破棄テーブルとを基にして、フレームを破棄するか否かを判定する破棄判定手段とを更に備えたことを要件とする。
【００２０】
また、このフレーム伝送装置は、上記のフレーム伝送装置において、前記学習テーブルに記憶された第１送信元アドレスと一致する第２送信元アドレスを前記破棄テーブルから検出し、検出した第２送信元アドレスを前記破棄テーブルに記憶した時刻と、当該第２送信元アドレスに対応する前記第１送信元アドレスを前記学習テーブルに記憶した時刻とを基にして、前記第２フレームのループが解消したか否かを判定するループ解消判定手段を更に備えたことを要件とする。
【００２１】
また、このループ判定方法は、フレームを送受信する複数のポートを有し、受信したフレームを送信先に伝送するフレーム伝送装置のループ判定方法であって、前記フレーム伝送装置は、第１フレームを受信した場合に、前記第１フレームに含まれる送信元アドレスを示す第１送信元アドレスと、前記第１フレームを受信したポートを示す第１受信ポートとを対応付けて学習テーブルに記憶する学習テーブル記憶ステップと、第２フレームを受信した場合に、当該第２フレームに含まれる送信元アドレスを示す第２送信元アドレスと一致する第１送信元アドレスを前記学習テーブルから検出し、検出した第１送信元アドレスに対応する第１受信ポートと、前記第２フレームを受信したポートを示す第２受信ポートとが一致するか否かを判定するポート判定ステップと、前記第１受信ポートと前記第２受信ポートとが一致しない場合に、前記学習テーブル記憶ステップによって、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過に基づいて、前記第２フレームがループしているか否かを判定するループ判定ステップと、を含んだことを要件とする。
【発明の効果】
【００２２】
このフレーム伝送装置によれば、フレーム受信時に、学習テーブルにおいて、該当送信元アドレスが既に他のポートで学習済みであるか否かを判定し、学習済みである場合に、該当送信元ＭＡＣアドレスに設定されているエージングタイマの値を確認することで、ループ発生の有無を判定するので、ループの発生を迅速に検出することができる（ネットワークに接続された端末装置の状態を検出することなく、フレームのループが発生しているか否かを判定することが出来る）。
【００２３】
また、このフレーム伝送装置によれば、第１受信ポートを学習テーブルに記憶してからの時間経過が所定値未満である場合に、第２フレームがループしていると判定し、第２フレームを破棄するので、ループしているフレームを効率よく検出して破棄することが出来る。
【００２４】
また、このフレーム伝送装置によれば、第２フレームが破棄された場合に、当該第２フレームに対応する第２送信元アドレス、第２受信ポートおよび第２フレームが破棄された時刻を破棄テーブルに記憶し、フレームを受信した場合に、受信したフレームの送信元アドレスおよび当該フレームを受信したポートと、破棄テーブルとを基にして、フレームを破棄するか否かを判定するので、ループしているフレームを効率よく検出して破棄することが出来る。
【００２５】
また、このフレーム伝送装置によれば、学習テーブルに記憶された第１送信元アドレスと一致する第２送信元アドレスを破棄テーブルから検出し、検出した第２送信元アドレスを破棄テーブルに記憶した時刻と、第２送信元アドレスに対応する第１送信元アドレスを学習テーブルに記憶した時刻とを基にして、第２フレームのループが解消したか否かを判定するので、ループが解消したか否かを適切に判定することが出来、ループが解消したフレームを誤って破棄してしまうことを防止することが出来る。
【発明を実施するための最良の形態】
【００２６】
以下に添付図面を参照して、この発明に係るフレーム伝送装置およびループ判定方法の好適な実施の形態を詳細に説明する。
【実施例１】
【００２７】
はじめに、本実施例１にかかるＬ２スイッチ（フレーム伝送装置）の概要および特徴について説明する。図１および図２は、本実施例１にかかるＬ２スイッチの概要および特徴を説明するための図である。同図に示すように、このＬ２スイッチ１００は、ポート１〜４と、ＦＤＢ１１０とを備えており、ポート１，２がＬ２ネットワーク２０に接続され、ポート３，４がＬ２ネットワーク３０に接続されている。なお、ポート１〜４のポート識別情報をそれぞれ「１」〜「４」とする。
【００２８】
また、端末１０ａ（この端末１０ａのＭＡＣアドレスを「ＭＡＣ−Ａ」とする）がＬ２ネットワーク２０に接続され、端末１０ｂ（この端末１０ｂのＭＡＣアドレスを「ＭＡＣ−Ｂ」とする）がＬ２ネットワーク３０に接続されている（図１の場合）。
【００２９】
Ｌ２スイッチ１００は、ＦＤＢ１１０に基づいて、フレームを転送する装置であり、フレームをポート１〜４から受信し、受信したフレームがループしていない場合に、受信したフレームの各種情報（ポート識別情報、送信元のＭＡＣアドレス、エージングタイマ）をＦＤＢ１１０に記憶する。
【００３０】
まず、Ｌ２スイッチ１００が、ＦＤＢ１１０に記憶された情報に基づいて、フレームを送信する処理について説明する。例えば、ＦＤＢ１１０に、ポート識別情報「１」とＭＡＣアドレス「ＭＡＣ−Ａ」とが対応付けられて記憶されているので、Ｌ２スイッチ１００は、送信先のＭＡＣアドレスが「ＭＡＣ−Ａ」となるフレームをＬ２ネットワーク２０，３０から受信した場合には、受信したフレームをポート１から送信する。
【００３１】
また、ＦＤＢ１１０に、ポート識別情報「３」とＭＡＣアドレス「ＭＡＣ−Ｂ」とが対応付けられて記憶されているので、Ｌ２スイッチ１００は、送信先のＭＡＣアドレスが「ＭＡＣ−Ｂ」となるフレームをＬ２ネットワーク２０，３０から受信した場合には、受信したフレームをポート３から送信する。
【００３２】
次に、Ｌ２スイッチ１００が、フレームがループしているか否かを判定する処理（ＦＤＢ１１０に記憶された情報を更新する処理）について説明する。Ｌ２スイッチ１００は、ポート１〜４からフレームを受信した場合に、受信したフレームに含まれる送信元のＭＡＣアドレスと、フレームを受信したポートと、ＦＤＢ１１０に記憶された情報とを基にして、フレームがループしているか否かを判定する。
【００３３】
ここで、説明の便宜上、ＦＤＢ１１０に記憶されたＭＡＣアドレスを第１ＭＡＣアドレスと定義し、外部から受信したフレームの送信元のＭＡＣアドレスを第２ＭＡＣアドレスと定義して、Ｌ２スイッチ１００を説明する。
【００３４】
Ｌ２スイッチ１００は、受信したフレームの第２ＭＡＣアドレスと一致する第１ＭＡＣアドレスをＦＤＢ１１０から検出し、検出した第１ＭＡＣアドレスに対応するポート識別情報（以下、第１ポート識別情報と表記する）と、フレーム（第２ＭＡＣアドレスを送信元とするフレーム）を受信したポートのポート識別情報（以下、第２ポート識別情報と表記する）が等しいか否かを判定する。
【００３５】
そして、第１ポート識別情報と第２ポート識別情報が等しい場合には、Ｌ２スイッチ１００は、第１ポート識別情報のエントリに対応するエージングタイマを最大値（例えば、３００秒）に設定して処理を終了する。
【００３６】
一方、Ｌ２スイッチ１００は、第１ポート識別情報と第２ポート識別情報とが異なる場合には、第１ポート識別情報に対応するエージングタイマに基づいて、フレームがループしているか否かを判定する。具体的には、エージングタイマの値が所定値（例えば、２９９秒）以上の場合に、フレームがループしているものと判定し、Ｌ２スイッチ１００は、ループしていると判定したフレームを破棄する。
【００３７】
例えば、図１に示すように、ポート４（第２ポート識別情報「４」）から送信元のＭＡＣアドレス「ＭＡＣ−Ａ」を含んだフレームを受信した場合に、Ｌ２スイッチ１００は、第２ＭＡＣアドレス「ＭＡＣ−Ａ」に対応する第１ＭＡＣアドレス「ＭＡＣ−Ａ」をＦＤＢ１１０から取得し、第１ポート識別情報「１」と第２ポート識別情報「３」とが等しいか否かを判定する。
【００３８】
ここで、第１ポート識別情報「１」と第２ポート識別情報「３」とは異なるので、第１ポート識別情報に対応するエージングタイマに基づいて、フレームがループしているか否か判定すると、エージングタイマの値が所定値以上となるので、Ｌ２スイッチ１００は、ポート４から受信したフレームがループしているとみなして、該当フレームを破棄する。
【００３９】
一方、エージングタイマの値が所定値未満である場合には、Ｌ２スイッチ１００は、フレームがループしておらず、端末１０ａが移動したものとみなして、第１ポート識別情報を第２ポート識別情報に更新する。
【００４０】
例えば、図２に示すように、ポート４（第２ポート識別情報「４」）から送信元のＭＡＣアドレス「ＭＡＣ−Ａ」を含んだフレームを受信した場合に、Ｌ２スイッチ１００は、第２ＭＡＣアドレス「ＭＡＣ−Ａ」に対応する第１ＭＡＣアドレス「ＭＡＣ−Ａ」をＦＤＢ１１０から取得し、第１ポート識別情報「１」と第２ポート識別情報「３」とが等しいか否かを判定する。
【００４１】
ここで、第１ポート識別情報「１」と第２ポート識別情報「３」とは異なるので、第１ポート識別情報に対応するエージングタイマに基づいて、フレームがループしているか否か判定すると、エージングタイマの値が所定値（例えば、２９９秒）未満となるので、Ｌ２スイッチ１００は、ポート４から受信したフレームがループしてないとみなして、ＦＤＢのポート識別情報を「１」から「４」に更新する。
【００４２】
このように、Ｌ２スイッチ１００は、フレーム受信時に、該当送信元アドレスが既に他のポートで学習済みであるか否かを判定し、学習済みである場合に、該当送信元ＭＡＣアドレスに設定されているエージングタイマの値を確認することで、ループ発生の有無を判定しているので、ループの発生を迅速に検出することができる。
【００４３】
利用者が端末を移動させた場合は、フレーム送信停止、移動前のネットワーク接続の切断、端末の移動、移動後のネットワーク接続、フレーム送信再開というステップを踏むため、Ｌ２スイッチ１００が、別のポートからフレームを受信するまでには、一定以上の時間がかかると予想される。
【００４４】
一方、Ｌ２ネットワーク２０，３０上で、ループが発生し、別ポートからフレームを受信するまでの時間は、ほぼ０秒である。従って、他のポートでＭＡＣ学習済みのフレームを受信した場合に、エージングタイマの値を判定することで、端末移動が行われたのか、Ｌ２ネットワーク２０，３０上にループが発生したのかを判定することが可能となる。
【００４５】
次に、図１および図２に示したＬ２スイッチの構成について説明する。図３は、本実施例１にかかるＬ２スイッチの構成を示す機能ブロック図である。同図に示すように、このＬ２スイッチ１００は、ＦＤＢ１１０と、破棄対象フレームデータ１２０と、フレーム破棄判定部１３０と、ＭＡＣ学習部１４０と、ループ判定部１５０と、フレーム破棄部１６０と、ループ監視部１７０とを備えて構成される。なお、Ｌ２スイッチ１００にかかるその他の構成は、周知のＬ２スイッチと同様であるため、説明を省略する。
【００４６】
ここで、ＦＤＢ１１０は、ポート識別情報（第１ポート識別情報に対応）と、ＭＡＣアドレス（第１ＭＡＣアドレスに対応）と、エージングタイマとを対応付けて記憶する記憶手段である。図４は、ＦＤＢ１１０のデータ構造の一例を示す図である。
【００４７】
図４の１段目では、ポート識別情報「１」にＭＡＣアドレス「ＭＡＣ−Ａ」が対応付けられ、エージングタイマが「３００秒」に設定されている。また、２段目では、ポート識別情報「３」にＭＡＣアドレス「ＭＡＣ−Ｂ」が対応付けられ、エージングタイマが「１００秒」に設定されている。
【００４８】
破棄対象フレームデータ１２０は、破棄対象となるフレームのポート識別情報と、ＭＡＣアドレスと、フレームを破棄した時刻とでなるフレーム破棄時刻とを対応付けて記憶する記憶手段である。図５は、破棄対象フレームデータ１２０のデータ構造の一例を示す図である。
【００４９】
図５に示す例では、破棄対象フレームデータ１２０は、ポート識別情報「４」と、ＭＡＣアドレス「ＭＡＣ−Ａ」と、フレーム破棄時刻「１０時００分００秒」とを対応付けて記憶している。例えば、図５に示す情報を破棄対象フレームデータ１２０が記憶している状態で、Ｌ２スイッチ１００が、ポート「４」から、送信元のＭＡＣアドレス「ＭＡＣ−Ａ」を有するフレームを受信した場合には、かかるフレームを破棄することになる。
【００５０】
フレーム破棄判定部１３０は、Ｌ２スイッチ１００がフレームを受信した場合に、破棄対象フレームデータ１２０（図５参照）を参照し、受信したフレームのポート識別情報（第２ポート識別情報）、ＭＡＣアドレス（第２ＭＡＣアドレス）と一致する情報が、破棄対象フレームデータ１２０に登録されているか否かを判定する手段である。
【００５１】
フレーム破棄判定部１３０は、フレームの第２ポート識別情報および第２ＭＡＣアドレスが破棄対象フレームデータ１２０に登録されている場合には、受信したフレームをフレーム破棄部１６０に出力する。一方、フレーム破棄判定部１３０は、フレームの第２ポート識別情報および第２ＭＡＣアドレスが破棄対象フレームデータ１２０に登録されていない場合には、受信したフレームをＭＡＣ学習部１４０に出力する。
【００５２】
ＭＡＣ学習部１４０は、フレーム（フレーム破棄判定部１３０から取得したフレーム）の第２ポート識別情報、第２ＭＡＣアドレスと、ＦＤＢ１１０とを比較して、フレームの送信元ＭＡＣアドレスが既に学習済みであるか否かを判定する手段である。
【００５３】
具体的に、ＭＡＣ学習部１４０は、第２ＭＡＣアドレスと一致する第１ＭＡＣアドレスがＦＤＢ１１０に登録されていない場合には、第２ＭＡＣアドレスおよび第２ポート識別情報を対応付けて、ＦＤＢ１１０に登録する。また、該当するエージングタイマを最大値（例えば３００秒）に設定する。
【００５４】
一方、ＭＡＣ学習部１４０は、ＦＤＢ１１０中に、第２ＭＡＣアドレスと一致する第１ＭＡＣアドレスが存在し、かかる第１ＭＡＣアドレスに対応付けられた第１ポート識別情報と、第２ポート識別情報とが一致しない場合には、フレームをループ判定部１５０に出力する。
【００５５】
なお、ＭＡＣ学習部１４０は、ＦＤＢ１１０中に、第２ＭＡＣアドレスと一致する第１ＭＡＣアドレスが存在し、かかる第１ＭＡＣアドレスに対応付けられた第１ポート識別情報と、第２ポート識別情報とが一致する場合には、該当するエージングタイマを最大値に設定する。また、ＭＡＣ学習部１４０は、ＦＤＢ１１０に基づいて、フレームを該当ポート（図示略）から出力する。
【００５６】
ループ判定部１５０は、フレームがループしているか否かを判定する手段である。具体的に、ループ判定部１５０は、ＭＡＣ学習部１４０からフレームを取得した場合に、フレームの第２ＭＡＣアドレスに対応するエージングタイマを取得し、エージングタイマの値と所定値（例えば、２９９秒）とを比較することにより、フレームがループしているか否かを判定する。
【００５７】
ループ判定部１５０は、エージングタイマの値が所定値以上である場合には、フレームがループしていると判定し、フレームをフレーム破棄部１６０に出力する。一方、エージングタイマの値が所定値未満である場合には、フレームがループしていないと判定する。
【００５８】
フレーム破棄部１６０は、フレーム破棄判定部１３０またはループ判定部１５０からフレームを受信した場合に、対象となるフレームを破棄する手段である。
【００５９】
フレーム破棄部１６０が、フレーム破棄判定部１３０からフレームを取得した場合には、取得したフレームを破棄し、破棄対象フレームデータ１２０のフレーム破棄時刻を更新する。例えば、フレーム破棄部１６０が、送信元のＭＡＣアドレスが「ＭＡＣ−Ａ」となるフレーム（ポート識別情報を４とする）を「１０時００分００秒」に破棄した場合には、ポート識別情報「４」、ＭＡＣアドレス「ＭＡＣ−Ａ」に対応するフレーム破棄時刻を「１０時００分００秒」に更新する。
【００６０】
フレーム破棄部１６０が、ループ判定部１５０からフレームを受信した場合には、受信したフレームを破棄し、破棄したフレームの「ポート識別情報」、「ＭＡＣアドレス」、「フレームを破棄した時刻（フレーム破棄時刻）」を対応付けて、破棄対象フレームデータ１２０に登録する。
【００６１】
ループ監視部１７０は、破棄対象フレームデータ１２０およびＦＤＢ１１０に登録されている情報を一定周期で監視し、フレームのループが解消したか否かを判定する手段である。具体的に、ループ監視部１７０は、破棄したフレームと送信元のＭＡＣアドレスを同じくするフレーム（ループしていないと判定されたフレーム）を、破棄した時刻以降に受信した場合に、破棄対象となったフレームのループが解消したと判定する。
【００６２】
図６は、ループ監視部１７０の処理を説明するための図である。同図に示すように、ポート識別情報「１」、ＭＡＣアドレス「ＭＡＣ−Ａ」、エージングタイマ「２９０秒」となるフレームを受信してからの経過時間よりも、ポート識別情報「４」、ＭＡＣアドレス「ＭＡＣ−Ａ」、フレーム破棄時刻「１０時００分００秒」となるフレームの破棄を行ってからの時刻のほうが長くなった場合には、送信元のＭＡＣアドレス「ＭＡＣ−Ａ」となるフレームのループが解消したと判定する。
【００６３】
これは、フレームのループが解消され、ポート「４」（ポート識別情報「４」に対応するポート）で破棄対象フレームを受信しなくなった場合には、フレーム破棄時刻が更新されなくなり、ポート「１」からループしていないフレームを受信し、エージングタイマの値が更新されるからである。
【００６４】
図６に示す例では、現在時刻を１０時００分２０秒とすると、ポート識別情報「１」からループしていないフレーム（送信元のＭＡＣアドレス「ＭＡＣ−Ａ」）を受信した時刻は、１０時００分１０秒となるので、破棄対象フレームデータ１２０の１段目に記録されたエントリは削除される。
【００６５】
すなわち、ループ監視部１７０は、現在時刻−フレーム破棄時刻＞エージングタイマの最大値−現在のエージングタイマの値の条件を満たす場合に、ループが解消されたと判定する。
【００６６】
次に、本実施例１にかかるＬ２スイッチ１００の処理手順について説明する。図７は、Ｌ２スイッチ１００の実行するフレーム処理を示すフローチャートであり、図８は、Ｌ２スイッチ１００の実行するループ解消判定処理を示すフローチャートである。
【００６７】
まず、Ｌ２スイッチ１００の実行するフレーム処理について説明する。図７に示すように、Ｌ２スイッチ１００は、フレームを受信し（ステップＳ１０１）、受信したフレームが破棄対象フレームデータ１２０に登録済みか否かを判定し（ステップＳ１０２）、登録済みである場合には（ステップＳ１０３，Ｙｅｓ）、ステップＳ１１３に移行する。
【００６８】
一方、破棄対象フレームデータ１２０に登録済みでない場合には（ステップＳ１０３，Ｎｏ）、ＭＡＣアドレスを学習済みか否かを判定し（ステップＳ１０４）、学習済みでない場合には（ステップＳ１０５，Ｎｏ）、新規エントリをＦＤＢ１１０に登録し、エージングタイマの値を最大値に設定し（ステップＳ１０６）、処理を終了する。
【００６９】
一方、ＭＡＣアドレスを学習済みである場合には（ステップＳ１０５，Ｙｅｓ）、学習されたポートと同一のポートからフレームを受信したか否かを判定し（ステップＳ１０７）、同一のポートからフレームを受信している場合には（ステップＳ１０８，Ｙｅｓ）、該当エントリのエージングタイマの値を最大値に設定し（ステップＳ１０９）、処理を終了する。
【００７０】
一方、同一のポートからフレームを受信していない場合には（ステップＳ１０８，Ｎｏ）、エージングタイマの値が所定値以上か否かを判定し（ステップＳ１１０）、所定値以上でない場合には（ステップＳ１１１，Ｎｏ）、該当エントリのポート識別情報を更新し、エージングタイマを最大値に設定し（ステップＳ１１２）、処理を終了する。
【００７１】
一方、エージングタイマの値が所定値以上である場合には（ステップＳ１１１，Ｙｅｓ）、受信したフレームを破棄し（ステップＳ１１３）、破棄対象フレームデータ１２０に受信したフレームのフレーム破棄時刻を登録し（ステップＳ１１４）、処理を終了する。
【００７２】
次に、Ｌ２スイッチ１００の実行するループ解消判定処理について説明する。図８に示すように、Ｌ２スイッチ１００は、ループ監視部１７０が、現在時刻、フレーム破棄時刻、エージングタイマの値、エージングタイマの最大値を取得し（ステップＳ２０１）、現在時刻、フレーム破棄時刻、エージングタイマの値、エージングタイマの最大値に基づいて、ループが解消したか否かを判定する（ステップＳ２０２）。
【００７３】
ループ監視部１７０は、ループが解消していないと判定した場合には（ステップＳ２０３，Ｎｏ）、処理を終了する。一方、ループが解消していると判定した場合には（ステップＳ２０３，Ｙｅｓ）、破棄対象フレームデータから該当フレームの情報を削除し（ステップＳ２０４）、処理を終了する。なお、図８に示した処理は、例えば、所定時間毎に実行されるものとする。
【００７４】
上述してきたように、本実施例１にかかるＬ２スイッチ１００は、フレーム受信時に、ループ判定部１５０が、ＦＤＢ１１０を基にして、該当送信元アドレスが既に他のポートで学習済みであるか否かを判定し、学習済みである場合に、該当送信元ＭＡＣアドレスに設定されているエージングタイマの値を確認することで、ループ発生の有無を判定するので、ループの発生を迅速に検出することができる（周知技術のように、Ｌ２ネットワーク２０，３０に接続された端末１０ａ，１０ｂの状態を検出することなく、フレームのループが発生しているか否かを判定することが出来る）。
【実施例２】
【００７５】
さて、これまで本発明の実施例について説明したが、本発明は、上述した実施例１以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。
【００７６】
（１）ループ発生の判定基準となるエージングタイマの値について
例えば、上記の実施例１では、ループ判定部１５０が、エージングタイマの値と所定値（例えば、２９９秒）と比較して、ループが発生しているか否かを判定していたがこれに限定されるものではなく、Ｌ２スイッチ１００の管理者は、比較対象となる所定値を自由に設定できるようにしても良い。
【００７７】
（２）フレームの破棄について
例えば、上記の実施例１では、フレーム破棄部１６０が、フレーム破棄判定部１３０の判定結果に基づいて、フレームの破棄を実行していたが、フレームの破棄を行う代わりに、トラップをネットワーク管理者の端末に送信して、ネットワーク管理者に対してループが発生した旨の通知を行っても良い。
【００７８】
すなわち、フレーム破棄部１６０は、フレーム破棄判定部１３０がフレームを破棄した場合に、破棄対象となるフレームを破棄すると共に、トラップをネットワーク管理者の端末に送信しても良いし、破棄対象となるフレームを破棄しないで、宛先に送信し、トラップをネットワーク管理者の端末に送信しても良い。
【００７９】
このように、破棄対象となるフレームであっても、破棄せずに、トラップのみをネットワーク管理者の端末に送信することによって、万が一、破棄対象のフレームに重要なデータが含まれている場合であっても、かかるデータを消失してしまうといった問題を解消することが出来る。
【００８０】
（３）ループの解消を判定する処理について
例えば、上記の実施例１では、ループ監視部１７０が、現在時刻−フレーム破棄時刻＞エージングタイマの最大値−現在のエージングタイマの値の条件を満たす場合に、ループが解消されたと判定していがこれに限定されるものではなく、上記関係式が成り立たない場合であっても、最後にフレーム破棄を行ってから一定時間経過した時点で、破棄対象フレームデータから該当フレームの情報を削除しても良い（ループが解消したと判定しても良い）。また、かかる判定を実行するタイミングは、システムの管理者が自由に設定できるものとする。
【００８１】
（４）システムの構成など
ところで、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部あるいは一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８２】
また、図３に示したＬ２スイッチ１００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部がＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８３】
図９は、実施例１にかかるＬ２スイッチ１００を構成するコンピュータ２００のハードウェア構成を示す図である。図９に示すように、このコンピュータ（Ｌ２スイッチ）２００は、入力装置２０１、モニタ２０２、ＲＡＭ（Random  Access  Memory）２０３、ＲＯＭ（Read  Only  Memory）２０４、記憶媒体からデータを読み取る媒体読取装置２０５、他の装置（例えば、端末装置１０ａ，１０ｂ）との間でデータの送受信を行う通信装置２０６、ＣＰＵ（Central  Processing  Unit）２０７、ＨＤＤ（Hard  Disk  Drive）２０８をバス２０９で接続して構成される。
【００８４】
そして、ＨＤＤ２０８には、上記したＬ２スイッチ１００の機能と同様の機能を発揮するループ判定処理プログラム２０８ｂ、ループ監視処理プログラム２０８ｃが記憶されている。ＣＰＵ２０７が、ループ判定処理プログラム２０８ｂ、ループ監視処理プログラム２０８ｃを読み出して実行することにより、ループ判定処理プロセス２０７ａ、ループ監視処理プロセス２０７ｂが起動される。ここで、ループ判定処理プロセス２０７ａは、図３に示した、フレーム破棄判定部１３０、ＭＡＣ学習部１４０、ループ判定部１５０、フレーム破棄部１６０に対応し、ループ監視処理プロセス２０７ｂは、図３に示したループ監視部１７０に対応する。
【００８５】
また、ＨＤＤ２０８は、ＦＤＢ１１０および破棄対象フレームデータ１２０のデータに対応する各種データ２０８ａを記憶する。ＣＰＵ２０７は、ＨＤＤ２０８に格納された各種データ２０８ａを読み出して、ＲＡＭ２０３に格納し、ＲＡＭ２０３に格納された各種データ２０３ａにフレームの各種情報を登録し、フレームがループしているか否かを判定する。
【００８６】
ところで、図９に示したループ判定処理プログラム２０８ｂ、ループ監視処理プログラム２０８ｃは、必ずしも最初からＨＤＤ２０８に記憶させておく必要はない。たとえば、コンピュータに挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータの内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータに接続される「他のコンピュータ（またはサーバ）」などにループ判定処理プログラム２０８ｂ、ループ監視処理プログラム２０８ｃを記憶しておき、コンピュータがこれらからループ判定処理プログラム２０８ｂ、ループ監視処理プログラム２０８ｃを読み出して実行するようにしてもよい。
【００８７】
上記の実施例を含む実施形態に関し、以下の付記を開示する。
【００８８】
（付記１）フレームを送受信する複数のポートを有し、受信したフレームを送信先に伝送するフレーム伝送装置であって、
第１フレームを受信した場合に、前記第１フレームに含まれる送信元アドレスを示す第１送信元アドレスと、前記第１フレームを受信したポートを示す第１受信ポートとを対応付けて学習テーブルに記憶する学習テーブル記憶手段と、
第２フレームを受信した場合に、当該第２フレームに含まれる送信元アドレスを示す第２送信元アドレスと一致する第１送信元アドレスを前記学習テーブルから検出し、検出した第１送信元アドレスに対応する第１受信ポートと、前記第２フレームを受信したポートを示す第２受信ポートとが一致するか否かを判定するポート判定手段と、
前記第１受信ポートと前記第２受信ポートとが一致しない場合に、前記学習テーブル記憶手段が、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過に基づいて、前記第２フレームがループしているか否かを判定するループ判定手段と、
を備えたことを特徴とするフレーム伝送装置。
【００８９】
（付記２）前記ループ判定手段は、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過が所定値未満である場合に、前記第２フレームがループしていると判定し、当該第２フレームを破棄することを特徴とする付記１に記載のフレーム伝送装置。
【００９０】
（付記３）前記ループ判定手段によって第２フレームが破棄された場合に、当該第２フレームに対応する第２送信元アドレス、第２受信ポートおよび前記第２フレームが破棄された時刻を破棄テーブルに記憶する破棄テーブル記憶手段と、フレームを受信した場合に、受信したフレームの送信元アドレスおよび当該フレームを受信したポートと、前記破棄テーブルとを基にして、フレームを破棄するか否かを判定する破棄判定手段とを更に備えたことを特徴とする付記２に記載のフレーム伝送装置。
【００９１】
（付記４）前記学習テーブルに記憶された第１送信元アドレスと一致する第２送信元アドレスを前記破棄テーブルから検出し、検出した第２送信元アドレスを前記破棄テーブルに記憶した時刻と、当該第２送信元アドレスに対応する前記第１送信元アドレスを前記学習テーブルに記憶した時刻とを基にして、前記第２フレームのループが解消したか否かを判定するループ解消判定手段を更に備えたことを特徴とする付記３に記載のフレーム伝送装置。
【００９２】
（付記５）フレームを送受信する複数のポートを有し、受信したフレームを送信先に伝送するフレーム伝送装置のループ判定方法であって、
前記フレーム伝送装置は、
第１フレームを受信した場合に、前記第１フレームに含まれる送信元アドレスを示す第１送信元アドレスと、前記第１フレームを受信したポートを示す第１受信ポートとを対応付けて学習テーブルに記憶する学習テーブル記憶ステップと、
第２フレームを受信した場合に、当該第２フレームに含まれる送信元アドレスを示す第２送信元アドレスと一致する第１送信元アドレスを前記学習テーブルから検出し、検出した第１送信元アドレスに対応する第１受信ポートと、前記第２フレームを受信したポートを示す第２受信ポートとが一致するか否かを判定するポート判定ステップと、
前記第１受信ポートと前記第２受信ポートとが一致しない場合に、前記学習テーブル記憶ステップによって、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過に基づいて、前記第２フレームがループしているか否かを判定するループ判定ステップと、
を含んだことを特徴とするループ判定方法。
【００９３】
（付記６）前記ループ判定ステップは、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過が所定値未満である場合に、前記第２フレームがループしていると判定し、当該第２フレームを破棄することを特徴とする付記５に記載のループ判定方法。
【００９４】
（付記７）前記ループ判定ステップによって第２フレームが破棄された場合に、当該第２フレームに対応する第２送信元アドレス、第２受信ポートおよび前記第２フレームが破棄された時刻を破棄テーブルに記憶する破棄テーブル記憶ステップと、フレームを受信した場合に、受信したフレームの送信元アドレスおよび当該フレームを受信したポートと、前記破棄テーブルとを基にして、フレームを破棄するか否かを判定する破棄判定ステップとを更に含んだことを特徴とする付記６に記載のループ判定方法。
【００９５】
（付記８）前記学習テーブルに記憶された第１送信元アドレスと一致する第２送信元アドレスを前記破棄テーブルから検出し、検出した第２送信元アドレスを前記破棄テーブルに記憶した時刻と、当該第２送信元アドレスに対応する前記第１送信元アドレスを前記学習テーブルに記憶した時刻とを基にして、前記第２フレームのループが解消したか否かを判定するループ解消判定ステップを更に備えたことを特徴とする付記７に記載のループ判定方法。
【００９６】
（付記９）コンピュータに、
第１フレームを受信した場合に、前記第１フレームに含まれる送信元アドレスを示す第１送信元アドレスと、前記第１フレームを受信したポートを示す第１受信ポートとを対応付けて学習テーブルに記憶する学習テーブル記憶手順と、
第２フレームを受信した場合に、当該第２フレームに含まれる送信元アドレスを示す第２送信元アドレスと一致する第１送信元アドレスを前記学習テーブルから検出し、検出した第１送信元アドレスに対応する第１受信ポートと、前記第２フレームを受信したポートを示す第２受信ポートとが一致するか否かを判定するポート判定手順と、
前記第１受信ポートと前記第２受信ポートとが一致しない場合に、前記学習テーブル記憶手順によって、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過に基づいて、前記第２フレームがループしているか否かを判定するループ判定手順と、
を実行させることを特徴とするループ判定プログラム。
【００９７】
（付記１０）前記ループ判定手順は、前記第１受信ポートを前記学習テーブルに記憶してからの時間経過が所定値未満である場合に、前記第２フレームがループしていると判定し、当該第２フレームを破棄することを特徴とする付記９に記載のループ判定プログラム。
【００９８】
（付記１１）前記ループ判定手順によって第２フレームが破棄された場合に、当該第２フレームに対応する第２送信元アドレス、第２受信ポートおよび前記第２フレームが破棄された時刻を破棄テーブルに記憶する破棄テーブル記憶手順と、フレームを受信した場合に、受信したフレームの送信元アドレスおよび当該フレームを受信したポートと、前記破棄テーブルとを基にして、フレームを破棄するか否かを判定する破棄判定手順とを更にコンピュータに実行させることを特徴とする付記１０に記載のループ判定プログラム。
【００９９】
（付記１２）前記学習テーブルに記憶された第１送信元アドレスと一致する第２送信元アドレスを前記破棄テーブルから検出し、検出した第２送信元アドレスを前記破棄テーブルに記憶した時刻と、当該第２送信元アドレスに対応する前記第１送信元アドレスを前記学習テーブルに記憶した時刻とを基にして、前記第２フレームのループが解消したか否かを判定するループ解消判定手順を更にコンピュータに実行させることを特徴とする付記１１に記載のループ判定プログラム。
【産業上の利用可能性】
【０１００】
以上のように、本発明にかかるフレーム伝送装置、ループ判定方法は、フレーム伝送を実行する伝送システム等に有用であり、特に、ループしたフレームを効率よく検出して、検出したフレームを破棄する必要がある場合等に適している。
【図面の簡単な説明】
【０１０１】
【図１】本実施例１にかかるＬ２スイッチの概要および特徴を説明するための図（１）である。
【図２】本実施例１にかかるＬ２スイッチの概要および特徴を説明するための図（２）である。
【図３】本実施例１にかかるＬ２スイッチの構成を示す機能ブロック図である。
【図４】ＦＤＢのデータ構造の一例を示す図である。
【図５】破棄対象フレームデータのデータ構造の一例を示す図である。
【図６】ループ監視部の処理を説明するための図である。
【図７】Ｌ２スイッチの実行するフレーム処理を示すフローチャートである。
【図８】Ｌ２スイッチの実行するループ解消判定処理を示すフローチャートである。
【図９】実施例１にかかるＬ２スイッチを構成するコンピュータのハードウェア構成を示す図である。
【図１０】従来のＬ２スイッチにおけるＭＡＣ学習機能を説明するための図である。
【図１１】フレームがループすることによる問題点を説明するための図である。
【符号の説明】
【０１０２】
１，２，３，４  ポート
１０ａ，１０ｂ  端末
２０，３０    Ｌ２ネットワーク
５０，１００    Ｌ２スイッチ
５０ａ，１１０    ＦＤＢ
１２０    破棄対象フレームデータ
１３０    フレーム破棄判定部
１４０    ＭＡＣ学習部
１５０    ループ判定部
１６０    フレーム破棄部
１７０    ループ監視部
２００    コンピュータ
２０１    入力装置
２０２    モニタ
２０３    ＲＡＭ
２０３ａ，２０８ａ  各種データ
２０４    ＲＯＭ
２０５    媒体読取装置
２０６    通信装置
２０７    ＣＰＵ
２０７ａ  ループ判定処理プロセス
２０７ｂ  ループ監視処理プロセス
２０８    ＨＤＤ
２０８ｂ  ループ判定処理プログラム
２０８ｃ  ループ監視処理プログラム
２０９    バス
【図１】
0005088162.tif 000002
【図２】
0005088162.tif 000003
【図３】
0005088162.tif 000004
【図４】
0005088162.tif 000005
【図５】
0005088162.tif 000006
【図６】
0005088162.tif 000007
【図７】
0005088162.tif 000008
【図８】
0005088162.tif 000009
【図９】
0005088162.tif 000010
【図１０】
0005088162.tif 000011
【図１１】
0005088162.tif 000012