JP3557946B2 - Packet switching equipment - Google Patents
Packet switching equipment Download PDFInfo
- Publication number
- JP3557946B2 JP3557946B2 JP14115599A JP14115599A JP3557946B2 JP 3557946 B2 JP3557946 B2 JP 3557946B2 JP 14115599 A JP14115599 A JP 14115599A JP 14115599 A JP14115599 A JP 14115599A JP 3557946 B2 JP3557946 B2 JP 3557946B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- output
- output port
- multicast
- buffer
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、パケット交換機に関し、特に、マルチキャスト送信を行うパケット交換機に関する。
【0002】
【従来の技術】
ある端末から複数の宛先へマルチキャスト送信(選択同報送信)する場合、例えばパケットのヘッダにマルチキャストアドレスを設定して送信し、スイッチでルーチングされ、マルチキャストグループをなす各宛先端末に送信される。パケットを複数の宛先へ交換スイッチからマルチキャスト送信(選択同報送信)する方法として、例えば特許第2778520号には、スイッチのある入力ポートにて1以上の出力ポートへマルチキャストパケットを出力できなくなった時、出力可能な出力ポートへマルチキャストパケットを送信し、同時に、入力バッファとは別に備えたマルチキャスト用バッファにパケットデータを備え、出力できなかった出力ポートが出力可能になった時、マルチキャスト用バッファからパケットを送信する方法が開示されている。なお、この方法では、マルチキャストを行うパケットにはそのヘッダ部の予め定められた特定フィールドにマルチキャストである旨のフラグ及びマルチキャストすべき宛先アドレス情報を書き込む方式が用いられている。
【0003】
すなわち、この従来のスイッチは、マルチキャスト用のメモリを利用することにより、必要な全ての出力ポートに対してパケットを送出できない場合、このメモリ内に全部送出するまでパケットを保留するものである。
【0004】
【発明が解決しようとする課題】
しかしながら、上記した従来のスイッチは、下記記載の問題点を有している。
【0005】
第1の問題点は、あるパケットが保留状態となっているときに、新たに別のパケットが、このメモリに蓄積されたとき、前のパケットが必要な全ポートに送出完了しない限り、その次のパケットが送出されない、ということである。
【0006】
また、マルチキャスト用のメモリにパケットを蓄積しなくても、必要な出力ポートへの出力が成功した場合、たまたま同じマルチキャストチャンネルに属するパケットがマルチキャスト用のメモリに蓄積されていた場合、パケットの順序が入れ替わってしまう、ということである。
【0007】
したがって本発明は、上記問題点に鑑みてなされたものであって、その目的は、1つの入力ポートから受信したパケットを複数の出力ポートに同時に出力する機能、すなわちマルチキャスト機能がないスイッチにおいて、マルチキャスト機能を実現可能としたパケット交換装置を提供することにある。
【0008】
また本発明の他の目的は、マルチキャストパケットの送信順序の入れ替えの発生を回避するパケット交換装置を提供することにある。これ以外の本発明の目的、特徴等は以下の説明により直ちに明らかとされるであろう。
【0009】
【課題を解決するための手段】
前記目的を達成する本発明は、パケットおよび前記パケットを出力すべきポート番号を入力とし前記パケットを前記ポート番号で指定された出力ポートに出力するスイッチと、パケットを入力し前記パケットにポート番号を付与して前記スイッチへ供給する入力処理部と、を備え、前記入力処理部が、入力したパケットがマルチキャストパケットである場合に、前記パケットのマルチキャストアドレスから前記パケットを出力すべきポート番号を取得し、該パケットとともに、前記スイッチに供給する手段を備えたものである。
【0010】
【発明の実施の形態】
本発明の実施の形態について以下に説明する。本発明は、マルチキャスト機能を具備しないスイッチ、すなわち1つのパケットに対して複数の出力ポートの指定を行うことができないスイッチに対して、入力処理部を備え、この入力処理部が、マルチキャストパケットを入力した際に、マルチキャスト動作を実現するための出力ポート番号に関する情報を取得し、該パケットと出力ポート番号を所要出力ポート分コピーして、スイッチの入力に供給するように構成したものであり、かかる構成によりマルチキャスト機能を具備しないスイッチにおいてもマルチキャストを実現可能としている。
【0011】
スイッチの出力側にバッファを備えたアウトプットバッファ型スイッチでは、1つのポートから入力されたパケットを、スイッチ出力部に配備された複数のバッファに同時に書き込むことにより、マルチキャストを容易に実現することができる。しかし、スイッチがこのような構成をとらない場合には、マルチキャストを容易に実現することはできない。
【0012】
そこで、本発明は、マルチキャスト機能を具備しないスイッチにおいて、スイッチにパケットを入力する前に、あらかじめパケットを必要な回数だけコピーし、これをスイッチに入力することによって、マルチキャストを実現するものである。
【0013】
本発明は、その好ましい実施の形態において、パケットおよび前記パケットを出力すべきポート番号を入力とし前記パケットを前記ポート番号で指定された出力ポートに出力するスイッチ(1)と、パケットを入力し前記パケットにポート番号を付与して前記スイッチへ供給する入力処理部(2−1〜2−M)と、を備え、入力処理部(2−1〜2−M)が、入力したパケットがマルチキャストパケットであるかユニキャストか判定するマルチキャスト判定手段(21)と、マルチキャスト判定手段(21)でユニキャストパケットと判定されたパケットを内部のバッファに蓄積し1個以上パケットが蓄積されている場合、出力要求信号を送出するユニキャスト処理手段(22)と、マルチキャスト判定手段(21)でマルチキャストパケットと判定されたパケットを処理し、前記パケットを、マルチキャストアドレスに対応した前記スイッチの出力ポート番号を指定する出力ポート情報とを1組として内部バッファに蓄積し、1個以上パケットが前記内部バッファに蓄積されている場合、出力要求信号を送出するマルチキャスト処理手段(23)と、ユニキャスト処理手段(22)及び/又は前記マルチキャスト処理手段(23)からの出力要求信号に対して選択的に出力許可を与え、出力許可された前記ユニキャスト処理手段又は前記マルチキャスト処理手段から出力されるパケットおよび出力ポート番号をスイッチ(1)の入力に転送する選択手段(25)と、を備え、マルチキャスト処理手段(23)は、内部バッファに蓄積されている、前記パケットと出力ポート情報に対して、出力許可信号が与えられた場合に、順次、前記出力ポート情報で指定される出力ポート分、前記パケットに出力ポート番号を付与して出力する。
【0014】
本発明の実施の形態において、マルチキャスト処理手段(23)は、マルチキャスト判定手段(21)から出力されるパケットを受けとり該パケットのヘッダを解析してマルチキャストアドレスを出力するパケット解析手段(231)と、複数のバッファを備えたパケットバッファ(234)と、一エントリあたり、前記スイッチの複数の出力ポートのうちどのポートに出力するかを規定する出力ポート情報と、どのパケットバッファに前記パケットを格納するかを規定するバッファ番号を含む、マルチキャストテーブル(232a)を備え、前記パケット解析手段(231)が出力するマルチキャストアドレスを受けとり、前記マルチキャストアドレスから生成されたテーブルアドレスに基づき、前記マルチキャストテーブルを検索して、マルチキャスト動作させるためのバッファ番号と、前記スイッチの出力ポート番号を指定する出力ポート情報とを、取得する出力ポート検索手段(232)と、前記パケットを、前記出力ポート検索手段から出力される前記バッファ番号を参照して、前記パケット及び出力ポート情報を前記複数のバッファのいずれかに出力するパケット振り分け手段(233)と、を備え、複数のバッファ(234−1〜234−k)は、パケット振り分け手段(233)の複数の出力にそれぞれ対応して設けられ、パケット振り分け手段(233)から出力される前記パケットを受けとり、前記出力ポート検索手段から前記出力ポート情報を受けとり、前記パケットと前記出力ポート情報と組として前記パケット番号で指定されたバッファに格納し、パケットバッファ(234)が出力する送信要求信号と、前記選択手段より出力される出力許可信号とを監視し、前記複数のバッファのいずれかに送信許可信号を出力するスケジューリング手段(235)と、を備えている。
【0015】
【実施例】
上記した本発明の実施の形態について更に詳細に説明すべく、本発明の実施例について図面を参照して以下に説明する。図1は、本発明のパケット交換機の一実施例の構成を示す図である。図1を参照すると、このパケット交換機は、スイッチ部1と、入力処理部2と、を備えて構成されている。スイッチ部1は、パケット入力をM本と、パケット出力をN本と、を備えている。ここで、M、Nは1以上の整数とする。
【0016】
スイッチ部1には、M個の入力処理部2−1〜2−Mが接続されている。スイッチ部1は、M本のパケット入力のいずれかから入力したパケットを、N本のパケット出力のいずれかに出力する。
【0017】
M個の入力処理部2−1〜2−Mは、それぞれパケット入力線からパケットを受信し、受信したパケットをパケット入力経由で、スイッチ部1に転送する。
【0018】
図2は、本発明の一実施例をなす入力処理部2−1〜2−Mのうち1つの構成を示すものである。図1の入力処理部2−1〜2−Mは同様の構成とされる。
【0019】
図2を参照すると、入力処理部2は、受信したパケットを入力しマルチキャストかユニキャストか判定するマルチキャスト判定部21と、マルチキャスト判定部21でユニキャストと判定されたパケットを処理するユニキャスト処理部22と、マルチキャスト判定部21でマルチキャストと判定されたパケットを処理するマルチキャスト処理部23と、選択部25と、を備えて構成されている。
【0020】
図3は、図2のマルチキャスト処理部23の構成を示す図である。図3を参照すると、マルチキャスト処理部23は、マルチキャスト判定部21から出力されるパケットを受信するパケット解析部231と、パケット解析部231が出力するマルチキャストアドレスを受信し、マルチキャストテーブル232aを参照することによって、バッファ番号と複数の出力ポート番号を出力する出力ポート検索部232と、パケット解析部231から受信したパケットを、出力ポート検索部232から出力される出力ポート情報とバッファ番号を参照して、k本の出力のいずれかに出力するパケット振り分け部233と、パケット振り分け部233からのパケットを受信し、さらに出力ポート検索部232から出力ポート情報を受信し、該パケットと出力ポート情報の両方を、パケットバッファ234−1〜234−kのk個あるバッファのいずれかに格納し、パケットバッファ部234が出力するk本の送信要求信号と、選択部(出力選択部)25より出力される出力許可信号とを監視し、パケットバッファ234−1〜234−kのいずれかに、送信許可信号を出力するスケジューリング部235と、を備えて構成されている。
【0021】
図1を参照して、本発明の一実施例の動作を説明する。
【0022】
スイッチ1は、セルフルーティングスイッチであり、パケットおよび該パケットを出力すべきポート番号を与えられると、当該パケットを、該ポート番号で指定された出力ポートに出力する。本実施例では、このスイッチ1には、複数のポート番号は与えられないものとする。
【0023】
入力処理部2は、パケットを受信すると、該パケットのヘッダに付与されている宛先アドレス等の情報を読み取り、該パケットに対して、ポート番号を付与して出力する。
【0024】
図2を参照して、本発明の一実施例における入力処理部2の動作について説明する。
【0025】
入力処理部2のマルチキャスト判定部21は、パケット入力線から受信したパケットを受信し、該ヘッダに書き込まれているアドレスを読み取り、該パケットがマルチキャストパケットか、ユニキャストパケットであるかを判定する。
【0026】
マルチキャスト判定部21において、受信したパケットが、ユニキャストパケットと判定された場合には、該パケットはユニキャスト処理部22に転送され、受信したパケットがマルチキャストパケットと判定された場合には、該パケットはマルチキャスト処理部23に転送される。
【0027】
なお、受信したパケットがユニキャストパケットかマルチキャストパケットであるかを、この入力処理部2に入力する前に判定してユニキャストパケットかマルチキャストパケットであるかを示すフラグをパケットに付与するようにしてもよい。
【0028】
ユニキャスト処理部22は、マルチキャスト判定部21から受信したパケットを受信し、それに付与されているアドレスを読み取り、出力すべきスイッチの出力ポート番号を得る。そして、この出力ポート番号とパケットとを組で内部の不図示のバッファに蓄積する。パケットは1個以上蓄積できるものとする。
【0029】
なお、パケットの宛先アドレスからスイッチ1の出力ポート番号を得る方法は、ルーティング情報を参照して、宛先アドレスに対応する出力回線情報から出力ポート番号を取得する等、公知の技術が用いられる。ユニキャスト処理部22は、内部に1個以上パケットが蓄積されている場合、選択部25に対して出力要求信号を送出し、選択部25が出力許可信号を返送した場合には、内部のバッファに蓄積しているパケットを選択部25に出力する。
【0030】
マルチキャスト処理部23も、ユニキャスト処理部22と同様に、内部のバッファにパケットを蓄積し、選択部24から与えられる出力許可信号に従いパケットを出力する。
【0031】
選択部25は、ユニキャスト処理部22およびマルチキャスト処理部23から出力要求信号を受信する。この出力要求信号は、ユニキャスト処理部22およびマルチキャスト処理部23において、それぞれ、バッファにパケットが1個以上蓄積されているときに出力される。
【0032】
ユニキャスト処理部22およびマルチキャスト処理部23のいずれか一方からのみ出力要求信号が出力されているときには、選択部25は、出力されている方に出力許可信号を出力し、両方から出力要求信号が出力されているときには、選択部25は、いずれか一方に対してのみ出力許可信号を出力する。こうすることによって、ユニキャスト処理部22またはマルチキャスト処理部23のいずれか一方のみからパケットが出力される。
【0033】
さらに、選択部25は、ユニキャスト処理部22またはマルチキャスト処理部23から出力されるパケットおよび出力ポート番号をスイッチ1に転送する。
【0034】
次に図3を参照して、マルチキャスト処理部23の動作について説明する。
【0035】
マルチキャスト処理部23に入力されたパケットは、まずパケット解析部231に入力される。
【0036】
パケット解析部231では、入力したパケットのヘッダ部を読み取り、該パケットのヘッダ部に書き込まれている宛先アドレス(マルチキャストアドレス)を得、該宛先アドレスを、出力ポート検索部232へ転送し、また該パケットをパケット振り分け部233に転送する。
【0037】
出力ポート検索部232は、ランダムアクセスメモリ、又はROM(リードオンリメモリ)等よりなるマルチキャストテーブル232aを備えており、マルチキャストテーブル232aは、アドレスが入力されると、該アドレスに格納されているデータを出力する。
【0038】
出力ポート検索部232は、パケット解析部231から宛先アドレスを受信すると、その宛先アドレスを基にあらかじめプログラムされた変換則に基づいて変換し、テーブルアドレスを得、これをマルチキャストテーブル232aに入力する。
【0039】
この宛先アドレスからテーブルアドレスを得る方法としては、これ以外にもいくつか方法がある。
【0040】
例えば、
(1)その宛先アドレスの一部または全部をテーブルアドレスとして用いる。
【0041】
(2)宛先アドレスとテーブルアドレスの対応を示すテーブルをあらかじめ作成しておき、そのテーブルの内容にしたがって変換を行う。
【0042】
また、このブロックでマルチキャスト識別子を得るのではなく、マルチキャスト判定部21で、ユニキャストかマルチキャストかを判定するときにマルチキャスト識別子をあらかじめパケットに付与してから、次段のマルチキャスト処理部23に転送するようにしてもよい。
【0043】
ここで、宛先アドレスとは、マルチキャストアドレスであり、転送先アドレスを示すものではなく、複数の宛先のグループ(マルチキャストグループ)を指定するものである。
【0044】
マルチキャストテーブル232aには、あるマルチキャストアドレスに対してどの出力ポートにパケットを出力すべきかを決定するための情報が予め格納保持されている。
【0045】
図4は、マルチキャストテーブル232aにおける記憶内容の一例を示す図であり、マルチキャストテーブル232aのあるアドレスに格納されているデータを示している。図4を参照すると、一エントリあたり、Nビットの出力ポート情報とバッファ番号からなる。
【0046】
このN個のビット情報は、スイッチ1のN個の出力ポートにそれぞれ対応しており、ビットの値が“0”であるときは、該出力ポートには出力せず、ビットの値が“1”であるときは該ポートに出力する。バッファ番号は、後述するパケットバッファ部内のk個のバッファ番号に相当し、1からkまでの値が格納される。
【0047】
このバッファ番号は乱数を設定してもよいし、あるいは、ある規則で生成するか、意図的に特定の値を設定するようにしてもよい。
【0048】
このような構成によりマルチキャストテーブル232aは、あるマルチキャストアドレスを変換した結果得られるテーブルアドレスを与えると、マルチキャスト動作のために出力すべきポートの情報が得られるように予め設定されている。
【0049】
出力ポート検索部232は、マルチキャストアドレスが与えられると、マルチキャストテーブル232aを参照して、当該マルチキャストアドレスに対応した一エントリ(Nビットの出力ポート情報とバッファ番号)を出力し、該エントリから出力ポート情報と、バッファ番号を抽出し、これらをパケット振り分け部233に転送する。
【0050】
パケット振り分け部233は、パケット解析部231よりパケットを、出力ポート検索部232より出力ポート情報およびバッファ番号を受けとり、受け取ったバッファ番号に従い、パケットバッファ部234内にある、パケットバッファ234−1〜234−kのうちのいずれかのバッファにパケットおよび出力ポート情報を格納する。出力ポート情報は、図4で示している出力ポート情報と同じ形式のビットマップデータである。
【0051】
パケットバッファ234−1〜234−kは、それぞれ複数のパケットおよび出力ポート情報の組を蓄積することが可能であり、ファーストインファーストアウト(FIFO)形式、すなわち先に入力したパケットを先に出力するバッファである。
【0052】
パケットバッファ234−1〜234−kの中に1個以上のパケットが蓄積されている場合には、スケジューリング部235に対して出力要求信号を出力し、スケジューリング部235から出力許可信号を受信した場合には、バッファの先頭のパケットを送信するとともに、該送信したパケットと組となっている出力ポート情報のビットのうちいずれかを“1”から“0”に変える。すなわち、該送信したパケットに付与される出力ポート番号に対応する出力ポート情報のビット情報を“0”とする。
【0053】
もし、パケットバッファにパケットと組で蓄積されている出力ポート情報の全てのビットが“0”となったときには(すなわちNビットのうち“1”の立つビットがない場合)、そのパケットおよび出力ポート情報の組をパケットバッファから削除する。
【0054】
一方、パケットバッファ234に蓄積されている出力ポート情報の中の全てのビットが“0”となっていない場合には、パケットと出力情報ポートの組はそのままパケットバッファ234内に保留し、削除は行わない。
【0055】
ここで、Nビットのビットマップデータよりなる出力ポート情報中の全てのビットが“0”となるということは、そのパケットのマルチキャストに必要なパケットコピー動作が全て完了したということを意味する。
【0056】
すなわち、パケットバッファ234に保留されるパケットは、該パケットとともに蓄積されている出力ポート情報の中の“1”のビット位置で指定される出力ポート番号(例えばビット1が“1”の場合ポート番号1等)とともに、スイッチの入力に供給され、パケットバッファに保留されているパケットに対応する出力ポート情報のビットがすべて“0”になった時点で、指定された出力ポート分パケットをスイッチ1に供給したことになり、そのパケットおよび出力ポート情報の組をパケットバッファ234から削除する。
【0057】
スケジューリング部235では、k個のパケットバッファ234−1〜234−kから受信する出力要求信号、および選択部25から受信する出力許可信号を受信し、k個のパケットバッファ234−1〜234−kに返送する出力許可信号の出力を決定する。
【0058】
なお、選択部25からの出力許可信号を受信していない場合には、各パケットバッファに対して出力許可信号を送信しないものとする。
【0059】
選択部25からの出力許可信号を受信しているときに、出力要求信号を送信しているパケットバッファが複数あるときは、k本のうちのどの出力許可信号を送信するかについて、例えば、回転優先(Round Robin;ラウンドロビン)方式で選択する、あるいは特定のバッファを優先的に選択するなど、各種方法が用いられる。
【0060】
【発明の効果】
以上説明したように、本発明によれば下記記載の効果を奏する。
【0061】
本発明の第1の効果は、マルチキャストバッファが複数あるため、1つのマルチキャストパケットが必要な全ポートに出力し終わらなくとも、同時に複数のマルチキャストパケットを処理することが可能である、ということである。
【0062】
本発明の第2の効果は、同じマルチキャストチャンネルが同じパケットバッファに蓄積されるため、パケット順序の逆転が発生しない、いうことである。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示す図である。
【図2】本発明の一実施例における入力処理部の構成を示す図である。
【図3】本発明の一実施例の入力処理部におけるマルチキャスト処理部の構成を示す図である。
【図4】本発明の一実施例の入力処理部におけるマルチキャスト出力ポート検索部のマルチキャストテーブルの構成の一例を示す図である。
【符号の説明】
1 スイッチ
2 入力処理部
21 マルチキャスト判定部
22 ユニキャスト処理部
23 マルチキャスト処理部
25 選択部
231 パケット解析部
232 出力ポート検索部
232a マルチキャストテーブル
233 パケット振り分け部
234 バッファ
235 スケジュールング部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a packet switch, and more particularly, to a packet switch that performs multicast transmission.
[0002]
[Prior art]
In the case of performing multicast transmission (selective broadcast transmission) from a certain terminal to a plurality of destinations, for example, a multicast address is set in the header of a packet, transmitted, and routed by a switch, and transmitted to each destination terminal forming a multicast group. As a method of performing multicast transmission (selective broadcast transmission) from a switching switch to a plurality of destinations, for example, Japanese Patent No. 2778520 discloses a method in which a multicast packet cannot be output to one or more output ports at an input port of a switch. When a multicast packet is transmitted to an output port that can output, the packet data is simultaneously stored in a multicast buffer provided separately from the input buffer, and when an output port that cannot be output becomes available for output, the packet is output from the multicast buffer. Is disclosed. In this method, for a packet to be multicast, a method of writing a flag indicating multicast and destination address information to be multicast in a predetermined specific field of a header portion thereof is used.
[0003]
In other words, this conventional switch uses a multicast memory to hold a packet until all the necessary output ports can be sent out to the memory, when the packet cannot be sent out to all the necessary output ports.
[0004]
[Problems to be solved by the invention]
However, the above-mentioned conventional switch has the following problems.
[0005]
The first problem is that when a certain packet is on hold and another packet is stored in this memory, the next packet is not transmitted to all necessary ports unless the previous packet has been transmitted to all necessary ports. Is not sent out.
[0006]
Also, even if packets are not stored in the multicast memory, if the output to the required output port succeeds, or if a packet belonging to the same multicast channel happens to be stored in the multicast memory, the order of the packets is changed. It means that they will be replaced.
[0007]
Therefore, the present invention has been made in view of the above problems, and an object of the present invention is to provide a function of simultaneously outputting a packet received from one input port to a plurality of output ports, that is, a switch having no multicast function. An object of the present invention is to provide a packet switching device capable of realizing a function.
[0008]
It is another object of the present invention to provide a packet switching device that avoids the occurrence of a change in the transmission order of multicast packets. Other objects, features and the like of the present invention will be immediately clarified by the following description.
[0009]
[Means for Solving the Problems]
To achieve the above object, the present invention provides a switch for inputting a packet and a port number to which the packet is to be output, and outputting the packet to an output port specified by the port number, and inputting a packet and setting a port number to the packet. An input processing unit for applying the packet to the switch, wherein the input processing unit obtains a port number to output the packet from a multicast address of the packet when the input packet is a multicast packet. And means for supplying the packet to the switch together with the packet.
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
An embodiment of the present invention will be described below. The present invention includes an input processing unit for a switch having no multicast function, that is, a switch in which a plurality of output ports cannot be specified for one packet, and the input processing unit inputs a multicast packet. In this case, information on an output port number for realizing a multicast operation is acquired, the packet and the output port number are copied for a required output port, and supplied to an input of a switch. The configuration makes it possible to realize multicast even in a switch that does not have a multicast function.
[0011]
In an output buffer type switch having a buffer on the output side of the switch, multicasting can be easily realized by simultaneously writing a packet input from one port to a plurality of buffers provided in the switch output unit. it can. However, if the switch does not have such a configuration, multicast cannot be easily realized.
[0012]
Accordingly, the present invention realizes multicast by copying a packet a required number of times in advance and inputting the packet to the switch before inputting the packet to the switch in a switch having no multicast function.
[0013]
According to a preferred embodiment of the present invention, a switch (1) for inputting a packet and a port number to which the packet is to be output and outputting the packet to an output port designated by the port number; An input processing unit (2-1 to 2-M) for assigning a port number to a packet and supplying the packet to the switch, wherein the input processing unit (2-1 to 2-M) And a multicast judging means (21) for judging whether the packet is a unicast packet or not. If one or more packets are accumulated in the internal buffer and the packet judged to be a unicast packet by the multicast judging means (21) is output, The unicast processing means (22) for transmitting the request signal and the multicast packet determining means (21) Is processed, and the packet is stored in an internal buffer as a set of output port information designating an output port number of the switch corresponding to a multicast address, and one or more packets are stored in the internal buffer. If the output request signal is stored, a multicast processing means (23) for transmitting an output request signal and an output permission signal selectively for an output request signal from the unicast processing means (22) and / or the multicast processing means (23). Selecting means (25) for transferring a packet and an output port number output from the unicast processing means or the multicast processing means permitted to be output to an input of the switch (1). 23) describes the packet and output port information stored in an internal buffer. To, when the output permission signal is given, sequentially output port component which is specified by the output port information, and outputs the grant output port number to the packet.
[0014]
In the embodiment of the present invention, the multicast processing means (23) receives a packet output from the multicast determination means (21), analyzes a header of the packet, and outputs a multicast address, and a packet analysis means (231). A packet buffer (234) having a plurality of buffers, output port information defining which of the plurality of output ports of the switch to output to each of the entries, and which packet buffer stores the packet. A multicast table (232a) including a buffer number that defines the following. Receiving a multicast address output by the packet analysis means (231), searching the multicast table based on a table address generated from the multicast address. , An output port search unit (232) for acquiring a buffer number for performing a multicast operation and output port information for designating an output port number of the switch; and the packet output from the output port search unit. A packet distribution unit (233) for outputting the packet and the output port information to any of the plurality of buffers with reference to the buffer number, wherein the plurality of buffers (234-1 to 234-k) The output means is provided in correspondence with a plurality of outputs of the sorting means (233), receives the packet output from the packet sorting means (233), receives the output port information from the output port searching means, and outputs the packet and the output. It is stored as a pair with the port information in the buffer specified by the packet number, and And a scheduling means (235) for monitoring a transmission request signal output from the buffer (234) and an output permission signal output from the selection means, and outputting a transmission permission signal to any of the plurality of buffers. ing.
[0015]
【Example】
Embodiments of the present invention will be described below in more detail with reference to the drawings in order to describe the embodiments of the present invention in more detail. FIG. 1 is a diagram showing the configuration of an embodiment of the packet switch of the present invention. Referring to FIG. 1, this packet switch includes a
[0016]
The
[0017]
Each of the M input processing units 2-1 to 2-M receives a packet from a packet input line, and transfers the received packet to the
[0018]
FIG. 2 shows one configuration of the input processing units 2-1 to 2-M according to an embodiment of the present invention. The input processing units 2-1 to 2-M in FIG. 1 have the same configuration.
[0019]
Referring to FIG. 2, an
[0020]
FIG. 3 is a diagram showing a configuration of the
[0021]
The operation of one embodiment of the present invention will be described with reference to FIG.
[0022]
The
[0023]
Upon receiving the packet, the
[0024]
The operation of the
[0025]
The
[0026]
When the received packet is determined to be a unicast packet by the
[0027]
It should be noted that whether the received packet is a unicast packet or a multicast packet is determined before being input to the
[0028]
The
[0029]
In addition, as a method of obtaining the output port number of the
[0030]
Similarly to the
[0031]
The
[0032]
When the output request signal is output only from one of the
[0033]
Further, the
[0034]
Next, the operation of the
[0035]
The packet input to the
[0036]
The
[0037]
The output
[0038]
When receiving the destination address from the
[0039]
There are several other methods for obtaining the table address from the destination address.
[0040]
For example,
(1) Use part or all of the destination address as a table address.
[0041]
(2) A table indicating the correspondence between the destination address and the table address is created in advance, and conversion is performed according to the contents of the table.
[0042]
Also, instead of obtaining the multicast identifier in this block, the
[0043]
Here, the destination address is a multicast address and does not indicate a transfer destination address but designates a group of a plurality of destinations (multicast group).
[0044]
The multicast table 232a stores in advance information for determining which output port should output a packet to a certain multicast address.
[0045]
FIG. 4 is a diagram showing an example of the contents stored in the multicast table 232a, and shows data stored at a certain address in the multicast table 232a. Referring to FIG. 4, one entry is composed of N-bit output port information and a buffer number.
[0046]
The N pieces of bit information respectively correspond to the N output ports of the
[0047]
This buffer number may be set to a random number, may be generated according to a certain rule, or a specific value may be set intentionally.
[0048]
With such a configuration, the multicast table 232a is preset so that, when a table address obtained as a result of converting a certain multicast address is given, information on a port to be output for the multicast operation is obtained.
[0049]
When given a multicast address, the output
[0050]
The
[0051]
Each of the packet buffers 234-1 to 234-k can store a set of a plurality of packets and output port information, and outputs a first-in first-out (FIFO) format, that is, a packet that has been input first. It is a buffer.
[0052]
When one or more packets are stored in the packet buffers 234-1 to 234-k, an output request signal is output to the
[0053]
If all the bits of the output port information stored in the packet buffer as a pair with the packet become “0” (that is, if there is no N bit with “1” set), the packet and the output port Delete the set of information from the packet buffer.
[0054]
On the other hand, when all the bits in the output port information stored in the
[0055]
Here, when all the bits in the output port information composed of N-bit bitmap data become “0”, it means that all the packet copy operations necessary for multicasting the packet have been completed.
[0056]
That is, the packet held in the
[0057]
The
[0058]
If no output permission signal is received from the
[0059]
When receiving the output permission signal from the
[0060]
【The invention's effect】
As described above, according to the present invention, the following effects can be obtained.
[0061]
A first effect of the present invention is that since there are a plurality of multicast buffers, it is possible to process a plurality of multicast packets at the same time without outputting one multicast packet to all necessary ports. .
[0062]
A second effect of the present invention is that the same multicast channel is stored in the same packet buffer, so that the packet order does not reverse.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of an embodiment of the present invention.
FIG. 2 is a diagram illustrating a configuration of an input processing unit according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating a configuration of a multicast processing unit in the input processing unit according to one embodiment of the present invention.
FIG. 4 is a diagram illustrating an example of a configuration of a multicast table of a multicast output port search unit in an input processing unit according to an embodiment of the present invention.
[Explanation of symbols]
1
Claims (6)
入力したパケットがマルチキャストパケットであることを認識した場合に、前記パケットのマルチキャストアドレスから、前記パケットを出力すべき前記スイッチの出力ポート番号を指定した出力ポート情報と、前記パケットを一時的に蓄積するバッファ番号を取得する手段と、
複数のバッファよりなり、前記バッファ番号のバッファに、前記パケットと前記取得された出力ポート情報とを一組として一時的に蓄積する記憶手段と、
前記記憶手段に蓄積されている出力ポート情報で指定されている出力ポートの数分、前記出力ポート情報と組をなして蓄積されている前記パケットを出力ポート番号とともに順次前記スイッチの入力に供給する手段と、
を備えたことを特徴とするパケット交換装置。 It does not have a multicast function to output one packet to a plurality of output ports at the same time, and inputs a packet and a port number to which the packet is to be output, and outputs the packet to an output port specified by the port number In a packet switching device having a switch,
When the input packet is recognized to be a multicast packet, output port information designating an output port number of the switch to output the packet from the multicast address of the packet and the packet are temporarily stored. Means for obtaining a buffer number ;
A storage unit comprising a plurality of buffers, and temporarily storing the packet and the obtained output port information as a set in the buffer of the buffer number ,
The packets stored in pairs with the output port information are sequentially supplied to the input of the switch together with the output port number for the number of output ports specified by the output port information stored in the storage means. Means,
A packet switching device comprising:
パケットを入力し前記パケットに出力ポート番号を付与して前記スイッチの入力ポートに供給する複数の入力処理部と、を備え、
前記各入力処理部が、入力したパケットがマルチキャストパケットであることを認識した場合に、前記パケットを処理するマルチキャスト処理手段を備え、
前記マルチキャスト処理手段が、
マルチキャストアドレスに対応させて、前記パケットを蓄積するバッファ番号と前記パケットを出力すべき前記スイッチの出力ポート番号を指定した出力ポート情報とを対応させて格納したテーブルと、
前記パケットのヘッダから抽出されたマルチキャストアドレスに基づき前記テーブルを参照してバッファ番号と前記スイッチの出力ポート情報とを取得する手段と、
前記パケットと前記出力ポート情報とを組として一時的に蓄積する複数のバッファと、
前記パケットと前記出力ポート情報とを組として前記バッファ番号で指定された前記バッファに振り分ける手段と、
前記複数のバッファのうち出力許可されたバッファに蓄積されている、前記パケットと出力ポート情報から、前記出力ポート情報で指定される出力ポートについて順次、前記パケットに出力ポート番号を付与して前記スイッチに供給する手段と、
を備えていることを特徴とするパケット交換装置。A switch that receives a packet and a port number to output the packet as input, and outputs the packet to an output port specified by the port number;
A plurality of input processing units that input a packet, provide an output port number to the packet, and supply the packet to an input port of the switch,
Each of the input processing units, when recognizing that the input packet is a multicast packet, comprises a multicast processing means for processing the packet,
The multicast processing means,
A table storing the buffer number for storing the packet and the output port information designating the output port number of the switch to output the packet in association with the multicast address;
Means for referring to the table based on the multicast address extracted from the header of the packet to obtain a buffer number and output port information of the switch,
A plurality of buffers for temporarily storing the packet and the output port information as a set,
Means for distributing the packets and the output port information to the buffer specified by the buffer number as a set,
The output port number assigned to the packet is sequentially assigned to the output port specified by the output port information from the packet and the output port information stored in the buffer of which output is permitted among the plurality of buffers. Means for supplying
A packet switching device comprising:
パケットを入力し前記パケットに出力ポート番号を付与して前記スイッチへ供給する入力処理部と、を備え、
前記入力処理部が、入力したパケットがマルチキャストパケットであるかユニキャストか判定するマルチキャスト判定手段と、
前記マルチキャスト判定手段でユニキャストパケットと判定されたパケットを内部のバッファに蓄積し、パケットが蓄積されている場合、出力要求信号を送出するユニキャスト処理手段と、
前記マルチキャスト判定手段でマルチキャストパケットと判定されたパケットを処理し、前記パケットを、マルチキャストアドレスに対応した前記スイッチの出力ポート番号を指定する出力ポート情報とともに1組として内部バッファに蓄積し、少なくとも1つのパケットが前記内部バッファに蓄積されている場合、出力要求信号を送出するマルチキャスト処理手段と、
前記ユニキャスト処理手段及び/又は前記マルチキャスト処理手段からの出力要求信号に対して選択的に出力許可を与え、出力許可された前記ユニキャスト処理手段又は前記マルチキャスト処理手段から出力されるパケット及び出力ポート番号を前記スイッチの入力に供給する選択手段と、
を備え、
前記マルチキャスト処理手段は、前記内部バッファに蓄積されている前記パケットと出力ポート情報から、前記出力ポート情報で指定される出力ポートについて順次、前記パケットに出力ポート番号を付与して出力する、ことを特徴とするパケット交換装置。A switch that receives a packet and a port number to output the packet as input, and outputs the packet to an output port specified by the port number;
An input processing unit that inputs a packet, assigns an output port number to the packet, and supplies the packet to the switch.
The input processing unit, a multicast determination unit that determines whether the input packet is a multicast packet or unicast,
Unicast processing means for storing a packet determined as a unicast packet by the multicast determination means in an internal buffer, and transmitting an output request signal when the packet is stored,
Processing the packet determined as a multicast packet by the multicast determination means, storing the packet as a set together with output port information designating an output port number of the switch corresponding to a multicast address in an internal buffer; Multicast processing means for transmitting an output request signal when a packet is stored in the internal buffer;
An output permission is selectively given to an output request signal from the unicast processing means and / or the multicast processing means, and a packet and an output port output from the unicast processing means or the multicast processing means permitted to output. Selecting means for supplying a number to the input of the switch;
With
The multicast processing means, from the packet and output port information stored in the internal buffer, sequentially assigns an output port number to the packet for an output port specified by the output port information, and outputs the packet. Characteristic packet switching device.
複数のバッファを備えたパケットバッファと、
一エントリあたり、前記スイッチの複数の出力ポートのうちどのポートに出力するかを規定する出力ポート情報と、どのバッファに前記パケットを格納するかを規定するバッファ番号とを含むマルチキャストテーブルを備え、前記パケット解析手段が出力するマルチキャストアドレスを受け取り、前記マルチキャストアドレスから生成されたテーブルアドレスに基づき、前記マルチキャストテーブルを検索して、マルチキャスト動作させるためのバッファ番号と、前記スイッチの出力ポート番号を指定する出力ポート情報とを取得する出力ポート検索手段と、前記パケットを、前記出力ポート検索手段から出力される前記バッファ番号を参照して、前記パケット及び出力ポート情報を前記複数のバッファのいずれかに出力するパケット振り分け手段と、
を備え、
前記パケットバッファの複数のバッファは、前記パケット振り分け手段の複数の出力にそれぞれ対応して設けられ、前記パケット振り分け手段から出力される前記パケットを受け取るとともに、前記出力ポート検索手段から前記出力ポート情報を受け取り、前記パケットと前記出力ポート情報とを組として前記パケット番号で指定されたバッファに格納し、
前記パケットバッファが出力する送信要求信号と、前記選択手段より出力される出力許可信号とを監視し、前記複数のバッファのいずれかに送信許可信号を出力するスケジューリング手段と、を備えている、ことを特徴とする請求項4記載のパケット交換装置。A packet analysis unit that receives the packet output from the multicast determination unit, analyzes the header of the packet, and outputs a multicast address;
A packet buffer having a plurality of buffers;
Per entry, comprising a multicast table including output port information that specifies which of the plurality of output ports of the switch to output to, and a buffer number that specifies which buffer stores the packet, Receiving a multicast address output by the packet analysis means, searching the multicast table based on a table address generated from the multicast address, and specifying a buffer number for performing a multicast operation and an output port number of the switch; Output port searching means for obtaining port information; and outputting the packet and the output port information to any of the plurality of buffers with reference to the buffer number output from the output port searching means. Packet distribution And means,
With
The plurality of buffers of the packet buffer are provided corresponding to the plurality of outputs of the packet distribution unit, respectively, receive the packet output from the packet distribution unit, and output the output port information from the output port search unit. Receiving, storing the packet and the output port information as a set in a buffer designated by the packet number,
A scheduling unit that monitors a transmission request signal output from the packet buffer and an output permission signal output from the selection unit, and outputs a transmission permission signal to any of the plurality of buffers. The packet switching device according to claim 4, wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14115599A JP3557946B2 (en) | 1999-05-21 | 1999-05-21 | Packet switching equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14115599A JP3557946B2 (en) | 1999-05-21 | 1999-05-21 | Packet switching equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000332752A JP2000332752A (en) | 2000-11-30 |
JP3557946B2 true JP3557946B2 (en) | 2004-08-25 |
Family
ID=15285420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14115599A Expired - Fee Related JP3557946B2 (en) | 1999-05-21 | 1999-05-21 | Packet switching equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3557946B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4782951B2 (en) * | 2001-07-31 | 2011-09-28 | 富士通株式会社 | Broadcast communication system |
TW569575B (en) | 2002-04-30 | 2004-01-01 | Realtek Semiconductor Corp | Transmission setup method and device for multicast packet |
GB0524126D0 (en) * | 2005-11-26 | 2006-01-04 | Cogniscience Ltd | Data transmission method |
-
1999
- 1999-05-21 JP JP14115599A patent/JP3557946B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000332752A (en) | 2000-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE44151E1 (en) | Switching ethernet controller | |
US8107377B2 (en) | Reordering packets | |
US6987762B2 (en) | Packet exchange and router and input packet processing method thereof | |
US8397233B2 (en) | Systems and methods for preserving the order of data | |
KR920002902B1 (en) | Wideband digital switching network | |
US6499061B1 (en) | Method and system for assigning labels to data flows over a packet switched network | |
US7110405B2 (en) | Multicast cell buffer for network switch | |
US20080095170A1 (en) | Sequence-preserving deep-packet processing in a multiprocessor system | |
US4907220A (en) | Process for the establishment of virtual connections passing through switching matrices of a multi-stage switching system | |
US5398235A (en) | Cell exchanging apparatus | |
US6445680B1 (en) | Linked list based least recently used arbiter | |
KR100454336B1 (en) | Apparatus and Method of Managing Cells in the ATM Switch | |
JPH09297746A (en) | Method for communication between processors, and processor used for the method | |
US7505476B2 (en) | Packet transfer path control apparatus and control program therefor | |
JP2000503194A (en) | Logical Multicast Scheme from Switches Configured for Spatial Multicast | |
JP3557946B2 (en) | Packet switching equipment | |
JPH10322347A (en) | Network communication equipment | |
US7613200B1 (en) | Method and apparatus using a random indication to map items to paths and to recirculate or delay the sending of a particular item when a destination over its mapped path is unreachable | |
JP2739949B2 (en) | Communication buffer device | |
CA2090101C (en) | Cell exchanging apparatus | |
JP4015358B2 (en) | Multicast communication relay method | |
JPH02190059A (en) | Buffer controller | |
US20040090961A1 (en) | Parallel processing routing device | |
JP2002077168A (en) | Atm switch | |
CA2313683A1 (en) | Data switching system and data switching method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040427 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040510 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090528 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100528 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110528 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110528 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120528 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120528 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130528 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140528 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |