(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0008】
前述したように、本発明に関連する現状の技術においては、イーサネットパケットをスイッチングするイーサネットパケットスイッチング装置内に備えるMACアドレステーブルには、エージング(削除)処理用に、MACアドレスのエントリごとにタイマを設け、各エントリのタイマの計時結果として一定期間の間、或るエントリのMACアドレスに関するパケットを受信しない場合には、当該エントリを削除する。そして、しかる後において、当該エントリに該当するMACアドレスのパケットを受信した場合には、ラーニング(学習)処理として、MACアドレステーブルに登録可能なエントリ位置を探索して、探索した位置に当該エントリに該当するMACアドレスを再登録し、かつ、タイマを初期値にリセットして再度カウントをスタートするという処理を行っている。すなわち、MACアドレステーブルのエントリごとに独立にタイマを設けているため、MACアドレステーブルの管理機能を実現する回路規模が大きくなってしまうという解決するべき課題がある。
【0009】
したがって、現状の技術においては、MACアドレステーブルの管理機能を実現する回路規模が大きくなった結果として、イーサネットパケットスイッチング装置の回路規模が大きくなってしまい、イーサネットパケットスイッチング装置をLSI化してあるいは設置済みのFPGAの空きリソースを利用して伝送装置内部に取り込むことが容易にはできない状況になっている。
【0010】
(本開示の目的)
本開示の目的は、かかる事情に鑑み、ラーニング処理およびエージング処理を必要とするMACアドレステーブルの管理機能を簡素化し、回路規模を縮小することが可能なMACアドレステーブル管理回路、イーサネットパケットスイッチング装置、MACアドレステーブル管理方法およびMACアドレステーブル管理プログラムを提供することにある。
【課題を解決するための手段】
【0011】
前述の課題を解決するため、本発明によるMACアドレステーブル管理回路、イーサネットパケットスイッチング装置、MACアドレステーブル管理方法およびMACアドレステーブル管理プログラムは、主に、次のような特徴的な構成を採用している。
【0012】
(1)本発明によるMACアドレステーブル管理回路は、
MACアドレスとポート番号とを対応付けて登録するMACアドレステーブルを管理し、
前記MACアドレステーブルを登録用MACアドレステーブルと削除用MACアドレステーブルとの2面構成にして備え、
かつ、
入力パケットの送信先MACアドレスおよび送信元MACアドレスにより、前記登録用MACアドレステーブルを検索する登録用検索処理部と、
前記登録用検索処理部における前記送信元MACアドレスによる検索結果に基づいて、前記登録用MACアドレステーブルのエントリの新規登録または更新をする登録処理部と、
エージング周期としてあらかじめ定めた時間を計時するタイマと、
前記タイマが前記エージング周期の時間に達する都度、前記削除用MACアドレステーブルの全てのエントリを削除するクリア処理部と
を有し、
前記タイマが前記エージング周期の時間に達する都度、前記クリア処理部による前記削除用MACアドレステーブルの全てのエントリの削除後に、前記削除用MACアドレステーブルと前記登録用MACアドレステーブルとを切り替えて、全てのエントリが削除された前記削除用MACアドレステーブルを新たに前記登録用MACアドレステーブルとして用い、前記登録用MACアドレステーブルを新たに前記削除用MACアドレステーブルとして用いる
ことを特徴とする。
【0013】
(2)本発明によるイーサネットパケットスイッチング装置は、
MACアドレスとポートとを関連付けるMACアドレステーブルに基づいて入出力イーサネットパケットのスイッチング動作を行うL2スイッチ機能を有し、
前記MACアドレステーブルを管理する回路として請求項1ないし3のいずれかに記載のMACアドレステーブル管理回路を適用することを特徴とする。
【0014】
(3)本発明によるMACアドレステーブル管理方法は、
MACアドレスとポート番号とを対応付けて登録するMACアドレステーブルを管理し、
前記MACアドレステーブルを登録用MACアドレステーブルと削除用MACアドレステーブルとの2面構成にして備え、
かつ、
入力パケットの送信先MACアドレスおよび送信元MACアドレスにより、前記登録用MACアドレステーブルを検索する登録用検索処理ステップと、
前記登録用検索処理ステップにおける前記送信元MACアドレスによる検索結果に基づいて、前記登録用MACアドレステーブルのエントリの新規登録または更新をする登録処理ステップと、
エージング周期としてあらかじめ定めた時間を計時するタイマと、
前記タイマが前記エージング周期の時間に達する都度、前記削除用MACアドレステーブルの全てのエントリを削除するクリア処理ステップと
を有し、
前記タイマが前記エージング周期の時間に達する都度、前記クリア処理ステップによる前記削除用MACアドレステーブルの全てのエントリの削除後に、前記削除用MACアドレステーブルと前記登録用MACアドレステーブルとを切り替えて、全てのエントリが削除された前記削除用MACアドレステーブルを新たに前記登録用MACアドレステーブルとして用い、前記登録用MACアドレステーブルを新たに前記削除用MACアドレステーブルとして用いる
ことを特徴とする。
【0015】
(4)本発明によるMACアドレステーブル管理プログラムは、
MACアドレスとポート番号とを対応付けて登録するMACアドレステーブルを管理する処理をコンピュータにより実施し、
前記MACアドレステーブルを登録用MACアドレステーブルと削除用MACアドレステーブルとの2面構成にして備え、
かつ、
入力パケットの送信先MACアドレスおよび送信元MACアドレスにより、前記登録用MACアドレステーブルを検索する登録用検索処理工程と、
前記登録用検索処理工程における前記送信元MACアドレスによる検索結果に基づいて、前記登録用MACアドレステーブルのエントリの新規登録または更新をする登録処理工程と、
エージング周期としてあらかじめ定めた時間を計時するタイマと、
前記タイマが前記エージング周期の時間に達する都度、前記削除用MACアドレステーブルの全てのエントリを削除するクリア処理工程と
を有し、
前記タイマが前記エージング周期の時間に達する都度、前記クリア処理工程による前記削除用MACアドレステーブルの全てのエントリの削除後に、前記削除用MACアドレステーブルと前記登録用MACアドレステーブルとを切り替えて、全てのエントリが削除された前記削除用MACアドレステーブルを新たに前記登録用MACアドレステーブルとして用い、前記登録用MACアドレステーブルを新たに前記削除用MACアドレステーブルとして用いる
ことを特徴とする。
【発明の効果】
【0016】
本発明のMACアドレステーブル管理回路、イーサネットパケットスイッチング装置、MACアドレステーブル管理方法およびMACアドレステーブル管理プログラムによれば、登録用MACアドレステーブルと削除用MACアドレステーブルとの2面構成のテーブルを備え、かつ、エージング周期ごとに、削除用MACアドレステーブルに登録されているエントリをすべて削除した後、引き続き、登録用MACアドレステーブルと削除用MACアドレステーブルと切り替える処理を実施することにより、エージングに用いるタイマを1つのエージング用タイマに集約した構成としているので、主に、以下のような効果を奏することができる。
【0017】
すなわち、エージング処理を各MACアドレスのエントリごとに管理する必要がなく、かつ、ラーニング処理においても空きエントリの管理が不要になるので、回路を簡素化して、MACアドレステーブル管理機能に関わるMACアドレステーブル管理回路の回路リソースを少なくすることができるので、該MACアドレステーブル管理回路を内部に備えたイーサネットパケットスイッチング装置の回路規模を小さく抑えることが可能になり、而して、該イーサネットパケットスイッチング装置を、LSI化して、もしくは、装置制御用として設置済みのFPGAの空きリソースを利用して、伝送装置内部に該イーサネットパケットスイッチング装置を容易に取り込むことができる。
【発明を実施するための形態】
【0019】
以下、本発明によるMACアドレステーブル管理回路、イーサネットパケットスイッチング装置、MACアドレステーブル管理方法およびMACアドレステーブル管理プログラムの好適な実施形態について添付図を参照して説明する。以下の説明においては、本発明によるMACアドレステーブル管理回路およびMACアドレステーブル管理方法について説明する。
【0020】
なお、かかるMACアドレステーブル管理回路を、MACアドレスとポートとを関連付けて入出力パケットのスイッチング動作を行う機能すなわちL2スイッチ機能を有するイーサネットパケットスイッチング装置内に搭載するようにしても良いし、また、かかるMACアドレステーブル管理方法をコンピュータにより実行可能なMACアドレステーブル管理プログラムとして実施するようにしても良い。さらには、該MACアドレステーブル管理プログラムをコンピュータにより読み取り可能な記録媒体に記録するようにしても良いことも言うまでもない。また、以下の各図面に付した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではないことも言うまでもない。
【0021】
(本発明の特徴)
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明は、イーサネットパケットをスイッチングするイーサネットパケットスイッチング装置において、MACアドレステーブルを登録用と削除用との2面化構成とし、該MACアドレステーブル全体に対してエージング用タイマを1個設置することにより、エージング処理およびラーニング処理を簡素化して、該MACアドレステーブルを管理するMACアドレステーブル回路の小規模・小型化を可能にすることを主要な特徴としている。
【0022】
すなわち、MACアドレステーブルを2面化構成にして、一方を登録用MACアドレステーブル、他方を削除用MACアドレステーブルとし、かつ、エージング(削除)用のタイマ回路を1つに集約し、一定期間ごとに、エージング(削除)処理として削除用MACアドレステーブルの登録内容を全て削除した後、2面のMACアドレステーブルの登録用と削除用とを切り替えることにより、登録内容が全て削除された状態から登録用MACアドレステーブルのラーニング(学習)処理を開始する機能を実現することを主要な特徴としている。さらに、パケットを受信した場合、該パケットの送信先MACアドレス(DA:Destination Address)に基づいて、登録用と削除用との双方のMACアドレステーブルを検索して、該当する宛先ポート番号を求める。また、該パケットの送信元MACアドレス(SA:Source Address)に基づく登録用MACアドレステーブルの検索結果として、新しい送信元MACアドレスのパケットを受信したと判定した場合、該パケットの送信元MACアドレスとポート番号とを登録用MACアドレステーブルに新規に登録することも特徴としている。
【0023】
而して、一定期間ごとに実施するエージング(削除)処理を、MACアドレステーブルのエントリごとに実施する必要がなく、また、ラーニング(学習)処理においても、MACアドレステーブルのエントリの空き検索処理を不要にすることができるので、該MACアドレステーブル管理回路の回路規模の小型化が可能になり、その結果、該MACアドレステーブル管理回路を搭載するイーサネットパケットスイッチング装置の回路規模を小さくして、LSI化による伝送装置内への実装や主機能用として設置済みのFPGAの空きリソース利用による伝送装置内への実装を可能にすることができる。
【0024】
(実施形態の構成例)
次に、本発明に係るイーサネットパケットスイッチング装置内に実装するMACアドレステーブル管理回路の構成について、その一例を、図面を参照しながら詳細に説明する。
図1は、本発明に係るMACアドレステーブル管理回路の一例を説明するための模式図である。
【0025】
図1に示すMACアドレステーブル管理回路100は、MACアドレステーブルと該MACアドレステーブルの登録内容を検索する検索処理部とを、登録用と削除用との2つずつ配置した構成としている。すなわち、MACアドレステーブル管理回路100は、MACアドレステーブルを登録用MACアドレステーブル10と削除用MACアドレステーブル20との2面構成とし、2面化したそれぞれのMACアドレステーブルを検索する検索処理部として登録用検索処理部11と削除用検索処理部21とを備えている。さらに、登録処理部31、クリア処理部32、切替タイマ33および判定処理部34を1つずつ備えている。
【0026】
登録用MACアドレステーブル10は、受信した入力パケットの送信元のMACアドレス(SA)が未登録であった場合に、該MACアドレスとポート番号とを対応付けて順次登録するラーニング(学習)用のテーブルであり、一方、削除用MACアドレステーブル20は、一定期間経過ごとにエージング(削除)対象になるMACアドレスとポート番号とを保持しているエージング(削除)用のテーブルである。なお、登録用MACアドレステーブル10と削除用MACアドレステーブル20とは、切替タイマ33の計時に基づきエージング周期としてあらかじめ定めた一定期間が経過する都度、切り替えられる。なお、削除用MACアドレステーブル20は、新たに登録用MACアドレステーブル10として用いるように切り替えられる前に、登録内容を全て削除してから、登録用MACアドレステーブル10に切り替えられる。
【0027】
登録用検索処理部11は、
図1のインプット50に示すように、入力パケットを受信する都度、該入力パケットの送信先MACアドレス(DA)が登録用MACアドレステーブル10に登録されているか否かを検索し、検索結果を判定処理部34に対して出力する。すなわち、送信先MACアドレス(DA)が登録されていた場合には、登録されているMACアドレスに対応付けられたポート番号を宛先ポート番号として判定処理部34に対して出力し、未登録であった場合には、未登録の旨を判定処理部34に対して出力する。
【0028】
さらに、登録用検索処理部11は、入力パケットを受信する都度、該入力パケットの送信元MACアドレス(SA)が登録用MACアドレステーブル10に登録されているか否かを検索し、検索結果を登録処理部31に対して出力する。すなわち、送信元MACアドレス(SA)が登録されている場合には、登録されている旨と該送信元MACアドレスに対応付けられたポート番号とを、登録処理部31に対して出力し、未登録であった場合には、未登録の旨と該送信元MACアドレスとポート番号とを登録処理部31に対して出力する。
【0029】
また、削除用検索処理部21は、
図1のインプット50に示すように、入力パケットを受信する都度、該入力パケットの送信先MACアドレス(DA)が削除用MACアドレステーブル20に登録されているか否かを検索し、検索結果を判定処理部34に対して出力する。すなわち、送信先MACアドレス(DA)が登録されていた場合には、登録されているMACアドレスに対応付けられたポート番号を宛先ポート番号として判定処理部34に対して出力し、未登録であった場合には、未登録の旨を判定処理部34に対して出力する。なお、削除用検索処理部21は、登録用検索処理部11とは異なり、入力パケットの送信元MACアドレス(SA)に関する削除用MACアドレステーブル20の検索処理は行わない。
【0030】
また、登録処理部31とクリア処理部32とについても、エージング周期ごとに、2面構成の登録用MACアドレステーブル10と削除用MACアドレステーブル20とが切り替わるタイミングに同期して、同様に、登録処理部31とクリア処理部32との参照先が切り替わる。
【0031】
登録処理部31は、入力パケットを受信する都度、登録用検索処理部11の検索結果に基づいて、該入力パケットの送信元(SA)を示すMACアドレスが登録用MACアドレステーブル10に未登録であった場合には、該送信元のMACアドレスを該入力パケットのポート番号とともに登録用MACアドレステーブル10に新規に登録し、登録用MACアドレステーブル10に登録済みであった場合には、該入力パケットのポート番号を用いて、登録済みのMACアドレスに対応付けられたポート番号を更新するという、ラーニング(学習)機能を実現する。
【0032】
クリア処理部32は、切替タイマ33の計時に基づきエージング周期としてあらかじめ定めた一定期間が経過する都度、削除用MACアドレステーブル20の登録内容を全てクリアするという、エージング(削除)機能を実現する。
【0033】
なお、登録処理部31およびクリア処理部32は、前述したように、エージング周期ごとに、2面構成の登録用MACアドレステーブル10と削除用MACアドレステーブル20とが切り替わるので、
図1の実線矢印と破線矢印とにより示しているように、それぞれが参照するMACアドレステーブルの参照先を、切替タイマ33から出力されるエージング周期ごとに、それぞれ、異なるテーブルに交互に切り替えてアクセスする。
【0034】
切替タイマ33は、前述したように、エージング周期としてあらかじめ定めた一定期間の時間を計時するタイマ(すなわちエージング用タイマ)である。該エージング周期ごとに、切替タイマ33からエージング時刻に達した旨を、
図1の実線矢印に示すように、登録処理部31、クリア処理部32および判定処理部34に対して通知する。その結果、削除用MACアドレステーブル20の登録内容(エントリ)を全てクリア処理部32にてエージング(削除)した後、2面構成の登録用MACアドレステーブル10と削除用MACアドレステーブル20とを切り替えた状態において、登録処理部31、クリア処理部32および判定処理部34それぞれが継続して処理を行うことを可能にしている。
【0035】
判定処理部34は、登録用検索処理部11および削除用検索処理部21からの検索結果に基づいて、入力パケットを出力すべき宛先ポート番号を判定する機能を有している。すなわち、判定処理部34は、登録用検索処理部11と削除用検索処理部21とからの検索結果として、ともに、MACアドレスが登録されている旨の通知があった場合には、登録用検索処理部11から通知されてきた宛先ポート番号を優先して、入力パケットを出力すべきポート番号として
図1のアウトプット60に出力し、また、いずれか一方のみからMACアドレスが登録されている旨の通知があった場合には、通知があった方の検索処理部から通知されてきた宛先ポート番号を、入力パケットを出力すべきポート番号として
図1のアウトプット60に出力する。なお、いずれからも、MACアドレスが登録されていない旨の通知があった場合には、入力パケットを出力すべき宛先ポート番号が未登録の旨を
図1のアウトプット60に出力する。
【0036】
次に、2面化したMACアドレステーブルそれぞれの登録内容の一例について、
図2を用いて説明する。
図2は、
図1に示す2面化したMACアドレステーブルの登録内容の一例を示すテーブルであり、
図2(A)は、登録用MACアドレステーブル10の登録内容の一例を示し、
図2(B)は、削除用MACアドレステーブル20の登録内容の一例を示している。いずれのテーブルも、MACアドレスと宛先ポート番号とを対応付けて登録している。すなわち、
図2(A)に示す登録用MACアドレステーブル10は、MACアドレス情報10aと宛先ポート情報10bとからなり、
図2(B)に示す削除用MACアドレステーブル20も、MACアドレス情報20aと宛先ポート情報20bとからなる。
【0037】
ここで、登録用MACアドレステーブル10と削除用MACアドレステーブル20とを格納するメモリは、通常のメモリにて構成されており、CAM(Content Addressable Memory:連想メモリ)の構成は使用しない。また、
図2に示すように、登録用MACアドレステーブル10と削除用MACアドレステーブル20とのいずれも、各エントリごとのエージング用のタイマ情報を有していない。
【0038】
図1のインプット50として、送信先MACアドレス(DA)、送信元MACアドレス(SA)、入力ポート番号に関する情報を含む入力パケットが入力されると、まず、該入力パケットの送信先MACアドレス(DA)を基にして、
図2(A)に示す登録用MACアドレステーブル10のMACアドレス情報10a欄を登録用検索処理部11により検索し、また、
図2(B)に示す削除用MACアドレステーブル20のMACアドレス情報20a欄を削除用検索処理部21により検索する。そして、登録用検索処理部11、削除用検索処理部21それぞれの検索結果(該当するMACアドレスの登録の有無と登録有りの場合には該当のMACアドレス対応の宛先ポート情報10b欄、宛先ポート情報20b欄のポート番号とに関する情報)を、判定処理部34に対して通知する。判定処理部34は、それぞれの検索結果に基づいて、入力パケットを転送すべき出力ポートとなる宛先ポート番号を判定して、アウトプット60として、出力する。
【0039】
さらに、該入力パケットの送信元MACアドレス(SA)を基にして、
図2(A)に示す登録用MACアドレステーブル10のMACアドレス情報10a欄を登録用検索処理部11により検索する。検索結果として、登録用MACアドレステーブル10に未登録であった場合には、登録処理部31により、該入力パケットの送信元MACアドレス(SA)と入力ポート番号とを、MACアドレス情報10aと宛先ポート情報10bとのそれぞれに対応付けてエントリ登録を行う。また、検索結果として、登録用MACアドレステーブル10に登録されていた場合には、該当のMACアドレス対応の宛先ポート情報10b欄のポート番号を、最新の情報である該入力パケットの入力ポート番号により更新する。
【0040】
また、エージング周期のタイミングを出力するエージング用タイマは、前述したように、各MACアドレスのエントリごとに有することなく、1つの切替タイマ33として構成されている。そして、切替タイマ33によりエージング周期として定めた一定の時間が経過したことを示すタイミング情報が出力される都度、クリア処理部32により削除用MACアドレステーブル20の全てのエントリ(登録内容)をエージング(削除)した後、直ちに、登録用MACアドレステーブル10と削除用MACアドレステーブル20とを切り替える。その結果、登録内容がそのまま維持されている登録用MACアドレステーブル10が新たな削除用MACアドレステーブル20となり、一方、登録内容が全て削除された状態の削除用MACアドレステーブル20が新たな登録用MACアドレステーブル10になることによって、エージング処理を実現している。
【0041】
以上のような構成とすることにより、エージング(削除)処理においてはMACアドレステーブルのエントリごとに管理する必要がなく、また、ラーニング(学習)処理においてもMACアドレステーブルの空きエントリの管理が不要となるので、MACアドレステーブル管理回路100の回路構成を簡素化することができ、登録用MACアドレステーブル10と削除用MACアドレステーブル20との管理機能に関わる回路リソースを少なくすることができる。
【0042】
(実施形態の動作の説明)
次に、
図1、
図2に示した本実施形態のMACアドレステーブル管理回路100の動作について、その一例を説明する。まず、
図1、
図2に示したMACアドレステーブル管理回路100におけるラーニング(学習)の動作の一例を
図3のフローチャートを参照しながら説明する。
図3は、
図1、
図2に示したMACアドレステーブル管理回路100におけるラーニング(学習)の動作の一例を示すフローチャートである。
【0043】
図3のフローチャートは、入力パケットが発生する都度、起動され、まず、登録用検索処理部11において、該入力パケットの送信先を示す送信先MACアドレス(DA)の情報を基にして、登録用MACアドレステーブル10のMACアドレス情報10a欄を検索する(ステップS1)。そして、検索結果として、該当するMACアドレス(DA)のエントリが登録用MACアドレステーブル10に存在しているか否かを示す情報と存在していた場合には該送信先MACアドレス(DA)に対応付けられたポート番号を示す情報とを判定処理部34に対して出力する。
【0044】
しかる後、さらに、登録用検索処理部11において、該入力パケットの送信元を示す送信元MACアドレス(SA)の情報を基にして、登録用MACアドレステーブル10のMACアドレス情報10a欄を検索する(ステップS2)。そして、登録用検索処理部11は、該当するMACアドレスのエントリが登録用MACアドレステーブル10に登録されていたか否かを示す引継ぎ情報を作成して登録処理部31に対して引き継ぐ。登録処理部31は、該引継ぎ情報に基づいて、該当するMACアドレス(SA)のエントリが登録用MACアドレステーブル10に登録されていたか否かを確認する(ステップS3)。
【0045】
確認結果、登録されていた場合には(ステップS3のY)、当該入力パケットのポート番号により、該当するMACアドレスに対応付けられた登録用MACアドレステーブル10の宛先ポート情報10bを更新する(ステップS4)。一方、登録されていなかった場合には(ステップS3のN)、当該入力パケットの送信元MACアドレス(SA)とポート番号とを登録用MACアドレステーブル10のMACアドレス情報10aと宛先ポート情報10bとに新規登録するラーニング処理を行う(ステップS5)。
【0046】
また、入力パケットが発生する都度、削除用検索処理部21においても、該入力パケットの送信先MACアドレス(DA)の情報を基にして、削除用MACアドレステーブル20のMACアドレス情報20a欄を検索する(ステップS11)。そして、検索結果として、該当するMACアドレス(DA)のエントリが削除用MACアドレステーブル20に存在しているか否かを示す情報と存在していた場合には該送信先MACアドレス(DA)に対応付けられたポート番号を示す情報とを判定処理部34に対して出力する。なお、削除用検索処理部21においては、登録用検索処理部11とは異なり、入力パケットの送信元MACアドレス(SA)による検索処理は行わないし、また、登録処理部31による削除用MACアドレステーブル20の更新処理や新規登録処理(ラーニング処理)も行わない。
【0047】
判定処理部34は、登録用検索処理部11の検索結果および削除用検索処理部21の検索結果の双方を受け取ると、
図4に示す判定基準テーブルに基づいて、判定を行い、判定結果として、出力すべき宛先ポート情報を取得して、アウトプット60として出力する(ステップS6)。
図4は、
図1に示した判定処理部34における判定基準の一例を示すテーブルであり、登録用検索処理部11の検索結果および削除用検索処理部21の検索結果の双方の組み合わせに基づいて、入力パケットを出力すべき宛先ポート情報を判定する例を示している。
【0048】
図4に示す判定基準テーブル40は、登録用検索処理部11の検索結果情報40a、削除用検索処理部21の検索結果情報40b、判定結果情報40cから構成されている。
図4の判定基準テーブル40の第1行目の登録用検索処理部11の検索結果情報40a欄、削除用検索処理部21の検索結果情報40b欄に示すように、送信先MACアドレス(DA)が、登録用MACアドレステーブル10および削除用MACアドレステーブル20の双方にエントリとして存在していた場合には、判定結果情報40c欄に示すように、削除用MACアドレステーブル20よりも最新の情報に更新して登録されている登録用MACアドレステーブル10を優先して、前記送信先MACアドレスに該当する登録用MACアドレステーブル10のエントリすなわちMACアドレス情報10a欄のMACアドレスに対応付けられた宛先ポート情報10b欄のポート番号(ポートX)を、入力パケットを出力すべき宛先ポート番号として取得して、出力する。
【0049】
また、
図4の判定基準テーブル40の第2行目または第3行目の登録用検索処理部11の検索結果情報40a欄、削除用検索処理部21の検索結果情報40b欄に示すように、送信先MACアドレスが、登録用MACアドレステーブル10または削除用MACアドレステーブル20のいずれか一方にエントリとして存在していた場合には、判定結果情報40c欄に示すように、エントリが存在していたMACアドレステーブル側の宛先ポート情報欄のポート番号を採用する。
【0050】
すなわち、登録用MACアドレステーブル10にエントリが存在していた場合には、前記送信先MACアドレスに該当する登録用MACアドレステーブル10のMACアドレス情報10a欄のMACアドレスに対応付けられた宛先ポート情報10b欄のポート番号(ポートX)を、入力パケットを出力すべき宛先ポート番号として取得して、出力する。また、削除用MACアドレステーブル20にエントリが存在していた場合には、前記送信先MACアドレスに該当する削除用MACアドレステーブル20のMACアドレス情報20a欄のMACアドレスに対応付けられた宛先ポート情報20bにおけるポート番号(ポートY)を、入力パケットを出力すべき宛先ポート番号として取得して、出力する。
【0051】
また、
図4の判定基準テーブル40の第4行目の登録用検索処理部11の検索結果情報40a欄、削除用検索処理部21の検索結果情報40b欄に示すように、送信先MACアドレスが、登録用MACアドレステーブル10、削除用MACアドレステーブル20のいずれにもエントリとして存在していなかった場合には、判定結果情報40c欄に示すように、エントリが存在していなく、入力パケットを出力すべき宛先ポート番号が未登録である旨を出力する。
【0052】
次に、
図1、
図2に示したMACアドレステーブル管理回路100におけるエージング(削除)の動作の一例を
図5のフローチャートを参照しながら説明する。
図5は、
図1、
図2に示したMACアドレステーブル管理回路100におけるエージング(削除)の動作の一例を示すフローチャートである。
【0053】
エージング用タイマは、前述したように、登録用MACアドレステーブル10や削除用MACアドレステーブル20のエントリごとすなわちMACアドレスごとではなく、登録用MACアドレステーブル10や削除用MACアドレステーブル20の全体に対して、1個のみ切替タイマ33として存在している。
【0054】
図5のフローチャートにおいて、まず、切替タイマ33を加算した後(ステップS21)、エージング周期としてあらかじめ設定された時間にはまだ達していなかった場合(ステップS22のN)、ステップS21に復帰し、エージング周期に相当する時間が経過するまで切替タイマ33の加算動作を繰り返す。
【0055】
加算結果、切替タイマ33がエージング周期の時間に達して、タイマ満了の状態になった場合には(ステップS22のY)、クリア処理部32において、エージング処理として、削除用MACアドレステーブル20の登録内容を全てクリア(削除)する(ステップS23)。しかる後、登録用MACアドレステーブル10と削除用MACアドレステーブル20との切り替えを行い、登録内容を全てクリアした削除用MACアドレステーブル20を新たに登録用MACアドレステーブル10として用い、登録用MACアドレステーブル10を新たに削除用MACアドレステーブル20として用いる(ステップS24)。
【0056】
このテーブル切り替えに同期して、登録用検索処理部11と削除用検索処理部21との切り替えも実施される。すなわち、今まで登録用MACアドレステーブル10の検索用として機能していた登録用検索処理部11は削除用MACアドレステーブル20の検索用として機能する削除用検索処理部21になり、また、今まで削除用MACアドレステーブル20の検索用として機能していた削除用検索処理部21は登録用MACアドレステーブル10の検索用として機能する登録用検索処理部11になる。しかる後、切替タイマ33のクリア処理を行い、初期値からの計時動作を開始する(ステップS25)。
【0057】
以上のようなエージング動作を行うことにより、MACアドレステーブルに登録された各MACアドレスのエントリごとのエージング用のタイマ管理と該エントリごとの削除処理を行う必要がなくなり、エージング処理の簡素化とMACアドレステーブルの歯抜け状態の回避に伴うラーニング(学習)処理の簡素化とを図ることができる。
【0058】
次に、MACアドレステーブルのエージング(削除)およびラーニング(学習)に関するテーブルイメージ(登録内容)の変化について、
図6(A)〜
図6(D)を参照して説明する。
図6(A)〜
図6(D)は、
図5に示したエージング(削除)動作および
図3に示したラーニング(学習)動作におけるMACアドレステーブルのテーブルイメージの一例を示す模式図である。
図6(A)は、エージング周期に到達する直前のテーブルイメージを示す。
図6(B)は、エージング(削除)動作により削除用MACアドレステーブル20の登録内容を全てクリアした際のテーブルイメージを示している。また、
図6(C)は、登録用MACアドレステーブル10と削除用MACアドレステーブル20との切り替えを行った際のテーブルイメージを示す。
図6(D)は、
図6(C)におけるテーブル切り替え後において実施された登録用MACアドレステーブル10のラーニング(学習)動作による登録状況の一例を示すテーブルイメージを示している。
【0059】
図6(A)のテーブルイメージに示すように、切替タイマ33がエージング周期としてあらかじめ定めた周期の時間に達する直前のタイミングにおいては、登録用MACアドレステーブル10のMACアドレス情報10aと削除用MACアドレステーブル20のMACアドレス情報20aとの双方にMACアドレスがエントリとして登録されている。すなわち、登録用MACアドレステーブル10のMACアドレス情報10aには、例えばアドレス1、アドレス4、アドレス8、アドレス5の4つのMACアドレスがエントリとして登録されており、削除用MACアドレステーブル20のMACアドレス情報20aには、例えばアドレス1、アドレス2、アドレス3、アドレス4、アドレス5、アドレス6、アドレス7の7つのMACアドレスがエントリとして登録されている。
【0060】
ここで、切替タイマ33が満了してエージング周期の時間に達すると、
図6(B)のテーブルイメージに示すように、
図5のステップS23において、エージング処理として、削除用MACアドレステーブル20の登録内容を全てクリア(削除)した状態になる。しかる後、
図5のステップS24において、登録用MACアドレステーブル10と削除用MACアドレステーブル20との切り替え処理が実施される。すなわち、
図6(C)のテーブルイメージに示すように、登録内容が全てクリアされている削除用MACアドレステーブル20が新たに登録用MACアドレステーブル10となり、アドレス1、アドレス4、アドレス8、アドレス5の4つのMACアドレスが登録されていた登録用MACアドレステーブル10が、そのままの登録状態で新たに削除用MACアドレステーブル20になる。
【0061】
しかる後、
図3のステップS5におけるラーニング(学習)の動作により、新たな入力パケットがある都度、登録内容が全てクリアされていた登録用MACアドレステーブル10に新たなMACアドレスの登録が実施される。その結果、
図6(D)のテーブルイメージに示すように、例えば、アドレス8とアドレス9との2つのMACアドレスがポート番号とともにエントリとして登録された状態になる。
【0062】
なお、前述したように、登録用MACアドレステーブル10に関しては、登録用検索処理部11において、
図6(A)〜
図6(D)の実線矢印にて示す送信先MACアドレス(DA)による登録内容の検索動作および破線矢印にて示す送信元MACアドレス(SA)による登録内容の検索および登録動作が実施されるが、削除用MACアドレステーブル20に関しては、削除用検索処理部21において、実線矢印にて示す送信先MACアドレス(DA)による登録内容の検索動作のみが実施される。
【0063】
以上のようなラーニング(学習)およびエージング(削除)動作を実施した結果として、常に流れているパケットの送信元MACアドレス(SA)に関しては、登録用MACアドレステーブル10と削除用MACアドレステーブル20との双方にエントリとして登録されることになる。一方、一旦は登録用MACアドレステーブル10にエントリとして登録されたものの、現在では流れなくなった古いパケットの送信元MACアドレス(SA)のエントリに関しては、登録用MACアドレステーブル10と削除用MACアドレステーブル20との切り替え直後のエージング周期の間、削除用MACアドレステーブル20のみにエントリとして登録された状態になる。しかし、しかる後においてエージング周期に相当する時間が経過すると、クリア処理部32により、削除用MACアドレステーブル20の登録内容を全て削除するので、登録用MACアドレステーブル10のみならず削除用MACアドレステーブル20も含めて、双方のテーブルから古いパケットに関するエントリが消滅することになり、エージング機能を完全に実施した状態になる。
【0064】
(実施形態の効果の説明)
以上に詳細に説明したように、本実施形態においては、以下のような効果が得られる。すなわち、現状の技術においては、エージング(削除)処理用として、MACアドレスのエントリごとにタイマ回路を設けていた。これに対して、本実施形態においては、登録用MACアドレステーブル10と削除用MACアドレステーブル20との2面構成のテーブルを備え、それぞれのテーブルの検索用として登録用検索処理部11と削除用検索処理部21との2つを備え、かつ、エージング周期ごとに、削除用MACアドレステーブル20に登録されているエントリをすべて削除した後、登録用MACアドレステーブルと削除用MACアドレステーブルとを切り替える処理を実施することにより、1つのエージング用タイマに集約し、かつ、2面のテーブル切り替え用としても機能する切替タイマ33を用いる構成を可能にしている。
【0065】
而して、エージング処理をMACアドレステーブルに登録されたエントリごとに管理する必要がなく、かつ、ラーニング処理においてもMACアドレステーブルの空きエントリの管理が不要になるので、回路を簡素化して、MACアドレステーブル管理機能に関わるMACアドレステーブル管理回路100の回路リソースを少なくすることができる。その結果、該MACアドレステーブル管理回路100を内部に備えたL2スイッチ装置すなわちイーサネットパケットスイッチング装置の回路規模を小さく抑えることが可能になり、該イーサネットパケットスイッチング装置を、LSI化して、もしくは、装置制御用として設置済みのFPGAの空きリソースを利用して、伝送装置内部に該イーサネットパケットスイッチング装置を容易に取り込むことができる。
【0066】
より具体的には、本実施形態においては、次のような効果が得られる。
【0067】
第1に、登録用MACアドレステーブル10と削除用MACアドレステーブル20との2面構成のテーブルとし、かつ、検索処理部も、それぞれの検索対象のテーブルに応じて登録用検索処理部11と削除用検索処理部21との2つを配置することにより、切替タイマ33として1つのエージング用タイマにて削除用MACアドレステーブル20全体に対するエージング処理の契機を与えることが可能になり、MACアドレスのエントリごとのタイマ管理が不要になり、エージング処理に関わるMACアドレステーブル管理回路100の回路規模を小型化することができる。
【0068】
第2に、MACアドレスのエントリごとのエージング用タイマの管理が不要となるので、MACアドレスのエントリごとのタイマ情報を保持するためのメモリリソースを削減することができ、その結果、登録用MACアドレステーブル10と削除用MACアドレステーブル20との2面化構成にしても、メモリ全体のリソースの増加を抑えることができる。
【0069】
第3に、MACアドレステーブルのエージング処理として、削除用MACアドレステーブル20の一括クリア処理と該一括クリア処理後の登録用MACアドレステーブル10と削除用MACアドレステーブル20との切替処理とを実施することにより、エージング処理によるMACアドレステーブルの歯抜け状態の発生を防止することができる。而して、ラーニング(学習)処理において、登録用MACアドレステーブル10の空きエントリ箇所を検索する処理を不要にすることができるので、ラーニング処理によるMACアドレスのエントリ登録処理を、登録用MACアドレステーブル10の先頭から順番に順次登録するという簡素な回路構成を採用することができ、MACアドレステーブル管理回路100の回路規模を小型化することができる。
【0070】
第4に、MACアドレステーブル管理回路100の回路規模を小型化することにより、L2スイッチ機能として、該MACアドレステーブル管理回路100を搭載するイーサネットパケットスイッチング装置を、小規模FPGAやLSIを用いて実現することができ、該イーサネットパケットスイッチング装置を伝送装置内に容易に組み込むことが可能になる。もしくは、設置済みの主機能用FPGAの空きリソースを活用して、該MACアドレステーブル管理回路100を搭載するイーサネットパケットスイッチング装置(すなわちL2スイッチ)を伝送装置内に実装することにより、伝送装置内の部品点数の削減、伝送装置のコストの低減を図ることができる。
【0071】
第5に、本実施形態に示すラーニング処理およびエージング用タイマによるエージング処理に関するテーブル管理機能は、広範囲に適用することが可能な汎用性に富む技術であり、テーブル構成として、本実施形態に示したMACアドレステーブル管理回路100の場合だけでなく、パケット通信を行う装置においてアドレステーブルによってスイッチング処理を行う必要がある装置やエージングタイマによりテーブル内のエントリを削除することが必要なテーブル構成を採用している装置に対しても適用することが可能であり、その結果として、該当するそれぞれの装置の回路規模を小型化することができる。
【0072】
以上、本発明の好適な実施形態の構成を説明した。しかし、かかる実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。
【課題】ラーニング処理およびエージング処理を必要とするMACアドレステーブルの管理機能を簡素化し、回路規模を縮小することが可能なMACアドレステーブル管理回路を提供する。
【解決手段】MACアドレスとポート番号とを対応付けて登録するMACアドレステーブルとして登録用MACアドレステーブル10と削除用MACアドレステーブル20とを備え、かつ、入力パケットの送信先MACアドレスおよび送信元MACアドレスにより、登録用MACアドレステーブルを検索する登録用検索処理部11と、登録用検索処理部11における前記送信元MACアドレスによる検索結果に基づいて、登録用MACアドレステーブル10のエントリを新規登録または更新する登録処理部31と、切替タイマ33があらかじめ定めたエージング周期の時間に達する都度、削除用MACアドレステーブル20の全てのエントリを削除するクリア処理部32と、を備える。