(57)【要約】【課題】  スイッチング機能ブロックでのトラフィック量を減少させ、マルチキャストＭＰＬＳノードのパケットの転送効率を向上させる。【解決手段】  本発明は、入力側のＮＰ機能ブロックにおいて、入力されたマルチキャストＭＰＬＳパケットの入力ラベルに基づいて、出力ラベルと出力スイッチアドレスが関連付けられたＭＰＬＳテーブルから出力側のスイッチアドレスと出力ラベルを検索し、検索された複数の宛先分の出力側のスイッチアドレスと出力アドレスのみを作成して、マルチキャストＭＰＬＳパケットのデータヘッダとして付与し、スイッチ機能ブロックに転送し、スイッチ機能ブロックにおいて、マルチキャストＭＰＬＳパケットをコピーして、出力側のＮＰ機能ブロックのスイッチアドレスに対応する出力側のＮＰ機能ブロックに送出する。【選択図】  図１
2005354386.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークインタフェースから入力されるＭＰＬＳの入力ラベルから適切な出力ラベルを検索する機能と、該入力ラベルをポップし、出力ラベルをプッシュする機能を有するネットワークプロセッサ（ＮＰ）機能ブロックと、該ネットワークインタフェースから入力されたパケットを指定した単一／複数のＮＰインタフェースにスイッチングする機能を有するスイッチアーキテクチャと、該ＮＰインタフェースから入力されたパケットを適切な出力ＮＰインタフェースにスイッチするためのスイッチアドレス情報及びマルチキャスト転送機能を有するパケットスイッチ機能ブロックと、を備え、該入力ラベルを複数の出力ラベルにラベル交換することによりＭＰＬＳパケットをポイントツーマルチポイントでラベル転送可能なマルチキャストＭＰＬＳノードのパケット転送部で、ポイントツーマルチポイントのラベルの転送を行なう方法において、
前記ネットワークインタフェースから入力されたマルチキャストＭＰＬＳパケットの入力ラベルに対して、複数の出力ラベルの登録を行なう際に、
入力側のＮＰ機能ブロックにおいて、前記入力されたマルチキャストＭＰＬＳパケットの入力ラベルに基づいて、入力ラベルに対応する出力ラベルと出力スイッチアドレスとが関連付けられたＭＰＬＳテーブルから出力スイッチアドレスと出力ラベルを検索し、
検索された複数の宛先分の前記出力スイッチアドレスと前記出力ラベルのみを作成して、前記マルチキャストＭＰＬＳパケットのデータヘッダとして付与し、前記スイッチ機能ブロックに転送し、
前記スイッチ機能ブロックにおいて、前記マルチキャストＭＰＬＳパケットをコピーして、前記出力スイッチアドレスに対応する出力側のＮＰ機能ブロックに送出することを特徴とするマルチキャストＭＰＬＳノードのパケット転送方法。
【請求項２】
前記マルチキャストＭＰＬＳパケットが入力側のＮＰ機能ブロックに到達すると、前記入力側のＮＰ機能ブロックは、前記ＭＰＬＳテーブルから前記入力ラベルに対応するｎ個の出力ラベルと出力スイッチアドレスを検索する第１のステップと、
前記第１のステップでｎ個の出力ラベル及び出力スイッチアドレスが検索された場合に、前記マルチキャストＭＰＬＳパケットのヘッダの入力ラベルヘッダの前に、該出力ラベルと該出力スイッチアドレスをプッシュし、該パケットを前記スイッチ機能ブロックに転送する第２のステップと、
前記スイッチ機能ブロックは、前記第２のステップで転送された前記出力スイッチアドレスのヘッダ情報を含む前記マルチキャストＭＰＬＳパケットをコピーして、該出力スイッチアドレスに基づいて、転送すべき出力ＮＰインタフェースを有する出力側のＮＰ機能ブロックのスイッチアドレスにそれぞれコピーされたマルチキャストＭＰＬＳパケットを転送する第３のステップと、
前記出力側の各ＮＰ機能ブロックは、転送されたマルチキャストＭＰＬＳパケットの自スイッチアドレスに対応するスイッチアドレスと対応しないスイッチアドレス及び出力ラベルを共にポップし、自スイッチアドレスに対応しないスイッチアドレス及び出力ラベルを削除して、転送された前記マルチキャストＭＰＬＳパケットに格納されている出力ラベルヘッダを用いて、出力インタフェースに該パケットを転送する第４のステップと、
からなる請求項１記載のマルチキャストＭＰＬＳノードのパケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャストＭＰＬＳ（Multi-Protocol Label Switching）ノードのパケット転送方法に係り、特に、マルチキャストＭＰＬＳノードのテーブルの検索の高速化のためのマルチキャストＭＰＬＳノードのパケット転送方法に関する。
【背景技術】
【０００２】
従来のマルチキャストＭＰＬＳノードのパケット転送技術について、図４、図５を用いて説明する。
【０００３】
図４に示すマルチキャストＭＰＬＳノードのデータ転送部の構成は、入力ラベルを複数の出力ラベルにラベル交換することによりＭＰＬＳパケットをポイントツーマルチポイントでラベル転送可能なマルチキャストＭＰＬＳノードのパケット転送部の構成であり、ネットワークプロセッサ（ＮＰ）を用いて、マルチキャストＭＰＬＳノードのフォワーディングプレーンを設計したものである。フォワーディングプレーンは、入力側ＮＰ機能ブロック１０、パケットスイッチ機能ブロック（ＳＷ）２０、出力側ＮＰ機能ブロック３０から構成される。
【０００４】
入力側ＮＰ機能ブロック１０、出力側機能ブロック３０は、それぞれ、ネットワークプロセッサ（ＮＰ）、ＭＰＬＳラベル処理テーブル（ＴＢＬ）、ネットワークインタフェース（ＩＦ）を有する。ＮＰ１２は、ＩＦ１１から入力されるＭＰＬＳの入力ラベルから適切な出力ラベルを検索する機能を有し、入力ラベルをポップし、出力ラベルをプッシュする。ＭＰＬＳテーブル（ＴＢＬ）１３は、ポイントツーマルチポイント（Ｐ２ＭＰ）の場合、１つの入力ＭＰＬＳラベルに対して複数の出力ＭＰＬＳラベルに関連付ける。
【０００５】
スイッチ機能ブロック２０のスイッチは、入力されたパケットを指定した単一／複数のＮＰインタフェースにスイッチングする機能を有するスイッチアーキテクチャと、入力されたパケットを適切な出力ＮＰインタフェースエースにスイッチするためのスイッチアドレス情報を持つ。さらに、マルチキャスト転送機能を有する。
【０００６】
以下では、入力ラベル８（IN_Lable=8）のパケットを出力ラベル４，５，６の３つのパケットにＰ２ＭＰ化する場合について説明する。
【０００７】
入力ラベルがインタフェース（ＩＦ）１１を介して入力側のＮＰ１２に到達すると（ステップ１０１、Ｙｅｓ）、まず、ＭＰＬＳテーブル１３に対して出力ラベルと出力スイッチアドレスを検索する。例として、ＭＰＬＳテーブル１３から、
OUT_Label4, Switch_Label=#1
OUT_Label5, Switch_Label=#k
OUT_Label6, Switch_Label=#n
が検索される。そして、３つの出力（出力ラベル＝４、スイッチアドレス＝＃１、出力ラベル＝５、スイッチアドレス＝＃ｋ、出力ラベル＝６、スイッチアドレス＝＃ｎ）が検出されると、パケットの入力ラベルヘッダをポップし（ステップ１０２）、３つ分のパケットをコピーし（ステップ１０４）、それぞれのヘッダに出力ラベル・スイッチアドレスをプッシュし、スイッチ機能ブロック２０に転送する。
【０００８】
スイッチ機能ブロック２０では、スイッチアドレスのヘッダ情報を基に転送すべき出力ＮＰ（ネットワークプロセッサ）インタフェースを持つスイッチアドレスにそれぞれ転送する（ステップ１０５）。
【０００９】
各出力ＮＰ機能ブロック３０のＮＰ３２では、スイッチアドレスをポップし（ステップ１０６）、格納されている出力ラベルヘッダで出力ＩＦ（インタフェース）３１にパケットを転送する（ステップ１０７）（例えば、非特許文献１参照）。
【００１０】
しかし、この方法は、パケットをコピー時に、入力側のＮＰで必要なコピー数分だけパケットを用意するため、スイッチング機能ブロックでのトラフィック量が多くなり、転送効率が悪くなる。
【非特許文献１】松島聡、外１名、“ＭＰＬＳ基礎、実現するサービス、そして最新動向”、[online]，平成１４年１２月１８日掲載、WIDE[平成１６年５月１４日検索]、インターネット<URL:http://www.soi.wide.ad.jp/class/20020036/slides/26/>
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記従来の方式において、マルチキャストＭＰＬＳパケットをノード内で複数の宛先にコピーして転送する際に、宛先数分のパケットのコピーを入力回線側のネットワークプロセッサ（ＮＰ）で行なっていたため、スイッチ機能ブロックに入力されるトラフィック量が増え、スイッチでの転送効率が低下するという問題がある。また、ネットワークプロセッサの処理能力上の限界があり、パケット転送能力の向上の妨げになっている。
【００１２】
本発明は、上記の点に鑑みなされたもので、スイッチング機能ブロックでのトラフィック量を減少させ、マルチキャストＭＰＬＳノードのパケットの転送効率を向上させることが可能なマルチキャストＭＰＬＳノードのパケット転送方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
図１は、本発明の原理を説明するための図である。
【００１４】
本発明は、ネットワークインタフェースから入力されるＭＰＬＳの入力ラベルから適切な出力ラベルを検索する機能と、該入力ラベルをポップし、出力ラベルをプッシュする機能を有するネットワークプロセッサ（ＮＰ）機能ブロックと、該ネットワークインタフェースから入力されたパケットを指定した単一／複数のＮＰインタフェースにスイッチングする機能を有するスイッチアーキテクチャと、該ＮＰインタフェースから入力されたパケットを適切な出力ＮＰインタフェースにスイッチするためのスイッチアドレス情報及びマルチキャスト転送機能を有するパケットスイッチ機能ブロックと、を備え、該入力ラベルを複数の出力ラベルにラベル交換することによりＭＰＬＳパケットをポイントツーマルチポイントでラベル転送可能なマルチキャストＭＰＬＳノードのパケット転送部で、ポイントツーマルチポイントのラベルの転送を行なう方法において、
ネットワークインタフェースから入力されたマルチキャストＭＰＬＳパケットの入力ラベルに対して、複数の出力ラベルの登録を行なう際に、
入力側のＮＰ機能ブロックにおいて、入力されたマルチキャストＭＰＬＳパケットの入力ラベルに基づいて、入力ラベルに対応する出力ラベルと出力スイッチアドレスとが関連付けられたＭＰＬＳテーブルから出力スイッチアドレスと出力ラベルを検索し（ステップ１）、
検索された複数の宛先分の出力スイッチアドレスと出力ラベルのみを作成して、マルチキャストＭＰＬＳパケットのデータヘッダとして付与し（ステップ３）、スイッチ機能ブロックに転送し（ステップ３）、
スイッチ機能ブロックにおいて、マルチキャストＭＰＬＳパケットをコピーして（ステップ４）、出力スイッチアドレスに対応する出力側のＮＰ機能ブロックに送出する（ステップ５）。
【００１５】
また、本発明は、マルチキャストＭＰＬＳパケットが入力側のＮＰ機能ブロックに到達すると、入力側のＮＰ機能ブロックは、ＭＰＬＳテーブルから入力ラベルに対応するｎ個の出力ラベルと出力スイッチアドレスを検索する第１のステップと、
第１のステップでｎ個の出力ラベル及び出力スイッチアドレスが検索された場合に、マルチキャストＭＰＬＳパケットのヘッダの入力ラベルヘッダの前に、該出力ラベルと該出力スイッチアドレスをプッシュし、該パケットをスイッチ機能ブロックに転送する第２のステップと、
スイッチ機能ブロックは、第２のステップで転送された出力スイッチアドレスのヘッダ情報を含むマルチキャストＭＰＬＳパケットをコピーして、該出力スイッチアドレスに基づいて、転送すべき出力ＮＰインタフェースを有する出力側のＮＰ機能ブロックのスイッチアドレスにそれぞれコピーされたマルチキャストＭＰＬＳパケットを転送する第３のステップと、
出力側の各ＮＰ機能ブロックは、転送されたマルチキャストＭＰＬＳパケットの自スイッチアドレスに対応するスイッチアドレスと対応しないスイッチアドレス及び出力ラベルを共にポップし、自スイッチアドレスに対応しないスイッチアドレス及び出力ラベルを削除して、転送されたマルチキャストＭＰＬＳパケットに格納されている出力ラベルヘッダを用いて、出力インタフェースに該パケットを転送する第４のステップと、からなる。
【発明の効果】
【００１６】
本発明は、マルチキャストＭＰＬＳパケットを受信すると、入力側のネットワークプロセッサで出力側のスイッチアドレスと宛先ラベルを検索し、複数ある宛先分の出力側のスイッチアドレスと宛先ラベルのみを作成して（この時点でパケットのコピーは行なわない）、複数の宛先分の出力スイッチアドレスと出力ラベルのすべてをパケットに付け、この出力スイッチアドレスと出力ラベルを元にスイッチ機能ブロックでコピーして出力側のネットワークプロセッサへ送出することで、入力されるパケット数を減らし、スイッチの転送効率を向上させると共に、入力側のプロセッサ処理能力による性能ボトルネックを解消することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面と共に本発明の実施の形態を説明する。
【００１８】
図２は、本発明の一実施の形態におけるマルチキャストＭＰＬＳノードのデータ転送部の構成を示し、図３は、本発明の一実施の形態におけるデータ転送部の動作のシーケンスチャートである。
【００１９】
図２に示すデータプレーン（パケット転送部）の構造は、前述の図４と同様である。
【００２０】
本実施の形態においても、前述の従来の方式と同様に、入力ラベル８（In_Label=8）のパケットを出力ラベル４，５，６の３つのパケットにＰ２ＭＰ化する場合について説明する。
【００２１】
入力ラベル８のパケットが入力側のNP機能ブロック１０に到達すると（ステップ２０１，Ｙｅｓ）、まず、入力ラベルに基づいて、ＭＰＬＳテーブル１３から出力ラベルと出力スイッチアドレスを検索する（ステップ２０２）。そして、３つの出力（出力スイッチアドレス＝＃１，＃ｋ，＃ｎ）が検出されると（ステップ２０３）、データパケットのヘッダの入力ラベルヘッダの前に、出力スイッチアドレスと出力ラベルをプッシュし、スイッチ機能ブロック２０に転送する（ステップ２０４）。
【００２２】
スイッチ機能ブロック２０のスイッチは、出力スイッチアドレスと出力ラベルがパケットヘッダとして付加されているパケットをコピーし（ステップ２０５）、ヘッダ情報を基に転送すべき出力ＮＰインタフェースを持つ出力側のＮＰ機能ブロック３０のスイッチアドレスにそれぞれデータパケットを転送する（ステップ２０６）。
【００２３】
各出力側のNP機能ブロック３０では、自ＮＰ機能ブロックのスイッチアドレスに対応するスイッチアドレスと、対応しないスイッチアドレス・出力ラベルを共にポップし（ステップ２０７）、対応しないスイッチアドレス・出力ラベルの組を削除して、データパケットに格納されている出力ラベルヘッダで出力側のＩＦ３１にデータパケットを転送する（ステップ２０８）。図２において、ステップ２０７とステップ２０８の処理は、例えば、出力側のＮＰ機能ブロック３０のブレード1（Blade1）にスイッチ機能ブロック２０から、｛出力ラベルヘッダ＝４、スイッチラベル＝＃１、出力ラベルヘッダ＝５、スイッチラベル＝＃ｋ、出力ラベルヘッダ＝６、スイッチラベル＝＃ｎ｝が転送されてきた場合、｛出力ラベルヘッダ＝５、スイッチラベル＝＃ｋ、出力ラベルヘッダ＝６、スイッチラベル＝＃ｎ｝を削除して、出力ラベル＝４としてＩＦ３１にデータパケットを転送する。
【００２４】
上記のように、データパケットが入力側のＮＰ機能ブロック１０に到達すると、まず、入力ラベルに基づいて、ＭＰＬＳテーブル１３から出力スイッチアドレスを検索し、３つの出力（スイッチアドレス=＃１，＃ｋ，＃ｎ）が検出されると、パケットの入力ラベルヘッダをポップし、パケットヘッダ情報として、３つ分の出力ラベルとスイッチアドレスをプッシュし、スイッチ機能ブロック２０に転送するため、パケットヘッダは増分するもののスイッチ機能ブロックでデータコピーを実施するため、スイッチ転送効率を維持することができる。また、スイッチ機能ブロック２０では、３つの出力スイッチアドレスのＮＰ機能ブロックに同一のパケットを転送する。
【００２５】
また、入力側のＮＰ機能ブロック１０において、ＮＰ１２で出力側のラベル（出力ラベル）を特定すると共に、ＭＰＬＳテーブル１３の検索を完了するために、出力ラベルで出力側のＮＰ機能ブロック３０のＭＰＬＳテーブル３３の検索を行なう必要がなくなり、テーブル検索効率がよい。
【００２６】
さらに、入力側のＮＰ機能ブロック１０のＮＰ１２で宛先分のパケットコピーを行なわないため、ＮＰ１２の処理負荷を軽減することができる。
【００２７】
なお、本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【産業上の利用可能性】
【００２８】
本発明は、マルチキャストＭＰＬＳノード技術に適用可能である。
【図面の簡単な説明】
【００２９】
【図１】本発明の原理を説明するための図である。
【図２】本発明の一実施の形態におけるマルチキャストＭＰＬＳノードのパケット転送部の構成図である。
【図３】本発明の一実施の形態におけるパケット転送部の動作のシーケンスチャートである。
【図４】従来のマルチキャストＭＰＬＳノードのパケット転送部の構成図である。
【図５】従来のパケット転送部の動作のシーケンスチャートである。
【符号の説明】
【００３０】
１０  入力側ネットワークプロセッサ機能ブロック
１１  入力側ネットワークインタフェース
１２  入力側ネットワークプロセッサ
１３  入力側ＭＰＬＳテーブル
２０  スイッチ機能ブロック
３０  出力側ネットワークプロセッサ機能ブロック
３１  出力側ネットワークインタフェース
３２  出力側ネットワークプロセッサ
３３  出力側ＭＰＬＳテーブル
【図１】
2005354386.tif 000003
【図２】
2005354386.tif 000004
【図３】
2005354386.tif 000005
【図４】
2005354386.tif 000006
【図５】
2005354386.tif 000007