JP2004193821A - ブリッジ装置およびブリッジ装置のアドレス学習方法 - Google Patents
ブリッジ装置およびブリッジ装置のアドレス学習方法 Download PDFInfo
- Publication number
- JP2004193821A JP2004193821A JP2002357465A JP2002357465A JP2004193821A JP 2004193821 A JP2004193821 A JP 2004193821A JP 2002357465 A JP2002357465 A JP 2002357465A JP 2002357465 A JP2002357465 A JP 2002357465A JP 2004193821 A JP2004193821 A JP 2004193821A
- Authority
- JP
- Japan
- Prior art keywords
- address
- line card
- destination
- frame
- destination address
- 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.)
- Withdrawn
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
【課題】宛先アドレスに対応する宛先情報を各ラインカードにおいて効率よく学習することができるようにする。
【解決手段】フレームが入力されたMACブリッジ112は、宛先アドレスがMACテーブル113にないことがわかるとフレームをフラッディングする。このときCPU111は、他のラインカード120,130,140のCPU121,131,141に対して、当該MACアドレスをすでに学習していないか問い合わせる。該当エントリを検出したMACテーブル123から検出したCPU121は、MACテーブル123から、エントリされている情報を抽出し、CPU111に対して応答する。ラインカード110のCPU111は、ラインカード120のCPU121からの応答をもとに、当該MACアドレスとその宛先をMACテーブル113に登録する。
【選択図】 図1
【解決手段】フレームが入力されたMACブリッジ112は、宛先アドレスがMACテーブル113にないことがわかるとフレームをフラッディングする。このときCPU111は、他のラインカード120,130,140のCPU121,131,141に対して、当該MACアドレスをすでに学習していないか問い合わせる。該当エントリを検出したMACテーブル123から検出したCPU121は、MACテーブル123から、エントリされている情報を抽出し、CPU111に対して応答する。ラインカード110のCPU111は、ラインカード120のCPU121からの応答をもとに、当該MACアドレスとその宛先をMACテーブル113に登録する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明はフレーム転送を行うブリッジ装置およびそのブリッジ装置のアドレス学習方法に関し、特にアドレス学習の効率化が図られたブリッジ装置およびそのブリッジ装置のアドレス学習方法に関する。
【0002】
【従来の技術】
ネットワークのセグメント同士を接続する装置に、MAC(Media Access Control)ブリッジ装置がある。MACブリッジ装置は、イーサネット(登録商標)等のネットワークに接続される複数の物理ポートを有しており、各物理ポートに入力されるフレームを、宛先に応じた他の物理ポートから送出する。
【0003】
フレームの宛先は、フレーム内に設定されているMACアドレス(宛先アドレス)を参照して判断される。また、転送される各フレームの送信元アドレスを参照することで、各物理ポートに接続されたネットワーク配下の端末装置のMACアドレスを学習する。
【0004】
MACブリッジ装置は、学習結果を保存するために、MACアドレスと、そのMACアドレス宛のフレームを出力すべき接続ポートの識別番号(ポート番号)との対応関係を登録するMACテーブルを有している。接続ポートの番号には、物理ポートの番号が直接示される場合と、論理ポートの番号が示される場合がある。論理ポートの番号が示された場合、別のデータテーブルによって、その論理ポートに対応する物理ポートの番号が定義される。これにより、論理ポートの番号に基づいて、フレームを出力すべき物理ポートを一意に特定することができる。
【0005】
MACブリッジ装置は、各MACアドレス宛のフレームを送出すべき物理ポートを学習すると、逐次、学習結果をMACテーブルに格納する。その後、フレームが入力されると、MACブリッジ装置はMACテーブルを参照し、入力されたフレームの宛先アドレスに対応するポート番号を検索する。そして、MACブリッジ装置は、検出されたポート番号の物理ポートからフレームを送出する。
【0006】
ところで、MACブリッジ装置には、複数のラインカードを実装可能なものがある。各ラインカードは、ネットワーク接続用の物理ポートを有している。そして、ラインカードは、自己の物理ポートおよび他のラインカードの物理ポートに接続されたネットワーク上の端末装置のMACアドレスを、MACテーブルを用いて管理する。
【0007】
このようなMACブリッジ装置の各ラインカードでは、フレームが入力されると、MACテーブルを参照して、どのラインカードのどの物理ポートに出力すべきかを判断する。そして、入力側のラインカードは、装置内ヘッダ情報(あるいはルーティングヘッダ)をフレームに付加して、ブリッジ装置内の他のラインカードに転送する。なお、MACテーブルに宛先のMACアドレスが登録されていないフレームが入力された場合、そのフレームは、宛先不明として全カードの全ポートにブロードキャストされる。これは、フラッディングと呼ばれる処理である。
【0008】
なお、入力側のラインカードで出力先の物理ポートまで特定しない場合もある。その場合、出力側のラインカードにおいてMACテーブルを参照し、出力ポートを決定する。また、ラインカードで行われるようなアドレス学習機能は、フィルタリング機能を有するルータにも利用されている(例えば、特許文献1参照)。
【0009】
MACブリッジ装置内に複数のラインカードが実装されるとき、それぞれのラインカードにおいて、アドレス学習が行われる。一般に、ラインカードにおける物理ポート配下の端末装置のアドレスの学習は、各ラインカード内のMACブリッジ回路が独自に行う。これにより、自己のラインカード内の物理ポート配下の端末装置のMACアドレスを宛先としたフレームが入力されたときには、正しく転送先ポートを解決することができる。
【0010】
ところが、他のラインカードの配下の端末装置のMACアドレスをいかに学習するかが問題となる。これができない限り、他カード宛のパケットを正しく転送することができない。
【0011】
そこで、たとえば、以下の2つのアドレス学習方法が考えられる。
図17は、従来の他のラインカードに接続された端末のアドレス学習方法の第1の例を示す図である。図17に示すMACブリッジ装置は、スイッチファブリック960を介して複数のラインカード940,950が接続されている。ラインカード940は、複数の物理ポート941〜944、MACブリッジ回路945、およびMACテーブル946を有している。同様に、ラインカード950は、複数の物理ポート951〜954、MACブリッジ回路955、およびMACテーブル956を有している。
【0012】
ここで、ラインカード940にフレーム91が入力され、ラインカード950から出力されるときのアドレス学習動作を説明する。ここで、フレーム91の送信元アドレス(SA)を「A」、宛先アドレス(DA)を「B」とする。アドレス学習方法の第1の例では、出力側のラインカード950においても、入力側のラインカード940と同様のアドレス学習を行う。
【0013】
図17に示すように、フレーム91が入力されると、ラインカード940のMACブリッジ回路945がMACテーブル946から、宛先アドレス(DA=B)に対応するエントリを検索する。そして、検出されたエントリで指定されたラインカード950へ、スイッチファブリック960を介してフレーム91を転送する。同時に、MACブリッジ回路945は、送信元アドレス(SA=A)がMACテーブル946に登録されていなければ、送信元アドレスに対して、自己のカード番号と物理ポート942のポート番号とを対応付けて、MACテーブル946に登録する。これにより、MACアドレス「A」の端末装置が接続された物理ポートが学習される。
【0014】
出力側のラインカード950のMACブリッジ955は、スイッチファブリック960から受け取ったフレーム91の送信元アドレスを、MACテーブル956と照合する。送信元アドレスのエントリがMACテーブル956内になければ、送信元アドレスに対し、入力側のラインカード940の物理ポート942の識別情報(カード番号とポート番号)を関連付けて、MACテーブル956に登録する。
【0015】
このように、「どのラインカードのどの物理ポートに入力されたか」(ソースポート情報)をMACテーブル956にもっていれば、宛先のMACアドレスが「A」のフレームが物理ポート951〜954に入力されたとき、宛先となる端末装置がどの物理ポートの配下にあるかが、MACテーブル956を参照することで認識できる。すなわち、次に、宛先アドレスを用いて宛先解決を試みたとき、転送先を見つけることが可能になる。
【0016】
図18は、従来の他のラインカードに接続された端末のアドレス学習方法の第2の例を示す図である。図18に示すMACブリッジ装置は、スイッチファブリック990を介して複数のラインカード970,980が接続されている。ラインカード970は、複数の物理ポート971〜974、MACブリッジ回路975、およびMACテーブル976を有している。同様に、ラインカード980は、複数の物理ポート981〜984、MACブリッジ回路985、およびMACテーブル986を有している。
【0017】
ここで、ラインカード970にフレーム92が入力され、ラインカード980から出力されるときのアドレス学習動作を説明する。アドレス学習方法の第2の例では、入力側のラインカード970で学習した情報を他のラインカード980に分配する。
【0018】
この方法では、出力側のMACブリッジ回路985では、フレーム転送時にMACテーブル986を参照しない。その代わりに、MACブリッジ回路985は、各入力側のラインカード970で学習したアドレスを受け取ったとき、そのアドレスをMACテーブル986に登録する。
【0019】
図18に示す入力側のラインカード970で新たに送信元アドレス「A」を学習したとすると、MACブリッジ回路975は、この情報を他のラインカード980に分配する。これより、他のラインカード980では「A」という端末が、ラインカード970の物理ポート972の配下にあることがわかる。そこで、ラインカード980のMACブリッジ回路985は、MACアドレス「A」のエントリをMACテーブル986に追加する。
【0020】
なお、ネットワーク経由で複数のブリッジ装置が接続される場合でも、ラインカード間のアドレス通知の様に、ブリッジ装置間でアドレス情報を交換する場合がある。たとえば、各ブリッジ装置が、自己のポートに直結されている端末装置(他のブリッジ装置を介さずに接続されている端末装置)のアドレスを他のブリッジ装置に通知する。この通知を受け取った他のブリッジ装置は、通知が入力されたポートに対応付けて学習されたアドレスから、通知で示されたアドレスを削除する(削除されていないアドレスが、直結された端末装置のアドレスとなる)。これにより、各ブリッジ装置では、自己のポートに直結された端末装置を認識することができる(例えば、特許文献2参照)。なお、この技術は、端末装置が直結されているか否かを判断するための技術である。
【0021】
【特許文献1】
特開平6−97965号公報
【特許文献2】
特開平11−27270号公報(段落「0010」等)
【0022】
【発明が解決しようとする課題】
しかし、上記の2つの方法では、いずれにしても、分散されたMACブリッジ間で正しくアドレス学習を行うためには、ワイヤースピードを犠牲にしたり、制御系CPUの負荷が重くなるなどの弊害があった。
【0023】
すなわち、第1の方法では、入力側のラインカードと出力側のラインカードとのそれぞれでアドレス学習を行う必要があり、そのたびにMACテーブルに登録されているかどうかの検索が必要になる。このため、10Gbpsなど高速ラインカードにおいては、しばしばMACテーブルのアクセス回数がボトルネックとなり、ワイヤースピードが達成できなくなるなどの弊害があった。これは宛先解決に1回、アドレス学習に入力側、出力側それぞれ1回ずつの計3回はMACテーブルにアクセスしなければならないためである。
【0024】
また、第2の方法では、新たなラインカードを挿入した場合に問題がある。たとえば、通常一定期間参照されていないエントリは、エージング処理により消去されるが、頻繁にアクセスがあるエントリはなかなかエージングされない。そのため、通信頻度の高い端末装置のMACアドレスのエントリは、MACテーブルから消去されず、新たに学習されることもない。その場合、新たに挿入されたカードはいつまでたっても、そのアドレスを学習することができない。学習できるのは、挿入された以降に学習されたアドレスのみであり、他のカードとの同期をとるには、テーブル内容をまるごとコピーするなどの手法を組み合わせる必要がある。その場合、MACテーブルが大きいほど転送情報量も多くなり、制御系のCPUや通信機能を圧迫するという問題もある。
【0025】
本発明はこのような点に鑑みてなされたものであり、宛先アドレスに対応する宛先情報を各ラインカードにおいて効率よく学習することができるブリッジ装置およびそのブリッジ装置のアドレス学習方法を提供することを目的とする。
【0026】
【課題を解決するための手段】
本発明では上記課題を解決するために、図1に示すようなフレーム転送を行うブリッジ装置が提供される。本発明に係るブリッジ装置は、複数のラインカード110,120,130,140を有する。ここで、フレームが入力されるラインカード110を第1のラインカード、宛先アドレスを学習済みのラインカード120を第2のラインカードとしたとき、それぞれ以下の機能を有する。
【0027】
第1のラインカード(ラインカード110)は、端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、端末装置のアドレスに対応付けて記憶している。そして、第1のラインカードは、自己の接続ポートからフレームが入力されると、フレームの宛先アドレスの記憶の有無を判断し、宛先アドレスを記憶していない場合、他のラインカード120,130,140に対して宛先アドレスに対応する宛先情報を問い合わせる。そして、第1のラインカードは、問い合わせに応答された宛先情報を宛先アドレスに対応付けて記憶する。
【0028】
第2のラインカード(ラインカード120)は、端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、端末装置のアドレスに対応付けて記憶している。そして、第2のラインカードは、第1のラインカードからの宛先アドレスの宛先情報の問い合わせを受け取ると、宛先アドレスの記憶の有無を判断し、宛先アドレスを記憶している場合、宛先アドレスに対応する宛先情報を第1のラインカードに送信する。
【0029】
このようなブリッジ装置によれば、第1のラインカードに入力されたフレームの宛先アドレスを第1のラインカードが記憶していない場合、他のラインカードに対して宛先情報の問い合わせが行われる。そして、その問い合わせに対して、宛先アドレスを記憶している第2のラインカードにより宛先情報が応答される。すると、第1のラインカードにおいて、宛先アドレスと宛先情報の組が記憶される。
【0030】
また、上記課題を解決するために、フレーム転送を行うブリッジ装置におけるアドレス学習方法において、複数のラインカードそれぞれにおいて、端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、前記端末装置のアドレスに対応付けて記憶し、第1のラインカードの接続ポートにフレームが入力されると、前記第1のラインカードにおいて、前記フレームの宛先アドレスを記憶しているか否かを判断し、前記第1のラインカードで前記宛先アドレスを記憶していない場合、他のラインカードに対して前記宛先アドレスに対応する宛先情報を問い合わせ、前記第1のラインカードからの前記宛先アドレスの宛先情報の問い合わせを受け取った第2のラインカードにおいて、前記宛先アドレスの記憶の有無を判断し、前記第2のラインカードが前記宛先アドレスを記憶している場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信し、前記第1のラインカードが、問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて記憶する、ことを特徴とするブリッジ装置のアドレス学習方法が提供される。
【0031】
このようなアドレス学習法によれば、第1のラインカードに入力されたフレームの宛先アドレスを第1のラインカードが記憶していない場合、他のラインカードに対して宛先情報の問い合わせが行われる。そして、その問い合わせに対して、宛先アドレスを記憶している第2のラインカードにより宛先情報が応答される。すると、第1のラインカードにおいて、宛先アドレスと宛先情報の組が記憶される。
【0032】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。なお、各ラインカードは、端末装置が接続された接続ポートを記憶することができるが、接続ポートとして、物理ポートの識別番号を記憶する場合と、論理ポートの識別番号(他のデータテーブルにより物理ポートに一意に関連付けられる)を記憶する場合とがある。以下の例では、接続ポートとして、物理ポートの識別番号を記憶する場合について説明する。
【0033】
図1は、実施の形態に適用される発明の概念図である。本発明に係るブリッジ装置100は、複数のラインカード110,120,130,140、スイッチファブリック150および制御用のバス160で構成される。各ラインカード110,120,130,140は、スイッチファブリック150を介して、互いにフレームの受け渡しを行う。また、各ラインカード110,120,130,140は、制御用のバス160で接続されており、バス160を介して任意の情報の受け渡しが可能である。なお、ラインカード110,120,130,140は、ブリッジ装置100の運用中であっても着脱可能である。
【0034】
ラインカード110は、CPU111、MACブリッジ回路112、MACテーブル113及び物理ポート114を有している。
CPU111は、MACブリッジ回路112とMACテーブル113とに接続されており、ラインカード110全体を制御する。また、CPU111は、バス160を介して、他のラインカード120,130,140のCPU121,131,141に接続されており、互いに情報の送受信を行う。たとえば、CPU11は、MACブリッジ回路112から宛先解決要求を受け取ると、宛先アドレスに対応する物理ポートを他のラインカードに問い合わせる。
【0035】
MACブリッジ回路112は、CPU111、MACテーブル113、物理ポート114およびスイッチファブリック150に接続されている。MACブリッジ回路112は、物理ポート114からフレームが入力されると、MACテーブル113を参照して、宛先アドレスに対応するラインカードの番号及びポート番号を含む装置内ヘッダ情報をフレームに付加して、スイッチファブリック150に渡す。なお、MACブリッジ回路112は、入力されたフレームの宛先アドレスに対応するエントリがMACテーブル113内になければ(ミスヒット)、そのフレームのフラッディングをするとともに、CPU111に対して宛先解決要求を出力する。
【0036】
また、MACブリッジ回路112は、スイッチファブリック150を介して、フレームを受け取ると、フレームに付加された装置内ヘッダ情報を参照して、出力先の物理ポート番号を決定する。そして、MACブリッジ回路112は、決定した物理ポートへフレームを送出する。なお、フラッディングによるフレームをスイッチファブリック150から受け取った場合、MACブリッジ回路112は、そのフレームを物理ポート114にフラッディングにより送出する。
【0037】
MACテーブル113は、MACアドレスに対応付けて、ラインカードの識別番号と物理ポートのポート番号とが登録されている。MACテーブル113を参照することで、MACアドレスに対応する端末が接続されたラインカードおよび物理ポートが判別できる。
【0038】
物理ポート114は、ネットワークに接続するための接続ポートである。物理ポート114には、ネットワークを介して多数の端末装置が接続される。
ラインカード110と同様に、ラインカード120は、CPU121、MACブリッジ回路122、MACテーブル123及び物理ポート124を有しており、ラインカード130は、CPU131、MACブリッジ回路132、MACテーブル133及び物理ポート134を有しており、ラインカード140は、CPU141、MACブリッジ回路142、MACテーブル143及び物理ポート144を有している。ラインカード120,130,140内の各要素は、ラインカード110内の同名の要素と同じ機能を有している。
【0039】
スイッチファブリック150は、各ラインカード110,120,130,140から渡されるフレームに付加された装置内ヘッダ情報を参照し、そのフレームを装置内ヘッダ情報で指定されているラインカードへ転送する。
【0040】
このようなブリッジ装置により、本発明が実現される。なお、本発明の要旨は以下の通りである。
まず、フレームの出力側でのフレーム転送時の学習はMACブリッジ回路のパフォーマンスに悪影響を及ぼすので行わないものとする。従って、フレームの入力側での学習が基本になる。この時、いかに学習した情報を他のラインカードに使えるかが問題となる。本発明では、MACテーブルのエントリに無い宛先アドレス(DA)を見つけたら、その宛先アドレスのエントリを有しているラインカードの有無をブロードキャストで問い合わせる。すると、自分が学習したMACアドレスに関する問い合わせを受け取ったラインカードがこれに回答する。これにより、入力側のラインカードにおいて学習した配下の端末装置のMACアドレスが、他のラインカードに伝えられる。
【0041】
この処理を図1を参照して説明すると、次のようになる。すなわち、図1に示した構成のブリッジ装置100に対して、宛先アドレスが未登録のフレームがラインカード110の物理ポート114から入力されたとき、以下のような処理が行われる。
【0042】
まず、MACブリッジ112が、入力されたフレームの宛先アドレスをもとにMACテーブル113を参照して、宛先情報(ラインカード番号とポート番号)を求める。MACブリッジ112は、アドレスがテーブルにない(ミスヒット)ことがわかると当該フレームをフラッディングする。
【0043】
このとき、同時にラインカード110付属のCPU111に対して、MACアドレスの宛先解決を要求する。すると、CPU111は、他のラインカード120,130,140のCPU121,131,141に対して、当該MACアドレスをすでに学習していないか問い合わせる。
【0044】
問い合わせを受けた各CPU121,131,141は、それぞれのラインカード120,130,140内のMACテーブル123,133,143を参照し、問い合わせを受けたMACアドレスのエントリの有無を判断する。図1の例では、MACテーブル123に、そのMACアドレスがエントリされているものとする。その場合、CPU121は、MACテーブル123から、エントリされている情報(MACアドレス、ラインカード番号、ポート番号)を抽出し、ラインカード110のCPU111に対して応答する。
【0045】
ラインカード110のCPU111は、ラインカード120のCPU121からの応答をもとに、当該MACアドレスとその宛先情報(ラインカード番号とポート番号)をMACテーブル113に登録する。
【0046】
このようにして、各ラインカード110,120,130,140は、他のラインカード配下の端末のアドレスを学習することができる。なお、自己の配下の端末のMACアドレスは、通常のアドレス学習と同様に、自己の物理ポートから入力されたフレームの送信元アドレスに基づいて学習する。
【0047】
すなわち、通常と同じく送信元アドレスに基づきに自分の配下の端末のMACアドレスを学習するとともに、宛先不明なMACアドレスは他のカードに教えてもらうことでMACテーブルを構築していく。これにより、新たに挿入したカードも、必要に応じて不明アドレスを問い合わせながらMACテーブルを構築できる。
【0048】
また、各ラインカード110,120,130,140のMACテーブル113,123,133,143には、実際にフレーム転送が発生したアドレスのみが格納されるため、他のラインカード間の通信で利用されたMACアドレスは記憶しない。これにより、MACテーブル113,123,133,143を効率よく使用することができる。
【0049】
さらに、他のラインカード配下のアドレスを学習するための一連の処理はすべてラインカード付属のCPU間通信で実現できる。そのため、装置全体を制御するCPUの処理負荷にならないという利点もある。
【0050】
なお、エージングはそれぞれ自分の配下のMACアドレスについてのみ行い、タイムアウトしたアドレスを他のカードに連絡することで実現する。
すなわち、MACテーブルの容量は有限であるため、MACテーブル内の古いエントリを削除する必要がある。古いエントリを削除する処理を、エージングという。複数のラインカードが実装されるブリッジ回路では、各ラインカード内のMACブリッジ回路が自分の配下の端末についてのみエージング(登録されてからの経過時間)を管理する。そして、各MACブリッジ回路は、エントリのタイムアウトが発生した場合(経過時間が所定時間に達した場合)には、そのエントリを削除する。このとき、他のラインカードに対してエージングによる削除を通知する。これにより、各入力側のMACブリッジが、その配下の端末のアドレスについてのみ学習・エージングの管理を行い、MACテーブルの更新結果を他のラインカードに通知することで、すべてのMACテーブルの同期が図れる。
【0051】
以下、本発明の実施の形態について詳細に説明する。なお、以下の実施の形態では、ラインカードをLIU(Line Interface Unit)と呼ぶこととする。
[第1の実施の形態]
図2は、本発明の実施の形態のシステム構成例を示す図である。ブリッジ装置200には、ブリッジ装置200の運用中に任意に着脱可能な複数のLIU210,220,230,240が実装されている。また、ブリッジ装置200には、スイッチファブリック250と装置制御CPU260とが内蔵されている。LIU210,220,230,240は、ブリッジ装置200内のスイッチファブリック250を介して互いに接続されている。装置制御CPU260は、LIU210,220,230,240やスイッチファブリック250に、制御用のバスで接続されており、ブリッジ装置200全体を制御する。
【0052】
なお、以下の説明では、MACアドレスを「xx−xx−xx−xx−xx−xx」(16進の12桁の数値)という形式で表記している。これは48ビットを8ビット(16進2桁)ごとに区切ってわかりすく表記する慣例に従っている。
【0053】
LIU210は、カード番号「1」のラインカードである。LIU210には、複数の物理ポート211a,211b,211c,・・・が設けられており、各物理ポート211a,211b,211c,・・・はネットワークに接続されている。各ネットワークには、端末装置が接続される。図2の例は、物理ポート211cの配下に端末装置310が接続されている。なお、端末装置310のMACアドレスは、「00−11−00−11−00−11」である。
【0054】
LIU220は、カード番号「2」のラインカードである。LIU220には、複数の物理ポート221a,221b,221c,・・・が設けられており、各物理ポート221a,221b,221c,・・・はネットワークに接続されている。各ネットワークには、端末装置が接続される。図2の例は、物理ポート221aの配下に端末装置320が接続されている。なお、端末装置320のMACアドレスは、「00−01−23−45−67−89」である。
【0055】
LIU230は、カード番号「3」のラインカードである。LIU230には、複数の物理ポート231a,231b,231c,・・・が設けられており、各物理ポート231a,231b,231c,・・・はネットワークに接続されている。各ネットワークには、端末装置が接続される。図2の例は、物理ポート231aの配下に端末装置330が接続されている。なお、端末装置330のMACアドレスは、「00−11−22−33−44−55」である。
【0056】
LIU240は、カード番号「4」のラインカードである。LIU240には、複数の物理ポート241a,241b,241c,・・・が設けられており、各物理ポート241a,241b,241c,・・・はネットワークに接続されている。各ネットワークには、端末装置が接続される。図2の例は、物理ポート241cの配下に端末装置340が接続されている。なお、端末装置340のMACアドレスは、「00−22−00−22−00−22」である。
【0057】
このようなシステム構成において、端末装置310,320,330,340間の通信が、ブリッジ装置200を介して行われる。すなわち、ブリッジ装置200の何れかの物理ポートにフレームが入力されるとブリッジ装置200においてスイッチングが行われ、宛先の端末装置が接続された物理ポートへフレームが送出される。
【0058】
次に、ブリッジ装置200の内部構成について説明する。
図3は、ブリッジ装置の内部構成を示すブロック図である。図3には、ブリッジ装置200に接続されたLIU210の構成を代表的に示している。
【0059】
LIU210は、複数の物理ポート211a〜211h、CPU212、通信処理部213、MACブリッジ回路214、およびMACテーブル215を有している。CPU212は、通信制御部213やブリッジ回路214に接続され、ラインカード210を制御している。
【0060】
CPU212は、予め設定されたプログラムに従って、問い合わせ部212a、テーブル更新部212b、エージング部212c,アドレス確認部212d、応答部212eの各機能を実行する。問い合わせ部212aは、不明アドレスの問い合わせを行う処理機能である。テーブル更新部212bは、MACテーブル215の更新処理を制御するための処理機能である。エージング部212cは、MACテーブル215内のエントリの期限管理をするための処理機能である。アドレス確認部212dは、宛先アドレスに対応する宛先情報の問い合わせに応じて、MACテーブル215内のアドレス検索を行うための処理機能である。応答部212eは、アドレス確認部212dの検索結果を応答するための処理機能である。
【0061】
通信処理部213は、CPU212と他のLIUとの間の情報通信を行う。
MACブリッジ回路214は、複数の物理ポート211a〜211hとスイッチファブリック250とに接続されており、物理ポート211a〜211hとスイッチファブリック250との間でフレームの転送を行う。そのために、MACブリッジ回路214は、CPUインタフェース214a、フレーム解析部214b、ヘッダ生成部214c、エントリ登録部214dおよびヘッダ変換部214eを有している。
【0062】
CPUインタフェース214aは、CPU212、MACテーブル215、フレーム解析部214b、およびヘッダ生成部214cに接続されており、CPU212と他の要素との間の通信を制御する。
【0063】
フレーム解析部214bは、物理ポート211a〜211h、MACテーブル215、ヘッダ生成部214c、およびエントリ登録部214dに接続されている。フレーム解析部214bは、物理ポート211a〜211hからフレームが入力されると、入力されたフレームから宛先アドレスと送信元アドレスとを抽出する。そして、フレーム解析部214bは、宛先アドレスを検索キーとしたMACテーブル215の検索を行う。また、フレーム解析部214bは、入力されたフレームをヘッダ生成部214cに渡す。
【0064】
ヘッダ生成部214cは、MACテーブル251、フレーム解析部214bおよびスイッチファブリック250に接続されている。ヘッダ生成部214cは、フレーム解析部214bによるMACテーブル215からの宛先アドレスの検索の結果を、MACテーブル215から受け取る。すると、ヘッダ生成部214cは、フレーム解析部214bから受け取ったフレームに対し、検索結果として取得した宛先のラインカード番号およびポート番号を含む装置内ヘッダ情報を付加し、スイッチファブリック250に渡す。なお、ヘッダ生成部214cは、MACテーブル215の検索の結果、宛先アドレスに対応するエントリが検出されなかった場合、フラッディングを指示する装置内ヘッダ情報をフレームに付加し、スイッチファブリック250に渡す。
【0065】
エントリ登録部214dは、MACテーブル215、CPUインタフェース214a、およびフレーム解析部214bとに接続されており、MACテーブル215へのアドレス学習結果のエントリの処理を行う。すなわち、エントリ登録部214dは、フレーム解析部214bが抽出した送信元アドレスを受け取り、その送信元アドレスを検索キーとしてMACテーブル215を検索する。そして、エントリ登録部214dは、送信元アドレスに対応するエントリがMACテーブル215から検出されなかったとき、送信元アドレス、フレームが入力された物理ポートのポート番号、およびLIU210のカード番号からなるエントリを、MACテーブル215に新規に登録する。
【0066】
ヘッダ変換部214eは、スイッチファブリック250から、装置内ヘッダ情報付きのフレームを受け取り、装置内ヘッダ情報で指定された物理ポートへ、装置内ヘッダ情報を削除したフレームを送出する。
【0067】
MACテーブル215は、MACアドレスに対応する端末装置が接続されたLIUおよび物理ポートが登録されたテーブル形式のデータベースである。
図4は、MACテーブルのデータ構造例を示す図である。MACテーブル215には、MACアドレス、宛先および学習の欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられ、エントリを構成している。
【0068】
MACアドレスの欄には、学習したMACアドレスが登録される。
宛先の欄には、MACアドレスに対応する端末装置が接続されたLIUおよび物理ポートを示す情報が登録される。宛先の欄は、カード番号の欄とポート番号の欄とに分けられている。カード番号の欄には、MACアドレスに対応する端末装置が接続されたLIUのカード番号が設定される。ポート番号の欄には、MACアドレスに対応する端末装置が接続された物理ポートのポート番号が設定される。
【0069】
学習の欄には、各エントリの状態を示す情報が設定される。学習の欄には、Vビット設定欄と、Hビット設定欄とが設けられている。Vビット設定欄には、対応するエントリが有効か否かを示すVビットが設定される。Vビットの値が1であればエントリは有効であり、Vビットの値が0であればエントリは無効である。Hビット設定欄には、対応するエントリに対して、所定期間内に検索がヒットしたか否かを示すHビットが設定される。Hビットの値が1であればヒットしたことを示し、Hビットの値が0であればヒットしていないことを示す。
【0070】
なお、図3、図4には、LIU210の構成を説明したが、他のLIU220,230,240も同様の内部構成である。
次に、以上のような構成のブリッジ装置におけるフレーム転送時の動作を説明する。
【0071】
まず、転送対象となるフレームのデータ構造について説明する。第1の実施の形態では、一般にイーサネット(登録商標)と呼ばれるネットワーク技術におけるデータリンク層でのフレーム転送について説明する。なお、広義にイーサネット(登録商標)と呼ばれる技術には、DIX仕様(Ethernet2)とIEEE802.3仕様との2種類がある。
【0072】
図5は、DIX仕様のフレームフォーマットを示す図である。DIX仕様のフレームフォーマット910は、Preable911、宛先アドレス(Destination Address)912、送信元アドレス(Source Address)913、タイプ(Ether Type)914、ペイロード(Payload)915、およびFCS(Frame Check Sequence)916の各フィールドで構成される。
【0073】
Preable911は、受信フレームに対し、ノードの受信機能が安定に同期を取るための信号で1と0の繰り返しである。宛先アドレス912は、宛先コンピュータのMACアドレスが格納されるフィールドである。送信元MACアドレス913は、送信元コンピュータのMACアドレスが格納されるフィールドである。タイプ914は、上位のネットワーク層のプロトコルを識別するための識別番号が格納されるフィールドである。ペイロード915は、イーサネットが運ぶデータが格納されるフィールドである。FCSデータ916は、データのエラーチェックを行うためのフィールドである。
【0074】
図6は、IEEE802.3仕様のフレームフォーマットを示す図である。IEEE802.3仕様のフレームフォーマット920は、Preable921、SFD(Start Frame Delimiter)922、宛先アドレス923、送信元アドレス924、長さ(Length)925、DSAP(Destination Service Access Point)926、SSAP(Source Service Access Point)927、制御(Ctrl)928、ペイロード(Payload)929、PAD930、およびFCS931の各フィールドで構成される。
【0075】
Preable921、宛先アドレス923、送信元アドレス924、長さ(Length)925、ペイロード(Payload)929、およびFCS931については、DIX仕様のフレームフォーマットにおける同名のフィールドと同じである。
【0076】
SFD922は、フレームの開始を示すフィールドであり、10101011というパターンが使用される。長さ925は、あとに続くデータ部の長さを設定するフィールドである。DSAP926は、送信先のネットワーク層のプロトコルを識別するためのフィールドである。SSAP927は、送信元のネットワーク層のプロトコルを識別するためのフィールドである。
【0077】
制御928は、データリンクレベルでコネクションの確立やフロー制御を行うためのフィールドである。PAD930は、フレームの最低サイズである64Byteに満たない場合、最低サイズを満たすようにデータを設定するためのフィールドである。
【0078】
このように、いずれの仕様においても、アドレス学習に必要なアドレス情報は共通である。
図5,図6に示したようなフレームがMACブリッジ装置200に入力されると、入力されたLIUにおいて、宛先アドレスに応じたLIUが判別される。そして、入力されたフレームが、スイッチファブリック250を経由して宛先アドレスに応じたLIUに転送される。
【0079】
図7は、MACブリッジ装置内のLIUにおける宛先解決動作を示す図である。図7の例は、LIU210の物理ポートにフレームが入力された場合の例である。
【0080】
LIU210のMACテーブル215には、MACアドレスに対応付けて、宛先のカード番号とポート番号とが登録されている。
LIU210の物理ポート(ポート番号「3」)からフレーム11が入力されると、MACブリッジ回路214がMACテーブル215を参照し、宛先アドレス(DA)に対応するカード番号とポート番号とを抽出する。そして、MACブリッジ回路214は、フレーム11に、宛先アドレスに対応するカード番号とポート番号とを含む装置内ヘッダ情報(RH)12を付加して、スイッチファブリック250に送信する。すると、スイッチファブリック250が装置内ヘッダ情報12を参照し、フレーム11を転送すべきカード番号を認識し、そのカード番号のLIUへ装置内ヘッダ情報12付きのフレーム11を渡す。
【0081】
図7の例では、入力されたフレームの宛先アドレス(DA)が「00−11−22−33−44−55」である。MACテーブル215には、MACアドレス「00−11−22−33−44−55」に対応付けて、カード番号「3」、ポート番号「2」が登録されている。したがって、MACブリッジ回路214は、フレーム11の宛先として、MACテーブル215からカード番号「3」、ポート番号「2」を取得する。MACブリッジ回路214は、カード番号「3」、ポート番号「2」を含む装置内ヘッダ情報12をフレーム11に付加して、スイッチファブリック250に送信する。
【0082】
このように、MACテーブル215に登録されているMACアドレスが宛先アドレスであれば、転送先のLIU及び物理ポートを一意に特定して、該当するLIUにフレームを転送することができる。
【0083】
ここで、各LIUは、自己の物理ポートからフレームが入力されたとき、送信元アドレスに基づいて、配下の端末装置(自己の物理ポートに接続されたネットワーク上の端末装置)に関するアドレス学習を行う。以下、配下の端末装置に関するアドレス学習動作について説明する。
【0084】
図8は、アドレス学習動作を示す図である。図8の例では送信元アドレス(SA)「00−11−00−11−00−11」のフレーム11が、ラインカード210の3番の物理ポート211cから入力されている。このフレーム11の送信元アドレスはMACテーブル215上に登録されていない。そこで、MACブリッジ回路214は、このフレーム11がやってきた物理ポート211cの情報を見て、自己のカード番号「1」と物理ポート211cのポート番号「1」を、MACアドレス「00−11−00−11−00−11」に対応付けて、MACテーブル215に登録する。このとき登録したエントリの学習の欄は、Vビット「1」、Hビット「1」とする。
【0085】
このように、送信元アドレスを見て、その端末がどのポートに接続されているのかを自動的に学習するのが、アドレス学習である。複数のラインカードが実装されるMACブリッジ装置では、ラインカード毎にアドレス学習が行われる。
【0086】
フレームが入力されたLIUにおいて、装置内ヘッダ情報として、カード番号とポート番号とを付与することにより、出力側のLIUでは、MACテーブルを参照せずにフレームを転送できる。
【0087】
図9は、複数のLIUを経由したフレーム転送状況を示す図である。図9の例では、LIU210の物理ポート211cに入力されたフレーム11が、LIU230の物理ポート231aから出力される。
【0088】
たとえば、物理ポート211cからパケット11が入力されると、MACブリッジ回路214により、フレーム11の宛先MACアドレスをもとにMACテーブル215が検索される。宛先MACアドレスが検出されれば、そのMACアドレスに対応するカード番号、ポート番号により、出力先のLIU230および物理ポート213aが決定される。そして、LIU230に対してフレーム11が転送される。
【0089】
なお、入力側のLIU210で出力する物理ポートまで特定しない場合もある。その場合、出力側のLIU230において、MACブリッジ回路234がMACテーブル235を参照して、出力する物理ポートを決定する。
【0090】
図9に示すMACブリッジ装置において、入力側のLIU210のMACテーブル215に、宛先アドレスが登録されていない場合、MACブリッジ回路214は、フラッディングを行う。すなわち、MACブリッジ回路214は、全てのLIUの全ポートにパケットをブロードキャストし、正しい宛先からの応答を待つ。その際、入力側のMACブリッジ回路214が宛先アドレス解決要求を出力することで、入力側のLIU210において、他のLIU配下の端末装置のMACアドレスを学習することができる。
【0091】
以下、宛先アドレス学習処理について詳細に説明する。
図10は、宛先アドレス学習処理を示す概念図である。図10の例は、LIU220配下の端末装置のMACアドレスを、LIU210で学習する場合の処理である。
【0092】
図10では、スイッチファブリック250を挟んで左側にLIU210の要素が示されており、右側にLIU220の要素が示されている。なお、図10には、宛先アドレス学習処理を説明するのに直接関係する要素のみが示されているLIU210の各要素の機能は、図3を参照して説明したとおりである。LIU220は、CPU222、通信処理部223、MACブリッジ回路224、およびMACテーブル225を有している。CPU222は、アドレス確認部222d、応答部222e、およびエージング部222cを有している。MACブリッジ回路224は、CPUインタフェース224a、フレーム解析部224b、ヘッダ生成部224c、エントリ登録部224d、およびヘッダ変換部224eを有している。これらの各要素は、LIU210内の同名の要素と同じ機能を有している。
【0093】
ここで、LIU210の物理ポート211cから宛先アドレス「00−01−23−45−67−89」のフレームが入力された場合について説明する。
物理ポート211cから入ってきたフレームが入力されると、MACブリッジ回路214のフレーム解析部214bでフレームの内容が解析される。フレーム解析部214bは、フレームから宛先アドレス(DA)を抜き出して、宛先アドレスを検索キーとしてMACテーブル215を検索する。この例では、宛先アドレスが「00−01−23−45−67−89」であるため、図13に示すMACテーブル215上に宛先アドレスは存在しない。そこで、ヘッダ生成部214cは、全ポートへフラッディングするような宛先ビットを含む装置内ヘッダ情報をフレームに付加し、スイッチファブリック250に渡す。
【0094】
同時に、CPUインタフェース214aは、MACテーブル215の検索の結果、該当するエントリが無いことを認識し、CPU212に対して宛先を解決するようインタラプト(宛先アドレス解決要求)をあげる。すると、CPU212の問い合わせ部212aは、指定されたアドレスのMACテーブルへの登録の有無を他のLIUのCPUに問い合わせる。具体的には、CPU212aが問い合わせメッセージを生成し、通信処理部213に渡す。問い合わせメッセージには、入力されたフレームの宛先アドレスが含まれる。通信処理部213は、内装置内のバスを介して、他のLIUのCPUに問い合わせメッセージを伝達する。
【0095】
LIU220では、LIU210からフラッディングされたフレームをブリッジ回路224のヘッダ変換部224eが受け取る。ヘッダ変換部224eは、フレームに付加された装置内ヘッダ情報により、フラッディング対象のフレームであることを認識し、LIU220の全ての物理ポートに対して、フレームを送出する。
【0096】
また、LIU220では、通信処理部223が、LIU210からの問い合わせメッセージを受け取り、CPU222に渡す。CPU222では、アドレス確認部222dがCPUインタフェース224aを介してMACテーブル225を参照し、問い合わせメッセージで指定された宛先アドレスを検索する。このとき、主信号による検索(フレーム転送のためのMACテーブル225の参照)の空き時間に、問い合わせに応じた検索を行うことで、主信号の転送能力低下を避けることができる。図10の例では、宛先アドレス「00−01−23−45−67−89」がMACテーブル225に登録されているため、そのMACアドレスに対応する宛先情報(カード番号「2」とポート番号「1」)が抽出される。CPUインタフェース224aは、抽出された宛先情報をCPU222に返す。
【0097】
CPU222では、応答部222eが宛先情報を受け取り、問い合わせメッセージを送ってきたCPU222に対して、宛先情報(当該アドレスがどのLIUのポート配下であるのかを示す)を含む応答メッセージを返す。
【0098】
LIU210の通信処理部213は、LIU220からの応答メッセージを受け取り、問い合わせを発行したCPU212に渡す。すると、CPU212のテーブル更新部212bは、CPUインタフェース214a経由でMACテーブル215にアクセスし、問い合わせたMACアドレスと、応答された宛先情報とを関連付けたエントリを、MACテーブル215に登録する。この登録処理は、主信号によるMACテーブル215へのアクセスが空いている時間に行う。
【0099】
以上のようにして、フレームの入力側のLIU210内のMACテーブル215にMACアドレス「00−01−23−45−67−89」のエントリが生成される。以降の同じ宛先へのフレームは、フラッディングせずに、特定のLIUの特定の物理ポートを宛先として転送される。
【0100】
ここで問い合わせ部212aとテーブル更新部212bとは、前者処理の結果、後者が起動されるものであるが、お互いに非同期で動作している。つまり、問い合わせ部212aは問い合わせメッセージを送信したら、処理は終了し、応答を待つことはしない。また、テーブル更新部212bも応答メッセージがどの問い合わせに対応するものなのかを意識することなく動作する。これにより、たとえば問い合わせに対して応答を待つためのタイマなどを使用する必要がなくなり、各プロセス間の同期や順序管理なども不要となり、CPU処理が簡素でロバスト(制御したい物の特性がある程度変化しても、安定に動作する事を保証する制御)になる。
【0101】
次にエージング動作を説明する(図10を参照)。
LIU210では、CPU212が一定周期でCPUインタフェース214aを介してMACテーブル215にアクセスし、全エントリのHビットをクリアする(Hビットを0にする)。その後、フレーム転送の際の送信元アドレスに応じたアドレス学習処理でヒットしたエントリのHビットは、エントリ登録部214dによって1が設定される。CPU212は、各エントリに関し、次の周期の再度アクセスした場合に依然としてHビットがクリアされたままだったら、これをエントリから消去する。具体的にはVビットをクリアする(Vビットを0にする)。
【0102】
アドレス学習処理における検索でヒットしたエントリには、Hビットが1にセットされる。そのため、アクセスがCPU212の巡回周期内に一度でもあれば、つねにHビットはセットされているはずである。したがって、Hビットがクリアされたままのエントリは、長い間アクセスがないものと判断され、Vビットがクリアされる。Vビットがクリアされたエントリは、削除可能となる。
【0103】
次に、CPU212は、エージング対象のエントリ(Vビットが0)をMACテーブル215から削除するとともに、通信処理部213を経由して他のすべてのCPU(CPU222等)に対して、「当該アドレスをエントリから消去せよ」という内容の消去要求メッセージを転送する。
【0104】
LIU220では、CPU212から送られた消去要求メッセージを通信処理部223が受け取り、CPU222に渡す。消去要求メッセージを受け取ったCPU222は、自己のMACテーブル225から、削除対象のMACアドレスに当該エントリの削除指示を、MACブリッジ回路224のCPUインタフェース224aに出力する。これらのアクセスは、主信号の転送が行われていない時間を用いて行われる。CPUインタフェース224aは、削除指示に従って、削除対象のMACアドレスをMACテーブル225から検索し、該当するエントリを消去する。
【0105】
以上により、各LIUで学習したアドレスのエージングを行うとおもに、他のカードにもエージングさせることで、装置全体の整合性が確保できる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。第2の実施の形態は、宛先アドレス解決要求を、装置内ヘッダ情報(またはRouting header)に含めて他のLIUに通知するものである。なお、ブリッジ装置の全体構成は、図2に示した第1の実施の形態の構成と同様である。
【0106】
図11は、第2の実施の形態におけるLIUの機能を示すブロック図である。LIU410は、物理ポート411a〜411h、CPU412、通信処理部413、MACブリッジ回路414、およびMACテーブル415を有している。CPU412は、テーブル更新部412b、エージング部412c、アドレス確認部412d、応答部412eを有している。MACブリッジ回路414は、CPUインタフェース414a、フレーム解析部414b、ヘッダ生成部414c、エントリ登録部414d、ヘッダ変換部414e、アドレス解決要求抽出部(Add drop)414fを有している。
【0107】
アドレス解決要求抽出部414f以外の要素は、図3に示した第1の実施の形態における同名の要素と基本的に同じ機能を有している。以下、第1の実施の形態と異なる機能について説明する。
【0108】
ヘッダ生成部414cは、フラッディングを行う際には、宛先アドレス解決要求を含む装置内ヘッダ情報を生成し、フレーム解析部414bから送られたフレームに付加する。そして、装置内ヘッダ情報が付加されたフレームをフラッディングにより送信する。
【0109】
図12は、宛先アドレス解決要求を含む装置転送フレームのデータ構造例を示す図である。装置内で転送される装置内転送フレーム50は、装置内ヘッダ情報51とイーサネット(登録商標)のフレーム52とで構成される。
【0110】
装置内ヘッダ情報51は、宛先カード番号、宛先ポート番号、COS(クラス・オブ・サービス)レベル、廃棄優先度、宛先解決要求ビット、及びエラーチェックコードが含まれる。宛先カード番号は、フレーム52の宛先アドレスに対応する端末装置が接続されたLIUのカード番号である。宛先ポート番号は、フレーム52の宛先アドレスに対応する端末装置が接続された物理ポートの番号である。COSレベルは、通信品質の保証や帯域確保などを実現する処理のために各フレームに設定される優先度である。廃棄優先度は、フレームの廃棄処理の優先度である。宛先解決要求ビットは、宛先アドレス解決要求を示すフラグである。宛先解析要求ビットに1が設定することで宛先アドレス解決要求が示される。エラーチェックコードは、装置内転送フレーム50が正しく転送されたことを確認するためのチェックコードである。
【0111】
フレーム52は、宛先アドレス(DA)、送信元アドレス(SA)、その他の情報(タイプ値、ペイロード等)を含んでいる。
図13は、第2の実施の形態における宛先アドレス学習処理を示す図である。図13の例は、LIU420配下の端末装置のMACアドレスを、LIU410で学習する場合の処理である。
【0112】
図13では、スイッチファブリック450を挟んで左側にLIU410の要素が示されており、右側にLIU420の要素が示されている。なお、図13には、宛先アドレス学習処理を説明するのに直接関係する要素のみが示されているLIU410の各要素の機能は、図12を参照して説明したとおりである。LIU420は、CPU422、通信処理部423、MACブリッジ回路424、およびMACテーブル425を有している。CPU422は、アドレス確認部422d、応答部422e、およびエージング部422cを有している。MACブリッジ回路424は、CPUインタフェース424a、フレーム解析部424b、ヘッダ生成部424c、エントリ登録部424d、ヘッダ変換部424e、およびアドレス解決要求抽出部424fを有している。これらの各要素は、LIU410内の同名の要素と同じ機能を有している。
【0113】
ここで、LIU410の物理ポート411cから宛先アドレス「00−01−23−45−67−89」のフレームが入力された場合について説明する。
物理ポート411cから入ってきたフレームが入力されると、MACブリッジ回路414のフレーム解析部414bでフレームの内容が解析される。フレーム解析部414bは、フレームから宛先アドレス(DA)を抜き出して、宛先アドレスを検索キーとしてMACテーブル415を検索する。この例では、宛先アドレスが「00−01−23−45−67−89」であるため、図13に示すMACテーブル415上に宛先アドレスは存在しない。検索の結果は、ヘッダ生成部414cに渡される。そこで、ヘッダ生成部414cは、全ポートへフラッディングするような宛先ビットと、宛先アドレス解決要求(宛先解決要求ビットに1を設定)とを含む装置内ヘッダ情報をフレームに付加し、スイッチファブリック450に渡す。
【0114】
LIU420では、LIU410からフラッディングされたフレームをブリッジ回路424のアドレス解決要求抽出部424fが受け取る。アドレス解決要求抽出部424fは、フレームに付加された装置内ヘッダ情報の宛先解決要求ビットの値を参照する。宛先解決要求ビットの値が1であれば、アドレス解決要求抽出部424fは、CPUインタフェース424aを介して宛先アドレス解決要求をCPU422に渡す。また、アドレス解決要求抽出部422fは、受け取ったフレームをヘッダ変換部424eに渡す。ヘッダ変換部424eは、フレームに付加された装置内ヘッダ情報により、フラッディング対象のフレームであることを認識し、LIU420の全ての物理ポートに対して、フレームを送出する。
【0115】
また、アドレス解決要求抽出部422fからの宛先アドレス解決要求を受け取ったCPU422では、アドレス確認部422dがCPUインタフェース424aを介してMACテーブル425を参照し、問い合わせメッセージで指定された宛先アドレスを検索する。このとき、主信号による検索(フレーム転送のためのMACテーブル425の参照)の空き時間に、問い合わせに応じた検索を行うことで、主信号の転送能力低下を避けることができる。図13の例では、宛先アドレス「00−01−23−45−67−89」がMACテーブル425に登録されているため、そのMACアドレスに対応する宛先情報(カード番号「2」とポート番号「1」)が抽出される。CPUインタフェース424aは、抽出された宛先情報をCPU422に返す。
【0116】
CPU422では、応答部422eが宛先情報を受け取り、問い合わせメッセージを送ってきたCPU422に対して、宛先情報(当該アドレスがどのLIUのポート配下であるのかを示す)を含む応答メッセージを返す。
【0117】
LIU410の通信処理部413は、LIU420からの応答メッセージを受け取り、問い合わせを発行したCPU412に渡す。すると、CPU412のテーブル更新部412bは、CPUインタフェース414a経由でMACテーブル415にアクセスし、問い合わせたMACアドレスと、応答された宛先情報とを関連付けたエントリを、MACテーブル415に登録する。この登録処理は、主信号によるMACテーブル415へのアクセスが空いている時間に行う。
【0118】
以上のようにして、フレームの入力側のLIU410内のMACテーブル415にMACアドレス「00−01−23−45−67−89」のエントリが生成される。以降の同じ宛先へのフレームは、フラッディングせずに、特定のLIUの特定の物理ポートを宛先として転送される。
【0119】
このように、装置内ヘッダ情報に重畳して宛先アドレスの解決要求を伝えることで、装置内のバスによる情報の転送量を削減することができる。
[アドレス学習状況の具体例]
以下、図14〜図16を用いて、第1および第2の実施の形態におけるアドレス学習状況の変化をステップ番号に沿って説明する。
【0120】
図14は、アドレス学習に関する状態遷移を示す第1の図である。以下の例では、全てのLIU210,220,230,240がアドレスを学習していない状態から、アドレスを学習する様子について説明する。また、端末装置310のMACアドレスを「A」、端末装置320のMACアドレスを「B」、端末装置330のMACアドレスを「C」、端末装置340のMACアドレスを「D」とする。
【0121】
[ステップS1]まず、端末装置310から、端末装置320宛のフレーム81が出力される。
[ステップS2]フレーム81は、ブリッジ装置200内のLIU210で受け取られる。このとき、LIU210は、宛先アドレス「B」を未学習である。そのため、フレーム81はフラッディングされ、他のLIU220,230,240それぞれから端末装置320,330,340宛てにフレーム81a,81b,81c(フレーム81と同じ内容のフレーム)が送信される。このとき、LIU210でMACアドレス「A」が学習される。これにより、MACアドレス「A」の端末装置310がLIU210の配下に接続されていることが認識される。
【0122】
また、LIU210は、宛先アドレス「B」の接続ポートを他のLIU220,230,240に問い合わせる。この時点では、MACアドレス「B」を学習済のLIUが存在しないため、問い合わせに対する応答は返されない。
【0123】
[ステップS3]その後、端末装置320から、端末装置310宛のフレーム82が出力される。
図15は、アドレス学習に関する状態遷移を示す第2の図である。
【0124】
[ステップS4]フレーム82は、ブリッジ装置200内のLIU220で受け取られる。このとき、LIU220は、宛先アドレス「A」を未学習である。そのため、フレーム82はフラッディングされ、他のLIU210,230,240それぞれから端末装置310,330,340宛てにフレーム82a,82b,82c(フレーム82と同じ内容のフレーム)が送信される。このとき、LIU220でMACアドレス「B」が学習される。これにより、MACアドレス「B」の端末装置320がLIU220の配下に接続されていることが認識される。
【0125】
また、LIU220は、宛先アドレス「A」の接続ポートを他のLIU210,230,240に問い合わせる。すると、LIU210から応答があり、LIU220においてMACアドレス「A」が学習される。
【0126】
[ステップS5]再度、端末装置310から、端末装置320宛のフレーム83が出力される。
[ステップS6]フレーム83は、ブリッジ装置200内のLIU210で受け取られる。このとき、LIU210は、宛先アドレス「B」を未学習である。そのため、フレーム83はフラッディングされ、他のLIU220,230,240それぞれから端末装置320,330,340宛てにフレーム83a,83b,83c(フレーム83と同じ内容のフレーム)が送信される。
【0127】
また、LIU210は、宛先アドレス「B」の接続ポートを他のLIU220,230,240に問い合わせる。すると、LIU220から応答があり、LIU220においてMACアドレス「B」が学習される。
【0128】
図16は、アドレス学習に関する状態遷移を示す第3の図である。
[ステップS7]端末装置310から、端末装置320宛のフレーム84が出力される。
【0129】
[ステップS8]フレーム84は、ブリッジ装置200内のLIU210で受け取られる。このとき、LIU210は、宛先アドレス「B」を学習済である。そのため、フレーム84はLIU220に転送され、LIU220から端末装置320宛てにフレーム84が送信される。
【0130】
このように、入力側のLIUにおいて宛先アドレスが未学習の場合、他のLIUから宛先アドレスの学習結果を取得することにより、入力側のLIUにおいて宛先アドレスを学習することができる。その結果、フレーム転送時の出力側のLIUにおいてアドレス学習処理を行わずにすむ。したがって、ワイヤースピードを損なわずにフレームを転送できる。
【0131】
また、ブリッジ装置200に対してLIUの追加実装した場合、追加されたLIUは、自己の物理ポートに入力されたフレームの宛先アドレスを随時他のLIUに問い合わせることで、他のLIU配下のアドレスを学習できる。
【0132】
(付記1) フレーム転送を行うブリッジ装置において、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、前記端末装置のアドレスに対応付けて記憶しており、自己の接続ポートからフレームが入力されると、前記フレームの宛先アドレスの記憶の有無を判断し、前記宛先アドレスを記憶していない場合、他のラインカードに対して前記宛先アドレスに対応する宛先情報を問い合わせ、問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて記憶する第1のラインカードと、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、前記端末装置のアドレスに対応付けて記憶しており、前記第1のラインカードからの前記宛先アドレスの宛先情報の問い合わせを受け取ると、前記宛先アドレスの記憶の有無を判断し、前記宛先アドレスを記憶している場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信する第2のラインカードと、
を有することを特徴とするブリッジ装置。
【0133】
(付記2) 前記第1のラインカードは、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録された第1のテーブルと、
接続ポートからフレームが入力されると、前記フレームの宛先アドレスが前記第1のテーブルに登録されているか否かを判断するブリッジ回路と、
前記ブリッジ回路で前記宛先アドレスが前記第1のテーブルに登録さていないと判断された場合、他のラインカードに対して前記宛先アドレスの宛先情報を問い合わせ、応答された宛先情報を前記宛先アドレスに対応付けて前記テーブルに格納する第1のCPUと、を有し、
前記第2のラインカードは、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録された第2のテーブルと、
前記第1のラインカードから前記宛先アドレスの宛先情報の問い合わせを受け取ると、前記宛先アドレスが前記第2のテーブルに登録されているか否かを判断し、前記宛先アドレスが登録されている場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信する第2のCPUと、を有することを特徴とする付記1記載のブリッジ装置。
【0134】
(付記3) 前記第1のCPUと前記第2のCPUとを接続する制御用バスをさらに有し、
前記第1のCPUは、前記制御用バスを介して前記宛先アドレスの宛先情報の問い合わせを送信し、
前記第2のCPUは、前記制御用バスを介して前記宛先アドレスに対応する前記宛先情報を送信することを特徴とする付記2記載のブリッジ装置。
【0135】
(付記4) 前記第1のラインカードは、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録された第1のテーブルと、
自己の接続ポートからフレームが入力されると、前記フレームの宛先アドレスが前記第1のテーブルに登録されているか否かを判断し、前記宛先アドレスが前記第1のテーブルに登録さていないと判断された場合、前記宛先アドレスの宛先情報の問い合わせを前記フレームに付加し、前記フレームを他のラインカードにフラッディングする第1のブリッジ回路と、
前記問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて前記テーブルに格納する第1のCPUと、を有し、
前記第2のラインカードは、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録された第2のテーブルと、
フラッディングされた前記フレームから、前記宛先アドレスの宛先情報の問い合わせを検出する第2のブリッジ回路と、
前記第2のブリッジ回路で宛先情報の問い合わせが検出されると、前記宛先アドレスが前記第2のテーブルに登録されているか否かを判断し、前記宛先アドレスが前記第2のテーブルに登録さている場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信するCPUと、を有することを特徴とするブリッジ装置。
【0136】
(付記5) 前記第1のCPUと前記第2のCPUとを接続する制御用バスをさらに有し、
前記第2のCPUは、前記制御用バスを介して前記宛先アドレスに対応する前記宛先情報を送信することを特徴とする付記4記載のブリッジ装置。
【0137】
(付記6) 前記宛先情報は、前記端末装置が接続されたラインカードを示すカード番号と、前記端末装置が接続された接続ポートを示すポート番号とを含むことを特徴とする付記1記載のブリッジ装置。
【0138】
(付記7) 前記第1の及び第2のラインカードは、フレームの入出力が所定期間行われていないアドレスの記憶を消去し、消去したアドレスを他のラインカードに通知することを特徴とする付記1記載のブリッジ装置。
【0139】
(付記8) ブリッジ装置に実装して使用するラインカードにおいて、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録されたテーブルと、
接続ポートからフレームが入力されると、前記フレームの宛先アドレスが前記テーブルに登録されているか否かを判断するブリッジ回路と、
前記ブリッジ回路で前記宛先アドレスが前記テーブルに登録さていないと判断された場合、他のラインカードに対して前記宛先アドレスの宛先情報を問い合わせ、応答された宛先情報を前記宛先アドレスに対応付けて前記テーブルに格納するCPUと、
を有することを特徴とするラインカード。
【0140】
(付記9) ブリッジ装置に実装して使用するラインカードにおいて、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録されたテーブルと、
他のラインカードから宛先アドレスの宛先情報の問い合わせを受け取ると、前記宛先アドレスが前記テーブルに登録されているか否かを判断し、前記宛先アドレスが登録されている場合、前記宛先アドレスに対応する宛先情報を前記他のラインカードに送信するCPUと、
を有することを特徴とするラインカード。
【0141】
(付記10) ブリッジ装置に実装して使用するラインカードにおいて、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録されたテーブルと、
自己の接続ポートからフレームが入力されると、前記フレームの宛先アドレスが前記テーブルに登録されているか否かを判断し、前記宛先アドレスが前記テーブルに登録さていないと判断された場合、前記宛先アドレスの宛先情報の問い合わせを前記フレームに付加し、前記フレームを他のラインカードにフラッディングするブリッジ回路と、
前記問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて前記テーブルに格納するCPUと、
を有することを特徴とするラインカード。
【0142】
(付記11) ブリッジ装置に実装して使用するラインカードにおいて、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録されたテーブルと、
フラッディングされたフレームから、前記フレームの宛先アドレスの宛先情報の問い合わせを検出するブリッジ回路と、
前記ブリッジ回路で宛先情報の問い合わせが検出されると、前記宛先アドレスが前記テーブルに登録されているか否かを判断し、前記宛先アドレスが前記テーブルに登録さている場合、前記宛先アドレスに対応する宛先情報を前記フレームの送信元である他のラインカードに送信するCPUと、
を有することを特徴とするラインカード。
【0143】
(付記12) フレーム転送を行うブリッジ装置におけるアドレス学習方法において、
複数のラインカードそれぞれにおいて、端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、前記端末装置のアドレスに対応付けて記憶し、
第1のラインカードの接続ポートにフレームが入力されると、前記第1のラインカードにおいて、前記フレームの宛先アドレスを記憶しているか否かを判断し、
前記第1のラインカードで前記宛先アドレスを記憶していない場合、他のラインカードに対して前記宛先アドレスに対応する宛先情報を問い合わせ、
前記第1のラインカードからの前記宛先アドレスの宛先情報の問い合わせを受け取った第2のラインカードにおいて、前記宛先アドレスの記憶の有無を判断し、
前記第2のラインカードが前記宛先アドレスを記憶している場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信し、
前記第1のラインカードが、問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて記憶する、
ことを特徴とするブリッジ装置のアドレス学習方法。
【0144】
【発明の効果】
以上説明したように本発明では、第1のラインカードにおいて宛先アドレスを記憶していない場合、他のラインカードに対して宛先アドレスの接続情報を問い合わせ、宛先アドレスを記憶している第2のラインカードが接続情報を第1のラインカードに送信するようにしたため、フレーム入力側のラインカードにおいて宛先アドレスの接続情報を効率よく取得することができる。
【図面の簡単な説明】
【図1】実施の形態に適用される発明の概念図である。
【図2】本発明の実施の形態のシステム構成例を示す図である。
【図3】ブリッジ装置の内部構成を示すブロック図である。
【図4】MACテーブルのデータ構造例を示す図である。
【図5】DIX仕様のフレームフォーマットを示す図である。
【図6】IEEE802.3仕様のフレームフォーマットを示す図である。
【図7】MACブリッジ装置内のLIUにおける宛先解決動作を示す図である。
【図8】アドレス学習動作を示す図である。
【図9】複数のLIUを経由したフレーム転送状況を示す図である。
【図10】宛先アドレス学習処理を示す概念図である。
【図11】第2の実施の形態におけるLIUの機能を示すブロック図である。
【図12】宛先アドレス解決要求を含む装置転送フレームのデータ構造例を示す図である。
【図13】第2の実施の形態における宛先アドレス学習処理を示す図である。
【図14】アドレス学習に関する状態遷移を示す第1の図である。
【図15】アドレス学習に関する状態遷移を示す第2の図である。
【図16】アドレス学習に関する状態遷移を示す第3の図である。
【図17】従来の他のラインカードに接続された端末のアドレス学習方法の第1の例を示す図である。
【図18】従来の他のラインカードに接続された端末のアドレス学習方法の第2の例を示す図である。
【符号の説明】
110,120,130,140 ラインカード
111,121,131,141 CPU
112,122,132,142 MACブリッジ
113,123,133,143 MACテーブル
150 スイッチファブリック
160 バス
200 ブリッジ装置
210,220,230,240 LIU
250 スイッチファブリック
310,320,330,340 端末装置
【発明の属する技術分野】
本発明はフレーム転送を行うブリッジ装置およびそのブリッジ装置のアドレス学習方法に関し、特にアドレス学習の効率化が図られたブリッジ装置およびそのブリッジ装置のアドレス学習方法に関する。
【0002】
【従来の技術】
ネットワークのセグメント同士を接続する装置に、MAC(Media Access Control)ブリッジ装置がある。MACブリッジ装置は、イーサネット(登録商標)等のネットワークに接続される複数の物理ポートを有しており、各物理ポートに入力されるフレームを、宛先に応じた他の物理ポートから送出する。
【0003】
フレームの宛先は、フレーム内に設定されているMACアドレス(宛先アドレス)を参照して判断される。また、転送される各フレームの送信元アドレスを参照することで、各物理ポートに接続されたネットワーク配下の端末装置のMACアドレスを学習する。
【0004】
MACブリッジ装置は、学習結果を保存するために、MACアドレスと、そのMACアドレス宛のフレームを出力すべき接続ポートの識別番号(ポート番号)との対応関係を登録するMACテーブルを有している。接続ポートの番号には、物理ポートの番号が直接示される場合と、論理ポートの番号が示される場合がある。論理ポートの番号が示された場合、別のデータテーブルによって、その論理ポートに対応する物理ポートの番号が定義される。これにより、論理ポートの番号に基づいて、フレームを出力すべき物理ポートを一意に特定することができる。
【0005】
MACブリッジ装置は、各MACアドレス宛のフレームを送出すべき物理ポートを学習すると、逐次、学習結果をMACテーブルに格納する。その後、フレームが入力されると、MACブリッジ装置はMACテーブルを参照し、入力されたフレームの宛先アドレスに対応するポート番号を検索する。そして、MACブリッジ装置は、検出されたポート番号の物理ポートからフレームを送出する。
【0006】
ところで、MACブリッジ装置には、複数のラインカードを実装可能なものがある。各ラインカードは、ネットワーク接続用の物理ポートを有している。そして、ラインカードは、自己の物理ポートおよび他のラインカードの物理ポートに接続されたネットワーク上の端末装置のMACアドレスを、MACテーブルを用いて管理する。
【0007】
このようなMACブリッジ装置の各ラインカードでは、フレームが入力されると、MACテーブルを参照して、どのラインカードのどの物理ポートに出力すべきかを判断する。そして、入力側のラインカードは、装置内ヘッダ情報(あるいはルーティングヘッダ)をフレームに付加して、ブリッジ装置内の他のラインカードに転送する。なお、MACテーブルに宛先のMACアドレスが登録されていないフレームが入力された場合、そのフレームは、宛先不明として全カードの全ポートにブロードキャストされる。これは、フラッディングと呼ばれる処理である。
【0008】
なお、入力側のラインカードで出力先の物理ポートまで特定しない場合もある。その場合、出力側のラインカードにおいてMACテーブルを参照し、出力ポートを決定する。また、ラインカードで行われるようなアドレス学習機能は、フィルタリング機能を有するルータにも利用されている(例えば、特許文献1参照)。
【0009】
MACブリッジ装置内に複数のラインカードが実装されるとき、それぞれのラインカードにおいて、アドレス学習が行われる。一般に、ラインカードにおける物理ポート配下の端末装置のアドレスの学習は、各ラインカード内のMACブリッジ回路が独自に行う。これにより、自己のラインカード内の物理ポート配下の端末装置のMACアドレスを宛先としたフレームが入力されたときには、正しく転送先ポートを解決することができる。
【0010】
ところが、他のラインカードの配下の端末装置のMACアドレスをいかに学習するかが問題となる。これができない限り、他カード宛のパケットを正しく転送することができない。
【0011】
そこで、たとえば、以下の2つのアドレス学習方法が考えられる。
図17は、従来の他のラインカードに接続された端末のアドレス学習方法の第1の例を示す図である。図17に示すMACブリッジ装置は、スイッチファブリック960を介して複数のラインカード940,950が接続されている。ラインカード940は、複数の物理ポート941〜944、MACブリッジ回路945、およびMACテーブル946を有している。同様に、ラインカード950は、複数の物理ポート951〜954、MACブリッジ回路955、およびMACテーブル956を有している。
【0012】
ここで、ラインカード940にフレーム91が入力され、ラインカード950から出力されるときのアドレス学習動作を説明する。ここで、フレーム91の送信元アドレス(SA)を「A」、宛先アドレス(DA)を「B」とする。アドレス学習方法の第1の例では、出力側のラインカード950においても、入力側のラインカード940と同様のアドレス学習を行う。
【0013】
図17に示すように、フレーム91が入力されると、ラインカード940のMACブリッジ回路945がMACテーブル946から、宛先アドレス(DA=B)に対応するエントリを検索する。そして、検出されたエントリで指定されたラインカード950へ、スイッチファブリック960を介してフレーム91を転送する。同時に、MACブリッジ回路945は、送信元アドレス(SA=A)がMACテーブル946に登録されていなければ、送信元アドレスに対して、自己のカード番号と物理ポート942のポート番号とを対応付けて、MACテーブル946に登録する。これにより、MACアドレス「A」の端末装置が接続された物理ポートが学習される。
【0014】
出力側のラインカード950のMACブリッジ955は、スイッチファブリック960から受け取ったフレーム91の送信元アドレスを、MACテーブル956と照合する。送信元アドレスのエントリがMACテーブル956内になければ、送信元アドレスに対し、入力側のラインカード940の物理ポート942の識別情報(カード番号とポート番号)を関連付けて、MACテーブル956に登録する。
【0015】
このように、「どのラインカードのどの物理ポートに入力されたか」(ソースポート情報)をMACテーブル956にもっていれば、宛先のMACアドレスが「A」のフレームが物理ポート951〜954に入力されたとき、宛先となる端末装置がどの物理ポートの配下にあるかが、MACテーブル956を参照することで認識できる。すなわち、次に、宛先アドレスを用いて宛先解決を試みたとき、転送先を見つけることが可能になる。
【0016】
図18は、従来の他のラインカードに接続された端末のアドレス学習方法の第2の例を示す図である。図18に示すMACブリッジ装置は、スイッチファブリック990を介して複数のラインカード970,980が接続されている。ラインカード970は、複数の物理ポート971〜974、MACブリッジ回路975、およびMACテーブル976を有している。同様に、ラインカード980は、複数の物理ポート981〜984、MACブリッジ回路985、およびMACテーブル986を有している。
【0017】
ここで、ラインカード970にフレーム92が入力され、ラインカード980から出力されるときのアドレス学習動作を説明する。アドレス学習方法の第2の例では、入力側のラインカード970で学習した情報を他のラインカード980に分配する。
【0018】
この方法では、出力側のMACブリッジ回路985では、フレーム転送時にMACテーブル986を参照しない。その代わりに、MACブリッジ回路985は、各入力側のラインカード970で学習したアドレスを受け取ったとき、そのアドレスをMACテーブル986に登録する。
【0019】
図18に示す入力側のラインカード970で新たに送信元アドレス「A」を学習したとすると、MACブリッジ回路975は、この情報を他のラインカード980に分配する。これより、他のラインカード980では「A」という端末が、ラインカード970の物理ポート972の配下にあることがわかる。そこで、ラインカード980のMACブリッジ回路985は、MACアドレス「A」のエントリをMACテーブル986に追加する。
【0020】
なお、ネットワーク経由で複数のブリッジ装置が接続される場合でも、ラインカード間のアドレス通知の様に、ブリッジ装置間でアドレス情報を交換する場合がある。たとえば、各ブリッジ装置が、自己のポートに直結されている端末装置(他のブリッジ装置を介さずに接続されている端末装置)のアドレスを他のブリッジ装置に通知する。この通知を受け取った他のブリッジ装置は、通知が入力されたポートに対応付けて学習されたアドレスから、通知で示されたアドレスを削除する(削除されていないアドレスが、直結された端末装置のアドレスとなる)。これにより、各ブリッジ装置では、自己のポートに直結された端末装置を認識することができる(例えば、特許文献2参照)。なお、この技術は、端末装置が直結されているか否かを判断するための技術である。
【0021】
【特許文献1】
特開平6−97965号公報
【特許文献2】
特開平11−27270号公報(段落「0010」等)
【0022】
【発明が解決しようとする課題】
しかし、上記の2つの方法では、いずれにしても、分散されたMACブリッジ間で正しくアドレス学習を行うためには、ワイヤースピードを犠牲にしたり、制御系CPUの負荷が重くなるなどの弊害があった。
【0023】
すなわち、第1の方法では、入力側のラインカードと出力側のラインカードとのそれぞれでアドレス学習を行う必要があり、そのたびにMACテーブルに登録されているかどうかの検索が必要になる。このため、10Gbpsなど高速ラインカードにおいては、しばしばMACテーブルのアクセス回数がボトルネックとなり、ワイヤースピードが達成できなくなるなどの弊害があった。これは宛先解決に1回、アドレス学習に入力側、出力側それぞれ1回ずつの計3回はMACテーブルにアクセスしなければならないためである。
【0024】
また、第2の方法では、新たなラインカードを挿入した場合に問題がある。たとえば、通常一定期間参照されていないエントリは、エージング処理により消去されるが、頻繁にアクセスがあるエントリはなかなかエージングされない。そのため、通信頻度の高い端末装置のMACアドレスのエントリは、MACテーブルから消去されず、新たに学習されることもない。その場合、新たに挿入されたカードはいつまでたっても、そのアドレスを学習することができない。学習できるのは、挿入された以降に学習されたアドレスのみであり、他のカードとの同期をとるには、テーブル内容をまるごとコピーするなどの手法を組み合わせる必要がある。その場合、MACテーブルが大きいほど転送情報量も多くなり、制御系のCPUや通信機能を圧迫するという問題もある。
【0025】
本発明はこのような点に鑑みてなされたものであり、宛先アドレスに対応する宛先情報を各ラインカードにおいて効率よく学習することができるブリッジ装置およびそのブリッジ装置のアドレス学習方法を提供することを目的とする。
【0026】
【課題を解決するための手段】
本発明では上記課題を解決するために、図1に示すようなフレーム転送を行うブリッジ装置が提供される。本発明に係るブリッジ装置は、複数のラインカード110,120,130,140を有する。ここで、フレームが入力されるラインカード110を第1のラインカード、宛先アドレスを学習済みのラインカード120を第2のラインカードとしたとき、それぞれ以下の機能を有する。
【0027】
第1のラインカード(ラインカード110)は、端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、端末装置のアドレスに対応付けて記憶している。そして、第1のラインカードは、自己の接続ポートからフレームが入力されると、フレームの宛先アドレスの記憶の有無を判断し、宛先アドレスを記憶していない場合、他のラインカード120,130,140に対して宛先アドレスに対応する宛先情報を問い合わせる。そして、第1のラインカードは、問い合わせに応答された宛先情報を宛先アドレスに対応付けて記憶する。
【0028】
第2のラインカード(ラインカード120)は、端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、端末装置のアドレスに対応付けて記憶している。そして、第2のラインカードは、第1のラインカードからの宛先アドレスの宛先情報の問い合わせを受け取ると、宛先アドレスの記憶の有無を判断し、宛先アドレスを記憶している場合、宛先アドレスに対応する宛先情報を第1のラインカードに送信する。
【0029】
このようなブリッジ装置によれば、第1のラインカードに入力されたフレームの宛先アドレスを第1のラインカードが記憶していない場合、他のラインカードに対して宛先情報の問い合わせが行われる。そして、その問い合わせに対して、宛先アドレスを記憶している第2のラインカードにより宛先情報が応答される。すると、第1のラインカードにおいて、宛先アドレスと宛先情報の組が記憶される。
【0030】
また、上記課題を解決するために、フレーム転送を行うブリッジ装置におけるアドレス学習方法において、複数のラインカードそれぞれにおいて、端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、前記端末装置のアドレスに対応付けて記憶し、第1のラインカードの接続ポートにフレームが入力されると、前記第1のラインカードにおいて、前記フレームの宛先アドレスを記憶しているか否かを判断し、前記第1のラインカードで前記宛先アドレスを記憶していない場合、他のラインカードに対して前記宛先アドレスに対応する宛先情報を問い合わせ、前記第1のラインカードからの前記宛先アドレスの宛先情報の問い合わせを受け取った第2のラインカードにおいて、前記宛先アドレスの記憶の有無を判断し、前記第2のラインカードが前記宛先アドレスを記憶している場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信し、前記第1のラインカードが、問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて記憶する、ことを特徴とするブリッジ装置のアドレス学習方法が提供される。
【0031】
このようなアドレス学習法によれば、第1のラインカードに入力されたフレームの宛先アドレスを第1のラインカードが記憶していない場合、他のラインカードに対して宛先情報の問い合わせが行われる。そして、その問い合わせに対して、宛先アドレスを記憶している第2のラインカードにより宛先情報が応答される。すると、第1のラインカードにおいて、宛先アドレスと宛先情報の組が記憶される。
【0032】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。なお、各ラインカードは、端末装置が接続された接続ポートを記憶することができるが、接続ポートとして、物理ポートの識別番号を記憶する場合と、論理ポートの識別番号(他のデータテーブルにより物理ポートに一意に関連付けられる)を記憶する場合とがある。以下の例では、接続ポートとして、物理ポートの識別番号を記憶する場合について説明する。
【0033】
図1は、実施の形態に適用される発明の概念図である。本発明に係るブリッジ装置100は、複数のラインカード110,120,130,140、スイッチファブリック150および制御用のバス160で構成される。各ラインカード110,120,130,140は、スイッチファブリック150を介して、互いにフレームの受け渡しを行う。また、各ラインカード110,120,130,140は、制御用のバス160で接続されており、バス160を介して任意の情報の受け渡しが可能である。なお、ラインカード110,120,130,140は、ブリッジ装置100の運用中であっても着脱可能である。
【0034】
ラインカード110は、CPU111、MACブリッジ回路112、MACテーブル113及び物理ポート114を有している。
CPU111は、MACブリッジ回路112とMACテーブル113とに接続されており、ラインカード110全体を制御する。また、CPU111は、バス160を介して、他のラインカード120,130,140のCPU121,131,141に接続されており、互いに情報の送受信を行う。たとえば、CPU11は、MACブリッジ回路112から宛先解決要求を受け取ると、宛先アドレスに対応する物理ポートを他のラインカードに問い合わせる。
【0035】
MACブリッジ回路112は、CPU111、MACテーブル113、物理ポート114およびスイッチファブリック150に接続されている。MACブリッジ回路112は、物理ポート114からフレームが入力されると、MACテーブル113を参照して、宛先アドレスに対応するラインカードの番号及びポート番号を含む装置内ヘッダ情報をフレームに付加して、スイッチファブリック150に渡す。なお、MACブリッジ回路112は、入力されたフレームの宛先アドレスに対応するエントリがMACテーブル113内になければ(ミスヒット)、そのフレームのフラッディングをするとともに、CPU111に対して宛先解決要求を出力する。
【0036】
また、MACブリッジ回路112は、スイッチファブリック150を介して、フレームを受け取ると、フレームに付加された装置内ヘッダ情報を参照して、出力先の物理ポート番号を決定する。そして、MACブリッジ回路112は、決定した物理ポートへフレームを送出する。なお、フラッディングによるフレームをスイッチファブリック150から受け取った場合、MACブリッジ回路112は、そのフレームを物理ポート114にフラッディングにより送出する。
【0037】
MACテーブル113は、MACアドレスに対応付けて、ラインカードの識別番号と物理ポートのポート番号とが登録されている。MACテーブル113を参照することで、MACアドレスに対応する端末が接続されたラインカードおよび物理ポートが判別できる。
【0038】
物理ポート114は、ネットワークに接続するための接続ポートである。物理ポート114には、ネットワークを介して多数の端末装置が接続される。
ラインカード110と同様に、ラインカード120は、CPU121、MACブリッジ回路122、MACテーブル123及び物理ポート124を有しており、ラインカード130は、CPU131、MACブリッジ回路132、MACテーブル133及び物理ポート134を有しており、ラインカード140は、CPU141、MACブリッジ回路142、MACテーブル143及び物理ポート144を有している。ラインカード120,130,140内の各要素は、ラインカード110内の同名の要素と同じ機能を有している。
【0039】
スイッチファブリック150は、各ラインカード110,120,130,140から渡されるフレームに付加された装置内ヘッダ情報を参照し、そのフレームを装置内ヘッダ情報で指定されているラインカードへ転送する。
【0040】
このようなブリッジ装置により、本発明が実現される。なお、本発明の要旨は以下の通りである。
まず、フレームの出力側でのフレーム転送時の学習はMACブリッジ回路のパフォーマンスに悪影響を及ぼすので行わないものとする。従って、フレームの入力側での学習が基本になる。この時、いかに学習した情報を他のラインカードに使えるかが問題となる。本発明では、MACテーブルのエントリに無い宛先アドレス(DA)を見つけたら、その宛先アドレスのエントリを有しているラインカードの有無をブロードキャストで問い合わせる。すると、自分が学習したMACアドレスに関する問い合わせを受け取ったラインカードがこれに回答する。これにより、入力側のラインカードにおいて学習した配下の端末装置のMACアドレスが、他のラインカードに伝えられる。
【0041】
この処理を図1を参照して説明すると、次のようになる。すなわち、図1に示した構成のブリッジ装置100に対して、宛先アドレスが未登録のフレームがラインカード110の物理ポート114から入力されたとき、以下のような処理が行われる。
【0042】
まず、MACブリッジ112が、入力されたフレームの宛先アドレスをもとにMACテーブル113を参照して、宛先情報(ラインカード番号とポート番号)を求める。MACブリッジ112は、アドレスがテーブルにない(ミスヒット)ことがわかると当該フレームをフラッディングする。
【0043】
このとき、同時にラインカード110付属のCPU111に対して、MACアドレスの宛先解決を要求する。すると、CPU111は、他のラインカード120,130,140のCPU121,131,141に対して、当該MACアドレスをすでに学習していないか問い合わせる。
【0044】
問い合わせを受けた各CPU121,131,141は、それぞれのラインカード120,130,140内のMACテーブル123,133,143を参照し、問い合わせを受けたMACアドレスのエントリの有無を判断する。図1の例では、MACテーブル123に、そのMACアドレスがエントリされているものとする。その場合、CPU121は、MACテーブル123から、エントリされている情報(MACアドレス、ラインカード番号、ポート番号)を抽出し、ラインカード110のCPU111に対して応答する。
【0045】
ラインカード110のCPU111は、ラインカード120のCPU121からの応答をもとに、当該MACアドレスとその宛先情報(ラインカード番号とポート番号)をMACテーブル113に登録する。
【0046】
このようにして、各ラインカード110,120,130,140は、他のラインカード配下の端末のアドレスを学習することができる。なお、自己の配下の端末のMACアドレスは、通常のアドレス学習と同様に、自己の物理ポートから入力されたフレームの送信元アドレスに基づいて学習する。
【0047】
すなわち、通常と同じく送信元アドレスに基づきに自分の配下の端末のMACアドレスを学習するとともに、宛先不明なMACアドレスは他のカードに教えてもらうことでMACテーブルを構築していく。これにより、新たに挿入したカードも、必要に応じて不明アドレスを問い合わせながらMACテーブルを構築できる。
【0048】
また、各ラインカード110,120,130,140のMACテーブル113,123,133,143には、実際にフレーム転送が発生したアドレスのみが格納されるため、他のラインカード間の通信で利用されたMACアドレスは記憶しない。これにより、MACテーブル113,123,133,143を効率よく使用することができる。
【0049】
さらに、他のラインカード配下のアドレスを学習するための一連の処理はすべてラインカード付属のCPU間通信で実現できる。そのため、装置全体を制御するCPUの処理負荷にならないという利点もある。
【0050】
なお、エージングはそれぞれ自分の配下のMACアドレスについてのみ行い、タイムアウトしたアドレスを他のカードに連絡することで実現する。
すなわち、MACテーブルの容量は有限であるため、MACテーブル内の古いエントリを削除する必要がある。古いエントリを削除する処理を、エージングという。複数のラインカードが実装されるブリッジ回路では、各ラインカード内のMACブリッジ回路が自分の配下の端末についてのみエージング(登録されてからの経過時間)を管理する。そして、各MACブリッジ回路は、エントリのタイムアウトが発生した場合(経過時間が所定時間に達した場合)には、そのエントリを削除する。このとき、他のラインカードに対してエージングによる削除を通知する。これにより、各入力側のMACブリッジが、その配下の端末のアドレスについてのみ学習・エージングの管理を行い、MACテーブルの更新結果を他のラインカードに通知することで、すべてのMACテーブルの同期が図れる。
【0051】
以下、本発明の実施の形態について詳細に説明する。なお、以下の実施の形態では、ラインカードをLIU(Line Interface Unit)と呼ぶこととする。
[第1の実施の形態]
図2は、本発明の実施の形態のシステム構成例を示す図である。ブリッジ装置200には、ブリッジ装置200の運用中に任意に着脱可能な複数のLIU210,220,230,240が実装されている。また、ブリッジ装置200には、スイッチファブリック250と装置制御CPU260とが内蔵されている。LIU210,220,230,240は、ブリッジ装置200内のスイッチファブリック250を介して互いに接続されている。装置制御CPU260は、LIU210,220,230,240やスイッチファブリック250に、制御用のバスで接続されており、ブリッジ装置200全体を制御する。
【0052】
なお、以下の説明では、MACアドレスを「xx−xx−xx−xx−xx−xx」(16進の12桁の数値)という形式で表記している。これは48ビットを8ビット(16進2桁)ごとに区切ってわかりすく表記する慣例に従っている。
【0053】
LIU210は、カード番号「1」のラインカードである。LIU210には、複数の物理ポート211a,211b,211c,・・・が設けられており、各物理ポート211a,211b,211c,・・・はネットワークに接続されている。各ネットワークには、端末装置が接続される。図2の例は、物理ポート211cの配下に端末装置310が接続されている。なお、端末装置310のMACアドレスは、「00−11−00−11−00−11」である。
【0054】
LIU220は、カード番号「2」のラインカードである。LIU220には、複数の物理ポート221a,221b,221c,・・・が設けられており、各物理ポート221a,221b,221c,・・・はネットワークに接続されている。各ネットワークには、端末装置が接続される。図2の例は、物理ポート221aの配下に端末装置320が接続されている。なお、端末装置320のMACアドレスは、「00−01−23−45−67−89」である。
【0055】
LIU230は、カード番号「3」のラインカードである。LIU230には、複数の物理ポート231a,231b,231c,・・・が設けられており、各物理ポート231a,231b,231c,・・・はネットワークに接続されている。各ネットワークには、端末装置が接続される。図2の例は、物理ポート231aの配下に端末装置330が接続されている。なお、端末装置330のMACアドレスは、「00−11−22−33−44−55」である。
【0056】
LIU240は、カード番号「4」のラインカードである。LIU240には、複数の物理ポート241a,241b,241c,・・・が設けられており、各物理ポート241a,241b,241c,・・・はネットワークに接続されている。各ネットワークには、端末装置が接続される。図2の例は、物理ポート241cの配下に端末装置340が接続されている。なお、端末装置340のMACアドレスは、「00−22−00−22−00−22」である。
【0057】
このようなシステム構成において、端末装置310,320,330,340間の通信が、ブリッジ装置200を介して行われる。すなわち、ブリッジ装置200の何れかの物理ポートにフレームが入力されるとブリッジ装置200においてスイッチングが行われ、宛先の端末装置が接続された物理ポートへフレームが送出される。
【0058】
次に、ブリッジ装置200の内部構成について説明する。
図3は、ブリッジ装置の内部構成を示すブロック図である。図3には、ブリッジ装置200に接続されたLIU210の構成を代表的に示している。
【0059】
LIU210は、複数の物理ポート211a〜211h、CPU212、通信処理部213、MACブリッジ回路214、およびMACテーブル215を有している。CPU212は、通信制御部213やブリッジ回路214に接続され、ラインカード210を制御している。
【0060】
CPU212は、予め設定されたプログラムに従って、問い合わせ部212a、テーブル更新部212b、エージング部212c,アドレス確認部212d、応答部212eの各機能を実行する。問い合わせ部212aは、不明アドレスの問い合わせを行う処理機能である。テーブル更新部212bは、MACテーブル215の更新処理を制御するための処理機能である。エージング部212cは、MACテーブル215内のエントリの期限管理をするための処理機能である。アドレス確認部212dは、宛先アドレスに対応する宛先情報の問い合わせに応じて、MACテーブル215内のアドレス検索を行うための処理機能である。応答部212eは、アドレス確認部212dの検索結果を応答するための処理機能である。
【0061】
通信処理部213は、CPU212と他のLIUとの間の情報通信を行う。
MACブリッジ回路214は、複数の物理ポート211a〜211hとスイッチファブリック250とに接続されており、物理ポート211a〜211hとスイッチファブリック250との間でフレームの転送を行う。そのために、MACブリッジ回路214は、CPUインタフェース214a、フレーム解析部214b、ヘッダ生成部214c、エントリ登録部214dおよびヘッダ変換部214eを有している。
【0062】
CPUインタフェース214aは、CPU212、MACテーブル215、フレーム解析部214b、およびヘッダ生成部214cに接続されており、CPU212と他の要素との間の通信を制御する。
【0063】
フレーム解析部214bは、物理ポート211a〜211h、MACテーブル215、ヘッダ生成部214c、およびエントリ登録部214dに接続されている。フレーム解析部214bは、物理ポート211a〜211hからフレームが入力されると、入力されたフレームから宛先アドレスと送信元アドレスとを抽出する。そして、フレーム解析部214bは、宛先アドレスを検索キーとしたMACテーブル215の検索を行う。また、フレーム解析部214bは、入力されたフレームをヘッダ生成部214cに渡す。
【0064】
ヘッダ生成部214cは、MACテーブル251、フレーム解析部214bおよびスイッチファブリック250に接続されている。ヘッダ生成部214cは、フレーム解析部214bによるMACテーブル215からの宛先アドレスの検索の結果を、MACテーブル215から受け取る。すると、ヘッダ生成部214cは、フレーム解析部214bから受け取ったフレームに対し、検索結果として取得した宛先のラインカード番号およびポート番号を含む装置内ヘッダ情報を付加し、スイッチファブリック250に渡す。なお、ヘッダ生成部214cは、MACテーブル215の検索の結果、宛先アドレスに対応するエントリが検出されなかった場合、フラッディングを指示する装置内ヘッダ情報をフレームに付加し、スイッチファブリック250に渡す。
【0065】
エントリ登録部214dは、MACテーブル215、CPUインタフェース214a、およびフレーム解析部214bとに接続されており、MACテーブル215へのアドレス学習結果のエントリの処理を行う。すなわち、エントリ登録部214dは、フレーム解析部214bが抽出した送信元アドレスを受け取り、その送信元アドレスを検索キーとしてMACテーブル215を検索する。そして、エントリ登録部214dは、送信元アドレスに対応するエントリがMACテーブル215から検出されなかったとき、送信元アドレス、フレームが入力された物理ポートのポート番号、およびLIU210のカード番号からなるエントリを、MACテーブル215に新規に登録する。
【0066】
ヘッダ変換部214eは、スイッチファブリック250から、装置内ヘッダ情報付きのフレームを受け取り、装置内ヘッダ情報で指定された物理ポートへ、装置内ヘッダ情報を削除したフレームを送出する。
【0067】
MACテーブル215は、MACアドレスに対応する端末装置が接続されたLIUおよび物理ポートが登録されたテーブル形式のデータベースである。
図4は、MACテーブルのデータ構造例を示す図である。MACテーブル215には、MACアドレス、宛先および学習の欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられ、エントリを構成している。
【0068】
MACアドレスの欄には、学習したMACアドレスが登録される。
宛先の欄には、MACアドレスに対応する端末装置が接続されたLIUおよび物理ポートを示す情報が登録される。宛先の欄は、カード番号の欄とポート番号の欄とに分けられている。カード番号の欄には、MACアドレスに対応する端末装置が接続されたLIUのカード番号が設定される。ポート番号の欄には、MACアドレスに対応する端末装置が接続された物理ポートのポート番号が設定される。
【0069】
学習の欄には、各エントリの状態を示す情報が設定される。学習の欄には、Vビット設定欄と、Hビット設定欄とが設けられている。Vビット設定欄には、対応するエントリが有効か否かを示すVビットが設定される。Vビットの値が1であればエントリは有効であり、Vビットの値が0であればエントリは無効である。Hビット設定欄には、対応するエントリに対して、所定期間内に検索がヒットしたか否かを示すHビットが設定される。Hビットの値が1であればヒットしたことを示し、Hビットの値が0であればヒットしていないことを示す。
【0070】
なお、図3、図4には、LIU210の構成を説明したが、他のLIU220,230,240も同様の内部構成である。
次に、以上のような構成のブリッジ装置におけるフレーム転送時の動作を説明する。
【0071】
まず、転送対象となるフレームのデータ構造について説明する。第1の実施の形態では、一般にイーサネット(登録商標)と呼ばれるネットワーク技術におけるデータリンク層でのフレーム転送について説明する。なお、広義にイーサネット(登録商標)と呼ばれる技術には、DIX仕様(Ethernet2)とIEEE802.3仕様との2種類がある。
【0072】
図5は、DIX仕様のフレームフォーマットを示す図である。DIX仕様のフレームフォーマット910は、Preable911、宛先アドレス(Destination Address)912、送信元アドレス(Source Address)913、タイプ(Ether Type)914、ペイロード(Payload)915、およびFCS(Frame Check Sequence)916の各フィールドで構成される。
【0073】
Preable911は、受信フレームに対し、ノードの受信機能が安定に同期を取るための信号で1と0の繰り返しである。宛先アドレス912は、宛先コンピュータのMACアドレスが格納されるフィールドである。送信元MACアドレス913は、送信元コンピュータのMACアドレスが格納されるフィールドである。タイプ914は、上位のネットワーク層のプロトコルを識別するための識別番号が格納されるフィールドである。ペイロード915は、イーサネットが運ぶデータが格納されるフィールドである。FCSデータ916は、データのエラーチェックを行うためのフィールドである。
【0074】
図6は、IEEE802.3仕様のフレームフォーマットを示す図である。IEEE802.3仕様のフレームフォーマット920は、Preable921、SFD(Start Frame Delimiter)922、宛先アドレス923、送信元アドレス924、長さ(Length)925、DSAP(Destination Service Access Point)926、SSAP(Source Service Access Point)927、制御(Ctrl)928、ペイロード(Payload)929、PAD930、およびFCS931の各フィールドで構成される。
【0075】
Preable921、宛先アドレス923、送信元アドレス924、長さ(Length)925、ペイロード(Payload)929、およびFCS931については、DIX仕様のフレームフォーマットにおける同名のフィールドと同じである。
【0076】
SFD922は、フレームの開始を示すフィールドであり、10101011というパターンが使用される。長さ925は、あとに続くデータ部の長さを設定するフィールドである。DSAP926は、送信先のネットワーク層のプロトコルを識別するためのフィールドである。SSAP927は、送信元のネットワーク層のプロトコルを識別するためのフィールドである。
【0077】
制御928は、データリンクレベルでコネクションの確立やフロー制御を行うためのフィールドである。PAD930は、フレームの最低サイズである64Byteに満たない場合、最低サイズを満たすようにデータを設定するためのフィールドである。
【0078】
このように、いずれの仕様においても、アドレス学習に必要なアドレス情報は共通である。
図5,図6に示したようなフレームがMACブリッジ装置200に入力されると、入力されたLIUにおいて、宛先アドレスに応じたLIUが判別される。そして、入力されたフレームが、スイッチファブリック250を経由して宛先アドレスに応じたLIUに転送される。
【0079】
図7は、MACブリッジ装置内のLIUにおける宛先解決動作を示す図である。図7の例は、LIU210の物理ポートにフレームが入力された場合の例である。
【0080】
LIU210のMACテーブル215には、MACアドレスに対応付けて、宛先のカード番号とポート番号とが登録されている。
LIU210の物理ポート(ポート番号「3」)からフレーム11が入力されると、MACブリッジ回路214がMACテーブル215を参照し、宛先アドレス(DA)に対応するカード番号とポート番号とを抽出する。そして、MACブリッジ回路214は、フレーム11に、宛先アドレスに対応するカード番号とポート番号とを含む装置内ヘッダ情報(RH)12を付加して、スイッチファブリック250に送信する。すると、スイッチファブリック250が装置内ヘッダ情報12を参照し、フレーム11を転送すべきカード番号を認識し、そのカード番号のLIUへ装置内ヘッダ情報12付きのフレーム11を渡す。
【0081】
図7の例では、入力されたフレームの宛先アドレス(DA)が「00−11−22−33−44−55」である。MACテーブル215には、MACアドレス「00−11−22−33−44−55」に対応付けて、カード番号「3」、ポート番号「2」が登録されている。したがって、MACブリッジ回路214は、フレーム11の宛先として、MACテーブル215からカード番号「3」、ポート番号「2」を取得する。MACブリッジ回路214は、カード番号「3」、ポート番号「2」を含む装置内ヘッダ情報12をフレーム11に付加して、スイッチファブリック250に送信する。
【0082】
このように、MACテーブル215に登録されているMACアドレスが宛先アドレスであれば、転送先のLIU及び物理ポートを一意に特定して、該当するLIUにフレームを転送することができる。
【0083】
ここで、各LIUは、自己の物理ポートからフレームが入力されたとき、送信元アドレスに基づいて、配下の端末装置(自己の物理ポートに接続されたネットワーク上の端末装置)に関するアドレス学習を行う。以下、配下の端末装置に関するアドレス学習動作について説明する。
【0084】
図8は、アドレス学習動作を示す図である。図8の例では送信元アドレス(SA)「00−11−00−11−00−11」のフレーム11が、ラインカード210の3番の物理ポート211cから入力されている。このフレーム11の送信元アドレスはMACテーブル215上に登録されていない。そこで、MACブリッジ回路214は、このフレーム11がやってきた物理ポート211cの情報を見て、自己のカード番号「1」と物理ポート211cのポート番号「1」を、MACアドレス「00−11−00−11−00−11」に対応付けて、MACテーブル215に登録する。このとき登録したエントリの学習の欄は、Vビット「1」、Hビット「1」とする。
【0085】
このように、送信元アドレスを見て、その端末がどのポートに接続されているのかを自動的に学習するのが、アドレス学習である。複数のラインカードが実装されるMACブリッジ装置では、ラインカード毎にアドレス学習が行われる。
【0086】
フレームが入力されたLIUにおいて、装置内ヘッダ情報として、カード番号とポート番号とを付与することにより、出力側のLIUでは、MACテーブルを参照せずにフレームを転送できる。
【0087】
図9は、複数のLIUを経由したフレーム転送状況を示す図である。図9の例では、LIU210の物理ポート211cに入力されたフレーム11が、LIU230の物理ポート231aから出力される。
【0088】
たとえば、物理ポート211cからパケット11が入力されると、MACブリッジ回路214により、フレーム11の宛先MACアドレスをもとにMACテーブル215が検索される。宛先MACアドレスが検出されれば、そのMACアドレスに対応するカード番号、ポート番号により、出力先のLIU230および物理ポート213aが決定される。そして、LIU230に対してフレーム11が転送される。
【0089】
なお、入力側のLIU210で出力する物理ポートまで特定しない場合もある。その場合、出力側のLIU230において、MACブリッジ回路234がMACテーブル235を参照して、出力する物理ポートを決定する。
【0090】
図9に示すMACブリッジ装置において、入力側のLIU210のMACテーブル215に、宛先アドレスが登録されていない場合、MACブリッジ回路214は、フラッディングを行う。すなわち、MACブリッジ回路214は、全てのLIUの全ポートにパケットをブロードキャストし、正しい宛先からの応答を待つ。その際、入力側のMACブリッジ回路214が宛先アドレス解決要求を出力することで、入力側のLIU210において、他のLIU配下の端末装置のMACアドレスを学習することができる。
【0091】
以下、宛先アドレス学習処理について詳細に説明する。
図10は、宛先アドレス学習処理を示す概念図である。図10の例は、LIU220配下の端末装置のMACアドレスを、LIU210で学習する場合の処理である。
【0092】
図10では、スイッチファブリック250を挟んで左側にLIU210の要素が示されており、右側にLIU220の要素が示されている。なお、図10には、宛先アドレス学習処理を説明するのに直接関係する要素のみが示されているLIU210の各要素の機能は、図3を参照して説明したとおりである。LIU220は、CPU222、通信処理部223、MACブリッジ回路224、およびMACテーブル225を有している。CPU222は、アドレス確認部222d、応答部222e、およびエージング部222cを有している。MACブリッジ回路224は、CPUインタフェース224a、フレーム解析部224b、ヘッダ生成部224c、エントリ登録部224d、およびヘッダ変換部224eを有している。これらの各要素は、LIU210内の同名の要素と同じ機能を有している。
【0093】
ここで、LIU210の物理ポート211cから宛先アドレス「00−01−23−45−67−89」のフレームが入力された場合について説明する。
物理ポート211cから入ってきたフレームが入力されると、MACブリッジ回路214のフレーム解析部214bでフレームの内容が解析される。フレーム解析部214bは、フレームから宛先アドレス(DA)を抜き出して、宛先アドレスを検索キーとしてMACテーブル215を検索する。この例では、宛先アドレスが「00−01−23−45−67−89」であるため、図13に示すMACテーブル215上に宛先アドレスは存在しない。そこで、ヘッダ生成部214cは、全ポートへフラッディングするような宛先ビットを含む装置内ヘッダ情報をフレームに付加し、スイッチファブリック250に渡す。
【0094】
同時に、CPUインタフェース214aは、MACテーブル215の検索の結果、該当するエントリが無いことを認識し、CPU212に対して宛先を解決するようインタラプト(宛先アドレス解決要求)をあげる。すると、CPU212の問い合わせ部212aは、指定されたアドレスのMACテーブルへの登録の有無を他のLIUのCPUに問い合わせる。具体的には、CPU212aが問い合わせメッセージを生成し、通信処理部213に渡す。問い合わせメッセージには、入力されたフレームの宛先アドレスが含まれる。通信処理部213は、内装置内のバスを介して、他のLIUのCPUに問い合わせメッセージを伝達する。
【0095】
LIU220では、LIU210からフラッディングされたフレームをブリッジ回路224のヘッダ変換部224eが受け取る。ヘッダ変換部224eは、フレームに付加された装置内ヘッダ情報により、フラッディング対象のフレームであることを認識し、LIU220の全ての物理ポートに対して、フレームを送出する。
【0096】
また、LIU220では、通信処理部223が、LIU210からの問い合わせメッセージを受け取り、CPU222に渡す。CPU222では、アドレス確認部222dがCPUインタフェース224aを介してMACテーブル225を参照し、問い合わせメッセージで指定された宛先アドレスを検索する。このとき、主信号による検索(フレーム転送のためのMACテーブル225の参照)の空き時間に、問い合わせに応じた検索を行うことで、主信号の転送能力低下を避けることができる。図10の例では、宛先アドレス「00−01−23−45−67−89」がMACテーブル225に登録されているため、そのMACアドレスに対応する宛先情報(カード番号「2」とポート番号「1」)が抽出される。CPUインタフェース224aは、抽出された宛先情報をCPU222に返す。
【0097】
CPU222では、応答部222eが宛先情報を受け取り、問い合わせメッセージを送ってきたCPU222に対して、宛先情報(当該アドレスがどのLIUのポート配下であるのかを示す)を含む応答メッセージを返す。
【0098】
LIU210の通信処理部213は、LIU220からの応答メッセージを受け取り、問い合わせを発行したCPU212に渡す。すると、CPU212のテーブル更新部212bは、CPUインタフェース214a経由でMACテーブル215にアクセスし、問い合わせたMACアドレスと、応答された宛先情報とを関連付けたエントリを、MACテーブル215に登録する。この登録処理は、主信号によるMACテーブル215へのアクセスが空いている時間に行う。
【0099】
以上のようにして、フレームの入力側のLIU210内のMACテーブル215にMACアドレス「00−01−23−45−67−89」のエントリが生成される。以降の同じ宛先へのフレームは、フラッディングせずに、特定のLIUの特定の物理ポートを宛先として転送される。
【0100】
ここで問い合わせ部212aとテーブル更新部212bとは、前者処理の結果、後者が起動されるものであるが、お互いに非同期で動作している。つまり、問い合わせ部212aは問い合わせメッセージを送信したら、処理は終了し、応答を待つことはしない。また、テーブル更新部212bも応答メッセージがどの問い合わせに対応するものなのかを意識することなく動作する。これにより、たとえば問い合わせに対して応答を待つためのタイマなどを使用する必要がなくなり、各プロセス間の同期や順序管理なども不要となり、CPU処理が簡素でロバスト(制御したい物の特性がある程度変化しても、安定に動作する事を保証する制御)になる。
【0101】
次にエージング動作を説明する(図10を参照)。
LIU210では、CPU212が一定周期でCPUインタフェース214aを介してMACテーブル215にアクセスし、全エントリのHビットをクリアする(Hビットを0にする)。その後、フレーム転送の際の送信元アドレスに応じたアドレス学習処理でヒットしたエントリのHビットは、エントリ登録部214dによって1が設定される。CPU212は、各エントリに関し、次の周期の再度アクセスした場合に依然としてHビットがクリアされたままだったら、これをエントリから消去する。具体的にはVビットをクリアする(Vビットを0にする)。
【0102】
アドレス学習処理における検索でヒットしたエントリには、Hビットが1にセットされる。そのため、アクセスがCPU212の巡回周期内に一度でもあれば、つねにHビットはセットされているはずである。したがって、Hビットがクリアされたままのエントリは、長い間アクセスがないものと判断され、Vビットがクリアされる。Vビットがクリアされたエントリは、削除可能となる。
【0103】
次に、CPU212は、エージング対象のエントリ(Vビットが0)をMACテーブル215から削除するとともに、通信処理部213を経由して他のすべてのCPU(CPU222等)に対して、「当該アドレスをエントリから消去せよ」という内容の消去要求メッセージを転送する。
【0104】
LIU220では、CPU212から送られた消去要求メッセージを通信処理部223が受け取り、CPU222に渡す。消去要求メッセージを受け取ったCPU222は、自己のMACテーブル225から、削除対象のMACアドレスに当該エントリの削除指示を、MACブリッジ回路224のCPUインタフェース224aに出力する。これらのアクセスは、主信号の転送が行われていない時間を用いて行われる。CPUインタフェース224aは、削除指示に従って、削除対象のMACアドレスをMACテーブル225から検索し、該当するエントリを消去する。
【0105】
以上により、各LIUで学習したアドレスのエージングを行うとおもに、他のカードにもエージングさせることで、装置全体の整合性が確保できる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。第2の実施の形態は、宛先アドレス解決要求を、装置内ヘッダ情報(またはRouting header)に含めて他のLIUに通知するものである。なお、ブリッジ装置の全体構成は、図2に示した第1の実施の形態の構成と同様である。
【0106】
図11は、第2の実施の形態におけるLIUの機能を示すブロック図である。LIU410は、物理ポート411a〜411h、CPU412、通信処理部413、MACブリッジ回路414、およびMACテーブル415を有している。CPU412は、テーブル更新部412b、エージング部412c、アドレス確認部412d、応答部412eを有している。MACブリッジ回路414は、CPUインタフェース414a、フレーム解析部414b、ヘッダ生成部414c、エントリ登録部414d、ヘッダ変換部414e、アドレス解決要求抽出部(Add drop)414fを有している。
【0107】
アドレス解決要求抽出部414f以外の要素は、図3に示した第1の実施の形態における同名の要素と基本的に同じ機能を有している。以下、第1の実施の形態と異なる機能について説明する。
【0108】
ヘッダ生成部414cは、フラッディングを行う際には、宛先アドレス解決要求を含む装置内ヘッダ情報を生成し、フレーム解析部414bから送られたフレームに付加する。そして、装置内ヘッダ情報が付加されたフレームをフラッディングにより送信する。
【0109】
図12は、宛先アドレス解決要求を含む装置転送フレームのデータ構造例を示す図である。装置内で転送される装置内転送フレーム50は、装置内ヘッダ情報51とイーサネット(登録商標)のフレーム52とで構成される。
【0110】
装置内ヘッダ情報51は、宛先カード番号、宛先ポート番号、COS(クラス・オブ・サービス)レベル、廃棄優先度、宛先解決要求ビット、及びエラーチェックコードが含まれる。宛先カード番号は、フレーム52の宛先アドレスに対応する端末装置が接続されたLIUのカード番号である。宛先ポート番号は、フレーム52の宛先アドレスに対応する端末装置が接続された物理ポートの番号である。COSレベルは、通信品質の保証や帯域確保などを実現する処理のために各フレームに設定される優先度である。廃棄優先度は、フレームの廃棄処理の優先度である。宛先解決要求ビットは、宛先アドレス解決要求を示すフラグである。宛先解析要求ビットに1が設定することで宛先アドレス解決要求が示される。エラーチェックコードは、装置内転送フレーム50が正しく転送されたことを確認するためのチェックコードである。
【0111】
フレーム52は、宛先アドレス(DA)、送信元アドレス(SA)、その他の情報(タイプ値、ペイロード等)を含んでいる。
図13は、第2の実施の形態における宛先アドレス学習処理を示す図である。図13の例は、LIU420配下の端末装置のMACアドレスを、LIU410で学習する場合の処理である。
【0112】
図13では、スイッチファブリック450を挟んで左側にLIU410の要素が示されており、右側にLIU420の要素が示されている。なお、図13には、宛先アドレス学習処理を説明するのに直接関係する要素のみが示されているLIU410の各要素の機能は、図12を参照して説明したとおりである。LIU420は、CPU422、通信処理部423、MACブリッジ回路424、およびMACテーブル425を有している。CPU422は、アドレス確認部422d、応答部422e、およびエージング部422cを有している。MACブリッジ回路424は、CPUインタフェース424a、フレーム解析部424b、ヘッダ生成部424c、エントリ登録部424d、ヘッダ変換部424e、およびアドレス解決要求抽出部424fを有している。これらの各要素は、LIU410内の同名の要素と同じ機能を有している。
【0113】
ここで、LIU410の物理ポート411cから宛先アドレス「00−01−23−45−67−89」のフレームが入力された場合について説明する。
物理ポート411cから入ってきたフレームが入力されると、MACブリッジ回路414のフレーム解析部414bでフレームの内容が解析される。フレーム解析部414bは、フレームから宛先アドレス(DA)を抜き出して、宛先アドレスを検索キーとしてMACテーブル415を検索する。この例では、宛先アドレスが「00−01−23−45−67−89」であるため、図13に示すMACテーブル415上に宛先アドレスは存在しない。検索の結果は、ヘッダ生成部414cに渡される。そこで、ヘッダ生成部414cは、全ポートへフラッディングするような宛先ビットと、宛先アドレス解決要求(宛先解決要求ビットに1を設定)とを含む装置内ヘッダ情報をフレームに付加し、スイッチファブリック450に渡す。
【0114】
LIU420では、LIU410からフラッディングされたフレームをブリッジ回路424のアドレス解決要求抽出部424fが受け取る。アドレス解決要求抽出部424fは、フレームに付加された装置内ヘッダ情報の宛先解決要求ビットの値を参照する。宛先解決要求ビットの値が1であれば、アドレス解決要求抽出部424fは、CPUインタフェース424aを介して宛先アドレス解決要求をCPU422に渡す。また、アドレス解決要求抽出部422fは、受け取ったフレームをヘッダ変換部424eに渡す。ヘッダ変換部424eは、フレームに付加された装置内ヘッダ情報により、フラッディング対象のフレームであることを認識し、LIU420の全ての物理ポートに対して、フレームを送出する。
【0115】
また、アドレス解決要求抽出部422fからの宛先アドレス解決要求を受け取ったCPU422では、アドレス確認部422dがCPUインタフェース424aを介してMACテーブル425を参照し、問い合わせメッセージで指定された宛先アドレスを検索する。このとき、主信号による検索(フレーム転送のためのMACテーブル425の参照)の空き時間に、問い合わせに応じた検索を行うことで、主信号の転送能力低下を避けることができる。図13の例では、宛先アドレス「00−01−23−45−67−89」がMACテーブル425に登録されているため、そのMACアドレスに対応する宛先情報(カード番号「2」とポート番号「1」)が抽出される。CPUインタフェース424aは、抽出された宛先情報をCPU422に返す。
【0116】
CPU422では、応答部422eが宛先情報を受け取り、問い合わせメッセージを送ってきたCPU422に対して、宛先情報(当該アドレスがどのLIUのポート配下であるのかを示す)を含む応答メッセージを返す。
【0117】
LIU410の通信処理部413は、LIU420からの応答メッセージを受け取り、問い合わせを発行したCPU412に渡す。すると、CPU412のテーブル更新部412bは、CPUインタフェース414a経由でMACテーブル415にアクセスし、問い合わせたMACアドレスと、応答された宛先情報とを関連付けたエントリを、MACテーブル415に登録する。この登録処理は、主信号によるMACテーブル415へのアクセスが空いている時間に行う。
【0118】
以上のようにして、フレームの入力側のLIU410内のMACテーブル415にMACアドレス「00−01−23−45−67−89」のエントリが生成される。以降の同じ宛先へのフレームは、フラッディングせずに、特定のLIUの特定の物理ポートを宛先として転送される。
【0119】
このように、装置内ヘッダ情報に重畳して宛先アドレスの解決要求を伝えることで、装置内のバスによる情報の転送量を削減することができる。
[アドレス学習状況の具体例]
以下、図14〜図16を用いて、第1および第2の実施の形態におけるアドレス学習状況の変化をステップ番号に沿って説明する。
【0120】
図14は、アドレス学習に関する状態遷移を示す第1の図である。以下の例では、全てのLIU210,220,230,240がアドレスを学習していない状態から、アドレスを学習する様子について説明する。また、端末装置310のMACアドレスを「A」、端末装置320のMACアドレスを「B」、端末装置330のMACアドレスを「C」、端末装置340のMACアドレスを「D」とする。
【0121】
[ステップS1]まず、端末装置310から、端末装置320宛のフレーム81が出力される。
[ステップS2]フレーム81は、ブリッジ装置200内のLIU210で受け取られる。このとき、LIU210は、宛先アドレス「B」を未学習である。そのため、フレーム81はフラッディングされ、他のLIU220,230,240それぞれから端末装置320,330,340宛てにフレーム81a,81b,81c(フレーム81と同じ内容のフレーム)が送信される。このとき、LIU210でMACアドレス「A」が学習される。これにより、MACアドレス「A」の端末装置310がLIU210の配下に接続されていることが認識される。
【0122】
また、LIU210は、宛先アドレス「B」の接続ポートを他のLIU220,230,240に問い合わせる。この時点では、MACアドレス「B」を学習済のLIUが存在しないため、問い合わせに対する応答は返されない。
【0123】
[ステップS3]その後、端末装置320から、端末装置310宛のフレーム82が出力される。
図15は、アドレス学習に関する状態遷移を示す第2の図である。
【0124】
[ステップS4]フレーム82は、ブリッジ装置200内のLIU220で受け取られる。このとき、LIU220は、宛先アドレス「A」を未学習である。そのため、フレーム82はフラッディングされ、他のLIU210,230,240それぞれから端末装置310,330,340宛てにフレーム82a,82b,82c(フレーム82と同じ内容のフレーム)が送信される。このとき、LIU220でMACアドレス「B」が学習される。これにより、MACアドレス「B」の端末装置320がLIU220の配下に接続されていることが認識される。
【0125】
また、LIU220は、宛先アドレス「A」の接続ポートを他のLIU210,230,240に問い合わせる。すると、LIU210から応答があり、LIU220においてMACアドレス「A」が学習される。
【0126】
[ステップS5]再度、端末装置310から、端末装置320宛のフレーム83が出力される。
[ステップS6]フレーム83は、ブリッジ装置200内のLIU210で受け取られる。このとき、LIU210は、宛先アドレス「B」を未学習である。そのため、フレーム83はフラッディングされ、他のLIU220,230,240それぞれから端末装置320,330,340宛てにフレーム83a,83b,83c(フレーム83と同じ内容のフレーム)が送信される。
【0127】
また、LIU210は、宛先アドレス「B」の接続ポートを他のLIU220,230,240に問い合わせる。すると、LIU220から応答があり、LIU220においてMACアドレス「B」が学習される。
【0128】
図16は、アドレス学習に関する状態遷移を示す第3の図である。
[ステップS7]端末装置310から、端末装置320宛のフレーム84が出力される。
【0129】
[ステップS8]フレーム84は、ブリッジ装置200内のLIU210で受け取られる。このとき、LIU210は、宛先アドレス「B」を学習済である。そのため、フレーム84はLIU220に転送され、LIU220から端末装置320宛てにフレーム84が送信される。
【0130】
このように、入力側のLIUにおいて宛先アドレスが未学習の場合、他のLIUから宛先アドレスの学習結果を取得することにより、入力側のLIUにおいて宛先アドレスを学習することができる。その結果、フレーム転送時の出力側のLIUにおいてアドレス学習処理を行わずにすむ。したがって、ワイヤースピードを損なわずにフレームを転送できる。
【0131】
また、ブリッジ装置200に対してLIUの追加実装した場合、追加されたLIUは、自己の物理ポートに入力されたフレームの宛先アドレスを随時他のLIUに問い合わせることで、他のLIU配下のアドレスを学習できる。
【0132】
(付記1) フレーム転送を行うブリッジ装置において、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、前記端末装置のアドレスに対応付けて記憶しており、自己の接続ポートからフレームが入力されると、前記フレームの宛先アドレスの記憶の有無を判断し、前記宛先アドレスを記憶していない場合、他のラインカードに対して前記宛先アドレスに対応する宛先情報を問い合わせ、問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて記憶する第1のラインカードと、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、前記端末装置のアドレスに対応付けて記憶しており、前記第1のラインカードからの前記宛先アドレスの宛先情報の問い合わせを受け取ると、前記宛先アドレスの記憶の有無を判断し、前記宛先アドレスを記憶している場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信する第2のラインカードと、
を有することを特徴とするブリッジ装置。
【0133】
(付記2) 前記第1のラインカードは、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録された第1のテーブルと、
接続ポートからフレームが入力されると、前記フレームの宛先アドレスが前記第1のテーブルに登録されているか否かを判断するブリッジ回路と、
前記ブリッジ回路で前記宛先アドレスが前記第1のテーブルに登録さていないと判断された場合、他のラインカードに対して前記宛先アドレスの宛先情報を問い合わせ、応答された宛先情報を前記宛先アドレスに対応付けて前記テーブルに格納する第1のCPUと、を有し、
前記第2のラインカードは、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録された第2のテーブルと、
前記第1のラインカードから前記宛先アドレスの宛先情報の問い合わせを受け取ると、前記宛先アドレスが前記第2のテーブルに登録されているか否かを判断し、前記宛先アドレスが登録されている場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信する第2のCPUと、を有することを特徴とする付記1記載のブリッジ装置。
【0134】
(付記3) 前記第1のCPUと前記第2のCPUとを接続する制御用バスをさらに有し、
前記第1のCPUは、前記制御用バスを介して前記宛先アドレスの宛先情報の問い合わせを送信し、
前記第2のCPUは、前記制御用バスを介して前記宛先アドレスに対応する前記宛先情報を送信することを特徴とする付記2記載のブリッジ装置。
【0135】
(付記4) 前記第1のラインカードは、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録された第1のテーブルと、
自己の接続ポートからフレームが入力されると、前記フレームの宛先アドレスが前記第1のテーブルに登録されているか否かを判断し、前記宛先アドレスが前記第1のテーブルに登録さていないと判断された場合、前記宛先アドレスの宛先情報の問い合わせを前記フレームに付加し、前記フレームを他のラインカードにフラッディングする第1のブリッジ回路と、
前記問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて前記テーブルに格納する第1のCPUと、を有し、
前記第2のラインカードは、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録された第2のテーブルと、
フラッディングされた前記フレームから、前記宛先アドレスの宛先情報の問い合わせを検出する第2のブリッジ回路と、
前記第2のブリッジ回路で宛先情報の問い合わせが検出されると、前記宛先アドレスが前記第2のテーブルに登録されているか否かを判断し、前記宛先アドレスが前記第2のテーブルに登録さている場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信するCPUと、を有することを特徴とするブリッジ装置。
【0136】
(付記5) 前記第1のCPUと前記第2のCPUとを接続する制御用バスをさらに有し、
前記第2のCPUは、前記制御用バスを介して前記宛先アドレスに対応する前記宛先情報を送信することを特徴とする付記4記載のブリッジ装置。
【0137】
(付記6) 前記宛先情報は、前記端末装置が接続されたラインカードを示すカード番号と、前記端末装置が接続された接続ポートを示すポート番号とを含むことを特徴とする付記1記載のブリッジ装置。
【0138】
(付記7) 前記第1の及び第2のラインカードは、フレームの入出力が所定期間行われていないアドレスの記憶を消去し、消去したアドレスを他のラインカードに通知することを特徴とする付記1記載のブリッジ装置。
【0139】
(付記8) ブリッジ装置に実装して使用するラインカードにおいて、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録されたテーブルと、
接続ポートからフレームが入力されると、前記フレームの宛先アドレスが前記テーブルに登録されているか否かを判断するブリッジ回路と、
前記ブリッジ回路で前記宛先アドレスが前記テーブルに登録さていないと判断された場合、他のラインカードに対して前記宛先アドレスの宛先情報を問い合わせ、応答された宛先情報を前記宛先アドレスに対応付けて前記テーブルに格納するCPUと、
を有することを特徴とするラインカード。
【0140】
(付記9) ブリッジ装置に実装して使用するラインカードにおいて、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録されたテーブルと、
他のラインカードから宛先アドレスの宛先情報の問い合わせを受け取ると、前記宛先アドレスが前記テーブルに登録されているか否かを判断し、前記宛先アドレスが登録されている場合、前記宛先アドレスに対応する宛先情報を前記他のラインカードに送信するCPUと、
を有することを特徴とするラインカード。
【0141】
(付記10) ブリッジ装置に実装して使用するラインカードにおいて、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録されたテーブルと、
自己の接続ポートからフレームが入力されると、前記フレームの宛先アドレスが前記テーブルに登録されているか否かを判断し、前記宛先アドレスが前記テーブルに登録さていないと判断された場合、前記宛先アドレスの宛先情報の問い合わせを前記フレームに付加し、前記フレームを他のラインカードにフラッディングするブリッジ回路と、
前記問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて前記テーブルに格納するCPUと、
を有することを特徴とするラインカード。
【0142】
(付記11) ブリッジ装置に実装して使用するラインカードにおいて、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録されたテーブルと、
フラッディングされたフレームから、前記フレームの宛先アドレスの宛先情報の問い合わせを検出するブリッジ回路と、
前記ブリッジ回路で宛先情報の問い合わせが検出されると、前記宛先アドレスが前記テーブルに登録されているか否かを判断し、前記宛先アドレスが前記テーブルに登録さている場合、前記宛先アドレスに対応する宛先情報を前記フレームの送信元である他のラインカードに送信するCPUと、
を有することを特徴とするラインカード。
【0143】
(付記12) フレーム転送を行うブリッジ装置におけるアドレス学習方法において、
複数のラインカードそれぞれにおいて、端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、前記端末装置のアドレスに対応付けて記憶し、
第1のラインカードの接続ポートにフレームが入力されると、前記第1のラインカードにおいて、前記フレームの宛先アドレスを記憶しているか否かを判断し、
前記第1のラインカードで前記宛先アドレスを記憶していない場合、他のラインカードに対して前記宛先アドレスに対応する宛先情報を問い合わせ、
前記第1のラインカードからの前記宛先アドレスの宛先情報の問い合わせを受け取った第2のラインカードにおいて、前記宛先アドレスの記憶の有無を判断し、
前記第2のラインカードが前記宛先アドレスを記憶している場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信し、
前記第1のラインカードが、問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて記憶する、
ことを特徴とするブリッジ装置のアドレス学習方法。
【0144】
【発明の効果】
以上説明したように本発明では、第1のラインカードにおいて宛先アドレスを記憶していない場合、他のラインカードに対して宛先アドレスの接続情報を問い合わせ、宛先アドレスを記憶している第2のラインカードが接続情報を第1のラインカードに送信するようにしたため、フレーム入力側のラインカードにおいて宛先アドレスの接続情報を効率よく取得することができる。
【図面の簡単な説明】
【図1】実施の形態に適用される発明の概念図である。
【図2】本発明の実施の形態のシステム構成例を示す図である。
【図3】ブリッジ装置の内部構成を示すブロック図である。
【図4】MACテーブルのデータ構造例を示す図である。
【図5】DIX仕様のフレームフォーマットを示す図である。
【図6】IEEE802.3仕様のフレームフォーマットを示す図である。
【図7】MACブリッジ装置内のLIUにおける宛先解決動作を示す図である。
【図8】アドレス学習動作を示す図である。
【図9】複数のLIUを経由したフレーム転送状況を示す図である。
【図10】宛先アドレス学習処理を示す概念図である。
【図11】第2の実施の形態におけるLIUの機能を示すブロック図である。
【図12】宛先アドレス解決要求を含む装置転送フレームのデータ構造例を示す図である。
【図13】第2の実施の形態における宛先アドレス学習処理を示す図である。
【図14】アドレス学習に関する状態遷移を示す第1の図である。
【図15】アドレス学習に関する状態遷移を示す第2の図である。
【図16】アドレス学習に関する状態遷移を示す第3の図である。
【図17】従来の他のラインカードに接続された端末のアドレス学習方法の第1の例を示す図である。
【図18】従来の他のラインカードに接続された端末のアドレス学習方法の第2の例を示す図である。
【符号の説明】
110,120,130,140 ラインカード
111,121,131,141 CPU
112,122,132,142 MACブリッジ
113,123,133,143 MACテーブル
150 スイッチファブリック
160 バス
200 ブリッジ装置
210,220,230,240 LIU
250 スイッチファブリック
310,320,330,340 端末装置
Claims (5)
- フレーム転送を行うブリッジ装置において、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、前記端末装置のアドレスに対応付けて記憶しており、自己の接続ポートからフレームが入力されると、前記フレームの宛先アドレスの記憶の有無を判断し、前記宛先アドレスを記憶していない場合、他のラインカードに対して前記宛先アドレスに対応する宛先情報を問い合わせ、問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて記憶する第1のラインカードと、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、前記端末装置のアドレスに対応付けて記憶しており、前記第1のラインカードからの前記宛先アドレスの宛先情報の問い合わせを受け取ると、前記宛先アドレスの記憶の有無を判断し、前記宛先アドレスを記憶している場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信する第2のラインカードと、
を有することを特徴とするブリッジ装置。 - 前記第1のラインカードは、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録された第1のテーブルと、
接続ポートからフレームが入力されると、前記フレームの宛先アドレスが前記第1のテーブルに登録されているか否かを判断するブリッジ回路と、
前記ブリッジ回路で前記宛先アドレスが前記第1のテーブルに登録さていないと判断された場合、他のラインカードに対して前記宛先アドレスの宛先情報を問い合わせ、応答された宛先情報を前記宛先アドレスに対応付けて前記テーブルに格納する第1のCPUと、を有し、
前記第2のラインカードは、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録された第2のテーブルと、
前記第1のラインカードから前記宛先アドレスの宛先情報の問い合わせを受け取ると、前記宛先アドレスが前記第2のテーブルに登録されているか否かを判断し、前記宛先アドレスが登録されている場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信する第2のCPUと、を有することを特徴とする請求項1記載のブリッジ装置。 - 前記第1のラインカードは、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録された第1のテーブルと、
自己の接続ポートからフレームが入力されると、前記フレームの宛先アドレスが前記第1のテーブルに登録されているか否かを判断し、前記宛先アドレスが前記第1のテーブルに登録さていないと判断された場合、前記宛先アドレスの宛先情報の問い合わせを前記フレームに付加し、前記フレームを他のラインカードにフラッディングする第1のブリッジ回路と、
前記問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて前記テーブルに格納する第1のCPUと、を有し、
前記第2のラインカードは、
端末装置が接続されたラインカードおよび接続ポートを示す宛先情報が、前記端末装置のアドレスに対応付けて登録された第2のテーブルと、
フラッディングされた前記フレームから、前記宛先アドレスの宛先情報の問い合わせを検出する第2のブリッジ回路と、
前記第2のブリッジ回路で宛先情報の問い合わせが検出されると、前記宛先アドレスが前記第2のテーブルに登録されているか否かを判断し、前記宛先アドレスが前記第2のテーブルに登録さている場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信するCPUと、を有することを特徴とするブリッジ装置。 - 前記第1の及び第2のラインカードは、フレームの入出力が所定期間行われていないアドレスの記憶を消去し、消去したアドレスを他のラインカードに通知することを特徴とする請求項1記載のブリッジ装置。
- フレーム転送を行うブリッジ装置におけるアドレス学習方法において、
複数のラインカードそれぞれにおいて、端末装置が接続されたラインカードおよび接続ポートを示す宛先情報を、前記端末装置のアドレスに対応付けて記憶し、
第1のラインカードの接続ポートにフレームが入力されると、前記第1のラインカードにおいて、前記フレームの宛先アドレスを記憶しているか否かを判断し、
前記第1のラインカードで前記宛先アドレスを記憶していない場合、他のラインカードに対して前記宛先アドレスに対応する宛先情報を問い合わせ、
前記第1のラインカードからの前記宛先アドレスの宛先情報の問い合わせを受け取った第2のラインカードにおいて、前記宛先アドレスの記憶の有無を判断し、
前記第2のラインカードが前記宛先アドレスを記憶している場合、前記宛先アドレスに対応する宛先情報を前記第1のラインカードに送信し、
前記第1のラインカードが、問い合わせに応答された宛先情報を前記宛先アドレスに対応付けて記憶する、
ことを特徴とするブリッジ装置のアドレス学習方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002357465A JP2004193821A (ja) | 2002-12-10 | 2002-12-10 | ブリッジ装置およびブリッジ装置のアドレス学習方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002357465A JP2004193821A (ja) | 2002-12-10 | 2002-12-10 | ブリッジ装置およびブリッジ装置のアドレス学習方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004193821A true JP2004193821A (ja) | 2004-07-08 |
Family
ID=32757456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002357465A Withdrawn JP2004193821A (ja) | 2002-12-10 | 2002-12-10 | ブリッジ装置およびブリッジ装置のアドレス学習方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004193821A (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007110654A (ja) * | 2005-10-17 | 2007-04-26 | Toshiba Corp | ブリッジ装置及びブリッジ装置の制御方法 |
JP2008054096A (ja) * | 2006-08-25 | 2008-03-06 | Alaxala Networks Corp | ネットワーク中継装置、および、ネットワーク中継装置の制御方法 |
JP2008079043A (ja) * | 2006-09-21 | 2008-04-03 | Fujitsu Ltd | パケット転送装置およびパケット転送方法 |
WO2008114408A1 (ja) * | 2007-03-20 | 2008-09-25 | Fujitsu Limited | パケット中継装置、パケット中継装置における廃棄パケットの転送方法、およびそのプログラム |
JP2009508420A (ja) * | 2005-09-15 | 2009-02-26 | エリクソン エービー | ネットワーク相互接続装置におけるmacアドレステーブルの最適化された同期 |
JP2009147672A (ja) * | 2007-12-14 | 2009-07-02 | Keio Gijuku | ネットワークシステム |
JP2010045657A (ja) * | 2008-08-14 | 2010-02-25 | Fujitsu Ltd | フレームスイッチング装置、通信システム、コンピュータプログラム及びアドレス学習方法 |
JP2011091477A (ja) * | 2009-10-20 | 2011-05-06 | Hitachi Cable Ltd | スイッチングハブ及びfdbの同期方法 |
JP2012023443A (ja) * | 2010-07-12 | 2012-02-02 | Fujitsu Ltd | ブリッジ装置及びインタフェース装置、並びに通信方法 |
JP2012209855A (ja) * | 2011-03-30 | 2012-10-25 | Nec Corp | スイッチシステム、ラインカード、fdb情報の学習方法及びプログラム |
CN103414801A (zh) * | 2013-08-12 | 2013-11-27 | 杭州华三通信技术有限公司 | 一种堆叠系统中媒质访问控制地址同步的方法和设备 |
JP2016001863A (ja) * | 2014-06-11 | 2016-01-07 | 韓國電子通信研究院Electronics and Telecommunications Research Institute | 多者間単方向通信のための装置および方法 |
JP2017028521A (ja) * | 2015-07-23 | 2017-02-02 | 富士通株式会社 | フレーム処理装置及びフレーム処理方法 |
CN110365811A (zh) * | 2019-07-22 | 2019-10-22 | 杭州迪普科技股份有限公司 | 一种mac地址学习限制方法、装置及设备 |
-
2002
- 2002-12-10 JP JP2002357465A patent/JP2004193821A/ja not_active Withdrawn
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4763791B2 (ja) * | 2005-09-15 | 2011-08-31 | エリクソン エービー | ネットワーク相互接続装置におけるmacアドレステーブルの最適化された同期 |
JP2009508420A (ja) * | 2005-09-15 | 2009-02-26 | エリクソン エービー | ネットワーク相互接続装置におけるmacアドレステーブルの最適化された同期 |
US7929545B2 (en) | 2005-09-15 | 2011-04-19 | Ericsson Ab | Optimized synchronization of MAC address tables in network interconnection apparatuses |
JP2007110654A (ja) * | 2005-10-17 | 2007-04-26 | Toshiba Corp | ブリッジ装置及びブリッジ装置の制御方法 |
JP4660346B2 (ja) * | 2005-10-17 | 2011-03-30 | 株式会社東芝 | ブリッジ装置及びブリッジ装置の制御方法 |
JP2008054096A (ja) * | 2006-08-25 | 2008-03-06 | Alaxala Networks Corp | ネットワーク中継装置、および、ネットワーク中継装置の制御方法 |
JP2008079043A (ja) * | 2006-09-21 | 2008-04-03 | Fujitsu Ltd | パケット転送装置およびパケット転送方法 |
WO2008114408A1 (ja) * | 2007-03-20 | 2008-09-25 | Fujitsu Limited | パケット中継装置、パケット中継装置における廃棄パケットの転送方法、およびそのプログラム |
US8194561B2 (en) | 2007-03-20 | 2012-06-05 | Fujitsu Limited | Packet relay device and method for transferring packet therein |
JP4793491B2 (ja) * | 2007-03-20 | 2011-10-12 | 富士通株式会社 | パケット中継装置、パケット中継装置における廃棄パケットの転送方法、およびそのプログラム |
JP2009147672A (ja) * | 2007-12-14 | 2009-07-02 | Keio Gijuku | ネットワークシステム |
JP2010045657A (ja) * | 2008-08-14 | 2010-02-25 | Fujitsu Ltd | フレームスイッチング装置、通信システム、コンピュータプログラム及びアドレス学習方法 |
JP4717909B2 (ja) * | 2008-08-14 | 2011-07-06 | 富士通株式会社 | フレームスイッチング装置、通信システム、コンピュータプログラム及びアドレス学習方法 |
US8243741B2 (en) | 2008-08-14 | 2012-08-14 | Fujitsu Limited | Frame switching device and address learning method |
JP2011091477A (ja) * | 2009-10-20 | 2011-05-06 | Hitachi Cable Ltd | スイッチングハブ及びfdbの同期方法 |
JP2012023443A (ja) * | 2010-07-12 | 2012-02-02 | Fujitsu Ltd | ブリッジ装置及びインタフェース装置、並びに通信方法 |
US8477777B2 (en) | 2010-07-12 | 2013-07-02 | Fujitsu Limited | Bridge apparatus and communication method |
JP2012209855A (ja) * | 2011-03-30 | 2012-10-25 | Nec Corp | スイッチシステム、ラインカード、fdb情報の学習方法及びプログラム |
CN103414801A (zh) * | 2013-08-12 | 2013-11-27 | 杭州华三通信技术有限公司 | 一种堆叠系统中媒质访问控制地址同步的方法和设备 |
CN103414801B (zh) * | 2013-08-12 | 2016-08-17 | 杭州华三通信技术有限公司 | 一种堆叠系统中媒质访问控制地址同步的方法和设备 |
JP2016001863A (ja) * | 2014-06-11 | 2016-01-07 | 韓國電子通信研究院Electronics and Telecommunications Research Institute | 多者間単方向通信のための装置および方法 |
US9602409B2 (en) | 2014-06-11 | 2017-03-21 | Electronics And Telecommunications Research Institute | Apparatus and method for multilateral one-way communication |
JP2017028521A (ja) * | 2015-07-23 | 2017-02-02 | 富士通株式会社 | フレーム処理装置及びフレーム処理方法 |
CN110365811A (zh) * | 2019-07-22 | 2019-10-22 | 杭州迪普科技股份有限公司 | 一种mac地址学习限制方法、装置及设备 |
CN110365811B (zh) * | 2019-07-22 | 2022-03-01 | 杭州迪普科技股份有限公司 | 一种mac地址学习限制方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7009941B1 (en) | Node-search method, device, and medium on which a node-search program is recorded | |
US5524254A (en) | Scheme for interlocking line card to an address recognition engine to support plurality of routing and bridging protocols by using network information look-up database | |
EP1858212B1 (en) | A MAC Frame Transfer Method, an edge bridge, and a system for reducing flooding | |
RU2262806C2 (ru) | Способ распознавания функций оам в пассивной оптической сети ethernet | |
JP2004193821A (ja) | ブリッジ装置およびブリッジ装置のアドレス学習方法 | |
US20070280132A1 (en) | Node detection and ring configuration for physical star connected networks | |
JP2000156708A (ja) | ネットワ―ク・スイッチング装置 | |
JP2002314571A (ja) | スイッチングノードのための分類およびタグ付け規則 | |
US6046989A (en) | Multicast connection management system | |
JPH1063598A (ja) | マルチキャスト通信方法及びマルチキャスト通信システムと、マルチキャスト通信用サーバ | |
CN111565117A (zh) | 一种基于snmp的拓扑发现方法和系统 | |
US7257134B2 (en) | Method of pacing the synchronization of routing information in a data switching environment | |
KR100450942B1 (ko) | 이더넷 스위치에서의 어드레스 서치 장치 및 방법 | |
JPH1127326A (ja) | 階層lanスイッチネットワーク | |
Cisco | Novell IPX Commands | |
Cisco | Novell IPX Commands | |
US8352637B2 (en) | Techniques for resolving network connectivity | |
JPH08223207A (ja) | マルチプロトコル中継方式 | |
CN114257473B (zh) | 资源池中多个透明桥的实现方法、装置、设备和介质 | |
JP7218597B2 (ja) | 局側装置、通信システムおよび通信制御方法 | |
CN112910783B (zh) | 一种报文转发方法、装置及分布式设备 | |
US20220345370A1 (en) | Ordering possible device locations on the network by port-of-entry likelihood | |
JP3314013B2 (ja) | Macブリッジングサーバ | |
JPH1146192A (ja) | 同報リスト作成方法 | |
JP2985524B2 (ja) | Lan間中継装置のアドレス認識テーブルの検索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060307 |