(57)【要約】【課題】回線速度が高速な場合や処理が複雑な場合であっても、廃棄なしにパケット転送でき、アドレス学習処理のような付加処理も効率的に行えること。【解決手段】パケット転送先を判定する転送先判定処理を含む必須処理と、入力されたパケットのアドレスを学習するアドレス学習処理を含む付加処理とを実行するパケット転送装置において、入力されたパケットのパケット長に基づいて、当該パケットの転送処理所要時間を求める転送処理時間算出手段１３と、前記必須処理の実実行時間を測定するタイマー１４と、前記求められた転送処理所要時間と前記測定された実実行時間との差時間に応じて当該パケットについての前記付加処理の実行の有無を決定する学習処理可否判定手段１５とを備える。【選択図】        図２
2006295550.tif 000002
【特許請求の範囲】
【請求項１】
パケット転送先を判定する転送先判定処理を含む必須処理と、入力されたパケットのアドレスを学習するアドレス学習処理を含む付加処理とを実行するパケット転送装置において、
入力されたパケットのパケット長に基づいて、当該パケットの転送処理所要時間を求める転送処理時間算出手段と、
前記必須処理の実実行時間を測定する実行時間測定手段と、
前記求められた転送処理所要時間と前記測定された実実行時間との差時間に応じて当該パケットについての前記付加処理の実行の有無を決定する付加処理実行判定手段と、
を備えることを特徴とするパケット転送装置。
【請求項２】
パケット転送先を判定する転送先判定処理を含む必須処理と、入力されたパケットのアドレスを学習するアドレス学習処理を含む付加処理とを実行するパケット転送装置において、
入力された転送パケットを一旦蓄積するバッファと、
前記バッファの残容量を計測し、この計測値に基づいて当該パケットについての前記付加処理の実行の有無を決定する付加処理実行判定手段と、
を備えることを特徴とするパケット転送装置。
【請求項３】
パケット転送先を判定する転送先判定処理を含む必須処理と、入力されたパケットのアドレスを学習するアドレス学習処理を含む付加処理とを実行するパケット転送装置において、
乱数を発生させる乱数発生手段と、
乱数発生手段から発生された乱数値が予め設定した1つ以上の所定値と一致した場合にのみ前記付加処理を実行させるよう前記付加処理の実行の有無を決定する付加処理実行判定手段と、
を備えることを特徴とするパケット転送装置。
【請求項４】
パケット転送先を判定する転送先判定処理を含む必須処理と、入力されたパケットのアドレスを学習するアドレス学習処理を含む付加処理とを実行するパケット転送装置において、
パケットの種別を判定するパケット種別判定手段と、
パケット種別判定手段の判定結果に応じて前記付加処理の実行の有無を決定する付加処理実行判定手段と、
を備えることを特徴とするパケット転送装置。
【請求項５】
前記付加処理を、実施したパケットアドレス情報が記憶されるメモリ手段と、
前記メモリ手段に記憶されたパケットアドレス情報を検索することにより、前記付加処理実行判定手段により実行すると判定された付加処理が、実施済みか否かを判定し、実施済みである場合は前記付加処理実行判定手段による付加処理の実行を禁止させる付加処理実施済み判定手段と、
をさらに備える事を特徴とする請求項１〜４の何れか一つに記載のパケット転送装置。
【請求項６】
前記パケットアドレス情報は、パケットアドレス情報に対応するハッシュ値として前記メモリ手段に記憶されることを特徴とする請求項５に記載のパケット転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブリッジやＬ２スイッチ，Ｌ３スイッチなどのような、パケット（またはフレーム）を転送するパケット転送装置に関するものである。
【背景技術】
【０００２】
ブリッジやＬ２スイッチ，Ｌ３スイッチなどのような、パケット（またはフレーム）を転送するパケット転送装置においては、パケットのヘッダ情報に含まれる送信先アドレスなどを元にアドレステーブル検索を行い、この検査結果に基づいてパケットを適切な方路へ転送すると共に、パケット受信時に送信元アドレスを学習するアドレス学習を行っている。パケット転送装置で行われる処理は、パケット転送処理のように必ず行わなければならない必須処理と、アドレス学習のように必ずしも行う必要のない付加処理とに分けられる。
【０００３】
このようなパケット転送装置において、回線速度が高速な場合や処理が複雑な場合には、パケットの所要転送時間内に処理が完了出来ず、パケット廃棄が発生する。このような処理時間に起因するパケット廃棄は、従来は、処理エンジンを複数持つ事で対応していた。
【０００４】
また、非特許文献１には、ｎ番目のフレーム転送処理の時にのみＭＡＣアドレス学習を行う（例えば３個おきのフレームだけを学習する）ことで、ブリッジ負荷を削減することが記載されている。
【０００５】
【非特許文献１】Rich Seifert著 間宮あきら訳、「ＬＡＮスイッチング徹底解説」日経ＢＰ社,２００１年８月６日、Ｐ.６４〜６５
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、回線速度が高速な場合や処理が複雑な場合であっても廃棄なしにパケット転送を行うために、処理エンジンを複数持つ事で対応すると、装置がコスト高になるという問題がある。また、非特許文献１に示される方法では、コストの問題は回避出来るが、単純にｎ個おきのフレームだけを学習するようにしているので、特定の送信元がｎ個おきに登場するようなトラフィックパターンがあった場合、同じ送信元ＭＡＣアドレスの学習処理を繰り返してしまうため、効率的にＭＡＣアドレス学習が実施出来ないという問題がある。
【０００７】
本発明は、上記に鑑みてなされたものであって、回線速度が高速な場合や処理が複雑な場合であっても、廃棄なしにパケット転送でき、アドレス学習処理のような付加処理も効率的に行えるパケット転送装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、パケット転送先を判定する転送先判定処理を含む必須処理と、入力されたパケットのアドレスを学習するアドレス学習処理を含む付加処理とを実行するパケット転送装置において、入力されたパケットのパケット長に基づいて、当該パケットの転送処理所要時間を求める転送処理時間算出手段と、前記必須処理の実実行時間を測定する実行時間測定手段と、前記求められた転送処理所要時間と前記測定された実実行時間との差時間に応じて当該パケットについての前記付加処理の実行の有無を決定する付加処理実行判定手段とを備えることを特徴とする。
【発明の効果】
【０００９】
この発明によれば、パケット長から当該パケットの転送処理所要時間を求めるとともに転送先判定処理の実実行時間を測定し、転送処理所要時間と測定された転送先判定処理の実実行時間との差時間に応じてＭＡＣアドレス学習などの付加処理を実行するか否かを決定するようにしているので、必ずＭＡＣアドレス学習などの付加処理を実施する場合に比べ、パケットの廃棄が少なくなるとともに、安価なコストパフォーマンスの良いシステムが構成できる。さらに、特定のアドレスについての学習ばかりを行うことにならず、効率的にアドレス学習を行うことができる。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明にかかるパケット転送装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１および図２にしたがって本発明の実施の形態１について説明する。実施の形態１では、本発明をレイヤ２スイッチあるいはブリッジに適用している。
【００１２】
図１はｎ入力ｎ出力のレイヤ２スイッチ（Ｌ２スイッチ）の構成を示すブロック図である。このレイヤ２スイッチは、物理層の処理を行う複数のＬ１処理部１（１1〜１n）と、主にデータリンク層の処理を行う複数のＬ２処理部２（２1〜２n）と、入力されたフレームをＬ２処理部２の指示に従い所望の宛先ポートにスイッチングするスイッチ部３とを備えている。Ｌ１処理部１およびＬ２処理部２は、複数のポート＃１〜＃ｎ毎に設けられている。Ｌ２処理部はＬ２受信処理部４とＬ２送信処理部５から構成されている。
【００１３】
図１を用いて、Ｌ２スイッチの基本的な動作について説明する。ポートから入力されたフレームは、Ｌ１処理部１で物理的な電気レベル変換、フレーム抽出等が実施され、抽出したＬ２フレームをＬ２処理部２のＬ２受信処理部４に通知する。Ｌ２受信処理部４では、Ｌ２フレームのヘッダ情報等から転送先を決定し、スイッチ部３にフレームを転送する。スイッチ部３では、Ｌ２処理部２の指示に従い所望のポートのＬ２処理部２のＬ２送信処理部５にフレームを転送する。Ｌ２送信処理部５では、送信に必要なヘッダ情報等付加しＬ１処理部１にフレームを出力する。Ｌ１処理部１では、電気レベルの変換等を行って、フレームをポートに出力する。
【００１４】
図２はＬ２スイッチにおけるＬ２受信処理部４の内部構成を示す機能ブロック図である。図２において、Ｌ２受信処理部４は、転送テーブル１１と、転送先判定手段１２と、転送処理時間算出手段１３と、タイマー１４と、学習処理可否判定手段１５と、ＭＡＣアドレス学習手段１６とを備えている。
【００１５】
転送テーブル１１には、ＭＡＣアドレスと、ポート＃１〜＃ｎを識別するためのポート番号との対応関係が登録されている。転送テーブル１１の登録データは、ＭＡＣアドレス学習手段１６によるＭＡＣアドレス学習によって作成される。
【００１６】
転送先判定手段１２は、Ｌ１処理部１から入力されたフレームの送信先ＭＡＣアドレス(MAC DA)をキーに転送テーブル１１を検索し、ヒットしたＭＡＣアドレスに対応するポート番号を転送先として判定する。転送先判定手段１２で行われる転送先判定処理が特許請求の範囲で云うところの必須処理に含まれる。また、転送先判定手段１２は入力されたフレームのフレーム長を求め、求めたフレーム長を転送処理時間算出手段１３に通知する。
【００１７】
転送処理時間算出手段１３は、転送先判定手段１２から通知されたフレーム長から、当該フレームについての転送処理に割り当てられる時間、すなわち当該フレームについての転送処理を実行するために必要な時間である転送処理所要時間を計算し、計算した転送処理所要時間を学習処理可否判定手段１５に通知する。タイマー１４は、転送先判定手段１２での転送先判定処理に要する時間を計測し、計測した時間を学習処理可否判定手段１５に通知する。
【００１８】
学習処理可否判定手段１５は、転送処理時間算出手段１３からの転送処理所要時間と、タイマー１４からの計測時間との差に応じて、ＭＡＣアドレス学習を行うかどうか判定する。ＭＡＣアドレス学習手段１６は、フレームのヘッダ情報に含まれる送信元ＭＡＣアドレス(MAC SA)を用いてアドレス学習を行う。ＭＡＣアドレス学習手段１６で行われるＭＡＣアドレス学習処理が特許請求の範囲で云うところの付加処理に含まれる。
【００１９】
次に動作について説明する。Ｌ１処理部１からのＭＡＣフレームが転送先判定手段１２に通知されると、転送先判定手段１２は、送信先ＭＡＣアドレス（MAC DA）をキーに転送テーブル１１を検索する。検索結果すなわち送信先ＭＡＣアドレスに対応するポート番号が求まった場合は、その結果に従って転送するように学習処理可否判定手段１５に通知する。転送テーブル１１に該当エントリが無くミスヒットになった場合、転送先判定手段１２は入力ポート以外にマルチキャスト(フラッディング)するように学習処理可否判定手段１５に通知する。
【００２０】
また、転送先判定手段１２は、同時に、入力されたフレームのフレーム長を求め、このフレーム長を転送処理時間算出手段１３に通知する。転送処理時間算出手段１３は、転送先判定手段１２から通知されたフレーム長から、当該フレームについての転送処理を実行するために必要な時間である転送処理所要時間を計算し、計算した転送処理所要時間を学習処理可否判定手段１５に通知する。
【００２１】
一方、タイマー１４は、転送先判定手段１２から処理開始の通知を受けると、処理時間の計測動作を開始し、転送先判定手段１２からの終了通知で計測を停止する。そして、計測時間を学習処理可否判定手段１５に通知する。
【００２２】
学習処理可否判定手段１５は、転送処理時間算出手段１３からの転送処理所要時間から、タイマー１４からの計測時間を減算して、その差時間（残り時間）を求め、この残り時間に基づいてＭＡＣアドレス学習を実施するか否かを判定する。すなわち、残り時間が予め設定した所定の閾値以上あって、残り時間が十分あると判定される場合は、ＭＡＣアドレス学習手段１６にＭＡＣアドレス学習を指示するが、残り時間が閾値よりも小さくて、残り時間が不十分であると判定される場合は、そのフレームはＭＡＣアドレス学習を行わせずにスイッチ部３に直接送信する。学習処理可否判定手段１５は、ＭＡＣアドレス学習を行う場合は、ＭＡＣアドレス学習を行う旨の指示信号、ポート番号（マルチキャスト指示の場合もある）およびそのフレームをＭＡＣアドレス学習手段１６に出力する。
【００２３】
ＭＡＣアドレス学習手段１６は、学習処理可否判定手段１５からＭＡＣアドレス学習を行う旨の指示信号が入力された場合は、フレーム中の送信元ＭＡＣアドレス(MAC SA)をキーに転送テーブル１１を検索する。ヒットしかつ転送先のポート番号が受信したポートと一致した場合は、単に当該フレームおよび転送先情報をスイッチ部３に送信する。ミスヒットまたは、検索結果のポート番号が受信したポート番号と不一致の場合は、送信元ＭＡＣアドレス(MAC SA)と入力ポートの情報を転送テーブル１１に登録(更新)し、その後、そのフレームおよび転送先情報をスイッチ部３に送信する。
【００２４】
このように実施の形態１によれば、フレーム長から当該フレームの転送処理所要時間を求めるとともに転送先判定処理の実実行時間を測定し、転送処理所要時間と測定された転送先判定処理の実実行時間との差時間に応じてＭＡＣアドレス学習を実行するか否かを決定するようにしているので、必ずＭＡＣアドレス学習を実施する場合に比べ、パケットの廃棄が少なくなるとともに、安価なコストパフォーマンスの良いシステムが構成できる。さらに、特定のＭＡＣアドレスについての学習ばかりを行うことにならず、効率的にＭＡＣアドレス学習を行うことができる。
【００２５】
なお、実施の形態１では、Ｌ２スイッチに本発明を適用するようにしたが、Ｌ３スイッチ，Ｌ４スイッチなどのようなパケットまたはフレームを転送する装置であれば、本発明を適用可能である。また、請求の範囲でいうところのパケットとは、小さな単位に分割されたデータ単位の総称であり、フレームもパケットの概念に含まれるものとする。
【００２６】
また、実施の形態１では、必須処理として転送先を求める転送先判定処理、付加的な処理としてＭＡＣアドレス学習を例としたが、必須処理として転送先判定処理以外のものを含めるようにしてもよく、また付加処理としてＭＡＣアドレス学習以外のものを含めるようにしてもよい。
【００２７】
また、上記では、付加処理が１つの例で説明したが、２つ以上複数あっても適用可能である。ただし、付加的な処理が複数ある場合は、学習処理可否判定手段１５の判定が、単に付加的処理を実施するかどうかだけでなく、全ての付加的処理が実施出来ない場合、どの処理を選択するかという判断も行う必要がある。この判断は、付加的処理に優先度を設定し、その優先順で決定する方法等が考えられる。例えば、下記例のような場合で、残りの処理に費やせる時間が２５msecあった場合は、付加処理ａ,ｃ,ｄを選択するような方法である。
優先度１：付加処理ａ（処理時間１０msec）
優先度２：付加処理ｂ（処理時間３０msec）
優先度３：付加処理ｃ（処理時間５msec）
優先度４：付加処理ｄ（処理時間１０msec）
優先度５：付加処理ｅ（処理時間５msec）
(優先度の値が小さい方が、優先度高)
【００２８】
実施の形態２．
図３にしたがって本発明の実施の形態２について説明する。図３は、実施の形態２の機能ブロックを示すものであり、図１のＬ２受信処理部４に相当するブロックである。図３において、転送テーブル１１，転送先判定手段１２およびＭＡＣアドレス学習手段１６は、先の図２に示したものと同様の機能を実行する。すなわち、転送テーブル１１には、ＭＡＣアドレスと、ポート＃１〜＃ｎを識別するためのポート番号との対応関係が登録されている。転送先判定手段１２は、Ｌ１処理部１から入力されたフレームの送信先ＭＡＣアドレス(MAC DA)をキーに転送テーブル１１を検索し、その検索結果を学習処理可否判定手段２４に出力する。ＭＡＣアドレス学習手段１６は、学習処理可否判定手段２４からの指令に応じて、フレームのヘッダ情報に含まれる送信元ＭＡＣアドレス(MAC SA)を用いたアドレス学習を行う。
【００２９】
この実施の形態２においては、入力されたフレームを一時蓄積するバッファ２１を設け、このバッファ２１の残容量を計測し、この計測値に応じて当該フレームについてのＭＡＣアドレス学習を行うか否かを決定している。
【００３０】
バッファ２１は、所定の記憶容量を有する例えばＦＩＦＯであり、Ｌ１処理部１から入力されたフレームを一時記憶する。蓄積量カウント手段２２は、バッファ２１に現在蓄積されているフレーム数をカウントし、そのカウント結果を蓄積量判定手段２３に出力する。
【００３１】
蓄積量判定手段２３は、バッファ２１のバッファ量(既知、フレームの蓄積可能量)から、蓄積量判定手段２３のカウント結果を減算することにより、バッファ２１の残容量を計算する。蓄積量判定手段２３は、このバッファ残容量からＭＡＣアドレス学習に割り当て可能な時間を求め、該求めた割り当て可能時間を学習処理可否判定手段２４に出力する。蓄積量判定手段２３でのＭＡＣアドレス学習に割り当てられる時間の求め方としては、様々考えられるが、例えばバッファの残量値を入力ポートの実効帯域（実効レート）で割って求める方法が考えられる。
【００３２】
学習処理可否判定手段２４は、蓄積量判定手段２３から入力されたＭＡＣアドレス学習に割り当てられる時間に基づいてＭＡＣアドレス学習を行うかどうか判定する。
【００３３】
次に動作について説明する。Ｌ１処理部１からのＭＡＣフレームは、バッファ２１に一旦蓄積される。転送先判定手段１２は、バッファ２１からフレームを読み出し、送信先ＭＡＣアドレス（MAC DA）をキーに転送テーブル１１を検索する。検索結果すなわち送信先ＭＡＣアドレスに対応するポート番号が求まった場合は、その結果に従って転送するように学習処理可否判定手段１５に通知する。転送テーブル１１に該当エントリが無くミスヒットになった場合、転送先判定手段１２は入力ポート以外にマルチキャスト(フラッディング)するように学習処理可否判定手段１５に通知する。
【００３４】
一方、蓄積量カウント手段２２はバッファ２１が保持しているフレーム数をカウントし、そのカウント結果を蓄積量判定手段２３に通知する。蓄積量判定手段２３は、バッファ２１のバッファ量(既知)から、蓄積量判定手段２３のカウント結果を減算することにより、バッファ２１の残容量を計算し、このバッファ残容量からＭＡＣアドレス学習に割り当て可能な時間を求め、該求めた割り当て可能時間を学習処理可否判定手段２４に出力する。
【００３５】
学習処理可否判定手段２４は、蓄積量判定手段２３から入力されたＭＡＣアドレス学習に割り当てられる時間に基づいてＭＡＣアドレス学習を行うかどうか判定する。すなわち、ＭＡＣアドレス学習に割り当てられる時間が予め設定した所定の閾値以上あって、ＭＡＣアドレス学習に割り当てられる時間が十分あると判定される場合は、ＭＡＣアドレス学習手段１６にＭＡＣアドレス学習を指示するが、ＭＡＣアドレス学習に割り当てられる時間が閾値よりも小さくて、ＭＡＣアドレス学習に割り当てられる時間が不十分であると判定される場合は、そのフレームはＭＡＣアドレス学習を行わせずにスイッチ部３に直接送信する。
【００３６】
ＭＡＣアドレス学習手段１６は、学習処理可否判定手段１５からＭＡＣアドレス学習を行う旨の指示信号が入力された場合は、フレーム中の送信元ＭＡＣアドレス(MAC SA)をキーに転送テーブル１１を検索する。ヒットしかつ転送先のポート番号が受信したポートと一致した場合は、単に当該フレームおよび転送先情報をスイッチ部３に送信する。ミスヒットまたは、検索結果のポート番号が受信したポート番号と不一致の場合は、送信元ＭＡＣアドレス(MAC SA)と入力ポートの情報を転送テーブル１１に登録し、その後、そのフレームおよび転送先情報をスイッチ部３に送信する。
【００３７】
このように実施の形態２では、バッファ２１の残容量が所定の閾値以上残っている場合は、そのフレームについてのＭＡＣアドレス学習を実効させ、バッファ２１の残容量が所定の閾値未満しか残っていない場合は、そのフレームについてのＭＡＣアドレス学習を省略するようにしている。したがって、実施の形態２によれば、必ずＭＡＣアドレス学習を実施する場合に比べ、パケットの廃棄が少なくなるとともに、安価なコストパフォーマンスの良いシステムが構成できる。また、特定のＭＡＣアドレスについての学習ばかりを行うことにならず、効率的にＭＡＣアドレス学習を行うことができる。さらに、バッファにフレームを蓄積するため、処理時間が平均化される(フレーム長が長いパケットの余分な時間を短いフレームに分配する事が可能)ため、より効率的にＭＡＣ学習処理を実施することができる。
【００３８】
なお、上記では、バッファ２１をＬ２受信処理部４の入り口に配置したが、バッファ２１を転送先判定手段１２と学習処理可否判定手段２４の間に配置しても良い。また、上記では、バッファ２１はフレーム自体を蓄積するものとしたが、ＭＡＣ学習処理に必要な情報（送信元ＭＡＣアドレス(MAC SA)と入力ポートの情報）のみを蓄積し、フレームをスイッチ部３に転送した後に、ＭＡＣアドレス学習を実施する構成としてもよい。
【００３９】
また、実施の形態２をＬ２スイッチ以外のＬ３スイッチ，Ｌ４スイッチなどのようなパケットまたはフレームを転送する任意の装置に適用するようにしてもよい。また、実施の形態２においても、必須処理として転送先判定処理以外のものを含めるようにしてもよく、また付加処理としてＭＡＣアドレス学習以外のものを含めるようにしてもよい。また、実施の形態２を、上記と同様に、付加処理が複数ある場合に適用するようにしてもよい。
【００４０】
実施の形態３．
図４に従ってこの発明の実施の形態３について説明する。図４は、実施の形態３の機能ブロックを示すものであり、図１のＬ２受信処理部４に相当するブロックである。図４において、転送テーブル１１，転送先判定手段１２およびＭＡＣアドレス学習手段１６は、先の図２に示したものと同様の機能を実行する。すなわち、転送テーブル１１には、ＭＡＣアドレスと、ポート＃１〜＃ｎを識別するためのポート番号との対応関係が登録されている。転送先判定手段１２は、Ｌ１処理部１から入力されたフレームの送信先ＭＡＣアドレス(MAC DA)をキーに転送テーブル１１を検索し、その検索結果を学習処理可否判定手段３２に出力する。ＭＡＣアドレス学習手段１６は、学習処理可否判定手段３２からの指令に応じて、フレームのヘッダ情報に含まれる送信元ＭＡＣアドレス(MAC SA)を用いたアドレス学習を行う。
【００４１】
この実施の形態３においては、ＭＡＣアドレス学習を、乱数発生手段３１から出力された乱数に基づいてランダムな周期で実行する。乱数発生手段３１は乱数を発生させ、発生された乱数値を学習処理可否判定手段３２に出力する。学習処理可否判定手段３２は、乱数発生手段３１から入力された乱数値を予め設定された１〜複数の所定値と比較し、この比較結果が一致した場合に、ＭＡＣアドレス学習手段１６によるＭＡＣアドレス学習を行わせる。
【００４２】
例えば、乱数発生手段３１から「１」〜「１０」の乱数を発生させた場合、学習処理可否判定手段３２においては、入力された乱数を例えば数値「２」および「５」と比較する。そして、学習処理可否判定手段３２においては、入力された乱数値が数値「２」または「５」と一致した場合は、当該フレームについてのＭＡＣアドレス学習を行わせ、不一致の場合は、当該フレームについてのＭＡＣアドレス学習を省略させる。この場合、平均的（大局的）には１／５の確率でＭＡＣアドレス学習が行われるが、乱数を用いているので、局所的には、ランダムな周期でＭＡＣアドレス学習が行われることになる。
【００４３】
このようにこの実施の形態３においては、ＭＡＣアドレス学習をランダムな周期で行うようにしているので、特定の送信元がｎ個おきに登場するようなトラフィックパターンがあった場合でも、効率的にＭＡＣアドレス学習を実施することができる。
【００４４】
なお、実施の形態３をＬ２スイッチ以外のパケットまたはフレームを転送する任意の装置に適用するようにしてもよい。また、実施の形態３においても、必須処理として転送先判定処理以外のものを含めるようにしてもよく、また付加処理としてＭＡＣアドレス学習以外のものを含めるようにしてもよい。また、実施の形態３を付加処理が複数ある場合に適用するようにしてもよい。
【００４５】
実施の形態４．
図５に従ってこの発明の実施の形態４について説明する。図５は、実施の形態４の機能ブロックを示すものであり、図１のＬ２受信処理部４に相当するブロックである。図４において、転送テーブル１１，転送先判定手段１２およびＭＡＣアドレス学習手段１６は、先の図２に示したものと同様の機能を実行する。すなわち、転送テーブル１１には、ＭＡＣアドレスと、ポート＃１〜＃ｎを識別するためのポート番号との対応関係が登録されている。転送先判定手段１２は、Ｌ１処理部１から入力されたフレームの送信先ＭＡＣアドレス(MAC DA)をキーに転送テーブル１１を検索し、その検索結果を学習処理可否判定手段３２に出力する。ＭＡＣアドレス学習手段１６は、学習処理可否判定手段３２からの指令に応じて、フレームのヘッダ情報に含まれる送信元ＭＡＣアドレス(MAC SA)を用いたアドレス学習を行う。
【００４６】
この実施の形態４においては、ＭＡＣアドレス学習を、パケット種別（例えば、通信開始、通信中、通信終了などの通信時期を示すパケット種別）を識別し、この識別結果に基づいて、例えば通信開始時のパケットなどの一部の特定のパケットのみにＭＡＣアドレス学習を実行させる。
【００４７】
パケット種別判定手段４１は、フレームの種別あるいはフレーム中のパケットの種類によってＭＡＣアドレス学習を実施するかどうかを判定し、その判定結果を学習処理可否判定手段４２に出力する。例えば、Ｌ２フレームの上位階層のＬ３やＬ４のパケットのヘッダ情報を用いてＭＡＣアドレス学習の有無を判定する。例えば、上位のプロトコルがＴＣＰのように、そのヘッダ情報を見るだけで、通信の開始、通信中の中間、通信終了などの通信時期状態がわかる場合は、そのヘッダ情報を判別することで、通信の開始時のみＭＡＣアドレス学習を実施するような判断を行う。
【００４８】
学習処理可否判定手段４２は、パケット種別判定手段４１からの判別結果に基づいて、転送先判定手段１２から入力されたフレームに対しＭＡＣアドレス学習手段１６でＭＡＣアドレス学習を実施させるか、あるいはそのままスイッチ部３に転送するかを決めて、決定した処理を行う。
【００４９】
このように実施の形態４においては、フレームあるいはパケット種別を判別し、判別したパケットが所定のフレーム種別あるいはパケット種別である場合にのみ、ＭＡＣアドレス学習を行うようにしているので、特定の送信元がｎ個おきに登場するようなトラフィックパターンがあった場合でも、効率的にＭＡＣアドレス学習を実施することができる。
【００５０】
なお、上記では、パケット種別を、ＴＣＰにおける通信開始、通信中、通信終了などの通信時期状態に基づいて判別するようにしたが、ＴＣＰ以外の他の上位プロトコルによって、通信時期状態を判別するようにしてもよい。また、通信時期状態に限らず、他の種別を持ってパケット種別を判別するようにしてもよい。
【００５１】
なお、実施の形態４をＬ２スイッチ以外のパケットまたはフレームを転送する任意の装置に適用するようにしてもよい。また、実施の形態４においても、必須処理として転送先判定処理以外のものを含めるようにしてもよく、また付加処理としてＭＡＣアドレス学習以外のものを含めるようにしてもよい。また、実施の形態４を付加処理が複数ある場合に適用するようにしてもよい。
【００５２】
実施の形態５．
図６に従ってこの発明の実施の形態５について説明する。この実施の形態５においては、先の図２に示す実施の形態１の構成に、実施済み処理キャシュ５１および学習処理実施済み判定手段５２を追加するようにしている。この実施の形態５では、ＭＡＣアドレス学習を実施するか否かの判断基準として、先の実施の形態１の判断基準の他に、最近ＭＡＣアドレス学習を行った送信元ＭＡＣアドレスについてはＭＡＣアドレス学習を実施しないという判断基準を追加する。
【００５３】
実施済み処理キャシュ５１は、ＭＡＣアドレス学習を最近実施した送信元ＭＡＣアドレス（MAC SA）を保持するメモリであり、送信元ＭＡＣアドレス（MAC SA）を所定個数記憶できる所定の容量を有している。
【００５４】
学習処理実施済み判定手段５２は、ＭＡＣアドレス学習手段１６によるＭＡＣアドレス学習が行われた時は、その送信元ＭＡＣアドレス（MAC SA）を実施済み処理キャッシュ５１に登録する登録処理を行う。この登録処理の際に、実施済み処理キャッシュ５１が満杯の場合は、古いエントリを削除して新しいエントリを登録する。なお、学習処理実施済み判定手段５２は、実施済み処理キャッシュ５１に対しエージング処理(ある一定時間毎にエントリを削除)を実施するようにしてもよい。
【００５５】
また、学習処理実施済み判定手段５２は、学習処理可否判定手段１５でＭＡＣアドレス学習を行うと判定されたフレームに含まれる送信元ＭＡＣアドレス（MAC SA）について実施済み処理キャッシュ５１を検索し、同一送信元ＭＡＣアドレス（MAC SA）が登録されているか否かを判定することにより、当該フレームに含まれる送信元ＭＡＣアドレス（MAC SA）が最近、ＭＡＣアドレス学習を行ったか否かを判断する。その判断結果は、学習処理可否判定手段１５に入力される。
【００５６】
学習処理可否判定手段１５は、前述したように、転送処理時間算出手段１３からの転送処理所要時間と、タイマー１４からの計測時間とに基づいてＭＡＣアドレス学習を実施すると判定されたフレームについて、学習処理実施済み判定手段５２からの判定結果に基づいてＭＡＣアドレス学習を行うか否かを決定する。すなわち、ＭＡＣアドレス学習を実施すると判定されたフレームについて、学習処理実施済み判定手段５２から学習済みではないの判定結果が入力された場合は、ＭＡＣアドレスを行い、学習処理実施済み判定手段５２から学習済みの判定結果が入力された場合は、ＭＡＣアドレスを行わないようにする。
【００５７】
このように、実施の形態５では、フレーム長から求めた転送処理所要時間と測定された転送先判定処理の実実行時間との差時間に応じてＭＡＣアドレス学習を実行するか否かを判定し、この判定によりＭＡＣアドレス学習を実施すると判定されたフレームについても、既に学習済みの判定結果が入力された場合は、ＭＡＣアドレス学習を行わないようにしているので、先の実施の形態１の効果に加え、無駄な学習処理が減って、効率的な転送処理が行えるという効果を有する。
【００５８】
なお、上記では、実施の形態１の判断基準に対し、最近ＭＡＣアドレス学習を行った送信元ＭＡＣアドレスについてはＭＡＣアドレス学習を実施しないという判断基準を追加するようにしたが、実施の形態２〜４の何れかの判断基準に、最近ＭＡＣアドレス学習を行った送信元ＭＡＣアドレスについてはＭＡＣアドレス学習を実施しないという判断基準を追加するようにしてもよい。
【００５９】
実施の形態６．
図７に従ってこの発明の実施の形態６について説明する。この実施の形態６においては、先の図６に示す実施の形態５の構成に、ハッシュ（Hash）計算手段６０を追加している。この実施の形態６では、送信元ＭＡＣアドレス（MAC SA）の代わりに、送信元ＭＡＣアドレス（MAC SA）に対応するハッシュ値を実施済み処理キャシュ５１に記憶することで、より少ないメモリ量で同じエントリ数が保持出来るようにしている。実施の形態６においても、実施の形態５と同様、ＭＡＣアドレス学習を実施するか否かの判断基準として、先の実施の形態１の判断基準の他に、最近ＭＡＣアドレス学習を行った送信元ＭＡＣアドレスについてはＭＡＣアドレス学習を実施しないという判断基準を追加するようにしている。
【００６０】
実施済み処理キャシュ５１は、ＭＡＣアドレス学習を最近実施した送信元ＭＡＣアドレス（MAC SA）に対応するハッシュ値を保持するメモリであり、送信元ＭＡＣアドレス（MAC SA）に対応するハッシュ値を所定個数記憶できる所定の容量を有している。
【００６１】
学習処理実施済み判定手段５２は、ＭＡＣアドレス学習手段１６によるＭＡＣアドレス学習が行われた時は、その送信元ＭＡＣアドレス（MAC SA）をハッシュ計算手段６０に出力する。ハッシュ計算手段６０は、入力された送信元ＭＡＣアドレス（MAC SA）に対応するハッシュ値を計算し、計算したハッシュ値を実施済み処理キャッシュ５１に登録する登録処理を行う。
【００６２】
また、学習処理実施済み判定手段５２は、実施済み処理キャッシュ５１の検索を行う際には、学習処理可否判定手段１５でＭＡＣアドレス学習を行うと判定されたフレームに含まれる送信元ＭＡＣアドレス（MAC SA）をハッシュ計算手段６０に出力する。ハッシュ計算手段６０は、入力された送信元ＭＡＣアドレス（MAC SA）に対応するハッシュ値を計算し、計算されたハッシュ値を用いて実施済み処理キャッシュ５１を検索し、同一ハッシュ値が登録されているか否かを判定することにより、当該フレームに含まれる送信元ＭＡＣアドレス（MAC SA）が最近、ＭＡＣアドレス学習を行ったか否かを判断する。その判断結果は、学習処理実施済み判定手段５２を介して学習処理可否判定手段１５に入力される。
【００６３】
学習処理可否判定手段１５は、前述したように、転送処理時間算出手段１３からの転送処理所要時間と、タイマー１４からの計測時間とに基づいてＭＡＣアドレス学習を実施すると判定されたフレームについて、学習処理実施済み判定手段５２からの判定結果に基づいてＭＡＣアドレス学習を行うか否かを決定する。すなわち、ＭＡＣアドレス学習を実施すると判定されたフレームについて、学習処理実施済み判定手段５２から学習済みではないかの判定結果が入力された場合は、ＭＡＣアドレスを行い、学習処理実施済み判定手段５２から学習済みの判定結果が入力された場合は、ＭＡＣアドレスを行わないようにする。
【００６４】
このように、実施の形態６では、送信元ＭＡＣアドレス（MAC SA）に対応するハッシュ値を実施済み処理キャシュ５１に記憶するようにしているので、実施に形態５に比べ、より少ないメモリ量で同じエントリ数が保持でき、コストパフォーマンスも更に向上できる。ただし、ハッシュ値を使用しているため、低い確率であるが異なるMAC SAの値であっても同一ハッシュ値になる競合が発生する。その場合はＭＡＣアドレス学習を実施していないMAC SAでも実施済みと認識するが、ＭＡＣアドレス学習は付加的な処理で、必須処理でないため、誤認識は大きな問題にはならない。
【００６５】
なお、送信元ＭＡＣアドレス（MAC SA）に対応するハッシュ値を実施済み処理キャシュ５１に記憶し、この記憶情報を検索することにより、最近ＭＡＣアドレス学習を行った送信元ＭＡＣアドレスについてはＭＡＣアドレス学習を実施しないという上記の判断基準を、先の実施の形態２〜４の何れかの判断基準に、追加するようにしてもよい。
【産業上の利用可能性】
【００６６】
以上のように、本発明にかかるパケット転送装置は、Ｌ２スイッチ、Ｌ３スイッチなどのパケット（フレーム）を転送する装置に有用である。
【図面の簡単な説明】
【００６７】
【図１】本発明のパケット転送装置の一例を示すブロック図である。
【図２】Ｌ２受信処理部の実施の形態１の構成を示す機能ブロック図である。
【図３】Ｌ２受信処理部の実施の形態２の構成を示す機能ブロック図である。
【図４】Ｌ２受信処理部の実施の形態３の構成を示す機能ブロック図である。
【図５】Ｌ２受信処理部の実施の形態４の構成を示す機能ブロック図である。
【図６】Ｌ２受信処理部の実施の形態５の構成を示す機能ブロック図である。
【図７】Ｌ２受信処理部の実施の形態６の構成を示す機能ブロック図である。
【符号の説明】
【００６８】
１  Ｌ１処理部
２  Ｌ２処理部
３  スイッチ部
４  受信処理部
５  送信処理部
１１  転送テーブル
１２  転送先判定手段
１３  転送処理時間算出手段
１４  タイマー
１５  学習処理可否判定手段
１６  ＭＡＣアドレス学習手段
２１  バッファ
２２  蓄積量カウント手段
２３  蓄積量判定手段
２４  学習処理可否判定手段
３１  乱数発生手段
３２  学習処理可否判定手段
４１  パケット種別判定手段
４２  学習処理可否判定手段
５１  実施済み処理キャシュ
５２  学習処理実施済み判定手段
６０  ハッシュ計算手段
【図１】
2006295550.tif 000003
【図２】
2006295550.tif 000004
【図３】
2006295550.tif 000005
【図４】
2006295550.tif 000006
【図５】
2006295550.tif 000007
【図６】
2006295550.tif 000008
【図７】
2006295550.tif 000009