(57)【要約】【課題】通信中継装置がフラッティングした場合の過剰なフレーム転送の発生頻度を抑制すること。【解決手段】通信中継装置１００が、学習テーブルとは別に、フラッティングしている宛先アドレスを予め記憶するメモリを有する。そして、通信中継装置１００は、端末から受信した送信元アドレスを学習させる際、予め記憶したおいた端末の宛先アドレスに一致したか否かを判定し、一致した場合に、一致した送信元アドレスを他の送信元アドレスよりも優先して学習させる。【選択図】図１
2011015094.tif 000002
【特許請求の範囲】
【請求項１】
複数のポートと、前記複数のポートから受信したフレームをネットワークに送信すると共に、前記受信したフレームの送信元アドレスを、前記ポートと関連付けて登録する学習テーブルと、前記学習テーブルを参照してネットワークから受信した受信したフレームを送信先のポートに振り分ける出力先振り分け部とを有したフレーム中継装置において、
ネットワークから受信したフレームの送信先アドレスが前記学習テーブルに登録されているか検索し、登録されていない前記送信先アドレスを記憶する記憶手段と、
前記ポートから受信したフレームの送信元アドレスが前記記憶手段に記憶されているか否かを判定し、前記記憶手段に記憶されている送信元アドレスを記憶されていない送信元アドレスよりも優先して、前記学習テーブルに登録する優先制御手段と
を有したことを特徴とするフレーム中継装置。
【請求項２】
前記記憶手段に前記送信先アドレスを記憶する際に、規定時間内に当該送信先アドレスを受信する回数を計数し、計数した回数が閾値以上か否か判定する判定手段を更に有し、前記判定手段の判定結果に基づいて、当該送信先アドレスを前記記憶手段に記憶する請求項１に記載のフレーム中継装置。
【請求項３】
前記優先制御手段は、前記記憶手段に記憶されている送信元アドレスのうち、規定時間内に当該送信先アドレスを受信する回数を計数し、計数した回数が閾値以上の送信先アドレスに対応する送信元アドレスを優先して、前記学習テーブルに登録する請求項２に記載のフレーム中継装置。
【請求項４】
フレーム中継装置が、
複数のポートと、前記複数のポートから受信したフレームをネットワークに送信すると共に、前記受信したフレームの送信元アドレスを、前記ポートと関連付けて登録する学習テーブルと、前記学習テーブルを参照してネットワークから受信した受信したフレームを送信先のポートに振り分ける出力先振り分け部とを有し、
ネットワークから受信したフレームの送信先アドレスが前記学習テーブルに登録されているか検索し、登録されていない前記送信先アドレスを記憶装置に記憶する記憶ステップと、
前記ポートから受信したフレームの送信元アドレスが前記記憶装置に記憶されているか否かを判定し、前記記憶装置に記憶されている送信元アドレスを記憶されていない送信元アドレスよりも優先して、前記学習テーブルに登録する優先制御ステップと
を有するフレーム中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレーム中継装置に関し、例えば、フラッティングが発生する頻度を効果的に抑制するフレーム中継装置、フレーム中継方法に関する。
【背景技術】
【０００２】
従来、Ｅｔｈｅｒｎｅｔ（登録商標）通信の中継装置は、端末からフレームを受信した際に、送信元アドレス（Source  Address、以下「ＳＡ」とする）を取得し、取得したＳＡをポートごとに対応付けて記憶させる学習テーブルを有する。
【０００３】
そして、中継装置は、上述した学習テーブルを使用して、端末間の通信制御を行っている。この中継装置について具体的に図を用いて説明する。図２６は、従来の通信中継装置を説明するための図である。
【０００４】
図２６に示したＥｔｈｅｒｎｅｔ（登録商標）中継装置５０（以下、単に通信中継装置５０とする）は、端末間のフレームを中継する装置で、通信インターフェース５１、上り受信側Ｂｕｆｆｅｒ５２ａ〜５２ｚと、ＳＡ（Source  Address）抽出部５３と、上り送信側インターフェース５４と、学習要求待ち合わせＦＩＦＯ（First‐In  First‐Out）５５と、学習テーブル５６と、学習テーブル制御部５７と、下り受信側インターフェース５８と、ＤＡ（Destination  Address）抽出部５９と、送信先検索部６０と、出力先ポート制御部６１と、下り送信側Ｂｕｆｆｅｒ６２ａ〜６２ｚとを有する。
【０００５】
通信インターフェース５１は、通信中継装置５０に接続されている端末群（図示省略）とフレームの送受信を行うインターフェースで、物理ポート５１ａ〜５１ｚを有する。
【０００６】
物理ポート５１ａ〜５１ｚは通信中継装置５０が物理的に具備するポートを示す。そして、各ポートに番号が割り振られている。例えば、物理ポート５１ａには、１、５１ｂは２  ・・・５１ｙには２５、５１ｚには２６といったように、通信中継装置５０において重複しない番号を持つ。この各ポートの番号をポート番号として以下説明する。
【０００７】
そして、通信インターフェース５１は、端末からフレームを受信した際、受信した物理ポートに割り振られているポート番号を付加し、上り受信側Ｂｕｆｆｅｒ５２ａ〜５２ｚに出力する。
【０００８】
上り受信側Ｂｕｆｆｅｒ５２ａ〜５２ｚは、端末間の処理速度や転送速度を調整するために、通信インターフェース５１から出力されたフレームを一時的に保存するバッファである。そして、バッファに保存されているフレームには、端末を一意に特定するＳＡや、どの物理ポートで受信したかを示すポート番号が含まれている。
【０００９】
ＳＡ抽出部５３は、上り受信側Ｂｕｆｆｅｒ５２ａ〜５２ｚに含まれるデータの多重を行い、さらに、ポート番号とＳＡの抽出をフレーム毎に行い、抽出したポート番号とＳＡを含むデータを上り送信側インターフェース５４を介してネットワークに出力する処理部である。
【００１０】
なお、ＳＡ抽出部５３が上り受信側Ｂｕｆｆｅｒ５２ａ〜５２ｚから抽出したポート番号とＳＡを含むデータを便宜的に「フレームＳ」として以下説明する。
【００１１】
上り送信側インターフェース５４は、ＳＡ抽出部５３から入力されたフレームＳを通信中継装置５０に接続されているネットワーク（図示省略）に転送する処理部である。
【００１２】
学習要求待ち合わせＦＩＦＯ５５は、フレームＳを一時的に記憶し、フレームＳに含まれるＳＡとポート番号を学習テーブル５６に学習させる処理部で、記憶部５５ａと、処理部５５ｂとを有する。
【００１３】
記憶部５５ａは、ＳＡをポート番号に対応付けて記憶する記憶領域で、格納されたＳＡとポート番号が古く格納された順に取り出されるいわゆる「先入れ・先出し」のデータ構造を有する。具体的なデータ構造について図２７を用いて説明する。
【００１４】
図２７は、学習要求待ち合わせＦＩＦＯが有する記憶部のデータ構造の一例を説明するための図である。図２７に示した記憶部５５ａは、「メモリ番号」と、「ポート番号」と、「送信元アドレス」とを有している。
【００１５】
そして、ポート番号「１」には、送信元アドレス「０Ａ：１１：３４：３Ｂ：３２」、ポート番号「２」には、送信元アドレス「２１：２Ｆ：Ｆ１：１２：３０：０」が記憶され、メモリ番号３以下には、送信元アドレスは記憶されておらず、２種類の送信元アドレスが学習テーブル５６に順々に学習されることを示す。
【００１６】
続いて、図２６の説明に戻り、処理部５５ｂについて説明する。処理部５５ｂは、図２７に示した記憶部５５ａに記憶されているＳＡとポート番号を「先入れ・先出し」にて学習テーブル５６に学習させる処理部である。
【００１７】
図２７に示した例を挙げると、まず、処理部５５ｂは、送信元アドレス「０Ａ：１１：３４：３Ｂ：３２」を学習テーブル５６に学習させる。そして、学習終了後に、「２１：２Ｆ：Ｆ１：１２：３０：０」を学習テーブル５６に学習させる。
【００１８】
そして、メモリ番号３に送信元アドレスが新たに記憶されたら、処理部５５ｂは、「２１：２Ｆ：Ｆ１：１２：３０：０」の学習が終了した後に、メモリ番号３に記憶されている送信元アドレスを学習テーブル５６に学習させる。
【００１９】
学習テーブル５６は、記憶部５５ａに記憶されている送信元アドレスが、上述したメモリ番号の順に学習されるテーブルで、学習テーブル制御部５５によってデータの入出力が管理される。具体的に図を用いて説明する。
【００２０】
図２８は、学習テーブルのデータ構造を説明するための図である。図２８に示した学習テーブル５６は、「ポート番号」と、「送信元アドレス」とを有しており、各ポート番号に対応づけて送信元アドレスが記憶されている。なお、「ポート番号」、「送信元アドレス」は、図２７にて説明したポート番号、送信元アドレスと同様の情報を示す。
【００２１】
例えば、ポート番号「４」と「００：１１：２２：３３：４４：５」とが対応付けて記憶され、ポート番号「３」と「１０：２０：３０：４０：５０：６」とが対応付けて記憶されている。
【００２２】
図２６の説明に戻り、学習テーブル制御部５７について説明する。学習テーブル制御部５７は、取得したフレームＳに含まれるポート番号とＳＡの組合せと同一の組合せを有するデータが学習テーブル５６内に記憶されているか否かを判定し、判定結果に応じ、ＳＡとポート番号の学習処理を行う処理部である。
【００２３】
具体的には、フレームＳが有するデータが、学習テーブル５６に記憶されているデータのいずれかと一致するかを判定し、一致した場合は、既に学習済みとして、フレームＳに含まれるＳＡとポート番号を学習要求待ち合わせＦＩＦＯ５５に書込まない。
【００２４】
一方、学習テーブル５６に記憶されているデータのいずれにも一致しなかった場合、学習テーブル制御部５７は、フレームＳに含まれるＳＡとポート番号を学習要求待ち合わせＦＩＦＯ５５に書込む。
【００２５】
この学習テーブル制御部５７の処理について具体的に図を用いて説明する。図２９は、学習テーブル制御部５７の処理を説明するための図である。以下、フレームＳとしてフレーム１およびフレーム２を例に挙げて説明する。
【００２６】
フレーム１は、ポート番号「６」とＳＡ「１Ａ：Ｅ１：６２：５４：１９」を有し、フレーム２は、ポート番号「２」とＳＡ「２Ａ：４１：３Ｆ：３３：Ａ４：Ｃ５」を有している。
【００２７】
そして、ＳＡ抽出部５３がフレーム１とフレーム２を学習テーブル制御部５７に出力し（ステップＳ１）、その後、学習テーブル制御部５７は、学習テーブル５６からフレーム１および２が有するポート番号とＳＡの組合せに一致するデータを学習テーブル５６から検索する（ステップＳ２）。
【００２８】
この場合、学習テーブル制御部５７は、フレーム２と一致するデータを学習テーブル５６から検索し、既に学習済みの送信元アドレスと判定し、フレーム２に対して学習処理は行わない。
【００２９】
一方、ステップＳ２にて、学習テーブル制御部５７は、フレーム１と一致するデータを学習テーブル５６から検索できないため、フレーム１に含まれるＳＡを未学習の送信アドレスと判定し、記憶部５５ａのメモリアドレス「３」に、フレーム１が有するデータを書込む（ステップＳ３）。
【００３０】
その後、処理部５５ｂは、メモリ番号１および２に記憶されているデータをメモリ番号の順に学習テーブル５６に学習させた後、メモリ番号３に記憶されているデータを学習テーブル５６に学習させる。
【００３１】
このように、ＳＡ抽出部５３から入力されたフレームＳと同じポート番号とＳＡの組合せを有するデータが学習テーブル５６に記憶されていない場合、学習テーブル制御部５７が、フレームＳに含まれるポート番号とＳＡを学習テーブル５６に学習させる。
【００３２】
続いて、図２６の説明に戻り、下り受信側インターフェース５８について説明する。下り受信側インターフェース５８は、端末宛に送信されるフレームを受信するインターフェースを示す。
【００３３】
ＤＡ抽出部５９は、下り受信側インターフェース５８が受信したフレームから宛先アドレス（Destination  Address、以下、単にＤＡとする）の抽出をフレーム毎に行い、抽出したＤＡを送信先検索部６０に出力する処理部である。
【００３４】
なお、ＤＡ抽出部５９によって抽出されたＤＡを含むデータを便宜的に「フレームＤ」として以下説明する。
【００３５】
送信先検索部６０は、フレームＤに含まれるＤＡに一致するデータが学習テーブル５６に記憶されているか検索を行い、一致するデータを検索した場合、ポート番号を出力先ポート制御部６１に出力する。
【００３６】
一方、フレームＤに含まれるＤＡに一致するデータが学習テーブル５６に記憶されておらず、検索できなかった場合に、送信先検索部６０は、学習されていないことを示すフラグを出力先ポート制御部６１に出力する。
【００３７】
出力先ポート制御部６１は、送信先検索部６０から入力されたデータに基づいて、出力先のポートを決定し、振り分けを行う処理部である。具体的には、送信先検索部６０から受信したフレームＤに一致するＳＡとポート番号が学習されていれば、所定の物理ポートにフレームを出力する。
【００３８】
例えば、ＤＡに一致するＳＡが学習テーブル５６に存在し、ポート番号が物理ポート５１ａに対応している場合、出力先ポート制御部６１は、ＤＡを含むフレームを物理ポート５１ａに出力する。
【００３９】
一方、未学習端末宛のフレームを受信した場合、出力先ポート制御部６１は、受信ポート以外の全ポートへ受信したフレームを転送する。例えば、物理ポート５１ｂが受信ポートとして使用されている場合は、物理ポート５１ｂを除く全ポートに未学習端末宛のＤＡを含むフレームを出力する。
【００４０】
このように、通信中継装置が、出力先のポートの振り分けを行うことができず、受信ポートを除く全ポートに未学習端末宛のフレームを転送する処理を以下、「フラッティング」とする。
【００４１】
このフラッティングは、未学習端末宛のフレームに含まれるＤＡに一致するデータが学習テーブル５６に学習されるまで発生し続ける。以下、未学習端末宛のアドレスの一例としてＤＡ１を例に挙げて説明する。
【００４２】
この場合、ＤＡ１と一致するＳＡが学習テーブル５６に学習されるまでの間に、ＤＡ１を含むフレームを受信した場合に、出力先ポート制御部６１は、受信したフレームを受信ポート以外の全ポートに対して出力し続ける。
【００４３】
下り送信側Ｂｕｆｆｅｒ６２ａ〜６２ｚは、端末間の処理速度や転送速度を調整するために、端末宛に送信するフレームを一時的に保存するバッファである。
【００４４】
なお、フラッティングに関する技術として、送信元ＭＡＣ(Media  Access  Control  address)アドレスが未学習、かつ宛先ＭＡＣアドレスが学習済みのフレームを受信した場合、通信中継装置は、宛先端末に対応する応答フレームを擬似した仮想応答フレームを送信元の端末に返信するという技術が知られている（例えば、特許文献１参照）。
【００４５】
また、学習テーブルの制御の一例として、接続される端末の最大数を閾値として、閾値を超えた場合に、随時アドレスの廃棄処理を行い、学習テーブルに要するメモリ容量を軽減し、通信中継装置の処理負荷を軽減するという技術が公開されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【００４６】
【特許文献１】特開２００６−２７９８２０号公報
【特許文献２】特開２００４−１３４９７３号公報
【発明の概要】
【発明が解決しようとする課題】
【００４７】
しかしながら、上述した従来の技術では、通信中継装置がフラッティングした場合に、過剰なフレームが受信ポート以外の全ポートに転送されてしまう。その結果、余剰トラフィックが増大し、帯域を圧迫してしまうという問題があった。
【００４８】
上述したＤＡ１を例に挙げて説明する。この場合、ＤＡ１に対応するＳＡ（以下、ＳＡ１とする）を学習テーブル５６に学習させる前に、他のＳＡが記憶部５５ａに記憶されていたら、他のＳＡが学習テーブル５６に記憶されるまでの間、ＳＡ１は学習テーブル５６に学習されない。
【００４９】
このため、ＳＡ１が学習テーブル５６に学習されるまでの間、ＤＡ１を含む端末宛のフレームが大量に送信され、フラッティングされた場合、過剰なフレームが受信ポート以外の全ポートに転送され、余剰トラフィックが増大し、帯域を圧迫してしまう問題が発生してしまう。
【００５０】
開示の技術は、上記に鑑みてなされたものであって、フラッティングが発生する頻度を効果的に抑制するフレーム中継装置、フレーム中継方法を提供することを目的とする。
【課題を解決するための手段】
【００５１】
本願の開示するフレーム中継装置は、複数のポートと、前記複数のポートから受信したフレームをネットワークに送信すると共に、前記受信したフレームの送信元アドレスを、前記ポートと関連付けて登録する学習テーブルと、前記学習テーブルを参照してネットワークから受信した受信したフレームを送信先のポートに振り分ける出力先振り分け部とを有したフレーム中継装置において、ネットワークから受信したフレームの送信先アドレスが前記学習テーブルに登録されているか検索し、登録されていない前記送信先アドレスを記憶する記憶手段と、前記ポートから受信したフレームの送信元アドレスが前記記憶手段に記憶されているか否かを判定し、前記記憶手段に記憶されている送信元アドレスを記憶されていない送信元アドレスよりも優先して、前記学習テーブルに登録する優先制御手段とを有することを要件とする。
【発明の効果】
【００５２】
本願の開示するフレーム中継装置によれば、フラッティングの原因となる宛先アドレスを有する端末からフレームを受信した場合に、その宛先アドレスを優先して学習させることで、フラッティングを抑制するという効果を奏する。
【図面の簡単な説明】
【００５３】
【図１】図１は、実施例１に係る通信中継装置の概要を説明するための図である。
【図２】図２は、実施例１に係る通信中継装置を説明するための図である。
【図３】図３は、実施例１に係る学習テーブルのデータ構造の一例を説明するための図である。
【図４】図４は、実施例１に係るフラッティング宛先アドレス格納メモリのデータ構造の一例を説明するための図である。
【図５】図５は、実施例１に係る記憶部のデータ構造の一例を説明するための図である。
【図６】図６は、実施例１に係る優先学習ＳＡ格納メモリのデータ構造の一例を説明するための図である。
【図７】図７は、実施例１に係るフラッティング宛先アドレス通知部の処理を示すフローチャートである。
【図８】図８は、実施例１に係る一致判定部の処理を示すフローチャートである。
【図９】図９は、実施例１に係る優先制御部の処理を示すフローチャートである。
【図１０】図１０は、実施例２に係る通信中継装置を説明するための図である。
【図１１】図１１は、実施例２に係るＤＡ記憶部のデータ構造の一例を説明するための図である。
【図１２】図１２は、実施例２に係るＤＡ制御部の処理を説明するための図である。
【図１３】図１３は、実施例２に係るフラッティング宛先アドレス通知部の処理を示すフローチャートである。
【図１４】図１４、実施例３に係る通信中継装置を説明するための図である。
【図１５】図１５は、実施例３に係る優先学習ＳＡ格納メモリをＦＩＦＯで構成した場合のデータ構造の一例を説明するための図である。
【図１６】図１６は、実施例３に係る優先学習ＳＡ格納メモリをＲＡＭで構成した場合のデータ構造の一例を説明するための図である。
【図１７】図１７は、実施例３に係るフラッティング宛先アドレス通知部の処理を示すフローチャートである。
【図１８】図１８は、優先学習ＳＡ格納メモリをＦＩＦＯで構成した場合の一致判定部の処理を示すフローチャートである。
【図１９】図１９は、優先学習ＳＡ格納メモリをＲＡＭで構成した場合の一致判定部の処理を示すフローチャートである。
【図２０】図２０は、入力レートを説明するための図である。
【図２１】図２１は、従来技術におけるＰｏｒｔ１宛の出力レートを説明するための図である。
【図２２】図２２は、発明の効果を説明するための前提条件を示す図である。
【図２３】図２３は、実施例の効果を説明するための図である。
【図２４】図２４は、フレームの破棄について説明するための図である。
【図２５】図２５は、学習要求の破棄を説明するための図である。
【図２６】図２６は、従来の通信中継装置を説明するための図である。
【図２７】図２７は、学習要求待ち合わせＦＩＦＯが有する記憶部のデータ構造の一例を説明するための図である。
【図２８】図２８は、学習テーブルのデータ構造の一例を説明するための図である。
【図２９】図２９は、学習テーブル制御部の処理を説明するための図である。
【発明を実施するための形態】
【００５４】
以下に、本願の開示するフレーム中継装置、フレーム中継方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。なお、フレーム中継装置を単に、通信中継装置として説明する。
【実施例１】
【００５５】
まず、実施例１に示す通信中継装置の概要について説明する。図１は、実施例１に係る通信中継装置の概要を説明するための図である。図１に示した通信中継装置１００は、学習テーブルとは別に、フラッティングしている宛先アドレスを予め記憶するメモリを有する。
【００５６】
そして、送信元アドレスを学習させる際、予め記憶したおいた宛先アドレスに一致した場合に、一致した送信元アドレスとポート番号を他の送信元アドレスよりも優先して学習させる。
【００５７】
具体的に、通信中継装置１００が有する学習テーブルに送信元アドレスＡ〜Ｃが既に学習されている場合を例に挙げて説明する。この場合、まず、通信中継装置１００は、宛先アドレスＡ〜Ｄを有するフレームを受信する（ステップＳ１０）。
【００５８】
この場合、宛先アドレスＡ〜Ｃと一致する送信元アドレスＡ〜Ｃについては、学習済みであるので、再度学習することなく、各フレームを所定のポート番号に送信する。一方、アドレスＤについては、未学習であるので、フラッティングを起こしているアドレスとして一時的に優先メモリに記憶させる。
【００５９】
その後、通信中継装置１００は、送信元アドレスＡ〜Ｚを有する端末からフレームを受信した際（ステップＳ１１）、送信元アドレスＡ〜Ｃについては学習済みであるので学習処理を実施しない。
【００６０】
一方、送信元アドレスＤに一致する宛先アドレスとポート番号を優先メモリに有しており、通信中継装置１００は、送信元アドレスＤを他の送信元アドレスＥ〜Ｚよりも先に優先して学習テーブルに学習させる（ステップＳ１２）。
【００６１】
なお、ステップＳ１２にて、通信中継装置１００は、他の送信元アドレスＥ〜Ｚを、学習要求待ち合わせＦＩＦＯに書込む。その結果、送信元アドレスＥ〜Ｚは、学習要求待ち合わせＦＩＦＯに書込まれているＳＡが学習テーブルに学習された後、順次、学習テーブルに学習される。
【００６２】
このように、実施例１に示す通信中継装置１００は、フラッティングしている宛先アドレスを有する端末からフレームを受信した場合に、その宛先アドレスに一致する送信元アドレスとポート番号を優先して学習させることで、フラッティングを抑制することができる。
【００６３】
次に、上述した通信端末装置１００の詳細な機能について図を用いて説明する。図２は、実施例１に係る通信中継装置を説明するための図である。
【００６４】
図２に示した中継装置１００は、端末間とのフレームの転送処理を行う装置で、通信インターフェース１０１、上り受信側Ｂｕｆｆｅｒ１０２ａ〜１０２ｚと、ＳＡ（Source  Address）抽出部１０３と、上り送信側インターフェース１０４と、学習テーブル制御部１０５と、学習テーブル１０６と、下り受信側インターフェース１０７と、ＤＡ抽出部１０８と、送信先検索部１０９と、フラッティング宛先アドレス通知部１１０と、フラッティング宛先アドレス格納メモリ１１１と、一致判定部１１２と、学習要求待ち合わせＦＩＦＯ１１３と、優先学習ＳＡ格納メモリ１１４と、優先制御部１１５と、出力先ポート制御部１１６と、下り送信側Ｂｕｆｆｅｒ１１７ａ〜１１７ｚとを有する。
【００６５】
通信インターフェース１０１は、通信中継装置１００に接続されている端末群とフレームの送受信を行うインターフェースで、物理ポート１０１ａ〜１０１ｚを有する。
【００６６】
物理ポート１０１ａ〜１０１ｚは、通信中継装置１００が物理的に具備するポートを示す。そして、各ポートには番号が割り振られている。例えば、物理ポート１０１ａには１、１０１ｂは２  ・・・  １０１ｙは２５、１０１ｚには２６といったように通信中継装置１００において重複しない番号を持つ。
【００６７】
そして、通信インターフェース１０１は、端末からフレームを受信した際、受信したフレームにポート番号を付加し、上り受信側Ｂｕｆｆｅｒ１０２ａ〜１０２ｚに出力する。
【００６８】
上り受信側Ｂｕｆｆｅｒ１０２ａ〜１０２ｚは、端末間の処理速度や転送速度を調整するために、通信インターフェース１０１から出力されたフレームを一時的に保存するバッファである。
【００６９】
そして、バッファに保存されているフレームには、端末を一意に特定する送信元アドレス（Source  Address、以下、単にＳＡとする）や、ポート番号が含まれている。
【００７０】
また、上り受信側Ｂｕｆｆｅｒ１０２ａ〜１０２ｚは、物理ポートごとに割当てられる情報で、例えば、上り受信側Ｂｕｆｆｅｒ１０２ａであれば、物理ポート１０１ａに割当てられ、上り受信側Ｂｕｆｆｅｒ１０２ｂであれば、物理ポート１０１ｂに割当てられている。
【００７１】
ＳＡ抽出部１０３は、上り受信側Ｂｕｆｆｅｒ１０２ａ〜１０２ｚに含まれるデータの多重を行い、さらに、受信したポートに割当てられているポート番号とＳＡの抽出をフレーム毎に行い、抽出したポート番号とＳＡを含むデータを上り送信側インターフェース１０４を介してネットワークに出力する処理部である。
【００７２】
なお、ＳＡ抽出部１０３が上り受信側Ｂｕｆｆｅｒ１０２ａ〜１０２ｚから抽出したポート番号とＳＡを含むデータを便宜的に「フレームＳ１」として以下説明する。
【００７３】
上り送信側インターフェース１０４は、ＳＡ抽出部１０３から入力されたフレームＳ１を通信中継装置１００に接続されているネットワークに転送する処理部である。
【００７４】
学習テーブル制御部１０５は、フレームＳ１が示すデータが学習テーブル１０６内に記憶されているか否かを判定し、判定結果に基づき、フレームＳ１に含まれるＳＡとポート番号の学習処理を行う処理部である。
【００７５】
具体的に、学習テーブル制御部１０５は、フレームＳ１に含まれるデータが学習テーブル１０６に記憶されているデータのいずれかと一致するかを判定し、一致した場合は、既に学習済みとして、フレームＳ１を一致判定部１１２に出力しない。
【００７６】
一方、学習テーブル１０６に記憶されているデータのいずれにも一致するデータが記憶されていない場合、学習テーブル制御部１０５は、フレームＳ１を一致判定部１１２に出力する。
【００７７】
学習テーブル１０６は、学習要求待ち合わせＦＩＦＯ１１３や優先制御部１１５の学習処理によって、ＳＡとポート番号が記憶されるテーブルである。具体的なデータ構造に図を用いて以下説明する。
【００７８】
図３は、実施例１に係る学習テーブルのデータ構造の一例を説明するための図である。図３に示した学習テーブル１０６は、「ポート番号」と「送信元アドレス」を有しており、各ポート番号に対応づけて送信元アドレスが記憶されている。
【００７９】
「ポート番号」は、フレームを受信したポートを示し、通信インターフェース１０１が受信したフレームに付加する情報である。そして、ポート番号１０は、物理ポート１０１ａに対応し、ポート番号１１は、物理ポート１０１ｂに対応する。
【００８０】
「送信元アドレス」は、端末に与えられる一意のアドレスを示す。例えば、送信元アドレス「０Ａ：１Ｂ：２Ｃ：３Ｄ：４Ｅ：５Ｄ」が送信端末に与えられていた場合、通信中継装置１００は、受信したフレームの送信元アドレスから送信端末を識別し、フレームの転送処理を行う。
【００８１】
次に、図２の説明に戻り、下り受信側インターフェース１０７について説明する。下り受信側インターフェース１０７は、端末宛に送信されるフレームを受信するインターフェースを示す。
【００８２】
ＤＡ抽出部１０８は、下り受信側インターフェース１０７が受信したフレームから宛先アドレス（Destination  Address、以下、単にＤＡとする）の抽出をフレーム毎に行い、抽出したＤＡを送信先検索部１０９に出力する処理部である。また、ＤＡ抽出部１０８は、フレームを、出力先ポート制御部１１６に出力する。
【００８３】
なお、ＤＡ抽出部１０８によって抽出されたＤＡを含むデータを便宜的に「フレームＤ１」として以下説明する。
【００８４】
送信先検索部１０９は、フレームＤ１と一致するデータが学習テーブル１０６に記憶されているか検索を行い、一致するデータを検索した場合に、ＤＡに対応するポート番号を出力先ポート制御部１１６に出力する処理部である。
【００８５】
一方、フレームＤ１と一致するデータが学習テーブル１０６に記憶されておらず、一致するデータを検索できなかった場合に、送信先検索部１０９は、そのＤＡを未学習端末宛のアドレスとして、フラッティング宛先アドレス通知部１１０に出力する。また、フレームＤ１と一致するデータが学習テーブル１０６に記憶されておらず、一致するデータを検索できなかった場合、送信先検索部１０９は、学習テーブルに登録されていないことを示すフラグを出力先ポート制御部１１６に出力する。
【００８６】
なお、下り受信側インターフェース１０７が受信した端末宛のフレームで、学習テーブル１０６に記憶されているＳＡと一致しないＤＡを有するフレームを「未学習端末宛のフレーム」とし、未学習端末宛のフレームに含まれるＤＡを「フラッティング宛先アドレス」として以下説明する。
【００８７】
フラッティング宛先アドレス通知部１１０は、フラッティングを引き起こしている宛先アドレスを監視し、送信先検索部１０９から未学習端末宛のフレームが入力された場合、入力されたフレームに含まれるＤＡをフラッティング宛先アドレス格納メモリ１１１に出力する通知部である。
【００８８】
例えば、フラッティング宛先アドレス通知部１１０は、送信先検索部１０９から未学習端末宛のフレームが入力され、入力されたフレームにＤＡ：「１０：１１：１２：１３：１４：５」が含まれていた場合に、入力されたフレームをフラッティング宛先アドレス格納メモリ１１１に出力する。
【００８９】
フラッティング宛先アドレス格納メモリ１１１は、フラッティング宛先アドレス通知部１１０から入力されたフラッティング宛先アドレスを記憶するメモリで、具体的なデータ構造について図を用いて説明する。
【００９０】
図４は、実施例１に係るフラッティング宛先アドレス格納メモリのデータ構造の一例を説明するための図である。図４に示したフラッティング宛先アドレス格納メモリ１１１は、「フラッティング宛先アドレス」を有している。
【００９１】
そして、フラッティング宛先アドレスの一例として、「１０：１１：１２：１３：１４：５」と、「Ａ２：Ａ３：Ａ４：Ａ５：Ａ６」と、「２Ｂ：３Ｄ：３Ｆ：４Ｄ：５Ｃ：６Ｅ」が記憶されている。
【００９２】
次に、図２の説明に戻り、一致判定部１１２について説明する。一致判定部１１２は、フレームＳ１が示すＳＡが、フレームＤ１が示すフラッティング宛先アドレスと一致した場合は、一致したＳＡとポート番号を優先学習ＳＡ格納メモリ１１４に出力する処理部である。
【００９３】
一方、フレームＳ１が示すＳＡが、フレームＤ１が示すフラッティング宛先アドレスと不一致の場合は、フレームＳ１に含まれるＳＡとポート番号を学習要求待ち合わせＦＩＦＯ１１３に出力する。
【００９４】
学習要求待ち合わせＦＩＦＯ１１３は、学習テーブル１０６に記憶される前のＳＡとポート番号を一時的に記憶し、記憶しているＳＡとポート番号を学習テーブル１０６に学習させる処理部で、記憶部１１３ａと、処理部１１３ｂとを有する。
【００９５】
記憶部１１３ａは、ＳＡを各ポート番号に対応付けて記憶する記憶領域で、格納されたＳＡが古く格納された順に取り出されるいわゆる「先入れ・先出し」のデータ構造を有する。具体的なデータ構造について図５を用いて説明する。
【００９６】
図５は、実施例１に係る記憶部のデータ構造の一例を説明するための図である。図５に示した記憶部１１３ａは、「メモリ番号」と、「ポート番号」と、「送信元アドレス」とを有している。
【００９７】
「メモリ番号」は、記憶部１１３ａに記憶されている送信元アドレスが学習テーブル１０６に学習される順番を示し、メモリ番号「ｎ」の値に応じて記憶部１１３ａのメモリ容量が比例する。
【００９８】
「ポート番号」は、図２に示した物理ポートに対応し、例えば、ポート番号が「１０」であれば、物理ポート１０１ａに対応し、ポート番号が「１１」であれば、物理ポート１０１ｂに対応し、ポート番号が「ｎ」であれば、物理ポート１０１ｚに対応する。
【００９９】
「送信元アドレス」は、処理部１１３ｂにより記憶されたＳＡを示す。そして、この送信元アドレスは、フレームＳ１が有する宛先アドレスとポート番号と同じ組合せを有するデータが学習テーブル１０６に記憶されていないデータを示す。
【０１００】
続いて、図２の説明に戻り、処理部１１３ｂについて説明する。処理部１１３ｂは、図２に示した記憶部１１３ａに記憶されている送信元アドレスを「先入れ・先出し」にて学習テーブル１０６に学習させる処理部である。
【０１０１】
図５に示した例を挙げると、まず、処理部１１４ｂは、送信元アドレス「０Ａ：１Ｂ：３Ｃ：３Ｄ：３Ｅ」を学習テーブル１０６に学習させる。そして、学習終了後に、「２Ａ：２Ｂ：ＦＣ：１Ｄ：３Ｅ：０」を学習テーブル１０６に学習させる。
【０１０２】
そして、メモリ番号３に送信元アドレスが新たに記憶されたら、処理部１１３ｂは、「「２Ａ：２Ｂ：ＦＣ：１Ｄ：３Ｅ：０」の学習が終了した後に、メモリ番号３に記憶されている送信元アドレスを学習テーブル１０６に学習させる。
【０１０３】
次に、図２の説明に戻り、優先学習ＳＡ格納メモリ１１４について説明する。優先学習ＳＡ格納メモリ１１４は、一致判定部１１２から出力されたフラッティング宛先アドレスが記憶されるメモリである。
【０１０４】
そして、このフラッティング宛先アドレスと一致するＳＡは、優先制御部１１５の処理により、記憶部１１３ａに記憶されているＳＡよりも優先して学習テーブル１０６に学習される。
【０１０５】
優先学習ＳＡ格納メモリ１１４の具体的なデータ構造について、図を用いて説明する。図６は、実施例１に係る優先学習ＳＡ格納メモリのデータ構造の一例を説明するための図である。
【０１０６】
図６に示した優先学習ＳＡ格納メモリ１１４は、「優先学習ＳＡ」が記憶されている。
【０１０７】
「優先学習ＳＡ」は、一致判定部１１２によって入力されたＳＡを示す。そして、その一例として「１０：１１：１２：１３：１４：５」が記憶されている。
【０１０８】
上述した優先学習ＳＡ格納メモリ１１４を使用して、図２に示した一致判定部１１２が行う処理について、図２〜６を用いて説明する。なお、ＳＡ抽出部１０３が、「１０：１１：１２：１３：１４：５」と、「０Ａ：１Ｂ：３Ｃ：３Ｄ：３Ｅ」と、「２Ａ：２Ｂ：ＦＣ：１Ｄ：３Ｅ：０」を抽出した場合を例に挙げる。
【０１０９】
まず、一致判定部１１２は、学習テーブル制御部１０５により入力されたＳＡとポート番号を取得し、さらに、フラッティング宛先アドレス格納メモリ１１１に記憶されているフラッティング宛先アドレスを取得する。
【０１１０】
そして、一致判定部１１２は、図４に示したフラッティング宛先アドレス格納メモリ１１１に記憶されているフラッティング宛先アドレスと、ＳＡ抽出部１０３から取得したＳＡとを比較し、一致するデータを検索する。
【０１１１】
そして、図４に示したフラッティング宛先アドレス格納メモリ１１１には、フラッティング宛先アドレス「１０：１１：１２：１３：１４：５」が記憶されていることから、一致判定部１１２は、一致するＳＡをポート番号と一緒に優先学習ＳＡ格納メモリ１１４に出力する。
【０１１２】
一方、「０Ａ：１Ｂ：３Ｃ：３Ｄ：３Ｅ」と、「２Ａ：２Ｂ：ＦＣ：１Ｄ：３Ｅ」とに関しては、一致するデータをフラッティング宛先アドレス格納メモリ１１１から検索できないので、学習要求待ち合わせＦＩＦＯ１１３に対応するポート情報と一緒に出力する。
【０１１３】
したがって、図５に示したように、「０Ａ：１Ｂ：３Ｃ：３Ｄ：３Ｅ」、「２Ａ：２Ｂ：ＦＣ：１Ｄ：３Ｅ：０」が、記憶部１１３ａのメモリ番号１、メモリ番号２に記憶されている。
【０１１４】
一方、図６に示した優先学習ＳＡ格納メモリ１１４には「１０：１１：１２：１３：１４：５」が対応するポート番号と一緒に記憶されている。そして、記憶部１１３ａに記憶されているデータよりも優先して学習テーブル１０６に学習される。
【０１１５】
次に、図２の説明に戻り、優先制御部１１５について説明する。優先制御部１１５は、優先学習ＳＡ格納メモリ１１４に優先学習ＳＡが記憶されている場合は、記憶部１１３ａが有する送信元アドレスよりも、優先学習ＳＡ格納メモリ１１４に記憶されている優先学習ＳＡを学習テーブル１０６に学習させる処理部である。
【０１１６】
例えば、図５に示したように、記憶部１１３ａに送信元アドレスとして、「０Ａ：１Ｂ：３Ｃ：３Ｄ：３Ｅ」と「２Ａ：２Ｂ：ＦＣ：１Ｄ：３Ｅ：０」が記憶されているが、図６に示した優先学習ＳＡ格納メモリ１１４には、「１０：１１：１２：１３：１４：５」が記憶されている。
【０１１７】
この場合、優先制御部１１５は、「０Ａ：１Ｂ：３Ｃ：３Ｄ：３Ｅ」と「２Ａ：２Ｂ：ＦＣ：１Ｄ：３Ｅ：０」よりも、「１０：１１：１２：１３：１４：５」を優先して学習テーブル１０６に学習させる。
【０１１８】
一方、優先学習ＳＡ格納メモリ１１４に優先学習ＳＡが記憶されていない場合は、処理部１１３ｂが「０Ａ：１Ｂ：３Ｃ：３Ｄ：３Ｅ」と「２Ａ：２Ｂ：ＦＣ：１Ｄ：３Ｅ：０」を学習テーブル１０６に順次学習させる。
【０１１９】
出力先ポート制御部１１６は、送信先検索部１０９から入力されたフレームに基づいて、出力先のポートを決定し、振り分けを行う処理部である。具体的には、送信先検索部１０９から入力されたＤＡに対応するポート番号を含んだフレームを受信し、そのポート番号に対応するポートにフレームを出力する。
【０１２０】
例えば、ＤＡと一致するＳＡが学習テーブル１０６に存在し、ＤＡのポート番号が物理ポート１０１ａに対応している場合、出力先ポート制御部１１６は、ＤＡを含むフレームを物理ポート３０１ａに出力する。
【０１２１】
一方、未学習端末宛のフレームを受信した場合、出力先ポート制御部１１６は、受信ポート以外の全ポートへ受信したフレームを転送する。例えば、物理ポート１０１ｂが受信ポートとして使用されている場合は、物理ポート１０１ｂを除く全ポートに未学習端末宛のＤＡを含むフレームを出力する。
【０１２２】
下り送信側Ｂｕｆｆｅｒ１１７ａ〜１１７ｚは、端末間の処理速度や転送速度を調整するために、端末宛に送信するフレームを一時的に保存するバッファである。
【０１２３】
実施例１の通信中継装置によれば、フラッティングの原因となる宛先アドレスを有する端末からフレームを受信した場合に、優先制御部１１５が、その宛先アドレスを優先して学習テーブル１０６に学習させることで、フラッティングを抑制するという効果を奏する。
【０１２４】
次に、上述したフラッティング宛先アドレス通知部１１０の処理手順について説明する。図７は、実施例１に係るフラッティング宛先アドレス通知部の処理を示すフローチャートである。
【０１２５】
まず、下り受信側インターフェース１０７が端末宛のフレームを受信した後（ステップＳ１００）、ＤＡ抽出部１０８がステップＳ１００にて受信した端末宛のフレームからＤＡを抽出する（ステップＳ１０１）。
【０１２６】
そして、送信先検索部１０９は、ステップＳ１０１にて抽出されたデータと同じデータが学習テーブル１０６に学習されているか検索する（ステップＳ１０２）。学習されている場合（ステップＳ１０３、Ｙｅｓ）、ステップＳ１００に移行する。
【０１２７】
一方、学習されていない場合（ステップＳ１０３、Ｎｏ）、送信先検索部１０９は、ステップＳ１０１にて抽出されたデータが有するＤＡをフラッティング宛先アドレス通知部１１０へ通知する。
【０１２８】
そして、フラッティング宛先アドレス通知部１１０は、通知されたＤＡをフラッティング宛先アドレス格納メモリ１１１へ出力する（ステップＳ１０４）。
【０１２９】
次に、上述した一致判定部１１２の処理手順について説明する。図８は、実施例１に係る一致判定部の処理を示すフローチャートである。
【０１３０】
まず、端末から送信されたフレームを通信インターフェース１０１が受信する（ステップＳ２００）。そして、ＳＡ抽出部１０３が、ステップＳ２００にて受信したフレームからＳＡとポート番号を抽出する（ステップＳ２０１）。
【０１３１】
そして、一致判定部１１２は、フラッティング宛先アドレス格納メモリ１１１に格納されているＤＡが、ステップＳ２０１にて抽出したデータと一致するかの判定を行い、一致した場合（ステップＳ２０２、Ｙｅｓ）、一致したＳＡを優先学習ＳＡ格納メモリ１１４に書込みを行う（ステップＳ２０３）。
【０１３２】
一方、一致しなかった場合（ステップＳ２０２、Ｎｏ）、一致判定部１１２は、学習要求待ち合わせＦＩＦＯ１１３に対して、ステップＳ２０１にて抽出したＳＡの書込みを行う（ステップＳ２０４）。そして、処理部１１３ｂは、記憶部１１３ａに記憶されている他のＳＡを学習させた後に、ステップＳ２０１にて抽出されたＳＡを学習させる。
【０１３３】
次に、上述した優先制御部１１５の処理手順について説明する。図９は、実施例１に係る優先制御部の処理を示すフローチャートである。
【０１３４】
まず、優先制御部１１５は、学習テーブル１０６のメモリ容量に基づき、学習テーブル１０６に、ＳＡとポート番号を学習させることが可能か否かについて判定する（ステップＳ３００）。
【０１３５】
そして、学習テーブル１０６に新たなＳＡを学習させる場合（ステップＳ３０１、Ｙｅｓ）、優先制御部１１５は、学習要求待ち合わせＦＩＦＯ１１３と、優先学習ＳＡ格納メモリ１１４とを参照する（ステップＳ３０２）。
【０１３６】
そして、優先学習ＳＡ格納メモリ１１４に学習要求の対象となるデータが記憶されているか否かを判定し、対象となるデータがある場合（ステップＳ３０３、Ｙｅｓ）、優先制御部１１５は、優先学習ＳＡ格納メモリ１１４に記憶されているデータを学習要求待ち合わせＦＩＦＯ１１３に記憶されているデータよりも優先して学習テーブル１０６に学習させる（ステップＳ３０４）。
【０１３７】
一方、優先学習ＳＡ格納メモリ１１４に学習要求の対象となるデータがない場合（ステップＳ３０３、Ｎｏ）、処理部１１３ｂが記憶部１１３ａに記憶されているＳＡを学習テーブル１０６に学習させる（ステップＳ３０５）。
【０１３８】
このフローチャートによれば、学習要求待ち合わせＦＩＦＯ１１３とは別に、フラッティング宛先アドレスを記憶させておくことで、記憶したおいたフラッティング宛先アドレスを優先して学習させることができ、フラッティングが発生する頻度を抑制することができる。
【実施例２】
【０１３９】
ところで、実施例１に示した通信中継装置１００は、優先学習ＳＡ格納メモリ１１４に記憶されている優先学習ＳＡを帯域の使用頻度に関係なく優先して学習している。
【０１４０】
例えば、ある所定時間に、通信中継装置１００が、端末宛に対するフレームの転送処理を１００回行うのに対し、端末１０１宛のフレームの転送処理を１回しか行わないとする。
【０１４１】
この場合、端末１０１が有するＤＡを優先的に学習するよりも、端末１００が有するＤＡを優先的に学習する方が、フラッティングの発生頻度をより効果的に抑制する。
【０１４２】
そこで、実施例２に示す通信中継装置２００は、フラッティング宛先アドレスが抽出される頻度から、優先的に学習させるフラッティング宛先アドレスを判定し、判定結果に基づいて、フラッティング宛先アドレスを学習する。
【０１４３】
また、通信中継装置２００は、図２に示した通信中継装置１００とほぼ同等の機能を有し、通信中継装置１００との違いは、抽出された未学習端末宛のフレームに含まれるＤＡをフラッティング宛先アドレス格納メモリ２１１に出力する際、所定の条件を満たしたＤＡのみ出力し、優先学習ＳＡ格納メモリ２１４に記憶させる点である。
【０１４４】
この通信中継装置２００について具体的に図を用いて説明する。図１０は、実施例２に係る通信中継装置を説明するための図である。なお、ここでは、実施例１に示した通信中継装置１００と同等の機能を有する機能部についての詳細な説明は省略する。
【０１４５】
通信インターフェース２０１は、図２に示した通信インターフェース１０１に対応し、例えば、通信中継装置２００に接続されている端末群とフレームの送受信を行うインターフェースを示す。
【０１４６】
そして、通信インターフェース２０１は、物理ポート２０１ａ〜２０１ｚを有し、この物理ポートは、通信中継装置２００が物理的に具備するポートを示す。
【０１４７】
なお、実施例１と同様に、このポートには、フレームを受信する各ポートには、ポート番号が割り振られている。
【０１４８】
上り受信側Ｂｕｆｆｅｒ２０２ａ〜２０２ｚは、図２に示した上り受信側Ｂｕｆｆｅｒ１０２ａ〜１０２ｚに対応し、端末間の処理速度や転送速度を調整するために、端末から受信したフレームを一時的に保存するバッファである。
【０１４９】
そして、上り受信側Ｂｕｆｆｅｒ２０２ａ〜２０２ｚに保存されているフレームには、端末が有する送信元アドレス（Source  Address、以下、単にＳＡとする）とＳＡに対応するポート番号が含まれている。
【０１５０】
ＳＡ抽出部２０３は、図２に示したＳＡ抽出部１０３に対応し、上述したＢｕｆｆｅｒから、ポート番号とＳＡの抽出をフレーム毎に行い、抽出したポート番号とＳＡを含むフレームを上り送信側インターフェース２０４を介してネットワークに出力する処理部である。
【０１５１】
なお、ＳＡ抽出部２０３が上り受信側Ｂｕｆｆｅｒ２０２ａ〜２０２ｚから抽出したポート番号とＳＡを含むデータを便宜的に「フレームＳ２」として以下説明する。
【０１５２】
上り送信側インターフェース２０４は、ＳＡ抽出部２０３から入力されたフレームＳ２を通信中継装置２００に接続されているネットワークに転送する処理部である。
【０１５３】
学習テーブル制御部２０５は、図２に示した学習テーブル制御部１０５に対応するもので、フレームＳ２が示すデータが、学習テーブル２０６内に記憶されているか否か判定し、判定結果に応じて、フレームＳ２に含まれるＳＡとポート番号の学習処理を行う処理部である。
【０１５４】
具体的に、学習テーブル制御部２０５は、フレームＳ２が示すデータが学習テーブル２０６に記憶されているデータのいずれかと一致するかを判定し、一致した場合は、既に学習済みとして、フレームＳ２を一致判定部２１２に出力しない。
【０１５５】
一方、学習テーブル２０６に記憶されているデータのいずれにも一致するデータが記憶されていない場合、学習テーブル制御部２０５は、フレームＳ２を一致判定部２１２に出力する。
【０１５６】
学習テーブル２０６は、図２に示した学習テーブル１０６に対応するものであり、図３に示したように、「ポート番号」と、「送信元アドレス」とを有しており、各ポート番号に対応づけて送信元アドレスが記憶されている。
【０１５７】
下り受信側インターフェース２０７は、図２に示した下り受信側インターフェース１０７に対応し、端末宛に送信されるフレームを受信するインターフェースを示す。
【０１５８】
ＤＡ抽出部２０８は、図２に示したＤＡ抽出部１０８に対応するものであり、端末宛に送信されたフレームから宛先アドレス（Destination  Address、以下、単にＤＡとする）をフレーム毎に行い、抽出したＤＡを送信先検索部２０９に出力する処理部である。また、ＤＡ抽出部２０８は、下り受信側インターフェース２０７からのフレームを出力先ポート制御部２１６に出力する。
【０１５９】
なお、ＤＡ抽出部２０８によって抽出されたＤＡを含むデータを便宜的に「フレームＤ２」として以下説明する。
【０１６０】
送信先検索部２０９は、図２に示した送信先検索部１０９に対応するものであり、フレームＤ２に含まれるデータと一致するデータが学習テーブル２０６に記憶されているか検索を行う処理部である。
【０１６１】
そして、検索の結果、一致するデータを検索した場合に、送信先検索部２０９は、ポート番号を出力先ポート制御部２１６に出力する。
【０１６２】
一方、フレームＤ２に含まれるデータと一致するデータが学習テーブル２０６に記憶されておらず、一致するデータが検索できなかった場合に、送信先検索部２０９は、フレームＤ２を含むデータを未学習端末宛のフレームとして、フラッティング宛先アドレス通知部２１０に出力する。
【０１６３】
なお、下り受信側インターフェース２０７が受信した端末宛のフレームで、学習テーブル２０６に記憶されているＳＡと一致しないＤＡを有するフレームを「未学習端末宛のフレーム」とし、未学習端末宛のフレームに含まれるＤＡを「フラッティング宛先アドレス」として説明する。
【０１６４】
フラッティング宛先アドレス通知部２１０は、所定時間内における未学習端末宛のフレームの発生頻度を判定し、判定結果に基づいて、フラッティング宛先アドレスを、フラッティング宛先アドレス格納メモリ２１１に出力する通知部である。
【０１６５】
そして、フラッティング宛先アドレス通知部２１０は、ＤＡ記憶部２１０ａと、ＤＡ処理部２１０ｂと、ＤＡ制御部２１０ｃと、監視タイマ２１０ｄと、閾値設定部２１０ｅとを有する。
【０１６６】
ＤＡ記憶部２１０ａは、送信先検索部２０９が出力する未学習端末宛のフレームを記憶する記憶部で、具体的なデータ構造について図を用いて説明する。図１１は、実施例２に係るＤＡ記憶部のデータ構造の一例を説明するための図である。
【０１６７】
図１１に示したＤＡ記憶部２１０ａには「宛先アドレス」が記憶されている。この「宛先アドレス」は、フレームＤ２が有するＤＡに一致するＳＡが学習テーブル２０６に学習されていないアドレスを示している。
【０１６８】
そして、説明の便宜上、図に示したように宛先アドレスを「Ａ」、「Ｂ」としているが、例えば、Ａに対応するアドレスは、「ＡＡ:１Ｂ:ＣＣ:ＤＤ:４Ｇ：５Ｙ」といったものが挙げられ、Ｂ以下についても同様である。
【０１６９】
図１０の説明に戻り、ＤＡ処理部２１０ｂについて説明する。ＤＡ処理部２１０ｂは、
送信先検索部２０９から入力されたＤＡをＤＡ記憶部２１０ａに記憶する処理部である。
【０１７０】
具体的に、まず、送信先検索部２０９が、フレームＤ２が有するＤＡ（例えばアドレスＡとする）に対応するＳＡを学習テーブル２０６から検索し、検索できなかった場合に、アドレスＡをＤＡ処理部２１０ｂに出力する。
【０１７１】
そして、ＤＡ処理部２１０ｂは、送信先検索部２０９から入力されたアドレスＡをＤＡ記憶部２１０ａに記憶する。このように、ＤＡ処理部２１０ｂは、送信先検索部２０９から入力されたＤＡを順々にＤＡ記憶部２１０ａに記憶する。
【０１７２】
ＤＡ制御部２１０ｃは、予め定められた時間内に、ＤＡ記憶部２１０ａ内の所定の宛先アドレスに対し、記憶されている数を判定し、判定結果に基づき、その判定した宛先アドレスをフラッティング宛先アドレス格納メモリ２１１に通知する処理部である。
【０１７３】
監視タイマ２１０ｄは、ＤＡ制御部２１０ｃに時間情報を出力する出力部で、例えば、５秒、１０秒といった所定の時間情報を出力する。そして、この時間情報は、ＤＡ制御部２１０ｃが判定対象とする宛先アドレスの有効時間を示す。
【０１７４】
例えば、図１１に示した宛先アドレスＡが判定対象で、監視タイマ２１０ｄの出力する時間情報が１０秒の場合において、ＤＡ制御部２１０ｃは、宛先アドレスＡをＤＡ記憶部２１０ａの先頭に記憶されている宛先アドレスから順番に１０秒間検索する。
【０１７５】
そして、検索開始時から１１秒経過した場合、ＤＡ制御部２１０ｃは、宛先アドレスＡとは異なる宛先アドレス（例えば、宛先アドレスＢ）について検索を１０秒間検索する。
【０１７６】
このように、監視タイマ２１０ｄが出力する時間情報を超えた場合、ＤＡ制御部２１０ｃは、検索対象の宛先アドレスとは異なる宛先アドレスを検索する。なお、監視タイマ２１０ｄが出力する時間情報は、例えば、通信中継装置２００の管理者が設定するものとする。
【０１７７】
閾値設定部２１０ｅは、未学習端末宛のフレームが発生する頻度を判定する閾値情報をＤＡ制御部２１０ｃに出力する出力部で、例えば、「２」、「３」といった閾値情報が出力される。なお、閾値設定部２１０ｅが出力する情報は、例えば、通信装置２００の管理者が設定するものとする。
【０１７８】
次に、上述したＤＡ記憶部２１０ａ、ＤＡ処理部２１０ｂ、ＤＡ制御部２１０ｃ、監視タイマ２１０ｄ、閾値設定部２１０ｅを用いて、ＤＡ制御部２１０ｃの処理について具体的に説明する。
【０１７９】
図１２は、実施例２に係るＤＡ制御部の処理を説明するための図である。なお、監視タイマ２１０ｄに設定されている時間情報は「１０秒」とし、閾値設定部２１０ｅに設定されている閾値情報は「２」として、以下説明する。
【０１８０】
まず、閾値設定部２１０ｅが閾値情報「２」をＤＡ制御部２１０ｃに出力する（ステップＳ２０）。そして、監視タイマ２１０ｄが時間情報「１０秒」をＤＡ制御部２１０ｃに出力する（ステップＳ２１）。
【０１８１】
そして、ＤＡ制御部２１０ｃは、ＤＡ記憶部２１０ａの先頭に記憶されている宛先アドレスＡを検索対象として、１０秒以内に宛先アドレスＡが検索される回数を判定する。このような条件下で、ＤＡ制御部２１０ｃは、１０秒以内に宛先アドレスＡを３回検索した場合、ＤＡ記憶部２１０ａから宛先アドレスＡを取得する（ステップＳ２２）。
【０１８２】
そして、ＤＡ制御部２１０ｃは、取得した宛先アドレスＡをフラッティング宛先アドレス格納メモリ２１１へ通知する（ステップＳ２３）。その後、ＤＡ制御部２１０ｃは、宛先アドレスＡとは異なる宛先アドレスについて検索を開始する。
【０１８３】
なお、ステップＳ２２において、ＤＡ制御部２１０ｃが検出した回数が２以下である場合、宛先アドレスＡはフラッティング宛先アドレス格納メモリ２１１へ通知されない。
【０１８４】
また、図１２に示した例は、ＤＡ記憶部２１０ａの先頭に記憶されている宛先アドレスを検索の対象としたが、検索対象とする宛先アドレスは、任意に設定することができ、例えば、宛先アドレスＢや宛先アドレスＣを検索対象としても良い。
【０１８５】
次に、図１０の説明に戻り、フラッティング宛先アドレス格納メモリ２１１について説明する。フラッティング宛先アドレス格納メモリ２１１は、図２に示したフラッティング宛先アドレス格納メモリ１１１に対応し、図４に示した「フラッティング宛先アドレス」と「ポート番号」を有している。
【０１８６】
そして、この「フラッティング宛先アドレス」は、ＤＡ制御部２１０ｃから入力される宛先アドレスを示しており、図１１に示した宛先アドレスＡや宛先アドレスＢがフラッティング宛先アドレスとして記憶される。
【０１８７】
一致判定部２１２は、図２に示した一致判定部１１２に対応し、フレームＳ２に含まれるデータと、フラッティング宛先アドレス格納メモリ２１１に記憶されているフラッティング宛先アドレスが一致した場合は、そのフラッティング宛先アドレスに対応するＳＡを優先学習ＳＡメモリ２１４に出力する処理部である。
【０１８８】
一方、フレームＳ１に含まれるデータと、フラッティング宛先アドレス格納メモリ２１１に記憶されているフラッティング宛先アドレスが不一致の場合は、フレームＳ２が示すデータを学習要求待ち合わせＦＩＦＯ２１３に出力する。
【０１８９】
学習要求待ち合わせＦＩＦＯ２１３は、図２に示した学習要求ＦＩＦＯ１１３に対応し、図２に示した記憶部１１３ａ、処理部１１３ｂに対応するものとし、記憶部２１３ａ、処理部２１３ｂとを有する。
【０１９０】
記憶部２１３ａは、図５に示した「メモリ番号」と、「ポート番号」と、「送信元アドレス」が記憶されている。そして、処理部２１３ｂは、記憶部２１３ａに記憶されている送信元アドレスを「先入れ・先出し」にて学習テーブル２０６に学習させる処理部である。
【０１９１】
優先学習ＳＡ格納メモリ２１４は、図２に示した優先学習ＳＡ格納メモリ１１４に対応し、図６に示した「ポート番号」、「優先学習ＳＡ」を有している。そして、一致判定部２１２から出力されたフラッティング宛先アドレスが記憶される。
【０１９２】
優先制御部２１５は、優先学習ＳＡ格納メモリ２１４に優先学習ＳＡが記憶されている場合、記憶部２１３ａに記憶されているデータよりも、優先学習ＳＡ格納メモリ２１４の優先学習ＳＡを優先して学習テーブル２０６に学習させる処理部である。
【０１９３】
出力先ポート制御部２１６は、図２に示した出力先ポート制御部１１６に対応し、送信先検索部２０９から入力されたフレームに基づいて、出力先のポートを決定し、振り分けを行う処理部である。
【０１９４】
下り送信側Ｂｕｆｆｅｒ２１７ａ〜２１７ｚは、図２に示した下り送信側Ｂｕｆｆｅｒ１１７ａ〜１１７ｚに対応し、端末間の処理速度や転送速度を調整するために、端末宛に送信するフレームを一時的に保存するバッファで、端末宛のＤＡとポート番号を含むフレームを有する。
【０１９５】
次に、上述したフラッティング宛先アドレス通知部２１０の処理手順について説明する。図１３は、実施例２に係るフラッティング宛先アドレス通知部の処理を示すフローチャートである。
【０１９６】
まず、下り受信側インターフェース２０７が端末宛のフレームを受信した後（ステップＳ４００）、ＤＡ抽出部２０８がステップＳ４００にて受信した端末宛のフレームからＤＡを抽出する（ステップＳ４０１）。
【０１９７】
そして、送信先検索部２０９は、ステップＳ４０１にて抽出されたフレームＤ２と同じデータが学習テーブル２０６に学習されているか判定する（ステップＳ４０２）。学習されている場合（ステップＳ４０３、Ｙｅｓ）、ステップＳ４００に移行する。
【０１９８】
一方、学習されていない場合（ステップＳ４０３、Ｎｏ）、送信先検索部２０９は、ステップＳ４０１にて抽出されたフレームＤ２をＤＡ処理部２１０ｂへ通知する。そして、ＤＡ処理部２１０ｂは、通知されたフレームＤ２をＤＡ記憶部２１０ａへ出力する（ステップＳ４０４）。
【０１９９】
次に、ＤＡ制御部２１０ｃが、監視タイマ２１０ｄから入力された時間情報の残り時間が「０」でない場合（ステップＳ４０５、Ｎｏ）、ＤＡ記憶部２１０ａの先頭に記憶されているＤＡを検索対象とし、そのＤＡの検索を開始する（ステップＳ４０６）。
【０２００】
一方、監視タイマ２１０ｄから入力された時間情報の残り時間が「０」である場合（ステップＳ４０５、Ｙｅｓ）、ステップＳ４００へ移行する。
【０２０１】
そして、ＤＡ制御部２１０ｃは、ステップＳ４０６にて検索したＤＡの回数を確認し（ステップＳ４０７）、検索したＤＡの回数が閾値設定部２１０ｅから入力された閾値情報を超えているか否か判定する（ステップＳ４０８）。
【０２０２】
ＤＡ制御部２１０ｃは、閾値を超えていると判定した場合（ステップＳ４０９、Ｙｅｓ）、ＤＡ制御部２１０ｃは、ステップＳ４０８にて判定したＤＡをフラッティング宛先アドレス格納メモリ２１１に出力する（ステップＳ４１０）。
【０２０３】
一方、閾値を越えていないと判定した場合（ステップＳ４０９、Ｎｏ）、ＤＡ制御部２１０ｃは、ステップＳ４０８にて判定したＤＡをフラッティング宛先アドレス格メモリ２１１に出力しない。その後、ステップＳ４００に処理が移行する。
【０２０４】
このフローチャートによれば、フラッティング宛先アドレスが抽出される頻度から、優先的に学習させるフラッティング宛先アドレスを判定し、判定結果に基づいて、フラッティング宛先アドレスを優先して学習させることで、効果的フラッティングを抑制することができる。
【実施例３】
【０２０５】
次に、実施例３に係る通信中継装置について説明する。実施例３に係る通信中継装置は、実施例２に示したフラッティング宛先アドレス通知部２１０が出力する宛先アドレスに優先フラグを立て、優先フラグを有する宛先アドレスに一致するＳＡを他の優先学習ＳＡよりも最優先して学習させる。
【０２０６】
なお、本実施例において「優先フラグを有する」とは、フラグ１が立っている状態を示す。一方、フラグ１が立っていない状態を「優先フラグを有しない」として以下説明する。
【０２０７】
また、実施例３に示す通信中継装置３００は、図１０に示した通信中継装置２００とほぼ同等の機能を有し、実施例２で示した通信中継装置２００と同等の機能を有する機能部についての詳細な説明は省略し、通信中継装置３００について以下説明する。
【０２０８】
図１４は、実施例３に係る通信中継装置を説明するための図である。通信インターフェース３０１は、図２に示した通信インターフェース２０１に対応し、例えば、通信中継装置３００に接続されている端末群とフレームの送受信を行うインターフェースを示す。
【０２０９】
そして、通信インターフェース３０１は、物理ポート３０１ａ〜３０１ｚを有する。
【０２１０】
なお、実施例２と同様に、このポートには、物理ポート毎にポート番号を持つ。詳細については、上述した実施例２の物理ポート２０１ａ〜２０１ｚと同様である。
【０２１１】
上り受信側Ｂｕｆｆｅｒ３０２ａ〜３０２ｚは、図１０に示した上り受信側Ｂｕｆｆｅｒ２０２ａ〜２０２ｚに対応し、端末間の処理速度や転送速度を調整するために、端末から受信したフレームを一時的に保存するバッファである。
【０２１２】
そして、上り受信側Ｂｕｆｆｅｒ３０２ａ〜３０２ｚに保存されているフレームには、端末が有する送信元アドレス（Source  Address、以下、単にＳＡとする）とＳＡに対応するポート番号が含まれている。
【０２１３】
ＳＡ抽出部３０３は、図１０に示したＳＡ抽出部２０３に対応し、上述したＢｕｆｆｅｒから、ポート番号とＳＡの抽出をフレーム毎に行い、抽出したポート番号とＳＡを含むフレームを上り送信側インターフェース３０４を介してネットワークに出力する処理部である。
【０２１４】
なお、ＳＡ抽出部３０３が上り受信側Ｂｕｆｆｅｒ３０２ａ〜３０２ｚから抽出したポート番号とＳＡを含むデータを便宜的に「フレームＳ３」として以下説明する。
【０２１５】
上り送信側インターフェース３０４は、図１０に示した上り送信側インターフェース２０４に対応し、ＳＡ抽出部３０３から入力されたフレームＳ３を通信中継装置３００に接続されているネットワークに転送する処理部である。
【０２１６】
学習テーブル制御部３０５は、図１０に示した学習テーブル制御部２０５に対応するもので、フレームＳ３が示すデータが、学習テーブル３０６内に記憶されているか否かを判定し、判定結果に応じて、フレームＳ３に含まれるＳＡとポート番号の学習処理を行う処理部である。
【０２１７】
具体的に、学習テーブル制御部３０５は、フレームＳ３が示すデータが学習テーブル３０６に記憶されているデータのいずれかと一致するかを判定し、一致した場合は、既に学習済みとして、フレームＳ３に含まれるＳＡとポート番号を一致判定部３１２に出力しない。
【０２１８】
一方、学習テーブル３０６に記憶されているデータのいずれにも一致するデータが記憶されていない場合、学習テーブル制御部３０５は、フレームＳ３に含まれるＳＡとポート番号を一致判定部３１２に出力する。
【０２１９】
学習テーブル３０６は、図１０に示した学習テーブル２０６に対応するものであり、図３に示した「ポート番号」と「送信元アドレス」を有し、各ポート番号に対応づけて送信元アドレスが記憶されている。
【０２２０】
下り受信側インターフェース３０７は、図１０に示した下り受信側インターフェース２０７に対応し、端末宛に送信されるフレームを受信するインターフェースを示す。
【０２２１】
ＤＡ抽出部３０８は、図１０に示したＤＡ抽出部２０８に対応するものであり、端末宛に送信されたフレームから宛先アドレス（Destination  Address、以下、単にＤＡとする）の抽出をフレーム毎に行い、抽出したＤＡを送信先検索部３０９と出力先ポート制御部３１６に出力する処理部である。
【０２２２】
なお、ＤＡ抽出部３０８によって抽出されたＤＡを含むデータを便宜的に「フレームＤ３」として以下説明する。
【０２２３】
送信先検索部３０９は、図１０に示した送信先検索部２０９に対応するものであり、フレームＤ３に含まれるデータと一致するデータが学習テーブル３０６に記憶されているか検索を行う処理部である。
【０２２４】
そして、検索の結果、一致するデータを検索した場合に、送信先検索部３０９は、ＤＡに対応するポート番号を含むフレームＤ３を出力先ポート制御部３１６に出力する。
【０２２５】
一方、フレームＤ３に含まれるデータと一致するデータが学習テーブル３０６に記憶されておらず、一致するデータが検索できなかった場合に、送信先検索部３０９は、ＤＡを含むフレームＤ３を未学習端末宛のフレームとして、フラッティング宛先アドレス通知部３１０に出力する。
【０２２６】
なお、下り受信側インターフェース３０７が受信した端末宛のフレームで、学習テーブル３０６に記憶されているＳＡと一致しないＤＡを有するフレームを「未学習端末宛のフレーム」とし、未学習端末宛のフレームに含まれるＤＡを「フラッティング宛先アドレス」として説明する。
【０２２７】
フラッティング宛先アドレス通知部３１０は、所定時間内における未学習端末宛のフレームの発生頻度を判定し、判定結果に基づいて、フレームＤ３に優先フラグを付加し、付加した優先フラグと一緒にフレームＤ３をフラッティング宛先アドレス格納メモリ３１１に出力する通知部である。
【０２２８】
そして、フラッティング宛先アドレス通知部３１０は、ＤＡ記憶部３１０ａと、ＤＡ処理部３１０ｂと、ＤＡ制御部３１０ｃと、監視タイマ３１０ｄと、閾値設定部３１０ｅとを有する。
【０２２９】
ＤＡ記憶部３１０ａは、図１０に示したＤＡ記憶部２１０ａに対応し、送信先検索部３０９から出力された学習端末宛のフレームを記憶する記憶部である。そして、図１１に示した「宛先アドレス」が記憶されている。
【０２３０】
ＤＡ処理部３１０ｂは、図１０に示したＤＡ処理部２１０ｂに対応し、送信先検索部３０９から入力されたフレームＤ３をＤＡ記憶部３１０ａに順々に記憶する処理部である。
【０２３１】
ＤＡ制御部３１０ｃは、予め定められた時間内に、ＤＡ記憶部３１０ａが有する所定の宛先アドレスに対し、記憶されている数を判定し、判定結果に基づき、優先フラグを付加し、フラッティング宛先アドレス格納メモリ３１１に付加した優先フラグと一緒に格納する処理部である。
【０２３２】
監視タイマ３１０ｄは、図１０に示した監視タイマ２１０ｄに対応し、ＤＡ制御部３１０ｃに時間情報を出力する出力部である。そして、この時間情報は、ＤＡ制御部３１０ｃが判定対象とする宛先アドレスの有効時間を示す。
【０２３３】
閾値設定部３１０ｅは、図１０に示した閾値設定部２１０ｅに対応し、未学習端末宛のフレームが発生する頻度を判定する閾値情報をＤＡ制御部３１０ｃに出力する出力部である。
【０２３４】
次に、上述したＤＡ記憶部３１０ａ、ＤＡ処理部３１０ｃ、ＤＡ制御部３１０ｃ、監視タイマ３１０ｄ、閾値設定部３１０ｅを用いて、ＤＡ制御部３１０ｃの処理について説明する。
【０２３５】
例えば、検索対象のフラッティング宛先アドレスを「１０：１１：１２：１３：１４：５」として、監視タイマ３１０ｄに設定されている時間情報を「１０秒」とし、閾値設定部３１０ｅに設定されている閾値情報を「２」とした場合において以下説明する。
【０２３６】
この場合、８秒間に上述した宛先アドレスを４回検索した場合、ＤＡ制御部３１０ｃは、宛先アドレス「１０：１１：１２：１３：１４：５」とポート番号に、優先フラグを付加して、一致判定部３１２に出力する。
【０２３７】
一方、１０秒間に上述した宛先アドレスを２回検索した場合、ＤＡ制御部３１０ｃは、宛先アドレス「１０：１１：１２：１３：１４：５」とポート番号を一致判定部３１２に出力する。この際、出力するデータに優先フラグを付加しない。
【０２３８】
このように、ＤＡ制御部３１０ｃは、監視タイマ３１０ｄが出力する時間情報内に、閾値を越える回数のフラッティング宛先アドレスを検索した場合、優先フラグを付加し、一致判定部３１２に出力する。
【０２３９】
一方、監視タイマ３１０ｄが出力する時間情報内に、閾値を越える回数のフラッティング宛先アドレスを検索しなかった場合、優先フラグを付加しないで、一致判定部３１２に出力する。
【０２４０】
次に、フラッティング宛先アドレス格納メモリ３１１について説明する。フラッティング宛先アドレス格納メモリ３１１は、図１０に示したフラッティング宛先アドレス格納メモリ２１１に対応し「フラッティング宛先アドレス」と「優先フラグ」を有している。この「優先フラグ」は、フラグ１が立っているか否かを示す情報で、詳細については後述する。
【０２４１】
一致判定部３１２は、フレームＳ３に含まれるデータと、フレームＤ３に含まれるデータの一致判定を行い、一致した場合、一致したフレームＤ３に優先フラグが含まれているか否かを判定する。
【０２４２】
そして、優先フラグが含まれている場合、一致判定部３１２は、フレームＤ３に含まれるＤＡと一致するＳＡが最も早く学習されるように優先学習ＳＡ格納メモリ３１４に書込む。
【０２４３】
一方、優先フラグを有しない場合、一致判定部３１２は、上述した処理を行うことなく、フレームＤ３に含まれるＤＡと一致するＳＡを優先学習ＳＡ格納メモリ３１４に書込む。
【０２４４】
以下、実施例３に係る一致判定部３１２が行う処理について、優先学習ＳＡ格納メモリ３１４のデータ構造を示す図を用いて説明する。まず、優先学習ＳＡ格納メモリ３１４をＦＩＦＯで構成した場合を説明し、続いて、優先学習ＳＡ格納メモリ３１４をＲＡＭで構成した場合について説明する。
【０２４５】
なお、フラッティング宛先アドレス格納メモリ３１１に格納されているフラッティング宛先アドレスの一例として、「１０：１１：１２：１３：１４：５」、「Ａ２：Ａ３；Ａ４：Ａ５：Ａ６」を挙げ、「１０：１１：１２：１３：１４：５」に優先フラグが付加されているものとする。
【０２４６】
一致判定部３１２は、判定処理部３１２ａと、フラグ判定部３１２ｂと、書込み制御部３１２ｃを有する。まず、判定処理部３１２ａが、フレームＳ３を学習テーブル制御部３０５から取得し、フレームＤ３をフラッティング宛先アドレス格納メモリ３１１から取得する。
【０２４７】
そして、判定処理部３１２ａは、フレームＤ３とフレームＳ３のデータを比較し、例えば、フラッティング宛先アドレス「１０：１１：１２：１３：１４：５」に一致するＳＡを検索した場合、一致するＳＡとポート番号をフラグ判定部３１２ｂに出力する。
【０２４８】
フラグ判定部３１２ｂは、入力されたＳＡに一致するＤＡに、フラグ１が立っているか否かを判定する。フラグ１が立っている場合、フラグ判定部３１２ｂは、入力されたＳＡが最も早く学習される処理命令を書き込み制御部３１２ｃに行う。
【０２４９】
書き込み制御部３１２ｃは、優先フラグを有するＤＡに一致するＳＡが入力された場合、入力されたＳＡが最も早く学習されるように優先学習ＳＡ格納メモリ３１４に書込みを行う。
【０２５０】
一方、優先フラグを有しないＤＡに一致するＳＡが入力された場合、入力されたＳＡに上述した処理を行うことなく優先学習ＳＡ格納メモリ３１４に書込みを行う。
【０２５１】
上述した書き込み制御部３１２ｃの処理について、優先学習ＳＡ格納メモリ３１４のデータ構造を具体的に挙げ、説明する。図１５は、実施例３に係る優先学習ＳＡ格納メモリをＦＩＦＯで構成した場合のデータ構造の一例を説明するための図である。
【０２５２】
図１５に示した優先学習ＳＡ格納メモリ３１４には、「メモリ番号」、「優先学習ＳＡ」、「ポート番号」が記憶されており、メモリ番号の順に学習テーブル３０６に学習されるデータ構造を有する。
【０２５３】
したがって、メモリ番号１に記憶されている優先学習ＳＡが、メモリ番号２〜Ｎに記憶されている優先学習ＳＡよりも優先して学習テーブル３０６に学習される。
【０２５４】
まず、上述した優先学習ＳＡ「１０：１１：１２：１３：１４：５」が記憶される例について説明する。この場合、優先学習ＳＡ「１０：１１：１２：１３：１４：５」が記憶される前は、ポート番号４４の優先学習ＳＡが学習テーブル３０６に優先して学習されるメモリ番号１に記憶されている。
【０２５５】
そして、書き込み制御部３１２ｃは、フラグ判定部３１２ｂから取得した優先学習ＳＡ「１０：１１：１２：１３：１４：５」をメモリ番号１に割り込ませて記憶させる。その結果、メモリ番号１に記憶されている優先学習ＳＡ「１０：１１：１２：１３：１４：５」が、メモリ番号２以下に記憶されている優先学習ＳＡよりも優先して学習テーブル３０６に学習される。
【０２５６】
一方、書込み制御部３１２ｃは、フラグ判定部３１２ｂから優先フラグを有しない「Ａ２：Ａ３：Ａ４：Ａ５：Ａ６」を取得したら、最も大きいメモリ番号を有するメモリ番号に、取得したデータをポート番号と一緒に記憶させる。
【０２５７】
例えば、メモリ番号４までに優先学習ＳＡが記憶されている場合、書込み制御部３１２ｃは、メモリ番号５に取得したデータを記憶させる。この場合、メモリ番号５に記憶されたデータは、メモリ番号１〜４までに記憶されている優先学習ＳＡが学習テーブル３０６に学習された後、学習テーブル３０６に学習される。
【０２５８】
このように、書込み制御部３１２ｃは、優先フラグを有するデータと一致するＳＡを取得したらメモリ番号１に書込み、優先フラグを有しないデータと一致するＳＡを取得したら、メモリ番号の数が最も大きいメモリ番号へデータを書込む。
【０２５９】
したがって、上述した「最も早く学習される処理命令」とは、例えば、優先学習ＳＡ格納メモリ３１４の先頭のメモリ番号を「１」に定め、メモリ番号１に取得したＳＡを記憶する処理を示す。
【０２６０】
なお、最も早く学習されるメモリ番号を任意に指定しても良く、例えば、メモリ番号１０やメモリ番号２０といったように所定のメモリ番号を指定しても良い。
【０２６１】
例えば、メモリ番号１０が指定された場合は、メモリ番号１０に記憶されている優先学習ＳＡが、他のメモリ番号に記憶されている優先学習ＳＡよりも優先して学習テーブル３０６へ学習される。
【０２６２】
次に、優先学習ＳＡ格納メモリ３１４をＲＡＭで構成した場合について説明する。図１６は、実施例３に係る優先学習ＳＡ格納メモリをＲＡＭで構成した場合のデータ構造を説明するための図である。
【０２６３】
図１６に示した優先学習ＳＡメモリ３１４には、「ポート番号」と「優先学習ＳＡ」と「優先フラグ」を有し、優先フラグに記憶されている「０」は、フラグ１が立っていないことを示し、「１」はフラグ１が立っていることを示している。
【０２６４】
そして、図１６に示すように、ポート番号３３、４６、６０等に対応する優先学習ＳＡが既に記憶されているものとし、一致判定部３１２が、フラッティング宛先アドレス格納メモリ３１１から「１０：１１：１２：１３：１４：５」、「Ａ２：Ａ３：Ａ４：Ａ５：Ａ６」を取得した場合を例に挙げ、「１０：１１：１２：１３：１４：５」に優先フラグが付加されているものとする。
【０２６５】
まず、判定処理部３１２ａが、フレームＳ３を学習テーブル制御部３０５から取得し、取得したフレームＤ３をフラッティング宛先アドレス格納メモリ３１１から取得する。
【０２６６】
そして、判定処理部３１２ａは、フレームＳ３とフレームＤ３に含まれるデータを比較し、例えば、フラッティング宛先アドレス「１０：１１：１２：１３：１４：５」に一致するＳＡ、優先フラグが０もしくは１を示す情報をフラグ判定部３１２ｂに出力する。
【０２６７】
フラグ判定部３１２ｂは、入力されたＳＡに対応するＤＡに優先フラグが付加されているか否かを判定する。そして、上述したようにフラッティング宛先アドレス「１０：１１：１２：１３：１４：５」には、優先フラグが付加されていることから、書き込み制御部３１２ｃに入力されたＳＡを優先フラグ「１」、ポート番号と一緒に出力する。
【０２６８】
そして、書き込み制御部３１２ｃは、フラグ判定部３１２ｂから取得した「１０：１１：１２：１３：１４：５」、ポート番号５０、優先フラグ「１」を優先学習ＳＡ格納メモリ３１４に書込む。
【０２６９】
この場合、図１５に示した例とは異なり、必ずしもメモリ番号１に書込まれることはなく、任意のメモリ番号に書込まれる。図１６に示した例では、メモリ番号５０に「１０：１１：１２：１３：１４：５」が書込まれた例を示す。
【０２７０】
一方、フラグ判定部３１２ｂは、フラッティング宛先アドレス「Ａ２：Ａ３：Ａ４：Ａ５：Ａ６」に一致するＳＡを優先フラグ「０」、ポート番号と一緒に書き込み制御部３１２ｃに出力する。
【０２７１】
そして、書込み制御部３１２ｃは、フラグ判定部３１２ｂから取得した「Ａ２：Ａ３：Ａ４：Ａ５：Ａ６」、優先フラグ「０」、ポート番号「５１」を優先学習ＳＡ格納メモリ３１４に書込む。
【０２７２】
次に、図１４の説明に戻り、優先制御部３１５について説明する。優先制御部３１５は、優先学習ＳＡ格納メモリ３１４をＦＩＦＯで構成した場合とＲＡＭで構成した場合で処理が異なるので、まずＦＩＦＯで構成した場合について説明し、その後、ＲＡＭで構成した場合について説明する。
【０２７３】
まず、優先学習ＳＡ格納メモリ３１４をＦＩＦＯで構成し、最も早く学習テーブル３０６に学習されるメモリ番号を１とした場合について説明する。この場合、優先制御部３１５は、優先学習ＳＡ格納メモリ３１４のメモリ番号１に書込まれている優先学習ＳＡを他の優先学習ＳＡよりも優先して学習テーブル３０６に学習させる。
【０２７４】
また、最も早く学習テーブル３０６に学習されるメモリ番号を任意のメモリ番号に設定した場合、優先制御部３１５は、設定されたメモリ番号に優先学習ＳＡが書込まれているか否かを検索し、優先学習ＳＡが書込まれていた場合、学習テーブル３０６に学習させる。
【０２７５】
続いて、優先学習ＳＡ格納メモリ３１４をＲＡＭで構成した場合の優先制御部３１５の処理について説明する。この場合、優先制御部３１５は、優先学習ＳＡ格納メモリ３１４に記憶されているデータから優先フラグに「１」が記憶されているデータを有するか否かを検索する。
【０２７６】
そして、優先制御部３１５は、優先フラグに「１」を有する優先学習ＳＡを検索した場合、検索した優先学習ＳＡを他の優先学習ＳＡよりも優先して学習テーブル３０６に学習させる。優先フラグに「１」を有する優先学習ＳＡを検索しなかった場合は、他の優先学習ＳＡを学習テーブル３０６に順々に学習させる。
【０２７７】
出力先ポート制御部３１６は、図１０に示した出力先ポート制御部２１６に対応し、送信先検索部３０９から入力されたフレームに基づいて、出力先のポートを決定し、振り分けを行う処理部である。
【０２７８】
下り送信側Ｂｕｆｆｅｒ３１７ａ〜３１７ｚは、図１０に示した下り送信側Ｂｕｆｆｅｒ２１７ａ〜２１７に対応し、端末間の処理速度や転送速度を調整するために、端末宛に送信するフレームを一時的に保存するバッファで、端末宛のＤＡを含むフレームを有する。
【０２７９】
次に、上述したフラッティング宛先アドレス通知部３１０の処理手順について説明する。図１７は、実施例３に係るフラッティング宛先アドレス通知部の処理を示すフローチャートである。
【０２８０】
まず、下り受信側インターフェース３０７が端末宛のフレームを受信した後（ステップＳ５００）、ＤＡ抽出部３０８がステップＳ５００にて受信した端末宛のフレームからフレームＤ３を抽出する（ステップＳ５０１）。
【０２８１】
そして、送信先検索部３０９は、ステップＳ５０１にて抽出されたフレームＤ３と同じデータが学習テーブル３０６に学習されているか否かを判定する（ステップＳ５０２）。学習されている場合（ステップＳ５０３、Ｙｅｓ）、ステップＳ５００に移行する。
【０２８２】
一方、学習されていない場合（ステップＳ５０３、Ｎｏ）、送信先検索部３０９は、ステップＳ５０１にて抽出されたフレームＤ３をＤＡ処理部３１０ｂへ通知する。そして、ＤＡ処理部３１０ｂは、通知されたデータをＤＡ記憶部３１０ａへ出力する（ステップＳ５０４）。
【０２８３】
次に、ＤＡ制御部３１０ｃが、監視タイマ３１０ｄから入力された時間情報の残り時間が「０」でない場合（ステップＳ５０５、Ｎｏ）、ＤＡ記憶部３１０ａの先頭に記憶されているＤＡを検索対象とし、そのＤＡの検索を開始する（ステップＳ５０６）。
【０２８４】
一方、監視タイマ３１０ｄから入力された時間情報の残り時間が「０」である場合（ステップＳ５０５、Ｙｅｓ）、ステップＳ５００へ移行する。
【０２８５】
そして、ＤＡ制御部３１０ｃは、ステップＳ５０６にて検索したＤＡの回数を確認し（ステップＳ５０７）、検索したＤＡの回数が閾値設定部３１０ｅから入力された閾値情報を超えているか否かを判定する（ステップＳ５０８）。
【０２８６】
ＤＡ制御部３１０ｃは、閾値が超えていると判定した場合（ステップＳ５０９、Ｙｅｓ）、ＤＡ制御部３１０ｃは、判定対象となったフレームＤ３に優先フラグを付加し（ステップＳ５１０）、フラッティング宛先アドレス格納メモリ３１１に出力する（ステップＳ５１１）。
【０２８７】
一方、閾値を越えていないと判定した場合（ステップＳ５０９、Ｎｏ）、ＤＡ制御部３１０ｃは、判定対象となったフレームＤ３をフラッティング宛先アドレス格納メモリ３１１に優先フラグを付加しないで出力する（ステップＳ５１１）。
【０２８８】
次に、優先学習ＳＡ格納メモリをＦＩＦＯで構成した場合の一致判定部３１２の処理手順について説明する。図１８は、優先学習ＳＡ格納メモリをＦＩＦＯで構成した場合の一致判定部の処理を示すフローチャートである。
【０２８９】
まず、端末から送信されたフレームを通信インターフェース３０１が受信する（ステップＳ６００）。そして、ＳＡ抽出部３０３が、ステップＳ６００にて受信したフレームからＳＡとポート番号を抽出する（ステップＳ６０１）。
【０２９０】
そして、一致判定部３１２は、フラッティング宛先アドレス格納メモリ３１１に格納されているＤＡと、ステップＳ６０１にて抽出したＳＡが一致するかの判定を行い、一致した場合（ステップＳ６０２、Ｙｅｓ）、一致したＳＡに対応するフラッティング宛先アドレスが優先フラグを有するか否かを判定する（ステップＳ６０３）。
【０２９１】
優先フラグを有する場合（ステップＳ６０４、Ｙｅｓ）、一致判定部３１２は、優先学習ＳＡ格納メモリ３１４から最も早く学習されるメモリ番号を検索する（ステップＳ６０５）。
【０２９２】
そして、一致判定部３１２は、ステップＳ６０５にて検索したメモリ番号にステップＳ６０１で抽出されたＳＡとポート番号を書込む（ステップＳ６０７）。
【０２９３】
一方、優先フラグを有しない場合（ステップＳ６０４、Ｎｏ）、ステップＳ６０１にて取得したＳＡとポート番号を優先学習ＳＡ格納メモリ３１４へ書込む（ステップＳ６０６）。
【０２９４】
次に、優先学習ＳＡ格納メモリ３１４をＲＡＭで構成した場合の優先制御部３１５の処理手順について説明する。図１９は、優先学習ＳＡ格納メモリをＲＡＭで構成した場合の優先制御部の処理を示すフローチャートである。
【０２９５】
まず、優先制御部３１５は、学習テーブル３０６のメモリ容量に基づき、学習テーブル３０６に、ＳＡを学習させることが可能か否かについて判定する（ステップＳ７０１）。
【０２９６】
そして、学習テーブル３０６に新たなＳＡを学習させる場合（ステップＳ７０２、Ｙｅｓ）、学習テーブル３０６への学習要求を受付ける（ステップＳ７０３）。
【０２９７】
そして、優先制御部３１５は、優先学習ＳＡ格納メモリ３１４にデータが書込まれている場合（ステップＳ７０４、Ｙｅｓ）、優先フラグを有するデータが記憶されているか否かを判定する（ステップＳ７０５）。
【０２９８】
そして、優先フラグを有するデータが記憶されている場合（ステップＳ７０６、Ｙｅｓ）、優先フラグを有するＤＡに対応する優先学習ＳＡを学習テーブル３０６に学習させる（ステップＳ７０７）。
【０２９９】
一方、優先フラグを有するデータが記憶されていない場合（ステップＳ７０６、Ｎｏ）、優先学習ＳＡ格納メモリ３１４に記憶されている優先学習ＳＡが学習テーブル３０６に学習される（ステップＳ７０８）。
【０３００】
また、優先学習ＳＡ格納メモリ３１４にデータが記憶されていない場合（ステップＳ７０４、Ｎｏ）、優先制御部３１５は、学習要求待ち合わせＦＩＦＯ３１３に記憶されているＳＡを学習テーブル３０６に学習させる（ステップＳ７０９）。
【０３０１】
次に、上述した実施例３に示した通信中継装置３００を使用した場合の効果について説明する。まず、従来技術との差異を説明するために、上述した通信中継装置５０が有するＰｏｒｔ１の出力レートを例に挙げて説明する。
【０３０２】
まず、通信中継装置５０の前提条件について説明する。通信中装置５０は、入出力の物理Ｐｏｒｔをそれぞれ８Ｐｏｒｔ備えているものとし、全パケットに対するＳＡが学習テーブル５６に未学習の状態である。そして、通信インターフェース５１に以下に示す順序で各パケットが到着したものとする。
【０３０３】
時間０：到着パケット無し、時間１：Ｐｏｒｔ１にパケット（１）到着、時間２：Ｐｏｒｔ２にパケット（２）到着、時間３：Ｐｏｒｔ３にパケット（３）到着、時間４：Ｐｏｒｔ４にパケット（４）到着、時間５：Ｐｏｒｔ５にパケット（５）到着、時間６：Ｐｏｒｔ６にパケット（６）到着、時間７：Ｐｏｒｔ７にパケット（７）到着、時間８：Ｐｏｒｔ８にパケット（８）到着といった順序で到着する。
【０３０４】
また、通信中継装置５０の下りの受信側の入力レートは、以下の図２０に示す。図２０は、入力レートを説明するための図である。図２０のテーブル８０に示すように、Ｐｏｒｔ１宛の入力レートは１０ＭＢ／Ｓとし、以下、Ｐｏｒｔ２宛：２０ＭＢ／Ｓ、Ｐｏｒｔ３宛：３０ＭＢ／Ｓ、Ｐｏｒｔ４宛：４０ＭＢ／Ｓ、Ｐｏｒｔ５宛：５０ＭＢ／Ｓ、Ｐｏｒｔ６宛：６０ＭＢ／Ｓ、Ｐｏｒｔ７宛：７０ＭＢ／Ｓ、Ｐｏｒｔ８宛：８０ＭＢ／Ｓとする。したがって、通信中継装置５０の入力レートの合計は３６０ＭＢになる。
【０３０５】
そして、下りの受信側には、時間ごとに各Ｐｏｒｔ宛のパケットが入力されるものとし、下り送信側の出力Ｐｏｒｔの帯域は１００ＭＢ／Ｓとする。上述した条件のもと、時間別の下りの送信側の出力レートについて、Ｐｏｒｔ１を例に挙げて説明する。
【０３０６】
なお、学習要求待ち合わせＦＩＦＯ５５内には上述した以外のパケットの送信元アドレスが格納されている状態とする。
【０３０７】
図２１は、従来技術におけるＰｏｒｔ１宛の出力レートを説明するための図である。図２１のテーブル８１に示すように、パケット（１）〜（８）の到着順に、通信中継装置５０は、学習処理を行うことから、学習テーブル５６に学習される順番は、パケット（１）が最も早く学習され、パケット（８）がパケット（１）〜（８）の中では一番遅く学習される。
【０３０８】
この場合、時間０においては、全Ｐｏｒｔが未学習のため、パケット（１）〜（８）がフラッティングする。したがって、Ｐｏｒｔ１からパケット（１）〜（８）が出力される。
【０３０９】
その結果、Ｐｏｒｔ１の出力レート１００ＭＢ／Ｓに対して、３６０ＭＢ／Ｓのデータ入力がＰｏｒｔ１に発生する。この結果、下り送信側の出力Ｐｏｒｔ１では、２６０ＭＢのデータが破棄されてしまう。
【０３１０】
続いて、時間１では、パケット（１）に含まれるＳＡとポート番号が学習され、Ｐｏｒｔ１からパケット（１）が出力することになる。この場合、パケット（１）〜（８）がＰｏｒｔ１から出力される。
【０３１１】
その結果、Ｐｏｒｔ１の出力レート１００ＭＢ／Ｓに対して、３６０ＭＢ／Ｓのデータ入力がＰｏｒｔ１に発生する。この結果、下り送信側の出力Ｐｏｒｔ１では、２６０ＭＢのデータが破棄されてしまう。
【０３１２】
続いて、時間２では、パケット（１）と（２）に含まれるＳＡとポート番号が学習され、Ｐｏｒｔ１からパケット（１）が出力し、Ｐｏｒｔ２からパケット（２）が出力することになる。この場合、パケット（１）と、パケット（３）〜（８）がＰｏｒｔ１から出力される。
【０３１３】
その結果、Ｐｏｒｔ１の出力レート１００ＭＢ／Ｓに対して、Ｐｏｒｔ１宛の入力レート１０ＭＢ／Ｓと、Ｐｏｒｔ３宛〜Ｐｏｒｔ８宛の入力レート３３０ＭＢ／Ｓの合計３４０ＭＢ／ＳのデータがＰｏｒｔ１に発生し、下り送信側の出力Ｐｏｒｔ１では、２４０ＭＢのデータが破棄されてしまう。
【０３１４】
続いて、時間３では、パケット（１）〜（３）に含まれるＳＡとポート番号が学習され、Ｐｏｒｔ１からパケット（１）が出力し、Ｐｏｒｔ２からパケット（２）が出力し、Ｐｏｒｔ３からパケット（３）が出力することになる。この場合、パケット（１）と、パケット（４）〜（８）がＰｏｒｔ１から出力される。
【０３１５】
その結果、Ｐｏｒｔ１の出力レート１００ＭＢ／Ｓに対して、Ｐｏｒｔ１宛の入力レート１０ＭＢ／Ｓと、Ｐｏｒｔ４宛〜Ｐｏｒｔ８宛の入力レート３００ＭＢ／Ｓの合計３１０ＭＢ／ＳのデータがＰｏｒｔ１に発生し、下り送信側の出力Ｐｏｒｔ１では、２１０ＭＢのデータが破棄されてしまう。
【０３１６】
続いて、時間４では、パケット（１）〜（４）に含まれるＳＡとポート番号が学習され、Ｐｏｒｔ１からパケット（１）、Ｐｏｒｔ２からパケット（２）、Ｐｏｒｔ３からパケット（３）、Ｐｏｒｔ４からパケット（４）が出力することになる。この場合、パケット（１）と、パケット（５）〜（８）がＰｏｒｔ１から出力される。
【０３１７】
その結果、Ｐｏｒｔ１の出力レート１００ＭＢ／Ｓに対して、Ｐｏｒｔ１宛の入力レート１０ＭＢ／Ｓと、Ｐｏｒｔ５宛〜Ｐｏｒｔ８宛の入力レート２６０ＭＢ／Ｓの合計２７０ＭＢ／ＳのデータがＰｏｒｔ１に発生し、下り送信側の出力Ｐｏｒｔ１では、１７０ＭＢのデータが破棄されてしまう。
【０３１８】
続いて、時間５では、パケット（１）〜（５）に含まれるＳＡとポート番号が学習され、Ｐｏｒｔ１からパケット（１）、Ｐｏｒｔ２からパケット（２）、Ｐｏｒｔ３からパケット（３）、Ｐｏｒｔ４からパケット（４）、Ｐｏｒｔ５からパケット（５）が出力することになる。この場合、パケット（１）と、パケット（６）〜（８）がＰｏｒｔ１から出力される。
【０３１９】
その結果、Ｐｏｒｔ１の出力レート１００ＭＢ／Ｓに対して、Ｐｏｒｔ１宛の入力レート１０ＭＢ／Ｓと、Ｐｏｒｔ６宛〜Ｐｏｒｔ８宛の入力レート２１０ＭＢ／Ｓの合計２２０ＭＢ／ＳのデータがＰｏｒｔ１に発生し、下り送信側の出力Ｐｏｒｔ１では、１２０ＭＢのデータが破棄されてしまう。
【０３２０】
続いて、時間６では、パケット（１）〜（６）に含まれるＳＡとポート番号が学習され、Ｐｏｒｔ１からパケット（１）、Ｐｏｒｔ２からパケット（２）、Ｐｏｒｔ３からパケット（３）、Ｐｏｒｔ４からパケット（４）、Ｐｏｒｔ５からパケット（５）、Ｐｏｒｔ６からパケット（６）が出力することになる。この場合、パケット（１）と、パケット（７）〜（８）がＰｏｒｔ１から出力される。
【０３２１】
その結果、Ｐｏｒｔ１の出力レート１００ＭＢ／Ｓに対して、Ｐｏｒｔ１宛の入力レート１０ＭＢ／Ｓと、Ｐｏｒｔ７宛〜Ｐｏｒｔ８宛の入力レート１５０ＭＢ／Ｓの合計１６０ＭＢ／ＳのデータがＰｏｒｔ１に発生し、下り送信側の出力Ｐｏｒｔ１では、６０ＭＢのデータが破棄されてしまう。
【０３２２】
続いて、時間７では、パケット（１）〜（７）に含まれるＳＡとポート番号が学習され、Ｐｏｒｔ１からパケット（１）、Ｐｏｒｔ２からパケット（２）、Ｐｏｒｔ３からパケット（３）、Ｐｏｒｔ４からパケット（４）、Ｐｏｒｔ５からパケット（５）、Ｐｏｒｔ６からパケット（６）、Ｐｏｒｔ７からパケット（７）が出力することになる。この場合、パケット（１）と、パケット（８）がＰｏｒｔ１から出力される。
【０３２３】
その結果、Ｐｏｒｔ１の出力レート１００ＭＢ／Ｓに対して、Ｐｏｒｔ１宛の入力レート１０ＭＢ／Ｓと、Ｐｏｒｔ８宛の入力レート８０ＭＢ／Ｓの合計９０ＭＢ／ＳのデータがＰｏｒｔ１に発生し、下り送信側の出力Ｐｏｒｔ１で破棄されるデータはない。
【０３２４】
このように、従来の通信中継装置５０において、下り送信側の出力Ｐｏｒｔ１で破棄されるデータがなくなるのは、時間７である。そして、時間７までには破棄されるパケットは合計１３２０ＭＢになる。
【０３２５】
次に、上述した実施例３に示した通信中継装置３００を使用して、本実施例に示す効果について説明する。まず、実施例の効果について説明する上での前提条件について以下説明する。
【０３２６】
図２２は、発明の効果を説明するための前提条件を示す図である。上述した通信中継装置３００が有するＰｏｒｔ１の出力レートを例に挙げて説明する。そして、通信中装置３００は、ネットワーク１に接続され、入出力の物理Ｐｏｒｔをそれぞれ８Ｐｏｒｔ備えているものとし、全パケットに対するＳＡとポート番号が学習テーブル３０６に未学習の状態である。
【０３２７】
そして、通信インターフェース３０１に対して以下に示す順序で各パケットが到着したものとする。なお、説明の便宜上、図２２に示した通信装置３００には、Ｐｏｒｔ１からＰｏｒｔ８を上下に記載しているが、いずれも同一Ｐｏｒｔを示すものとする。
【０３２８】
時間０：到着パケット無し、時間１：Ｐｏｒｔ１にパケット（１）到着、時間２：Ｐｏｒｔ２にパケット（２）到着、時間３：Ｐｏｒｔ３にパケット（３）到着、時間４：Ｐｏｒｔ４にパケット（４）到着、時間５：Ｐｏｒｔ５にパケット（５）到着、時間６：Ｐｏｒｔ６にパケット（６）到着、時間７：Ｐｏｒｔ７にパケット（７）到着、時間８：Ｐｏｒｔ８にパケット（８）到着といった順序で到着する。
【０３２９】
また、通信中継装置３００の下りの受信側の入力レートは、図２７にて説明した入力レートと同じ値を有するものとする。このような条件のもと、実施例３に示す通信中継装置３００を使用した場合の効果について説明する。
【０３３０】
図２３は、実施例の効果を説明するための図である。実施例３に示した通信中継装置３００を使用した場合、下り受信側入力レートが高いほどフレームのフラッディング頻度が多くなる為、優先度の高いフラッディング宛先アドレスとして抽出される。
【０３３１】
したがって、Ｐｏｒｔ１からＰｏｒｔ８宛の入力レートにおいては、Ｐｏｒｔ８宛入力レートが８０ＭＢ／Ｓであるから、パケット（８）のフラッディング頻度が多くなる為、パケット（８）に含まれるＤＡと一致するＳＡが優先度の高いフラッディング宛先アドレスとして抽出される。
【０３３２】
そして、抽出されたＳＡはフラッディング宛先アドレス格納メモリ３１１へ格納され、
一致判定部３１２の処理により、パケット（８）に対応するＳＡが優先学習ＳＡ格納メモリ３１４に書込まれる。
【０３３３】
そして、他のＳＡよりも優先的に学習テーブル３０６へ学習される。以下、下り受信側入力レートが示す高い順番にＳＡが学習されるとすると、パケット（８）、（７）、（６）、（５）、（４）、（３）、（２）、（１）の順番に学習されることになる。
【０３３４】
その結果、下り出力側Ｐｏｒｔ１の出力レート１００ＭＢ／Ｓを超えることがなくなる時間は「４」となり、そして、時間４までにＰｏｒｔ１で破棄されるパケットの合計６００ＭＢになる。
【０３３５】
以上より、従来技術では、下り出力側Ｐｏｒｔ１の出力レート１００ＭＢ／Ｓを超えることがなくなるのが時間７まで掛かっていたのに対し、時間４で出力レート１００ＭＢ／Ｓになり、破棄されるパケットが１３２０ＭＢに対し、６００ＭＢになる。
【０３３６】
したがって、実施例３に示す通信中継装置３００を使用することで、より早くフラッティングを抑制することができ、さらに、破棄されるパケットを少なくすることができる。
【０３３７】
ところで、通信中継装置の学習テーブルに書き込まれる以前に抽出された他フレームの学習要求が全て学習テーブルへ登録されるまでの間に時間が掛かってしまった場合、待ち合わせている間に未学習端末宛のフレームが連続して発生する。
【０３３８】
この場合、フラッディングによって余剰トラフィックが増大し帯域を圧迫する。帯域の圧迫により、Ｐｏｒｔ毎に持つ帯域が転送可能な量を超えた場合にフレームが破棄されるということがある。
【０３３９】
具体的に図を用いて説明する。図２４は、フレームの破棄について説明するための図である。図２４に示した帯域４００の使用例として、ユニキャストフレームの転送で使用する帯域を最優先とし、残りの帯域を未学習端末宛のフレームの転送に使用する。
【０３４０】
例えば、１００ＭＢ転送可能な帯域に対してユニキャストフレームの転送に７０ＭＢを使用している場合、残りの帯域３０ＭＢを未学習端末宛のフレームの転送に使用可能となる。
【０３４１】
そして、Ｐｏｒｔに３０ＭＢの帯域を使用する２つの異なる未学習端末宛のフレームとして、フレームＡとフレームＢが連続して送信されたとする。なお、フレームＡはＰｏｒｔに接続されている端末Ａ宛のフレームとして、フレームＢは端末Ａ以外の端末宛フレームとする。
【０３４２】
そして、残りの帯域は、３０ＭＢしか空いていないのでフレームＡ、フレームＢどちらかのフレームが帯域を使用すると、帯域を使用しなかったフレームは転送可能な帯域の量を超えるため破棄される。
【０３４３】
その結果、帯域４００の残りの３０ＭＢを使用したフレームがフレームＢで、破棄されたフレームがフレームＡの場合、本来端末Ａ宛てに転送すべきフレームＡが破棄されてしまう。
【０３４４】
上述した場合において、例えば、実施例１で示した通信中継装置１００が、フラッティングしているアドレスを一早く学習テーブル１０６に学習させることで、接続関係にある端末間のみフレームを転送させることができる。
【０３４５】
例えば、図２４に示したフレームＢに対応するＳＡを優先して学習テーブル１０６に学習させれば、フラッディングは抑制され、フレームＢは接続先のＰｏｒｔ以外に転送されることはなくなるので、図２４に示したフレームＡが残りの帯域を使用することができる。
【０３４６】
次に、連続する学習要求に耐久を持たせる為に学習要求を待ち合わせるＦＩＦＯを具備しているが、ＦＩＦＯに格納可能な数は有限である為、学習要求が連続した場合にＦＩＦＯの容量がＦＵＬＬになることがある。
【０３４７】
例えば、この状態で学習要求が発生すると、フラッディングを抑制する未学習の送信元アドレスを抽出しても、学習要求が破棄されてしまうというがある。
【０３４８】
具体的に図を用いて説明する、図２５は学習要求の破棄を説明するための図である。図２５に示した記憶部５５ａの容量はメモリ番号１〜メモリ番号２に記憶される容量とした場合、フレームＣを記憶させようとしても、記憶させる容量がなく、フレームＣは破棄されてしまう。
【０３４９】
この場合においても、フラッディングを抑制する未学習の送信元アドレスであるか判定を行い、優先的に学習テーブルへ学習させる送信元アドレスのみを格納し、学習テーブル学習させることで、学習要求の破棄を防止することが可能となる。
【符号の説明】
【０３５０】
１  ネットワーク
８０、８１、８２  テーブル
１００、２００、３００  通信中継装置  
５１、１０１、２０１、３０１  通信インターフェース
５１ａ〜５１ｚ、１０１ａ〜１０１ｚ、２０１ａ〜２０１ｚ、３０１ａ〜３０１ｚ  物理ポート
５２ａ〜５２ｚ、１０２ａ〜１０２ｚ、２０２ａ〜２０２ｚ、３０２ａ〜３０２ｚ  上り受信側Ｂｕｆｆｅｒ  
５３、１０３、２０３、３０３  ＳＡ抽出部
５４、１０４、２０４、３０４  上り送信側インターフェース
５５、１１３、２１３、３１３  学習要求待ち合わせＦＩＦＯ
５６、１０６、２０６、３０６  学習テーブル
５７、１０５、２０５、３０５  学習テーブル制御部
５８、１０７、２０７、３０７  下り受信側インターフェース
５９、１０８、２０８、３０８  ＤＡ抽出部
６０、１０９、２０９、３０９  送信先検索部
６１、１１６、２１６、３１６  出力先ポート制御部
６２ａ〜６２ｚ、１１７ａ〜１１７ｚ、２１７ａ〜２１７ｚ、３１７ａ〜３１７ｚ  下り送信側Ｂｕｆｆｅｒ  
１１０、２１０、３１０  フラッティング宛先アドレス通知部
１１１、２１１、３１１  フラッティング宛先アドレス格納メモリ
１１２、２１２、３１２  一致判定部
５５ａ、１１３ａ、２１３ａ、３１３ａ  記憶部
１１３ｂ、２１３ｂ、３１３ｂ  処理部
１１４、２１４、３１４  優先学習ＳＡ格納メモリ
１１５、２１５、３１５  優先制御部
２１０ａ、３１０ａ  ＤＡ記憶部
２１０ｂ、３１０ｂ  ＤＡ処理部
２１０ｃ、３１０ｃ  ＤＡ制御部
２１０ｄ、３１０ｄ  監視タイマ
２１０ｅ、３１０ｅ  閾値設定部
３１２ａ  判定処理部
３１２ｂ  フラグ判定部
３１２ｃ  書込み制御部
４００  帯域
【図１】
2011015094.tif 000003
【図２】
2011015094.tif 000004
【図３】
2011015094.tif 000005
【図４】
2011015094.tif 000006
【図５】
2011015094.tif 000007
【図６】
2011015094.tif 000008
【図７】
2011015094.tif 000009
【図８】
2011015094.tif 000010
【図９】
2011015094.tif 000011
【図１０】
2011015094.tif 000012
【図１１】
2011015094.tif 000013
【図１２】
2011015094.tif 000014
【図１３】
2011015094.tif 000015
【図１４】
2011015094.tif 000016
【図１５】
2011015094.tif 000017
【図１６】
2011015094.tif 000018
【図１７】
2011015094.tif 000019
【図１８】
2011015094.tif 000020
【図１９】
2011015094.tif 000021
【図２０】
2011015094.tif 000022
【図２１】
2011015094.tif 000023
【図２２】
2011015094.tif 000024
【図２３】
2011015094.tif 000025
【図２４】
2011015094.tif 000026
【図２５】
2011015094.tif 000027
【図２６】
2011015094.tif 000028
【図２７】
2011015094.tif 000029
【図２８】
2011015094.tif 000030
【図２９】
2011015094.tif 000031