JP2015050495A - フレーム中継システム、および、フレーム中継装置 - Google Patents
フレーム中継システム、および、フレーム中継装置 Download PDFInfo
- Publication number
- JP2015050495A JP2015050495A JP2013178804A JP2013178804A JP2015050495A JP 2015050495 A JP2015050495 A JP 2015050495A JP 2013178804 A JP2013178804 A JP 2013178804A JP 2013178804 A JP2013178804 A JP 2013178804A JP 2015050495 A JP2015050495 A JP 2015050495A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- frame relay
- port
- relay device
- header
- 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.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
【課題】フレーム中継システムを構成するフレーム中継装置間でリソースを効率的に使用する。【解決手段】フレーム中継システムを構成するフレーム中継装置は、当該フレーム中継システムの外部の装置からフレームを受信した際に、当該フレームに当該フレーム中継システム内で用いるヘッダを付与し、当該フレームを、当該フレーム中継システムを構成するフレーム中継装置に転送する。また、フレーム中継装置は、フレーム中継システムを構成する他のフレーム中継装置から当該ヘッダを含むフレームを受信した場合、当該ヘッダの内容を参照・更新することで、自己の記憶部に対するフレーム中継設定の要否を判定する。【選択図】 図2
Description
本発明は、フレームを転送するフレーム中継システムまたはフレーム中継装置に関し、特に、複数のフレーム中継装置で一のフレーム中継システムを外部に提供する、技術に関する。
特許文献1には、複数のフレーム中継装置を接続して仮想的に1台のフレーム中継装置として動作させる技術が開示されている。また、特許文献2には、複数のネットワーク中継装置を接続して仮想的に1台のネットワーク中継装置において、MACアドレスを管理する装置と、当該仮想ネットワーク中継装置を構成するネットワーク中継装置のそれぞれからMACアドレス情報を収集し、当該仮想ネットワーク中継装置を構成するネットワーク中継装置のそれぞれに対してMACアドレス情報を設定する手段を備えることで効率的にMACアドレステーブルを使用する技術が開示されている。
しかし、複数のフレーム中継装置を接続して仮想的に1台のフレーム中継装置として動作させた際に、当該仮想フレーム中継装置を構成する各フレーム中継装置が学習するMACアドレス情報を収集して各フレーム中継装置に設定する管理装置を設ける必要がある。
一方、複数のフレーム中継装置を接続して仮想的に1台のフレーム中継装置(例えば、スタッカブルスイッチ)では、10台のフレーム中継装置を接続して仮想的に1台のフレーム中継装置としても、最大MACアドレス学習数は1台のみのフレーム中継装置であっても同じものとなる。これは、フレーム中継装置を接続して、仮想的に1台のフレーム中継システムとして動作させ、当該フレーム中継システムを構成するそれぞれのフレーム中継装置でMACアドレスを学習させただけでは、最初にフレームを受信した当該フレーム中継装置が保持するMACアドレス情報に当該フレームの宛先MACアドレスと一致するMACアドレスのエントリが登録されていない場合にフラッディングしてしまうため、単純にフレーム中継システムを構成するフレーム中継装置のそれぞれにまったく同じMACアドレス情報を設定していることを示している。
本発明は、上記課題を解決するためになされたものであり、フレーム中継システムを構成するフレーム中継装置で、MACアドレスを管理するためのリソースを有効活用し、転送制御することを目的とする。
本発明の一態様によれば、フレーム中継システムを構成するフレーム中継装置は、当該フレーム中継システムの外部の装置からフレームを受信した際に、当該フレームに当該フレーム中継システム内で用いるヘッダを付与し、当該フレームを、当該フレーム中継システムを構成するフレーム中継装置に転送する。また、フレーム中継装置は、フレーム中継システムを構成する他のフレーム中継装置から当該ヘッダを含むフレームを受信した場合、当該ヘッダの内容を参照・更新することで、自己の記憶部に対するフレーム中継設定の要否を判定する。
フレーム中継システムにおけるアドレス管理を分散させることができる。
以下に、本発明の実施形態について、実施例に基づいて図面を参照しながら詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
まず、第1実施例に係るフレーム中継システムを構成するフレーム中継装置の内部構成と、フレーム中継装置が内包する制御部の動作と、フレーム中継システムを構成するフレーム中継装置間で転送するデータと、について説明する。
図1は、フレーム中継システム100を示す。図1に示すように、係るフレーム中継システム1000は、3つのフレーム中継装置、すなわち、第1のフレーム中継装置100aと、第2のフレーム中継装置100bと、第3のフレーム中継装置100cと、を含む。以下では、3つのフレーム中継装置を区別する必要がない場合は、符号の末尾のアルファベットを省略し、フレーム中継装置100と記述する。
フレーム中継システム1000とその外部の装置との接続について述べる。フレーム中継装置100a、bは、フレーム中継システム1000の外部の装置として、それぞれ外部中継装置400aと、外部中継装置400bに接続される。以下では、2つの外部中継装置を区別する必要がない場合は、符号の末尾のアルファベットを省略し、外部中継装置400と記述する。外部中継装置400は、複数の物理ポートを有するフレームを転送する転送装置、たとえばスイッチ装置であってもよい。また、フレーム中継装置100bは、外部の装置として、外部装置200bに接続される。フレーム中継装置100cは、外部の装置として、外部装置200c、外部装置200dに接続される。また、外部装置200aは、外部中継装置400aを介して、フレーム中継装置100aに接続される。外部装置200aと、外部装置200bと、外部装置200cと、外部装置200dと、がある。以下では、4つの外部装置を区別する必要がない場合は、符号の末尾のアルファベットを省略し、外部装置200と記述する。
外部装置200a〜200dは、複数の物理ポートを有するルータと、複数の物理ポートを有するスイッチと、1つまたは複数の物理ポートを有する計算機、情報処理端末と、のいずれかを含む。図1中の黒丸は各装置が備えるポートを示している。
フレーム中継システム1000を構成する3つのフレーム中継装置100のうち、第1のフレーム中継装置100aのポートO1は、外部中継装置400aのポートI1と、ケーブルONT1を介して接続されている。外部装置200aのポートR1と、ケーブルONT1を介して接続されている。第2のフレーム中継装置100bのポートO2は、外部中継装置400bのポートI3と、ケーブルONT2を介して接続されている。 第2のフレーム中継装置100bのポートO3は、外部装置200bのポートR2と、ケーブルONT3を介して接続されている。
第3のフレーム中継装置100cのポートO5は、外部装置200cのポートR3と、ケーブルONT5を介して接続され、ポートO4は、外部装置200dのポートR4と、ケーブルONT4を介して接続されている。
外部中継装置400bのポートI4は、外部装置200aのポートR1と、ケーブルINT2を介して接続されていない状態であることを示すため、ケーブルINT2は点線で示している。
一方、フレーム中継システム1000内は、各フレーム中継装置のポート間で接続される。第1のフレーム中継装置100aのポートA2と第2のフレーム中継装置100bのポートB1、第2のフレーム中継装置100bのポートB2と第3のフレーム中継装置100cのポートC1、第3のフレーム中継装置100cのポートC2と第1のフレーム中継装置100aのポートA1は、それぞれフレーム中継システム1000を構成するためのケーブルSCV1、SCV2、SCV3を介して接続されている。
第1のフレーム中継装置100aのポートO1と、第2のフレーム中継装置100bのポートO2と、ポートO3と、第3のフレーム中継装置100cのポートO4と、ポートO5と、外部装置200aのポートR1と、外部装置200bのポートR2と、外部装置200cのポートR3と、外部装置200dのポートR4と、はいずれもVLAN識別子が1000のネットワークに所属している。
以上説明したフレーム中継システムにおいて、フレーム中継装置100は、外部中継装置400または外部装置200の少なくとも一に接続される。フレーム中継装置100は、外部中継装置400または外部装置200から受信するフレームを、フレーム中継システム1000内の他のフレーム中継装置100にケーブルSCV1,2,3を介して転送してフレームを宛先の装置に到達させるか、あるいは廃棄する。
フレーム中継装置100は、外部中継装置400または外部装置200から受信するフレームに、各フレーム中継装置100でのフレーム転送制御に関する情報、つまり当該フレームの転送履歴を格納するためのフィールドを含むヘッダが追加される。そのヘッダには、各フレーム中継装置100でのフレームの宛先検索結果やフラッディング処理状況などのフレーム転送制御に関する情報が含まれる。各フレーム中継装置100は、他のフレーム中継装置から受信するフレームのヘッダを参照し、フレームに対しての処理を決定する。そして、その決定に従ってフレーム中継装置100は、外部中継装置400または外部装置200から受信するフレームを、フレーム中継システム1000内の他のフレーム中継装置100にケーブルSCV1,2,3を介して転送してフレームを宛先の装置に到達させるか、あるいは廃棄する。また、各フレーム中継装置100は、フレーム中継システム1000の外部にフレームを送信することを決定した場合、追加されたヘッダを削除して、外部に送信する。
図2は、第1実施例に係るフレーム中継システム1000に構成するフレーム中継装置100の構成を示すブロック図である。図3は、第1実施例に係るフレーム中継システムを構成するフレーム中継装置間で転送されるデータの構成を示す図である。
図2に示すように、複数のフレーム中継装置100が、回線SCVを介して接続される。フレーム中継装置100は、複数の物理ポート110と、複数のスタックポート120と、送受信処理部130と、制御部140と、レイヤ2転送回路150と、を含んでいる。物理ポート110は、同軸ケーブルや光ファイバなどの回線CVを介してネットワークに接続するためのインタフェースであり、イーサネット(登録商標)規格に準拠したポートであってもよい。また、物理ポート110は、フレーム中継システム1000の外部に接続されるポート、たとえば外部接続ポートである。スタックポート120は、同軸ケーブルや光ファイバなどの回線SCVを介してフレーム中継システム1000内の他のフレーム中継装置100と接続するためのインタフェースである。スタックポート120は、第1実施例においては、イーサネット規格に準拠したポートであってもよい。また、スタックポート120は、フレーム中継システムを構成する他のフレーム中継装置100に接続されるポートである。
例えば、図1の第1のフレーム中継装置100aのポートO1は、図2の物理ポート110のいずれかに対応している。一方で、図1の第1のフレーム中継装置100aのポートA1、A2は図2のスタックポート120のそれぞれに対応している。
送受信処理部130は、装置内ヘッダ付与・除去部131を備えている。送受信処理部130は、各物理ポート110および2つのスタックポート120と接続され、物理ポート110およびスタックポート120を介してフレームを受信する。物理ポート110を介して受信した場合に、装置内ヘッダ付与・除去部131は、当該フレームにフレーム中継システム1000を構成するフレーム中継装置100の間で情報をやり取りするための情報(以下、装置内ヘッダ)を付与したデータ(以下、装置内フレームと呼ぶ)を作成する。つまり、装置内ヘッダ付与・除去部131は、フレームを加工または更新する。
また、送受信処理部130は、レイヤ2転送回路150から転送すべき装置内フレームと出力ポートの通知を受け取る。装置内ヘッダ・付与除去部131は、転送先のポートが物理ポート110であるならば装置内フレームから装置内ヘッダを除去する。
転送先のポートがスタックポート120であるならば装置内フレームの加工または変換をせずに、装置内ヘッダ・付与除去部131は、装置内フレームが付与されたフレームを物理ポート110、または、スタックポート120から送信する。ここで、レイヤ2転送回路150から通知された出力ポートの通知が空の通知(出力ポートの通知であるが、出力ポートの情報がない)の場合、送受信処理部130は、レイヤ2転送回路150から受け取った装置内フレームを廃棄する。
つまり、装置内ヘッダ付与・除去部131は、フレーム中継システム1000の外部からフレームを受信した場合、装置内ヘッダを付与し、外部に送信する場合、装置内ヘッダを除去する。また、フレーム中継システムの内部にフレームを転送する場合は、装置内ヘッダを付与したままで、フレーム中継装置100自身でのフレームに対する処理の履歴が格納された装置内ヘッダを含むフレームが、フレーム中継システム1000内で転送される。
装置内ヘッダ付与・除去部131は、フレームに装置内ヘッダを付与する際は、当該フレームを受信した物理ポート110の識別子と、当該フレームを受信したフレーム中継装置100の装置識別子とを、装置内ヘッダに格納する。装置識別子は、フレーム中継システム1000を構成するフレーム中継装置100の間で一意に示される識別子である。
制御部140は、中央演算装置(CPU)141およびメモリ142を備えている。メモリ142には、制御プログラム143と仮想フレーム中継装置構成プログラム144と、装置識別子情報145と、が格納されている。CPU141は、制御プログラム143を実行することにより、制御部としての機能を実現する。CPU141は、制御プログラム143を読み出し、複数のフレーム中継装置100を接続して仮想的に1台のフレーム中継装置として動作するための処理をする。制御プログラム143は、他のフレーム中継装置100と通信する機能など、通信を実現するための各種機能部を含んでいてもよい。制御部140は、フレーム中継装置100全体を制御してもよい。
装置識別子情報145は、 フレーム中継システム1000に含まれるフレーム中継装置それぞれに割り当てられた識別子のうち、少なくとも自己に割り当てられた装置識別子と、他のフレーム中継装置100に出力する場合のフレームを出力すべきポートと、の対応付けを含む。
を保持する。
を保持する。
仮想フレーム中継装置構成プログラム144は、他のフレーム中継装置100にフレームを転送する場合の出力ポートの選択と、メモリ156を用いて選択される出力ポートの情報を管理する。より具体的には、仮想フレーム中継装置構成プログラム144は、フレーム中継システム1000を構成する他のフレーム中継装置100と、仮想フレーム中継装置を構成するための情報を交換して、フレーム中継システム1000を構成するフレーム中継装置100のそれぞれを一意に表す識別子を決定し、自己に割り当てられた当該装置識別子を自己の装置識別子情報145に格納する。
そして、仮想フレーム中継装置構成プログラム144は、フレーム中継システム1000を構成するフレーム中継装置100間で装置内フレームを転送する際に、2つのスタックポート120のいずれから送信するかを決定し、当該装置識別子と決定されたスタックポートとを対応付ける。そして、仮想フレーム中継装置構成プログラム144は、後述するレイヤ2転送回路150のメモリ156に含まれる仮想フレーム中継装置内転送先テーブル157に設定する。
レイヤ2転送回路150は、送受信処理部130から受け取った装置内フレームをレイヤ2転送するための転送処理と、送受信処理部130から受け取った装置内フレームを元にしたMAC学習処理と、を行う回路である。
レイヤ2転送回路150は、レイヤ2転送エンジン151と、メモリ156と、を含んでいる。レイヤ2転送エンジン151は、装置内ヘッダ解析部152と、テーブル更新部153と、フレーム転送決定部154と、フレーム転送処理部155と、を含んでいる。メモリ156は、仮想フレーム中継装置内転送先テーブル157と、MACアドレステーブル158と、VLANテーブル159と、を含んでいる。なお、レイヤ2転送回路150は、後述する本回路の機能を実現するために設計されたASIC(Application Specific Integrated Circuit:特定用途向け集積回路)であってもよい。また、レイヤ2転送回路150は、ハードウェアに構成され、そのハードウェアにより転送処理が実行されてもよい。
メモリ156に格納されている各テーブルについて説明する。仮想フレーム中継装置内転送先テーブル157は、他のフレーム中継装置100にフレームを転送する場合に、送信すべきスタックポート120を特定する情報が保持される。MACアドレステーブル158は、フレーム中継システム1000の外部から受信したフレームに含まれる送信元のMACアドレスと送信元が属するVLANとフレームを受けたポートとの対応付けを含む。MACアドレステーブル158は、MACアドレスとVLAN識別子の組合せとポートとの対応付けを含む。VLANテーブルは、VLANとVLANに所属するポートとの対応付けを含む。
レイヤ2転送エンジン151の各制御部位について説明する。装置内ヘッダ解析部152は、送受信処理部130から受け取った装置内フレームの装置内ヘッダの内容を参照して、装置内フレームの処理を決定する部位である。
装置内ヘッダには、フレーム中継システムを構成するフレーム中継装置における当該フレームの処理の履歴に関する情報が格納される。具体的には、フレーム中継装置毎に、特定するためのMACアドレス検索を実行しているか、及び、実行結果、及び、フラッディング処理結果を示す情報のうち少なくとも一が、格納される。
装置内ヘッダ解析部152は、装置内フレームのヘッダに格納されているの処理の履歴に関する情報を参照し、テーブル更新部153に装置内フレームを渡すか、フレーム転送処理部154にフラッディング済みを通知するとともに装置内フレームを渡す。あるいは、装置内ヘッダ解析部152は、装置内フレームを廃棄する。
テーブル更新部153は、外部から受信したフレームの送信元MACアドレスとVLAN識別子との組合せを学習し、MACアドレステーブル158を更新する。具体的には、テーブル更新部153は、装置内ヘッダ解析部152から受け取った装置内フレームに含まれる送信元MACアドレスとVLAN識別子との組合せが、MACアドレステーブルに当該MACアドレスが登録されているかを検索し、当該MACアドレスのMACアドレステーブル158への登録(MACアドレスの学習)、または、当該MACアドレスのMACアドレステーブル158からの削除、または、MACアドレステーブル158の情報の更新、の要否を判定する。
フレーム転送決定部154は、装置内フレームの装置ヘッダ情報を参照し、MACアドレステーブル158の検索の実行あるいはフラッディング処理の実行をフレーム転送処理部155にさせる指示を行うか、装置フレームの廃棄処理を行うかを判別し、判別結果に基づいて指示あるいは処理を行う。具体的には、フレーム転送決定部154は、テーブル更新部153から受け取った装置内フレームの宛先MACアドレスをキーとして、MACアドレステーブル158に当該MACアドレスが登録されているかを検索して、自己の物理ポート110に接続するフレーム中継システム1000の外部の装置に対するフレームの転送の要否を判定する。
フレーム転送処理部155は、装置内アドレス解析部152、または、フレーム転送決定部154から、通知と装置内フレームを受け取ると、通知に含まれる要求された処理に基づきポートから装置内フレームを送信する。
レイヤ2転送回路150やレイヤ2転送エンジン及び送受信処理部130は、別々の処理部で説明したが、一体となった制御部であってもよい。
なお、他のフレーム中継装置100b、100cもフレーム中継装置100(100a)と同様の構成を有する。以下、各フレーム中継装置それぞれについて述べる場合、100a、100b、100cとし、各フレーム中継装置に共通する説明については、単にフレーム中継装置100とする。
図3は、装置内フレームの構成を示す。装置内フレームは、フレーム中継システム1000を構成するフレーム中継装置100の間で転送されるデータに、いずれか一のフレーム中継装置100内で付与または除去される装置内ヘッダ301を含む。。
装置内フレーム300は、装置内ヘッダ301と、宛先MACアドレス302と、送信元MACアドレス303と、VLANタグ304と、タイプ305と、データ306と、FCS307と、で構成される。装置内ヘッダ301以外は、宛先MACアドレス302と、送信元MACアドレス303と、VLANタグ304と、タイプ305と、データ306と、FCS307は、他のフレーム中継装置から受信されるフレーム310に含まれ、それらは、OSIで定義されるレイヤ2のフレーム構成に従ってもよい。
宛先MACアドレス302は、送信先の外部装置のMACアドレスが格納されるフィールドである。送信元MACアドレス303は、送信元の外部装置のMACアドレスが格納されるフィールドである。VLANタグ305は、送信先、送信元の外部装置が属するVLANを示す識別子(VLAN識別子)が格納されるフィールドである。
次に、装置内ヘッダ301の内容について記載する。
装置内ヘッダ301は、フレーム中継システム1000内でのフレーム転送に関する情報を格納するため複数のフィールドにより構成される。より具体的には、それらはフレーム受信装置識別子311、フレーム受信ポート識別子312、L2検索状況313と、L2検索結果314と、フラッディング処理状況315を格納するフィールドである。
フレーム受信装置識別子311は、フレームを受信したフレーム中継装置を特定する情報が格納される。具体的には、フレーム受信装置識別子311には、フレームを受信したフレーム中継装置100の装置識別子が装置内ヘッダ付与・除去部131により格納される。 フレーム受信ポート識別子312は、フレームを受信したフレーム中継装置100内の物理ポートを特定する情報が格納される。具体的には、フレーム受信ポート識別子312は、装置内ヘッダ付与・除去部131にて、フレームを受信したフレーム中継装置100の物理ポート110を示す識別子が格納される。
L2検索状況313は、フレーム中継システム1000を構成する各フレーム中継装置でのMACアドレス検索の状況に関する状況が格納される。具体的には、L2検索状況313は、フレーム転送決定部154にて実施するMACアドレスの検索の実施有無を示す情報が格納される。L2検索状況313のフィールド1・・・Nは、複数設けられ、いずれか一のフィールドは、フレーム中継システム1000を構成するフレーム中継装置100フレーム中継装置いずれかに対応付けられる。フレーム転送決定部154は、自己の装置識別子に対応するL2検索状況313のフィールドに格納される。なお、L2検索状況313の初期値には、検索未実施を示す情報が格納される。
L2検索結果314は、フレーム中継システム1000内での少なくとも一のフレーム中継装置でのMACアドレスの検索の結果に関する情報が格納される。 L2検索結果314に格納される情報は、MACアドレスの検索の結果を示す情報として、「該当あり」あるいは「該当なし」が格納される。なお、L2検索結果314の初期値には「該当なし」を示す情報が格納されてもよい。また、L2検索結果314に「該当あり」を示す情報が格納された場合、L2検索結果314は、「該当なしを示す情報」に更新されない。つまり、「該当有」と示されている場合は、フレーム中継システム内のフレーム中継装置100のいずれかのMACアドレステーブル158に該当するエントリがあったことを示し、「該当なし」の場合は、当該フレームを転送してきたフレーム中継装置100ではいずれも、MACアドレステーブル158に該当するエントリがなかったことを示す。
フラッディング処理状況315は、各フレーム中継装置100でのフラッディング処理の履歴に関する状況が格納される。フラッディング処理状況315は、フレーム転送処理部155にて実施するフレームのフラッディング処理の実施有無を示す情報が格納され、後述するフレーム転送処理部155にて自己の装置識別子に対応するフィールドに格納される。フラッディング処理状況315の初期値には、フラッディング処理未実施を示す情報が格納される。フラッディング処理状況315も、複数のフィールドが設けられ、フレーム中継システム1000を構成するフレーム中継装置100毎にフィールドが対応付けられる。フレーム受信ポート種別701については実施例1では不要であるので実施例2で後述する。
L2検索結果314は、フレーム中継システム1000内での少なくとも一のフレーム中継装置でのMACアドレスの検索の結果に関する情報が格納される。 L2検索結果314に格納される情報は、MACアドレスの検索の結果を示す情報として、「該当あり」あるいは「該当なし」が格納される。なお、L2検索結果314の初期値には「該当なし」を示す情報が格納されてもよい。また、L2検索結果314に「該当あり」を示す情報が格納された場合、L2検索結果314は、「該当なしを示す情報」に更新されない。つまり、「該当有」と示されている場合は、フレーム中継システム内のフレーム中継装置100のいずれかのMACアドレステーブル158に該当するエントリがあったことを示し、「該当なし」の場合は、当該フレームを転送してきたフレーム中継装置100ではいずれも、MACアドレステーブル158に該当するエントリがなかったことを示す。
フラッディング処理状況315は、各フレーム中継装置100でのフラッディング処理の履歴に関する状況が格納される。フラッディング処理状況315は、フレーム転送処理部155にて実施するフレームのフラッディング処理の実施有無を示す情報が格納され、後述するフレーム転送処理部155にて自己の装置識別子に対応するフィールドに格納される。フラッディング処理状況315の初期値には、フラッディング処理未実施を示す情報が格納される。フラッディング処理状況315も、複数のフィールドが設けられ、フレーム中継システム1000を構成するフレーム中継装置100毎にフィールドが対応付けられる。フレーム受信ポート種別701については実施例1では不要であるので実施例2で後述する。
なお、本実施例では、外部から受信したフレーム310の先頭に装置内ヘッダ301を挿入する例で説明したが、先頭でなくてよく、所定のビットの位置に付与されてもよく、各フレーム中継装置100が、参照してもよい。また、必ずしもフレーム310に付与するのではなく、対象となるフレーム310をフレーム中継装置100内やフレーム中継システム1000内で転送されるのにあわせて、対象フレームと対応づけるための識別情報と対応付けて装置内ヘッダに相当する情報が、転送されてもよい。
メモリ156に保持される各種テーブルについて説明する。
図4は、仮想フレーム中継装置内転送先テーブル157を示す。仮想フレーム中継装置内転送先テーブル157は、装置識別子400と、出力スタックポート401との対応付けを含む。仮想フレーム中継装置内転送先テーブル157は、フレーム中継装置100の装置識別子をキーとして、フレーム中継システム1000を構成する他のフレーム中継装置100にフレームを転送する場合に参照される。装置識別子に対応する出力スタックポートの識別子を出力スタックポート401から抽出し、送信すべきスタックポート120が特定される。
仮想フレーム中継装置内転送先テーブル157a、157b、157cは、フレーム中継装置100a,100b、100cのメモリ156に保持される。
仮想フレーム中継装置内転送先テーブル157a、157b、157cは、フレーム中継装置100a,100b、100cのメモリ156に保持される。
仮想フレーム中継装置内転送先テーブル157aの装置識別子情報145には1が、 仮想フレーム中継装置内転送先テーブル157bの装置識別子情報145には2が、仮想フレーム中継装置内転送先テーブル157cの装置識別子情報145には3が登録されている。たとえば、フレーム中継装置100aは、仮想フレーム中継装置内転送先テーブル157を参照し、出力スタックポート401aに示されるA2により特定されるスタックポート120を介して他のフレーム中継装置100にフレームを送信する。
図5は、MACアドレステーブル158を示す。
MACアドレステーブル158は、各フレーム中継装置100により保持される。 MACアドレステーブル158は、フレーム受信時に、フレームに含まれる送信元の情報を用いて レイヤ2転送回路150により更新され、フレーム転送決定部154によりフレームの転送先を検索する場合に、参照される。
MACアドレステーブル158は、MACアドレス500と、VLAN識別子501と、出力ポート502とを含む。から構成される。MACアドレステーブル158は、MACアドレス500と、VLAN識別子501と、をキーとして、出力ポート502を求めるテーブルである。
MACアドレステーブル158a、b、cはそれぞれ、フレーム中継装置100a、b、cに保持される。まず、いずれのMACアドレステーブルa、b、cも、フレーム中継装置100がMAC学習をしていない場合は、各テーブルのエントリ1582a、b、cのMACアドレス500、VLAN識別子501、出力ポート502にNULLが格納される。NULLは、未学習であることを示す。フレーム中継システム1000の外部よりフレームを受信したフレーム中継装置100は、MAC学習を行い、エントリ1582a、b、cに格納されるNULLを書き換え、フレームに含まれるMACアドレス、VLAN識別子、出力ポートの組合せに更新する。その後、各フレーム中継装置100は、フレーム中継システム1000の外部からのフレーム受信に応じて、MAC学習を行い、新たに学習した情報を用いてエントリが追加されていく。
具体的には、第1のフレーム中継装置100aのMACアドレステーブル158aのMACアドレス500aには、MAC_R1、VLAN識別子501aには1000、出力ポート502aにはポートO1がエントリ1586aとして登録される。
第2のフレーム中継装置100bのMACアドレステーブル158bのMACアドレス500bには、MAC_R2が、VLAN識別子501bには1000が、出力ポート502bにはO3がエントリ1584bとして登録される。また、MACアドレステーブル158bのエントリ1586bとして、MACアドレス500bには、MAC_R1が、VLAN識別子501bには1000が、出力ポート502bにはO2が、送信元MACアドレスがMAC_R1であるフレームを、ポートO2を介してフレーム中継装置100bが受信した場合、登録される。
第3のフレーム中継装置100cのMACアドレステーブル158cのMACアドレス500cにはMAC_R4が、VLAN識別子501cには1000が、出力ポート502cにはO4が登録される。
MACアドレスは、実際には48ビットの識別符号であるが、本実施例では、ポートの符号の前にMAC_を付した符号を、そのポートに割り当てられているMACアドレスを表す符合として用いる。例えば、上述のように、ポートR4に割り当てられているMACアドレスは、MAC_R4と表す。
図6は、VLANテーブル159の構成を示す。VLANテーブル159は、VLAN識別子600と、所属ポート601と、から構成される。VLANテーブル159は、VLAN識別子をキーとして、当該VLAN識別子が示すVLANに所属する物理ポート110の情報を求めるテーブルである。
第1のフレーム中継装置100aのVLANテーブル159aのエントリ1592aとして、VLAN識別子600aには1000が、所属ポート601aにはポートO1が登録される。第2のフレーム中継装置100bのVLANテーブル159bのエントリ1592bとして、VLAN識別子600bには1000が、所属ポート601bにはポートO2と、ポートO3が登録される。第3のフレーム中継装置100cのVLANテーブル159cのエントリ1592cとして、VLAN識別子600cには1000が、所属ポート601cにはポートO4と、ポートO5が登録されている。
図7は、装置内ヘッダ解析部152にて実施する処理決定のフローチャートを示す。まず、装置内ヘッダ解析部152は、送受信処理部130から装置内フレームを受け取る(S100)。次に、装置内ヘッダ解析部152は、装置内フレームの装置内ヘッダ301の内容を参照する。装置内ヘッダ解析部152は、装置内ヘッダ301に含まれるL2検索状況313のフィールド群の内、自己の装置識別子に対応するL2検索状況313フィールドを参照する。装置内ヘッダ解析部152は、参照したL2検索状況313フィールドにフレーム転送決定部154によってMACアドレスの検索実施が有を示す情報示す情報が格納されているかを判定する(S101)。S101の判定の結果がYES(MACアドレスの検索実施有)である場合、装置内ヘッダ解析部152は、装置内ヘッダ301に含まれるL2検索結果314にフレーム転送決定部154でのMACアドレスの検索にて該当ありを示す情報が格納されているかを確認する(S102)。 S102の判定の結果がYES(MACアドレスの検索にて該当あり)である場合、装置内ヘッダ解析部152は、装置内フレームを廃棄する(S103)。MACアドレスの検索にて該当ありの場合は、検索結果を用いて宛先が特定でき、フレーム中継装置100が、外部の装置に向けて装置ヘッダを除去して、すでにフレームを送信し、重複の送信を避けるためである。また、他のフレーム中継装置100に転送して、他のフレーム中継装置100に処理をさせるのも効率が悪いためである。
図7は、装置内ヘッダ解析部152にて実施する処理決定のフローチャートを示す。まず、装置内ヘッダ解析部152は、送受信処理部130から装置内フレームを受け取る(S100)。次に、装置内ヘッダ解析部152は、装置内フレームの装置内ヘッダ301の内容を参照する。装置内ヘッダ解析部152は、装置内ヘッダ301に含まれるL2検索状況313のフィールド群の内、自己の装置識別子に対応するL2検索状況313フィールドを参照する。装置内ヘッダ解析部152は、参照したL2検索状況313フィールドにフレーム転送決定部154によってMACアドレスの検索実施が有を示す情報示す情報が格納されているかを判定する(S101)。S101の判定の結果がYES(MACアドレスの検索実施有)である場合、装置内ヘッダ解析部152は、装置内ヘッダ301に含まれるL2検索結果314にフレーム転送決定部154でのMACアドレスの検索にて該当ありを示す情報が格納されているかを確認する(S102)。 S102の判定の結果がYES(MACアドレスの検索にて該当あり)である場合、装置内ヘッダ解析部152は、装置内フレームを廃棄する(S103)。MACアドレスの検索にて該当ありの場合は、検索結果を用いて宛先が特定でき、フレーム中継装置100が、外部の装置に向けて装置ヘッダを除去して、すでにフレームを送信し、重複の送信を避けるためである。また、他のフレーム中継装置100に転送して、他のフレーム中継装置100に処理をさせるのも効率が悪いためである。
S102の判定の結果がNOである場合、装置内ヘッダ解析部152は、装置内ヘッダ301に含まれるフラッディング処理状況315のフィールド群のうち、自己の装置識別子に対応するフラッディング処理状況フィールド315に、フレーム転送処理部155にてフラッディング処理の実施有無を示す情報が格納されているかを判定する(S104)。S104の判定の結果がYESである場合、装置内ヘッダ解析部152は、装置内フレームを廃棄する。(S103)、
装置内ヘッダ解析部152は、判定の結果がNOであれば、フレーム転送処理部155にフラッディング処理と通知して装置内フレームを渡す(S105)。S101の判定の結果がNOである場合、装置内ヘッダ解析部152は、テーブル更新部153に装置内フレームを渡す(S106)。
装置内ヘッダ解析部152は、判定の結果がNOであれば、フレーム転送処理部155にフラッディング処理と通知して装置内フレームを渡す(S105)。S101の判定の結果がNOである場合、装置内ヘッダ解析部152は、テーブル更新部153に装置内フレームを渡す(S106)。
図8は、テーブル更新部153にてMAC学習に関する処理のフローチャートを示す。なお、図8は後述する第2実施例における処理を含むため、当該処理は省略して説明する。
まず、テーブル更新部153は、装置内ヘッダ解析部152から装置内フレームを受け取る(S200)。次に、テーブル更新部153は、装置内フレームの送信元MACアドレス303と、VLANタグ304に含まれるVLAN識別子と、をキーとしてMACアドレステーブル158を検索して、当該MACアドレスに該当するエントリがあるかを判定する(S201)。
S201の判定の結果、YESである場合、テーブル更新部153は、装置内フレームの装置内ヘッダ301のフレーム受信装置識別子311を参照して、自己の装置識別子を示す情報が格納されているかを判定する(S203)。S203の判定の結果、YESである場合、テーブル更新部153は、装置内フレームの装置内ヘッダ301のフレーム受信ポート識別子312と、装置内フレームの送信元MACアドレス303と、VLANタグ304に含まれるVLAN識別子と、が一致するMACアドレステーブル158のMACアドレスのエントリの出力ポート502と、を参照して、両者が一致しているかを判定する(S204)。判定の結果、YESである場合、テーブル更新部153は、フレーム転送決定部154に装置内フレームを渡す(S205)。S204の判定に戻って説明を続ける。
S204の判定の結果がNOである場合、テーブル更新部153は、装置内フレームの送信元MACアドレス303と、VLANタグ304に含まれるVLAN識別子と、が一致するMACアドレステーブル158のMACアドレスのエントリの出力ポート502に、装置内フレームの装置内ヘッダ301のフレーム受信ポート識別子312の情報を上書き登録で更新する(S206)。そして、テーブル更新部153は、フレーム転送決定部154に装置内フレームを渡す(S205)。S203の判定に戻って説明を続ける。
S203の判定の結果がNOである場合、テーブル更新部153は、装置内フレームの送信元MACアドレス303と、VLANタグ304に含まれるVLAN識別子と、が一致するMACアドレステーブル158のMACアドレスのエントリを削除する(S207)。そして、テーブル更新部153は、フレーム転送決定部154に装置内フレームを渡す(S205)。S201の判定に戻って説明を続ける。
S201の判定の結果がNOである場合、テーブル更新部153は、装置内フレームの装置内ヘッダ301のフレーム受信装置識別子311を参照して、自己の装置識別子を示す情報が格納されているかを判定する(S213)。S213の判定の結果がYESである場合、テーブル更新部153は、装置内フレームの送信元MACアドレス303のMACアドレスをMACアドレステーブル158に登録し(S214)、フレーム転送決定部154に装置内フレームを渡す(S205)。S213の判定の結果がNOである場合、テーブル更新部153は、フレーム転送決定部154に装置内フレームを渡す(S205)。S202の判定の結果Noの場合及びS212の判定結果Noの場合の処理(S208〜211、S215,S216)は、実施例2で説明する。
図9は、フレーム転送決定部154にて実施するMACアドレスの処理のフローチャートを示す。まず、フレーム転送決定部154は、テーブル更新部153から装置内フレームを受け取る(S300)。次に、フレーム転送決定部154は、装置内フレームの宛先MACアドレス302を元にMACアドレステーブル158に当該MACアドレスが登録されているかを検索し、該当ありかを判定する(S301)。
S301の判定の結果、YESである場合、フレーム転送決定部154は、装置内フレームの装置内ヘッダ301のL2検索状況313の自己の装置識別子に対応するフィールドに、MACアドレス検索が実施済みであることを示す情報と、装置内フレームの装置内ヘッダ301のL2検索結果314に、該当ありを示す情報と、を格納する(S302)。
次に、フレーム転送決定部154は、装置内フレームの宛先MACアドレス302と、VLANタグ304に含まれるVLAN識別子と、が一致するMACアドレステーブル158のMACアドレスのエントリの出力ポート502を参照し(S303)、フレーム転送処理部155に、出力ポート502指定されるポートに関するポート情報とともに装置内フレームを渡す(S304)。S301の判定に戻って説明を続ける。
S301の判定の結果がNOである場合、フレーム転送決定部154は、装置内フレームの装置内ヘッダ301のL2検索状況313の、自己の装置識別子に対応するフィールドにMACアドレス検索が実施済みであることを示す情報を格納し(S305)、フレーム転送処理部155にフレーム転送決定部154による検索の結果が該当なしの通知とともに装置内フレームを渡す(S306)。
図10は、フレーム転送処理部155の処理のフローチャートを示す。なお、図10は後述する第2実施例における処理を含むため、当該処理は省略して説明する。
まず、フレーム転送処理部155は、装置内ヘッダ解析部152、または、フレーム転送決定部154から通知と装置内フレームを受け取る(S400)。
次に、フレーム転送処理部155は、通知された内容が出力ポート情報であるかを判定する(S401)。つまり、フレーム転送処理部155は、フレーム中継システムの外部の装置に出力すべきフレームであるかを判定する。
S401の判定の結果、YESである場合、フレーム転送処理部155は、受け取った装置内フレームを複製する(S403)。フレーム転送処理部155は、送受信処理部130に出力ポートの指定とともに複製元の装置内フレームを渡す(S404)。また、フレーム転送処理部155は、仮想フレーム中継装置内転送先テーブル157を参照して、複製した装置内フレームをフレーム中継システム1000を構成する他のフレーム中継装置100に転送するために、2つのスタックポート120のいずれから出力すれば良いのかを出力スタックポート401の情報を用いて特定する(S405)。フレーム転送処理部155は、送受信処理部130に出力スタックポートを通知して複製した装置内フレームを渡す(S406)。送受信処理部130は、通知された出力スタックポートを介して装置内フレームを他のフレーム中継装置100に転送する。S401の判定に戻って説明を続ける。なお、S407及び408、409は、実施例2の処理であるため省略する。
S401の判定の結果がNOである場合、フレーム転送処理部155は、通知された内容がフラッディング処理であるかを判定する(S411)。S411の判定の結果、YESである場合、フレーム転送処理部155は、装置内フレームのVLANタグ304に含まれるVLAN識別子をキーとしてVLANテーブル159からフラッディング対象のポートを求める(S412)。S412で求められるフラッディング対象のポートは、、装置内フレームの装置内ヘッダ301のフレーム装置識別子311が自己の装置識別子と一致している場合、装置内ヘッダ311のフレーム受信ポート識別子312が示すポートはフラッディング対象のポートを除外してもよく、フレームは廃棄されてもよい。つまり、装置内ヘッダ301に格納されている装置識別子311が、自身のフレーム中継装置100を示す場合、そのフレームを受信したポートに対してはフラッディング処理をせず、フレームはそのポートを介しては出力されない。フレームの送信元の装置に送られる可能性があるからである。
次に、フレーム転送処理部155は、装置内フレームを複製し(S413)、送受信処理部130に出力ポートを通知して複製元の装置内フレームを渡す(S414)。送受信処理部130で、装置内フレームから装置内ヘッダが除去されたフレームが、通知された出力ポートを介してフラッディングされる。
次に、フレーム転送処理部155は、複製した装置内フレームの装置内ヘッダ301のフラッディング処理状況315の、自己の装置識別子に対応するフィールドに、フラッディング処理が実施済みであることを示す情報を格納する(S415)。
フレーム転送処理部155は、仮想フレーム中継装置内転送先テーブル157を参照して、複製した装置内フレームをフレーム中継システム1000を構成する他のフレーム中継装置に転送するために、2つのスタックポート120のいずれから出力すれば良いのかを確認する(S416)。 フレーム転送処理部155は、送受信処理部130に出力スタックポートを通知して複製した装置内フレームを渡す(S417)。
S411の判定に戻って説明を続ける。S411の判定の結果がNOである場合、フレーム転送処理部155は、S416、417に進み、上述と同様の処理を行う。
以上で、第1実施例に係るフレーム中継システムを構成するフレーム中継装置100の内部構成と、フレーム中継装置100が内包する制御部の動作と、フレーム中継システム1000を構成するフレーム中継装置100の間で転送するデータと、についてを説明した。続けて、複数のフレーム中継装置からなるフレーム中継システムがフレームを転送する際の動作について具体的に説明する。
S411の判定に戻って説明を続ける。S411の判定の結果がNOである場合、フレーム転送処理部155は、S416、417に進み、上述と同様の処理を行う。
以上で、第1実施例に係るフレーム中継システムを構成するフレーム中継装置100の内部構成と、フレーム中継装置100が内包する制御部の動作と、フレーム中継システム1000を構成するフレーム中継装置100の間で転送するデータと、についてを説明した。続けて、複数のフレーム中継装置からなるフレーム中継システムがフレームを転送する際の動作について具体的に説明する。
フレーム中継システムとして外部装置の転送先MACアドレスを学習していない状態における各フレーム中継装置の処理と、フレーム中継システムとして外部装置の転送先MACアドレスを学習した状態における各フレーム中継装置の処理と、フレーム中継システムとして外部装置の転送先MACアドレスを学習した状態において、当該外部装置がフレーム中継システムを構成するフレーム中継装置と論理的に接続が異なる状態に変化した際の各フレーム中継装置の処理、について説明する。 まず、フレーム中継システム1000を構成する中継装置100が外部装置の転送先MACアドレスを学習していない状態における各フレーム中継装置の動作とフレーム中継動作について説明する。係る場合、外部装置200aから転送されるフレームFには、宛先MACアドレス302として外部装置200dのポートR4のMACアドレスMAC_R4が指定され、送信元MACアドレス303として外部装置200aのポートR1のMACアドレスMAC_R1が指定され、VLANタグ304内のVLAN識別子として1000を指定される。
外部装置からフレームを受信した、フレーム中継装置100(100a)は、フレームFを受信すると、物理ポート110による受信のため、受信したフレームFに装置内ヘッダ301を付与する。 フレーム中継装置100aは、フレーム受信装置識別子311に自己の装置識別子である1を格納し、フレーム受信ポート識別子312にポートO1を格納する。
第1のフレーム中継装置100aは、装置内ヘッダ301のL2検索状況1 313aを参照すると、MACアドレスの検索は未実施であることを示しているため、MACアドレステーブル158aを参照し、MACアドレスの検索を実行する。MACアドレスの検索は、装置内フレームの送信元MACアドレス303と、VLANタグ304に含まれるVLAN識別子に対応するエントリがMACアドレステーブル158aに登録されているかを検索する(図8:S200、S201)。検索の結果、該当するエントリが存在しない場合、中継装置100は、MACアドレス検索テーブルに、受信したフレームの情報を登録するか、装置内フレームのフレーム受信装置識別子311と自己の中継装置ごとに割り当てられた装置識別子とを比較して、判定する(図8:S213)。判定結果、一致すると、自己のMACアドレステーブル158aのMACアドレス500aにMAC_R1、VLAN識別子501aに1000、出力ポート502aにポートO1が、登録される(エントリ1586a参照)。
第1のフレーム中継装置100aは、MACアドレステーブル158aを参照して、宛先MACアドレス302と、VLANタグ304に含まれるVLAN識別子に対応する出力ポートがあるか検索しフレームの転送先を決定する(図9)。検索の結果、MACアドレステーブル158aには該当するエントリが存在しないため、装置内ヘッダ301のL2検索状況1(313a)に「MACアドレスの検索を実施済みであることを示す情報」に更新する(図9:S305)。
第1のフレーム中継装置100aは、MACアドレス検索で該当する出力ポートがなく、装置内フレームのフラッディング処理状況315aにもフラッディング済みとなっていないため、仮想フレーム中継装置内転送先テーブル157aを参照し、フレーム中継システム内で出力されるスタックポートを特定し(図10:S416)、フレーム中継装置100bに装置内ヘッダを付与したままフレームFをスタックポート120(A2)を介して転送する。
第2のフレーム中継装置100bは、ポートA1から転送されたフレームFを受信すると、装置内ヘッダに示される、当該フレームの処理履歴のうち、L2検索状況2(313b)を参照して、MACアドレスの検索が未実施であると特定し、装置内フレームの送信元MACアドレス303と、VLANタグ304に含まれるVLAN識別子と、をキーとしてMACアドレステーブル158bを検索して、当該MACアドレスに該当するエントリがあるかを検索する。
まず、フレーム中継装置100bは、該当するエントリがないので、MAC学習すべきか否かを装置内ヘッダ301のフレーム受信装置識別子311と自己の装置識別子とを比較する(図8:S213)。比較結果、一致しないので、MACアドレスの学習は行わない(図8:S213のNO)。従って、MACアドレステーブル158bの内容は更新されない。
第一のフレーム中継装置100aと同様に該当するエントリがないため、フレーム中継装置100bは、装置内ヘッダ301のL2検索状況313の対応するフレーム中継装置100bに対応するフィールドに「MACアドレスの検索を実施済みであることを示す情報」に更新する(図9:S305)。以降は、フレーム中継装置100aと同様に、フレーム中継装置100bは、MACアドレス検索で該当する出力ポートがなく、装置内フレームのフラッディング処理状況315のうち、対応するフィールドにはフラッディング済みと示されていない。従って、フレーム中継装置100bは、仮想フレーム中継装置内転送先テーブル157bを参照し、フレーム中継システム内で転送先を特定し(図10:S416)、フレーム中継装置100cに装置内ヘッダを付与したままフレームFをスタックポート120(B2)を介して転送する。
次に、第2のフレーム中継装置100bのポートB2から送信された装置内フレームを、フレーム中継装置100cがポートC1で受信する。フレーム中継処理装置100cも、フレーム中継処理装置100bと同様に、フレーム中継装置100cに対応する装置内フレームのL2検索状況313のうち、フレーム中継装置100cに対応するフィールドを参照し、MACアドレステーブル158cの検索が未済であると判定する(図7:S101)。
フレーム中継装置100cは、他のフレーム中継装置100と同様に、装置内ヘッダの情報を参照して、MACアドレステーブル158cに該当するエントリが登録されているかを検索する(図9:S300、S301)。フレーム中継処理装置100cは、装置内ヘッダ301のL2検索状況(313)のうち、対応するフィールドにMACアドレスの検索を実施済みであることを示す情報を格納する(図9:S305、S306)。
また、フレーム中継装置100bと同様に、装置内ヘッダ301のフレーム受信装置識別子311が、自己の装置識別子と一致しないため、(図8:S205)MACアドレスの学習は、行われず、MACアドレステーブル158cの内容は更新されない。
フレーム中継処理装置cは、MACアドレステーブル158cの検索結果、出力先のポートがなかったため、仮想フレーム中継装置内転送先テーブル157cを参照して装置内フレームの転送先のポートを特定する。そして、フレーム中継処理装置cは、特定されたポートである、スタックポートC2を介して更新された装置内ヘッダが付与されたままフレームFを出力する(図10:S416、S417)。以上が、フレーム中継システム1000内で、フレームFが一周するまでの例である。
再度、フレーム中継装置100aは、フレームFを受信する。今回は、フレーム中継システム1000内からの転送されて、ポートA1で受信している点と、フレームFに装置内ヘッダが付与されたままで受信される点が、上述のポートO1で受信した場合と異なる。
フレーム中継装置100aは、フレーム中継装置100cから送信された装置内フレームを、ポートA1で受信すると、装置内ヘッダ301のL2検索状況1 313aを参照して、フレーム転送決定部154でMACアドレスの検索を実施済みであるかを判定する(図7:S100、S101)。判定の結果、実施済みであるため、フレーム中継装置100aは、装置内ヘッダ301のL2検索結果314が示す情報が該当ありであるかを判定する(図7:S102)。判定の結果、該当なしであるため、フレーム中継装置100aは、次に装置内ヘッダ301のフラッディング処理状況315aが示す情報を参照し、以前にフレームを受信した際にフラッディング処理済みであるかを判定する(図7:S104)。フラッディング処理が未実施であるため、フレーム中継装置100aは、フラッディング処理すると決定し(図10:S411)、装置内フレームのVLANタグ304のVLAN識別子をキーとしてVLANテーブル159aを参照してフラッディング対象のVLANに所属するポートを特定する(図10:S412)。そして、フレーム中継装置100aは、装置内フレームを複製して、一方のフレームは、装置内ヘッダ内の受信装置識別子と、フラッディング対象のポートが属するフレーム中継装置100aの装置識別子が一致し、フラッディング対象のポートがフレーム受信ポート識別子と同一であるため、廃棄される。
一方、残りのフレームは、フレーム中継装置100aにより、装置内ヘッダのフラッディング処理状況315aが示す情報を「フラッディング処理実施済み」と示す情報に更新される。更新された装置内ヘッダ301付与したままフレームFは、フレーム中継装置100bに、仮想フレーム中継装置内転送先テーブル157により特定されるスタックポートA2を介して転送される。
フレーム中継装置100bは、 フレーム中継装置100bと同様にMACアドレス検索実施済みかを装置内ヘッダにより判定し、MACアドレス実施済みで、検索結果が該当なしと特定する。そして、フレーム中継装置100bは、フラッディング処理を実行すると決定し(図10:S411)、VLANテーブル159bに対応するエントリ1592bを参照し、フラッディング対象のポートを特定し(図10:S412)、装置内フレームを複製する(図10:S413)。そして、フレーム中継装置100bは、複製されたフレームの一方のフレームの装置内ヘッダのフラッディング処理状況315に、フラッディング処理を実施済みであることを示す情報を格納して、装置内ヘッダを更新する(図10:S415)。装置内ヘッダが更新された装置内フレームは、フレーム中継システム1000の他のフレーム中継装置に出力スタックポートB2を介して転送される。
一方、他方のフレームについては、廃棄されず、フレーム中継システムの外部へフラッディングされる。つまり、フレーム中継装置100aにおけるS412での比較結果とは異なり、フレーム中継装置100bは、特定されたフラッディング対象のポートが属する装置の装置識別子と、装置内ヘッダの受信装置識別子とが一致しないので、特定されたポートを介して複製されたフレームから装置ヘッダを除去して、フレームFをフレーム中継システムの外部へフラッディングする。
フレーム中継装置100cは、装置内ヘッダを含むフレームを、フレーム中継装置100bからC1で受信する。ポートC1で受信したフレームの装置内ヘッダのうち、L2検索状況313のフレーム中継装置100a、b、cに対応するフィールドには、「実施済み」を示す情報が格納されている。L2検索結果314のフィールドには、「該当なし」の情報が格納されている。従って、フレーム中継装置100cは、自装置に対応するフィールドを検索し、MACアドレステーブル158cを参照する処理をせず、MACアドレスの学習処理や宛先検索処理を行なわない。
一方、装置内ヘッダ301のフラッディング処理状況315のフレーム中継装置100a、bに対応するフィールドには「フラッディング処理実施済み」を示す情報が格納され、フレーム中継装置100cに対応するフィールドには、それを示す情報が格納されていない。従ってフレーム中継装置100cは、フレーム中継装置100bと同様な処理を行い(S104、105、S400,S401,)、フラッディングを行うと決定し、装置内ヘッダの更新し、装置内フレームを複製する。フレーム中継装置100cは、一方のフレームから装置内ヘッダを除去して、フレームFをVLANテーブル159cにより特定されるポートO4,O5を介してフラッディングをし(図10:S412,S413,414)、他のフレームを、更新された装置内ヘッダを付与したまま、フレーム中継装置100aに出力スタックポートC2から転送する(図10:S415,S417)。
そして、フレームFを受信したフレーム中継装置100aは、装置内ヘッダ301を参照すると、過去のフレーム中継装置100aでの処理履歴を特定することができる。フレーム中継装置100は、装置内ヘッダ301のL2検索状況313から学習処理、L2検索結果314から宛先検索処理、フラッディング処理状況315からフラッディングとの決定処理、を過去に受信したときに行ったかを特定する(図7:S101,S102,S104)。いずれも、実施を示す情報が格納されているため、フレーム中継装置100aは、装置内フレームを廃棄する(図7:S103)。
以上により、フレーム中継システム1000内で、フレーム中継システム1000の外部から受信したフレーム中継装置100が、MAC学習を行うことにより、フレーム中継システム1000内のフレーム中継装置100が、分散して、MACアドレステーブルを用いた学習、学習結果の管理をする例を説明した。また、フレーム中継システム1000内で、分散してMACアドレス学習を管理しても、装置内ヘッダで更新されるフレーム中継システム1000内の過去の処理の履歴により、フレーム中継装置100が、フラッディングやフレーム廃棄の処理をする例を説明した。各フレーム中継装置100でのMACアドレステーブルのエントリ削減ができる一方、フレーム中継処理装置100が、処理履歴をフレームに格納し、フレーム転送処理の制御する例を説明した。
次に、第3のフレーム中継装置100cが外部装置200dのMACアドレスを学習した状態において、外部装置200aから外部装置200dに向けてフレームを送信した場合、フレーム中継システム1000でのフレーム中継動作について説明する。
第1のフレーム中継装置100aのMACアドレステーブル158aの1582a及び第2のフレーム中継装置100bのMACアドレステーブル158bの1582bは、未学習であることを示すNULLが格納される。第3のフレーム中継装置100cのMACアドレステーブル158cは、外部装置200dのMACアドレスを学習済みなので、MACアドレス500cにはMAC_R4が、VLAN識別子501cには1000が、出力ポート502cにはO4が登録されている。
フレーム中継装置100aは、外部装置200aから受信したフレームに、装置内ヘッダ301を付与する。そして、フレーム中継装置100aは、MAC学習処理(図8)と宛先検索(図8)を行って、宛先検索(実施済)と宛先検索結果(該当なし)を示す情報を装置内ヘッダに格納し(図9:S305)、フレーム中継装置100bに、更新された装置内ヘッダ301を含むフレームを転送する。
フレーム中継装置100bは、フレーム中継システム1000内から受信したフレームで、かつ、該当するエントリもMACアドレステーブル158bにないため、MAC学習処理は不要と判断する(図8:S200、S201、S213)。宛先検索を行い、宛先検索(図8)を行って、宛先検索(実施済)と宛先検索結果(該当なし)を示す情報を装置内ヘッダに格納し(図9:S305)、フレーム中継装置100cに、更新された装置内ヘッダ301を含むフレームを転送する。
フレーム中継装置100cは、フレーム中継装置a、フレーム中継装置bを介して転送されてきたフレームについて、装置内ヘッダ301のL2検索結果314から宛先検索処理のうちフレーム中継装置cに対応する情報を参照する(図7:S101、S102)。宛先検索処理が、未処理であることを示しているので、フレーム中継装置100cは、MACアドレステーブル158を検索し、フレームに含まれる宛先MACアドレスとVLAN識別子に一致するエントリ1584cから出力ポートO4を抽出する(図9:S300、S301.S303)。そして、フレーム中継装置は、フレームを複製し(図10:S403)、一方を装置内ヘッダ301を除去し、フレームFを出力ポートO4を介して送信する(図10:S404)。
フレーム中継装置100cは、他方のフレームの装置内ヘッダ301のL2検索結果を該当有と更新する(S302)。フレーム中継装置100cは、スタックポートC2を介して、更新された装置内ヘッダを付与されたフレームを送信する(図10:S406)。
フレーム中継装置100cのポートC2から送信された装置内フレームを、第1のフレーム中継装置100aがポートA1で受信すると、フレーム中継装置100aは、装置内ヘッダ301のL2検索状況1 313aを参照して、MACアドレスの検索を実施済みであるかを判定する(図7:S100、S101)。判定の結果、実施済みであり、装置内ヘッダ301のL2検索結果314が示す情報が、該当ありであるかを判定する(図7:S102)。判定の結果、該当ありであるため、装置内フレームを廃棄し、フレームFの転送処理を終了する(図7:S103)。
実施例1の最後に、フレーム中継システムとして外部装置の転送先MACアドレスを学習した状態において、当該外部装置がフレーム中継システムを構成するフレーム中継装置と論理的に接続が異なる状態に変化した際の各フレーム中継装置の動作とフレーム中継動作について説明する。まず、第3のフレーム中継装置100cが外部装置200dのMACアドレスを学習した状態で、かつ、第1のフレーム中継装置100aが外部装置200aのMACアドレスを出力ポートO1と対応付けて学習している状態で説明をする。
つまり、第1のフレーム中継装置100aのMACアドレステーブル158aのMACアドレス500aには、MAC_R1、VLAN識別子501aには1000、出力ポート502aにはポートO1がエントリ1586aとして登録されている。一方、第3のフレーム中継装置100cのMACアドレステーブル158cのMACアドレス500cにはMAC_R4が、VLAN識別子501cには1000が、出力ポート502cにはO4が登録されている。
そして、図1に示すように、外部装置200aが、フレーム中継システム1000への論理的な接続を変更し、外部中継装置400aではなく、外部中継装置400bを介して、フレーム中継装置100bのポートO2を介して、フレーム中継システム1000が、フレームを受信する場合の、フレーム中継システム1000の処理を説明する。
外部装置200aは、宛先MACアドレスとして外部装置200bのポートR2のMACアドレスMAC_R2を指定し、送信元MACアドレスとして外部装置200aのポートR1のMACアドレスMAC_R1を指定し、VLANタグ内のVLAN識別子として1000を指定して、外部中継装置400bを経由してフレームFを第2のフレーム中継装置100bに送信する。
フレーム中継装置100bの処理は、論理的な接続を変更する前のフレーム中継装置100aと同様である。従って、フレーム中継装置100bは、装置内ヘッダをフレームに付与し、装置内ヘッダのフレーム受信装置識別子311に自己の装置識別子を示す2を格納し、装置内ヘッダのフレーム受信ポート識別子312を示すポートO2を格納する。装置内ヘッダ301に付与される受信装置識別子311が自己の装置識別子と一致しているため、MAC学習を行いMACアドレステーブル158bを更新し、エントリ1586bを登録する(図8:S213,S206)。また、フレーム中継装置bは、上述した実施例に従って、装置内ヘッダの情報に基づいて、宛先検索をするが(図9:S300.301)、該当するエントリがないため、装置内ヘッダを更新し(図9:S305、S306)、フレーム中継装置cに向けて転送する(図10:S411,S416、S417)。
フレーム中継装置100cは、すでに説明したとおり、装置内ヘッダを参照して、自装置におけるL2検索状況が実施済みではなく、フレーム中継システム1000内でのL2検索状況も該当なしと示されているため、宛先検索をMACアドレステーブル158cを参照して行う。フレーム中継装置100cは、フレームに含まれる宛先MACアドレスとVLAN識別子がエントリ1582cに該当するため、エントリ1582cの出力ポートを抽出する(図9:S300,301)。そして、フレーム中継装置100cは、フレームを複製し、一方を出力ポートO4を介して送信する(図10:S403,S404)。フレーム中継装置100cは、他方を、装置内ヘッダ(L2検索状況313とL2検索結果314)を更新し(図9:S302)、フレーム中継システム1000内のフレーム中継装置100aに向けて出力スタックポートC2を介して送信する(図10:S405,S406)。
フレーム中継装置100aは、第3のフレーム中継装置100cのポートC2から送信された装置内フレームを、第1のフレーム中継装置100aがポートA1で受信すると、装置内ヘッダを参照し、自装置でMACアドレスの検索が未実施であることから、装置内フレームの送信元MACアドレス303と、VLANタグ304に含まれるVLAN識別子とに対応するMACアドレステーブル158aを検索する(図7:S101,S201)。検索結果、エントリ1586aが該当するが(図8:S201、S202)、装置内ヘッダ301のフレーム受信装置識別子311と第1のフレーム中継装置100aの装置識別子が、一致しないため(図8:S203)、MACアドレステーブル158aは更新される。具体的には、装置内ヘッダに含まれる送信元MACアドレス303とVLAN識別子との組合せに対応するエントリ1586aが削除される(図8:S207)。次に、フレーム中継装置100aは、MACアドレステーブル158aを参照し、装置内フレームの宛先MACアドレス302とVLAN識別子に対応するエントリがあるか検索を行い(図9:S301)、行なったことを示す情報を装置内ヘッダ301のL2検索状況313に格納する(図9:S302)。なお、L2検索結果314は、該当有との情報が既に格納されているので更新されない。そして、S301による検索結果、該当する出力ポートがないため(図10:S400、S401)、フレーム中継装置100aは、出力スタックポートA2を介してフレーム中継装置100bに装置内ヘッダを含むフレームを送信する(図10:S416、S417)。
フレーム中継装置100aのポートA2から送信された装置内フレームを、フレーム中継装置100bは、ポートB1を介して受信すると、フレーム中継装置100bは、装置内ヘッダ301のL2検索状況313のうちフレーム中継装置100bに対応するフィールドを参照する。フレーム中継装置100bは、MACアドレスの検索を実施済みであり、装置内ヘッダ301のL2検索結果314が示す情報が該当ありであるため(図7:S102)、装置内フレームを廃棄する(図7:S103)。
以上の説明から、フレーム中継システム1000は、フレーム中継システム1000を構成するフレーム中継装置100に接続する外部装置200が、フレーム中継装置100との論理的な接続が変化した場合においても、フレームを転送する。また、外部装置200が、フレーム中継装置100との論理的な接続が変化した場合においても、フレーム中継システムを構成するフレーム中継装置100のMACアドレステーブル158において古い情報を削除して、MACアドレステーブル158を効率良く使用できることを示した。さらに、古い情報であると判定したのに応じて削除していることにより、誤転送をする時間を短くでき、ネットワークに余計なトラフィックを流すことなくネットワークの負荷を削減できる。
以上の説明から、フレーム中継システム1000は、フレーム中継システム1000を構成するフレーム中継装置100に接続する外部装置200が、フレーム中継装置100との論理的な接続が変化した場合においても、フレームを転送する。また、外部装置200が、フレーム中継装置100との論理的な接続が変化した場合においても、フレーム中継システムを構成するフレーム中継装置100のMACアドレステーブル158において古い情報を削除して、MACアドレステーブル158を効率良く使用できることを示した。さらに、古い情報であると判定したのに応じて削除していることにより、誤転送をする時間を短くでき、ネットワークに余計なトラフィックを流すことなくネットワークの負荷を削減できる。
なお、フレーム中継システム1000は、複数のフレーム中継装置100がリング状に接続されていても、カスケード接続されていてもよく、仮想フレーム中継装置内転送先テーブル157により出力スタックポートが特定されればよい。
図11は、実施例2におけるフレーム中継システム1000を示す。フレーム中継装置100’a、b、cを含む点は実施例1と同様である。フレーム中継システム1000を構成する少なくとも二つのフレーム中継装置は、外部の装置に対し、装置跨りのリンクアグリゲーション(以下、LAともいう)、が構成される。LAは、IEEE802.3adで規定され、LAを構成するフレーム中継装置のポートにより、外部の装置に対して、冗長的な回線が提供される。
図11では、フレーム中継システム1000の外部に、外部中継装置400a〜400bが接続される。外部中継装置400a〜400bは、複数の物理ポートを有するスイッチ装置を示している。第1のフレーム中継装置100’aのポートO1は、外部中継装置400aのポートE1と、ケーブルLNT1を介して接続されている。第2のフレーム中継装置100’bのポートO2は、外部中継装置400aのポートE2と、ポートO3は、外部中継装置400bのE3と、それぞれ、ケーブルLNT2、ケーブルLNT3を介して接続されている。第3のフレーム中継装置100’cのポートO4は、外部中継装置400bのE4と、ケーブルLNT4を介して接続されている。本実施例では、フレーム中継装置100’aのポートO1とフレーム中継装置100’bのポートO2とが、外部中継装置400aのポートE1及びポートE2に対して、複数のフレーム中継装置100’を跨ぐリンクアグリゲーションLA1を構成する。
第2のフレーム中継装置100’bのポートO3と第3のフレーム中継装置100’cのポートO4とが、外部中継装置400bのポートE3及びポートE4に対して、複数のフレーム中継装置100’を跨ぐリンクアグリゲーションLA2を構成している。
また、外部中継装置400a〜400bは外部装置200a〜200bと接続されている。外部中継装置400aのポートI1は、外部装置200aのポートR1と、ケーブルINT1を介して接続され、外部中継装置400bのポートI2は、外部装置200bのポートR2と、ケーブルINT2を介して接続される。ここで、第1のフレーム中継装置100a’のポートO1と、第2のフレーム中継装置100’bのポートO2、ポートO3と、第3のフレーム中継装置100’cのポートO4と、外部中継装置400aのポートE1、ポートE2、ポートI1と、外部中継装置400bのポートE3、ポートE4、ポートI2と、外部装置200aのポートR1と、外部装置200bのポートR2と、はいずれもVLAN識別子が1000のネットワークに所属している。
フレーム中継装置1000を構成するフレーム中継装置100’間については、第1のフレーム中継装置100’aのポートA2と第2のフレーム中継装置100’bのポートB1、第2のフレーム中継装置100’bのポートB2と第3のフレーム中継装置100’cのポートC1、第3のフレーム中継装置100’cのポートC2と第1のフレーム中継装置100’aのポートA1は、ケーブルSCV1、SCV2、SCV3を介して接続され、それぞれフレーム中継システム1000を構成する。
装置フレーム中継システム1000を構成するフレーム中継装置100’が、外部装置200とリンクアグリゲーションを介して接続されている場合に、第2のフレーム中継装置100’b、および、第3のフレーム中継装置100’cが外部装置200bのMACアドレスをリンクアグリゲーションLA2で学習している状態において、外部装置200aから第2の外部装置200bに向けてフレームを送信した際の、フレーム中継システムの動作について説明する。
実施例2におけるフレーム中継装置100‘は、図2に示す構成を有する。本実施例では、送受信処理部130に含まれる装置内ヘッダ付与・除去部131と、テーブル更新部153と、フレーム転送処理部155とMACアドレステーブル158は、一部、実施例1と異なる構成や処理を有する。便宜上、実施例2のMACアドレステーブル158は、MACアドレステーブル158’として説明する。また、本実施例では、フレーム中継装置100‘は、LAテーブル160が追加されている。その他の点は、第1の実施例と変わらない。
装置内ヘッダ付与・除去部131は、フレームに装置内ヘッダを付与する際は、実施例2では、当該フレームを受信したフレーム中継装置100’の、フレーム中継システム1000を構成するフレーム中継装置100‘の間で一意に示される識別子及び当該フレームを受信したポートの識別子に加えて、当該フレームを受信したフレームのポートの種別701と、を装置内ヘッダ301に格納する。ポートの識別子は、当該フレームを受信した物理ポート110がリンクアグリゲーションを構成するポートである場合、当該リンクアグリゲーションを示す識別子を、そうでない場合は当該物理ポート110を示す識別子を格納する。
テーブル更新部153は、装置内ヘッダ解析部152から受け取った装置内フレームの送信元MACアドレス303と、VLANタグ304に含まれるVLAN識別子と、を元に、MACアドレステーブル158’に当該MACアドレスが登録されているかを検索して、当該MACアドレスのMACアドレステーブル158’への登録(MACアドレスの学習)、または、当該MACアドレスのMACアドレステーブル158’からの削除、または、MACアドレステーブル158’の情報の更新、の要否を判定する。
フレーム転送処理部155は、装置内アドレス解析部152、または、フレーム転送決定部154から通知と、装置内フレームと、を受け取ると、要求された処理を元に装置内フレームを適切な転送先に転送するための処理を行う。この時、転送先がリンクアグリゲーションである場合、LAテーブル160を参照して、当該リンクアグリゲーションを構成する物理ポート110のいずれからフレームを送信するかを求める処理を行う。
なお、物理ポート110の選択は所定のアルゴリズムによって行われる。たとえば、ランダムに選択されてもよいし、ラウンドロビンで選択されてもよい。本実施例のフレーム中継システムの具体的な説明においては、どの物理ポート110が求められたかを記載するに留める。実施例2では、フレーム中継装置100‘は、さらに、LAテーブルをメモリ156に保持する。
図3は、実施例2での装置内フレームを示す。実施例1とは異なり、フレーム受信ポート種別701が装置内ヘッダ301に追加される。フレーム受信ポート種別701は、受信されたフレームを受信したポートの種別が格納される。ポートの種別には、リンクアグリゲーションが設定されているポートであるか、あるいは、LAが設定されていない物理ポートであるかを示す情報が格納される。図3で説明したフレーム受信ポート種別701は、装置内ヘッダ付与・除去部131にて、フレームを受信したポートの種別が格納される。ポートの種別には、リンクアグリゲーションと、物理ポートと、がある。フレーム受信ポート識別子312は、装置内ヘッダ付与・除去部131にて、フレームを受信したフレーム中継装置100’の物理ポート110の識別子、あるいは、リンクアグリゲーションの識別子が格納される。その他の点は、実施例1と同様である。
図6は、VLANテーブル159を示す。VLANテーブル159のエントリのうち、実施例2に係る部分について説明する。フレーム中継装置100’のVLANテーブル159には、第1のフレーム中継装置100’aのポートO1と、第2のフレーム中継装置100’bのポートO2、ポートO3と、第3のフレーム中継装置100’cのポートO4と、はいずれもVLAN識別子が1000のネットワークに所属しており、第1のフレーム中継装置100’aのポートO1と、第2のフレーム中継装置100’bのポートO2とはリンクアグリゲーションLA1を、第2のフレーム中継装置100’bのポートO3と、第3のフレーム中継装置100’cのポートO4とはリンクアグリゲーションLA2を構成している。従って、フレーム中継装置100a、100b、100cには、それぞれVLANテーブル159a、159b、159cが保持される。
本実施例では、第1のフレーム中継装置100’aのVLANテーブル159aのエントリ1596aには、VLAN識別子600aには1000が、所属ポート601aにはポートLA1が登録される。第2のフレーム中継装置100’bのVLANテーブル159bのエントリ1596bには、VLAN識別子600bには1000が、所属ポート601bにはポートLA1、ポートLA2が登録される。第3のフレーム中継装置100’cのVLANテーブル159cのエントリ1596cには、VLAN識別子600cには1000が、所属ポート601cにはポートLA2が登録される。
図12は、MACアドレステーブル158’を示す。MACアドレステーブル158’は、MACアドレス1500と、VLAN識別子1501と、出力ポート1502と、ポート種別1503と、から構成される。実施例1で説明した図5のテーブルにさらに、ポート種別1503が追加される。
MACアドレステーブル158’は、MACアドレス1500と、VLAN識別子1501と、をキーとして、出力ポート1502と、ポート種別1503と、を求めるテーブルである。
第2のフレーム中継装置100’bと、第3のフレーム中継装置100’cとが外部装置200bのMACアドレスをリンクアグリゲーションLA2で学習している状態である。第2のフレーム中継装置100’bのポートO3と、第3のフレーム中継装置100cのポートO4と、外部装置200bのポートR2と、はいずれもVLAN識別子が1000のネットワークに所属している。従って、第2のフレーム中継装置100’b、および、第3のフレーム中継装置100’cのMACアドレステーブル158’b、158’cのエントリ1583b及び1583cには、MACアドレス1500b、1500cとしてMAC_R2が、VLAN識別子1501b、1501cとして1000が、出力ポート1502b、1502cにはLA2が、ポート種別1503b、1503cにはリンクアグリゲーションが登録される。
第1のフレーム中継装置100’aではMACアドレスを学習していないため、第1のフレーム中継装置100‘aのMACアドレステーブル158’aのMACアドレス1500aと、VLAN識別子1501aと、出力ポート1502aと、ポート種別1503aと、にはまったくの未学習であることを示す情報としていずれもNULLのエントリ1582aが登録されている。
なお、第1のフレーム中継装置100’aのMACアドレステーブル158’aのエントリ1587aには、後述する本実施例のMAC学習により、MACアドレス1500aがMAC_R1、VLAN識別子1501aが1000、出力ポート1502aがLA1、ポート種別1503aがリンクアグリゲーションを示す情報が登録され、第1のフレーム中継装置100’bのMACアドレステーブル158’bのエントリ1587bには、後述する本実施例により、MACアドレス1500bがMAC_R1、VLAN識別子1501bが1000、出力ポート1502bがLA1、ポート種別1503bがリンクアグリゲーションを示す情報が登録される。
図13は、LAテーブル160の構成を示す。LAテーブル160は、LA識別子800と、ポート識別子801と、から構成される。LA識別子800には、リンクアグリゲーションの識別子が格納される。ポート識別子801には、当該リンクアグリゲーションを構成する物理ポート110の識別子が、当該物理ポート110を含むフレーム中継装置100’の装置識別子と共に格納される。
LAテーブル160は、LA識別子800をキーとして、当該リンクアグリゲーションを構成する物理ポート110を求めるテーブルである。
本実施例では、フレーム中継装置100’aのポートO1と、第2のフレーム中継装置100’bのポートO2とがリンクアグリゲーションLA1を、第2のフレーム中継装置100’bのポートO3と、第3のフレーム中継装置100’cのポートO4とがリンクアグリゲーションLA2を構成している。第1のフレーム中継装置100’aのLAテーブル160aのLA識別子800aにはLA1が、ポート識別子801aにはフレーム中継装置100‘aのO1、フレーム中継装置100‘bのO2を示すエントリ1602aが登録される。
第2のフレーム中継装置100’bのLAテーブル160bのLA識別子800bには第1のエントリとしてLA1、第2のエントリとしてLA2が、ポート識別子801bには第1のエントリ1602bとして、フレーム中継装置100‘aのO1、フレーム中継装置100‘bのO2、第2のエントリ1604bとして、フレーム中継装置100‘bのO3、フレーム中継装置100‘cのO4が登録される。
第3のフレーム中継装置100’cのLAテーブル160cのLA識別子800cにはLA2が、ポート識別子801cにはフレーム中継装置100‘bのO3、フレーム中継装置100‘cのO4を示すエントリ1604cが登録される。ここで、外部装置200aから外部装置200bに向けてフレームを送信した場合、リンクアグリゲーションLA2からフレームを送信するのはフレーム中継装置100’cのポートO4とする。
図8は、実施例2でのテーブル更新部153のフローチャートを示すが、実施例1と異なる処理について説明する。図8を参照して、実施例2でのテーブル更新部153の処理のフローチャートを説明する。まず、テーブル更新部153は、装置内ヘッダ解析部152から装置内フレームを受け取る(S200)。次に、装置内フレームの送信元MACアドレス303と、VLANタグ304に含まれるVLAN識別子と、をキーとしてMACアドレステーブル158’に当該MACアドレスが登録されているかを検索し、該当ありであるかを判定する(S201)。判定の結果、YESである場合、装置内フレームの装置内ヘッダ301のフレーム受信ポート種別701を参照して、フレームを受信したポートが、リンクアグリゲーションを構成しない物理ポート110であるかを判定する(S202)。判定の結果がYESである場合、それ以降の処理は、実施例1と同様である。
S202の判定の結果がNOである場合、テーブル更新部153は、LAテーブル160を参照して、装置内フレームの装置内ヘッダ301のフレーム受信ポート識別子702が示すリンクアグリゲーションが自己の装置に含まれているかを判定する(S208)。
S208の判定の結果がYESである場合、テーブル更新部153は、実施例1で説明したS204と同様の処理を行う(S209)。S209の判定の結果がYESである場合、テーブル更新部153は、実施例1と同様にフレーム転送決定部154に装置内フレームを渡す(S205)。
S209の判定の結果がNOである場合、テーブル更新部153は、実施例1のS206と同様に、MACアドレステーブルを更新する。つまり、テーブル更新部153は、装置内フレームの送信元MACアドレス303と、VLANタグ304に含まれるVLAN識別子と、が一致するMACアドレステーブル158’のMACアドレスのエントリの出力ポート1502に、装置内フレームの装置内ヘッダ301のフレーム受信ポート識別子312の情報を上書き登録する(S210)。 S208の判定の結果がNOである場合、テーブル更新部153は、実施例1のS207と同様に、該当するエントリ(装置内フレームの送信元MACアドレス303と、VLANタグ304に含まれるVLAN識別子含むエントリ)をMACアドレステーブルから削除する(S211)。
S201の判定に戻って説明を続ける。S201の判定の結果がNOである場合テーブル更新部153は、装置内フレームの装置内ヘッダ301のフレーム受信ポート種別701を参照して、フレームを受信したポートが、リンクアグリゲーションを構成しない物理ポート110であるかを判定する(S212)。S212の判定の結果がYESである場合、テーブル更新部153は、装置内フレームの装置内ヘッダ301のフレーム受信装置識別子311を参照して、自己の装置識別子と同じ情報が格納されているかを判定する(S213)。
S213の判定の結果がYESである場合、テーブル更新部153は、装置内フレームの送信元MACアドレス303のMACアドレスをMACアドレステーブル158’に登録し(S214)、フレーム転送決定部154に装置内フレームを渡す(S205)。S213の判定の結果がNOである場合、フレーム転送決定部154に装置内フレームを渡す(S205)。
S212の判定に戻って説明を続ける。S212の判定の結果がNOである場合、LAテーブル160を参照して、テーブル更新部153は、装置内フレームの装置内ヘッダ301のフレーム受信ポート識別子312が示すリンクアグリゲーションが自己の装置に含まれているかを判定する(S215)。S215の判定の結果がYESである場合、テーブル更新部153は、装置内フレームの送信元MACアドレス303のMACアドレスと、VLANタグ304に含まれるVLAN識別子と、装置内ヘッダ301のフレーム受信ポート種別701と、フレーム受信ポート識別子312と、を元に、当該MACアドレスをMACアドレステーブル158’に登録し(S216)、フレーム転送決定部154に装置内フレームを渡す(S205)。S215の判定の結果がNOである場合、フレーム転送決定部154に装置内フレームを渡す(S205)。以上が、実施例1で説明されていない、実施例2でにおける図8の処理を説明した。
図10は、実施例1だけでなく実施例2におけるフレーム転送処理部のフローチャートを示すが、実施例1と異なる処理について主に説明する。
フレーム転送処理部155は、装置内ヘッダ解析部152、または、フレーム転送決定部154から通知と、装置内フレームと、を受け取る(S400)。次に、通知された内容が出力ポート情報であるかを判定する(S401)。判定の結果がYESである場合、通知された出力ポート情報がリンクアグリゲーションを構成しない物理ポート110であるかを判定する(S402)。S402の判定の結果がYESである場合、フレーム転送処理部155は、実施例1と同様にS403以降の処理を行う。
一方、S402の判定の結果がNOである場合、フレーム転送処理部155は、通知された出力ポート情報はリンクアグリゲーションの識別子であるため、LAテーブル160を参照する。フレーム転送処理部155は、参照結果、当該リンクアグリゲーションを構成するどの物理ポート110からフレームを送信するかを求め、求められた結果が自己の物理ポート110であるかを判定する(S407)。S407の判定の結果がYESである場合、フレーム転送処理部155は、実施例1のS403と同様に、フレーム転送決定部154より受け取った装置内フレームを複製する(S408)。以降の処理は実施例1と同様である。
S407の判定に戻って説明を続ける。S407の判定の結果がNOである場合、フレーム転送処理部155は、実施例1のS405,S406と同様に、フレーム中継システ1000を構成する他のフレーム中継装置に装置内フレームを送信する。
S401の判定の結果がNOである場合、通知された内容がフラッディング処理であるかを判定する(S411)。判定の結果がYESである場合、装置内フレームのVLANタグ304をキーとしてVLANテーブル159からフラッディング対象のポートを求める(S412)。ここで、装置内フレームの装置内ヘッダ301のフレーム受信ポート識別子312が自己に含まれる物理ポート110、あるいは、自己に含まれる物理ポート110で構成されるリンクアグリゲーションである場合、当該ポートはフラッディング対象のポートとはしない。また、フラッディング対象のポートにリンクアグリゲーションが含まれる場合、当該リンクアグリゲーションを構成する物理ポート110のどれからフレームを送信すべきかを求める。以降の処理(S413以降)は実施例1と同様である。
次に、第2実施例に係るフレーム中継システム1000を構成するフレーム中継装置100のそれぞれの装置識別子情報145、仮想フレーム中継装置内転送先テーブル157、MACアドレステーブル158’、VLANテーブル159、LAテーブルに登録された情報について述べる。装置識別子情報145と仮想フレーム中継装置内転送先テーブル157には、フレーム中継装置100’それぞれの仮想フレーム中継装置構成プログラム144がフレーム中継装置1000を構成するための情報をやり取りすることによって、情報が登録されている。
本実施例においては、第1のフレーム中継装置100’aの装置識別子情報145には1が、第2のフレーム中継装置100’bの装置識別子情報145には2が、フレーム中継装置100’cの装置識別子情報145には3が登録されている。
フレーム中継装置100’の仮想フレーム中継装置内転送先テーブル157には、図4を参照して、第1のフレーム中継装置100’aの仮想フレーム中継装置内転送先テーブル157aには、装置識別子400aに1が、出力スタックポート401aにはポートA2が、第2のフレーム中継装置100’bの仮想フレーム中継装置内転送先テーブル157bには、装置識別子400bに2が、出力スタックポート401bにはポートB2が、第3のフレーム中継装置100’cの仮想フレーム中継装置内転送先テーブル157cには、装置識別子400cに3が、出力スタックポート401cにはポートC2が、それぞれ登録されている。
以上に説明した状態から、外部装置200aから外部装置200bに向けてフレームFを送信した場合の、第1実施例に係るフレーム中継システム1000の動作について説明する。係る場合、外部装置200aは、宛先MACアドレスとして外部装置200bのポートR2のMACアドレスMAC_R2を指定し、送信元MACアドレスとして外部装置200aのポートR1のMACアドレスMAC_R1を指定し、VLANタグ内のVLAN識別子として1000を指定して、フレームFを外部中継装置400aに転送してくる。ここで、前述の通り、外部中継装置400aは、外部中継装置400aのポートE1と、ポートE2とで構成するリンクアグリゲーションLA1のうち、ポートE1からフレームFを送信するものとして説明を続ける。
以上に説明した状態から、外部装置200aから外部装置200bに向けてフレームFを送信した場合の、第1実施例に係るフレーム中継システム1000の動作について説明する。係る場合、外部装置200aは、宛先MACアドレスとして外部装置200bのポートR2のMACアドレスMAC_R2を指定し、送信元MACアドレスとして外部装置200aのポートR1のMACアドレスMAC_R1を指定し、VLANタグ内のVLAN識別子として1000を指定して、フレームFを外部中継装置400aに転送してくる。ここで、前述の通り、外部中継装置400aは、外部中継装置400aのポートE1と、ポートE2とで構成するリンクアグリゲーションLA1のうち、ポートE1からフレームFを送信するものとして説明を続ける。
第1のフレーム中継装置100’aの送受信処理部130はフレームFを受信すると、リンクアグリゲーションLA1を構成する物理ポート110であるポートO1から当該フレームを受信したため、装置内ヘッダ付与・除去部131にて装置内ヘッダ301を付与して装置内フレームを作成し、フレーム受信装置識別子700に1を格納し、フレーム受信ポート種別701にはリンクアグリゲーションを格納し、フレーム受信ポート識別子312にはLA1を格納する。
第1のフレーム中継装置100’aのテーブル更新部153は、装置内ヘッダ解析部152から装置内フレームを受け取ると、装置内フレームの送信元MACアドレス303と、VLANタグ304に含まれるVLAN識別子と、を参照して、MACアドレステーブル158’aに該当するエントリが登録されているかを検索する(図8:S200、S201)。検索の結果、該当するエントリが存在しないため、装置内フレームのフレーム受信ポート種別701を参照し、リンクアグリゲーションを構成していない物理ポート110で受信したかを判定する(図8:S212)。装置内フレームのフレーム受信ポート種別は701はリンクアグリゲーションであるため、次に、装置内ヘッダ301のフレーム受信ポート識別子312を参照して、当該リンクアグリゲーションを構成する物理ポート110が自己の装置に存在するかを判定する(S215)。装置内ヘッダ301のフレーム受信ポート識別子702はLA1であり、LAテーブル160aにてLA識別子800aがLA1であるエントリを参照すると、LA1にはフレーム中継装置100’aのポートO1が存在するため、当該リンクアグリゲーションを構成する物理ポート110が自己の装置に存在すると判定し、図12を参照して、自己のMACアドレステーブル158’aにMACアドレス1500aがMAC_R1、VLAN識別子1501aが1000、出力ポート1502aがLA1、ポート種別1503aがリンクアグリゲーションとなるエントリ1587aを登録し、フレーム転送決定部154に装置内フレームを渡す(図8:S216、S205)。以降の処理は、実施例1のフレーム中継装置100aと同様である。
次に、第1のフレーム中継装置100’aのポートA2から送信された装置内フレームを、第2のフレーム中継装置100’bがポートB1で受信すると、フレーム中継装置100’bは、実施例1と同様に装置内ヘッダ301を参照し、テーブル更新部153に装置内フレームを渡す(図7:S100、S101、S106)。
第2のフレーム中継装置100’bのテーブル更新部153は、装置内ヘッダ解析部152から装置内フレームを受け取ると、MACアドレステーブル158bに該当するエントリが登録されていないので(図8:S200、S201)、装置内フレームのフレーム受信ポート種別701とフレーム受信ポート識別子312を参照し、フレームがフレーム中継システム1000の外部から受信したポートがどのような属性であったかを判別する(図8:S212,S215)。装置内ヘッダ301のフレーム受信ポート種別701はリンクアグリゲーションであって、装置内ヘッダ301のフレーム受信ポート識別子312はLA1であることが判別される。
そして、フレーム中継装置100bは、LAテーブル160bにてLA識別子800bがLA1であるエントリを参照すると、LA1にはフレーム中継装置100’bのポートO2が存在するため、当該リンクアグリゲーションを構成する物理ポート110が自己の装置に存在すると判定し、自己のMACアドレステーブル158’bにMACアドレス1500bがMAC_R1、VLAN識別子1501bが1000、出力ポート1502bがLA1、ポート種別1503bがリンクアグリゲーションとなるエントリ1587bを登録する(図8:S216、S205)。
以降の処理は、第2のフレーム中継装置100’bは実施例1と同様であるので省略する(図9のS300,S301、S302、S303,S304、図10のS400,S401、S407、S405、S406)。
次に、第2のフレーム中継装置100’bのポートB2から送信された装置内フレームを、第3のフレーム中継装置100’cがポートC1で受信すると、第3のフレーム中継装置100’cは、実施例1と同様にS100、S101,106の処理を行なったのちS200,S201の処理を行う。S201での検索の結果、該当するエントリがMACアドレステーブル158cに存在しないため、フレーム中継装置100cは、装置内ヘッダ301のフレーム受信ポート種別701を参照し、リンクアグリゲーションを構成していない物理ポート110で受信したかを判定する(図8:S212)。
装置内フレームのフレーム受信ポート種別701はリンクアグリゲーションであるため、次に、フレーム中継装置100cは、装置内ヘッダ301のフレーム受信ポート識別子312を参照して、当該リンクアグリゲーションを構成する物理ポート110が自己の装置に存在するかを判定する(図8:S215)。その結果、装置内ヘッダ301のフレーム受信ポート識別子はLA1であり、LAテーブル160cにてLA識別子800bがLA1であるエントリが存在しないと判定される。(図8:S205)。
第3のフレーム中継装置100’cは、装置内フレームの宛先MACアドレス302と、VLANタグ304に含まれるVLAN識別子と、を参照して、MACアドレステーブル158’cに該当するエントリが登録されているかを検索する(図9:S300、S301)。検索の結果、MACアドレステーブル158’cには該当するエントリが存在するため、装置内ヘッダ301のL2検索状況3 315cにMACアドレスの検索が実施済みであることを示す情報と、装置内ヘッダ301のL2検索結果314に該当ありであることを示す情報と、を格納し、検索に該当したエントリを参照して出力ポートを特定する(図9:S302、S303、S304)。第3のフレーム中継装置100’cは、特定された出力ポートがリングアグリゲーションを構成するポートであるかを判定する(図10:S400、S401)。判定の結果、通知された内容が出力ポートであり、リンクアグリゲーションの識別子であるため、フレーム中継装置100cは、LAテーブル160cを参照して、当該リンクアグリゲーションを構成する物理ポート110のうち、いずれから当該フレームを送信するかを求め、求められた結果が自己の物理ポート110であるかを判定する(図10:S407)。
フレーム中継装置100cは、LAテーブル160cのLA識別子800cが、出力ポートLA2と一致するエントリLA2を参照すると、当該フレームを送信する物理ポート110は、フレーム中継装置100’cのポートO4であり、自己の物理ポート110であるため、フレーム転送決定部154より受け取った装置内フレームを複製する(図10:S408)。
(図10:S404)。ここで、第3のフレーム中継装置100’cは特定されたされた出力ポートO4が物理ポート110であることから、装置内フレームから装置内ヘッダを除去し、フレームFをポートO4から送信する。
(図10:S404)。ここで、第3のフレーム中継装置100’cは特定されたされた出力ポートO4が物理ポート110であることから、装置内フレームから装置内ヘッダを除去し、フレームFをポートO4から送信する。
こうして、フレームFは、外部中継装置400bのポートE4に到達し、外部中継装置400bのポートI2を経由して外部装置200bのポートR2へと到達する。第3のフレーム中継システム100’cのフレーム転送処理部155の処理の続きは、実施例1と同様であるので省略する。
以上の説明から、第2実施例では、フレーム中継システム1000と、外部装置と、が接続する形態において、リンクアグリゲーションを介していても適切にフレームを送信し、MACアドレスの学習は適切なフレーム中継装置100’において実施されて、MACアドレステーブル158’を効率良く使用できる。
以上の説明から、第2実施例では、フレーム中継システム1000と、外部装置と、が接続する形態において、リンクアグリゲーションを介していても適切にフレームを送信し、MACアドレスの学習は適切なフレーム中継装置100’において実施されて、MACアドレステーブル158’を効率良く使用できる。
上述の実施例により、仮想的な1台のフレーム中継装置を構成する各フレーム中継装置のMACアドレス管理テーブルを効率的に使用し、例えば、VLANを理解し、MACアドレスを学習して適切な外部装置に向けてのみフレームを中継する動作や外部装置が当該フレーム中継装置と接続するインタフェースを移動した際にMACアドレステーブルの登録情報を更新する動作を説明した。
また、実施例によると、複数のフレーム中継装置を接続して仮想的に1台のフレーム中継装置として動作させた際に、当該仮想フレーム中継装置を構成する各フレーム中継装置が学習するMACアドレス情報を収集して各フレーム中継装置に設定する管理装置を設ける必要がない。
なお、実施例1と実施例2で異なるネットワーク構成、装置構成、テーブルの構成を説明したが、両者が混在する環境に適用してもよい。また、テーブルで管理される情報は、テーブルで管理しなくてもよい。エントリ毎にCAM等のアドレスでひもづけして対応付けを管理してもよい。また、MACアドレステーブル158がNULLの状態で、本実施例を適用してもよく、または、すでにエントリが登録されてから、本実施例を適用してもよい また、以下の態様にも本実施例は適用してもよい。
上記課題を解決するため、本発明は複数のフレーム中継装置が接続され、仮想的に1台のフレーム中継装置(以降、仮想フレーム中継装置)として動作するフレーム中継システムを提供する。本発明に係るフレーム中継システムにおいて、前記複数のフレーム中継装置のそれぞれは、仮想フレーム中継装置構成部と、前記仮想フレーム中継装置を構成するフレーム中継装置ではない装置と接続されるポートと、前記仮想フレーム中継装置を構成するフレーム中継装置と接続されるポートと、装置内ヘッダ付与・除去部を含む送受信処理部と、装置内ヘッダ解析部と、テーブル更新部と、フレーム転送決定部と、フレーム転送処理部と、を含むレイヤ2転送回路と、を備えている。以降に、上述した前記複数のフレーム中継装置のそれぞれが備える部位のうち、本発明の特徴となる機能について記載する。
仮想フレーム中継装置構成部は、複数のフレーム中継装置を接続して仮想的に1台のフレーム中継装置として動作させることを特徴とする。送受信処理部は、フレームをやり取りする機能と、装置内ヘッダ付与・除去部とを備え、装置内ヘッダ付与・除去部は、外部装置からフレームを受信した際に、フレームに、後述する装置内ヘッダを付与し、前記装置内ヘッダに含まれるフィールドにフレームを受信した際の情報を設定する機能と、外部装置に対してフレームを送信する際に、装置内ヘッダが付与されたフレーム(以降、装置内フレーム)から装置内ヘッダを除去する機能と、を備えている。ここで、前記装置内ヘッダ付与・除去部にて外部装置からフレームを受信した際に付与される装置内ヘッダについて記載する。装置内ヘッダには、前記仮想フレーム中継装置を構成する複数のフレーム中継装置のそれぞれの間で情報をやり取りする際に用いる情報を格納するフィールドが複数存在し、後述するテーブル更新部と、後述するフレーム転送決定部と、後述するフレーム転送処理部と、が前記フィールドの内容を参照し、必要に応じて前記フィールドの内容を変更する。レイヤ2転送回路に含まれる装置内ヘッダ解析部は、装置内フレームの装置内ヘッダの内容を解析し、その内容に従って後述するテーブル更新部と、後述するフレーム転送決定部と、後述するフレーム転送処理部と、に装置内フレームを渡すかを判定し、渡す必要がなければ装置内フレームを廃棄する機能を備えている。レイヤ2転送回路に含まれるテーブル更新部は、装置内フレームの送信元MACアドレスをキーに自己のMACアドレステーブルを検索して、検索結果に従ってMACアドレステーブルの登録情報を更新する機能と、自己のMACアドレステーブルに登録されたMACアドレスと同一のMACアドレスを送信元MACアドレスとするフレームを一定期間受信しなかった場合に、当該MACアドレスを自己のMACアドレステーブルから削除する機能と、を備えている。レイヤ2転送回路に含まれるフレーム転送決定部は、装置内フレームの宛先MACアドレスをキーに自己のMACアドレステーブルを検索して、検索結果に基づくフレーム転送動作を決定する機能を備えている。レイヤ2転送回路に含まれるフレーム転送処理部は、前記フレーム転送決定部によって決定されたフレーム転送動作に従って実際にフレーム転送処理を実施する機能を備えている。
上述のフレーム中継システムによれば、各フレーム中継装置は、外部装置からフレームを受信した場合に、自己のMACアドレステーブルに当該フレームの送信元MACアドレスの登録、および、削除すべきかを、管理する管理装置を設けずに判定し、当該フレームを受信したフレーム中継装置のみがMACアドレスを学習することができる。従って、フレーム中継システムを構成するフレーム中継装置の台数に比例して学習するMACアドレス数を増やすことができる。さらに、当該フレーム中継装置を構成するフレーム中継装置と接続された外部装置が、当該フレーム中継装置を構成する前記フレーム中継装置とは異なるフレーム中継装置に接続して通信をした場合において、短時間で当該フレーム中継システムを構成する各フレーム中継装置のMACアドレステーブルの登録情報が更新されるため、古いMACアドレステーブルの登録情報に従ってフレームを転送することによる誤転送から生じる通信断時間を短くすることができる。また、各フレーム中継装置は、外部装置から受信したフレームを転送する場合に、自己のMACアドレステーブルに当該フレームの宛先MACアドレスと同一のMACアドレスが登録されているかを判定することにより、単純なブロードキャスト転送ではなく、ユニキャスト転送で適切な外部装置にフレームを中継することができる。
E.変形例
上記各実施例では、3台のフレーム中継装置100、および、100’が相互に接続されているフレーム中継システムの例を示したが、フレーム中継装置100、および、100’の台数は、任意に変更することができる。また、フレーム中継装置100、および、100’の接続態様についても、フレーム中継装置100、および、100’の仮想フレーム中継装置内転送先テーブルの内容を変更することで、任意の接続態様とすることができる。例えば、4台のフレーム中継装置システム100、および、100’を直線状に接続しても良いし、環状に接続しても良いし、スター状に接続しても良い。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えても良い。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その主旨ならびに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
上述のフレーム中継システムによれば、各フレーム中継装置は、外部装置からフレームを受信した場合に、自己のMACアドレステーブルに当該フレームの送信元MACアドレスの登録、および、削除すべきかを、管理する管理装置を設けずに判定し、当該フレームを受信したフレーム中継装置のみがMACアドレスを学習することができる。従って、フレーム中継システムを構成するフレーム中継装置の台数に比例して学習するMACアドレス数を増やすことができる。さらに、当該フレーム中継装置を構成するフレーム中継装置と接続された外部装置が、当該フレーム中継装置を構成する前記フレーム中継装置とは異なるフレーム中継装置に接続して通信をした場合において、短時間で当該フレーム中継システムを構成する各フレーム中継装置のMACアドレステーブルの登録情報が更新されるため、古いMACアドレステーブルの登録情報に従ってフレームを転送することによる誤転送から生じる通信断時間を短くすることができる。また、各フレーム中継装置は、外部装置から受信したフレームを転送する場合に、自己のMACアドレステーブルに当該フレームの宛先MACアドレスと同一のMACアドレスが登録されているかを判定することにより、単純なブロードキャスト転送ではなく、ユニキャスト転送で適切な外部装置にフレームを中継することができる。
E.変形例
上記各実施例では、3台のフレーム中継装置100、および、100’が相互に接続されているフレーム中継システムの例を示したが、フレーム中継装置100、および、100’の台数は、任意に変更することができる。また、フレーム中継装置100、および、100’の接続態様についても、フレーム中継装置100、および、100’の仮想フレーム中継装置内転送先テーブルの内容を変更することで、任意の接続態様とすることができる。例えば、4台のフレーム中継装置システム100、および、100’を直線状に接続しても良いし、環状に接続しても良いし、スター状に接続しても良い。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えても良い。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その主旨ならびに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
100a〜100c…フレーム中継装置、110…物理ポート、120…スタックポート、130…送受信処理部、131…装置内ヘッダ付与・除去部、140…制御部、141…CPU、142…メモリ、143…制御プログラム、144…仮想フレーム中継装置構成部、145…装置識別子情報、150…レイヤ2転送回路、151…レイヤ2転送エンジン、152…装置内ヘッダ解析部、153…テーブル更新部、154…フレーム転送決定部、155…フレーム転送処理部、156…メモリ、157…仮想フレーム中継装置内転送先テーブル、158…MACアドレステーブル、159…VLANテーブル、160…LAテーブル、200…外部装置、400…外部中継装置、LA…リンクアグリゲーション
Claims (15)
- フレーム中継システムに含まれる第1のフレーム中継装置であって、
外部装置とのフレーム送受信を行う第1のポートと、
前記フレーム中継システムに含まれる第2のフレーム中継装置に接続される第2のポートと、
前記フレーム中継システムに含まれる第3のフレーム中継装置に接続される第3のポートと、
外部装置のアドレスに関する情報を前記第1のポートと対応付けて保持するメモリと、
第1の外部装置から第2の外部装置を宛先とするフレームを、第1のポート、第2のポート、第3のポートいずれかで受信した場合、前記フレームおける第1のフレーム中継装置における当該フレームの処理の履歴に従って、レイヤ2における所定の転送処理を決定し、
第2のフレーム中継装置及び第3のフレーム中継装置の少なくとも一方に、決定された転送処理により前記更新された処理の履歴を含むフレームを、前記第2のポートまたは第3のポートを介して転送する制御部と、を有する第1のフレーム中継装置。 - 請求項1記載の第1のフレーム中継装置であって、
前記制御部は、
決定された前記所定の転送処理に従って前記メモリを検索した結果、当該フレームの宛先となる第2の外部装置のアドレスが前記メモリに前記第1のポートと対応づけられていた場合、前記第1の外部装置から送信されたフレームを第1のポートを介して送信する、ことを特徴とする第1のフレーム中継装置。 - 請求項2記載の第1のフレーム中継装置であって、
前記制御部は、前記第1の外部装置から送信されたフレームを複製し、一方を前記更新された処理の履歴とともに前記第2のポートまたは第3のポートを介して転送し、
他方のフレームを、前記第1のフレーム中継装置、前記第2のフレーム中継装置あるいは第3のフレーム中継装置によって付与されたヘッダを削除し、前記第1のポートを介して送信する、ことを特徴とする第1のフレーム中継装置。 - 請求項1記載の第1のフレーム中継装置であって、
前記制御部は、決定された前記所定の転送処理に従って、前記メモリを参照し、当該フレームの宛先に関するアドレスを検索し、当該第1のフレーム中継装置で検索したことを示す検索履歴及び前記フレーム中継システムにおける検索結果に基づいて前記処理の履歴を更新し、前記更新された処理の履歴を含むフレームを、前記第2のポートまたは第3のポートを介して転送する、フレーム中継装置。 - 請求項1記載の第1のフレーム中継装置であって、
前記フレームには、前記フレーム中継システム以外から前記第1の外部装置からのフレームを受信した前記フレーム中継システムに含まれるいずれかのフレーム中継装置で、前記受信したフレーム中継装置の装置識別子と前記処理の履歴を含むヘッダが付与され、
前記制御部は、
前記装置識別子が第1のフレーム中継装置に対応する場合、かつ、決定された前記所定の転送処理に従って前記メモリを検索した結果、当該フレームの送信元となる第1の外部装置のアドレスが前記メモリに前記第1のポートと対応付けられていた場合は、前記対応付けを削除する、ことを特徴とする第1のフレーム中継装置。 - 請求項5記載の第1のフレーム中継装置であって、
前記第1のポートを用いて、他の前記フレーム中継装置と、前記フレーム中継システムの外部に対して、装置跨りのリングアグリゲーションを提供し、
前記第1のポートを介してフレームを受信した場合、前記第1のフレーム中継装置を特定する装置識別子と第1のポートの識別子と前記第1のポートがリングアグリゲーションを構成するポートであることを示す種別情報を含むヘッダを前記フレームに付与する、ことを特徴とする第1のフレーム中継装置。 - 請求項1記載の第1のフレーム中継装置であって、
決定された転送処理が、フラッディング処理である場合、
前記処理の履歴にフラッディング処理に関する情報を格納し、
前記フレームを複製し、
一方のフレームを、前記第2のポートまたは第3のポートを介して転送し、
他方のフレームを前記第1のポートを介してフラッディングを実行する、ことを特徴とする第1のフレーム中継装置。 - 請求項4記載の第1のフレーム中継装置であって、
前記フレームには、前記フレーム中継システム以外から前記第1の外部装置からのフレームを受信した前記フレーム中継システムに含まれるいずれかのフレーム中継装置で、前記受信したフレーム中継装置の装置識別子と前記処理の履歴を含むヘッダが付与され、
前記制御部は、前記処理の履歴を参照し、
前記検索履歴及び検索結果に基づいて転送処理をフラッディング処理と決定し、
フラッディング処理を実行し、
前記処理の履歴をフラッディングに関する情報を用いて更新し、前記フレームを前記第2のポートまたは第3のポートを介して転送する、ことを特徴とする第1のフレーム中継装置。 - 請求項1記載の第1のフレーム中継装置であって、
フレームに対する前記レイヤにおける所定の転送処理とは、フレームの宛先検索処理、フレームのフラッディング処理及びフレームの廃棄処理のうち少なくともいずれかである、ことを特徴とする第1のフレーム中継装置。 - 請求項1ないし9記載の第1のフレーム中継装置であって、
前記メモリには、外部装置のMACアドレスと第1のポートと複数の外部装置を含むグループとの対応付けを含むMACアドレステーブルを保持し、
前記制御部は、フレーム中継システムを構成する他のフレーム中継装置が保持するMACアドレステーブルに含まれるMACアドレスとは異なるMACアドレスを管理し、
第2のポートあるいは第3のポートのうち、所定のポートを介して、フレーム中継システムを構成する少なくとも一の他のフレーム中継装置にフレームを送信する、フレーム中継装置。 - 外部装置に対してフレームの送受信を行う複数のフレーム中継装置を有する、フレーム中継システムであって、
前記複数のフレーム中継装置のそれぞれは、
外部装置に接続される1つ以上の第1のポートと、
前記複数のフレーム中継装置以外の装置と接続される複数の第2のポートと、
フレーム送受信動作のための、前記フレーム中継装置が管理する複数のテーブルと、
前記複数のフレーム中継以外の装置からフレームを受信した際に、受信したフレームにヘッダを付与し、前記外部装置に対してフレームを送信する際に、前記ヘッダを除去する送受信処理部と、
前記ヘッダを持つフレームに基づき、前記フレーム中継装置が行う処理を決定するヘッダ解析部と、
前記ヘッダを持つフレームに基づき、前記フレーム中継装置の、自己が管理するテーブルの内容を更新するテーブル更新部と、
前記フレーム送受信処理部にて付与したヘッダを持つフレームと前記フレーム中継装置の自己が管理するテーブルとから前記フレームの転送先を決定し、前記フレームに付与されたヘッダの内容を更新するフレーム転送決定部と、
前記フレーム送受信処理部にて付与したヘッダを持つフレームの内容と、前記フレーム転送決定部にて決定した内容と、前記フレーム中継装置の、自己が管理するテーブルと、に基づき、前記フレームの転送処理を実施し、前記フレームに付与されたヘッダの内容を更新し、他のフレーム中継装置に前記第2のポートを介して送信するフレーム転送処理部と、
を備えるフレーム中継システム。 - 請求項11に記載のフレーム中継システムであって、
前記フレーム送受信処理部は、フレームを受信した際に、受信したフレームに、フレームを受信した前記フレーム中継装置の、前記フレーム中継システムを構成する前記フレーム中継装置の間で一意となる装置の識別子と、フレームを受信した前記フレーム中継装置の、前記第2のポートの識別子と、フレーム転送動作状況と、を格納するフィールドで構成されるヘッダを付与し、
前記フレーム送受信処理部は、ヘッダ付与の際に、前記ヘッダ内に、フレームを受信した前記フレーム中継装置の、前記フレーム中継システムを構成する前記フレーム中継装置の間で一意となる装置の識別子と、フレームを受信した前記フレーム中継装置の、前記第2のポートの識別子を格納する、フレーム中継システム。 - 請求項12に記載のフレーム中継システムであって、
前記ヘッダ解析部は、他の前記外部装置から受信したフレームに付与されたヘッダの内容を参照してフレーム転送動作状況を確認し、
前記フレームの廃棄、または、フレーム転送動作状況によって、テーブル更新部またはフレーム転送処理部のいずれかに、処理をさせる、
フレーム中継システム。 - 請求項12に記載のフレーム中継システムであって、
前記テーブル更新部は、前記フレーム中継システムを構成するフレーム中継装置以外の外部装置から受信したフレームに付与されたヘッダと、前記フレームとを参照して、前記フレームの送信元の装置が、前記フレーム中継装置に含まれるポートのいずれかと論理的、または、物理的に接続されているかを判定し、
前記フレームに含まれる送信元装置の識別子と、当該識別子を持つ装置宛にフレームを送信する場合のポートとを対応付ける、前記フレーム中継装置において自己が管理するテーブルの内容を判定結果に従って更新する、
フレーム中継システム。 - 請求項12に記載のフレーム中継システムであって、
前記フレーム転送決定部は、前記フレーム中継システムを構成するフレーム中継装置以外の装置から受信したフレームに含まれる宛先装置の識別子と、前記テーブルとを参照して、前記フレームの宛先に到達するために送信すべきポートを求め、
前記フレーム転送処理部は、前記フレーム送受信処理部において、前記フレーム中継システムを構成するフレーム中継装置以外の装置から受信したフレームに付与されたヘッダの内容と、前記フレーム転送決定部において求められたフレーム転送動作に従ってフレームを転送する処理と、前記ヘッダ解析部により要求された転送処理を行い、前記フレーム中継システムを構成するフレーム中継装置以外の装置から受信したフレームに付与されたヘッダに含まれるフレーム転送動作状況を更新する、
フレーム中継システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013178804A JP2015050495A (ja) | 2013-08-30 | 2013-08-30 | フレーム中継システム、および、フレーム中継装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013178804A JP2015050495A (ja) | 2013-08-30 | 2013-08-30 | フレーム中継システム、および、フレーム中継装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015050495A true JP2015050495A (ja) | 2015-03-16 |
Family
ID=52700196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013178804A Pending JP2015050495A (ja) | 2013-08-30 | 2013-08-30 | フレーム中継システム、および、フレーム中継装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015050495A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114467263A (zh) * | 2019-10-28 | 2022-05-10 | 住友电气工业株式会社 | 中继装置、车载通信系统、车辆及车载通信方法 |
-
2013
- 2013-08-30 JP JP2013178804A patent/JP2015050495A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114467263A (zh) * | 2019-10-28 | 2022-05-10 | 住友电气工业株式会社 | 中继装置、车载通信系统、车辆及车载通信方法 |
CN114467263B (zh) * | 2019-10-28 | 2023-08-29 | 住友电气工业株式会社 | 中继装置、车载通信系统、车辆及车载通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180324274A1 (en) | Information system, control apparatus, method of providing virtual network, and program | |
US8873563B2 (en) | Techniques for next-hop optimization | |
US9461841B2 (en) | Communication system, communication method, node, and program for node | |
US7860028B2 (en) | Flexible ethernet bridge | |
JP4458289B2 (ja) | クラスタシステム、クラスタメンバ、故障復旧方法及びプログラム | |
JP5652565B2 (ja) | 情報システム、制御装置、通信方法およびプログラム | |
JPWO2007094520A1 (ja) | ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム | |
RU2558624C2 (ru) | Устройство управления, система связи, способ связи и носитель записи, содержащий записанную на нем программу для связи | |
JP2003218901A (ja) | フレーム中継システム、フレーム中継装置、中継装置およびネットワーク | |
US8218446B2 (en) | Frame transfer route confirmation method, node, frame transfer route confirmation program and frame transfer route confirmation system | |
WO2021082812A1 (zh) | 报文的发送方法和第一网络设备 | |
WO2017113929A1 (zh) | 一种软件定义网络中控制转发设备集群的方法及控制器 | |
US20110110369A1 (en) | Relay device | |
JP3685918B2 (ja) | 中継装置、ネットワーク中継システムおよび中継方法 | |
CN108400922B (zh) | 虚拟局域网络配置系统与方法及其计算机可读存储介质 | |
TWI676378B (zh) | 網路自動鏈結備援方法與網路系統 | |
WO2022062568A1 (zh) | 一种交换机的配置方法及相关设备 | |
JP6191703B2 (ja) | 通信制御システム、通信制御方法および通信制御プログラム | |
WO2016106742A1 (zh) | Openflow网络跨传统IP网络的拓扑学习方法和装置 | |
US10250527B2 (en) | Port extender ID assignment in an extended bridge | |
US20150381775A1 (en) | Communication system, communication method, control apparatus, control apparatus control method, and program | |
JP2015050495A (ja) | フレーム中継システム、および、フレーム中継装置 | |
CN104885417A (zh) | 控制装置、通信系统、通信节点控制方法以及程序 | |
CN102045228B (zh) | 一种环网保护信息的发现方法及系统 | |
JP6566124B2 (ja) | 通信システム、フロー制御装置、フロー処理装置及び制御方法 |