(57)【要約】【課題】未学習の宛先アドレスを持つフレームのフラッディングにより他のトラヒックが被る影響を軽減する。【解決手段】フレーム転送装置２は、アドレスとポートとが対応付けられて記憶される記憶部３２と、フレームを受信する受信部１０と、受信フレームの宛先アドレスに基づいて出力ポートを決定するスイッチ部１１と、決定された出力ポートから受信フレームを送信する送信部１０を備える。スイッチ部１１は、受信フレームの宛先アドレスが記憶部３２に記憶されていないとき受信フレームを複製する複製部３０と、複製されるフレームの出力レートを制御するレート制御部３５を備える。【選択図】図３
2014082536.tif 000002
【特許請求の範囲】
【請求項１】
アドレスとポートとが対応付けられて記憶される記憶部と、
フレームを受信する受信部と、
受信フレームの宛先アドレスに基づいて出力ポートを決定するスイッチ部と、
決定された前記出力ポートから受信フレームを送信する送信部と、
を備え、
前記スイッチ部は、
受信フレームの宛先アドレスが前記記憶部に記憶されていないとき前記受信フレームを複製する複製部と、
複製されるフレームの出力レートを制御するレート制御部と、
を備えることを特徴とするフレーム転送装置。
【請求項２】
前記レート制御部は、受信フレームのうち前記複製部が複製を行うフレームのレートを制御することを特徴とする請求項１に記載のフレーム転送装置。
【請求項３】
前記スイッチ部は、宛先アドレスが前記記憶部に記憶されていない受信フレームを、フレームのヘッダに含まれるフロー識別子に応じて複数のフローに振り分ける振分部を備え、
前記レート制御部は、前記フロー毎にレート制御を行うことを特徴とする請求項１又は２に記載のフレーム転送装置。
【請求項４】
前記レート制御部及び前記複数のフローをそれぞれ第１レート制御部及び複数の第１フローとし、
前記振分部は、フレームのヘッダに含まれるフロー識別子に応じて受信フレームを複数の第２フローに振り分け、
前記スイッチ部は、宛先アドレスが前記記憶部に記憶されている受信フレームと、前記第１レート制御部により廃棄されなかった第１フローの受信フレームと、の両方を含むいずれかの前記第２フローのレートを制御する第２レート制御部を備えることを特徴とする請求項３に記載のフレーム転送装置。
【請求項５】
前記振分部は、複数の異なるフロー識別子をヘッダに含む受信フレームを、同一の前記フローに振り分けることを特徴とする請求項３に記載のフレーム転送装置。
【請求項６】
前記振分部は、複数の異なるポートで受信された受信フレームを、同一の前記フローに振り分けることを特徴とする請求項３又は５に記載のフレーム転送装置。
【請求項７】
前記レート制御部は、前記複製部における受信フレームの複製数に応じて、前記出力レートを制御する請求項１〜６のいずれか一項に記載のフレーム転送装置。
【請求項８】
前記スイッチ部は、フレームのヘッダで指定された優先度を該ヘッダに含まれるフロー識別子に応じて変換する変換部を備え、
前記レート制御部は、変換された優先度に応じて前記出力レートを制御する請求項１〜７のいずれか一項に記載のフレーム転送装置。
【請求項９】
フレーム転送装置におけるフレーム転送方法であって、
前記フレーム転送装置は、
アドレスとポートとが対応付けられて記憶される記憶部と、
フレームを受信する受信部と、
受信フレームの宛先アドレスに基づいて出力ポートを決定するスイッチ部と、
決定された前記出力ポートから受信フレームを送信する送信部と、
を備え、
受信フレームの宛先アドレスが前記記憶部に記憶されていないとき、前記受信フレームを複製し、
複製されるフレームの出力レートを制御する、ことを特徴とするフレーム転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で論じられる実施態様は、フレーム転送装置及びフレーム転送方法に関する。
【背景技術】
【０００２】
通信パケットや通信フレームを転送するフレーム転送装置は、未学習の宛先アドレスを持つフレームを受信すると、フレームをコピーして、フレームを受信した受信ポートを除く全ポートから出力する。このような処理は「フラッディング」と呼ばれる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１１４７２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
フレーム転送装置が、未学習の宛先アドレスを持つフレームを大量に受信すると、それぞれがコピーされて複数のポートから出力されるため通信装置内、またはネットワーク内に輻輳状態が発生する。この結果、学習済みの宛先アドレスを持つフレームの転送が影響を被る。
【０００５】
本明細書に開示される装置又は方法は、未学習の宛先アドレスを持つフレームのフラッディングにより他のトラヒックが被る影響を軽減することを目的とする。
【課題を解決するための手段】
【０００６】
装置の一観点によれば、フレーム転送装置が与えられる。フレーム転送装置は、アドレスとポートとが対応付けられて記憶される記憶部と、フレームを受信する受信部と、受信フレームの宛先アドレスに基づいて出力ポートを決定するスイッチ部と、決定された出力ポートから受信フレームを送信する送信部を備える。スイッチ部は、受信フレームの宛先アドレスが記憶部に記憶されていないとき受信フレームを複製する複製部と、複製されるフレームの出力レートを制御するレート制御部を備える。
【発明の効果】
【０００７】
本明細書に開示される装置又は方法によれば、未学習の宛先アドレスを持つフレームのフラッディングにより他のトラヒックが被る影響が軽減される。
【図面の簡単な説明】
【０００８】
【図１】通信ネットワークの一例の構成図である。
【図２】フレーム転送装置のハードウエア構成の一例の説明図である。
【図３】フレーム転送装置の第１実施例の機能構成図である。
【図４】（Ａ）及び（Ｂ）はＭＡＣ(Media Access Control)フレームのフレームフォーマットの例の説明図である。
【図５】装置内フレームのフレームフォーマットの一例の説明図である。
【図６】ＭＡＣテーブルの一例の説明図である。
【図７】フローテーブルの第１例の説明図である。
【図８】（Ａ）は第１設定テーブルの第１例の説明図であり、（Ｂ）は第２設定テーブルの第１例の説明図である。
【図９】スイッチ回路の動作の一例の説明図である。
【図１０】フローテーブルの第２例の説明図である。
【図１１】フレーム転送装置の第２実施例の機能構成図である。
【図１２】フローテーブルの第３例の説明図である。
【図１３】クラス変換テーブルの一例の説明図である。
【図１４】（Ａ）は第１設定テーブルの第２例の説明図であり、（Ｂ）は第２設定テーブルの第２例の説明図である。
【発明を実施するための形態】
【０００９】
＜１．第１実施例＞
以下、添付する図面を参照して好ましい実施例について説明する。図１は、通信ネットワークの一例の構成図である。通信ネットワーク１には、フレーム転送装置２ａ〜２ｆと、ユーザ端末装置３ａ〜３ｉが配置されている。フレーム転送装置２ａ〜２ｆは、例えば通信パケットや通信フレームを送受信する通信装置や、データ転送を行うサーバ装置などであってよい。以下の説明及び図面において、フレーム転送装置２ａ〜２ｆを総称して「フレーム転送装置２」と表記することがある。ユーザ端末装置３ａ〜３ｉを総称して「ユーザ端末装置３」と表記することがある。
【００１０】
フレーム転送装置２は、ユーザ端末装置３から送信されるフレームを受信し、フレーム内に格納されたアドレス情報に基づいて指定された宛先にフレームを転送する。ユーザ端末装置３から送信されるフレームは、例えば、ＭＡＣフレームやＩＰ(Internet Protocol)パケットである。ユーザ端末装置３がＭＡＣフレームを送信する場合、フレーム転送装置２はＭＡＣフレーム内に格納されたＭＡＣアドレスに基づいてフレームの転送処理を行う。ユーザ端末装置３がＩＰパケットを送信する場合、フレーム転送装置２はＩＰパケット内に格納されたＩＰアドレスに基づいてフレームの転送処理を行う。
【００１１】
以下の説明では、フレーム転送装置２により転送されるフレームがＭＡＣフレームである場合の例示を使用する。但しこの例示は、本明細書に記載されるフレーム転送装置が、ＭＡＣフレームを転送する装置のみに限定して適用されることを意図するものではない。本明細書に記載されるフレーム転送装置は、フレーム内に格納された何らかの宛先情報に基づいてフレーム転送処理を行うフレーム転送装置に広く適用可能である。
【００１２】
図２は、フレーム転送装置２のハードウエア構成の一例の説明図である。フレーム転送装置２は、回線インタフェースカード１０ａ〜１０ｄ…と、スイッチ回路１１と、制御回路１２を備える。以下の説明及び図面において、インタフェース及びスイッチをそれぞれ「ＩＦ」及び「ＳＷ」と表記することがある。また、回線ＩＦカード１０ａ〜１０ｄ…を総称して回線ＩＦカード１０と表記することがある。
【００１３】
回線ＩＦカード１０は、回線ポート＃１〜＃１０を収容し、外部装置とのインタフェース機能を持ち、受信フレーム処理及び送信フレーム処理を行う回路である。回線ＩＦカード１０は、着脱可能なモジュールやカードとして提供されてよい。なお、本明細書では、各回線ＩＦカード１０が１０本の回線ポート＃１〜＃１０を収容する例示を使用するが、回線ＩＦカード１０が収容するポート数は１０個以外であってもよい。また、各回線ＩＦカード１０の収容ポート数は互いに異なっていても全て同じであってもよい。
【００１４】
ＳＷ回路１１は、フレーム転送装置２内において回線ＩＦカード１０とデータ回線で接続され、回線ＩＦカード１０間のフレーム転送のスイッチ処理、すなわち方路決定処理を行う。ＳＷ回路１１は、着脱可能なモジュールやカードとして提供されてよい。
【００１５】
制御回路１２は、フレーム転送装置２内で回線ＩＦカード１０及びＳＷ回路１１と制御回線で接続され、フレーム転送装置２内の各カードやモジュールの設定、並びにアラーム及び統計情報の収集を行う。制御回路１２は、外部モニタ装置として使用される制御端末装置５等とも接続され、制御端末装置５から設定情報を受信し、収集したアラーム及び統計情報を制御端末装置５へ出力する。制御回路１２は、着脱可能なモジュールやカードとして提供されてよい。
【００１６】
なお、回線ＩＦカード１０、ＳＷ回路１１及び制御回路１２は、着脱可能ではなく、フレーム転送装置２のマザーボード若しくはマザーカードと一体化されていてもよい。また、図２に示すハードウエア構成は実施例の説明のための例示にすぎない。以上に記載される動作を実行するものであれば、本明細書に記載されるフレーム転送装置２は他のどのようなハードウエア構成を採用してもよい。
【００１７】
図３は、フレーム転送装置２の第１実施例の機能構成図である。図３には、回線ＩＦカード１０のうち、回線ＩＦカード１０ａ及び１０ｂのみを代表的に表記する。なお、図３及び図１１の機能構成図は、本明細書において説明されるフレーム転送装置２の機能に関係する構成を中心に示している。フレーム転送装置２は、図示の構成要素以外の他の構成要素を含んでいてよい。
【００１８】
回線ＩＦカード１０ａは、ＰＨＹ(Physical)／ＭＡＣ処理部２０ａ及びヘッダ処理部２１ａを備える。回線ＩＦカード１０ｂは、ＰＨＹ／ＭＡＣ処理部２０ｂ及びヘッダ処理部２１ｂを備える。
【００１９】
ＳＷ回路１１は、フレームスイッチ部３０と、ＭＡＣテーブル制御部３１と、ＭＡＣテーブル３２と、転送処理制御部３３と、フローテーブル３４と、第１レート制御部３５と、第１設定テーブル３６と、第２レート制御部３７と、第２設定テーブル３８を備える。
【００２０】
ＰＨＹ／ＭＡＣ処理部２０ａ及び２０ｂは、ＭＡＣフレームを終端するための物理層及びＭＡＣ層における信号処理を実行する回路を備える。ヘッダ処理部２１ａ及び２１ｂは、受信したＭＡＣフレームに装置内フレームヘッダを付与する。以下の説明において装置内フレームヘッダが付与されたＭＡＣフレームを「装置内フレーム」と表記する。
【００２１】
図４の（Ａ）は、ＶＬＡＮ（Virtual Local Area Network）タグを含まないＭＡＣフレームのフレームフォーマットの一例の説明図である。ＭＡＣフレーム１００は、ＭＡＣ  ＤＡフィールド１０１、ＭＡＣ  ＳＡフィールド１０２、Ｅ−ＴＹＰＥフィールド１０３、ＰＤＵフィールド１０４及びＦＣＳフィールド１０５を含む。
【００２２】
ＭＡＣ  ＤＡフィールド１０１には、宛先ＭＡＣアドレスが格納される。ＭＡＣ  ＳＡフィールド１０２には、送信元ＭＡＣアドレスが格納される。なお、以下の説明及び図面において、宛先ＭＡＣアドレス及び送信元ＭＡＣアドレスをそれぞれ「ＭＡＣ  ＤＡ」及び「ＭＡＣ  ＳＡ」と表記することがある。
【００２３】
Ｅ−ＴＹＰＥフィールド１０３には、上位レイヤのプロトコルを識別するEthernet（登録商標）タイプ番号が格納される。ＰＤＵフィールド１０４には、上位レイヤのメッセージが格納される。ＦＣＳフィールド１０５には、誤り検出符号が格納される。
【００２４】
図４の（Ｂ）は、ＶＬＡＮタグを含むＭＡＣフレームのフレームフォーマットの一例の説明図である。ＭＡＣフレーム１００は、図４の（Ａ）のフィールド１０１〜１０５に加えて、ＶＬＡＮ  Ｔａｇフィールド１１０を含む。ＶＬＡＮ  Ｔａｇフィールド１１０は、ＴＰＩＤフィールド１１１と、Ｐｒｉｏｒｉｔｙフィールド１１２と、ＤＥＩフィールド１１３と、ＶＬＡＮ  ＩＤフィールド１１４を含む。
【００２５】
ＴＰＩＤフィールド１１１には、タグ付きフレームであることを示す値「0x8100」が格納される。Ｐｒｉｏｒｉｔｙフィールド１１２は、フレームの優先度を指定する３ビットのフィールドであり、最低の優先度である値「０」から最高の優先度である値「７」を指定することができる。
【００２６】
ＤＥＩフィールド１１３は、廃棄優先度を指定する。ＶＬＡＮ  ＩＤフィールド１１４には、ユーザを特定するための識別子であるＶＬＡＮ  ＩＤが格納される。以下の説明及び図面においてＶＬＡＮ  ＩＤを「ＶＩＤ」と表記することがある。ＴＰＩＤフィールド１１１の値とＶＩＤを併せてＶＬＡＮタグと呼ばれることがある。また、複数のＶＬＡＮ  Ｔａｇは、複数個連結することが可能である。
【００２７】
図５は、装置内フレームのフレームフォーマットの例の説明図である。装置内フレーム２００は、装置内フレームヘッダ２１０と、図４の（Ａ）又は図４の（Ｂ）に図示のＭＡＣフレーム１００を含む。装置内フレームヘッダ２１０には、宛先カード番号と、宛先ポート番号と、送信元カード番号と、送信元ポート番号が格納される。
【００２８】
図３を参照する。ヘッダ処理部２１ａ及び２１ｂは、ＭＡＣフレームに付与した装置内フレームヘッダに、ＭＡＣフレームを受信した回線ＩＦカード１０のカード番号と回線ポートのポート番号を、それぞれ送信元カード番号及び送信元ポート番号として格納する。回線ＩＦカード１０は、装置内フレームをＳＷ回路１１に送信する。
【００２９】
フレームスイッチ部３０は、ＳＷ回路１１が受信した装置内フレームを、装置内フレームに含まれるＭＡＣフレームのＭＡＣ  ＤＡに応じた回線ＩＦカード１０に転送するスイッチ処理を行う。ＭＡＣ  ＤＡがＭＡＣテーブル３２に学習されていない場合には、フレームスイッチ部３０は装置内フレームをフラッディングするためのコピー処理を行う。以下、ＳＷ回路１１の機能及び動作の説明において装置内フレームを「フレーム」と表記する。
【００３０】
ＭＡＣテーブル制御部３１は、ＳＷ回路１１が受信したフレームのＭＡＣ  ＤＡがＭＡＣテーブル３２に学習されているか否かを判断する。
【００３１】
図６は、ＭＡＣテーブル３２の一例の説明図である。ＭＡＣテーブル３２は、受信フレームのＭＡＣ  ＤＡをインデックスに用いて参照される。ＭＡＣテーブル３２は、情報要素「有効フラグ」と、「ＩＦカード番号」と、「ポート番号」及び「エージングフラグ」を備える。
【００３２】
情報要素「有効フラグ」は、エントリが有効な場合に値「１」を持ち、エントリが無効の場合に値「０」を持つ。情報要素「ＩＦカード番号」及び「ポート番号」は、インデックスのＭＡＣアドレスを送信元ＭＡＣアドレスとして受信した回線ＩＦカード１０のカード番号及び回線ポートのポート番号を示す。情報要素「エージングフラグ」の値は、ＭＡＣアドレスの学習時に「１」にセットされ、その後、所定の期間経過すると「０」にリセットされる。
【００３３】
例えば、第１番目のエントリは、ＭＡＣアドレス「xx:xx:xx:xx:xx:01」をインデックスに持つ。情報要素「有効フラグ」の値「１」は、このエントリが有効であることを示し、学習されたカード番号及びポート番号は、それぞれ「カード番号＃１」及び「ポート番号＃１」である。また、この時点でエントリフラグの値は「１」である。
【００３４】
インデックスとなるＭＡＣアドレスは、ハッシュ演算処理等により、元の４８ビットよりも小さいビット数へ縮退されていてもよい。また、ＭＡＣテーブル３２は、ＳＲＡＭ(Static Random Access Memory)やＤＲＡＭ(Dynamic Random Access Memory)であってもよいし、連想メモリ(CAM: Content Addressable Memory)により実現してもよい。連想メモリの場合は、ＭＡＣアドレスをベースとする連想メモリの検索キーをメモリインデックスとして使用してよい。ＭＡＣテーブル３２の物理的なメモリ構成はここでは問わない。
【００３５】
ＭＡＣ  ＤＡが学習されている場合、ＭＡＣテーブル制御部３１は、ＭＡＣテーブル３２から、情報要素「ＩＦカード番号」及び「ポート番号」を読み出し、それぞれ宛先カード番号及び宛先ポート番号として装置内フレームヘッダ２１０に格納する。
【００３６】
ＭＡＣテーブル制御部３１は、ＭＡＣテーブル３２のエージング処理として、周期的にＭＡＣテーブル３２の全エントリをリードし、エントリのエージングフラグの値が「１」であれば、このエントリのエージングフラグの値を「０」にリセットする。ＭＡＣテーブル制御部３１は、エントリのエージングフラグの値が「０」であれば、このエントリの有効フラグを「０」にリセットし、このエントリを空きエントリにする。
【００３７】
ＭＡＣテーブル制御部３１は、フレームのＭＡＣ  ＳＡと、フレームを受信した回線ＩＦカード１０のカード番号及びポート番号をＭＡＣテーブル３２に格納することにより、ＭＡＣ  ＳＡを学習する。
【００３８】
図３を参照する。転送処理制御部３３は、受信フレームの送信元カード番号、送信元ポート番号及びＶＩＤを振り分け基準として用いて、受信フレームを複数のフローに振り分ける。転送処理制御部３３は、フラッディングされる受信フレームを送信元カード番号、送信元ポート番号及びＶＩＤに基づいて振り分けた複数の第１フローを生成する。また、転送処理制御部３３は、フラッディングされるか否かに関わらず受信フレームを送信元カード番号、送信元ポート番号及びＶＩＤに基づいて振り分けた複数の第２フローを生成する。
【００３９】
第１レート制御部３４は、複数の第１フロー毎にフレームスイッチ部３０によるスイッチ処理とコピー処理の対象となるフレームのレートを制御する。また、第２レート制御部３７は、複数の第２フロー毎にフレームスイッチ部３０によるスイッチ処理の対象となるフレームのレートを制御する。転送処理制御部３３は、フラッディングの際にフレームスイッチ部３０が受信フレームのコピーを送信する回線ポートを指定する。
【００４０】
転送処理制御部３３は、受信フレームの装置内フレームヘッダ２１０に格納された送信元カード番号と送信元ポート番号、及びＶＩＤをインデックスに用いて、フローテーブル３４を参照する。
【００４１】
図７は、フローテーブル３４の第１例の説明図である。フローテーブル３４は、情報要素「有効フラグ」、「第１フローＩＤ」、「第２フローＩＤ」、「エージング時間」及び「フレームコピー情報」を含む。情報要素「有効フラグ」は、エントリが有効な場合に値「１」を持ち、エントリが無効の場合に値「０」を持つ。
【００４２】
情報要素「第１フローＩＤ」は、フラッディングされる受信フレームの振り分け先の複数の第１フローのいずれかを識別する識別子である。情報要素「第２フローＩＤ」は、受信フレームの振り分け先の複数の第２フローのいずれかを識別する識別子である。
【００４３】
情報要素「エージング時間」は、インデックス「送信元カード番号」及び「送信元ポート番号」に対応するＭＡＣテーブル３２のエントリのエージング時間を指定する。ＭＡＣテーブル制御部３１は、情報要素「エージング時間」により指定される周期で、ＭＡＣテーブル３２のエージング処理を行う。
【００４４】
情報要素「フレームコピー情報」は、フラッディングの際にフレームスイッチ部３０が受信フレームのコピーを送信する回線ポートを指定する。符号ＣｍＰｎは、カード番号＃ｍの回線ＩＦカード１０の回線ポート＃ｎを表し、値「１」が与えられているポートにのみコピーが送信され、値「０」が与えられているポートにはコピーが送信されない。
【００４５】
例えば、第１番目のエントリは、送信元カード番号「カード番号＃１」＋送信元ポート番号「ポート番号＃１」＋ＶＩＤ「ＶＩＤ＃１」を持つ。情報要素「有効フラグ」の値「１」は、このエントリが有効であることを示す。
【００４６】
送信元カード番号、送信元ポート番号及びＶＩＤが「カード番号＃１」、「ポート番号＃１」及びＶＩＤ「ＶＩＤ＃１」であるフレームが振り分けられる第１フローの識別子は「１」である。またこのフレームが振り分けられる第２フローの識別子は「１」である。フラッディングの際に、このフレームは、カード番号＃１の回線ＩＦカード１０の回線ポート＃２へ転送される。
【００４７】
「カード番号＃１」及び「ポート番号＃１」を格納するＭＡＣテーブル３２のエントリのエージング時間は「５分」に指定される。
【００４８】
なお、受信フレームにおいて複数のＶＬＡＮタグが連結されている場合には、複数のＶＩＤをインデックスに用いてもよい。例えば、フローテーブル３４がＳＲＡＭやＤＲＡＭメモリである場合には、複数のＶＩＤを連結してインデックスに使用してもよい。
【００４９】
また、フローテーブル３４が連想メモリにより実現される場合には、送信元カード番号と送信元ポート番号、及びＶＩＤを検索キーとして使用してよい。受信フレームにおいて複数のＶＬＡＮタグが連結されている場合には、複数のＶＩＤを検索キーとして使用してよい。また、受信フレームにＶＬＡＮタグが含まれない場合には、検索キー中のＶＬＡＮタグの部分をマスクして対応してもよい。なお、フローテーブル３４の物理的なメモリ構成はここでは問わない。
【００５０】
図３を参照する。転送処理制御部３３は、インデックスに対応するエントリの情報要素「有効フラグ」の値が「０」である場合には、ＶＬＡＮに定義されていないフレームとして、受信フレームを廃棄する。情報要素「有効フラグ」の値が「１」である場合には、受信フレームを廃棄せず、フローテーブル３４から第１フローＩＤ、第２フローＩＤ及びフレームコピー情報を読み出す。
【００５１】
第１レート制御部３５は、ＭＡＣ  ＤＡがＭＡＣテーブル３２に学習されていない受信フレームが振り分けられた第１フローのレート制御を、トークンバケット方式に従って行う。トークンバケット制御に使用する上限レートとバーストサイズは、第１設定テーブル３６において第１フローＩＤ毎に指定される。
【００５２】
図８の（Ａ）は、第１設定テーブル３６の第１例の説明図である。第１設定テーブル３６は、第１フローＩＤをインデックスに用いて参照され、情報要素「上限レート」及び「バーストサイズ」を含む。情報要素「上限レート」及び「バーストサイズ」は、インデックスの第１フローＩＤにより識別される第１フローのトークンバケット制御に使用される上限レート及びバーストサイズを示す。
【００５３】
例えば、第１番目のエントリは、第１フローＩＤ「１」により識別される第１フローのトークンバケット制御の上限レート及びバーストサイズを、それぞれ「１０Ｍｂｐｓ」及び「１００Ｋｂｙｔｅ」に設定する。なお、以下の説明及び図面において、第１フローの上限レートを「第１上限レート」と表記することがある。
【００５４】
第１レート制御部３５は、各フロー毎に、第１上限レートを超えないレートでトークンをバケットに供給する。バケットには、設定されたバーストサイズに対応する量のトークンを蓄積することができる。第１レート制御部３５は、受信フレームのパケット長分のバイト数に相当するトークンをバケットから取り出す。
【００５５】
バケットからトークンを取り出すとバケット内のトークンが「０」未満になる場合は、第１フローのレートの合計が第１上限レートを超えたものとして、バケットからトークンを取り出さずに受信フレームを廃棄する。バケットからトークンを取り出してもバケット内のトークンが「０」以上の場合は、第１フローのレートの合計が第１上限レートを超えていないものとして、バケットからトークンを取り出し受信フレームを廃棄しない。
【００５６】
第１レート制御部３５によるレートが制御された受信フレーム、及びＭＡＣテーブル３２にＭＡＣ  ＤＡが学習されている受信フレームは、第２フローＩＤにより複数の第２フローに振り分けられる。第１レート制御部３５によるレートが制御された受信フレームとＭＡＣ  ＤＡが学習されている受信フレームの両方が同一の第２フレーム内に混在してもよい。第２レート制御部３７は、トークンバケット方式により第２フローのレート制御を行う。第２フローのトークンバケット制御に使用する上限レートとバーストサイズは、第２設定テーブル３８において第２フローＩＤ毎に指定される。
【００５７】
図８の（Ｂ）は、第２設定テーブル３８の第１例の説明図である。第２設定テーブル３８は、第２フローＩＤをインデックスに用いて参照され、情報要素「上限レート」及び「バーストサイズ」を含む。情報要素「上限レート」及び「バーストサイズ」は、インデックスの第２フローＩＤにより識別される第２フローのトークンバケット制御に使用される上限レート及びバーストサイズを示す。
【００５８】
例えば第１番目のエントリは、第２フローＩＤ「１」により識別される第２フローのトークンバケット制御の上限レート及びバーストサイズを、それぞれ「１０Ｍｂｐｓ」及び「１００Ｋｂｙｔｅ」に設定する。なお、以下の説明及び図面において、第２フローの上限レートを「第２上限レート」と表記することがある。
【００５９】
なお、第２レート制御部３７によるトークンバケット制御は、第１レート制御部３５によるトークンバケット制御と同様である。第１レート制御部３５及び第２レート制御部３７によるレート制御で廃棄されなかった受信フレームは、フレームスイッチ部３０に入力される。なお、第１レート制御部３５や第２レート制御部３７でフレームを廃棄させない場合には、第１上限レートや第２上限レートを受信ポートの物理レート以上に設定すればよい。
【００６０】
受信フレームのＭＡＣ  ＤＡが学習されていない場合には、フレームスイッチ部３０はフレームコピー情報に従って、受信フレームをコピーして指定された回線ポートを収容する回線ＩＦカード１０へ転送する。ＭＡＣ  ＤＡが学習されている場合には、フレームスイッチ部３０は、ＭＡＣ  ＤＡに対応付けてＭＡＣテーブル３２に記憶されたＩＦカード番号で指定される回線ＩＦカード１０へ受信フレームを転送する。
【００６１】
図９は、ＳＷ回路１１の動作の一例の説明図である。図９を参照して説明する一連の動作は複数の手順を含む方法と解釈してもよい。この場合に「オペレーション」を「ステップ」と読み替えてもよい。
【００６２】
ＳＷ回路１１がフレームを受信すると、オペレーションＡＡにおいてＭＡＣテーブル制御部３１は、受信フレームのＭＡＣ  ＳＡを学習する。オペレーションＡＢにおいて転送処理制御部３３は、フローテーブル３４を参照し、第１フローＩＤ、第２フローＩＤ及びフレームコピー情報を読み出す。
【００６３】
オペレーションＡＣにおいてＭＡＣテーブル制御部３１は、ＭＡＣテーブル３２から受信フレームのＭＡＣ  ＤＡを検索する。ＭＡＣ  ＤＡが学習されている場合（オペレーションＡＤ：Ｙ）に動作はオペレーションＡＩへ進む。ＭＡＣ  ＤＡが学習されていない場合（オペレーションＡＤ：Ｎ）に動作はオペレーションＡＥへ進む。
【００６４】
オペレーションＡＥにおいて第１レート制御部３５は、受信フレームが割り振られた第１フローのレートが第１上限レート以下か否かを判断する。第１フローのレートが第１上限レート以下の場合（オペレーションＡＥ：Ｙ）に動作はオペレーションＡＧに進む。第１フローのレートが第１上限レート以下でない場合（オペレーションＡＥ：Ｎ）に動作はオペレーションＡＦに進む。オペレーションＡＦにおいて第１レート制御部３５は、受信フレームを廃棄する。その後、受信フレームに対するＳＷ回路１１の動作は終了する。
【００６５】
オペレーションＡＧにおいて第２レート制御部３７は、受信フレームが割り振られた第２フローのレートが第２上限レート以下か否かを判断する。第２フローのレートが第２上限レート以下の場合（オペレーションＡＧ：Ｙ）に動作はオペレーションＡＨに進む。第２フローのレートが第２上限レート以下でない場合（オペレーションＡＧ：Ｎ）に動作はオペレーションＡＦに進む。
【００６６】
オペレーションＡＨにおいてフレームスイッチ部３０はフレームコピー情報に従って、受信フレームをコピーし、指定された回線ポートを収容する回線ＩＦカード１０へ転送する。その後、受信フレームに対するＳＷ回路１１の動作は終了する。
【００６７】
オペレーションＡＩにおいて第２レート制御部３７は、受信フレームが割り振られた第２フローのレートが第２上限レート以下か否かを判断する。第２フローのレートが第２上限レート以下の場合（オペレーションＡＩ：Ｙ）に動作はオペレーションＡＫに進む。第２フローのレートが第２上限レート以下でない場合（オペレーションＡＩ：Ｎ）に動作はオペレーションＡＪに進む。
【００６８】
オペレーションＡＪにおいて第２レート制御部３７は、受信フレームを廃棄する。その後、受信フレームに対するＳＷ回路１１の動作は終了する。オペレーションＡＫにおいてフレームスイッチ部３０は、ＭＡＣテーブル３２に従って受信フレームを回線ＩＦカード１０へ転送する。その後、受信フレームに対するＳＷ回路１１の動作は終了する。
【００６９】
本実施例によれば、受信フレームのＭＡＣ  ＤＡが学習されていない場合に、フラッディング対象となる受信フレームのレートを、フレームのコピー前に制御することが可能になる。このため、フラッディングによりブロードキャストされるフレームを低減することができ、ネットワークの輻輳により他のトラヒックが被る影響が低減する。
【００７０】
また、フラッディング対象のフレームのレートを、フレームのコピー前に制御することにより、フレーム転送装置内におけるフレームのコピー数が低減する。このため、フレーム転送装置内における輻輳が軽減される。また、コピー処理の低減によりフレーム転送装置の処理負荷が低減する。
【００７１】
また、本実施例では、受信フレームをＶＩＤに従って複数の第１フロー及び複数の第２フローに振り分け、第１レート制御部３５及び第２レート制御部３７でレート制御する。これにより、フラッディングトラヒックを抑制した後に、フラッディングトラヒック及び非フラッディングトラヒックを含んだフローのレートを包括的に制御することができる。
【００７２】
またフローテーブル３４を用いて回線ポートとＶＩＤに任意の第１フローＩＤ及び第２フローＩＤを割り当てることにより、任意の回線ポート及びＶＩＤを自由に集約してレート制御を行うことが可能になる。
【００７３】
＜２．第２実施例＞
本実施例では、第１レート制御部３５は、フローテーブル３４のフレームコピー情報で定められたフレームのコピー回数に応じて第１フローのレート制御を行う。例えば、第１レート制御部３５は、第１フローのレートとコピー回数の積が第１上限レートを超える場合に、受信フレームを廃棄してよい。
【００７４】
例えば、第１レート制御部３５は、フレームのコピー回数に応じてトークンバケット制御を行ってよい。第１レート制御部３５は、受信フレームのパケット長分のバイト数とコピー回数との積に相当するトークンをバケットから取り出し、バケット内のトークンが「０」未満になる場合に第１フローのレートの合計が第１上限レートを超えたと判定してよい。
【００７５】
図１０は、フローテーブル３４の第２例の説明図である。フローテーブル３４は、図７を参照して説明した情報要素に加えて、フレームコピー情報で定義されるコピー回数を予め計算して求めた情報要素「コピー回数」を含んでいてよい。変形例では、第１レート制御部３５がフレームコピー情報で定義されるコピー回数を計算してもよい。
【００７６】
本実施例によれば、フラッディングトラヒックに対してフレームコピー数に応じたレート制御が可能になるため、フラッディングフレーム数をより効果的に低減することが可能になる。なお、以下に説明する第３実施例においても、同様にコピー回数に応じて第１フローのレート制御を行ってもよい。
【００７７】
＜３．第３実施例＞
本実施例では、受信フレームの優先度に応じて第１上限レート及び第２上限レートを変化させる。図１１は、フレーム転送装置２の第２実施例の機能構成図である。図３に示す構成要素と同様の構成要素に図３で使用した参照符号と同じ参照符号を付し、同一の機能については説明を省略する。フレーム転送装置２は、クラス変換テーブル３９を備える。
【００７８】
図１２は、フローテーブル３４の第３例の説明図である。フローテーブル３４は、図７を参照して説明した情報要素に加えて、情報要素「クラス変換ＩＤ」を含む。クラス変換ＩＤは、受信フレームのＶＬＡＮ  ＴａｇフィールドのＰｒｉｏｒｉｔｙフィールド１１２で指定される優先度を、第１上限レート及び第２上限レートの切り替えに使用するフレーム転送装置２内の優先度へ変換する変換則を識別する。
【００７９】
以下の説明において、Ｐｒｉｏｒｉｔｙフィールド１１２で指定される優先度を「ＶＬＡＮ優先度」と表記することがある。値「０」〜「７」を持つＶＬＡＮ優先度を、それぞれ「ＶＬＡＮ優先度＃０」〜「ＶＬＡＮ優先度＃１」と表記することがある。第１上限レート及び第２上限レートの切り替えに使用するフレーム転送装置２内の優先度を「装置内優先度」と表記することがある。装置内優先度は、例えば「高優先」、「中優先」及び「低優先」の３段階の優先度を指定してよい。
【００８０】
フローテーブル３４によって送信元カード番号と送信元ポート番号、及びＶＩＤの組み合わせに、それぞれ任意のクラス変換ＩＤが割り当てられることにより、フロー毎若しくはユーザ毎に異なる変換則でＶＬＡＮ優先度を装置内優先度に変換できる。
【００８１】
図１３は、クラス変換テーブル３９の一例の説明図である。クラス変換テーブル３９は、ＶＬＡＮ優先度から装置内優先度への変換則を定義する。クラス変換テーブル３９は、クラス変換ＩＤとＶＬＡＮ優先度をインデックスに用いて参照され、情報要素「装置内優先度」を含む。例えば、第１番目のエントリは、クラス変換ＩＤの値が「クラス変換ＩＤ＃０」である場合に、「ＶＬＡＮ優先度＃０」を装置内優先度「低優先」へ変換する。
【００８２】
図１４の（Ａ）は第１設定テーブル３６の第２例の説明図である。装置内優先度「高優先」、「中優先」及び「低優先」に応じて、それぞれ異なる第１上限レート及びバーストサイズが設定される。第１レート制御部３５は、受信フレームの装置内優先度に応じた第１上限レート及びバーストサイズを第１設定テーブル３６から読み出して、第１フローのトークンバケット制御を行う。
【００８３】
図１４の（Ｂ）は第２設定テーブル３８の第２例の説明図である。装置内優先度「高優先」、「中優先」及び「低優先」に応じて、それぞれ異なる第２上限レート及びバーストサイズが設定される。第２レート制御部３７は、受信フレームの装置内優先度に応じた第２上限レート及びバーストサイズを第２設定テーブル３８から読み出して、第２フローのトークンバケット制御を行う。
【００８４】
本実施例によれば、受信フレームの優先度や、ユーザ毎若しくはフロー毎に応じて指定される優先度に従ってフラッディングトラヒックを抑制することが可能になる。
【００８５】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
アドレスとポートとが対応付けられて記憶される記憶部と、
フレームを受信する受信部と、
受信フレームの宛先アドレスに基づいて出力ポートを決定するスイッチ部と、
決定された前記出力ポートから受信フレームを送信する送信部と、
を備え、
前記スイッチ部は、
受信フレームの宛先アドレスが前記記憶部に記憶されていないとき前記受信フレームを複製する複製部と、
複製されるフレームの出力レートを制御するレート制御部と、
を備えることを特徴とするフレーム転送装置。
（付記２）
前記レート制御部は、受信フレームのうち前記複製部が複製を行うフレームのレートを制御することを特徴とする付記１に記載のフレーム転送装置。
（付記３）
前記スイッチ部は、宛先アドレスが前記記憶部に記憶されていない受信フレームを、フレームのヘッダに含まれるフロー識別子に応じて複数のフローに振り分ける振分部を備え、
前記レート制御部は、前記フロー毎にレート制御を行うことを特徴とする付記１又は２に記載のフレーム転送装置。
（付記４）
前記レート制御部及び前記複数のフローをそれぞれ第１レート制御部及び複数の第１フローとし、
前記振分部は、フレームのヘッダに含まれるフロー識別子に応じて受信フレームを複数の第２フローに振り分け、
前記スイッチ部は、宛先アドレスが前記記憶部に記憶されている受信フレームと、前記第１レート制御部により廃棄されなかった第１フローの受信フレームと、の両方を含むいずれかの前記第２フローのレートを制御する第２レート制御部を備えることを特徴とする付記３に記載のフレーム転送装置。
（付記５）
前記振分部は、複数の異なるフロー識別子をヘッダに含む受信フレームを、同一の前記フローに振り分けることを特徴とする付記３に記載のフレーム転送装置。
（付記６）
前記振分部は、複数の異なるポートで受信された受信フレームを、同一の前記フローに振り分けることを特徴とする付記３又は５に記載のフレーム転送装置。
（付記７）
前記振分部は、複数の異なるフロー識別子をヘッダに含む受信フレームを、同一の前記第２フローに振り分けることを特徴とする付記４に記載のフレーム転送装置。
（付記８）
前記振分部は、複数の異なるポートで受信された受信フレームを、同一の前記第２フローに振り分けることを特徴とする付記４又は７に記載のフレーム転送装置。
（付記９）
前記レート制御部は、前記複製部における受信フレームの複製数に応じて、前記出力レートを制御する付記１〜８のいずれか一項に記載のフレーム転送装置。
（付記１０）
前記スイッチ部は、フレームのヘッダで指定された優先度を該ヘッダに含まれるフロー識別子に応じて変換する変換部を備え、
前記レート制御部は、変換された優先度に応じて前記出力レートを制御する付記１〜９のいずれか一項に記載のフレーム転送装置。
（付記１１）
フレーム転送装置におけるフレーム転送方法であって、
前記フレーム転送装置は、
アドレスとポートとが対応付けられて記憶される記憶部と、
フレームを受信する受信部と、
受信フレームの宛先アドレスに基づいて出力ポートを決定するスイッチ部と、
決定された前記出力ポートから受信フレームを送信する送信部と、
を備え、
受信フレームの宛先アドレスが前記記憶部に記憶されていないとき、前記受信フレームを複製し、
複製されるフレームの出力レートを制御する、ことを特徴とするフレーム転送方法。
【符号の説明】
【００８６】
１    通信ネットワーク
２、２ａ〜２ｆ    フレーム転送装置
３、３ａ〜３ｉ    ユーザ端末装置
５    制御端末装置
１１    スイッチ回路
３０    フレームスイッチ部
３１    ＭＡＣテーブル制御部
３２    ＭＡＣテーブル
３３    転送処理制御部
３４    フローテーブル
３５    第１レート制御部
３６    第１設定テーブル
３７    第２レート制御部
３８    第２設定テーブル
【図１】
2014082536.tif 000003
【図２】
2014082536.tif 000004
【図３】
2014082536.tif 000005
【図４】
2014082536.tif 000006
【図５】
2014082536.tif 000007
【図６】
2014082536.tif 000008
【図７】
2014082536.tif 000009
【図８】
2014082536.tif 000010
【図９】
2014082536.tif 000011
【図１０】
2014082536.tif 000012
【図１１】
2014082536.tif 000013
【図１２】
2014082536.tif 000014
【図１３】
2014082536.tif 000015
【図１４】
2014082536.tif 000016