(57)【要約】 【課題】  本発明は、ネットワーク中継装置に関し、マルチキャスト・パケットを高速に処理することができるネットワーク中継装置を提供することを目的とする。【解決手段】  ヘッダ情報ライト部２３３ｂは、受信したパケットがマルチキャスト・パケットであると判定すると、マルチキャストテーブル２３５により該パケットのマルチキャストＩＤから出力ポートの情報を取得し、この出力ポートの情報に基づいて、データリード部２３４に出力ポート数分の出力依頼をする。データリード部２３４では、出力ポートごとに、パケットバッファ２３１に記憶されているパケットデータを読み出して、出力ポートを設定して出力を行う。【選択図】      図２
2006014187.tif 000002
【特許請求の範囲】
【請求項１】
パケットの送受信を行う複数のポートを有する送受信部（１）と、前記パケットを中継するための処理を行う中継処理部（２）とを備え、マルチキャスト・パケットの処理を行うネットワーク中継装置において、
前記中継処理部は、受信したパケットのデータを格納するバッファ（２３１）と、マルチキャストグループ毎に、出力すべきポートを示す出力ポート情報を記憶したマルチキャストテーブル（２３５）と、受信したパケットのデータを前記バッファに格納するとともに、受信したパケットから抽出されたマルチキャストグループを識別する情報により前記マルチキャストテーブルから出力すべきポートを得て、当該ポートの数分前記バッファからパケットを読み出して当該ポートのそれぞれに向けて送信する制御部（２３３、２３４）とを有することを特徴とするネットワーク中継装置。
【請求項２】
自装置内でマルチキャストグループを識別する情報として、マルチキャストグループに対応する番号をマルチキャストＩＤとして設定し、前記マルチキャストテーブルは、該マルチキャストＩＤ毎に出力すべきポートの情報を記憶することを特徴とする請求項１に記載のネットワーク中継装置。
【請求項３】
前記制御部は、前記マルチキャストテーブルの出力ポート情報を、受信したパケットのデータとともに前記バッファに格納し、パケットの送信が完了したポートを前記バッファに格納した出力ポート情報から削除し、前記バッファに格納した出力ポート情報に出力すべきポートが無くなったときに、前記バッファの該パケットで使用している領域を解放することを特徴とする請求項１または請求項２に記載のネットワーク中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中継装置に関し、特に、マルチキャスト・パケットを処理するネットワーク中継装置に関する。
【背景技術】
【０００２】
従来、受信したマルチキャスト・パケットを、そのマルチキャストグループを識別する情報（例えば、宛先アドレス）に対応した方路（ポート）にコピーして送信するネットワーク中継装置が知られており、この種のネットワーク中継装置としては、受信したパケットのヘッダ情報を一旦抽出し、抽出したヘッダ情報からマルチキャストグループを識別する情報を読み出し、この識別情報からパケットをコピーする回数を求め、求めた回数分受信したパケットをコピーし、コピーしたパケットのヘッダ情報を再度抽出し、抽出したヘッダ情報からヘッダを変換するための情報を読み出し、読み出した情報に基づいてヘッダを書き換えて、方路に送信するようになっている（例えば、特許文献１参照）。
【特許文献１】特開平５−３００１７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、このような従来のネットワーク中継装置にあっては、パケットのコピー数を求めるために、受信したパケットのヘッダ情報を抽出して読み出しを行い、コピーしたパケットのヘッダ書き換えのために、コピーしたパケットのヘッダ情報を抽出して読み出しを行っており、同様の処理を２回行っているため、処理に無駄があり、時間がかかるという問題があった。
【０００４】
そこで、本発明は、マルチキャスト・パケットの処理を効率化して、マルチキャスト・パケットを高速に処理することができるネットワーク中継装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決する第１の発明は、パケットの送受信を行う複数のポートを有する送受信部（１）と、前記パケットを中継するための処理を行う中継処理部（２）とを備え、マルチキャスト・パケットの処理を行うネットワーク中継装置において、前記中継処理部は、受信したパケットのデータを格納するバッファ（２３１）と、マルチキャストグループ毎に、出力すべきポートを示す出力ポート情報を記憶したマルチキャストテーブル（２３５）と、受信したパケットのデータを前記バッファに格納するとともに、受信したパケットから抽出されたマルチキャストグループを識別する情報により前記マルチキャストテーブルから出力すべきポートを得て、当該ポートの数分前記バッファからパケットを読み出して当該ポートのそれぞれに向けて送信する制御部（２３３、２３４）とを有することを特徴とするものである。
【０００６】
この発明では、マルチキャストテーブルに、マルチキャストグループ毎に出力すべきポートの情報が記憶され、この情報により出力すべきポートや出力するポートの数が分かる。
【０００７】
上記課題を解決する第２の発明は、上記第１の発明の構成に加え、自装置内でマルチキャストグループを識別する情報として、マルチキャストグループに対応する番号をマルチキャストＩＤとして設定し、前記マルチキャストテーブルは、該マルチキャストＩＤ毎に出力すべきポートの情報を記憶することを特徴とするものである。
【０００８】
この発明では、自装置内では、マルチキャストグループに対応する番号であるマルチキャストＩＤでマルチキャストグループが識別される。
【０００９】
上記課題を解決する第３の発明は、上記第１または第２の発明の構成に加え、前記制御部は、前記マルチキャストテーブルの出力ポート情報を、受信したパケットのデータとともに前記バッファに格納し、パケットの送信が完了したポートを前記バッファに格納した出力ポート情報から削除し、前記バッファに格納した出力ポート情報に出力すべきポートが無くなったときに、前記バッファの該パケットで使用している領域を解放することを特徴とするものである。
【００１０】
この発明では、バッファに格納された出力ポート情報から、出力が終わったポートの情報が削除され、出力ポート情報に出力すべきポートが無くなったときにバッファが解放される。
【発明の効果】
【００１１】
本発明によれば、マルチキャストテーブルに、マルチキャストグループ毎に、出力すべきポートを示す出力ポート情報を記憶しているので、マルチキャストグループが１度識別されれば、出力すべきポートも出力するポートの数も求めることができ、マルチキャスト・パケットの処理を効率化することができ、マルチキャスト・パケットを高速に処理することができる。
【００１２】
また、自装置内でマルチキャストグループを識別する情報として、マルチキャストグループに対応する番号（マルチキャストＩＤ）を使用するようにすれば、マルチキャストグループを識別するための情報量を削減することができるとともに、マルチキャストグループを検索する処理を効率化することができる。
【００１３】
また、マルチキャストテーブルの出力ポート情報をバッファに格納し、パケットの送信が完了したポートをこの出力ポート情報から削除し、出力すべきポートが無くなったときに、バッファの領域を解放するようにすれば、バッファの解放を確実に行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を図面を参照して説明する。
【００１５】
図１は本発明の第１実施形態のネットワーク中継装置を示す図である。
【００１６】
図１において、本実施形態のネットワーク中継装置は、複数のポートを有し、該ポートにパケットを送受信する送受信部１と、送受信部１が受信したパケットを予め設定された情報に従って、送信先のポートに送信する中継処理部２とを備えている。
【００１７】
送受信部１は、備える複数のポートを、所定の数毎に処理するポート処理部１１（１１ａ〜１１ｘ）を１つまたは複数備えている。図では、パケットの処理経路を分かりやすくするため、受信と送信で別々のポート処理部を記載したが、ポート処理部は受信と送信を両方行うもので、図の左側のポート処理部１１と右側のポート処理部は同一のものである。
【００１８】
中継処理部２は、送受信部１で受信したパケットに自装置内で使用する情報を付加する受信処理部２１（２１ａ〜２１ｘ）と、受信処理部２１で処理したパケットをスイッチングして指定された出力先に出力するスイッチ部２２と、スイッチ部２２でスイッチングされたパケットを指定されたポートに送受信部１を介して送信する送信処理部２３（２３ａ〜２３ｘ）とを備えている。
【００１９】
受信処理部２１と送信処理部２３は、共に１つのポート処理部１１とのみ接続され、接続されたポート処理部１１の備えるポートに関する処理のみを行う。
【００２０】
図２は、送信処理部２３のブロック図である。
【００２１】
図２に示すように、送信処理部２３は、スイッチ部２２から送られたパケットを記憶しておくパケットバッファ２３１と、パケットバッファ２３１への書き込みや読み出しを制御するパケットバッファ制御部２３２と、スイッチ部２２からパケットを受け取り、受け取ったパケットをパケットバッファ２３１に書き込むデータライト部２３３と、パケットバッファ２３１からパケットを読み出して送受信部１に送信依頼をするデータリード部２３４と、マルチキャストグループ毎に出力するポートの情報を保持しているマルチキャストテーブル２３５とを備えている。
【００２２】
さらに、データライト部２３３は、スイッチ部２２から受け取ったパケットをパケットバッファ制御部２３２によりパケットバッファ２３１に書き込むパケットデータライト部２３３ａと、パケットを書き込んだ領域を管理するためのヘッダ情報をパケットバッファ制御部２３２によりパケットバッファ２３１に書き込むヘッダ情報ライト部２３３ｂとを備えている。
【００２３】
このようなネットワーク中継装置において、ポート処理部１１が受信したパケットは、ポート処理部１１でパケットのヘッダ情報が分析され、図３に示すように、受信したパケットのデータ（ＤＡ（宛先アドレス）、ＳＡ（送信元アドレス）、Ｄａｔａ（データ））に、マルチキャストかユニキャストかを示すマルチキャスト／ユニキャスト識別フラグ（１ビット）、マルチキャストグループを識別するマルチキャストＩＤ（１５ビット）、出力するポートの番号（出力ポート：４ビット）などの制御データが付加される。
【００２４】
なお、出力ポートは、この時点では領域のみ確保され、値は設定されない。
【００２５】
マルチキャストＩＤは、受信パケットのＤＡで識別されるマルチキャストグループを、装置内で識別するためのもので、マルチキャストグループ毎に送信先のポートが予め決められている。
【００２６】
ポート処理部１１は、受信パケットデータに制御データを付加すると、このパケットデータを受信処理部２１に送る。
【００２７】
受信処理部２１は、パケットデータを受け取ると、制御データの情報を元に、パケットデータの送出先の送信処理部２３を決定し、スイッチ部２２によりパケットデータを送出先の送信処理部２３に送る。
【００２８】
このとき、パケットデータがマルチキャストのパケットの場合、マルチキャストＩＤにより送出先の送信処理部２３が決まり、複数の送信処理部２３へ送出する場合は、スイッチ部２２においてパケットデータがコピーされて送出される。
【００２９】
送信処理部２３のデータライト部２３３は、スイッチ部２２からパケットデータを受け取ると、パケットデータライト部２３３ａによりパケットバッファ制御部２３２からパケットデータを格納するための領域を取得し、取得した領域にパケットデータをライトする。
【００３０】
このとき、パケットデータライト部２３３ａは、パケットデータのマルチキャスト／ユニキャスト識別フラグ及びマルチキャストＩＤを読み出して記憶しておき、パケットデータを全てライトした後、パケットデータを格納したアドレスと、パケットの長さと、記憶していたマルチキャスト／ユニキャスト識別フラグ及びマルチキャストＩＤのマルチキャスト情報をヘッダ情報ライト部２３３ｂに送る。
【００３１】
図４は、パケットバッファ２３１のパケットデータ格納の方法を示す図である。図４に示すように、パケットバッファ２３１は、１２８バイト単位の領域に分けられ、各領域にはアドレスが付与され、このアドレスで管理されている。
【００３２】
このパケットバッファ２３１にパケットデータを格納する際は、パケットデータの長さに、パケットデータの格納状態を示すヘッダ情報分の３２バイトを加えた長さの領域が確保され、確保された領域の先頭はヘッダ情報の領域とし、それ以降にパケットデータの実データが格納され、実データが格納されているアドレスと実データの長さがヘッダ情報に格納される。
【００３３】
ヘッダ情報の領域には、先頭からパケットデータの実データの格納されているアドレスが２バイト単位で格納され、ヘッダ情報の最後の２バイトは、パケットデータの長さが格納される。
【００３４】
図４の例では、アドレスの０番地から格納されているパケットデータのヘッダ情報は、０番地の先頭から３２バイト分に格納されていて、残りの９６バイトには実データが格納されている。
【００３５】
ヘッダ情報の先頭から格納されている０、１、２（２バイト単位）は、実データが格納されているアドレスを示すもので、０から２番地に実データが格納されていることを示す。
【００３６】
ヘッダ情報の最後の２バイトにはパケットデータの長さがバイト単位で設定されており、この場合２８０バイトで、３番地分の領域が必要であることと、最後の番地の領域の何バイト目までデータが格納されているかが分かる。
【００３７】
同様に、アドレス３番地から格納されているパケットデータは、長さが１９６バイトで２番地分の領域が必要であり、３、４番地に格納されている。
【００３８】
パケットデータライト部２３３ａでは、パケットデータの実データの書き込みを行い、ヘッダ情報ライト部２３３ｂで、ヘッダ情報の書き込みを行う。
【００３９】
ヘッダ情報ライト部２３３ｂは、パケットデータの格納アドレスと、パケットの長さと、マルチキャスト情報を受け取ると、パケットデータの格納アドレスとパケットの長さを、図４に示すように、パケットデータの格納アドレスの先頭のアドレスで示される領域の、先頭から３２バイトのヘッダ情報の領域にライトし、マルチキャスト情報のマルチキャスト／ユニキャスト識別フラグを判定し、パケットがマルチキャストであれば、マルチキャストテーブル２３５によりマルチキャストＩＤからパケットを出力するポートを得る。
【００４０】
図５は、マルチキャストテーブル２３５の構成を示す図である。
【００４１】
図５に示すように、マルチキャストテーブル２３５は、宛先識別ＩＤ（マルチキャストＩＤ）に対して、出力先のポートの情報（出力ポート情報）が記憶されている。
【００４２】
出力先のポートの情報は、１６ビットのビット列で構成され、各ビットが１つのポートに対応しており（例えば、下位側から順にポート０からポート１５のように）、ビットの値が１のとき、そのビットに対応するポートにパケットを出力する。
【００４３】
図５の例では、宛先識別ＩＤが１のとき、ポート０とポート２に出力することになり、宛先識別ＩＤが２のときは、ポート１５のみに出力することになる。
【００４４】
ヘッダ情報ライト部２３３ｂは、マルチキャスト・パケットの出力先のポートの情報を得ると、出力先のポートの数分、パケットデータの格納状態を示すヘッダ情報の格納アドレスと出力ポートをデータリード部２３４へ送る。
【００４５】
データリード部２３４は、ヘッダ情報の格納アドレスと出力ポートを受け取ると、バッファに格納し、このバッファから順次ヘッダ情報の格納アドレスと出力ポートを取り出して、パケットバッファ制御部２３２によりパケットバッファ２３１の取り出したヘッダ情報の格納アドレスからパケットのデータを取り出し、取り出した出力ポートをパケットデータの制御データの出力ポートに設定し、接続されている送受信部１のポート処理部１１に出力する。
【００４６】
ポート処理部１１は、パケットの出力要求を受け付けると、パケットデータから制御データを外し、必要に応じてヘッダ部分の書き換えを行い、制御データの出力ポートに指定されたポートにパケットを送信する。
【００４７】
データリード部２３４は、同じヘッダ情報格納アドレスのパケット出力処理が終了すると、当該パケットが格納されている領域をパケットバッファ制御部２３２により解放する。
【００４８】
このように本実施形態においては、マルチキャストテーブル２３５にマルチキャストグループを識別するマルチキャストＩＤ毎の出力ポートの情報を保持し、この情報によりパケットを出力すべきポートや出力するポートの数を得られるようにしているので、ポート処理部１１でヘッダ情報を分析して得られたマルチキャストＩＤにより送信処理部２３でパケットを出力すべきポートや出力するポートの数を得ることができ、マルチキャスト・パケットの処理を効率化することができ、マルチキャスト・パケットを高速に処理することができる。
【００４９】
また、自装置内では、マルチキャストグループを識別するためにマルチキャストＩＤを使用しているので、マルチキャストグループを識別する情報量を削減することができるとともに、マルチキャストグループを検索する処理を効率化することができ、マルチキャスト・パケットを高速に処理することができる。
【００５０】
また、パケットバッファ２３１には、パケットデータを１つ分しか記憶せず、出力時に１つずつコピーして出力を行っているので、パケットバッファ２３１を効率的に使用することができる。
【００５１】
次に、図６は本発明の第２実施形態のネットワーク中継装置を示す図である。なお、本実施形態は、上述第１実施形態と略同様に構成されているので、図１、図２を流用して特徴部分のみ説明する。
【００５２】
本実施形態においては、パケットデータの格納状態を示すヘッダ情報にマルチキャストテーブルの出力ポートの情報を格納し、この情報により各ポートに出力されたか否かを管理する。
【００５３】
具体的には、図６に示すように、ヘッダ情報ライト部２３３ｂは、パケットバッファ２３１にヘッダ情報をライトする前に、マルチキャスト情報のマルチキャスト／ユニキャスト識別フラグを判定し、パケットがマルチキャスト・パケットであれば、マルチキャストテーブル２３５から出力ポートの情報を取得し、取得した情報を図６に示すように、ヘッダ情報のパケットの長さの前の２バイトのビットデータとして、パケットバッファ２３１にライトする。
【００５４】
その後、ヘッダ情報ライト部２３３ｂは、上述の実施形態と同様に、出力先のポートの数分、パケットデータの格納状態を示すヘッダ情報の格納アドレスと出力ポートをデータリード部２３４へ送る。
【００５５】
データリード部２３４は、ヘッダ情報の格納アドレスと出力ポートを受け取ると、上述の実施形態と同様に、バッファに格納し、このバッファから順次ヘッダ情報の格納アドレスと出力ポートを取り出して、パケットバッファ制御部２３２によりパケットバッファ２３１の取り出したヘッダ情報の格納アドレスからパケットのデータを取り出し、取り出した出力ポートをパケットデータの制御データの出力ポートに設定し、接続されている送受信部１のポート処理部１１に出力する。
【００５６】
ポートへの出力処理が終了すると、データリード部２３４は、当該パケットのヘッダ情報の出力ポートの情報の処理が終了したポートのビットを１から０に変更し、出力ポートの情報が全て０になったら、当該パケットが格納されている領域をパケットバッファ制御部２３２により解放する。
【００５７】
このように本実施形態においては、ヘッダ情報に出力ポートの情報を格納し、出力が終わったポートの出力ポートの情報は削除しているので、未出力のポートを容易に知ることができるとともに、全ポートへの出力が終了したことを容易に知ることができ、パケットバッファの解放を確実に行うことができる。
【図面の簡単な説明】
【００５８】
【図１】本発明の第１実施形態を示す図であり、そのブロック図である。
【図２】その送信処理部のブロック図である。
【図３】そのパケットデータの構成図である。
【図４】そのパケットバッファのパケットデータ格納の方法を示す図である。
【図５】そのマルチキャストテーブル構成図である。
【図６】本発明の第２実施形態を示す図であり、そのパケットバッファのパケットデータ格納の方法を示す図である。
【符号の説明】
【００５９】
１  送受信部
１１  ポート処理部
２  中継処理部
２１  受信処理部
２２  スイッチ部
２３  送信処理部
２３１  パケットバッファ
２３２  パケットバッファ制御部
２３３  データライト部
２３３ａ  パケットデータライト部
２３３ｂ  ヘッダ情報ライト部
２３４  データリード部
２３５  マルチキャストテーブル
【図１】
2006014187.tif 000003
【図２】
2006014187.tif 000004
【図３】
2006014187.tif 000005
【図４】
2006014187.tif 000006
【図５】
2006014187.tif 000007
【図６】
2006014187.tif 000008