フレーム中継装置およびフレーム中継方法
【課題】MAC学習テーブルの上書き登録に起因して発生するフラッディングを抑制して通信網の帯域圧迫を緩和する。
【解決手段】フレーム中継装置は、入力フレームの送信元アドレスとポートの対応関係を記憶させたMAC学習テーブルについて、出力フレームの宛先アドレスに該当するデータを検索し、該検索結果がミスヒットになる回数を宛先アドレス毎にカウントして、ミスヒット回数が閾値以上になる宛先アドレスを検出する。そして、検出した宛先アドレスに該当するデータがMAC学習テーブルに登録されると、当該データが上書き削除されないように保護する。
【解決手段】フレーム中継装置は、入力フレームの送信元アドレスとポートの対応関係を記憶させたMAC学習テーブルについて、出力フレームの宛先アドレスに該当するデータを検索し、該検索結果がミスヒットになる回数を宛先アドレス毎にカウントして、ミスヒット回数が閾値以上になる宛先アドレスを検出する。そして、検出した宛先アドレスに該当するデータがMAC学習テーブルに登録されると、当該データが上書き削除されないように保護する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フラッディングの発生を抑制するフレーム中継装置およびフレーム中継方法に関する。
【背景技術】
【0002】
例えば、イーサネット(登録商標、以下同様)通信に利用されるレイヤ2スイッチ等のフレーム中継装置は、受信したフレームを複数のポートに振り分けて出力するためのMAC学習機能を備える。このMAC学習機能は、フレーム中継装置の各ポートから入力するフレームより、送信元の端末のMAC(Media Access Control)アドレス(以下、「送信元アドレス」とする)を抽出し、該送信元アドレスを上記フレームが入力されたポートの情報と一緒にMAC学習テーブルへ登録する。
【0003】
上記MAC学習テーブルは、フレーム中継装置の受信フレームに含まれる、送信先の端末のMACアドレス(以下、「宛先アドレス」とする)で検索され、該宛先アドレスに該当するデータがMAC学習テーブルに登録済みの場合に、当該MACアドレスに対応付けられたポート情報に従って、上記フレームの出力先ポートの振り分けが行われる。一方、宛先アドレスに該当するデータがMAC学習テーブルに未登録の場合には、上記フレームが入力ポート以外の全てのポートから出力されるようにする「フラッディング(Flooding)」と呼ばれる処理が行われる。
【0004】
上記フラッディングは、宛先アドレスに対応した出力先ポートが不明であってもフレームを送信先の端末に確実に送ることができる反面、本来の出力先ポート以外のポートにもフレームが転送されてしまうので、各ポートの通信帯域を必要以上に消費することになる。このため、フレーム中継装置におけるフラッディングの発生は、通信網の帯域圧迫を招くという問題がある。この問題に対処した従来技術として、例えば特許文献1,2には、送信元アドレスと入力ポートの対応関係がMAC学習テーブルに登録されるまでの待ち時間を短くすることにより、フラッディングの発生を抑制して通信網の帯域圧迫を軽減する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−266850号公報
【特許文献2】特開2011−015094号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上記のような従来のMAC学習機能を備えたフレーム中継装置において、MAC学習テーブルに登録可能なデータの量は、該MAC学習テーブルに割り当てられるメモリ等の容量に制約される。このため、MAC学習テーブルが登録データで満杯になり空きの無い状態(以下、FULL状態とする)にあるときに、未登録の送信元アドレスを含むフレームがいずれかのポートに入力された場合、フレーム中継装置は、MAC学習テーブルに登録済みのデータの一部に新たなデータを上書き登録することが必要になる。この上書き登録の処理では、通常、MAC学習テーブルにデータが登録された順番に従い、最も古い登録データが上書きの対象とされる。つまり、MAC学習テーブルの登録データが最新の状態に保たれるように、MAC学習テーブルの管理が行われる。
【0007】
上記のようなMAC学習テーブルのFULL状態における上書き登録の処理を行った後
に、上書きの対象とされたMACアドレスと同一の宛先アドレスを含んだフレームがいずれかのポートに入力されると、該宛先アドレスに該当するデータがMAC学習テーブルに登録されていないため、前述したようなフラッディングが行われることになり、通信網の帯域圧迫が課題になる。この課題に対して前述した従来技術、すなわち、MAC学習テーブルへの登録待ち時間を短縮することでフラッディングを抑制する技術は、上記のようなMAC学習テーブルのFULL状態における処理の内容について開示していないため、新たなデータの上書き登録に起因して発生するフラッディングによる帯域圧迫までを軽減することは困難である。
【0008】
なお、上記課題に対し、MAC学習テーブルに割り当てられるメモリの容量を大きくすることによって、MAC学習テーブルがFULL状態にならないようにする解決策が考えられる。しかし、MACアドレスのビット数は48ビットであり、フレーム中継装置に接続され得る全ての端末のMACアドレスと、該各MACアドレスに対応したポート情報とを漏れ無く登録することが可能な容量を確保するには、大規模なメモリを多数用意することが必要になる。このため、装置コスト等の面を考慮すると、上記解決策は現実的ではない。
【0009】
本発明は上記の点に着目してなされたもので、MAC学習テーブルの上書き登録に起因して発生するフラッディングを抑制し、通信網の帯域圧迫を緩和できるフレーム中継装置およびフレーム中継方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本願の開示するフレーム中継装置の一態様は、入力ポートと、前記入力ポートから入力するフレームに含まれる送信元アドレスを抽出する送信元アドレス抽出手段と、前記送信元アドレス抽出手段で抽出された送信元アドレス、および、前記フレームが入力された前記入力ポートの対応関係を示すデータを記憶する記憶手段と、出力ポートに出力するフレームに含まれる宛先アドレスを抽出する宛先アドレス抽出手段と、前記記憶手段から、前記宛先アドレス抽出手段で抽出された宛先アドレスに該当するデータを検索する検索手段と、前記検索手段の検索結果に基づいて、前記出力ポートから前記宛先アドレスに対応するポートを選択し、該ポートに前記宛先アドレスを含むフレームを振り分ける出力先振り分け手段と、前記検索手段の検索結果がミスヒットになる回数を宛先アドレス毎にカウントし、該カウントしたミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出するミスヒットカウント手段と、前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータが前記記憶手段に記憶された後、当該記憶手段に記憶されている全てのデータのうちで、前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータが上書き削除されないように保護する管理手段と、を備える。
【発明の効果】
【0011】
上記のようなフレーム中継装置によれば、従来のMAC学習テーブルに相当するデータを記憶する記憶手段に、ミスヒット回数が閾値以上になる宛先アドレスに該当するデータが一度記憶されると、記憶手段が満杯の状態になったとしても、当該データは保護されるので上書きの対象にはならず、ミスヒット回数の少ない宛先アドレスに該当する他のデータが上書き削除されるため、前述したような上書き登録に起因して発生するフラッディングを抑制することができ、通信網の帯域圧迫を緩和することが可能である。
【図面の簡単な説明】
【0012】
【図1】本発明によるフレーム中継装置の一実施形態の構成を示すブロック図である。
【図2】上記実施形態における多重化回路の構成例を示すブロック図である。
【図3】上記実施形態におけるMAC−SA抽出回路の構成例を示すブロック図である。
【図4】上記実施形態における上りフレーム送信回路および下りフレーム受信回路の構成例を示すブロック図である。
【図5】上記実施形態におけるMAC−DA抽出回路の構成例を示すブロック図である。
【図6】上記実施形態における出力先振り分け回路の構成例を示すブロック図である。
【図7】上記実施形態におけるMAC学習テーブル管理回路の構成例を示すブロック図である。
【図8】上記実施形態におけるエージング監視回路の構成例を示すブロック図である。
【図9】上記実施形態におけるミスヒットカウント回路の構成例を示すブロック図である。
【図10】上記実施形態における上り方向のフレームの処理の流れを示すフローチャートである。
【図11】上記実施形態におけるMAC学習テーブルの具体的な一例を示す図である。
【図12】図11のMAC学習テーブルにおける1つの物理アドレスに着目したエージング処理の遷移の一例を示す図である。
【図13】上記実施形態における下り方向のフレームの処理の流れを示すフローチャートである。
【図14】上記実施形態におけるミスヒットカウントテーブルの具体的な一例を示す図である。
【図15】図14のミスヒットカウントテーブルの管理の具体的な内容を説明する図である。
【図16】上記実施形態の応用例に用いられるミスヒットカウント回路の構成を示すブロック図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について添付図面を参照しながら詳細に説明する。
図1は、本発明によるフレーム中継装置の一実施形態の構成を示すブロック図である。
図1において、フレーム中継装置1は、例えば、ライン側の複数のポートP1,P2,…Pnと、各ポートP1〜Pnから入力するフレームFRM1〜FRMnを多重化する多重化回路10と、多重化回路10から出力されるフレームFRMLより送信元アドレスMAC−SAおよびポート情報PORTを抽出するMAC−SA抽出回路20と、MAC−SA抽出回路20を通過したフレームFRMLをネットワーク側へ送信する上りフレーム送信回路30と、ネットワーク側からのフレームを受信する下りフレーム受信回路40と、下りフレーム受信回路40から出力されるフレームFRMNより宛先アドレスMAC−DAを抽出するMAC−DA抽出回路50と、MAC−DA抽出回路50を通過したフレームFRMLをライン側の各ポートPL1〜PLnに振り分ける出力先振り分け回路60と、MAC−SA抽出回路20およびMAC−DA抽出回路50の抽出情報を基にMAC学習テーブルの管理を行う、MAC学習テーブル管理回路70、エージング監視回路80およびミスヒットカウント回路90と、を備える。
【0014】
各ポートP1〜Pnは、フレーム中継装置1のライン側に接続される図示しない各端末とフレームの送受信を行う通信インターフェイスとしてフレーム中継装置1に物理的に備えられたポートであり、各々のポートP1〜Pnがライン側に対する入力ポートおよび出力ポートとしての役割を担っている。各ポートP1〜Pnには、互いに異なるポート番号が割り振られており、ここでは、各ポートの符号の添え字が各々のポート番号を表すものとする。
【0015】
多重化回路10は、例えば図2のブロック図に示すように、各ポートP1〜Pnに対応した複数の速度変換FIFO(First In First Out)11−1〜11−nおよび1つのセレクタ12を有する。
【0016】
各速度変換FIFO11−1〜11−nは、ライン側の各ポートP1〜Pnから入力するフレームFRM1〜FRMnをそれぞれ格納し、各々に対応した回線クロックCLK1〜CLKnから共通のシステムクロックCLKSYSに乗せ換えたフレームFRM1〜FRMnをセレクタ12に出力する。また、各速度変換FIFO11−1〜11−nは、1フレーム分以上の情報を蓄積すると、その状態を示す信号ACCをセレクタ12に出力する。
【0017】
セレクタ12は、各速度変換FIFO11−1〜11−nからの出力信号ACCに応じて1つの速度変換FIFOを選択し、その選択した速度変換FIFOから出力されるフレームを、対応する入力ポートの番号を示すポート情報PORTと一緒にMAC−SA抽出回路20に出力する。ここでは、セレクタ12から出力されるフレームをFRMLと表記する。
【0018】
MAC−SA抽出回路20は、例えば図3のブロック図に示すように、待機用メモリ21、MAC−SAラッチ22、SFDラッチ23、フレームカウンタ24およびMAC−SAタイミングデコーダ25を有する。
【0019】
待機用メモリ21は、多重化回路10から出力されるフレームFRMLおよびポート情報PORTを一旦格納し、後述するMAC学習テーブル管理回路70からの応答信号RESを受けて、格納したフレームFRMLおよびポート情報PORTを後段ブロックに出力する。
【0020】
MAC−SAラッチ22は、MAC−SAタイミングデコーダ25から出力されるMAC−SAタイミング信号に従って、待機用メモリ21から出力されるフレームFRMLに含まれる送信元アドレスMAC−SAをラッチし、該送信元アドレスMAC−SAをMAC学習テーブル管理回路70に通知する。
【0021】
SFDラッチ23は、待機用メモリ21から出力されるフレームFRMLを受け、該フレームFRMLの先頭位置を示すSFD(Start frame delimiter)をラッチしてSFD検出パルスを生成し、該SFD検出パルスをフレームカウンタ24に出力する。
【0022】
フレームカウンタ24は、SFDラッチ23からのSFD検出パルスを基準タイミングとして、フレームFRMLのバイト数をカウントし、そのカウント値をMAC−SAタイミングデコーダ25に通知する。
【0023】
MAC−SAタイミングデコーダ25は、フレームカウンタ24のカウント値に応じて、フレームFRML内における送信元アドレスMAC−SAの位置を示すMAC−SAタイミング信号を生成し、該MAC−SAタイミング信号をMAC−SAラッチ22に出力する。なお、MAC−SAタイミング信号は、後述するMAC学習テーブル管理回路70への登録要求RDとしても利用される。
【0024】
上りフレーム送信回路30は、例えば図4の上段に示すようにフリップフロップ31を用いて構成され、MAC−SA抽出回路20を通過したフレームFRMLをフリップフロップ31に取り込み、該フレームFRMLをフレーム中継装置1に接続されているネットワークへの上りフレームとして出力する。
【0025】
下りフレーム受信回路40は、例えば図4の下段に示すようにフリップフロップ41を用いて構成され、フレーム中継装置1に接続されているネットワークを伝送された下りフレームをフリップフロップ41に取り込み、該下りフレームをネットワーク側からの入力
フレームFRMNとしてMAC−DA抽出回路50に出力する。
【0026】
MAC−DA抽出回路50は、例えば図5のブロック図に示すように、待機用メモリ51、MAC−DAラッチ52、SFDラッチ53、フレームカウンタ54、MAC−DAタイミングデコーダ55、論理和(OR)回路56および論理否定(NOT)回路57を有する。
【0027】
待機用メモリ51は、下りフレーム受信回路40から出力されるフレームFRMNを一旦格納し、後述するMAC学習テーブル管理回路70から通知される応答信号RESを受けて、格納したフレームFRMNを後段ブロックに出力する。
【0028】
MAC−DAラッチ52は、MAC−DAタイミングデコーダ55から出力されるMAC−DAタイミング信号に従って、待機用メモリ51から出力されるフレームFRMNに含まれる宛先アドレスMAC−DAをラッチし、該宛先アドレスMAC−DAをMAC学習テーブル管理回路70に通知する。
【0029】
SFDラッチ53は、待機用メモリ51から出力されるフレームFRMNを受け、該フレームの先頭位置を示すSFDをラッチしてSFD検出パルスを生成し、該SFD検出パルスをフレームカウンタ54に出力する。
【0030】
フレームカウンタ54は、SFDラッチ53からのSFD検出パルスを基準タイミングとして、フレームFRMNのバイト数をカウントし、そのカウント値をMAC−DAタイミングデコーダ55に通知する。
【0031】
MAC−DAタイミングデコーダ55は、フレームカウンタ54のカウント値に応じて、フレームFRMN内における宛先アドレスMAC−DAの位置を示すMAC−DAタイミング信号を生成し、該MAC−DAタイミング信号をMAC−DAラッチ52に出力する。なお、MAC−DAタイミング信号は、後述するMAC学習テーブル管理回路70への検索要求SDとしても利用される。
【0032】
OR回路56は、MAC学習テーブル管理回路70から通知される検索結果SRが示すポート情報PORTおよびミスヒット情報MISHITの論理和を演算し、該演算結果を基にフレームFRMNの出力先となるポート番号を指示するポート指示信号PIを生成する。このポート指示信号PIは、待機用メモリ51から出力されるフレームFRMNと一緒に出力先振り分け回路60へ出力される。
【0033】
NOT回路57は、上記検索結果SRが示すミスヒット情報MISHITの論理否定を演算することによりヒット情報HITを生成する。このヒット情報HITおよびミスヒット情報MISHITは、ミスヒットカウント回路90に通知される。
【0034】
出力先振り分け回路60は、例えば図6のブロック図に示すように、1つのコントローラ61および各ポートP1〜Pnに対応させて設けられた複数のFIFO62−1〜62−nを有する。
【0035】
コントローラ61は、MAC−DA抽出回路50から出力されるポート指示信号PIを受け、該ポート指示信号PIが示す出力先のポート番号に応じて、各FIFO62−1〜62−nにそれぞれ対応したライトイネーブル信号WEN1〜WENnを出力する。
【0036】
各FIFO62−1〜62−nは、MAC−DA抽出回路50から出力されるフレームFRMNがそれぞれ入力され、コントローラ61からのライトイネーブル信号WEN1〜
WENnが有効であるときに、システムクロックCLKSYSのタイミングに従って入力フレームFRMNが書き込まれる。各FIFO62−1〜62−nに書き込まれたフレームFRMNは、出力用クロックCLKOUTのタイミングに従って読み出され、各々に対応するポートP1〜Pnからの出力フレームFRM1〜FRMnとなる。
【0037】
MAC学習テーブル管理回路70は、例えば図7のブロック図に示すように、MAC学習テーブルを記憶可能なメモリ71Aおよびプロセッサ71Bを含む記憶ユニット71、並びに、エージングタイマ用のシフトレジスタ72を有する。
【0038】
記憶ユニット71は、MAC−SA抽出回路20からの登録要求RDに応じて、プロセッサ71Bにより、MAC−SA抽出回路20から出力される送信元アドレスMAC−SAおよびポート情報PORTをメモリ71A内のMAC学習テーブルに登録する処理を行い、該登録処理が完了すると応答信号RESをMAC−SA抽出回路20に出力する。また、記憶ユニット71は、MAC−DA抽出回路50からの検索要求SDに応じて、プロセッサ71Bにより、宛先アドレスMAC−DAに該当するデータがメモリ71A内のMAC学習テーブルに登録されているか否かを検索し、その検索結果SRをMAC−DA抽出回路50に通知する。MAC学習テーブルの検索結果SRは、具体的には、検索がヒットした場合、すなわち、宛先アドレスMAC−DAに一致するMACアドレスがMAC学習テーブルに登録されていたときに、該MACアドレスに対応付けられたポート情報PORTをMAC−DA抽出回路50に通知する。一方、宛先アドレスMAC−DAに一致するMACアドレスがMAC学習テーブルに登録されておらず、検索がミスヒットに終わった場合には、ミスヒット情報MISHITをMAC−DA抽出回路50に通知する。
【0039】
シフトレジスタ72は、後述するエージング監視回路80から出力されるエージングタイミング信号SATを受けて、メモリ71A内のMAC学習テーブルに登録されているMACアドレス毎のエージングタイマ値Tを更新する処理を行う。このエージングタイマ値Tの更新処理の詳細については後述する。
【0040】
エージング監視回路80は、例えば図8のブロック図に示すように、自走カウンタ81およびデコーダ82を有する。自走カウンタ81は、エージング周期をカウントする。デコーダ82は、自走カウンタ81のカウント値をデコードすることにより、MAC学習テーブル管理回路70用のエージングタイミング信号SATを生成すると共に、ミスヒットカウント回路90用のエージングタイミング信号SMATを生成する。
【0041】
ミスヒットカウント回路90は、例えば図9のブロック図に示すように、ミスヒットカウントテーブルを記憶可能なメモリ91Aおよびプロセッサ91Bを含む記憶ユニット91、ローカルミスヒット数カウンタ92、ミスヒットカウント値ラッチ93、並びに、コンパレータ94を有する。
【0042】
記憶ユニット91は、MAC−DA抽出回路50から通知される宛先アドレスMAC−DAおよびミスヒット情報MISHITを受けて、プロセッサ91Bにより、宛先アドレスMAC−DA毎のミスヒット回数をメモリ91A内のミスヒットカウントテーブルに登録する処理を行う。また、記憶ユニット91は、MAC−SA抽出回路20から通知される送信元アドレスMAC−SAを受けて、プロセッサ91Bにより、メモリ91A内のミスヒットカウントテーブルを検索し、送信元アドレスMAC−SAに一致するMACアドレスに後述する優先フラグが立てられているか否かを示す優先フラグ情報FLGをMAC学習テーブル管理回路70に通知する。
【0043】
ローカルミスヒット数カウンタ92は、MAC−DA抽出回路50から通知される宛先アドレスMAC−DAに対応したヒット情報HITおよびミスヒット情報MISHITに
応じて、ミスヒットが通知される毎に、メモリ91A内のミスヒットカウントテーブルに現在登録されている宛先アドレスMAC−DAに対応したローカルカウント値CLを読み取り、その値をインクリメントした新たなローカルカウント値CLをメモリ91Aに書き込む。なお、ローカルミスヒット数カウンタ92は、エージング監視回路80からのエージングタイミング信号SMATを受けると、ミスヒットカウントテーブルの各MACアドレスに対応したローカルカウント値CLを初期化する。これにより、エージング周期内のミスヒット回数が、ローカルカウント値CLとしてカウントされることになる。
【0044】
ミスヒットカウント値ラッチ93は、エージング監視回路80からのエージングタイミング信号SMATを受けて、上記ローカルミスヒット数カウンタ92により初期化される前のローカルカウント値CLを読み取り、エージング周期内のミスヒット回数をMACアドレス毎に判断する。そして、ミスヒットカウント値ラッチ93は、判断したエージング周期内のミスヒット回数に従って、メモリ91A内のミスヒットカウントテーブルに登録されている各MACアドレスに対応したミスヒットカウント値CMを更新すると共に、更新後のミスヒットカウント値CMをコンパレータ94に通知する。
【0045】
コンパレータ94は、ミスヒットカウント値ラッチ93から通知されるミスヒットカウント値CMが予め定めた閾値以上であるか否かを判定し、閾値以上の場合には、メモリ91A内のミスヒットカウントテーブルにおける該当するMACアドレスに優先フラグを立てるための信号を出力する。
【0046】
次に、フレーム中継装置1の動作について説明する。
図10は、ライン側から入力されるフレームをネットワーク側の上りフレームとして送信するときの処理の流れを示すフローチャートである。
【0047】
上記のような構成のフレーム中継装置1では、ライン側の各ポートP1〜Pnに接続された端末からフレームFRM1〜FRMnが送信されると、該各フレームFRM1〜FRMnが多重化回路10に与えられ、多重化されたフレームFRMLおよびポート情報PORTがMAC−SA抽出回路20に送られる。MAC−SA抽出回路20では、多重化回路10からのフレームFRMLおよびポート情報PORTを受けて、該フレームFRMLより送信元アドレスMAC−SAが抽出される(図10のS101,S102)。
【0048】
送信元アドレスMAC−SAの抽出が完了すると、MAC学習テーブル管理回路70が処理を受付可能な状態にあるか否かの判定が行われる(S103)。MAC学習テーブル管理回路70において、先に入力されたフレームの送信元アドレスMAC−SAの登録処理または宛先アドレスMAC−DAの検索処理が行われている場合には、当該処理が完了するのを待った後に、MAC−SA抽出回路20により、MAC学習テーブル管理回路70に対して、上記S102で抽出した送信元アドレスMAC−SAおよびポート情報PORTの登録要求RDが行われる(S104)。また、MAC学習テーブル管理回路70に対する登録要求RDと並行して、MAC−SA抽出回路20により、ミスヒットカウント回路90に対して、上記S102で抽出した送信元アドレスMAC−SAの検索要求が行われる(S121)。
【0049】
MAC−SA抽出回路20からの登録要求RDを受けたMAC学習テーブル管理回路70では、送信元アドレスMAC−SAおよびポート情報PORTの登録処理を開始するために、次の登録要求の受付が禁止される(S105)。そして、登録要求RDにおける送信元アドレスMAC−SAに一致するMACアドレスが、メモリ71A内のMAC学習テーブルに登録済みであるか否かの判定が行われる(S106)。登録済みの場合には、該MACアドレスに対応させてMAC学習テーブルに登録されているエージングタイマ値Tが初期化される(S107)。
【0050】
一方、送信元アドレスMAC−SAに一致するMACアドレスがMAC学習テーブルに未登録の場合には、MAC学習テーブルに空き物理アドレスがあるか否かの判定が行われる(S111)。MAC学習テーブルに空き物理アドレスが有る場合、該空き物理アドレスに、登録要求のあった送信元アドレスMAC−SAおよびポート情報PORTが登録される(S112)。一方、空き物理アドレスが無い場合、すなわち、MAC学習テーブルのFULL状態には、MAC学習テーブルの登録データについて、優先フラグが無く、かつ、エージングタイマ値Tが最も大きいMACアドレスが特定され、該MACアドレスが登録されている物理アドレスに、登録要求のあった送信元アドレスMAC−SAおよびポート情報PORTが上書き登録される(S113)。上記S112またはS113により、登録要求のあった送信元アドレスMAC−SAおよびポート情報PORTがMAC学習テーブルに登録されると、後述するS114に進む。
【0051】
前述したS121においてMAC−SA抽出回路20からの検索要求を受けたミスヒットカウント回路90では、送信元アドレスMAC−SAに一致するMACアドレスが、メモリ91A内のミスヒットカウントテーブルに登録されているか否かの判定が行われる(S122)。なお、ミスヒットカウントテーブルの詳細については後述する。
【0052】
上記S122の判定で登録有りの場合、該MACアドレスに対応する優先フラグの有無が判定され(S123)、優先フラグ有りであれば、優先フラグ情報として「FLG=1」がMAC学習テーブル管理回路70に通知される(S124)。一方、上記S122の判定で登録無しの場合、または、上記S123の判定で優先フラグ無しの場合には、優先フラグ情報として「FLG=0」がMAC学習テーブル管理回路70に通知される(S125)。
【0053】
上記ミスヒットカウント回路90からの優先フラグ情報FLGの通知を受けたMAC学習テーブル管理回路70では、前述したS112またはS113において送信元アドレスMAC−SAおよびポート情報PORTを登録した、MAC学習テーブルの物理アドレスに対して、優先フラグ情報FLGが登録される(S114)。上記S111〜S114の処理により、登録要求のあった送信元アドレスMAC−SAおよびポート情報PORT、並びに、該送信元アドレスMAC−SAに対応した優先フラグ情報FLGがMAC学習テーブルに登録されると、前述したS107に移り、上記送信元アドレスMAC−SAに対応するエージングタイマ値Tとして初期値が設定される。
【0054】
上記S107によりエージングタイマ値Tの初期化が済むと、MAC学習テーブル管理回路70は、MAC−SA抽出回路20からの登録要求RDに応じた送信元アドレスMAC−SAおよびポート情報PORTの登録処理を完了し、次の登録要求の受付を許可する(S108)。そして、MAC−SA抽出回路20を通過したフレームFRMLが、上りフレーム送信回路30に送られることにより、ネットワーク側に上りフレームが送信される(S109)。
【0055】
ここで、MAC学習テーブルの構成について、図11に示す具体的な一例を参照しながら詳しく説明する。図11のMAC学習テーブルは、例えば、物理アドレス0,1,…n毎に、登録有無フラグ、ポート情報PORT、MACアドレス、エージングタイマ値T、タイムアウトフラグおよび優先フラグをそれぞれ管理している。
【0056】
登録有無フラグは、MAC学習テーブルの個々の物理アドレスにデータが登録されているか否かを示すものであり、登録有りの場合に「1」が設定され、登録無しの場合に「0」が設定される。この登録有無フラグは、前述の図10に示したS111における空き物理アドレスの判定に利用可能である。図11の例では、2番の物理アドレスが、データの
登録されていない空き物理アドレスに該当している。
【0057】
ポート情報PORTは、フレームFRMLが入力された物理ポートの番号を表している。MACアドレスは、登録要求RDのあった送信元アドレスMAC−SAに該当し、後述する下りフレームについての出力先ポートの振り分け時には、宛先アドレスMAC−DAの検索対象となる。
【0058】
エージングタイマ値Tは、送信元アドレスMAC−SAがMAC学習テーブルに登録されてからの経過時間を5ビットの値で表している。タイムアウトフラグは、エージングタイマ値Tが予め定めた値を超えてタイムアウトになったか否かを示すものであり、タイムアウトになった場合に「1」が設定され、タイムアウトになっていない場合に「0」が設定される。
【0059】
優先フラグは、前述の図10に示したS124およびS125の処理で設定される優先フラグ情報FLGに対応している。つまり、ミスヒットカウント回路90のミスヒットカウントテーブルにおいて、送信元アドレスMAC−SAに一致するMACアドレスが登録されており、かつ、該MACアドレスに対応付けて優先フラグが立てられている場合に、MAC学習テーブルにも優先フラグとして「1」が設定される。
【0060】
上記優先フラグに「1」が設定されているMACアドレスに対しては、MAC学習テーブルがFULL状態、すなわち、全ての物理アドレスにデータが登録されており登録有無フラグが全て「1」の状態におけるデータの上書き登録が禁止される。つまり、ミスヒット回数が多いMACアドレスについては、MAC学習テーブルにデータが一度登録されると、該データが上書き登録により削除されないよう保護される。ただし、優先フラグに「1」が設定されていても、エージングタイマ値Tがタイムアウトした場合には、登録データが削除される。これは、該当するMACアドレスを有する端末がライン側のポートから切り離された場合に対応するためである。
【0061】
ここで、図11に示したMAC学習テーブルの一例を用いて、前述したライン側からネットワーク側への上り方向の処理におけるMAC学習機能に関係する動作を具体的に説明しておく。MAC−SA抽出回路20で抽出された送信元アドレスMAC−SAがMAC学習テーブルに未登録であれば、登録有無フラグを利用して空き物理アドレスが有るかどうかが確認される。空き物理アドレスが有れば、該空き物理アドレスに対して、送信元アドレスMAC−SAが新規登録される。この新規登録時には、登録有無フラグが「1」に設定されると共に、送信元アドレスMAC−SAに対応するポート情報PORTが登録される。また、エージングタイマ値Tが初期値の「00001」に設定され、タイムアウトフラグが「0」に設定される。
【0062】
一方、全ての登録有無フラグが「1」で空き物理アドレスが無ければ、MAC学習テーブルに登録済みのデータのうちで、優先フラグが「0」に設定され、かつ、エージングタイマ値Tが最も大きいMACアドレスが特定される。そして、そのMACアドレスが登録されている物理アドレスに対して、新たな送信元アドレスMAC−SAおよびポート情報PORT等が上書き登録される。なお、登録要求RDのあった送信元アドレスMAC−SAがMAC学習テーブルに既に登録済みであれば、対応するエージングタイマ値Tが初期値の「00001」に戻される。
【0063】
上記エージングタイマ値Tおよびタイムアウトフラグは、MAC学習テーブルの登録データのエージング処理に用いられる。図12は、MAC学習テーブルにおける1つの物理アドレスに着目したエージング処理の遷移の一例である。ここでは、5ビットのエージングタイマ値Tを用いてエージングタイムを簡易的に管理している。
【0064】
具体的に、図12における(A)の状態は、当該物理アドレスに送信元アドレスMAC−SA等のデータが登録されていない未登録時に該当しており、この状態ではエージングタイマ値Tが「00000」、タイムアウトフラグが「0」にそれぞれ設定される。そして、MAC学習テーブルに登録されていない送信元アドレスMAC−SAの登録要求RDを受けて、該送信元アドレスMAC−SAが上記物理アドレスに新規登録されるとエージング監視が開始され、(B)に示すようにエージングタイマ値Tの最下位ビットLSBに「1」が設定される。つまり、エージングタイマ値Tが「00001」へ遷移する。
【0065】
上記(B)の状態で一定時間(エージング周期)が経過して、エージング監視回路80から出力されるエージングタイミング信号SATがMAC学習テーブル管理回路70に通知されると、該MAC学習テーブル管理回路70のシフトレジスタ72の動作によって、(C)に示すようにエージングタイマ値Tが「00011」へ遷移する。さらに、(C)の状態でエージング周期が経過すると、上記と同様にシフトレジスタ72の動作によって、(D)に示すようにエージングタイマ値Tが「00111」へ遷移する。
【0066】
上記(D)の状態で、同一の送信元アドレスMAC−SAの登録要求RDを受けた場合には、エージング監視を再スタートさせるため、(E)に示すようにエージングタイマ値Tが「00001」に初期化される。エージング監視の再スタート後は、上記(B)〜(D)に対応した処理と同様にして、エージング周期が経過する毎にエージングタイマ値Tが、(F)に示す「00011」、(G)に示す「00111」、(H)に示す「01111」、(I)に示す「11111」へと順に遷移する。
【0067】
そして、上記(I)の状態でエージング周期が経過すると、(J)に示すようにタイムアウトフラグが「1」に設定されてエージングタイムアウトとなり、当該物理アドレスの登録データが削除される。これにより、MAC学習テーブルの登録有無フラグは「0」に設定される。
【0068】
MAC学習テーブル管理回路70では、上記のような一連のエージング監視が、MAC学習テーブルの各物理アドレスの登録データについてそれぞれ行われる。前述したMAC学習テーブルのFULL状態は、MAC学習テーブルの全ての物理アドレスにデータが登録済みであって、各々の登録データがエージングタイムアウトに至っていない状態、つまり、MAC学習テーブルの全ての物理アドレスにおける登録有無フラグが「1」であり、かつ、タイムアウトフラグが「0」の状態に該当している。
【0069】
上記のようなMAC学習テーブルのFULL状態において、未登録の送信元アドレスMAC−SAの登録要求RDを受けた場合、一般的なMAC学習テーブルの管理手法では、登録データが最新の状態に保たれるように、エージングタイマ値Tが最も大きい物理アドレスの登録データが上書きの対象とされる。また、エージングタイマ値Tが最大の物理アドレスが複数ある場合には、物理アドレスの番号が最も小さいものが上書きの対象とされる。しかし、このような一般的な手法で上書き登録の処理を行った場合、上書きによりMAC学習テーブルから削除されたMACアドレスと同一の宛先アドレスMAC−DAを含む下りフレームがネットワーク側から入力されると、フラッディングが行われることになるため、ライン側の各ポートの帯域が圧迫されてしまう。
【0070】
そこで、本実施形態のフレーム中継装置1は、MAC学習テーブルを宛先アドレスMAC−DAで検索した時のミスヒット回数をカウントしておき、MAC学習テーブルのFULL状態におけるデータの上書き登録を行う際に、ミスヒット回数が多いMACアドレスに対応した登録データが上書きの対象とならないようにMAC学習テーブルの管理を行うことで、上書き登録に起因して発生するフラッディングを抑制している。以下、ミスヒッ
ト回数のカウント処理が行われる下りフレームの処理について詳しく説明する。
【0071】
図13は、ネットワーク側から受信した下りフレームを宛先アドレスMAC−DAに応じてライン側の各ポートP1〜Pnに出力するときの処理の流れを示すフローチャートである。ネットワーク側からの下りフレームは、フレーム中継装置1の下りフレーム受信回路40を通ってMAC−DA抽出回路50に送られる。MAC−DA抽出回路50では、フレーム入力回路40からのフレームFRMNを受けて、該フレームFRMNより宛先アドレスMAC−DAが抽出される(図13のS201,S202)。
【0072】
宛先アドレスMAC−DAの抽出が完了すると、MAC学習テーブル管理回路70が処理を受付可能な状態にあるか否かの判定が行われる(S203)。MAC学習テーブル管理回路70において、先に入力されたフレームの宛先アドレスMAC−DAの検索処理または送信元アドレスMAC−SAの登録処理が行われている場合には、当該処理が完了するのを待った後に、MAC−DA抽出回路50により、MAC学習テーブル管理回路70に対して、上記S202で抽出した宛先アドレスMAC−DAの検索要求SDが行われる(S204)。また、MAC学習テーブル管理回路70に対する検索要求SDと並行して、MAC−DA抽出回路50により、ミスヒットカウント回路90に対して、上記S202で抽出した宛先アドレスMAC−DAについてのミスヒット回数のカウント処理が要求される(S211)。
【0073】
MAC−DA抽出回路50からの検索要求SDを受けたMAC学習テーブル管理回路70では、宛先アドレスMAC−DAの検索処理を開始するために、次の検索要求SDの受付が禁止される(S205)。そして、検索要求SDにおける宛先アドレスMAC−DAに一致するMACアドレスが、メモリ71A内のMAC学習テーブルに登録済みであるか否かの判定が行われる(S206)。登録済みの場合には、該MACアドレスに対応するポート情報PORTが読み取られ、該ポート情報PORTの示すポート番号(PORT=k)が検索結果SRとしてMAC−DA抽出回路50に通知される(S207)。一方、未登録の場合には、ミスヒット情報MISHITと共に、ライン側の全てのポート番号(PORT=all)が検索結果SRとしてMAC−DA抽出回路50に通知される(S208)。
【0074】
MAC学習テーブル管理回路70からの検索結果SRを受けたMAC−DA抽出回路50では、フレームFRMNの出力先となるポート番号を指示するポート指示信号PIが生成され、該ポート指示信号PIがフレームFRMNと一緒に出力先振り分け回路60に出力される。上記ポート指示信号PIは、検索結果がヒットのときに1つのポート番号(PORT=k)を指示し、ミスヒットのときに全てのポート番号(PORT=all)を指示する。また、MAC−DA抽出回路50により、MAC学習テーブル管理回路70での検索結果に対応したヒット情報HITおよびミスヒット情報MISHITが、ミスヒットカウント回路90に通知される。
【0075】
前述したS211において、MAC−DA抽出回路50で抽出された宛先アドレスMAC−DAについてのミスヒット回数のカウント処理要求を受けたミスヒットカウント回路90では、宛先アドレスMAC−DAに一致するMACアドレスが、メモリ91A内のミスヒットカウントテーブルに登録されているか否かの判定が行われる(S212)。登録済みの場合には、MAC−DA抽出回路50から通知されるヒット情報HITおよびミスヒット情報MISHITを基に、MAC学習テーブルについての当該宛先アドレスMAC−DAの検索がヒットしたか否かの判定が行われる(S213)。ヒットの場合には、ミスヒットカウントテーブルの上記MACアドレスに対応した登録データが削除される(S214)。一方、ミスヒットの場合には、ミスヒットカウントテーブルに登録されている上記MACアドレスに対応したミスヒット回数がインクリメントされる。
【0076】
上記S212において、宛先アドレスMAC−DAに一致するMACアドレスがミスヒットカウントテーブルに登録されていないと判定された場合、ミスヒットカウントテーブルに空き物理アドレスがあるか否かの判定が行われる(S216)。ミスヒットカウントテーブルに空き物理アドレスがある場合、該空き物理アドレスに宛先アドレスMAC−DAが登録される(S217)。一方、空き物理アドレスがない場合には、ミスヒットカウントテーブルの登録データについて、カウント有効フラグが「1」であり、かつ、ミスヒットカウント値CMが最も小さいMACアドレスが特定され、該MACアドレスが登録されている物理アドレスに新たな宛先アドレスMAC−DAが上書き登録される(S218)。なお、ミスヒットカウントテーブルの具体的な構成とその管理に関する内容については後で詳しく説明することにする。
【0077】
上記のようなS211〜S218によるミスヒットカウント回路90での一連の処理が済むと、MAC学習テーブル管理回路70は、MAC−DA抽出回路50からの検索要求SDに応じた宛先アドレスMAC−DAの検索処理を完了し、次の検索要求の受付を許可する(S221)。
【0078】
続いて、MAC−DA抽出回路50から出力されるフレームFRMNおよびポート指示信号PIを受けた出力先振り分け回路60では、コントローラ61により、ポート指示信号PIが1つのポート番号(PORT=k)を指示するものであるかの判定が行われる(S222)。PORT=kである場合、コントローラ61により、ライン側のk番目のポートPkに対応したFIFO62−kに対してライトイネーブル信号WENkが出力されて、MAC−DA抽出回路50からのフレームFRMNがFIFO62−kを通ってポートPkに出力される(S223)。
【0079】
一方、上記ポート指示信号PIの指示がPORT=allである場合には、コントローラ61により、ライン側の全てのポートP1〜Pnに対応したFIFO62−1〜62−nに対してライトイネーブル信号WEN1〜WENnがそれぞれ出力される。これにより、MAC−DA抽出回路50からのフレームFRMNが各FIFO62−1〜62−nを通って各ポートP1〜Pnに出力され、フラッディングが行われる(S224)。
【0080】
ここで、上記ミスヒットカウントテーブルの構成について、図14に示す具体的な一例を参照しながら詳しく説明する。図14のミスヒットカウントテーブルは、物理アドレス0,1,…n毎に、登録有無フラグ、MACアドレス、カウント有効フラグ、ローカルカウント値CL、ミスヒットカウント値CMおよび優先フラグをそれぞれ管理している。
【0081】
登録有無フラグは、ミスヒットカウントテーブルの個々の物理アドレスにデータが登録されているか否かを示すものであり、登録有りの場合に「1」が設定され、登録無しの場合に「0」が設定される。この登録有無フラグは、前述したS216における空き物理アドレスの判定に利用可能である。図14の例では、2番の物理アドレスが、データの登録されていない空き物理アドレスに該当している。
【0082】
MACアドレスは、ミスヒット回数のカウント処理要求のあった宛先アドレスMAC−DAに該当し、前述した上り方向のフレームFRMLについてのMAC学習テーブルへの登録要求時には、送信元アドレスMAC−SAの検索対象となる。
【0083】
カウント有効フラグは、ミスヒットカウント値CMが有効であるか否かを示す。ローカルカウント値CLは、該当するMACアドレスについてカウントされたミスヒット回数の途中経過を示す。ミスヒットカウント値CMは、ミスヒットエージング周期毎のミスヒット回数(頻度)を示す。優先フラグは、ミスヒットカウント値CMが予め定めた閾値以上
であるか否かを示す(前述の図11に示したMAC学習テーブルの優先フラグに対応)。
【0084】
上記のようなミスヒットカウントテーブルの登録データは、前述の図13に示したS212〜S218の一連の処理により管理される。このミスヒットカウントテーブルの管理の具体的な内容について図15を参照しながら詳しく説明する。
【0085】
図15の(1)に示す段階では、特定の宛先アドレスMAC−DA(以下、MAC−DA=αと表記する)を含む下りフレームがネットワーク側から入力され、該宛先アドレスMAC−DA=αでMAC学習テーブルを検索してミスヒットになった場合を想定している。このとき、ミスヒットカウントテーブルにおいて登録有無フラグが「0」となっている空き物理アドレスがあれば、該物理アドレスに上記宛先アドレスMAC−DA=αが登録され、該当する登録有無フラグが「1」に設定される。この段階では、エージング監視回路80からのエージングタイミング信号SMATがミスヒットカウント回路90で受信されておらずミスヒットエージング周期を経過していないため、カウント有効フラグは「0」に設定される。ローカルカウント値CLは、ローカルミスヒット数カウンタ92のカウントアップ動作により「1」となるが、カウント有効フラグが「0」であるため、ミスヒットカウント値CMは「0」に設定される。このミスヒットカウント値CMはコンパレータ94に設定された閾値(例えば、255回)より小さいので、優先フラグは「0」に設定される。
【0086】
続いて、(2)の段階では、エージング監視回路80からのエージングタイミング信号SMATがミスヒットカウント回路90で受信される。上記(1)の段階で宛先アドレスMAC−DA=αを新規登録した後、上記エージングタイミング信号SMATを受信するまでの経過時間は、ミスヒットエージング周期の一周期分には満たないため、この段階でのカウント有効フラグは「0」のままとされ、ローカルカウント値CLが「0」に初期化される。
【0087】
(3)の段階では、宛先アドレスMAC−DA=αを含む下りフレームが再びネットワーク側から入力され、MAC学習テーブルの検索結果がミスヒットになったことにより、ローカルカウント値CLがカウントアップされて「1」となる。続く(4)および(5)の段階でも、上記(3)の段階と同様に、宛先アドレスMAC−DA=αを含む下りフレームの入力およびMAC学習テーブルの検索ミスヒットにより、ローカルカウント値CLが順次カウントアップされる。(5)の段階でのローカルカウント値CLは「3」となる。
【0088】
(6)の段階では、エージング監視回路80からのエージングタイミング信号SMATがミスヒットカウント回路90で受信され、上記(2)の段階でのエージングタイミング信号SMATの受信からミスヒットエージング周期の一周期分が経過したことになるため、カウント有効フラグが「1」に設定される。そして、このタイミングの直前におけるローカルカウント値CLの「3」がミスヒットカウント値CMに転写され、ローカルカウント値CLが「0」に初期化される。
【0089】
(7)の段階では、上記(3)の段階と同様に、宛先アドレスMAC−DA=αを含む下りフレームの入力およびMAC学習テーブルの検索ミスヒットにより、ローカルカウント値CLがカウントアップされて「1」となる。これ以降、図示を省略しているがMAC−DA=αのフレーム入力が高い頻度で発生してミスヒット回数のカウントが積み重ねられ、(8)の段階におけるローカルカウント値CLは「FF」(16進数表示)となっている。つまり、(7)の段階から(8)の段階に至るまでの間にミスヒットが255回発生したことになる。
【0090】
(9)の段階では、ミスヒットカウント回路90がエージングタイミング信号SMATを受信する。上記(6)の段階でのエージングタイミング信号SMATの受信からミスヒットエージング周期の一周期分が経過したことになるため、このタイミングの直前におけるローカルカウント値CLの「FF」がミスヒットカウント値CMに転写される。このミスヒットカウント値CMは、コンパレータ94に設定された閾値以上となるため、優先フラグが「1」に設定される。なお、ローカルカウント値CLは「0」に初期化される。以降、上記と同様にしてミスヒットエージング周期毎にミスヒットカウント値CMが更新され、MAC−DA=αの下りフレームの流量(入力頻度)に応じた優先フラグの設定が行われる。
【0091】
(10)の段階では、宛先アドレスMAC−DA=αの下りフレーム入力に応じたMAC学習テーブルの検索結果がヒットになる、すなわち、MAC−DA=αに一致したMACアドレスがMAC学習テーブルに登録済みとなったことにより、ミスヒットカウントテーブルからMACアドレスがαに該当する登録データが削除される。これにより、当該物理アドレスの登録有無フラグ、カウント有効フラグ、ローカルカウント値CL、ミスヒットカウント値CMおよび優先フラグはいずれも「0」に設定される。
【0092】
なお、上記ミスヒットカウントテーブルの管理に関する説明では、MAC学習テーブルの検索結果がミスヒットになった宛先アドレスMAC−DA=αをミスヒットカウントテーブルに登録する際に、ミスヒットカウントテーブルに空きの物理アドレスがある場合を想定した。しかし、ミスヒットカウントテーブルに空きの物理アドレスが無いFULL状態の場合であっても、例えば、ミスヒットカウントテーブルの登録データのうちで、カウント有効フラグが「1」であり、かつ、ミスヒットカウント値CMが最も小さいMACアドレスを特定し、該MACアドレスが登録されている物理アドレスのデータを上書きの対象として、新たにミスヒットになった宛先アドレスMAC−DA=αを登録することが可能である。上書き対象の条件の1つとして、カウント有効フラグが「1」を設定している理由は、登録直後のMACアドレスに対する上書きを防止するためである。これにより、ミスヒットカウントテーブルのFULL状態には、ミスヒット回数が相対的に少ないMACアドレスに対して上書き登録の処理が行われるようになる。
【0093】
上記のようにしてミスヒットカウントテーブルの管理が行われることにより、MAC学習テーブルにおける宛先アドレスMAC−DAの検索で、一定周期内に発生するミスヒット回数が所要の閾値以上になるMACアドレス、つまり、MAC学習テーブルに未登録のMACアドレスのうちで、ネットワーク側からライン側への下り方向のフレーム出力流量が多いMACアドレスが特定され、該MACアドレスに対応付けてミスヒットカウントテーブルに優先フラグが立てられるようになる。
【0094】
このミスヒットカウントテーブルの優先フラグに関する情報が、MAC学習テーブルに送信元アドレスMAC−SAおよびポート情報を登録する際に参照され、下り方向のフレーム出力流量が多いMACアドレスに該当するMAC学習テーブルの登録データにも優先フラグが立てられることになる(上述した図10のS114)。そして、MAC学習テーブルのFULL状態において、未登録の送信元アドレスMAC−SAの登録要求を受けた場合には、優先フラグが無く、かつ、エージングタイマ値Tが最も大きいMACアドレスに対応した登録データが上書きの対象とされる(上述した図10のS113)。つまり、MAC学習テーブルの優先フラグが立てられたMACアドレスに対応する登録データは、FULL状態における上書き登録の対象から優先的に除外される。
【0095】
したがって、フレーム中継装置1によれば、下り方向のフレーム出力流量が多いMACアドレスについては、MAC学習テーブルに一度登録されれば、MAC学習テーブルがFULL状態になっても、エージング監視でタイムアウトにならない限り、該MACアドレ
スに対応した登録データは上書き削除されないように保護される。その結果、MAC学習テーブルのFULL状態において、下り方向のフレーム出力流量が比較的少ないMACアドレスの登録データに対して新たなデータが上書き登録されるようになるため、該上書き登録に起因して発生するフラッディングを抑制することができる。たとえ上書き登録に起因したフラッディングが発生したとしても、ライン側の各ポートP1〜Pnに転送されるフレームが消費する各ポートの帯域は限られているので、通信網の帯域圧迫を効果的に緩和することが可能である。また、MAC学習テーブルおよびミスヒットカウントテーブルについて、FULL状態での上書き登録を可能にしているため、フレーム中継装置1に接続され得る端末の台数が多数に及んでもメモリ容量の増大を抑えることができ、低コスト化にも有利である。
【0096】
次に、上述したフレーム中継装置1の応用例について説明する。
図16は、フレーム中継装置1の応用例に用いられるミスヒットカウント回路の構成を示すブロック図である。なお、この応用例におけるミスヒットカウント回路以外の各回路要素の構成は上述したフレーム中継装置1と同一であるため、ここでの説明を省略する。
【0097】
図16において、上記応用例に用いられるミスヒットカウント回路90’の構成が、上述の図9に示したミスヒットカウント回路90の構成と異なる点は、コンパレータ94の出力にラッチ95が挿入されている点である。このラッチ95は、コンパレータ94から出力される信号の状態を保持する機能を持つ。
【0098】
上記のような構成のミスヒットカウント回路90’では、ミスヒットカウントテーブルに登録されている各MACアドレスに対応したミスヒットカウント値CMが閾値以上となった場合に、当該MACアドレスに対して優先フラグを設定するためにコンパレータ94から出力される信号の状態がラッチ95によって保持される。そして、当該MACアドレスがミスヒットカウントテーブルから削除されることにより、ラッチ95がリセットされる。
【0099】
これにより、上記MACアドレスを宛先とする下りフレームの流量が変動して、ミスヒットカウント値CMが一時的に閾値より小さくなっても、そのミスヒットカウント値CMの変化によって優先フラグの設定が解除されてしまうことが回避される。つまり、ミスヒットカウント値CMが閾値の近辺で比較的短い時間に変化するような状況でも、優先フラグが一度設定されると、ミスヒットカウント値CMの変化に関係なく、当該MACアドレスがミスヒットカウントテーブルから削除されるまで、優先フラグ有りの状態が維持される。このため、MAC学習テーブルのFULL状態における上書き登録の処理を安定して行うことが可能になる。
【0100】
以上の実施形態に関して、さらに以下の付記を開示する。
【0101】
(付記1) 入力ポートと、
前記入力ポートから入力するフレームに含まれる送信元アドレスを抽出する送信元アドレス抽出手段と、
前記送信元アドレス抽出手段で抽出された送信元アドレス、および、前記フレームが入力された前記入力ポートの対応関係を示すデータを記憶する記憶手段と、
出力ポートに出力するフレームに含まれる宛先アドレスを抽出する宛先アドレス抽出手段と、
前記記憶手段から、前記宛先アドレス抽出手段で抽出された宛先アドレスに該当するデータを検索する検索手段と、
前記検索手段の検索結果に基づいて、前記出力ポートから前記宛先アドレスに対応するポートを選択し、該ポートに前記宛先アドレスを含むフレームを振り分ける出力先振り分
け手段と、
前記検索手段の検索結果がミスヒットになる回数を宛先アドレス毎にカウントし、該カウントしたミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出するミスヒットカウント手段と、
前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータが前記記憶手段に記憶された後、当該記憶手段に記憶されている全てのデータのうちで、前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータが上書き削除されないように保護する管理手段と、
を備えたことを特徴とするフレーム中継装置。
【0102】
(付記2) 付記1に記載のフレーム中継装置であって、
前記出力先振り分け手段は、前記検索手段の検索結果がミスヒットのとき、前記出力ポートの全てに前記宛先アドレスを含むフレームを振り分けることを特徴とするフレーム中継装置。
【0103】
(付記3) 付記1または2に記載のフレーム中継装置であって、
前記管理手段は、前記記憶手段がデータで満杯の状態にあるときに、前記記憶手段にデータが記憶されていない新たな送信元アドレスを含むフレームが前記入力ポートの少なくとも1つから入力すると、前記記憶手段に記憶された全てのデータのうち、前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータ以外で最も古くに記憶されたデータに対して、前記新たな送信元アドレスに対応したデータを上書きすることを特徴とするフレーム中継装置。
【0104】
(付記4) 付記1〜3のいずれか1つに記載のフレーム中継装置であって、
前記ミスヒットカウント手段は、所定の周期内に前記検索手段の検索結果がミスヒットになる回数を宛先アドレス毎にカウントし、そのカウントした所定の周期内のミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出することを特徴とするフレーム中継装置。
【0105】
(付記5) 付記4に記載のフレーム中継装置であって、
前記ミスヒットカウント手段は、前記カウントした所定の周期内のミスヒット回数が前記閾値以上になった場合、当該カウント周期以降において前記ミスヒット回数を保持して前記宛先アドレスの検出を行うことを特徴とするフレーム中継装置。
【0106】
(付記6) 付記1〜5のいずれか1つに記載のフレーム中継装置であって、
前記記憶手段にデータが記憶済みの送信元アドレスを含むフレームが、該送信元アドレスに対応付けられた前記ポートに対して所定の時間内に再入力されるか否かを監視し、再入力の無い送信元アドレスに該当するデータを前記記憶手段から削除するエージング監視手段を備えたことを特徴とするフレーム中継装置。
【0107】
(付記7) 付記1〜6のいずれか1つに記載のフレーム中継装置であって、
前記送信元アドレス抽出手段で送信元アドレスの抽出が行われたフレームをネットワークに送信する送信手段と、
前記ネットワークを伝送されたフレームを受信し、該フレームを前記宛先アドレス抽出手段に与える受信手段と、
を備えたことを特徴とするフレーム中継装置。
【0108】
(付記8) 入力ポートから入力するフレームに含まれる送信元アドレスを抽出し、
抽出した前記送信元アドレス、および、前記フレームが入力された前記入力ポートの対応関係を示すデータを記憶し、
出力ポートに出力するフレームに含まれる宛先アドレスを抽出し、
記憶した前記データから、抽出した前記宛先アドレスに該当するデータを検索し、
前記検索の結果に基づいて、前記出力ポートから前記宛先アドレスに対応するポートを選択し、該ポートに前記宛先アドレスを含むフレームを振り分けるフレーム中継方法であって、
前記検索の結果がミスヒットになる回数を宛先アドレス毎にカウントし、
該カウントしたミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出し、
検出した前記宛先アドレスに該当するデータを記憶した後、全ての記憶データのうちで、検出した前記宛先アドレスに該当するデータが上書き削除されないように保護することを特徴とするフレーム中継方法。
【符号の説明】
【0109】
1…フレーム中継装置
10…多重化回路
11−1〜11−n…速度変換FIFO
12…セレクタ
20…MAC−SA抽出回路
21,51…待機用メモリ
22…MAC−SAラッチ
23,53…SFDラッチ
24,54…フレームカウンタ
25…MAC−SAタイミングデコーダ
30…上りフレーム送信回路
31,41…フリップフロップ
40…下りフレーム受信回路
50…MAC−DA抽出回路
52…MAC−DAラッチ
55…MAC−DAタイミングデコーダ
56…論理和(OR)回路
57…論理否定(NOT)回路
60…出力先振り分け回路
61…コントローラ
62−1〜62−n…FIFO
70…MAC学習テーブル管理回路
71,91…記憶ユニット
71A,91A…メモリ
71B,91B…プロセッサ
72…シフトレジスタ
80…エージング監視回路
81…自走カウンタ
82…デコーダ
90,90’ …ミスヒットカウント回路
92…ローカルミスヒット数カウンタ
93…ミスヒットカウント値ラッチ
94…コンパレータ
95…ラッチ
CL…ローカルカウント値
CM…ミスヒットカウント値
FLG…優先フラグ情報
FRM1〜FRMn,FRML,FRMN…フレーム
HIT…ヒット情報
MISHIT…ミスヒット情報
MAC−SA…送信元アドレス
MAC−DA…宛先アドレス
P1〜Pn…ポート
PORT…ポート情報
SAT,SMAT…エージングタイミング信号
T…エージングタイマ値
【技術分野】
【0001】
本発明は、フラッディングの発生を抑制するフレーム中継装置およびフレーム中継方法に関する。
【背景技術】
【0002】
例えば、イーサネット(登録商標、以下同様)通信に利用されるレイヤ2スイッチ等のフレーム中継装置は、受信したフレームを複数のポートに振り分けて出力するためのMAC学習機能を備える。このMAC学習機能は、フレーム中継装置の各ポートから入力するフレームより、送信元の端末のMAC(Media Access Control)アドレス(以下、「送信元アドレス」とする)を抽出し、該送信元アドレスを上記フレームが入力されたポートの情報と一緒にMAC学習テーブルへ登録する。
【0003】
上記MAC学習テーブルは、フレーム中継装置の受信フレームに含まれる、送信先の端末のMACアドレス(以下、「宛先アドレス」とする)で検索され、該宛先アドレスに該当するデータがMAC学習テーブルに登録済みの場合に、当該MACアドレスに対応付けられたポート情報に従って、上記フレームの出力先ポートの振り分けが行われる。一方、宛先アドレスに該当するデータがMAC学習テーブルに未登録の場合には、上記フレームが入力ポート以外の全てのポートから出力されるようにする「フラッディング(Flooding)」と呼ばれる処理が行われる。
【0004】
上記フラッディングは、宛先アドレスに対応した出力先ポートが不明であってもフレームを送信先の端末に確実に送ることができる反面、本来の出力先ポート以外のポートにもフレームが転送されてしまうので、各ポートの通信帯域を必要以上に消費することになる。このため、フレーム中継装置におけるフラッディングの発生は、通信網の帯域圧迫を招くという問題がある。この問題に対処した従来技術として、例えば特許文献1,2には、送信元アドレスと入力ポートの対応関係がMAC学習テーブルに登録されるまでの待ち時間を短くすることにより、フラッディングの発生を抑制して通信網の帯域圧迫を軽減する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−266850号公報
【特許文献2】特開2011−015094号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上記のような従来のMAC学習機能を備えたフレーム中継装置において、MAC学習テーブルに登録可能なデータの量は、該MAC学習テーブルに割り当てられるメモリ等の容量に制約される。このため、MAC学習テーブルが登録データで満杯になり空きの無い状態(以下、FULL状態とする)にあるときに、未登録の送信元アドレスを含むフレームがいずれかのポートに入力された場合、フレーム中継装置は、MAC学習テーブルに登録済みのデータの一部に新たなデータを上書き登録することが必要になる。この上書き登録の処理では、通常、MAC学習テーブルにデータが登録された順番に従い、最も古い登録データが上書きの対象とされる。つまり、MAC学習テーブルの登録データが最新の状態に保たれるように、MAC学習テーブルの管理が行われる。
【0007】
上記のようなMAC学習テーブルのFULL状態における上書き登録の処理を行った後
に、上書きの対象とされたMACアドレスと同一の宛先アドレスを含んだフレームがいずれかのポートに入力されると、該宛先アドレスに該当するデータがMAC学習テーブルに登録されていないため、前述したようなフラッディングが行われることになり、通信網の帯域圧迫が課題になる。この課題に対して前述した従来技術、すなわち、MAC学習テーブルへの登録待ち時間を短縮することでフラッディングを抑制する技術は、上記のようなMAC学習テーブルのFULL状態における処理の内容について開示していないため、新たなデータの上書き登録に起因して発生するフラッディングによる帯域圧迫までを軽減することは困難である。
【0008】
なお、上記課題に対し、MAC学習テーブルに割り当てられるメモリの容量を大きくすることによって、MAC学習テーブルがFULL状態にならないようにする解決策が考えられる。しかし、MACアドレスのビット数は48ビットであり、フレーム中継装置に接続され得る全ての端末のMACアドレスと、該各MACアドレスに対応したポート情報とを漏れ無く登録することが可能な容量を確保するには、大規模なメモリを多数用意することが必要になる。このため、装置コスト等の面を考慮すると、上記解決策は現実的ではない。
【0009】
本発明は上記の点に着目してなされたもので、MAC学習テーブルの上書き登録に起因して発生するフラッディングを抑制し、通信網の帯域圧迫を緩和できるフレーム中継装置およびフレーム中継方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本願の開示するフレーム中継装置の一態様は、入力ポートと、前記入力ポートから入力するフレームに含まれる送信元アドレスを抽出する送信元アドレス抽出手段と、前記送信元アドレス抽出手段で抽出された送信元アドレス、および、前記フレームが入力された前記入力ポートの対応関係を示すデータを記憶する記憶手段と、出力ポートに出力するフレームに含まれる宛先アドレスを抽出する宛先アドレス抽出手段と、前記記憶手段から、前記宛先アドレス抽出手段で抽出された宛先アドレスに該当するデータを検索する検索手段と、前記検索手段の検索結果に基づいて、前記出力ポートから前記宛先アドレスに対応するポートを選択し、該ポートに前記宛先アドレスを含むフレームを振り分ける出力先振り分け手段と、前記検索手段の検索結果がミスヒットになる回数を宛先アドレス毎にカウントし、該カウントしたミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出するミスヒットカウント手段と、前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータが前記記憶手段に記憶された後、当該記憶手段に記憶されている全てのデータのうちで、前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータが上書き削除されないように保護する管理手段と、を備える。
【発明の効果】
【0011】
上記のようなフレーム中継装置によれば、従来のMAC学習テーブルに相当するデータを記憶する記憶手段に、ミスヒット回数が閾値以上になる宛先アドレスに該当するデータが一度記憶されると、記憶手段が満杯の状態になったとしても、当該データは保護されるので上書きの対象にはならず、ミスヒット回数の少ない宛先アドレスに該当する他のデータが上書き削除されるため、前述したような上書き登録に起因して発生するフラッディングを抑制することができ、通信網の帯域圧迫を緩和することが可能である。
【図面の簡単な説明】
【0012】
【図1】本発明によるフレーム中継装置の一実施形態の構成を示すブロック図である。
【図2】上記実施形態における多重化回路の構成例を示すブロック図である。
【図3】上記実施形態におけるMAC−SA抽出回路の構成例を示すブロック図である。
【図4】上記実施形態における上りフレーム送信回路および下りフレーム受信回路の構成例を示すブロック図である。
【図5】上記実施形態におけるMAC−DA抽出回路の構成例を示すブロック図である。
【図6】上記実施形態における出力先振り分け回路の構成例を示すブロック図である。
【図7】上記実施形態におけるMAC学習テーブル管理回路の構成例を示すブロック図である。
【図8】上記実施形態におけるエージング監視回路の構成例を示すブロック図である。
【図9】上記実施形態におけるミスヒットカウント回路の構成例を示すブロック図である。
【図10】上記実施形態における上り方向のフレームの処理の流れを示すフローチャートである。
【図11】上記実施形態におけるMAC学習テーブルの具体的な一例を示す図である。
【図12】図11のMAC学習テーブルにおける1つの物理アドレスに着目したエージング処理の遷移の一例を示す図である。
【図13】上記実施形態における下り方向のフレームの処理の流れを示すフローチャートである。
【図14】上記実施形態におけるミスヒットカウントテーブルの具体的な一例を示す図である。
【図15】図14のミスヒットカウントテーブルの管理の具体的な内容を説明する図である。
【図16】上記実施形態の応用例に用いられるミスヒットカウント回路の構成を示すブロック図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について添付図面を参照しながら詳細に説明する。
図1は、本発明によるフレーム中継装置の一実施形態の構成を示すブロック図である。
図1において、フレーム中継装置1は、例えば、ライン側の複数のポートP1,P2,…Pnと、各ポートP1〜Pnから入力するフレームFRM1〜FRMnを多重化する多重化回路10と、多重化回路10から出力されるフレームFRMLより送信元アドレスMAC−SAおよびポート情報PORTを抽出するMAC−SA抽出回路20と、MAC−SA抽出回路20を通過したフレームFRMLをネットワーク側へ送信する上りフレーム送信回路30と、ネットワーク側からのフレームを受信する下りフレーム受信回路40と、下りフレーム受信回路40から出力されるフレームFRMNより宛先アドレスMAC−DAを抽出するMAC−DA抽出回路50と、MAC−DA抽出回路50を通過したフレームFRMLをライン側の各ポートPL1〜PLnに振り分ける出力先振り分け回路60と、MAC−SA抽出回路20およびMAC−DA抽出回路50の抽出情報を基にMAC学習テーブルの管理を行う、MAC学習テーブル管理回路70、エージング監視回路80およびミスヒットカウント回路90と、を備える。
【0014】
各ポートP1〜Pnは、フレーム中継装置1のライン側に接続される図示しない各端末とフレームの送受信を行う通信インターフェイスとしてフレーム中継装置1に物理的に備えられたポートであり、各々のポートP1〜Pnがライン側に対する入力ポートおよび出力ポートとしての役割を担っている。各ポートP1〜Pnには、互いに異なるポート番号が割り振られており、ここでは、各ポートの符号の添え字が各々のポート番号を表すものとする。
【0015】
多重化回路10は、例えば図2のブロック図に示すように、各ポートP1〜Pnに対応した複数の速度変換FIFO(First In First Out)11−1〜11−nおよび1つのセレクタ12を有する。
【0016】
各速度変換FIFO11−1〜11−nは、ライン側の各ポートP1〜Pnから入力するフレームFRM1〜FRMnをそれぞれ格納し、各々に対応した回線クロックCLK1〜CLKnから共通のシステムクロックCLKSYSに乗せ換えたフレームFRM1〜FRMnをセレクタ12に出力する。また、各速度変換FIFO11−1〜11−nは、1フレーム分以上の情報を蓄積すると、その状態を示す信号ACCをセレクタ12に出力する。
【0017】
セレクタ12は、各速度変換FIFO11−1〜11−nからの出力信号ACCに応じて1つの速度変換FIFOを選択し、その選択した速度変換FIFOから出力されるフレームを、対応する入力ポートの番号を示すポート情報PORTと一緒にMAC−SA抽出回路20に出力する。ここでは、セレクタ12から出力されるフレームをFRMLと表記する。
【0018】
MAC−SA抽出回路20は、例えば図3のブロック図に示すように、待機用メモリ21、MAC−SAラッチ22、SFDラッチ23、フレームカウンタ24およびMAC−SAタイミングデコーダ25を有する。
【0019】
待機用メモリ21は、多重化回路10から出力されるフレームFRMLおよびポート情報PORTを一旦格納し、後述するMAC学習テーブル管理回路70からの応答信号RESを受けて、格納したフレームFRMLおよびポート情報PORTを後段ブロックに出力する。
【0020】
MAC−SAラッチ22は、MAC−SAタイミングデコーダ25から出力されるMAC−SAタイミング信号に従って、待機用メモリ21から出力されるフレームFRMLに含まれる送信元アドレスMAC−SAをラッチし、該送信元アドレスMAC−SAをMAC学習テーブル管理回路70に通知する。
【0021】
SFDラッチ23は、待機用メモリ21から出力されるフレームFRMLを受け、該フレームFRMLの先頭位置を示すSFD(Start frame delimiter)をラッチしてSFD検出パルスを生成し、該SFD検出パルスをフレームカウンタ24に出力する。
【0022】
フレームカウンタ24は、SFDラッチ23からのSFD検出パルスを基準タイミングとして、フレームFRMLのバイト数をカウントし、そのカウント値をMAC−SAタイミングデコーダ25に通知する。
【0023】
MAC−SAタイミングデコーダ25は、フレームカウンタ24のカウント値に応じて、フレームFRML内における送信元アドレスMAC−SAの位置を示すMAC−SAタイミング信号を生成し、該MAC−SAタイミング信号をMAC−SAラッチ22に出力する。なお、MAC−SAタイミング信号は、後述するMAC学習テーブル管理回路70への登録要求RDとしても利用される。
【0024】
上りフレーム送信回路30は、例えば図4の上段に示すようにフリップフロップ31を用いて構成され、MAC−SA抽出回路20を通過したフレームFRMLをフリップフロップ31に取り込み、該フレームFRMLをフレーム中継装置1に接続されているネットワークへの上りフレームとして出力する。
【0025】
下りフレーム受信回路40は、例えば図4の下段に示すようにフリップフロップ41を用いて構成され、フレーム中継装置1に接続されているネットワークを伝送された下りフレームをフリップフロップ41に取り込み、該下りフレームをネットワーク側からの入力
フレームFRMNとしてMAC−DA抽出回路50に出力する。
【0026】
MAC−DA抽出回路50は、例えば図5のブロック図に示すように、待機用メモリ51、MAC−DAラッチ52、SFDラッチ53、フレームカウンタ54、MAC−DAタイミングデコーダ55、論理和(OR)回路56および論理否定(NOT)回路57を有する。
【0027】
待機用メモリ51は、下りフレーム受信回路40から出力されるフレームFRMNを一旦格納し、後述するMAC学習テーブル管理回路70から通知される応答信号RESを受けて、格納したフレームFRMNを後段ブロックに出力する。
【0028】
MAC−DAラッチ52は、MAC−DAタイミングデコーダ55から出力されるMAC−DAタイミング信号に従って、待機用メモリ51から出力されるフレームFRMNに含まれる宛先アドレスMAC−DAをラッチし、該宛先アドレスMAC−DAをMAC学習テーブル管理回路70に通知する。
【0029】
SFDラッチ53は、待機用メモリ51から出力されるフレームFRMNを受け、該フレームの先頭位置を示すSFDをラッチしてSFD検出パルスを生成し、該SFD検出パルスをフレームカウンタ54に出力する。
【0030】
フレームカウンタ54は、SFDラッチ53からのSFD検出パルスを基準タイミングとして、フレームFRMNのバイト数をカウントし、そのカウント値をMAC−DAタイミングデコーダ55に通知する。
【0031】
MAC−DAタイミングデコーダ55は、フレームカウンタ54のカウント値に応じて、フレームFRMN内における宛先アドレスMAC−DAの位置を示すMAC−DAタイミング信号を生成し、該MAC−DAタイミング信号をMAC−DAラッチ52に出力する。なお、MAC−DAタイミング信号は、後述するMAC学習テーブル管理回路70への検索要求SDとしても利用される。
【0032】
OR回路56は、MAC学習テーブル管理回路70から通知される検索結果SRが示すポート情報PORTおよびミスヒット情報MISHITの論理和を演算し、該演算結果を基にフレームFRMNの出力先となるポート番号を指示するポート指示信号PIを生成する。このポート指示信号PIは、待機用メモリ51から出力されるフレームFRMNと一緒に出力先振り分け回路60へ出力される。
【0033】
NOT回路57は、上記検索結果SRが示すミスヒット情報MISHITの論理否定を演算することによりヒット情報HITを生成する。このヒット情報HITおよびミスヒット情報MISHITは、ミスヒットカウント回路90に通知される。
【0034】
出力先振り分け回路60は、例えば図6のブロック図に示すように、1つのコントローラ61および各ポートP1〜Pnに対応させて設けられた複数のFIFO62−1〜62−nを有する。
【0035】
コントローラ61は、MAC−DA抽出回路50から出力されるポート指示信号PIを受け、該ポート指示信号PIが示す出力先のポート番号に応じて、各FIFO62−1〜62−nにそれぞれ対応したライトイネーブル信号WEN1〜WENnを出力する。
【0036】
各FIFO62−1〜62−nは、MAC−DA抽出回路50から出力されるフレームFRMNがそれぞれ入力され、コントローラ61からのライトイネーブル信号WEN1〜
WENnが有効であるときに、システムクロックCLKSYSのタイミングに従って入力フレームFRMNが書き込まれる。各FIFO62−1〜62−nに書き込まれたフレームFRMNは、出力用クロックCLKOUTのタイミングに従って読み出され、各々に対応するポートP1〜Pnからの出力フレームFRM1〜FRMnとなる。
【0037】
MAC学習テーブル管理回路70は、例えば図7のブロック図に示すように、MAC学習テーブルを記憶可能なメモリ71Aおよびプロセッサ71Bを含む記憶ユニット71、並びに、エージングタイマ用のシフトレジスタ72を有する。
【0038】
記憶ユニット71は、MAC−SA抽出回路20からの登録要求RDに応じて、プロセッサ71Bにより、MAC−SA抽出回路20から出力される送信元アドレスMAC−SAおよびポート情報PORTをメモリ71A内のMAC学習テーブルに登録する処理を行い、該登録処理が完了すると応答信号RESをMAC−SA抽出回路20に出力する。また、記憶ユニット71は、MAC−DA抽出回路50からの検索要求SDに応じて、プロセッサ71Bにより、宛先アドレスMAC−DAに該当するデータがメモリ71A内のMAC学習テーブルに登録されているか否かを検索し、その検索結果SRをMAC−DA抽出回路50に通知する。MAC学習テーブルの検索結果SRは、具体的には、検索がヒットした場合、すなわち、宛先アドレスMAC−DAに一致するMACアドレスがMAC学習テーブルに登録されていたときに、該MACアドレスに対応付けられたポート情報PORTをMAC−DA抽出回路50に通知する。一方、宛先アドレスMAC−DAに一致するMACアドレスがMAC学習テーブルに登録されておらず、検索がミスヒットに終わった場合には、ミスヒット情報MISHITをMAC−DA抽出回路50に通知する。
【0039】
シフトレジスタ72は、後述するエージング監視回路80から出力されるエージングタイミング信号SATを受けて、メモリ71A内のMAC学習テーブルに登録されているMACアドレス毎のエージングタイマ値Tを更新する処理を行う。このエージングタイマ値Tの更新処理の詳細については後述する。
【0040】
エージング監視回路80は、例えば図8のブロック図に示すように、自走カウンタ81およびデコーダ82を有する。自走カウンタ81は、エージング周期をカウントする。デコーダ82は、自走カウンタ81のカウント値をデコードすることにより、MAC学習テーブル管理回路70用のエージングタイミング信号SATを生成すると共に、ミスヒットカウント回路90用のエージングタイミング信号SMATを生成する。
【0041】
ミスヒットカウント回路90は、例えば図9のブロック図に示すように、ミスヒットカウントテーブルを記憶可能なメモリ91Aおよびプロセッサ91Bを含む記憶ユニット91、ローカルミスヒット数カウンタ92、ミスヒットカウント値ラッチ93、並びに、コンパレータ94を有する。
【0042】
記憶ユニット91は、MAC−DA抽出回路50から通知される宛先アドレスMAC−DAおよびミスヒット情報MISHITを受けて、プロセッサ91Bにより、宛先アドレスMAC−DA毎のミスヒット回数をメモリ91A内のミスヒットカウントテーブルに登録する処理を行う。また、記憶ユニット91は、MAC−SA抽出回路20から通知される送信元アドレスMAC−SAを受けて、プロセッサ91Bにより、メモリ91A内のミスヒットカウントテーブルを検索し、送信元アドレスMAC−SAに一致するMACアドレスに後述する優先フラグが立てられているか否かを示す優先フラグ情報FLGをMAC学習テーブル管理回路70に通知する。
【0043】
ローカルミスヒット数カウンタ92は、MAC−DA抽出回路50から通知される宛先アドレスMAC−DAに対応したヒット情報HITおよびミスヒット情報MISHITに
応じて、ミスヒットが通知される毎に、メモリ91A内のミスヒットカウントテーブルに現在登録されている宛先アドレスMAC−DAに対応したローカルカウント値CLを読み取り、その値をインクリメントした新たなローカルカウント値CLをメモリ91Aに書き込む。なお、ローカルミスヒット数カウンタ92は、エージング監視回路80からのエージングタイミング信号SMATを受けると、ミスヒットカウントテーブルの各MACアドレスに対応したローカルカウント値CLを初期化する。これにより、エージング周期内のミスヒット回数が、ローカルカウント値CLとしてカウントされることになる。
【0044】
ミスヒットカウント値ラッチ93は、エージング監視回路80からのエージングタイミング信号SMATを受けて、上記ローカルミスヒット数カウンタ92により初期化される前のローカルカウント値CLを読み取り、エージング周期内のミスヒット回数をMACアドレス毎に判断する。そして、ミスヒットカウント値ラッチ93は、判断したエージング周期内のミスヒット回数に従って、メモリ91A内のミスヒットカウントテーブルに登録されている各MACアドレスに対応したミスヒットカウント値CMを更新すると共に、更新後のミスヒットカウント値CMをコンパレータ94に通知する。
【0045】
コンパレータ94は、ミスヒットカウント値ラッチ93から通知されるミスヒットカウント値CMが予め定めた閾値以上であるか否かを判定し、閾値以上の場合には、メモリ91A内のミスヒットカウントテーブルにおける該当するMACアドレスに優先フラグを立てるための信号を出力する。
【0046】
次に、フレーム中継装置1の動作について説明する。
図10は、ライン側から入力されるフレームをネットワーク側の上りフレームとして送信するときの処理の流れを示すフローチャートである。
【0047】
上記のような構成のフレーム中継装置1では、ライン側の各ポートP1〜Pnに接続された端末からフレームFRM1〜FRMnが送信されると、該各フレームFRM1〜FRMnが多重化回路10に与えられ、多重化されたフレームFRMLおよびポート情報PORTがMAC−SA抽出回路20に送られる。MAC−SA抽出回路20では、多重化回路10からのフレームFRMLおよびポート情報PORTを受けて、該フレームFRMLより送信元アドレスMAC−SAが抽出される(図10のS101,S102)。
【0048】
送信元アドレスMAC−SAの抽出が完了すると、MAC学習テーブル管理回路70が処理を受付可能な状態にあるか否かの判定が行われる(S103)。MAC学習テーブル管理回路70において、先に入力されたフレームの送信元アドレスMAC−SAの登録処理または宛先アドレスMAC−DAの検索処理が行われている場合には、当該処理が完了するのを待った後に、MAC−SA抽出回路20により、MAC学習テーブル管理回路70に対して、上記S102で抽出した送信元アドレスMAC−SAおよびポート情報PORTの登録要求RDが行われる(S104)。また、MAC学習テーブル管理回路70に対する登録要求RDと並行して、MAC−SA抽出回路20により、ミスヒットカウント回路90に対して、上記S102で抽出した送信元アドレスMAC−SAの検索要求が行われる(S121)。
【0049】
MAC−SA抽出回路20からの登録要求RDを受けたMAC学習テーブル管理回路70では、送信元アドレスMAC−SAおよびポート情報PORTの登録処理を開始するために、次の登録要求の受付が禁止される(S105)。そして、登録要求RDにおける送信元アドレスMAC−SAに一致するMACアドレスが、メモリ71A内のMAC学習テーブルに登録済みであるか否かの判定が行われる(S106)。登録済みの場合には、該MACアドレスに対応させてMAC学習テーブルに登録されているエージングタイマ値Tが初期化される(S107)。
【0050】
一方、送信元アドレスMAC−SAに一致するMACアドレスがMAC学習テーブルに未登録の場合には、MAC学習テーブルに空き物理アドレスがあるか否かの判定が行われる(S111)。MAC学習テーブルに空き物理アドレスが有る場合、該空き物理アドレスに、登録要求のあった送信元アドレスMAC−SAおよびポート情報PORTが登録される(S112)。一方、空き物理アドレスが無い場合、すなわち、MAC学習テーブルのFULL状態には、MAC学習テーブルの登録データについて、優先フラグが無く、かつ、エージングタイマ値Tが最も大きいMACアドレスが特定され、該MACアドレスが登録されている物理アドレスに、登録要求のあった送信元アドレスMAC−SAおよびポート情報PORTが上書き登録される(S113)。上記S112またはS113により、登録要求のあった送信元アドレスMAC−SAおよびポート情報PORTがMAC学習テーブルに登録されると、後述するS114に進む。
【0051】
前述したS121においてMAC−SA抽出回路20からの検索要求を受けたミスヒットカウント回路90では、送信元アドレスMAC−SAに一致するMACアドレスが、メモリ91A内のミスヒットカウントテーブルに登録されているか否かの判定が行われる(S122)。なお、ミスヒットカウントテーブルの詳細については後述する。
【0052】
上記S122の判定で登録有りの場合、該MACアドレスに対応する優先フラグの有無が判定され(S123)、優先フラグ有りであれば、優先フラグ情報として「FLG=1」がMAC学習テーブル管理回路70に通知される(S124)。一方、上記S122の判定で登録無しの場合、または、上記S123の判定で優先フラグ無しの場合には、優先フラグ情報として「FLG=0」がMAC学習テーブル管理回路70に通知される(S125)。
【0053】
上記ミスヒットカウント回路90からの優先フラグ情報FLGの通知を受けたMAC学習テーブル管理回路70では、前述したS112またはS113において送信元アドレスMAC−SAおよびポート情報PORTを登録した、MAC学習テーブルの物理アドレスに対して、優先フラグ情報FLGが登録される(S114)。上記S111〜S114の処理により、登録要求のあった送信元アドレスMAC−SAおよびポート情報PORT、並びに、該送信元アドレスMAC−SAに対応した優先フラグ情報FLGがMAC学習テーブルに登録されると、前述したS107に移り、上記送信元アドレスMAC−SAに対応するエージングタイマ値Tとして初期値が設定される。
【0054】
上記S107によりエージングタイマ値Tの初期化が済むと、MAC学習テーブル管理回路70は、MAC−SA抽出回路20からの登録要求RDに応じた送信元アドレスMAC−SAおよびポート情報PORTの登録処理を完了し、次の登録要求の受付を許可する(S108)。そして、MAC−SA抽出回路20を通過したフレームFRMLが、上りフレーム送信回路30に送られることにより、ネットワーク側に上りフレームが送信される(S109)。
【0055】
ここで、MAC学習テーブルの構成について、図11に示す具体的な一例を参照しながら詳しく説明する。図11のMAC学習テーブルは、例えば、物理アドレス0,1,…n毎に、登録有無フラグ、ポート情報PORT、MACアドレス、エージングタイマ値T、タイムアウトフラグおよび優先フラグをそれぞれ管理している。
【0056】
登録有無フラグは、MAC学習テーブルの個々の物理アドレスにデータが登録されているか否かを示すものであり、登録有りの場合に「1」が設定され、登録無しの場合に「0」が設定される。この登録有無フラグは、前述の図10に示したS111における空き物理アドレスの判定に利用可能である。図11の例では、2番の物理アドレスが、データの
登録されていない空き物理アドレスに該当している。
【0057】
ポート情報PORTは、フレームFRMLが入力された物理ポートの番号を表している。MACアドレスは、登録要求RDのあった送信元アドレスMAC−SAに該当し、後述する下りフレームについての出力先ポートの振り分け時には、宛先アドレスMAC−DAの検索対象となる。
【0058】
エージングタイマ値Tは、送信元アドレスMAC−SAがMAC学習テーブルに登録されてからの経過時間を5ビットの値で表している。タイムアウトフラグは、エージングタイマ値Tが予め定めた値を超えてタイムアウトになったか否かを示すものであり、タイムアウトになった場合に「1」が設定され、タイムアウトになっていない場合に「0」が設定される。
【0059】
優先フラグは、前述の図10に示したS124およびS125の処理で設定される優先フラグ情報FLGに対応している。つまり、ミスヒットカウント回路90のミスヒットカウントテーブルにおいて、送信元アドレスMAC−SAに一致するMACアドレスが登録されており、かつ、該MACアドレスに対応付けて優先フラグが立てられている場合に、MAC学習テーブルにも優先フラグとして「1」が設定される。
【0060】
上記優先フラグに「1」が設定されているMACアドレスに対しては、MAC学習テーブルがFULL状態、すなわち、全ての物理アドレスにデータが登録されており登録有無フラグが全て「1」の状態におけるデータの上書き登録が禁止される。つまり、ミスヒット回数が多いMACアドレスについては、MAC学習テーブルにデータが一度登録されると、該データが上書き登録により削除されないよう保護される。ただし、優先フラグに「1」が設定されていても、エージングタイマ値Tがタイムアウトした場合には、登録データが削除される。これは、該当するMACアドレスを有する端末がライン側のポートから切り離された場合に対応するためである。
【0061】
ここで、図11に示したMAC学習テーブルの一例を用いて、前述したライン側からネットワーク側への上り方向の処理におけるMAC学習機能に関係する動作を具体的に説明しておく。MAC−SA抽出回路20で抽出された送信元アドレスMAC−SAがMAC学習テーブルに未登録であれば、登録有無フラグを利用して空き物理アドレスが有るかどうかが確認される。空き物理アドレスが有れば、該空き物理アドレスに対して、送信元アドレスMAC−SAが新規登録される。この新規登録時には、登録有無フラグが「1」に設定されると共に、送信元アドレスMAC−SAに対応するポート情報PORTが登録される。また、エージングタイマ値Tが初期値の「00001」に設定され、タイムアウトフラグが「0」に設定される。
【0062】
一方、全ての登録有無フラグが「1」で空き物理アドレスが無ければ、MAC学習テーブルに登録済みのデータのうちで、優先フラグが「0」に設定され、かつ、エージングタイマ値Tが最も大きいMACアドレスが特定される。そして、そのMACアドレスが登録されている物理アドレスに対して、新たな送信元アドレスMAC−SAおよびポート情報PORT等が上書き登録される。なお、登録要求RDのあった送信元アドレスMAC−SAがMAC学習テーブルに既に登録済みであれば、対応するエージングタイマ値Tが初期値の「00001」に戻される。
【0063】
上記エージングタイマ値Tおよびタイムアウトフラグは、MAC学習テーブルの登録データのエージング処理に用いられる。図12は、MAC学習テーブルにおける1つの物理アドレスに着目したエージング処理の遷移の一例である。ここでは、5ビットのエージングタイマ値Tを用いてエージングタイムを簡易的に管理している。
【0064】
具体的に、図12における(A)の状態は、当該物理アドレスに送信元アドレスMAC−SA等のデータが登録されていない未登録時に該当しており、この状態ではエージングタイマ値Tが「00000」、タイムアウトフラグが「0」にそれぞれ設定される。そして、MAC学習テーブルに登録されていない送信元アドレスMAC−SAの登録要求RDを受けて、該送信元アドレスMAC−SAが上記物理アドレスに新規登録されるとエージング監視が開始され、(B)に示すようにエージングタイマ値Tの最下位ビットLSBに「1」が設定される。つまり、エージングタイマ値Tが「00001」へ遷移する。
【0065】
上記(B)の状態で一定時間(エージング周期)が経過して、エージング監視回路80から出力されるエージングタイミング信号SATがMAC学習テーブル管理回路70に通知されると、該MAC学習テーブル管理回路70のシフトレジスタ72の動作によって、(C)に示すようにエージングタイマ値Tが「00011」へ遷移する。さらに、(C)の状態でエージング周期が経過すると、上記と同様にシフトレジスタ72の動作によって、(D)に示すようにエージングタイマ値Tが「00111」へ遷移する。
【0066】
上記(D)の状態で、同一の送信元アドレスMAC−SAの登録要求RDを受けた場合には、エージング監視を再スタートさせるため、(E)に示すようにエージングタイマ値Tが「00001」に初期化される。エージング監視の再スタート後は、上記(B)〜(D)に対応した処理と同様にして、エージング周期が経過する毎にエージングタイマ値Tが、(F)に示す「00011」、(G)に示す「00111」、(H)に示す「01111」、(I)に示す「11111」へと順に遷移する。
【0067】
そして、上記(I)の状態でエージング周期が経過すると、(J)に示すようにタイムアウトフラグが「1」に設定されてエージングタイムアウトとなり、当該物理アドレスの登録データが削除される。これにより、MAC学習テーブルの登録有無フラグは「0」に設定される。
【0068】
MAC学習テーブル管理回路70では、上記のような一連のエージング監視が、MAC学習テーブルの各物理アドレスの登録データについてそれぞれ行われる。前述したMAC学習テーブルのFULL状態は、MAC学習テーブルの全ての物理アドレスにデータが登録済みであって、各々の登録データがエージングタイムアウトに至っていない状態、つまり、MAC学習テーブルの全ての物理アドレスにおける登録有無フラグが「1」であり、かつ、タイムアウトフラグが「0」の状態に該当している。
【0069】
上記のようなMAC学習テーブルのFULL状態において、未登録の送信元アドレスMAC−SAの登録要求RDを受けた場合、一般的なMAC学習テーブルの管理手法では、登録データが最新の状態に保たれるように、エージングタイマ値Tが最も大きい物理アドレスの登録データが上書きの対象とされる。また、エージングタイマ値Tが最大の物理アドレスが複数ある場合には、物理アドレスの番号が最も小さいものが上書きの対象とされる。しかし、このような一般的な手法で上書き登録の処理を行った場合、上書きによりMAC学習テーブルから削除されたMACアドレスと同一の宛先アドレスMAC−DAを含む下りフレームがネットワーク側から入力されると、フラッディングが行われることになるため、ライン側の各ポートの帯域が圧迫されてしまう。
【0070】
そこで、本実施形態のフレーム中継装置1は、MAC学習テーブルを宛先アドレスMAC−DAで検索した時のミスヒット回数をカウントしておき、MAC学習テーブルのFULL状態におけるデータの上書き登録を行う際に、ミスヒット回数が多いMACアドレスに対応した登録データが上書きの対象とならないようにMAC学習テーブルの管理を行うことで、上書き登録に起因して発生するフラッディングを抑制している。以下、ミスヒッ
ト回数のカウント処理が行われる下りフレームの処理について詳しく説明する。
【0071】
図13は、ネットワーク側から受信した下りフレームを宛先アドレスMAC−DAに応じてライン側の各ポートP1〜Pnに出力するときの処理の流れを示すフローチャートである。ネットワーク側からの下りフレームは、フレーム中継装置1の下りフレーム受信回路40を通ってMAC−DA抽出回路50に送られる。MAC−DA抽出回路50では、フレーム入力回路40からのフレームFRMNを受けて、該フレームFRMNより宛先アドレスMAC−DAが抽出される(図13のS201,S202)。
【0072】
宛先アドレスMAC−DAの抽出が完了すると、MAC学習テーブル管理回路70が処理を受付可能な状態にあるか否かの判定が行われる(S203)。MAC学習テーブル管理回路70において、先に入力されたフレームの宛先アドレスMAC−DAの検索処理または送信元アドレスMAC−SAの登録処理が行われている場合には、当該処理が完了するのを待った後に、MAC−DA抽出回路50により、MAC学習テーブル管理回路70に対して、上記S202で抽出した宛先アドレスMAC−DAの検索要求SDが行われる(S204)。また、MAC学習テーブル管理回路70に対する検索要求SDと並行して、MAC−DA抽出回路50により、ミスヒットカウント回路90に対して、上記S202で抽出した宛先アドレスMAC−DAについてのミスヒット回数のカウント処理が要求される(S211)。
【0073】
MAC−DA抽出回路50からの検索要求SDを受けたMAC学習テーブル管理回路70では、宛先アドレスMAC−DAの検索処理を開始するために、次の検索要求SDの受付が禁止される(S205)。そして、検索要求SDにおける宛先アドレスMAC−DAに一致するMACアドレスが、メモリ71A内のMAC学習テーブルに登録済みであるか否かの判定が行われる(S206)。登録済みの場合には、該MACアドレスに対応するポート情報PORTが読み取られ、該ポート情報PORTの示すポート番号(PORT=k)が検索結果SRとしてMAC−DA抽出回路50に通知される(S207)。一方、未登録の場合には、ミスヒット情報MISHITと共に、ライン側の全てのポート番号(PORT=all)が検索結果SRとしてMAC−DA抽出回路50に通知される(S208)。
【0074】
MAC学習テーブル管理回路70からの検索結果SRを受けたMAC−DA抽出回路50では、フレームFRMNの出力先となるポート番号を指示するポート指示信号PIが生成され、該ポート指示信号PIがフレームFRMNと一緒に出力先振り分け回路60に出力される。上記ポート指示信号PIは、検索結果がヒットのときに1つのポート番号(PORT=k)を指示し、ミスヒットのときに全てのポート番号(PORT=all)を指示する。また、MAC−DA抽出回路50により、MAC学習テーブル管理回路70での検索結果に対応したヒット情報HITおよびミスヒット情報MISHITが、ミスヒットカウント回路90に通知される。
【0075】
前述したS211において、MAC−DA抽出回路50で抽出された宛先アドレスMAC−DAについてのミスヒット回数のカウント処理要求を受けたミスヒットカウント回路90では、宛先アドレスMAC−DAに一致するMACアドレスが、メモリ91A内のミスヒットカウントテーブルに登録されているか否かの判定が行われる(S212)。登録済みの場合には、MAC−DA抽出回路50から通知されるヒット情報HITおよびミスヒット情報MISHITを基に、MAC学習テーブルについての当該宛先アドレスMAC−DAの検索がヒットしたか否かの判定が行われる(S213)。ヒットの場合には、ミスヒットカウントテーブルの上記MACアドレスに対応した登録データが削除される(S214)。一方、ミスヒットの場合には、ミスヒットカウントテーブルに登録されている上記MACアドレスに対応したミスヒット回数がインクリメントされる。
【0076】
上記S212において、宛先アドレスMAC−DAに一致するMACアドレスがミスヒットカウントテーブルに登録されていないと判定された場合、ミスヒットカウントテーブルに空き物理アドレスがあるか否かの判定が行われる(S216)。ミスヒットカウントテーブルに空き物理アドレスがある場合、該空き物理アドレスに宛先アドレスMAC−DAが登録される(S217)。一方、空き物理アドレスがない場合には、ミスヒットカウントテーブルの登録データについて、カウント有効フラグが「1」であり、かつ、ミスヒットカウント値CMが最も小さいMACアドレスが特定され、該MACアドレスが登録されている物理アドレスに新たな宛先アドレスMAC−DAが上書き登録される(S218)。なお、ミスヒットカウントテーブルの具体的な構成とその管理に関する内容については後で詳しく説明することにする。
【0077】
上記のようなS211〜S218によるミスヒットカウント回路90での一連の処理が済むと、MAC学習テーブル管理回路70は、MAC−DA抽出回路50からの検索要求SDに応じた宛先アドレスMAC−DAの検索処理を完了し、次の検索要求の受付を許可する(S221)。
【0078】
続いて、MAC−DA抽出回路50から出力されるフレームFRMNおよびポート指示信号PIを受けた出力先振り分け回路60では、コントローラ61により、ポート指示信号PIが1つのポート番号(PORT=k)を指示するものであるかの判定が行われる(S222)。PORT=kである場合、コントローラ61により、ライン側のk番目のポートPkに対応したFIFO62−kに対してライトイネーブル信号WENkが出力されて、MAC−DA抽出回路50からのフレームFRMNがFIFO62−kを通ってポートPkに出力される(S223)。
【0079】
一方、上記ポート指示信号PIの指示がPORT=allである場合には、コントローラ61により、ライン側の全てのポートP1〜Pnに対応したFIFO62−1〜62−nに対してライトイネーブル信号WEN1〜WENnがそれぞれ出力される。これにより、MAC−DA抽出回路50からのフレームFRMNが各FIFO62−1〜62−nを通って各ポートP1〜Pnに出力され、フラッディングが行われる(S224)。
【0080】
ここで、上記ミスヒットカウントテーブルの構成について、図14に示す具体的な一例を参照しながら詳しく説明する。図14のミスヒットカウントテーブルは、物理アドレス0,1,…n毎に、登録有無フラグ、MACアドレス、カウント有効フラグ、ローカルカウント値CL、ミスヒットカウント値CMおよび優先フラグをそれぞれ管理している。
【0081】
登録有無フラグは、ミスヒットカウントテーブルの個々の物理アドレスにデータが登録されているか否かを示すものであり、登録有りの場合に「1」が設定され、登録無しの場合に「0」が設定される。この登録有無フラグは、前述したS216における空き物理アドレスの判定に利用可能である。図14の例では、2番の物理アドレスが、データの登録されていない空き物理アドレスに該当している。
【0082】
MACアドレスは、ミスヒット回数のカウント処理要求のあった宛先アドレスMAC−DAに該当し、前述した上り方向のフレームFRMLについてのMAC学習テーブルへの登録要求時には、送信元アドレスMAC−SAの検索対象となる。
【0083】
カウント有効フラグは、ミスヒットカウント値CMが有効であるか否かを示す。ローカルカウント値CLは、該当するMACアドレスについてカウントされたミスヒット回数の途中経過を示す。ミスヒットカウント値CMは、ミスヒットエージング周期毎のミスヒット回数(頻度)を示す。優先フラグは、ミスヒットカウント値CMが予め定めた閾値以上
であるか否かを示す(前述の図11に示したMAC学習テーブルの優先フラグに対応)。
【0084】
上記のようなミスヒットカウントテーブルの登録データは、前述の図13に示したS212〜S218の一連の処理により管理される。このミスヒットカウントテーブルの管理の具体的な内容について図15を参照しながら詳しく説明する。
【0085】
図15の(1)に示す段階では、特定の宛先アドレスMAC−DA(以下、MAC−DA=αと表記する)を含む下りフレームがネットワーク側から入力され、該宛先アドレスMAC−DA=αでMAC学習テーブルを検索してミスヒットになった場合を想定している。このとき、ミスヒットカウントテーブルにおいて登録有無フラグが「0」となっている空き物理アドレスがあれば、該物理アドレスに上記宛先アドレスMAC−DA=αが登録され、該当する登録有無フラグが「1」に設定される。この段階では、エージング監視回路80からのエージングタイミング信号SMATがミスヒットカウント回路90で受信されておらずミスヒットエージング周期を経過していないため、カウント有効フラグは「0」に設定される。ローカルカウント値CLは、ローカルミスヒット数カウンタ92のカウントアップ動作により「1」となるが、カウント有効フラグが「0」であるため、ミスヒットカウント値CMは「0」に設定される。このミスヒットカウント値CMはコンパレータ94に設定された閾値(例えば、255回)より小さいので、優先フラグは「0」に設定される。
【0086】
続いて、(2)の段階では、エージング監視回路80からのエージングタイミング信号SMATがミスヒットカウント回路90で受信される。上記(1)の段階で宛先アドレスMAC−DA=αを新規登録した後、上記エージングタイミング信号SMATを受信するまでの経過時間は、ミスヒットエージング周期の一周期分には満たないため、この段階でのカウント有効フラグは「0」のままとされ、ローカルカウント値CLが「0」に初期化される。
【0087】
(3)の段階では、宛先アドレスMAC−DA=αを含む下りフレームが再びネットワーク側から入力され、MAC学習テーブルの検索結果がミスヒットになったことにより、ローカルカウント値CLがカウントアップされて「1」となる。続く(4)および(5)の段階でも、上記(3)の段階と同様に、宛先アドレスMAC−DA=αを含む下りフレームの入力およびMAC学習テーブルの検索ミスヒットにより、ローカルカウント値CLが順次カウントアップされる。(5)の段階でのローカルカウント値CLは「3」となる。
【0088】
(6)の段階では、エージング監視回路80からのエージングタイミング信号SMATがミスヒットカウント回路90で受信され、上記(2)の段階でのエージングタイミング信号SMATの受信からミスヒットエージング周期の一周期分が経過したことになるため、カウント有効フラグが「1」に設定される。そして、このタイミングの直前におけるローカルカウント値CLの「3」がミスヒットカウント値CMに転写され、ローカルカウント値CLが「0」に初期化される。
【0089】
(7)の段階では、上記(3)の段階と同様に、宛先アドレスMAC−DA=αを含む下りフレームの入力およびMAC学習テーブルの検索ミスヒットにより、ローカルカウント値CLがカウントアップされて「1」となる。これ以降、図示を省略しているがMAC−DA=αのフレーム入力が高い頻度で発生してミスヒット回数のカウントが積み重ねられ、(8)の段階におけるローカルカウント値CLは「FF」(16進数表示)となっている。つまり、(7)の段階から(8)の段階に至るまでの間にミスヒットが255回発生したことになる。
【0090】
(9)の段階では、ミスヒットカウント回路90がエージングタイミング信号SMATを受信する。上記(6)の段階でのエージングタイミング信号SMATの受信からミスヒットエージング周期の一周期分が経過したことになるため、このタイミングの直前におけるローカルカウント値CLの「FF」がミスヒットカウント値CMに転写される。このミスヒットカウント値CMは、コンパレータ94に設定された閾値以上となるため、優先フラグが「1」に設定される。なお、ローカルカウント値CLは「0」に初期化される。以降、上記と同様にしてミスヒットエージング周期毎にミスヒットカウント値CMが更新され、MAC−DA=αの下りフレームの流量(入力頻度)に応じた優先フラグの設定が行われる。
【0091】
(10)の段階では、宛先アドレスMAC−DA=αの下りフレーム入力に応じたMAC学習テーブルの検索結果がヒットになる、すなわち、MAC−DA=αに一致したMACアドレスがMAC学習テーブルに登録済みとなったことにより、ミスヒットカウントテーブルからMACアドレスがαに該当する登録データが削除される。これにより、当該物理アドレスの登録有無フラグ、カウント有効フラグ、ローカルカウント値CL、ミスヒットカウント値CMおよび優先フラグはいずれも「0」に設定される。
【0092】
なお、上記ミスヒットカウントテーブルの管理に関する説明では、MAC学習テーブルの検索結果がミスヒットになった宛先アドレスMAC−DA=αをミスヒットカウントテーブルに登録する際に、ミスヒットカウントテーブルに空きの物理アドレスがある場合を想定した。しかし、ミスヒットカウントテーブルに空きの物理アドレスが無いFULL状態の場合であっても、例えば、ミスヒットカウントテーブルの登録データのうちで、カウント有効フラグが「1」であり、かつ、ミスヒットカウント値CMが最も小さいMACアドレスを特定し、該MACアドレスが登録されている物理アドレスのデータを上書きの対象として、新たにミスヒットになった宛先アドレスMAC−DA=αを登録することが可能である。上書き対象の条件の1つとして、カウント有効フラグが「1」を設定している理由は、登録直後のMACアドレスに対する上書きを防止するためである。これにより、ミスヒットカウントテーブルのFULL状態には、ミスヒット回数が相対的に少ないMACアドレスに対して上書き登録の処理が行われるようになる。
【0093】
上記のようにしてミスヒットカウントテーブルの管理が行われることにより、MAC学習テーブルにおける宛先アドレスMAC−DAの検索で、一定周期内に発生するミスヒット回数が所要の閾値以上になるMACアドレス、つまり、MAC学習テーブルに未登録のMACアドレスのうちで、ネットワーク側からライン側への下り方向のフレーム出力流量が多いMACアドレスが特定され、該MACアドレスに対応付けてミスヒットカウントテーブルに優先フラグが立てられるようになる。
【0094】
このミスヒットカウントテーブルの優先フラグに関する情報が、MAC学習テーブルに送信元アドレスMAC−SAおよびポート情報を登録する際に参照され、下り方向のフレーム出力流量が多いMACアドレスに該当するMAC学習テーブルの登録データにも優先フラグが立てられることになる(上述した図10のS114)。そして、MAC学習テーブルのFULL状態において、未登録の送信元アドレスMAC−SAの登録要求を受けた場合には、優先フラグが無く、かつ、エージングタイマ値Tが最も大きいMACアドレスに対応した登録データが上書きの対象とされる(上述した図10のS113)。つまり、MAC学習テーブルの優先フラグが立てられたMACアドレスに対応する登録データは、FULL状態における上書き登録の対象から優先的に除外される。
【0095】
したがって、フレーム中継装置1によれば、下り方向のフレーム出力流量が多いMACアドレスについては、MAC学習テーブルに一度登録されれば、MAC学習テーブルがFULL状態になっても、エージング監視でタイムアウトにならない限り、該MACアドレ
スに対応した登録データは上書き削除されないように保護される。その結果、MAC学習テーブルのFULL状態において、下り方向のフレーム出力流量が比較的少ないMACアドレスの登録データに対して新たなデータが上書き登録されるようになるため、該上書き登録に起因して発生するフラッディングを抑制することができる。たとえ上書き登録に起因したフラッディングが発生したとしても、ライン側の各ポートP1〜Pnに転送されるフレームが消費する各ポートの帯域は限られているので、通信網の帯域圧迫を効果的に緩和することが可能である。また、MAC学習テーブルおよびミスヒットカウントテーブルについて、FULL状態での上書き登録を可能にしているため、フレーム中継装置1に接続され得る端末の台数が多数に及んでもメモリ容量の増大を抑えることができ、低コスト化にも有利である。
【0096】
次に、上述したフレーム中継装置1の応用例について説明する。
図16は、フレーム中継装置1の応用例に用いられるミスヒットカウント回路の構成を示すブロック図である。なお、この応用例におけるミスヒットカウント回路以外の各回路要素の構成は上述したフレーム中継装置1と同一であるため、ここでの説明を省略する。
【0097】
図16において、上記応用例に用いられるミスヒットカウント回路90’の構成が、上述の図9に示したミスヒットカウント回路90の構成と異なる点は、コンパレータ94の出力にラッチ95が挿入されている点である。このラッチ95は、コンパレータ94から出力される信号の状態を保持する機能を持つ。
【0098】
上記のような構成のミスヒットカウント回路90’では、ミスヒットカウントテーブルに登録されている各MACアドレスに対応したミスヒットカウント値CMが閾値以上となった場合に、当該MACアドレスに対して優先フラグを設定するためにコンパレータ94から出力される信号の状態がラッチ95によって保持される。そして、当該MACアドレスがミスヒットカウントテーブルから削除されることにより、ラッチ95がリセットされる。
【0099】
これにより、上記MACアドレスを宛先とする下りフレームの流量が変動して、ミスヒットカウント値CMが一時的に閾値より小さくなっても、そのミスヒットカウント値CMの変化によって優先フラグの設定が解除されてしまうことが回避される。つまり、ミスヒットカウント値CMが閾値の近辺で比較的短い時間に変化するような状況でも、優先フラグが一度設定されると、ミスヒットカウント値CMの変化に関係なく、当該MACアドレスがミスヒットカウントテーブルから削除されるまで、優先フラグ有りの状態が維持される。このため、MAC学習テーブルのFULL状態における上書き登録の処理を安定して行うことが可能になる。
【0100】
以上の実施形態に関して、さらに以下の付記を開示する。
【0101】
(付記1) 入力ポートと、
前記入力ポートから入力するフレームに含まれる送信元アドレスを抽出する送信元アドレス抽出手段と、
前記送信元アドレス抽出手段で抽出された送信元アドレス、および、前記フレームが入力された前記入力ポートの対応関係を示すデータを記憶する記憶手段と、
出力ポートに出力するフレームに含まれる宛先アドレスを抽出する宛先アドレス抽出手段と、
前記記憶手段から、前記宛先アドレス抽出手段で抽出された宛先アドレスに該当するデータを検索する検索手段と、
前記検索手段の検索結果に基づいて、前記出力ポートから前記宛先アドレスに対応するポートを選択し、該ポートに前記宛先アドレスを含むフレームを振り分ける出力先振り分
け手段と、
前記検索手段の検索結果がミスヒットになる回数を宛先アドレス毎にカウントし、該カウントしたミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出するミスヒットカウント手段と、
前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータが前記記憶手段に記憶された後、当該記憶手段に記憶されている全てのデータのうちで、前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータが上書き削除されないように保護する管理手段と、
を備えたことを特徴とするフレーム中継装置。
【0102】
(付記2) 付記1に記載のフレーム中継装置であって、
前記出力先振り分け手段は、前記検索手段の検索結果がミスヒットのとき、前記出力ポートの全てに前記宛先アドレスを含むフレームを振り分けることを特徴とするフレーム中継装置。
【0103】
(付記3) 付記1または2に記載のフレーム中継装置であって、
前記管理手段は、前記記憶手段がデータで満杯の状態にあるときに、前記記憶手段にデータが記憶されていない新たな送信元アドレスを含むフレームが前記入力ポートの少なくとも1つから入力すると、前記記憶手段に記憶された全てのデータのうち、前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータ以外で最も古くに記憶されたデータに対して、前記新たな送信元アドレスに対応したデータを上書きすることを特徴とするフレーム中継装置。
【0104】
(付記4) 付記1〜3のいずれか1つに記載のフレーム中継装置であって、
前記ミスヒットカウント手段は、所定の周期内に前記検索手段の検索結果がミスヒットになる回数を宛先アドレス毎にカウントし、そのカウントした所定の周期内のミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出することを特徴とするフレーム中継装置。
【0105】
(付記5) 付記4に記載のフレーム中継装置であって、
前記ミスヒットカウント手段は、前記カウントした所定の周期内のミスヒット回数が前記閾値以上になった場合、当該カウント周期以降において前記ミスヒット回数を保持して前記宛先アドレスの検出を行うことを特徴とするフレーム中継装置。
【0106】
(付記6) 付記1〜5のいずれか1つに記載のフレーム中継装置であって、
前記記憶手段にデータが記憶済みの送信元アドレスを含むフレームが、該送信元アドレスに対応付けられた前記ポートに対して所定の時間内に再入力されるか否かを監視し、再入力の無い送信元アドレスに該当するデータを前記記憶手段から削除するエージング監視手段を備えたことを特徴とするフレーム中継装置。
【0107】
(付記7) 付記1〜6のいずれか1つに記載のフレーム中継装置であって、
前記送信元アドレス抽出手段で送信元アドレスの抽出が行われたフレームをネットワークに送信する送信手段と、
前記ネットワークを伝送されたフレームを受信し、該フレームを前記宛先アドレス抽出手段に与える受信手段と、
を備えたことを特徴とするフレーム中継装置。
【0108】
(付記8) 入力ポートから入力するフレームに含まれる送信元アドレスを抽出し、
抽出した前記送信元アドレス、および、前記フレームが入力された前記入力ポートの対応関係を示すデータを記憶し、
出力ポートに出力するフレームに含まれる宛先アドレスを抽出し、
記憶した前記データから、抽出した前記宛先アドレスに該当するデータを検索し、
前記検索の結果に基づいて、前記出力ポートから前記宛先アドレスに対応するポートを選択し、該ポートに前記宛先アドレスを含むフレームを振り分けるフレーム中継方法であって、
前記検索の結果がミスヒットになる回数を宛先アドレス毎にカウントし、
該カウントしたミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出し、
検出した前記宛先アドレスに該当するデータを記憶した後、全ての記憶データのうちで、検出した前記宛先アドレスに該当するデータが上書き削除されないように保護することを特徴とするフレーム中継方法。
【符号の説明】
【0109】
1…フレーム中継装置
10…多重化回路
11−1〜11−n…速度変換FIFO
12…セレクタ
20…MAC−SA抽出回路
21,51…待機用メモリ
22…MAC−SAラッチ
23,53…SFDラッチ
24,54…フレームカウンタ
25…MAC−SAタイミングデコーダ
30…上りフレーム送信回路
31,41…フリップフロップ
40…下りフレーム受信回路
50…MAC−DA抽出回路
52…MAC−DAラッチ
55…MAC−DAタイミングデコーダ
56…論理和(OR)回路
57…論理否定(NOT)回路
60…出力先振り分け回路
61…コントローラ
62−1〜62−n…FIFO
70…MAC学習テーブル管理回路
71,91…記憶ユニット
71A,91A…メモリ
71B,91B…プロセッサ
72…シフトレジスタ
80…エージング監視回路
81…自走カウンタ
82…デコーダ
90,90’ …ミスヒットカウント回路
92…ローカルミスヒット数カウンタ
93…ミスヒットカウント値ラッチ
94…コンパレータ
95…ラッチ
CL…ローカルカウント値
CM…ミスヒットカウント値
FLG…優先フラグ情報
FRM1〜FRMn,FRML,FRMN…フレーム
HIT…ヒット情報
MISHIT…ミスヒット情報
MAC−SA…送信元アドレス
MAC−DA…宛先アドレス
P1〜Pn…ポート
PORT…ポート情報
SAT,SMAT…エージングタイミング信号
T…エージングタイマ値
【特許請求の範囲】
【請求項1】
入力ポートと、
前記入力ポートから入力するフレームに含まれる送信元アドレスを抽出する送信元アドレス抽出手段と、
前記送信元アドレス抽出手段で抽出された送信元アドレス、および、前記フレームが入力された前記入力ポートの対応関係を示すデータを記憶する記憶手段と、
出力ポートに出力するフレームに含まれる宛先アドレスを抽出する宛先アドレス抽出手段と、
前記記憶手段から、前記宛先アドレス抽出手段で抽出された宛先アドレスに該当するデータを検索する検索手段と、
前記検索手段の検索結果に基づいて、前記出力ポートから前記宛先アドレスに対応するポートを選択し、該ポートに前記宛先アドレスを含むフレームを振り分ける出力先振り分け手段と、
前記検索手段の検索結果がミスヒットになる回数を宛先アドレス毎にカウントし、該カウントしたミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出するミスヒットカウント手段と、
前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータが前記記憶手段に記憶された後、当該記憶手段に記憶されている全てのデータのうちで、前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータが上書き削除されないように保護する管理手段と、
を備えたことを特徴とするフレーム中継装置。
【請求項2】
請求項1に記載のフレーム中継装置であって、
前記出力先振り分け手段は、前記検索手段の検索結果がミスヒットのとき、前記出力ポートの全てに前記宛先アドレスを含むフレームを振り分けることを特徴とするフレーム中継装置。
【請求項3】
請求項1または2に記載のフレーム中継装置であって、
前記管理手段は、前記記憶手段がデータで満杯の状態にあるときに、前記記憶手段にデータが記憶されていない新たな送信元アドレスを含むフレームが前記入力ポートの少なくとも1つから入力すると、前記記憶手段に記憶された全てのデータのうち、前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータ以外で最も古くに記憶されたデータに対して、前記新たな送信元アドレスに対応したデータを上書きすることを特徴とするフレーム中継装置。
【請求項4】
請求項1〜3のいずれか1つに記載のフレーム中継装置であって、
前記ミスヒットカウント手段は、所定の周期内に前記検索手段の検索結果がミスヒットになる回数を宛先アドレス毎にカウントし、そのカウントした所定の周期内のミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出することを特徴とするフレーム中継装置。
【請求項5】
請求項4に記載のフレーム中継装置であって、
前記ミスヒットカウント手段は、前記カウントした所定の周期内のミスヒット回数が前記閾値以上になった場合、当該カウント周期以降において前記ミスヒット回数を保持して前記宛先アドレスの検出を行うことを特徴とするフレーム中継装置。
【請求項6】
入力ポートから入力するフレームに含まれる送信元アドレスを抽出し、
抽出した前記送信元アドレス、および、前記フレームが入力された前記入力ポートの対応関係を示すデータを記憶し、
出力ポートに出力するフレームに含まれる宛先アドレスを抽出し、
記憶した前記データから、抽出した前記宛先アドレスに該当するデータを検索し、
前記検索の結果に基づいて、前記出力ポートから前記宛先アドレスに対応するポートを選択し、該ポートに前記宛先アドレスを含むフレームを振り分けるフレーム中継方法であって、
前記検索の結果がミスヒットになる回数を宛先アドレス毎にカウントし、
該カウントしたミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出し、
検出した前記宛先アドレスに該当するデータを記憶した後、全ての記憶データのうちで、検出した前記宛先アドレスに該当するデータが上書き削除されないように保護することを特徴とするフレーム中継方法。
【請求項1】
入力ポートと、
前記入力ポートから入力するフレームに含まれる送信元アドレスを抽出する送信元アドレス抽出手段と、
前記送信元アドレス抽出手段で抽出された送信元アドレス、および、前記フレームが入力された前記入力ポートの対応関係を示すデータを記憶する記憶手段と、
出力ポートに出力するフレームに含まれる宛先アドレスを抽出する宛先アドレス抽出手段と、
前記記憶手段から、前記宛先アドレス抽出手段で抽出された宛先アドレスに該当するデータを検索する検索手段と、
前記検索手段の検索結果に基づいて、前記出力ポートから前記宛先アドレスに対応するポートを選択し、該ポートに前記宛先アドレスを含むフレームを振り分ける出力先振り分け手段と、
前記検索手段の検索結果がミスヒットになる回数を宛先アドレス毎にカウントし、該カウントしたミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出するミスヒットカウント手段と、
前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータが前記記憶手段に記憶された後、当該記憶手段に記憶されている全てのデータのうちで、前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータが上書き削除されないように保護する管理手段と、
を備えたことを特徴とするフレーム中継装置。
【請求項2】
請求項1に記載のフレーム中継装置であって、
前記出力先振り分け手段は、前記検索手段の検索結果がミスヒットのとき、前記出力ポートの全てに前記宛先アドレスを含むフレームを振り分けることを特徴とするフレーム中継装置。
【請求項3】
請求項1または2に記載のフレーム中継装置であって、
前記管理手段は、前記記憶手段がデータで満杯の状態にあるときに、前記記憶手段にデータが記憶されていない新たな送信元アドレスを含むフレームが前記入力ポートの少なくとも1つから入力すると、前記記憶手段に記憶された全てのデータのうち、前記ミスヒットカウント手段で検出された宛先アドレスに該当するデータ以外で最も古くに記憶されたデータに対して、前記新たな送信元アドレスに対応したデータを上書きすることを特徴とするフレーム中継装置。
【請求項4】
請求項1〜3のいずれか1つに記載のフレーム中継装置であって、
前記ミスヒットカウント手段は、所定の周期内に前記検索手段の検索結果がミスヒットになる回数を宛先アドレス毎にカウントし、そのカウントした所定の周期内のミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出することを特徴とするフレーム中継装置。
【請求項5】
請求項4に記載のフレーム中継装置であって、
前記ミスヒットカウント手段は、前記カウントした所定の周期内のミスヒット回数が前記閾値以上になった場合、当該カウント周期以降において前記ミスヒット回数を保持して前記宛先アドレスの検出を行うことを特徴とするフレーム中継装置。
【請求項6】
入力ポートから入力するフレームに含まれる送信元アドレスを抽出し、
抽出した前記送信元アドレス、および、前記フレームが入力された前記入力ポートの対応関係を示すデータを記憶し、
出力ポートに出力するフレームに含まれる宛先アドレスを抽出し、
記憶した前記データから、抽出した前記宛先アドレスに該当するデータを検索し、
前記検索の結果に基づいて、前記出力ポートから前記宛先アドレスに対応するポートを選択し、該ポートに前記宛先アドレスを含むフレームを振り分けるフレーム中継方法であって、
前記検索の結果がミスヒットになる回数を宛先アドレス毎にカウントし、
該カウントしたミスヒット回数が予め定めた閾値以上になる宛先アドレスを検出し、
検出した前記宛先アドレスに該当するデータを記憶した後、全ての記憶データのうちで、検出した前記宛先アドレスに該当するデータが上書き削除されないように保護することを特徴とするフレーム中継方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2013−77904(P2013−77904A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−215345(P2011−215345)
【出願日】平成23年9月29日(2011.9.29)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願日】平成23年9月29日(2011.9.29)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]