(57)【要約】      （修正有）【課題】端末が接続された中継装置及びポートの特定を容易にする。【解決手段】中継装置は、少なくともフレームを受信したポートの識別子とフレームの送信元アドレスとを関連づけて記憶するテーブルを記憶する記憶部と、送信元アドレスを宛先とするフレームを前記テーブルに基づき転送する転送部と、所定期間フレームが受信されない送信元アドレスをテーブルから削除するエージング部とを含む。エージング部は、所定期間フレームが受信されない送信元アドレスに関連づけられたポートの識別子で特定されるポートの状態が端末との接続を示すことを条件の一つとして当該送信元アドレスをテーブルから削除するのを回避する。【選択図】図４
2017005446.tif 000002
【特許請求の範囲】
【請求項１】
少なくともフレームを受信したポートの識別子と前記フレームの送信元アドレスとを関連づけて記憶するテーブルを記憶する記憶部と、
前記送信元アドレスを宛先とするフレームを前記テーブルに基づき転送する転送部と、
所定期間フレームが受信されない送信元アドレスを前記テーブルから削除するエージング部と、を含み、
前記エージング部は、所定期間フレームが受信されない送信元アドレスに関連づけられたポートの識別子で特定されるポートの状態が端末との接続を示すことを条件の一つとして前記所定時間フレームが受信されない送信元アドレスを前記テーブルから削除するのを回避する
中継装置。
【請求項２】
前記エージング部は、前記所定時間フレームが受信されない送信元アドレスが所定のアドレスであることをさらなる条件として前記所定時間フレームが受信されない送信元アドレスを前記テーブルから削除するのを回避する
請求項１に記載の中継装置。
【請求項３】
前記テーブルは、前記ポートの識別子と関連づけて、前記送信元アドレスと前記送信元アドレスに対応する仮想ＬＡＮ識別子とを記憶し、
前記エージング部は、前記所定時間フレームが受信されない送信元アドレスに関連づけられた仮想ＬＡＮ識別子が所定の仮想ＬＡＮ識別子であることをさらなる条件として前記所定時間フレームが受信されない送信元アドレスを前記テーブルから削除するのを回避する
請求項１に記載の中継装置。
【請求項４】
前記エージング部は、前記所定時間フレームが受信されない送信元アドレスが送信元アドレスに設定されたＧＡＲＰ（Gratuitous Address Resolution Protocol）パケットを生成して送信する処理を行う
請求項１から３の何れか１項に記載の中継装置。
【請求項５】
少なくともフレームを受信したポートの識別子と前記フレームの送信元アドレスとを関連づけて記憶するテーブルを記憶し、前記送信元アドレスを宛先とするフレームを前記テーブルに基づいて転送し、所定期間フレームが受信されない送信元アドレスを前記テーブルから削除する中継装置におけるアドレスの削除回避方法であって、
前記中継装置は、所定期間フレームが受信されない送信元アドレスに関連づけられたポートの識別子で特定されるポートの状態が端末との接続を示すことを条件の一つとして前記所定時間フレームが受信されない送信元アドレスを前記テーブルから削除するのを回避する
中継装置におけるアドレスの削除回避方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置に関する。
【背景技術】
【０００２】
レイヤ２ネットワークを形成するレイヤ２スイッチ（以下、単に「スイッチ」という）に新規に接続された端末に関するスイッチの設定を遠隔から施す場合がある。例えば、新規に接続される端末が接続されたポートに対する仮想ＬＡＮ（Virtual Local Area Network（ＶＬＡＮ））の設定を端末に適合した設定に改める場合である。
【０００３】
スイッチは、ＦＤＢ（Forwarding Database）テーブルと、ＭＡＣ(Media Access Control)アドレス学習機能を有している。ＭＡＣ学習機能によって、以下の様な動作が行われ
る。スイッチは、ＭＡＣフレームを受信した場合には、ＭＡＣフレームを受信したポートの番号（ポート番号）と、ＭＡＣフレームに含まれた送信元ＭＡＣアドレスとを関連づけてＦＤＢテーブルに記憶する。
【０００４】
その後、スイッチは、送信元ＭＡＣアドレスが宛先ＭＡＣアドレスに設定されたＭＡＣフレームが受信された場合に、ＦＤＢテーブルを参照し、宛先ＭＡＣアドレスに対応するポート番号のポートからＭＡＣフレームを送出する。このように、ＭＡＣ学習機能によって、自動的にＭＡＣフレームの転送用情報がＦＤＢテーブルに登録され、逆方向に転送されるＭＡＣフレームを登録された転送用情報を用いて転送する。
【０００５】
スイッチの各ポートにＶＬＡＮ（Virtual Local Area Network）の設定が施されている場合がある。端末が接続されたポートに端末に応じたＶＬＡＮの設定がなされていない場合には、当該端末は、同一のＶＬＡＮに属する他の端末と通信を行うことができない。この場合、端末が接続されたポートに、端末のInternet Protocol（ＩＰ）アドレスに対応
するＶＬＡＮを設定することで、端末は、当該ＶＬＡＮに属する他の端末と通信可能となる。
【０００６】
端末に係るＶＬＡＮの設定を遠隔から変更する場合には、端末が接続されたスイッチ及びそのポートを特定することで、端末の位置を特定する。端末のＭＡＣアドレスが予め分かっていれば、上述したＦＤＢテーブルを遠隔から参照することで、端末が接続されたスイッチ及びポートを知ることができる。以下、ＭＡＣフレームを単に「フレーム」或いは「パケット」と表記する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−０８６６６８号公報
【特許文献２】特開２００７−２２１２６６号公報
【特許文献３】特開２００５−１０９５９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
設定変更を行う保守者は、レイヤ２ネットワークを形成する複数のスイッチのＦＤＢテーブルを遠隔から監視し、対象のＭＡＣアドレスが登録されたＦＤＢテーブルを見つけ、ＭＡＣアドレスに対応するポート番号を確認する。これによって、端末が接続されたスイッチ及びポートを知ることができる。
【０００９】
ところが、スイッチでは、長時間使用されないエントリでＦＤＢテーブルの記憶領域が無駄に使用されることを回避するために、ＦＤＢテーブルに対するエージング処理が行われる。エージング処理によって、ＦＤＢテーブルに登録されるエントリは、所定時間、同一の送信元からのフレームが受信されない場合に削除される。
【００１０】
このため、ＦＤＢテーブルに対象の端末のエントリが登録されても、保守者が当該エントリを発見する前にエージング処理でエントリが削除されてしまうことが起こり得る。この場合、保守者は、当該端末からフレームが送出され、再びＦＤＢテーブルに登録されるのを待つしかない。但し、端末がいつフレームを送信するかを保守者は知ることができない。このように、ＶＬＡＮの設定変更に係る作業が繁雑となることがあった。
【００１１】
本発明の一態様は、端末が接続された中継装置及びポートの特定を容易にする技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一態様は、少なくともフレームを受信したポートの識別子と前記フレームの送信元アドレスとを関連づけて記憶するテーブルを記憶する記憶部と、前記送信元アドレスを宛先とするフレームを前記テーブルに基づき転送する転送部と、所定期間フレームが受信されない送信元アドレスを前記テーブルから削除するエージング部と、を含み、前記エージング部は、所定期間フレームが受信されない送信元アドレスに関連づけられたポートの識別子で特定されるポートの状態が端末との接続を示すことを条件の一つとして前記所定時間フレームが受信されない送信元アドレスを前記テーブルから削除するのを回避する中継装置である。
【発明の効果】
【００１３】
本発明の一態様によれば、端末が接続された中継装置及びポートの特定を容易にすることができる。
【図面の簡単な説明】
【００１４】
【図１Ａ】図１Ａは、レイヤ２ネットワークの一例を示す。
【図１Ｂ】図１Ｂは、図１Ａに示したスイッチが有するＦＤＢテーブルの説明図である。
【図２Ａ】図２Ａは、エージング処理の説明図である。
【図２Ｂ】図２Ｂは、エージング処理に用いられるＦＤＢテーブルのデータ構造例を示す図である。
【図３】図３は、エージング処理の例を示すフローチャートである。
【図４】図４は、実施形態に係るスイッチにて実行されるエージング処理の一例を示すフローチャートである。
【図５】図５は、ポートの接続状態の管理テーブルの例を示す。
【図６】図６は、ＧＡＲＰによるARP Request（ＧＡＲＰパケット）のフォーマットを示す図である。
【図７】図７は、図４に示したエージング処理の変形例を示す。
【図８Ａ】図８Ａは、実施形態２に係るネットワークシステムの構成例を示す。
【図８Ｂ】図８Ｂは、図８Ａに示した各スイッチにおけるＦＤＢテーブルの登録内容を示す。
【図９Ａ】図９Ａは、端末＃ａが新規にスイッチｙに接続された状態を示す。
【図９Ｂ】図９Ｂは、端末＃ａのフレーム送信による各ＦＤＢテーブルの更新内容を示す。
【図１０】図１０は、端末＃ａが接続されたスイッチｙの対応エントリのＶＬＡＮ設定が変更された状態を示す。
【図１１】図１１は、スイッチの構成例を示す図である。
【図１２】図１２は、フレーム受信処理の一例を示すフローチャートである。
【図１３】図１３は、ＧＡＲＰ送信処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して実施形態について説明する。実施形態の構成は例示であり、実施形態の構成に限定されない。
【００１６】
〔実施形態１〕
＜ＦＤＢテーブルの説明＞
最初に、実施形態において使用されるＦＤＢテーブルについて説明する。図１Ａは、レイヤ２ネットワークの一例を示し、図１Ｂは、図１Ａに示したスイッチが有するＦＤＢテーブルの説明図である。ＦＤＢテーブルは、「少なくともフレームを受信したポートの識別子とフレームの送信元アドレスとを関連づけて記憶するテーブル」の一例である。
【００１７】
図１Ａにおいて、スイッチａ（ＳＷ＿ａ）と、スイッチａに接続されたスイッチｂ（ＳＷ＿ｂ）と、スイッチｂに接続された端末とが図示されている。端末は、ＭＡＣアドレス“aaaa.bbbb.cccc”を有しており、スイッチｂのポート番号“１”のポートに接続されている。また、スイッチｂは、スイッチａをポート番号“８”のポートで収容し、スイッチａは、スイッチｂをポート番号“７”のポートで収容している。端末を収容するポートは、アクセスポートと呼ばれ、スイッチを収容するポートは、トランクポートと呼ばれる。どの番号のポートをアクセスポートとし、どのポートをトランクポートとするかは適宜設定可能である。スイッチａは、他のスイッチ（図示せず）を収容するためのポート８を有している。スイッチは、「中継装置」の一例である。ポート番号は、「ポートの識別子」の一例である。
【００１８】
図１Ｂに示すように、ＦＤＢテーブルは、例えば、スイッチが有するポート毎に用意されたエントリを有する。図１Ｂに示す例では、スイッチａ及びスイッチｂのそれぞれは、８つのポートを有し、“１”〜“８”のポート番号が設定されている。“ＶＬＡＮ”は、ＶＬＡＮの識別子（ＶＬＡＮ−ＩＤ）を示す。以下、ＶＬＡＮの識別子を“ＶＩＤ”と表記する。ＶＩＤは、「仮想ＬＡＮ識別子」の一例である。
【００１９】
各ポートに対するＶＩＤは、初期値として“１”（デフォルトＶＬＡＮと呼ばれる）が設定されている。デフォルトＶＬＡＮは、例えば、スイッチ内部での通信に使用されるＶＬＡＮであり、スイッチ外の通信に使用できないＶＬＡＮである。このため、端末が接続されるポートに対するＶＬＡＮの設定は、端末のＩＰアドレスに対応するＶＬＡＮに設定変更される。各エントリに登録されるＶＩＤは、ポートに対するＶＬＡＮの設定変更に応じて変動する。
【００２０】
図１Ｂの右側のＦＤＢテーブルに示すように、スイッチａは、端末からフレームを受信すると、フレーム中の送信元ＭＡＣアドレスを、フレームを受信したポート（ポート番号“１”）のエントリに登録する。すなわち、ポート番号“１”のエントリに、ＭＡＣアドレス“aaaa.bbbb.cccc”が登録される。
【００２１】
スイッチｂからスイッチａにフレームが転送されると、図１Ｂの左側のＦＤＢテーブルに示すように、フレーム中の送信元ＭＡＣアドレス“aaaa.bbbb.cccc”が、フレームを受信したポート（ポート番号“７”）に対応するエントリに登録される。
【００２２】
その後、端末のＭＡＣアドレス“aaaa.bbbb.cccc”を宛先ＭＡＣアドレスとするフレームがスイッチａで受信されると、スイッチａはＦＤＢテーブルを参照し、ポート番号“７
”のポートからフレームを送出する。スイッチｂは、ＦＤＢテーブルを参照し、ポート番号“１”のポートからフレームを送出する。これによって、端末は、自身宛のフレームを受信することができる。
【００２３】
＜エージング処理の説明＞
各スイッチでは、エージング処理によって、不要なエントリをＦＤＢテーブルから削除する。図２Ａは、エージング処理の説明図であり、図２Ｂは、エージング処理に用いられるＦＤＢテーブルのデータ構造例を示す図である。図３は、エージング処理の例を示すフローチャートである。
【００２４】
図２Ｂに示すように、ＦＤＢテーブルの各エントリには、図１Ｂに示したポート番号，ＭＡＣアドレス，ＶＩＤに加えて、「フラグ」が格納される。フラグは、当該エントリを削除すべきか否かの判定に使用される。フレーム（パケット）が受信されると、上述したように、ポート番号に関連づけて，ＭＡＣアドレスが登録されるとともに、フラグ“ＯＮ”がセットされる。フラグは、“ＯＮ”以外のときは“ＮＵＬＬ”となるようにしても良く、“ＯＮ”の値と“ＯＦＦ”の値とが設定されるようにしても良い。
【００２５】
エージング処理は、所定の周期（エージングタイマ満了）毎に実行される。ＭＡＣブリッジの規格であるIEEE802.1ｄでは、エージングタイマ値のデフォルト値として３００秒
が推奨されている。但し、エージングタイマの値（エージング周期の長さ）は適宜設定可能である。
【００２６】
図３に示す処理は、エージングタイマが満了することを以て開始される。０１では、スイッチの全てのポートに対するエージング処理が完了したか否かが判定される。全てのポートに対するエージング処理が完了していれば（０１，Ｙｅｓ）、エージング処理が終了する。全てのポートに対するエージング処理が完了していない場合には（０２，Ｎｏ）、処理が０２に進む。
【００２７】
０２では、或るエントリについて、フラグが“ＯＮ”か否かが判定される。このとき、フラグが“ＯＮ”であれば（０２，Ｙｅｓ）、フラグがリセットされて処理が０１に戻る。これに対し、フラグが“ＯＮ”でなければ（０２，Ｎｏ）、処理が０３に進む。
【００２８】
０３では、当該ポートのエントリからＭＡＣアドレスが削除される。その後、処理が０１に戻る。以上のような処理によれば、図２Ａに示す様に、エージング処理の周期の間に端末からのフレームが受信されている間はフラグが“ＯＮ”となる。このため、エントリ（ＭＡＣアドレス）は削除されない（図２Ａ，[２]，[４]参照）。これに対し、周期の間にフレームが受信されなければ、ＦＤＢテーブルから該当のエントリが削除される。
【００２９】
ＦＤＢテーブルのエントリは、エントリ中のＭＡＣアドレスを送信元ＭＡＣアドレスとするフレームが周期内に受信されなければＦＤＢテーブルから削除される。このため、課題で説明したような、ＦＤＢテーブルの参照によって当該端末の接続先を発見する手法では、フレームの継続的な送信が見込めない端末を発見することが困難となることがあった。
【００３０】
この結果、当該端末の設定変更（例えばＶＩＤの設定変更）の作業に長時間を要したり、当該端末の発見のために複数人が監視を行ったりといった、非効率な手法を採らざるを得ない場合があった。実施形態では、対象のエントリ（ＭＡＣアドレス）がエージング処理によってＦＤＢテーブルから削除されることが回避されるようにして、端末の設定変更の作業が円滑に実施されるようにする。
【００３１】
＜実施形態１に係る処理＞
図４は、実施形態に係るスイッチにて実行されるエージング処理の一例を示すフローチャートである。図４における１１及び１２の処理は、図３の０１及び０２の処理と同じであるので説明を省略する。
【００３２】
１２にてＮｏの判定（フラグが“ＯＮ”でない（未設定）、又はフラグが“ＯＦＦ”である）と判定された場合には、１３にて、エントリ中のＭＡＣアドレスが、対象ＭＡＣアドレスか否かが判定される。
【００３３】
対象ＭＡＣアドレスとは、例えば、スイッチに保持（記憶）されたアドレスリスト（対象ＭＡＣアドレスリスト）に登録されたＭＡＣアドレスである。アドレスリストには、例えば、接続位置の探索対象の端末のＭＡＣアドレスが登録される。ＭＡＣアドレスが対象ＭＡＣアドレスでなければ（１３，Ｎｏ）、処理が１９に進む。ＭＡＣアドレスが対象ＭＡＣアドレスであれば（１３，Ｙｅｓ）、処理が１４に進む。対象ＭＡＣアドレスは、「所定のアドレス」の一例である。
【００３４】
１９の処理は、図３に示した０３の処理と同様の処理である。すなわち、エントリがＦＤＢテーブルから削除される。ＭＡＣアドレスが例外的にエージング（削除）から除外される対象ＭＡＣアドレスでないからである。１９の処理が終了すると、処理が１１に戻る。
【００３５】
１４では、エントリ中のポート番号で特定される物理ポートにおける端末との接続状態が確認される。１５では、接続状態が「接続」か否かが判定される。接続状態「接続」とは、接続先の装置の電源がオンであり、当該装置との接続がスイッチにて検出されている状態を示す。例えば、接続は、物理ポートに物理ケーブルが接続されているか否かによって変動する電位（電圧値）や電流値を検出することを以て接続か非接続かを判定することができる。但し、端末の接続検出方法は、既存のあらゆる手法を適用することができる。
【００３６】
１５の判定は、図５に示すようなポートの接続状態の管理テーブル（ポート状態テーブル）の参照によって行われる。図５に示す例では、管理テーブルは、各ポートについての接続状態として、上述した「接続」と、「非接続」と、「未登録」との各状態を管理する。「未登録」は、物理ポートが使用可能な状態となっていないことを示す。「非接続」は、物理ポートが使用可能であるが、端末や他のスイッチと接続されていないことを示す。接続状態が「接続」であれば（１５，Ｙｅｓ）、処理が１７に進む。接続状態が「接続」でなければ（１５，Ｎｏ）、処理が１６に進む。
【００３７】
１６の処理は、図３に示した０３の処理と同様である。すなわち、エントリにはフラグが設定されておらず、対象ＭＡＣアドレスではあるが、且つ接続状態が特定の状態「接続」ではない。このため、端末が接続されていることを保証できない（他のポートや他のスイッチに接続先が変更されている可能性がある）。換言すれば、端末のフレーム送信により当該端末のエントリがＦＤＢテーブルに登録される可能性が低い。このため、当該エントリはＦＤＢテーブルから削除される。その後、処理が１１に戻る。
【００３８】
１７では、エントリ中のポート番号のポートがトランクポートか否かが判定される。ポートがトランクポートであれば、接続先の装置は端末以外の装置（例えば、他のスイッチ）であるので、このような場合を除外するためである。
【００３９】
１７において、ポートがトランクポートであれば（１７，Ｙｅｓ）、処理が１１に戻る。これに対し、ポートがトランクポートでない（アクセスポートである）場合には（１７，Ｎｏ）、処理が１８に進む。１７の処理は、例えば、各ポートがトランクポートかアク
セスポートかを示すコンフィグ情報の参照によって判定することができる。
【００４０】
１８では、ＧＡＲＰ（Gratuitous Address Resolution Protocol）送信（ＧＡＲＰによるARP Requestの送信）を行う。その後、処理が１１に戻る。
【００４１】
ＧＡＲＰは、ＡＲＰパケットの一種である。通常のＡＲＰは、宛先ＩＰアドレスに対応する宛先ＭＡＣアドレスを求める手続である。これに対し、ＧＡＲＰでは、自身のＩＰアドレスに対応する自身のＭＡＣアドレスを求める。
【００４２】
図６は、ＧＡＲＰによるARP Request（ＧＡＲＰパケット）のフォーマットを示す図で
ある。図６において、ＨＬＥＮは、ハードウェア長（ＭＡＣアドレスの長さ）を示す。ＭＡＣアドレス長は６オクテットで固定である。ＰＬＥＮは、プロトコル長（ＩＰアドレスの長さ）であり、４オクテットで固定である。ＯＰＥＲＡＴＩＯＮは、ＡＲＰにおける動作を示し、値“１”がＡＲＰ要求（ARP Request）であり、値“２”がＡＲＰ応答（ARP Reply）である。但し、ＡＲＰ応答は扱われない。
【００４３】
送信元ＭＡＣアドレスとして、端末のＭＡＣアドレス（対象ＭＡＣアドレス）が設定される。送信元ＩＰアドレスとして、スイッチ自身のＩＰアドレスが設定される。宛先ＭＡＣアドレスは、アドレス値“0000.0000.0000”が固定で使用される。宛先ＩＰアドレスとして、送信元ＩＰアドレスと同じアドレス値が設定される。
【００４４】
上記のようなＧＡＲＰパケットは、ブロードキャストにより送信される。ブロードキャストパケットは、同一のＶＬＡＮに属するスイッチの各ポート（ＧＡＲＰパケットの入力ポートを除く）から送出される。よって、同一のＶＬＡＮに属する各スイッチに対象ＭＡＣアドレスが送信元ＭＡＣアドレスであるＧＡＲＰパケットが受信される。これによって、ＧＡＲＰパケットを受信した各スイッチのＦＤＢテーブルに対象ＭＡＣアドレスのエントリが登録される。従って、端末が接続されたスイッチ以外のスイッチにて、対象ＭＡＣアドレスのエントリを維持、或いはエントリ削除を回避することができる。
【００４５】
ＧＡＲＰを送信する理由は、次の通りである。すなわち、端末が直接に接続されたスイッチを発見するとき、複数のスイッチのＦＤＢテーブルに当該端末に係るエントリが登録されていれば、スイッチのポートを辿って最終的に端末を収容するスイッチのポートを発見することが可能となる。
【００４６】
端末がユニキャスト又はブロードキャストでフレーム（パケット）をいつ送信するかは不明であるので、端末によるユニキャストやブロードキャストを待つことは、端末が接続されたスイッチ及びポートの探索において非効率である。ここで、端末が特別なブロードキャストフレーム又はブロードキャストパケットを送信するようにすることも考えられる。しかし、特別なブロードキャストフレームやブロードキャストパケットに含まれる情報の内容によっては、ブロードキャストフレームやブロードキャストパケットの受信側で誤動作が発生する可能性がある。
【００４７】
これに対し、ＧＡＲＰは、ＡＲＰとともに各スイッチが備える標準的な仕様であるので、ＧＡＲＰパケットの受信側は、ＧＡＲＰ要求で指定されているＩＰアドレスが自身のＩＰアドレスでなければ、ＧＡＲＰに応答しないので、誤動作を起こす可能性は特別なブロードキャストパケットを用いる場合よりも低い。
【００４８】
従って、ＧＡＲＰを端末の代わりにスイッチが送信することで、ブロードキャストドメイン内の各スイッチが端末のエントリをＦＤＢテーブルに格納するようにしている。１８の処理は、エージング周期（例えば、３００秒）と同じ時間長で実行される。このため、
対象ＭＡＣアドレスが送信元ＭＡＣアドレスに設定されたフレーム（ＧＡＲＰパケット）が定期的にブロードキャストされる状態となる。
【００４９】
このようにして、ブロードキャストドメインに属する複数のスイッチが端末のエントリをＦＤＢテーブルに保持し続け、端末の発見が容易になるようにしている。なお、ＧＡＲＰの送信周期は、適宜設定可能である。例えば、ＧＡＲＰの送信周期は、エージング周期以下であっても良い。なお、ＧＡＲＰの送信は、例えば、対象のエントリがＦＤＢテーブルから削除されたことを以て停止される。例えば、端末に対する設定変更後に、アドレスリストから対象ＭＡＣアドレスが削除されれば、通常のエージング処理によって、端末のエントリがＦＤＢテーブルから削除される。
【００５０】
図４に示した処理によれば、対象ＭＡＣアドレス（探索対象の端末のＭＡＣアドレス）を含むエントリがＦＤＢテーブルのエージング処理で削除されなくなるので、時間に余裕を持って当該スイッチのＦＤＢテーブルから端末を発見することができる。また、対象ＭＡＣアドレス以外のＭＡＣアドレスについては、通常のエージング処理が行われるので、無用のエントリをＦＤＢテーブルから削除することができる。
【００５１】
また、接続状態が「接続」の対象ＭＡＣアドレスを含むエントリがエージング対象から除外されるので、端末の存在についての確度が高いエントリをエージング対象から除外することができる。
【００５２】
図７は、図４に示した処理の変形例を示す。図７の処理は、図４の１３の処理が１３Ａの処理に置換されている点を除き、図４の処理と同じである。このため、１３Ａ以外の処理については説明を省略する。
【００５３】
図７の１３Ａの処理では、エントリ中のＶＩＤがデフォルトＶＬＡＮのＶＩＤか否かが判定される。すなわち、エントリに対応するポートにおけるＶＬＡＮの設定がデフォルトＶＬＡＮか否かが判定される。１３Ａの判定に用いられるデフォルトＶＬＡＮの値を示す情報は、予めスイッチに備えられている。なお、ＦＤＢテーブル以外の記憶領域に、各ポートと各ポートに対するＶＬＡＮ設定を示す情報が記憶され、当該情報を参照して１３Ａの処理が実行されるようにしても良い。デフォルトＶＬＡＮは、「所定の仮想ＬＡＮ識別子」の一例である。
【００５４】
図４に示す１３の処理にあたっては、位置を探索する端末毎にそのＭＡＣアドレスをアドレスリストに登録することを要する。これに対し、図７に示す１３Ａの処理では、ポートに対応するＶＩＤが設定変更を要するＶＩＤ（例えば、デフォルトＶＬＡＮのＶＩＤ）か否かが判定される。よって、端末が有するＭＡＣアドレスの値に関わらず、対象の端末のエントリが通常のエージング処理によってＦＤＢテーブルから削除されないようにすることができる。従って、アドレスリストへのＭＡＣアドレスの登録の手間が省ける。なお、上記例では、１３ＡにおいてデフォルトＶＬＡＮか否かが判定されているが、１３Ａの判定対象のＶＬＡＮ（ＶＩＤ）は、デフォルトＶＬＡＮ以外のＶＬＡＮである場合もあり得る。
【００５５】
〔実施形態２〕
次に、実施形態２について説明する。実施形態２は、実施形態１と同様の構成を有するので、実施形態１と同様の構成については説明を省略し、相違点について説明する。図８Ａは、実施形態２に係るネットワークシステムの構成例を示す。図８Ｂは、図８Ａに示した各スイッチにおけるＦＤＢテーブルの登録内容を示す。
【００５６】
図８Ａにおいて、ネットワークは、スイッチｘ（ＳＷ＿ｘ）と、スイッチｙ（ＳＷ＿ｙ
）と、スイッチｚ（ＳＷ＿ｚ）とを含んでいる。スイッチｚは、アクセスポートであるポート番号“１”のポート（ポート１）で端末＃１と接続されている。また、スイッチｚは、アクセスポートであるポート番号“６”のポート（ポート６）で端末＃２と接続されている。
【００５７】
スイッチｚは、トランクポートであるポート番号“８”のポート（ポート８）でスイッチｘと接続されており、スイッチｙはトランクポートであるポート番号“５”のポート（ポート５）でスイッチｚと接続されている。スイッチｘは、トランクポートであるポート番号“３”のポート（ポート３）でスイッチｙと接続されており、スイッチｙはトランクポートであるポート番号“８”のポート（ポート８）でスイッチｘと接続されている。
【００５８】
図８Ｂ中の左側のＦＤＢテーブルは、スイッチｘのＦＤＢテーブルを示し、図８Ｂ中の真ん中のＦＤＢテーブルは、スイッチｙのＦＤＢテーブルを示し、図８Ｂ中の右側のＦＤＢテーブルは、スイッチｚのＦＤＢテーブルを示す。
【００５９】
スイッチｚのＦＤＢテーブルでは、ポート１のエントリにおいて、端末＃１のＭＡＣアドレスと、端末＃１のＩＰアドレスに対応するＶＩＤ＝１０が登録されている。また、ポート６のエントリにおいて、端末＃２のＭＡＣアドレスと、端末＃２のＩＰアドレスに対応するＶＩＤ＝１０が登録されている。さらに、ポート８のエントリでは、デフォルトＶＬＡＮのＶＩＤ＝１に加えて、端末＃１及び端末＃２に対応するＶＩＤ＝１０が登録されている。
【００６０】
図８Ａに示すスイッチｘ，ｙ，ｚの各ＦＤＢテーブルにおけるＶＩＤの初期値は１（デフォルトＶＬＡＮ）である。但し、スイッチｘ，ｙ，ｚのネットワークにＶＬＡＮとしてＶＩＤ＝１０のＶＬＡＮが追加されている。ＶＬＡＮの追加に当たり、スイッチｘ，ｙ，ｚの各ＦＤＢテーブルのトランクポートには、スイッチ間でＶＩＤ＝１０の通信ができるように、ＶＩＤ＝１０が設定される。但し、トランクポートについては、複数のＶＩＤが多重（共存）できるので、図８Ｂに示すように、ＶＩＤ＝１とＶＩＤ＝１０との双方が関連するポートのエントリに登録されている。これに対し、アクセスポートには、１つのＶＩＤしか登録できないため、スイッチｚのアクセスポートには、端末＃１及び端末＃２が属するＶＬＡＮのＶＩＤ＝１０が登録されている。
【００６１】
スイッチｘのＦＤＢテーブルでは、ポート３及びポート５の各エントリにおいて、デフォルトＶＬＡＮのＶＩＤ＝１と、端末＃１及び端末＃２に対応するＶＩＤ＝１０が登録されている。スイッチｙのＦＤＢテーブルでは、ポート８のエントリにおいて、デフォルトＶＬＡＮのＶＩＤ＝１と、端末＃１及び端末＃２に対応するＶＩＤ＝１０が登録されている。上記を除く各エントリには、ＶＩＤ＝１（デフォルトＶＬＡＮ）が設定されている。
【００６２】
図９Ａは、端末＃ａが新規にスイッチｙに接続された状態を示し、図９Ｂは、端末＃ａのフレーム送信による各ＦＤＢテーブルの更新内容を示す。図９Ａに示すように、スイッチｙのポート４に端末＃ａが新規に接続されたと仮定する。端末＃ａのＩＰアドレスに対応するＶＩＤはＶＩＤ＝１０であると仮定する。
【００６３】
端末＃ａがスイッチｙへフレーム（例えば、ＡＲＰ要求）を送信することで、図９Ｂに示すように、スイッチｙのＦＤＢテーブルのポート４のエントリには、端末＃ａのＭＡＣアドレスが登録される。
【００６４】
また、ＡＲＰ要求は、ブロードキャストパケットであるので、ＭＡＣアドレスが登録されたエントリに設定されたＶＩＤと同じＶＩＤを有するポートから転送される。図９Ｂの例では、ＶＩＤ＝１の各ポート（フレームの受信ポート（ポート４）を除く）から、ＡＲ
Ｐ要求が転送される。よって、スイッチｙのポート３からＡＲＰ要求がスイッチｘに転送される。
【００６５】
スイッチｘがＡＲＰ要求を受信することで、図９Ｂに示すように、スイッチｘのＦＤＢテーブルのポート３のエントリには、端末＃ａのＭＡＣアドレスが登録される。また、ポート３のエントリに登録されたＶＩＤ＝１，１０に基づいて、ＶＩＤが１又は１０のポートからＡＲＰ要求が転送される。したがって、ＡＲＰ要求は、ポート５からスイッチｚに転送される。スイッチｚでは、ＡＲＰ要求をポート８で受信し、図９Ｂに示すように、ＦＤＢテーブルのポート８のエントリには、端末＃ａのＭＡＣアドレスが登録される。
【００６６】
しかしながら、スイッチｙのＦＤＢテーブルにおいて、端末＃ａのエントリに設定されたＶＩＤはＶＩＤ＝１であるため、端末＃ａは、ＶＩＤ＝１０の端末である端末＃１及び端末＃２と通信することができない。そこで、保守者は、スイッチｘ，ｙ，ｚのＦＤＢテーブル（図９Ｂの内容）を参照して、スイッチｙのポート４のエントリにおけるＶＩＤの設定をＶＩＤ＝１からＶＩＤ＝１０に変更する（図１０参照）。これによって、端末＃ａは、端末＃１及び端末＃２と通信可能となる。
【００６７】
スイッチｙのポート４のエントリの変更に当たり、実施形態１で説明した図４又は図７の処理が実行されることで、図９Ｂに示した各ＦＤＢテーブルの登録内容（端末＃ａ）のエントリを維持することができる。よって、保守者が端末＃ａが接続されたスイッチｙ及びポート４を特定することが容易となる。
【００６８】
＜スイッチの構成例＞
図１１は、スイッチｘ〜ｚのそれぞれとして動作可能なスイッチ（スイッチ１０）の構成例を示す図である。図１１において、スイッチ１０は、Central Processing Unit（Ｃ
ＰＵ）１１と、メモリ１２と、Content Addressable Memory（ＣＡＭ）１３と、Field Programmable Gate Array（ＦＰＧＡ）と、複数の物理インタフェース（物理ＩＦ）１５と
を含む。
【００６９】
メモリ１２は、不揮発性記憶媒体と、揮発性記憶媒体とを含む。揮発性記憶媒体は、例えばRandom Access Memory（ＲＡＭ）である。ＲＡＭは、ＣＰＵ１１の作業領域，データの記憶領域，通信に係るデータのバッファ領域として使用される。
【００７０】
不揮発性記憶媒体は、例えばRead Only Memory（ＲＯＭ），ハードディスクドライブ（ＨＤＤ），Solid State Drive（ＳＳＤ），フラッシュメモリ，Electrically Erasable Programmable Read-Only Memory（ＥＥＰＲＯＭ）などである。不揮発性記憶媒体は、ディスク記憶媒体やＵＳＢメモリのような可搬性を有する記憶媒体を含み得る。
【００７１】
不揮発性記憶媒体は、ＣＰＵ１１で実行されるプログラムや、プログラムの実行に際して使用されるデータを記憶する。メモリ１２には、図４の処理で使用されるＭＡＣアドレスリストや、図７の処理で使用されるデフォルトＶＬＡＮの情報が記憶される。  ＦＤＢテーブル１３１は、図８Ｂ，図９Ｂ，図１０に示したようなデータ構造を有する。
【００７２】
ＣＡＭ１３は、ＦＤＢテーブル１３１を記憶する。各物理ＩＦ１５は、ＳＷや端末との接続のためのＬＡＮケーブルが接続されるコネクタを有し、物理ポートを形成する。メモリ１２及びＣＡＭ１３のそれぞれは、「記憶装置」，「記憶部」，「コンピュータ読み取り可能な記憶媒体」の一例である。
【００７３】
ＦＰＧＡ１４は、ＬＡＮインタフェース制御部１４１として動作する。ＬＡＮインタフェース制御部１４１は、レイヤ１（物理層：ＰＨＹ）及びレイヤ２（データリンク層、例
えばＭＡＣ層など）に係る処理を司る。
【００７４】
ＣＰＵ１１は、メモリ１２に記憶されたプログラムを実行することによって、様々な処理を行う。例えば、ＣＰＵ１１は、プログラムの実行によって、フレーム受信処理部１１２及びエージング部１１１（ＦＤＢテーブル内のＭＡＣエントリのチェック処理部）として動作する。さらに、ＣＰＵ１１は、遠隔からのアクセスによるＶＩＤの設定指示に応じて、ＦＤＢテーブル１３１における所定のポートに設定されたＶＩＤの値を書き換える（変更する）処理を行う。ＣＰＵ１１は、「プロセッサ」，「制御装置」，「制御部」，「転送部」，「エージング部」の一例である。
【００７５】
なお、ＣＰＵ１１で行われる処理の少なくとも一部は、複数のＣＰＵや、他のプロセッサ（例えばDigital Signal Processor（ＤＳＰ））によって実行されても良い。或いは、ＣＰＵ１１で行われる処理の少なくとも一部は、ＦＰＧＡ１４や、ＦＰＧＡ以外のプログラマブルロジックデバイス（ＰＬＤ）、或いは、集積回路（例えば、ＩＣ，ＬＳＩ，Application Specific Integrated Circuit（ＡＳＩＣ）など）を用いて実行されるようにす
ることができる。
【００７６】
図１２は、ＣＰＵ１１によって実行されるフレーム受信処理の一例を示すフローチャートである。図１２の処理は、フレームが受信されることによって開始される。１０１では、ＣＰＵ１１（フレーム受信処理部１１２）は、ＦＤＢテーブル１３１の受信ポート位置（受信ポートに対応するエントリ）にフレームの送信元ＭＡＣアドレスが登録されているか否かを確認する。
【００７７】
１０２では、ＣＰＵ１１は、送信元ＭＡＣアドレスがエントリ（登録）されているか否かを判定する。送信元ＭＡＣアドレスが登録されている場合には（１０２，Ｙｅｓ）、処理が１０４に進む。送信元ＭＡＣアドレスが登録されていない場合には（１０２，Ｎｏ）、処理が１０３に進む。
【００７８】
１０３では、ＣＰＵ１１は、ＦＤＢテーブル１３１の受信ポート位置（対応エントリ）に送信元ＭＡＣアドレスを登録する。これによってＭＡＣ学習処理がなされる。１０４では、ＣＰＵ１１は、受信ポート位置（対応エントリ）のフラグを“ＯＮ”に設定する。
【００７９】
１０５では、ＣＰＵ１１は、宛先がユニキャストか否かを判定する。当該判定は、宛先ＭＡＣアドレスがブロードキャストアドレスか否かを以て判定される。宛先がユニキャストでなければ（１０５，Ｎｏ）、処理が１０９に進む。宛先がユニキャストであれば（１０５，Ｙｅｓ）、処理が１０６に進む。  
【００８０】
１０６では、ＣＰＵ１１は、ＦＤＢテーブルを参照し、フレームの宛先ＭＡＣアドレスが登録されたエントリを検索する。１０７では、ＣＰＵ１１は、フレームの宛先ＭＡＣアドレスが登録されたエントリが存在するか否かを判定する。フレームの宛先ＭＡＣアドレスが登録されたエントリが存在しない場合（１０７，Ｎｏ）には、処理が１０９に進む。フレームの宛先ＭＡＣアドレスが登録されたエントリが存在する場合（１０７，Ｙｅｓ）には、処理が１０８に進む。
【００８１】
１０８では、ＣＰＵ１１は、１０７で検索されたエントリ中のポート番号のポートからフレームを送信（転送）し、図１２の処理を終了する。１０９に処理が進んだ場合には、ＣＰＵ１１は、送信元ＭＡＣアドレスが属するＶＬＡＮ（送信元ＭＡＣアドレスが含まれるエントリ中のＶＩＤ）と同じＶＩＤが設定された全てのポート（フレームの受信ポートを除く）から、フレームを送信する（フラッディング）。このようにして、フレームの転送処理が行われる。
【００８２】
また、ＣＰＵ１１は、エージング部１１１として、図４及び図７に示した処理を実行する。ここでは、図４及び図７の処理の説明は省略する。ＣＰＵ１１は、図１１に示したＭＡＣアドレスリスト１２１及びＦＤＢテーブル１３１を用いて図４に示すエージング処理を行う。また、ＣＰＵ１１は、ＦＤＢテーブル１３１を参照して図７に示すエージング処理を行う。
【００８３】
図１３は、図４及び図７における１８の処理（ＧＡＲＰ送信）の一例を示すフローチャートである。２０１では、ＣＰＵ１１は、ＦＤＢテーブル１３１に登録された対象ＭＡＣアドレス（端末のＭＡＣアドレス）を、ＡＧＰパケット内の送信元ＭＡＣアドレスに設定する。
【００８４】
２０２では、ＣＰＵ１１は、ＧＡＲＰパケット内の送信元ＩＰアドレス及び宛先ＩＰアドレスの値として、自スイッチのＩＰアドレスを設定する。２０３では、ＣＰＵ１１は、ＧＡＲＰパケット内の各固定値を設定する。２０４では、ＣＰＵ１１は、端末のＭＡＣアドレスが属するＶＬＡＮ（端末のＭＡＣアドレスが登録されたエントリ中のＶＩＤ）と同じＶＩＤが設定された全てのポート（端末からのフレームの受信ポートを除く）から、ＧＡＲＰパケットを送信する（フラッディング）。なお、２０１，２０２，及び２０３の処理順序は、適宜入れ替えが可能である。
【００８５】
＜実施形態の効果＞
上述した実施形態１及び実施形態２によれば、端末が接続されたポートの接続状態が「接続」を示す場合には、エージング処理によって端末のエントリがＦＤＢテーブルから削除されるのを回避することができる。
【００８６】
従って、端末がスイッチに接続された状態である場合、端末からの継続的なフレーム受信がなくても、スイッチのＦＤＢテーブルにおいて端末に対応するエントリ（端末のＭＡＣアドレス）の登録状態を維持することができる。これによって、保守者が遠隔からＦＤＢテーブルの登録内容を参照し、端末が接続されたスイッチ及びそのポートを特定する作業が容易にとなる。従って、端末に対応するエントリのＶＬＡＮ設定（ＶＩＤ）の設定変更の作業の容易化が図られる。
【００８７】
また、実施形態１及び２によれば、端末が接続されたスイッチからＧＡＲＰが定期的、又は周期的に送信されることで、端末が接続されたスイッチ以外のスイッチのＦＤＢテーブルで、当該端末のエントリを保持し続けることが可能となる。これによって、ネットワークを形成するスイッチの数が少なくない場合（例えば、１００台以上）であっても、端末が接続されているスイッチの発見（検出）を容易にすることができる。以上説明した実施形態の構成は、適宜組み合わせることができる。
【符号の説明】
【００８８】
１０・・・スイッチ
１１・・・ＣＰＵ
１２・・・メモリ
１３・・・ＣＡＭ
１２１・・・対象ＭＡＣアドレスリスト
１３１・・・ＦＤＢテーブル
【図１Ａ】
2017005446.tif 000003
【図１Ｂ】
2017005446.tif 000004
【図２Ａ】
2017005446.tif 000005
【図２Ｂ】
2017005446.tif 000006
【図３】
2017005446.tif 000007
【図４】
2017005446.tif 000008
【図５】
2017005446.tif 000009
【図６】
2017005446.tif 000010
【図７】
2017005446.tif 000011
【図８Ａ】
2017005446.tif 000012
【図８Ｂ】
2017005446.tif 000013
【図９Ａ】
2017005446.tif 000014
【図９Ｂ】
2017005446.tif 000015
【図１０】
2017005446.tif 000016
【図１１】
2017005446.tif 000017
【図１２】
2017005446.tif 000018
【図１３】
2017005446.tif 000019