(57)【要約】【課題】ＣＡＭ内部の登録データに異常が発生した場合であっても、誤送信および通信断を防止することを課題とする。【解決手段】スイッチング装置は、受信したパケットの送信先アドレスと同一のアドレスを有した送信元アドレスが、ＣＡＭに登録されているか検索する。そして、スイッチング装置は、送信元アドレスがＣＡＭに登録されている場合は、ＣＡＭに登録された登録番号が示す出力ポートテーブルに登録された送信元アドレスと比較する。その後、スイッチング装置は、両方の送信元アドレスが一致した場合は出力ポートテーブルに登録された出力ポートの情報が示す出力ポートからパケットを送信し、一致しない場合は全出力ポートよりパケットを送信する。【選択図】図２
2010283473.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力ポートから受信したパケットの送信元アドレスと該パケットを入力した入力ポートとを関連付け、登録番号を付与して登録する第一のテーブルと、
前記パケットを出力する出力ポートの情報に、前記送信元アドレスと前記入力ポートとを付加した情報を、前記第一のテーブルの登録番号と関連付けて登録する第二のテーブルと、
前記受信したパケットの送信先アドレスと同一のアドレスを有した送信元アドレスが、前記第一のテーブルに登録されているか検索する検索部と、
前記送信元アドレスが前記第一のテーブルに登録されている場合は、前記第一のテーブルに登録された前記登録番号が示す前記第二のテーブルに登録された送信元アドレスと比較する比較部と、
前記両方の送信元アドレスが一致した場合は前記第二のテーブルに登録された出力ポートの情報が示す出力ポートからパケットを送信し、一致しない場合は全出力ポートよりパケットを送信する出力制御部と、
を有したことを特徴とするスイッチング装置。
【請求項２】
前記検索部は、前記受信したパケットの送信先アドレス及び入力ポートとの対応付けが、前記第一のテーブルに登録されているかを検索し、
前記比較部は、前記送信先アドレス及び入力ポートとの対応付けが前記第一のテーブルに登録されている場合は、前記第一のテーブルに登録された前記登録番号が示す前記第二のテーブルに登録された送信先アドレス及び入力ポートとの対応付けがと比較することを特徴とする請求項１に記載のスイッチング装置。
【請求項３】
前記両方の送信元アドレスが一致しない場合は、前記登録番号が示す前記第一のテーブルに登録された送信元アドレスと入力ポートとを対応付けて削除するテーブル制御部をさらに有したことを特徴とする請求項１に記載のスイッチング装置。
【請求項４】
前記受信したパケットの送信先アドレスと同一のアドレスを有した送信元アドレスが、複数の入力ポートから受信したパケットの送信元アドレスと該パケットを入力した入力ポートとを関連付け、登録番号を付与して登録する第一のテーブルに登録されているか検索する検索ステップと、
前記送信元アドレスが前記第一のテーブルに登録されている場合は、前記第一のテーブルに登録された前記登録番号が示すテーブルであって、前記パケットを出力する出力ポートの情報に、前記送信元アドレスと前記入力ポートとを付加した情報を前記第一のテーブルの登録番号と関連付けて登録する第二のテーブルに登録された送信元アドレスと比較する比較ステップと、
前記両方の送信元アドレスが一致した場合は前記第二のテーブルに登録された出力ポートの情報が示す出力ポートからパケットを送信し、一致しない場合は全出力ポートよりパケットを送信する出力制御ステップと、
を含んだことを特徴とするスイッチング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを中継するスイッチング装置およびスイッチング方法に関する。
【背景技術】
【０００２】
従来より、複数ポートを持つイーサネットスイッチング装置（ＳＷ)では、あるポートからの入力イーサネットパケット（以降、単にパケットと称す）を特定のポートに出力するために、内部でＣＡＭ（Contents  Addressable  Memory）を一般的に使用している。
【０００３】
ここで、図８を用いて、従来技術に係るスイッチング装置の構成について説明する。図８は、従来技術に係るスイッチング装置の構成を示すブロック図である。図８に示すように、ＳＷ２０は、複数のポートを有するＭＵＸ部２１と、ＣＡＭ制御部２２と、検索テーブル部２３と、出力ポートテーブル部２４と、出力制御部２５とを有する。
【０００４】
かかるＭＵＸ部２１は、図９に示すように、入力されたパケットの先頭に入力ポート情報を付加してＣＡＭ制御部２２に出力する。ＣＡＭ制御部２２では、宛先ＭＡＣアドレス（ＤＡ：Destination  Address、宛先アドレス）と送信元ＭＡＣアドレス（ＳＡ：Source  Address、送信元アドレス）とを入力されたパケットから抽出して検索テーブル部２３に出力する。また、ＣＡＭ制御部２２は、ＭＵＸ部２１から入力されたパケット（言い換えると、データや主信号）を出力制御部２５に出力する。図９は、従来技術に係るパケットフォーマットの例を示す図である。
【０００５】
検索テーブル部は、図１０に示すように、「エントリＮｏ．、有効／無効、学習されたＭＡＣアドレス（ＳＡ）、入力ポート」を対応付けた検索テーブル（ＣＡＭ）を有する。ここで記憶される「エントリＮｏ．」は、エントリを一意に識別するメモリ空間のアドレスを示す情報であり、「有効／無効」は、エントリの状態を示す情報である。また、「学習されたＭＡＣアドレス（ＳＡ）」は、ＣＡＭに登録された端末のＭＡＣアドレスを示す情報であり、「入力ポート」は、登録された端末のＭＡＣアドレスが入力されたポートを示す情報である。このような検索テーブル部は、ＣＡＭ制御部から入力された「ＤＡ」と一致する学習されたＭＡＣアドレス（ＳＡ）を上記検索テーブルから検索し、その結果をＣＡＭ制御部に出力する。なお、図１０は、従来技術に係る検索テーブル(CAM)の例を示す図である。
【０００６】
具体的には、検索テーブル部は、ＣＡＭ制御部から入力された「ＤＡ」と一致するＭＡＣアドレスが上記検索テーブルに記憶されている場合には、検索結果として「一致」をＣＡＭ制御部に出力するとともに、「ＤＡ」と一致するＭＡＣアドレスの「エントリＮｏ．」を出力ポートテーブル部に出力する。
【０００７】
一方、検索テーブル部は、ＣＡＭ制御部から入力された「ＤＡ」と一致するＭＡＣアドレスが上記テーブルに記憶されていない場合には、検索結果として「不一致」をＣＡＭ制御部と出力ポートテーブル部とに出力する。
【０００８】
出力ポートテーブル部は、図１１に示すように、検索テーブル部が有するテーブルの「エントリＮｏ．」に対応付けて、出力ポートを記憶する出力ポートテーブルを有する。このような出力ポートテーブル部は、検索テーブル部から「エントリＮｏ．」を受信すると、「エントリＮｏ．」に対応する「出力ポート」情報を出力制御部に出力する。また、出力ポートテーブル部は、検索テーブル部から「不一致」を受信すると、「フラッデイング指示」を出力制御部に出力する。図１１は、従来技術に係る出力ポートテーブルの例を示す図である。
【０００９】
出力制御部は、出力ポートテーブル部から「出力ポート」情報を受信した場合には、その出力ポート情報に従って、ＣＡＭ制御部から受け付けた主信号（入力パケット）を宛先に出力する。また、出力制御部は、出力ポートテーブル部から「フラッデイング指示」を受信した場合には、ＣＡＭ制御部から受け付けた主信号（入力パケット）を複製して、全てのポートから出力する。
【００１０】
次に、図１２を用いて、上述したＳＷにおける処理の流れを説明する。図１２は、従来技術に係るスイッチング装置における処理の流れを示すフローチャートである。
【００１１】
図１２に示すように、ＳＷのＭＵＸ部は、パケットが入力されると（ステップＳ１肯定）、当該パケットの先頭に「入力ポートＮｏ．」を付加する（ステップＳ２）。そして、ＳＷのＣＡＭ制御部は、入力パケットからＤＡ（ＭＡＣアドレス）を抽出し、検索テーブル部へ検索依頼を送信する（ステップＳ３）。検索依頼を受け付けた検索テーブル部は、抽出したＤＡ（ＭＡＣアドレス）に一致するＭＡＣアドレスが検索テーブルに登録されているか否かを判定する（ステップＳ４）。
【００１２】
そして、検索テーブル部は、抽出したＤＡ（ＭＡＣアドレス）に一致するＭＡＣアドレスが検索テーブルに登録されている場合には（ステップＳ４肯定）、ＣＡＭ制御部へＤＡ一致情報を通知するとともに、出力ポートテーブル部に「エントリＮｏ．」を通知する（ステップＳ５）。その後、出力ポートテーブル部は、受け付けた「エントリＮｏ．」に対応する「出力ポートＮｏ．」を出力制御部に通知し（ステップＳ６）、出力制御部は、受け付けた「出力ポートＮｏ．」から入力パケットを出力する（ステップＳ７）。
【００１３】
一方、検索テーブル部は、抽出したＤＡに一致するＭＡＣアドレスが検索テーブルに登録されていない場合には（ステップＳ４否定）、ＣＡＭ制御部へＤＡ不一致情報を通知するとともに、出力ポートテーブル部に「フラッデイング指示」を通知する（ステップＳ８）。その後、出力ポートテーブル部は、出力制御部に「フラッデイング指示」通知し（ステップＳ９）、出力制御部は、入力パケットを複製して、全てのポートから出力する（ステップＳ１０）。
【００１４】
また、検索テーブル部は、抽出したＳＡに一致するＭＡＣアドレスが検索テーブルに登録されていない場合には、ＣＡＭ制御部の指示操作に従って、受信したパケットの「入力ポート、ＳＡ」を新たなエントリとして検索テーブルに格納する。
【００１５】
例えば、図１３に示した情報が検索テーブルに記憶されている状態で、Ｐｏｒｔ＝Ｄより、ＤＡ＝00：00：01：00：00：01のパケットを受信したとする。この場合、ＭＵＸ部では、入力Ｐｏｒｔ＝Ｄをパケットに付加し、ＣＡＭ制御部では、「ＤＡ＝00：00：01：00：00：01」を抽出し、検索テーブル部へ検索依頼を行う。そして、検索テーブル部は、「00：00：01：00：00：01」の検索実行を行い、一致した「エントリＮｏ.＝０００１」を出力ポートテーブル部へ出力する。出ポートテーブル部は、受信した「エントリＮｏ.＝０００１」から「出力ポート情報＝Ａ」を特定して出力制御部へ出力し、出力制御部は、受信した出力情報「出力ポート情報＝Ａ」より、該当の主信号をポートＡに出力する。図１３は、検索テーブル（ＣＡＭ）登録内容を示す図である。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００２−２３２４４８号公報
【特許文献２】特開２００５−２６０３２１号公報
【特許文献３】特開２００３−３３８８３５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、上記した従来の技術では、ソフトエラー等が原因でＣＡＭ内部の登録データに異常が発生した場合、異常をリアルタイムに検出することができないため、誤った方路（ポート）へユーザデータを出力することが起こり、最終的に通信断が発生してしまうという課題があった。
【００１８】
例えば、図１４に示した情報が検索テーブルに記憶されている状態で、Ｐｏｒｔ＝Ｃより、ＤＡ＝00：00：03：00：00：01のパケットを受信したとする。ただし、図１４に示した項１は、本来「00：00：01：00：00：01」が登録されていたが、α線や中性子線などの影響でメモリビットが反転し、「00：00：01：00：00：01」が「00：00：03：00：00：01」と誤って登録された状態である。図１４は、検索テーブル（ＣＡＭ）登録内容（ソフトエラー発生時）を示す図である。
【００１９】
この場合、ＭＵＸ部では、入力Ｐｏｒｔ＝Ｃをパケットに付加し、ＣＡＭ制御部では、「ＤＡ＝00：00：03：00：00：01」を抽出し、検索テーブル部へ検索依頼を行う。そして、検索テーブル部は、「00：00：03：00：00：01」の検索実行を行い、一致した「エントリＮｏ.＝０００１」を出力ポートテーブル部へ出力する。出力ポートテーブル部は、受信した「エントリＮｏ.＝０００１」から「出力ポート情報＝Ａ」を特定して出力制御部へ出力し、出力制御部は、受信した出力情報「出力ポート情報＝Ａ」より、該当の主信号をポートＡに出力する。
【００２０】
ところが、「エントリＮｏ.＝０００１」は、上述したように、本来「00：00：01：00：00：01」が記憶されているはずであることから、上述した動作は誤った動作である。上述した「00：00：03：00：00：01」に該当する端末は出力ポートＡに接続されていないので、出力ポートＡより出力されたパケットは受信されない。本来の動作を説明すると、検索テーブル部は、「00：00：03：00：00：01」の検索実行を行うが、不一致のため、出力制御部によって出力フラッデイング処理が実施されて、全ての出力ポートからパケットが送信される。
【００２１】
このように、ソフトエラー等が原因でＣＡＭ内部の登録データに異常が発生した場合、誤った方路（ポート）へユーザデータを出力することが起こり、最終的に通信断が発生してしまう。
【００２２】
開示の技術は、上記に鑑みてなされたものであって、ＣＡＭ内部の登録データに異常が発生した場合であっても、誤送信および通信断を防止することが可能であるスイッチング装置およびスイッチング方法を提供することを目的とする。
【課題を解決するための手段】
【００２３】
本願の開示するスイッチング装置は、一つの態様において、複数の入力ポートから受信したパケットの送信元アドレスと該パケットを入力した入力ポートとを関連付け、登録番号を付与して登録する第一のテーブルと、前記パケットを出力する出力ポートの情報に、前記送信元アドレスと前記入力ポートとを付加した情報を、前記第一のテーブルの登録番号と関連付けて登録する第二のテーブルと、前記受信したパケットの送信先アドレスと同一のアドレスを有した送信元アドレスが、前記第一のテーブルに登録されているか検索する検索部と、前記送信元アドレスが前記第一のテーブルに登録されている場合は、前記第一のテーブルに登録された前記登録番号が示す前記第二のテーブルに登録された送信元アドレスと比較する比較部と、前記両方の送信元アドレスが一致した場合は前記第二のテーブルに登録された出力ポートの情報が示す出力ポートからパケットを送信し、一致しない場合は全出力ポートよりパケットを送信する出力制御部と、を有する。
【発明の効果】
【００２４】
本願の開示するスイッチング装置の一つの態様によれば、ＣＡＭ内部の登録データに異常が発生した場合であっても、誤送信および通信断を防止することが可能であるという効果を奏する。
【図面の簡単な説明】
【００２５】
【図１】図１は、本願が開示するスイッチング装置を含むシステムの全体構成を示す図である。
【図２】図２は、実施例１に係るスイッチング装置の構成を示すブロック図である。
【図３】図３は、パケットフォーマットの例を示す図である。
【図４】図４は、ＣＡＭに登録される情報の例を示す図である。
【図５】図５は、出力ポートテーブルに登録される情報の例を示す図である。
【図６】図６は、実施例１に係るスイッチング装置における処理の流れを示すフローチャートである。
【図７】図７は、スイッチング制御プログラムを実行するコンピュータシステムの例を示す図である。
【図８】図８は、従来技術に係るスイッチング装置の構成を示すブロック図である。
【図９】図９は、従来技術に係るパケットフォーマットの例を示す図である。
【図１０】図１０は、従来技術に係る検索テーブル(CAM)の例を示す図である。
【図１１】図１１は、従来技術に係る出力ポートテーブルの例を示す図である。
【図１２】図１２は、従来技術に係るスイッチング装置における処理の流れを示すフローチャートである。
【図１３】図１３は、検索テーブル（ＣＡＭ）登録内容を示す図である。
【図１４】図１４は、検索テーブル（ＣＡＭ）登録内容（ソフトエラー発生時）を示す図である。
【発明を実施するための形態】
【００２６】
以下に、本願の開示するスイッチング装置およびスイッチング方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００２７】
［全体構成］
まず、図１を用いて本願が開示するスイッチング装置を含むシステムの全体構成について説明する。図１は、本願が開示するスイッチング装置を含むシステムの全体構成を示す図である。
【００２８】
図１に示すように、実施例１に係るシステムは、端末Ａと端末Ｃと端末Ｄとが接続されるスイッチング装置（ＳＷ（Ｘ））と、端末Ｂと端末Ｅと端末Ｆとが接続されるスイッチング装置（ＳＷ（Ｙ））とが相互に通信可能に接続される。
【００２９】
ここで接続されるＳＷ（Ｘ）とＳＷ（Ｙ）は、複数ポートを持つイーサネットスイッチング装置であり、例えば、Ｌ２スイッチやスイッチングハブなどである。また、ＳＷ（Ｘ）とＳＷ（Ｙ）は、あるポートからの入力イーサネットパケット（以降、単にパケットと称す）を特定のポートに出力するために、内部でＣＡＭ（Contents  Addressable  Memory）を一般的に使用している。
【００３０】
また、ここで示した端末とは、一意なＭＡＣアドレス（Media  Access  Control  address）が割り与えられ、ＭＡＣアドレスやＩＰアドレスを用いて、他の装置と接続する装置であり、例えば、既知のパーソナルコンピュータ、ワークステーションなどである。
【００３１】
なお、ここでは、１台のＳＷに３台の端末と他のＳＷとが接続されている例を示したが、これに限定されるものではなく、ＳＷは、有するポート数だけ端末等と接続することができ、さらには、カスケード接続によって他のＳＷと接続することもできる。また、各端末も１台のＳＷと接続されている例を示したが、これに限定されるものではなく、複数のＳＷと接続されていてもよい。
【００３２】
このようなシステムにおけるスイッチング装置は、端末間でやり取りされるデータを中継するものであり、ＣＡＭ（検索テーブル）へエントリ（ＭＡＣアドレスと入力ポート）を登録する際に、出力ポートテーブルにも同じ情報を登録する。
【００３３】
そして、スイッチング装置は、受信したパケットから抽出した「ＤＡ」と一致するＭＡＣアドレスがＣＡＭに登録されている場合、すなわち、抽出した「ＤＡ」と一致するＭＡＣアドレスがＣＡＭから抽出できた場合、さらに、同じ情報が出力ポートテーブルにも記憶されているか否かを判定する。スイッチング装置は、ＣＡＭにも出力ポートテーブルにも受信したパケットから抽出した「ＤＡ」と一致するＭＡＣアドレスが登録されている場合に、ＣＡＭに登録されている情報が正しい情報であると判断して、該当出力ポートにデータ（パケット）を送信する。一方、スイッチング装置は、パケットから抽出した「ＤＡ」と一致するＭＡＣアドレスがＣＡＭには登録されているが、出力ポートテーブルには登録されていない場合に、ＣＡＭにソフトエラーが発生した可能性が高いと判断して、フラッデイング処理で全ポートからデータ（パケット）を送信する。
【００３４】
このように、本願が開示するスイッチング装置は、ＣＡＭと出力ポートテーブルとの両方に同じ情報を登録しておいて、登録されている情報の整合性を確認することができる。その結果、両方に同じデータが登録されている場合には、ＣＡＭによって特定される出力ポートからデータを送信し、異なるデータが登録されている場合には、フラッデイング処理で全ポートからデータを送信することができる。したがって、ＣＡＭ内部の登録データに異常が発生した場合であっても、誤送信および通信断を防止することが可能である。
【００３５】
［スイッチング装置の構成］
次に、図２を用いて、図１に示したスイッチング装置の構成について説明する。図２は、実施例１に係るスイッチング装置の構成を示すブロック図である。
【００３６】
図２に示すように、実施例１に係るスイッチング装置（ＳＷ）１０は、ＭＵＸ部１１と、ＣＡＭ制御部１２と、検索テーブル部１３と、出力ポートテーブル部１４と、検索情報比較部１５と、出力制御部１６とを有する。
【００３７】
ＭＵＸ部１１は、複数の入力ポートを有し、入力ポートを介して、他の装置から送信されたデータ（パケット）を受信し、受信したパケットに入力ポート情報を付加する。具体的には、ＭＵＸ部１１は、図３に示すように、入力されたパケットの先頭に、当該パケットが入力されたポートの情報を付加してＣＡＭ制御部１２に出力する。例えば、ＭＵＸ部１１は、入力ポートＢでパケットを受信した場合、当該パケットの先頭に「入力ポート情報＝Ｂ」を付加して、ＣＡＭ制御部１２に出力する。なお、図３は、パケットフォーマットの例を示す図である。
【００３８】
ＣＡＭ制御部１２は、検索テーブル部１３に対して宛先（出力先ポート）の検索依頼を送信したり、検索テーブル部１３に対して新たなエントリ登録要求を送信したり、検索テーブル部１３から検索結果を受信したりする。具体的には、ＣＡＭ制御部１２は、入力ポート情報が付加されたパケットがＭＵＸ部１１から入力されると、宛先のＭＡＣアドレスを示す「ＤＡ」をパケットから取得する。そして、ＣＡＭ制御部１２は、検索テーブル部１３に対して宛先（出力先ポート）の検索依頼とともに、取得した「ＤＡ」を検索テーブル部１３に出力する。また、ＣＡＭ制御部１２は、送信元のＭＡＣアドレスを示す「ＳＡ」とＭＵＸ部１１により付加された「入力ポート情報」についても、当該パケットから取得する。
【００３９】
そして、ＣＡＭ制御部１２は、検索依頼の結果として、ＭＵＸ部１１に入力されたパケットの「ＤＡ」と一致するデータがあったことを示す「一致」又は一致するデータがなかったことを示す「不一致」を検索テーブル部１３から受信した場合には、ＭＵＸ部１１から入力されたデータ（主信号）を出力制御部１６に出力する。また、ＣＡＭ制御部１２は、検索依頼の結果として、「一致」を検索テーブル部１３から受信した場合には、当該「一致」した「エントリＮｏ．」と、当該「エントリＮｏ．」によって特定される「学習されたＭＡＣアドレス（ＳＡ）」、「入力ポート」をＣＡＭから読み出して検索情報比較部１５に出力する。
【００４０】
そして、ＣＡＭ制御部１２は、ＣＡＭに記憶される情報と出力ポートテーブルに記憶される情報とが一致しないことを示すエラー情報と、当該エラーが発生しているエントリを特定するIndexやAddress情報（例えば、登録番号やエントリＮｏ．など）を検索情報比較部１５から受信する。この場合、ＣＡＭ制御部１２（テーブル制御部）は、受信したIndexやAddress情報によって特定されるエントリをＣＡＭから削除する指示（削除要求）を検索テーブル部１３に出力する。
【００４１】
また、ＣＡＭ制御部１２は、上記パケットから取得した「ＳＡ」が検索テーブル部１３に登録されているか否か検索テーブル部１３に対して検索依頼をする。そして、ＣＡＭ制御部１２は検索依頼の結果として、検索テーブル部１３から未登録であること示す信号を受信した場合は、検索テーブル部１３に対して新たなエントリ登録要求を送信する。
【００４２】
検索テーブル部１３は、ＣＡＭ制御部１２から新たなエントリ登録要求とともに「ＳＡ」と「入力ポート情報」などの登録情報が入力されると、その「ＳＡ」と「入力ポート情報」とを対応付け、登録番号（エントリＮｏ．）をＣＡＭに指示する。ＣＡＭは、「ＳＡ」と「入力ポート情報」とを「エントリＮｏ．」が示すアドレスへ対応付けて登録する。
【００４３】
また、検索テーブル部１３は、ＭＵＸ部１１に入力されたパケットの宛先をＣＡＭから検索する。具体的には、検索テーブル部１３は、図４に示すように、「エントリＮｏ．、有効／無効、学習されたＭＡＣアドレス（ＳＡ）、入力ポート」を対応付けたＣＡＭを有する。ここで記憶される「エントリＮｏ．」は、エントリを一意に識別するメモリ空間のアドレスを示す情報であり、「有効／無効」は、エントリの状態を示す情報である。また、「学習されたＭＡＣアドレス（ＳＡ）」は、ＣＡＭに登録された端末のＭＡＣアドレスを示す情報であり、「入力ポート」は、登録された端末のＭＡＣアドレスが入力されたポートを示す情報である。図４は、ＣＡＭに登録される情報の例を示す図である。
【００４４】
そして、検索テーブル部１３は、ＣＡＭ制御部１２から入力された「ＤＡ（宛先のＭＡＣアドレス）」と一致するＭＡＣアドレスがＣＡＭに記憶されている場合には、検索結果として「一致」をＣＡＭ制御部１２に出力するとともに、「ＤＡ」と一致するＭＡＣアドレスの「エントリＮｏ．」を出力ポートテーブル部１４に出力する。この場合、さらに、検索テーブル部１３は、ＣＡＭ制御部１２から入力された「ＤＡ（宛先のＭＡＣアドレス）」と一致する「ＭＡＣアドレス」と「入力ポート」と「エントリＮｏ．」をＣＡＭから取得し、検索情報比較部１５に出力する。
【００４５】
一方、検索テーブル部１３は、ＣＡＭ制御部１２から入力された「ＤＡ」と一致するＭＡＣアドレスがＣＡＭに記憶されていない場合には、検索結果として「不一致」をＣＡＭ制御部１２と出力ポートテーブル部１４とに出力する。
【００４６】
例えば、検索テーブル部１３は、ＣＡＭ制御部１２から入力された「ＤＡ＝00：00：03：00：00：01」が入力された場合、「ＤＡ＝00：00：03：00：00：01」に一致する「学習されたＭＡＣアドレス（ＳＡ）」がＣＡＭに存在するか否かを判定する。そして、検索テーブル部１３は、一致した「学習されたＭＡＣアドレス（ＳＡ）」が存在する場合には、検索結果として「一致」をＣＡＭ制御部１２に出力する。さらに、検索テーブル部１３は、その一致した「学習されたＭＡＣアドレス（ＳＡ）」の「エントリＮｏ．」を出力ポートテーブル部１４に出力する。また、検索テーブル部１３は、一致する「学習されたＭＡＣアドレス（ＳＡ）」が存在しない場合には、検索結果として「不一致」をＣＡＭ制御部１２に出力する。
【００４７】
また、検索テーブル部１３は、ＣＡＭ制御部１２から削除要求を受け付けた場合、この削除要求に含まれる「エントリＮｏ．」に対応するレコード（有効／無効、学習されたＭＡＣアドレス、入力ポート）を削除し、その結果をＣＡＭ制御部１２に応答する。
【００４８】
出力ポートテーブル部１４は、ＭＵＸ部１１に入力されたパケットの宛先（出力先）のポート番号を特定して検索情報比較部１５や出力制御部１６に出力する。具体的には、出力ポートテーブル部１４は、図５に示すように、「エントリＮｏ．、出力ポート、学習されたＭＡＣアドレス（ＳＡ）、入力ポート」を対応付けた出力ポートテーブルを有する。ここで記憶される「出力ポート」とは、パケットを送信するポート、すなわち、宛先を示す情報である。また、ここで記憶される「エントリＮｏ．」、「学習されたＭＡＣアドレス（ＳＡ）」、「入力ポート」は、図４に示したＣＡＭと同様の内容である。また、この出力ポートテーブルは、メモリ、フラッシュメモリ、ＲＡＭ（Random  Access  Memory）などＣＡＭとは別のメモリ空間に設けられる。なお、図５は、出力ポートテーブルに登録される情報の例を示す図である。
【００４９】
具体的には、出力ポートテーブル部１４は、ＭＵＸ部１１に受け付けられたパケットの「ＤＡ」と一致する「学習されたＭＡＣアドレス（ＳＡ）」の「エントリＮｏ．」を検索テーブル部１３から受け付ける。そして、出力ポートテーブル部１４は、受け付けた「エントリＮｏ．」によって特定される「出力ポート」を出力方路情報として出力制御部１６に出力する。さらに、出力ポートテーブル部１４は、受け付けた「エントリＮｏ．」と、当該「エントリＮｏ．」によって特定される「学習されたＭＡＣアドレス（ＳＡ）」、「入力ポート」を検索情報比較部１５に出力する。
【００５０】
検索情報比較部１５は、検索テーブル部１３が有するＣＡＭに登録されている情報と出力ポートテーブル部１４が有する出力ポートテーブルに記憶されている情報との整合性を確認する。具体的には、検索情報比較部１５は、ＣＡＭ制御部１２から入力された「エントリＮｏ．」、「学習されたＭＡＣアドレス（ＳＡ）」、「入力ポート」と、出力ポートテーブル部１４から入力された「エントリＮｏ．」、「学習されたＭＡＣアドレス（ＳＡ）」、「入力ポート」とが一致するか否かを比較する。
【００５１】
そして、検索情報比較部１５は、ＣＡＭ制御部１２から入力された情報と出力ポートテーブル部１４から入力された情報とが一致する場合に、ＣＡＭに登録されている情報が正しいと判断し、「正常」を出力制御部１６に出力する。一方、検索情報比較部１５は、ＣＡＭ制御部１２から入力された情報と出力ポートテーブル部１４から入力された情報とが一致しない場合に、ＣＡＭにソフトエラーが発生したと判断し、「エラー」を出力制御部１６に出力する。また、検索情報比較部１５は、「エラー」を出力制御部１６に出力するとともに、一致しなった「エントリＮｏ．」をＣＡＭ制御部１２に出力する。
【００５２】
出力制御部１６は、複数の出力ポートを有し、ＭＵＸ部１１に入力されたパケット（主信号）を宛先に出力する。具体的には、出力制御部１６は、ＭＵＸ部１１に入力されたパケットをＣＡＭ制御部１２から受信する。また、出力制御部１６は、ＭＵＸ部１１に入力されたパケットの宛先を示すポート番号（出力ポート）を出力ポートテーブル部１４から受信する。そして、出力制御部１６は、「正常」を検索情報比較部１５から受け付けた場合には、ＣＡＭ制御部１２から受信したパケットを、出力ポートテーブル部１４から受信したポート番号（出力ポート）から出力する。
【００５３】
一方、出力制御部１６は、「エラー」を検索情報比較部１５から受け付けた場合には、ＣＡＭ制御部１２から受信したパケットを出力ポートの数だけ複製し、全ての出力ポートからパケットを出力するフラッデイング処理を実行する。
【００５４】
［処理の流れ］
次に、図６を用いて、スイッチング装置における処理の流れを説明する。図６は、実施例１に係るスイッチング装置における処理の流れを示すフローチャートである。
【００５５】
図６に示すように、スイッチング装置１０のＭＵＸ部１１は、いずれかのポートにパケットが入力されると（ステップＳ１０１肯定）、当該パケットが入力された「入力ポートＮｏ．」を入力されたパケットに付加する（ステップＳ１０２）。具体的には、ＭＵＸ部１１は、「入力ポートＮｏ．＝Ｂ」のポートでパケットを受信すると、受信したパケットの先頭に「入力ポートＮｏ．＝Ｂ」を付加して、ＣＡＭ制御部１２に出力する。
【００５６】
そして、入力ポート情報が付加されたパケットがＭＵＸ部１１から受信したＣＡＭ制御部１２は、パケットの宛先ＭＡＣアドレスを示す「ＤＡ」をパケットから取得する（ステップＳ１０３）。また、ステップＳ１０３では、ＣＡＭ制御部１２は、検索テーブル部１３に対して、取得した「ＤＡ」と宛先（出力先ポート）の検索依頼とを出力する。このとき、ＣＡＭ制御部１２は、送信元のＭＡＣアドレスを示す「ＳＡ」とＭＵＸ部１１により付加された「入力ポート情報」についても、当該パケットから取得する。また、ＣＡＭ制御部１２は、ＭＵＸ部１１から受信したパケット（主信号）を出力制御部１６に出力する。
【００５７】
この検索要求とＤＡとを受信した検索テーブル部１３は、受信したＤＡと一致するＭＡＣアドレスをＣＡＭから検索する（ステップＳ１０４）。そして、検索テーブル部１３は、受信したＤＡと一致するＭＡＣアドレスをＣＡＭから検索できた場合（ステップＳ１０４肯定）、検索結果「一致」をＣＡＭ制御部１２に出力する（ステップＳ１０５）。また、ステップＳ１０５では、検索テーブル部１３は、検索できたＭＡＣアドレスの「エントリＮｏ．」を出力ポートテーブル部１４に出力する。
【００５８】
また、検索テーブル部１３は、ＤＡと一致する検索できた「エントリＮｏ．」、「ＭＡＣアドレス」と「入力ポート」とをＣＡＭから取得し、検索情報比較部１５に出力する（ステップＳ１０６）。
【００５９】
また、出力ポートテーブル部１４では、受信した「エントリＮｏ．」と対応付けられている「出力ポート」、「ＭＡＣアドレス」、「入力ポート」、「エントリＮｏ．」とを出力ポートテーブルから取得する（ステップＳ１０７）。また、ステップＳ１０７では、出力ポートテーブル部１４は、取得した「出力ポート」を出力制御部１６に出力し、取得した「ＭＡＣアドレス」、「入力ポート」、「エントリＮｏ．」を検索情報比較部１５に出力する。
【００６０】
このようにして、検索情報比較部１５は、ＣＡＭ制御部１２から入力された情報と、出力ポートテーブル部１４から入力された情報とが一致するか否かを比較する（ステップＳ１０８）。このときに、比較する情報としては、ＣＡＭ制御部１２と出力ポートテーブル部１４とのそれぞれから受信した「エントリＮｏ．」、「学習されたＭＡＣアドレス（ＳＡ）」、「入力ポート」を用いてもよい。また、「学習されたＭＡＣアドレス（ＳＡ）」、「入力ポート」のみを用いてもよい。
【００６１】
そして、検索情報比較部１５は、ＣＡＭ制御部１２から入力された情報と、出力ポートテーブル部１４から入力された情報とが一致する場合（ステップＳ１０８肯定）、比較結果「正常」を出力制御部１６に出力する（ステップＳ１０９）。続いて、比較結果「正常」を受信した出力制御部１６は、ＣＡＭ制御部１２から受信したパケットを、出力ポートテーブル部１４から受信したポート番号（出力ポート）から出力する（ステップＳ１１０）。
【００６２】
一方、ステップＳ１０８において、検索情報比較部１５は、ＣＡＭ制御部１２から入力された情報と、出力ポートテーブル部１４から入力された情報とが一致しないと判定した場合（ステップＳ１０８否定）、比較結果「エラー」を出力制御部１６に出力する（ステップＳ１１１）。また、ステップＳ１１１では、比較結果「エラー」を出力した検索情報比較部１５は、一致しなったエラー情報（Index（Address））として、例えば「エントリＮｏ．」をＣＡＭ制御部１２に出力もする。
【００６３】
そして、出力制御部１６は、「エラー」を検索情報比較部１５から受け付けた場合、ＣＡＭ制御部１２から受信したパケットを出力ポートの数だけ複製し、全ての出力ポートからパケットを出力するフラッデイング処理を実行する（ステップＳ１１２）。
【００６４】
さらに、比較結果「エラー」を出力した検索情報比較部１５は、エラー情報（Index（Address））、すなわち、ステップＳ１０８の検索で一致しなった「エントリＮｏ．」をＣＡＭ制御部１２に出力する（ステップＳ１１３）。また、ステップＳ１１３では、エラーとなった「エントリＮｏ．」を受信したＣＡＭ制御部１２は、当該「エントリＮｏ．」によって特定される情報をＣＡＭから削除する削除要求を検索テーブル部１３に出力する。なお、ＣＡＭ制御部１２は、「エントリＮｏ．」以外のエラー情報（Index（Address））を受信した場合には、このエラー情報によって特定されるメモリ空間のアドレスやポインタなどから「エントリＮｏ．」を特定するようにしてもよい。
【００６５】
ステップＳ１０４に戻り、検索テーブル部１３は、受信したＤＡと一致するＭＡＣアドレスをＣＡＭから検索できなかった場合（ステップＳ１０４否定）、検索結果「不一致」をＣＡＭ制御部１２に出力する（ステップＳ１１５）。その後、検索テーブル部１３は、「エラー」が発生したことを出力制御部１６に出力する（ステップＳ１１６）。
【００６６】
そして、「エラー」が発生したこと受信した出力制御部１６は、ＣＡＭ制御部１２から受信したパケットを出力ポートの数だけ複製し、全ての出力ポートからパケットを出力するフラッデイング処理を実行する（ステップＳ１１７）。
【００６７】
［実施例１による効果］
このように、実施例１によれば、ＣＡＭと、出力ポートテーブルとの両方に同じ情報を登録しておいて、登録されている情報の整合性を確認することができる。その結果、両方に同じデータが登録されている場合には、ＣＡＭによって特定される出力ポートからデータを送信し、異なるデータが登録されている場合には、フラッデイング処理で全ポートからデータを送信することができる。したがって、ＣＡＭ内部の登録データに異常が発生した場合であっても、誤送信および通信断を防止することが可能である。つまり、ＣＡＭ内登録データの異常を検出し、誤った方路(ポート)へのユーザデータ出力する事、最終的に通信断になる事を回避する事が可能となる。
【００６８】
また、実施例１によれば、ＣＡＭ登録データの異常検出時、エラー情報のフィードバックを行う事で、ＣＡＭ内の異常データ削除を実施し、ＣＡＭを初期状態へ移行することができる。その結果、ＣＡＭが初期状態に戻り、データの再登録後、正常通信が可能となる。
【実施例２】
【００６９】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、（１）エラー時の処理、（２）システム構成等、（３）プログラムにそれぞれ区分けして異なる実施例を説明する。
【００７０】
（１）エラー時の処理
例えば、実施例１では、エラーが発見された場合に、エラーとなった「エントリＮｏ．」のデータをＣＡＭから削除する例について説明したが、本願はこれに限定されるものではなく、必ずしもデータ削除処理を実行する必要はない。
【００７１】
例えば、スイッチング装置１０は、エラーとなった場合には、エラーとなった「エントリＮｏ．」、「学習されたＭＡＣアドレス（ＳＡ）」、「入力ポート」をディスプレイなどに表示させてもよく、接続される管理装置などに出力するようにしてもよい。また、エラーの検出としては、「学習されたＭＡＣアドレス（ＳＡ）」と「入力ポート」の比較を行う例を説明したが、どちらの一方のみを比較するようにしてもよい。これ以外にも、「有効／無効」で判断することもできる。具体的には、スイッチング装置１０は、ＣＡＭ制御部１２から入力された情報が「有効」であり、出力ポートテーブル部１４から入力された情報が「無効」である場合には、「不一致」と判定する。
【００７２】
（２）システム構成等
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報（例えば、図４や図５など）については、特記する場合を除いて任意に変更することができる。
【００７３】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７４】
（３）プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムを他の実施例として説明する。
【００７５】
図７は、スイッチング制御プログラムを実行するコンピュータシステムの例を示す図である。図７に示すように、コンピュータシステム１００は、ＲＡＭ１０１と、ＨＤＤ１０２と、ＲＯＭ１０３と、ＣＰＵ１０４とから構成される。ここで、ＲＯＭ１０３には、上記の実施例と同様の機能を発揮するプログラムがあらかじめ記憶されている。つまり、図７に示すように、ＭＵＸプログラム１０３ａと、ＣＡＭ制御プログラム１０３ｂと、検索プログラム１０３ｃと、出力ポート検索プログラム１０３ｄと、検索情報比較プログラム１０３ｅと、出力制御プログラム１０３ｆとがあらかじめ記憶されている。
【００７６】
そして、ＣＰＵ１０４には、これらのプログラム１０３ａ〜１０３ｅを読み出して実行することで、図７に示すように、ＭＵＸプロセス１０４ａと、ＣＡＭ制御プロセス１０４ｂと、検索プロセス１０４ｃと、出力ポート検索プロセス１０４ｄと、検索情報比較プロセス１０４ｅと、出力制御プロセス１０４ｆとなる。
【００７７】
なお、ＭＵＸプロセス１０４ａは、図２に示したＭＵＸ部１１に対応し、ＣＡＭ制御プロセス１０４ｂは、ＣＡＭ制御部１２に対応し、検索プロセス１０４ｃは、検索テーブル部１３に対応する。同様に、出力ポート検索プロセス１０４ｄは、出力ポートテーブル部１４に対応し、検索情報比較プロセス１０４ｅは、検索情報比較部１５に対応し、出力制御プロセス１０４ｆは、出力制御部１６に対応する。
【００７８】
また、ＨＤＤ１０２は、検索テーブル１０２ａと、出力テーブル１０２ｂとを記憶する。なお、検索テーブル１０２ａは、実施例１で説明したＣＡＭに対応し、出力テーブル１０２ｂは、出力ポートテーブルに対応する。
【００７９】
ところで、上記したプログラム１０３ａ〜１０３ｆは、必ずしもＲＯＭ１０３に記憶させておく必要はなく、例えば、コンピュータシステム１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」の他に、コンピュータシステム１００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらに、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータシステム１００に接続される「他のコンピュータシステム」に記憶させておき、コンピュータシステム１００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００８０】
１０  スイッチング装置
１１  ＭＵＸ部
１２  ＣＡＭ制御部
１３  検索テーブル部
１４  出力ポートテーブル部
１５  検索情報比較部
１６  出力制御部
１００  コンピュータシステム
１０１  ＲＡＭ
１０２  ＨＤＤ
１０２ａ  検索テーブル
１０２ｂ  出力テーブル
１０３  ＲＯＭ
１０３ａ  ＭＵＸプログラム
１０３ｂ  ＣＡＭ制御プログラム
１０３ｃ  検索プログラム
１０３ｄ  出力ポート検索プログラム
１０３ｅ  検索情報比較プログラム
１０３ｆ  出力制御プログラム
１０４  ＣＰＵ
１０４ａ  ＭＵＸプロセス
１０４ｂ  ＣＡＭ制御プロセス
１０４ｃ  検索プロセス
１０４ｄ  出力ポート検索プロセス
１０４ｅ  検索情報比較プロセス
１０４ｆ  出力制御プロセス
【図１】
2010283473.tif 000003
【図２】
2010283473.tif 000004
【図３】
2010283473.tif 000005
【図４】
2010283473.tif 000006
【図５】
2010283473.tif 000007
【図６】
2010283473.tif 000008
【図７】
2010283473.tif 000009
【図８】
2010283473.tif 000010
【図９】
2010283473.tif 000011
【図１０】
2010283473.tif 000012
【図１１】
2010283473.tif 000013
【図１２】
2010283473.tif 000014
【図１３】
2010283473.tif 000015
【図１４】
2010283473.tif 000016