JP5249859B2 - スイッチング装置およびスイッチング方法 - Google Patents

スイッチング装置およびスイッチング方法 Download PDF

Info

Publication number
JP5249859B2
JP5249859B2 JP2009133523A JP2009133523A JP5249859B2 JP 5249859 B2 JP5249859 B2 JP 5249859B2 JP 2009133523 A JP2009133523 A JP 2009133523A JP 2009133523 A JP2009133523 A JP 2009133523A JP 5249859 B2 JP5249859 B2 JP 5249859B2
Authority
JP
Japan
Prior art keywords
registered
packet
output
unit
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009133523A
Other languages
English (en)
Other versions
JP2010283473A (ja
Inventor
伸二 池末
利之 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Fujitsu Telecom Networks Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Telecom Networks Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Fujitsu Telecom Networks Ltd filed Critical Fujitsu Ltd
Priority to JP2009133523A priority Critical patent/JP5249859B2/ja
Publication of JP2010283473A publication Critical patent/JP2010283473A/ja
Application granted granted Critical
Publication of JP5249859B2 publication Critical patent/JP5249859B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、データを中継するスイッチング装置およびスイッチング方法に関する。
従来より、複数ポートを持つイーサネットスイッチング装置(SW)では、あるポートからの入力イーサネットパケット(以降、単にパケットと称す)を特定のポートに出力するために、内部でCAM(Contents Addressable Memory)を一般的に使用している。
ここで、図8を用いて、従来技術に係るスイッチング装置の構成について説明する。図8は、従来技術に係るスイッチング装置の構成を示すブロック図である。図8に示すように、SW20は、複数のポートを有するMUX部21と、CAM制御部22と、検索テーブル部23と、出力ポートテーブル部24と、出力制御部25とを有する。
かかるMUX部21は、図9に示すように、入力されたパケットの先頭に入力ポート情報を付加してCAM制御部22に出力する。CAM制御部22では、宛先MACアドレス(DA:Destination Address、宛先アドレス)と送信元MACアドレス(SA:Source Address、送信元アドレス)とを入力されたパケットから抽出して検索テーブル部23に出力する。また、CAM制御部22は、MUX部21から入力されたパケット(言い換えると、データや主信号)を出力制御部25に出力する。図9は、従来技術に係るパケットフォーマットの例を示す図である。
検索テーブル部は、図10に示すように、「エントリNo.、有効/無効、学習されたMACアドレス(SA)、入力ポート」を対応付けた検索テーブル(CAM)を有する。ここで記憶される「エントリNo.」は、エントリを一意に識別するメモリ空間のアドレスを示す情報であり、「有効/無効」は、エントリの状態を示す情報である。また、「学習されたMACアドレス(SA)」は、CAMに登録された端末のMACアドレスを示す情報であり、「入力ポート」は、登録された端末のMACアドレスが入力されたポートを示す情報である。このような検索テーブル部は、CAM制御部から入力された「DA」と一致する学習されたMACアドレス(SA)を上記検索テーブルから検索し、その結果をCAM制御部に出力する。なお、図10は、従来技術に係る検索テーブル(CAM)の例を示す図である。
具体的には、検索テーブル部は、CAM制御部から入力された「DA」と一致するMACアドレスが上記検索テーブルに記憶されている場合には、検索結果として「一致」をCAM制御部に出力するとともに、「DA」と一致するMACアドレスの「エントリNo.」を出力ポートテーブル部に出力する。
一方、検索テーブル部は、CAM制御部から入力された「DA」と一致するMACアドレスが上記テーブルに記憶されていない場合には、検索結果として「不一致」をCAM制御部と出力ポートテーブル部とに出力する。
出力ポートテーブル部は、図11に示すように、検索テーブル部が有するテーブルの「エントリNo.」に対応付けて、出力ポートを記憶する出力ポートテーブルを有する。このような出力ポートテーブル部は、検索テーブル部から「エントリNo.」を受信すると、「エントリNo.」に対応する「出力ポート」情報を出力制御部に出力する。また、出力ポートテーブル部は、検索テーブル部から「不一致」を受信すると、「フラッデイング指示」を出力制御部に出力する。図11は、従来技術に係る出力ポートテーブルの例を示す図である。
出力制御部は、出力ポートテーブル部から「出力ポート」情報を受信した場合には、その出力ポート情報に従って、CAM制御部から受け付けた主信号(入力パケット)を宛先に出力する。また、出力制御部は、出力ポートテーブル部から「フラッデイング指示」を受信した場合には、CAM制御部から受け付けた主信号(入力パケット)を複製して、全てのポートから出力する。
次に、図12を用いて、上述したSWにおける処理の流れを説明する。図12は、従来技術に係るスイッチング装置における処理の流れを示すフローチャートである。
図12に示すように、SWのMUX部は、パケットが入力されると(ステップS1肯定)、当該パケットの先頭に「入力ポートNo.」を付加する(ステップS2)。そして、SWのCAM制御部は、入力パケットからDA(MACアドレス)を抽出し、検索テーブル部へ検索依頼を送信する(ステップS3)。検索依頼を受け付けた検索テーブル部は、抽出したDA(MACアドレス)に一致するMACアドレスが検索テーブルに登録されているか否かを判定する(ステップS4)。
そして、検索テーブル部は、抽出したDA(MACアドレス)に一致するMACアドレスが検索テーブルに登録されている場合には(ステップS4肯定)、CAM制御部へDA一致情報を通知するとともに、出力ポートテーブル部に「エントリNo.」を通知する(ステップS5)。その後、出力ポートテーブル部は、受け付けた「エントリNo.」に対応する「出力ポートNo.」を出力制御部に通知し(ステップS6)、出力制御部は、受け付けた「出力ポートNo.」から入力パケットを出力する(ステップS7)。
一方、検索テーブル部は、抽出したDAに一致するMACアドレスが検索テーブルに登録されていない場合には(ステップS4否定)、CAM制御部へDA不一致情報を通知するとともに、出力ポートテーブル部に「フラッデイング指示」を通知する(ステップS8)。その後、出力ポートテーブル部は、出力制御部に「フラッデイング指示」通知し(ステップS9)、出力制御部は、入力パケットを複製して、全てのポートから出力する(ステップS10)。
また、検索テーブル部は、抽出したSAに一致するMACアドレスが検索テーブルに登録されていない場合には、CAM制御部の指示操作に従って、受信したパケットの「入力ポート、SA」を新たなエントリとして検索テーブルに格納する。
例えば、図13に示した情報が検索テーブルに記憶されている状態で、Port=Dより、DA=00:00:01:00:00:01のパケットを受信したとする。この場合、MUX部では、入力Port=Dをパケットに付加し、CAM制御部では、「DA=00:00:01:00:00:01」を抽出し、検索テーブル部へ検索依頼を行う。そして、検索テーブル部は、「00:00:01:00:00:01」の検索実行を行い、一致した「エントリNo.=0001」を出力ポートテーブル部へ出力する。出ポートテーブル部は、受信した「エントリNo.=0001」から「出力ポート情報=A」を特定して出力制御部へ出力し、出力制御部は、受信した出力情報「出力ポート情報=A」より、該当の主信号をポートAに出力する。図13は、検索テーブル(CAM)登録内容を示す図である。
特開2002−232448号公報 特開2005−260321号公報 特開2003−338835号公報
しかしながら、上記した従来の技術では、ソフトエラー等が原因でCAM内部の登録データに異常が発生した場合、異常をリアルタイムに検出することができないため、誤った方路(ポート)へユーザデータを出力することが起こり、最終的に通信断が発生してしまうという課題があった。
例えば、図14に示した情報が検索テーブルに記憶されている状態で、Port=Cより、DA=00:00:03:00:00:01のパケットを受信したとする。ただし、図14に示した項1は、本来「00:00:01:00:00:01」が登録されていたが、α線や中性子線などの影響でメモリビットが反転し、「00:00:01:00:00:01」が「00:00:03:00:00:01」と誤って登録された状態である。図14は、検索テーブル(CAM)登録内容(ソフトエラー発生時)を示す図である。
この場合、MUX部では、入力Port=Cをパケットに付加し、CAM制御部では、「DA=00:00:03:00:00:01」を抽出し、検索テーブル部へ検索依頼を行う。そして、検索テーブル部は、「00:00:03:00:00:01」の検索実行を行い、一致した「エントリNo.=0001」を出力ポートテーブル部へ出力する。出力ポートテーブル部は、受信した「エントリNo.=0001」から「出力ポート情報=A」を特定して出力制御部へ出力し、出力制御部は、受信した出力情報「出力ポート情報=A」より、該当の主信号をポートAに出力する。
ところが、「エントリNo.=0001」は、上述したように、本来「00:00:01:00:00:01」が記憶されているはずであることから、上述した動作は誤った動作である。上述した「00:00:03:00:00:01」に該当する端末は出力ポートAに接続されていないので、出力ポートAより出力されたパケットは受信されない。本来の動作を説明すると、検索テーブル部は、「00:00:03:00:00:01」の検索実行を行うが、不一致のため、出力制御部によって出力フラッデイング処理が実施されて、全ての出力ポートからパケットが送信される。
このように、ソフトエラー等が原因でCAM内部の登録データに異常が発生した場合、誤った方路(ポート)へユーザデータを出力することが起こり、最終的に通信断が発生してしまう。
開示の技術は、上記に鑑みてなされたものであって、CAM内部の登録データに異常が発生した場合であっても、誤送信および通信断を防止することが可能であるスイッチング装置およびスイッチング方法を提供することを目的とする。
本願の開示するスイッチング装置は、一つの態様において、複数の入力ポートから受信したパケットの送信元アドレスと該パケットを入力した入力ポートとを関連付け、登録番号を付与して登録する第一のテーブルと、前記パケットを出力する出力ポートの情報に、前記送信元アドレスと前記入力ポートとを付加した情報を、前記第一のテーブルの登録番号と関連付けて登録する第二のテーブルと、前記受信したパケットの送信先アドレスと同一のアドレスを有した送信元アドレスが、前記第一のテーブルに登録されているか検索する検索部と、前記送信元アドレスが前記第一のテーブルに登録されている場合は、前記第一のテーブルに登録された前記登録番号が示す前記第二のテーブルに登録された送信元アドレスと比較する比較部と、前記両方の送信元アドレスが一致した場合は前記第二のテーブルに登録された出力ポートの情報が示す出力ポートからパケットを送信し、一致しない場合は全出力ポートよりパケットを送信する出力制御部と、を有する。
本願の開示するスイッチング装置の一つの態様によれば、CAM内部の登録データに異常が発生した場合であっても、誤送信および通信断を防止することが可能であるという効果を奏する。
図1は、本願が開示するスイッチング装置を含むシステムの全体構成を示す図である。 図2は、実施例1に係るスイッチング装置の構成を示すブロック図である。 図3は、パケットフォーマットの例を示す図である。 図4は、CAMに登録される情報の例を示す図である。 図5は、出力ポートテーブルに登録される情報の例を示す図である。 図6は、実施例1に係るスイッチング装置における処理の流れを示すフローチャートである。 図7は、スイッチング制御プログラムを実行するコンピュータシステムの例を示す図である。 図8は、従来技術に係るスイッチング装置の構成を示すブロック図である。 図9は、従来技術に係るパケットフォーマットの例を示す図である。 図10は、従来技術に係る検索テーブル(CAM)の例を示す図である。 図11は、従来技術に係る出力ポートテーブルの例を示す図である。 図12は、従来技術に係るスイッチング装置における処理の流れを示すフローチャートである。 図13は、検索テーブル(CAM)登録内容を示す図である。 図14は、検索テーブル(CAM)登録内容(ソフトエラー発生時)を示す図である。
以下に、本願の開示するスイッチング装置およびスイッチング方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
[全体構成]
まず、図1を用いて本願が開示するスイッチング装置を含むシステムの全体構成について説明する。図1は、本願が開示するスイッチング装置を含むシステムの全体構成を示す図である。
図1に示すように、実施例1に係るシステムは、端末Aと端末Cと端末Dとが接続されるスイッチング装置(SW(X))と、端末Bと端末Eと端末Fとが接続されるスイッチング装置(SW(Y))とが相互に通信可能に接続される。
ここで接続されるSW(X)とSW(Y)は、複数ポートを持つイーサネットスイッチング装置であり、例えば、L2スイッチやスイッチングハブなどである。また、SW(X)とSW(Y)は、あるポートからの入力イーサネットパケット(以降、単にパケットと称す)を特定のポートに出力するために、内部でCAM(Contents Addressable Memory)を一般的に使用している。
また、ここで示した端末とは、一意なMACアドレス(Media Access Control address)が割り与えられ、MACアドレスやIPアドレスを用いて、他の装置と接続する装置であり、例えば、既知のパーソナルコンピュータ、ワークステーションなどである。
なお、ここでは、1台のSWに3台の端末と他のSWとが接続されている例を示したが、これに限定されるものではなく、SWは、有するポート数だけ端末等と接続することができ、さらには、カスケード接続によって他のSWと接続することもできる。また、各端末も1台のSWと接続されている例を示したが、これに限定されるものではなく、複数のSWと接続されていてもよい。
このようなシステムにおけるスイッチング装置は、端末間でやり取りされるデータを中継するものであり、CAM(検索テーブル)へエントリ(MACアドレスと入力ポート)を登録する際に、出力ポートテーブルにも同じ情報を登録する。
そして、スイッチング装置は、受信したパケットから抽出した「DA」と一致するMACアドレスがCAMに登録されている場合、すなわち、抽出した「DA」と一致するMACアドレスがCAMから抽出できた場合、さらに、同じ情報が出力ポートテーブルにも記憶されているか否かを判定する。スイッチング装置は、CAMにも出力ポートテーブルにも受信したパケットから抽出した「DA」と一致するMACアドレスが登録されている場合に、CAMに登録されている情報が正しい情報であると判断して、該当出力ポートにデータ(パケット)を送信する。一方、スイッチング装置は、パケットから抽出した「DA」と一致するMACアドレスがCAMには登録されているが、出力ポートテーブルには登録されていない場合に、CAMにソフトエラーが発生した可能性が高いと判断して、フラッデイング処理で全ポートからデータ(パケット)を送信する。
このように、本願が開示するスイッチング装置は、CAMと出力ポートテーブルとの両方に同じ情報を登録しておいて、登録されている情報の整合性を確認することができる。その結果、両方に同じデータが登録されている場合には、CAMによって特定される出力ポートからデータを送信し、異なるデータが登録されている場合には、フラッデイング処理で全ポートからデータを送信することができる。したがって、CAM内部の登録データに異常が発生した場合であっても、誤送信および通信断を防止することが可能である。
[スイッチング装置の構成]
次に、図2を用いて、図1に示したスイッチング装置の構成について説明する。図2は、実施例1に係るスイッチング装置の構成を示すブロック図である。
図2に示すように、実施例1に係るスイッチング装置(SW)10は、MUX部11と、CAM制御部12と、検索テーブル部13と、出力ポートテーブル部14と、検索情報比較部15と、出力制御部16とを有する。
MUX部11は、複数の入力ポートを有し、入力ポートを介して、他の装置から送信されたデータ(パケット)を受信し、受信したパケットに入力ポート情報を付加する。具体的には、MUX部11は、図3に示すように、入力されたパケットの先頭に、当該パケットが入力されたポートの情報を付加してCAM制御部12に出力する。例えば、MUX部11は、入力ポートBでパケットを受信した場合、当該パケットの先頭に「入力ポート情報=B」を付加して、CAM制御部12に出力する。なお、図3は、パケットフォーマットの例を示す図である。
CAM制御部12は、検索テーブル部13に対して宛先(出力先ポート)の検索依頼を送信したり、検索テーブル部13に対して新たなエントリ登録要求を送信したり、検索テーブル部13から検索結果を受信したりする。具体的には、CAM制御部12は、入力ポート情報が付加されたパケットがMUX部11から入力されると、宛先のMACアドレスを示す「DA」をパケットから取得する。そして、CAM制御部12は、検索テーブル部13に対して宛先(出力先ポート)の検索依頼とともに、取得した「DA」を検索テーブル部13に出力する。また、CAM制御部12は、送信元のMACアドレスを示す「SA」とMUX部11により付加された「入力ポート情報」についても、当該パケットから取得する。
そして、CAM制御部12は、検索依頼の結果として、MUX部11に入力されたパケットの「DA」と一致するデータがあったことを示す「一致」又は一致するデータがなかったことを示す「不一致」を検索テーブル部13から受信した場合には、MUX部11から入力されたデータ(主信号)を出力制御部16に出力する。また、CAM制御部12は、検索依頼の結果として、「一致」を検索テーブル部13から受信した場合には、当該「一致」した「エントリNo.」と、当該「エントリNo.」によって特定される「学習されたMACアドレス(SA)」、「入力ポート」をCAMから読み出して検索情報比較部15に出力する。
そして、CAM制御部12は、CAMに記憶される情報と出力ポートテーブルに記憶される情報とが一致しないことを示すエラー情報と、当該エラーが発生しているエントリを特定するIndexやAddress情報(例えば、登録番号やエントリNo.など)を検索情報比較部15から受信する。この場合、CAM制御部12(テーブル制御部)は、受信したIndexやAddress情報によって特定されるエントリをCAMから削除する指示(削除要求)を検索テーブル部13に出力する。
また、CAM制御部12は、上記パケットから取得した「SA」が検索テーブル部13に登録されているか否か検索テーブル部13に対して検索依頼をする。そして、CAM制御部12は検索依頼の結果として、検索テーブル部13から未登録であること示す信号を受信した場合は、検索テーブル部13に対して新たなエントリ登録要求を送信する。
検索テーブル部13は、CAM制御部12から新たなエントリ登録要求とともに「SA」と「入力ポート情報」などの登録情報が入力されると、その「SA」と「入力ポート情報」とを対応付け、登録番号(エントリNo.)をCAMに指示する。CAMは、「SA」と「入力ポート情報」とを「エントリNo.」が示すアドレスへ対応付けて登録する。
また、検索テーブル部13は、MUX部11に入力されたパケットの宛先をCAMから検索する。具体的には、検索テーブル部13は、図4に示すように、「エントリNo.、有効/無効、学習されたMACアドレス(SA)、入力ポート」を対応付けたCAMを有する。ここで記憶される「エントリNo.」は、エントリを一意に識別するメモリ空間のアドレスを示す情報であり、「有効/無効」は、エントリの状態を示す情報である。また、「学習されたMACアドレス(SA)」は、CAMに登録された端末のMACアドレスを示す情報であり、「入力ポート」は、登録された端末のMACアドレスが入力されたポートを示す情報である。図4は、CAMに登録される情報の例を示す図である。
そして、検索テーブル部13は、CAM制御部12から入力された「DA(宛先のMACアドレス)」と一致するMACアドレスがCAMに記憶されている場合には、検索結果として「一致」をCAM制御部12に出力するとともに、「DA」と一致するMACアドレスの「エントリNo.」を出力ポートテーブル部14に出力する。この場合、さらに、検索テーブル部13は、CAM制御部12から入力された「DA(宛先のMACアドレス)」と一致する「MACアドレス」と「入力ポート」と「エントリNo.」をCAMから取得し、検索情報比較部15に出力する。
一方、検索テーブル部13は、CAM制御部12から入力された「DA」と一致するMACアドレスがCAMに記憶されていない場合には、検索結果として「不一致」をCAM制御部12と出力ポートテーブル部14とに出力する。
例えば、検索テーブル部13は、CAM制御部12から入力された「DA=00:00:03:00:00:01」が入力された場合、「DA=00:00:03:00:00:01」に一致する「学習されたMACアドレス(SA)」がCAMに存在するか否かを判定する。そして、検索テーブル部13は、一致した「学習されたMACアドレス(SA)」が存在する場合には、検索結果として「一致」をCAM制御部12に出力する。さらに、検索テーブル部13は、その一致した「学習されたMACアドレス(SA)」の「エントリNo.」を出力ポートテーブル部14に出力する。また、検索テーブル部13は、一致する「学習されたMACアドレス(SA)」が存在しない場合には、検索結果として「不一致」をCAM制御部12に出力する。
また、検索テーブル部13は、CAM制御部12から削除要求を受け付けた場合、この削除要求に含まれる「エントリNo.」に対応するレコード(有効/無効、学習されたMACアドレス、入力ポート)を削除し、その結果をCAM制御部12に応答する。
出力ポートテーブル部14は、MUX部11に入力されたパケットの宛先(出力先)のポート番号を特定して検索情報比較部15や出力制御部16に出力する。具体的には、出力ポートテーブル部14は、図5に示すように、「エントリNo.、出力ポート、学習されたMACアドレス(SA)、入力ポート」を対応付けた出力ポートテーブルを有する。ここで記憶される「出力ポート」とは、パケットを送信するポート、すなわち、宛先を示す情報である。また、ここで記憶される「エントリNo.」、「学習されたMACアドレス(SA)」、「入力ポート」は、図4に示したCAMと同様の内容である。また、この出力ポートテーブルは、メモリ、フラッシュメモリ、RAM(Random Access Memory)などCAMとは別のメモリ空間に設けられる。なお、図5は、出力ポートテーブルに登録される情報の例を示す図である。
具体的には、出力ポートテーブル部14は、MUX部11に受け付けられたパケットの「DA」と一致する「学習されたMACアドレス(SA)」の「エントリNo.」を検索テーブル部13から受け付ける。そして、出力ポートテーブル部14は、受け付けた「エントリNo.」によって特定される「出力ポート」を出力方路情報として出力制御部16に出力する。さらに、出力ポートテーブル部14は、受け付けた「エントリNo.」と、当該「エントリNo.」によって特定される「学習されたMACアドレス(SA)」、「入力ポート」を検索情報比較部15に出力する。
検索情報比較部15は、検索テーブル部13が有するCAMに登録されている情報と出力ポートテーブル部14が有する出力ポートテーブルに記憶されている情報との整合性を確認する。具体的には、検索情報比較部15は、CAM制御部12から入力された「エントリNo.」、「学習されたMACアドレス(SA)」、「入力ポート」と、出力ポートテーブル部14から入力された「エントリNo.」、「学習されたMACアドレス(SA)」、「入力ポート」とが一致するか否かを比較する。
そして、検索情報比較部15は、CAM制御部12から入力された情報と出力ポートテーブル部14から入力された情報とが一致する場合に、CAMに登録されている情報が正しいと判断し、「正常」を出力制御部16に出力する。一方、検索情報比較部15は、CAM制御部12から入力された情報と出力ポートテーブル部14から入力された情報とが一致しない場合に、CAMにソフトエラーが発生したと判断し、「エラー」を出力制御部16に出力する。また、検索情報比較部15は、「エラー」を出力制御部16に出力するとともに、一致しなった「エントリNo.」をCAM制御部12に出力する。
出力制御部16は、複数の出力ポートを有し、MUX部11に入力されたパケット(主信号)を宛先に出力する。具体的には、出力制御部16は、MUX部11に入力されたパケットをCAM制御部12から受信する。また、出力制御部16は、MUX部11に入力されたパケットの宛先を示すポート番号(出力ポート)を出力ポートテーブル部14から受信する。そして、出力制御部16は、「正常」を検索情報比較部15から受け付けた場合には、CAM制御部12から受信したパケットを、出力ポートテーブル部14から受信したポート番号(出力ポート)から出力する。
一方、出力制御部16は、「エラー」を検索情報比較部15から受け付けた場合には、CAM制御部12から受信したパケットを出力ポートの数だけ複製し、全ての出力ポートからパケットを出力するフラッデイング処理を実行する。
[処理の流れ]
次に、図6を用いて、スイッチング装置における処理の流れを説明する。図6は、実施例1に係るスイッチング装置における処理の流れを示すフローチャートである。
図6に示すように、スイッチング装置10のMUX部11は、いずれかのポートにパケットが入力されると(ステップS101肯定)、当該パケットが入力された「入力ポートNo.」を入力されたパケットに付加する(ステップS102)。具体的には、MUX部11は、「入力ポートNo.=B」のポートでパケットを受信すると、受信したパケットの先頭に「入力ポートNo.=B」を付加して、CAM制御部12に出力する。
そして、入力ポート情報が付加されたパケットがMUX部11から受信したCAM制御部12は、パケットの宛先MACアドレスを示す「DA」をパケットから取得する(ステップS103)。また、ステップS103では、CAM制御部12は、検索テーブル部13に対して、取得した「DA」と宛先(出力先ポート)の検索依頼とを出力する。このとき、CAM制御部12は、送信元のMACアドレスを示す「SA」とMUX部11により付加された「入力ポート情報」についても、当該パケットから取得する。また、CAM制御部12は、MUX部11から受信したパケット(主信号)を出力制御部16に出力する。
この検索要求とDAとを受信した検索テーブル部13は、受信したDAと一致するMACアドレスをCAMから検索する(ステップS104)。そして、検索テーブル部13は、受信したDAと一致するMACアドレスをCAMから検索できた場合(ステップS104肯定)、検索結果「一致」をCAM制御部12に出力する(ステップS105)。また、ステップS105では、検索テーブル部13は、検索できたMACアドレスの「エントリNo.」を出力ポートテーブル部14に出力する。
また、検索テーブル部13は、DAと一致する検索できた「エントリNo.」、「MACアドレス」と「入力ポート」とをCAMから取得し、検索情報比較部15に出力する(ステップS106)。
また、出力ポートテーブル部14では、受信した「エントリNo.」と対応付けられている「出力ポート」、「MACアドレス」、「入力ポート」、「エントリNo.」とを出力ポートテーブルから取得する(ステップS107)。また、ステップS107では、出力ポートテーブル部14は、取得した「出力ポート」を出力制御部16に出力し、取得した「MACアドレス」、「入力ポート」、「エントリNo.」を検索情報比較部15に出力する。
このようにして、検索情報比較部15は、CAM制御部12から入力された情報と、出力ポートテーブル部14から入力された情報とが一致するか否かを比較する(ステップS108)。このときに、比較する情報としては、CAM制御部12と出力ポートテーブル部14とのそれぞれから受信した「エントリNo.」、「学習されたMACアドレス(SA)」、「入力ポート」を用いてもよい。また、「学習されたMACアドレス(SA)」、「入力ポート」のみを用いてもよい。
そして、検索情報比較部15は、CAM制御部12から入力された情報と、出力ポートテーブル部14から入力された情報とが一致する場合(ステップS108肯定)、比較結果「正常」を出力制御部16に出力する(ステップS109)。続いて、比較結果「正常」を受信した出力制御部16は、CAM制御部12から受信したパケットを、出力ポートテーブル部14から受信したポート番号(出力ポート)から出力する(ステップS110)。
一方、ステップS108において、検索情報比較部15は、CAM制御部12から入力された情報と、出力ポートテーブル部14から入力された情報とが一致しないと判定した場合(ステップS108否定)、比較結果「エラー」を出力制御部16に出力する(ステップS111)。また、ステップS111では、比較結果「エラー」を出力した検索情報比較部15は、一致しなったエラー情報(Index(Address))として、例えば「エントリNo.」をCAM制御部12に出力もする。
そして、出力制御部16は、「エラー」を検索情報比較部15から受け付けた場合、CAM制御部12から受信したパケットを出力ポートの数だけ複製し、全ての出力ポートからパケットを出力するフラッデイング処理を実行する(ステップS112)。
さらに、比較結果「エラー」を出力した検索情報比較部15は、エラー情報(Index(Address))、すなわち、ステップS108の検索で一致しなった「エントリNo.」をCAM制御部12に出力する(ステップS113)。また、ステップS113では、エラーとなった「エントリNo.」を受信したCAM制御部12は、当該「エントリNo.」によって特定される情報をCAMから削除する削除要求を検索テーブル部13に出力する。なお、CAM制御部12は、「エントリNo.」以外のエラー情報(Index(Address))を受信した場合には、このエラー情報によって特定されるメモリ空間のアドレスやポインタなどから「エントリNo.」を特定するようにしてもよい。
ステップS104に戻り、検索テーブル部13は、受信したDAと一致するMACアドレスをCAMから検索できなかった場合(ステップS104否定)、検索結果「不一致」をCAM制御部12に出力する(ステップS115)。その後、検索テーブル部13は、「エラー」が発生したことを出力制御部16に出力する(ステップS116)。
そして、「エラー」が発生したこと受信した出力制御部16は、CAM制御部12から受信したパケットを出力ポートの数だけ複製し、全ての出力ポートからパケットを出力するフラッデイング処理を実行する(ステップS117)。
[実施例1による効果]
このように、実施例1によれば、CAMと、出力ポートテーブルとの両方に同じ情報を登録しておいて、登録されている情報の整合性を確認することができる。その結果、両方に同じデータが登録されている場合には、CAMによって特定される出力ポートからデータを送信し、異なるデータが登録されている場合には、フラッデイング処理で全ポートからデータを送信することができる。したがって、CAM内部の登録データに異常が発生した場合であっても、誤送信および通信断を防止することが可能である。つまり、CAM内登録データの異常を検出し、誤った方路(ポート)へのユーザデータ出力する事、最終的に通信断になる事を回避する事が可能となる。
また、実施例1によれば、CAM登録データの異常検出時、エラー情報のフィードバックを行う事で、CAM内の異常データ削除を実施し、CAMを初期状態へ移行することができる。その結果、CAMが初期状態に戻り、データの再登録後、正常通信が可能となる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、(1)エラー時の処理、(2)システム構成等、(3)プログラムにそれぞれ区分けして異なる実施例を説明する。
(1)エラー時の処理
例えば、実施例1では、エラーが発見された場合に、エラーとなった「エントリNo.」のデータをCAMから削除する例について説明したが、本願はこれに限定されるものではなく、必ずしもデータ削除処理を実行する必要はない。
例えば、スイッチング装置10は、エラーとなった場合には、エラーとなった「エントリNo.」、「学習されたMACアドレス(SA)」、「入力ポート」をディスプレイなどに表示させてもよく、接続される管理装置などに出力するようにしてもよい。また、エラーの検出としては、「学習されたMACアドレス(SA)」と「入力ポート」の比較を行う例を説明したが、どちらの一方のみを比較するようにしてもよい。これ以外にも、「有効/無効」で判断することもできる。具体的には、スイッチング装置10は、CAM制御部12から入力された情報が「有効」であり、出力ポートテーブル部14から入力された情報が「無効」である場合には、「不一致」と判定する。
(2)システム構成等
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報(例えば、図4や図5など)については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(3)プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムを他の実施例として説明する。
図7は、スイッチング制御プログラムを実行するコンピュータシステムの例を示す図である。図7に示すように、コンピュータシステム100は、RAM101と、HDD102と、ROM103と、CPU104とから構成される。ここで、ROM103には、上記の実施例と同様の機能を発揮するプログラムがあらかじめ記憶されている。つまり、図7に示すように、MUXプログラム103aと、CAM制御プログラム103bと、検索プログラム103cと、出力ポート検索プログラム103dと、検索情報比較プログラム103eと、出力制御プログラム103fとがあらかじめ記憶されている。
そして、CPU104には、これらのプログラム103a〜103eを読み出して実行することで、図7に示すように、MUXプロセス104aと、CAM制御プロセス104bと、検索プロセス104cと、出力ポート検索プロセス104dと、検索情報比較プロセス104eと、出力制御プロセス104fとなる。
なお、MUXプロセス104aは、図2に示したMUX部11に対応し、CAM制御プロセス104bは、CAM制御部12に対応し、検索プロセス104cは、検索テーブル部13に対応する。同様に、出力ポート検索プロセス104dは、出力ポートテーブル部14に対応し、検索情報比較プロセス104eは、検索情報比較部15に対応し、出力制御プロセス104fは、出力制御部16に対応する。
また、HDD102は、検索テーブル102aと、出力テーブル102bとを記憶する。なお、検索テーブル102aは、実施例1で説明したCAMに対応し、出力テーブル102bは、出力ポートテーブルに対応する。
ところで、上記したプログラム103a〜103fは、必ずしもROM103に記憶させておく必要はなく、例えば、コンピュータシステム100に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」の他に、コンピュータシステム100の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」、さらに、公衆回線、インターネット、LAN、WANなどを介してコンピュータシステム100に接続される「他のコンピュータシステム」に記憶させておき、コンピュータシステム100がこれらからプログラムを読み出して実行するようにしてもよい。
10 スイッチング装置
11 MUX部
12 CAM制御部
13 検索テーブル部
14 出力ポートテーブル部
15 検索情報比較部
16 出力制御部
100 コンピュータシステム
101 RAM
102 HDD
102a 検索テーブル
102b 出力テーブル
103 ROM
103a MUXプログラム
103b CAM制御プログラム
103c 検索プログラム
103d 出力ポート検索プログラム
103e 検索情報比較プログラム
103f 出力制御プログラム
104 CPU
104a MUXプロセス
104b CAM制御プロセス
104c 検索プロセス
104d 出力ポート検索プロセス
104e 検索情報比較プロセス
104f 出力制御プロセス

Claims (4)

  1. 複数の入力ポートから受信したパケットの送信元アドレスと該パケットを入力した入力ポートとを関連付け、登録番号を付与して登録する第一のテーブルと、
    前記パケットを出力する出力ポートの情報に、前記送信元アドレスと前記入力ポートとを付加した情報を、前記第一のテーブルの登録番号と関連付けて登録する第二のテーブルと、
    前記受信したパケットの送信先アドレスと同一のアドレスを有した送信元アドレスが、前記第一のテーブルに登録されているか検索する検索部と、
    前記送信元アドレスが前記第一のテーブルに登録されている場合は、前記第一のテーブルに登録された前記登録番号が示す前記第二のテーブルに登録された送信元アドレスと比較する比較部と、
    前記両方の送信元アドレスが一致した場合は前記第二のテーブルに登録された出力ポートの情報が示す出力ポートからパケットを送信し、一致しない場合は全出力ポートよりパケットを送信する出力制御部と、
    を有したことを特徴とするスイッチング装置。
  2. 前記検索部は、前記受信したパケットの送信先アドレス及び入力ポートとの対応付けが、前記第一のテーブルに登録されているかを検索し、
    前記比較部は、前記送信先アドレス及び入力ポートとの対応付けが前記第一のテーブルに登録されている場合は、前記第一のテーブルに登録された前記登録番号が示す前記第二のテーブルに登録された送信先アドレス及び入力ポートとの対応付けがと比較することを特徴とする請求項1に記載のスイッチング装置。
  3. 前記両方の送信元アドレスが一致しない場合は、前記登録番号が示す前記第一のテーブルに登録された送信元アドレスと入力ポートとを対応付けて削除するテーブル制御部をさらに有したことを特徴とする請求項1に記載のスイッチング装置。
  4. 前記受信したパケットの送信先アドレスと同一のアドレスを有した送信元アドレスが、複数の入力ポートから受信したパケットの送信元アドレスと該パケットを入力した入力ポートとを関連付け、登録番号を付与して登録する第一のテーブルに登録されているか検索する検索ステップと、
    前記送信元アドレスが前記第一のテーブルに登録されている場合は、前記第一のテーブルに登録された前記登録番号が示すテーブルであって、前記パケットを出力する出力ポートの情報に、前記送信元アドレスと前記入力ポートとを付加した情報を前記第一のテーブルの登録番号と関連付けて登録する第二のテーブルに登録された送信元アドレスと比較する比較ステップと、
    前記両方の送信元アドレスが一致した場合は前記第二のテーブルに登録された出力ポートの情報が示す出力ポートからパケットを送信し、一致しない場合は全出力ポートよりパケットを送信する出力制御ステップと、
    を含んだことを特徴とするスイッチング方法。
JP2009133523A 2009-06-02 2009-06-02 スイッチング装置およびスイッチング方法 Active JP5249859B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009133523A JP5249859B2 (ja) 2009-06-02 2009-06-02 スイッチング装置およびスイッチング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009133523A JP5249859B2 (ja) 2009-06-02 2009-06-02 スイッチング装置およびスイッチング方法

Publications (2)

Publication Number Publication Date
JP2010283473A JP2010283473A (ja) 2010-12-16
JP5249859B2 true JP5249859B2 (ja) 2013-07-31

Family

ID=43539857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009133523A Active JP5249859B2 (ja) 2009-06-02 2009-06-02 スイッチング装置およびスイッチング方法

Country Status (1)

Country Link
JP (1) JP5249859B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5889218B2 (ja) * 2013-01-23 2016-03-22 アラクサラネットワークス株式会社 データ転送装置及びデータ転送方法
JP6096690B2 (ja) * 2014-02-25 2017-03-15 アラクサラネットワークス株式会社 通信装置、及びcamの異常診断方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07193593A (ja) * 1993-12-27 1995-07-28 Toshiba Corp ネットワーク接続装置

Also Published As

Publication number Publication date
JP2010283473A (ja) 2010-12-16

Similar Documents

Publication Publication Date Title
US7522592B2 (en) Packet transfer unit
US9521163B2 (en) Communication device and communication control method in communication device
US20060265363A1 (en) Network processor with single interface supporting tree search engine and cam
WO2009067915A1 (fr) Procede d'identification d'un type de service correspondant a un message et dispositif associe
US8677015B2 (en) Link trace frame transfer program recording medium, switching hub, and link trace frame transfer method
US9210082B2 (en) High speed network bridging
JP2009140179A (ja) ストレージシステムおよびルートスイッチ
US20180270152A1 (en) Packet processing
US9276876B2 (en) Data transfer apparatus and data transfer method
JP5249859B2 (ja) スイッチング装置およびスイッチング方法
US9426070B2 (en) System and method for controlling transfer of a frame
JP2010134751A (ja) マルチパーティション・コンピュータシステム、障害処理方法及びそのプログラム
JP2006148255A (ja) 不正機器の接続位置特定装置および接続位置特定方法
US8199756B2 (en) Forwarding apparatus, forwarding method, and computer product
JP2016100621A (ja) 伝送装置、伝送システム及び伝送方法
CN113438158B (zh) 一种报文转发方法及装置
US20220050139A1 (en) System, apparatus and method for communicating debug messages on a sideband of a serial link according to a debug type messaging protocol
JP2007034732A (ja) 記憶媒体制御装置、記憶媒体制御方法および記憶媒体制御プログラム
JP2018056739A (ja) スイッチ、および通信方法
JP4466181B2 (ja) ネットワーク経路検索装置、その検索方法、検索プログラム及びネットワーク経路検索システム
CN118216125A (zh) 一种报文处理方法及装置
JP2023128353A (ja) ネットワーク管理サーバ、トポロジ検出プログラム及びトポロジ検出方法
JP2020039044A (ja) 通信システム
JP2004187114A (ja) アドレスフィルタリング装置
JP2005354338A (ja) ネットワーク脆弱性検査装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350