(57)【特許請求の範囲】
【請求項１】
パケットを中継するルータにおいて、
パケットを送受する複数のパケット処理部と、
パケットを受信した前記パケット処理部から、当該パケットを送信する前記パケット処理部へ、当該パケットを転送するスイッチ処理部を備え、
前記パケット処理部は、
外部から受信したパケットがＩＰパケット及びＭＰＬＳパケットのいずれの場合においても、当該パケットに対し装置内ヘッダを付加して、ＩＰパケットの装置内転送時の形式に当該パケットを変換し、前記変換されたパケットを前記スイッチ処理部に送ることにより、ＩＰパケット及びＭＰＬＳパケットを中継すると共に、
さらに、前記パケット処理部は、
外部からパケットを受信する側の受信側処理部と、
外部へパケットを送信する側の送信側処理部を備え、
前記受信側処理部は、
外部から受信したパケットの情報を解析して、当該パケットの転送先経路及び当該パケットに対し実行すべき処理方法を識別し、前記装置内ヘッダを前記転送経路及び前記処理方法の情報を含めて生成し、当該パケットに前記生成した装置内ヘッダを付加して前記スイッチ処理部に送り、
前記スイッチ処理部は、
各前記パケット処理部の受信側処理部から送られるパケットを、当該パケットの前記装置内ヘッダにおいて指定された、当該パケットの転送先経路である前記パケット処理部の送信側処理部へ転送し、
前記送信側処理部は、
前記スイッチ処理部から転送されるパケットを、前記装置内ヘッダを取り外し、当該装置内ヘッダにおいて指定された当該パケットの処理方法に基づいて処理することを特徴とするルータ。
【請求項２】
前記受信側処理部は、
外部から受信したパケットがＭＰＬＳパケットでありかつラベルを備える場合には、その先頭のラベルを取り外した後に、前記装置内ヘッダを付加して前記スイッチ処理部に送り、
前記送信側処理部は、
前記スイッチ処理部から転送されたパケットがＭＰＬＳパケットである場合には、当該パケットに対し付加するラベルの有無及びその枚数を決定し、外部に送信するパケットを生成することを特徴とする請求項１に記載のルータ。
【請求項３】
前記送信側処理部は、
前記スイッチ処理部から転送されたパケットがＭＰＬＳパケットである場合において、ＭＰＬＳドメインの入口の境界である場合には、受信時よりも１枚多いラベル枚数により外部に送信するパケットを生成し、ＭＰＬＳドメインの内部である場合には、受信時と同じラベル枚数により外部に送信するパケットを生成し、ＭＰＬＳドメインの出口の境界である場合には、受信時とよりも１枚少ないラベル枚数により外部に送信するパケットを生成することを特徴とする請求項２に記載のルータ。
【請求項４】
前記受信側処理部は、
受信したパケットが、ＩＰパケットとＭＰＬＳパケットのいずれであるのかを識別するプロトコル識別部と、
前記受信したパケットのパケットヘッダに示される情報を基に、当該パケットのフローを識別し転送先経路を解決するフロー識別及び経路解決部と、
前記フロー識別及び経路解決部の指示に基づいて、前記装置内ヘッダを生成し付与する装置内ヘッダ付与部と、
当該パケットの属性情報を生成するパケット属性生成部を備えることを特徴とする請求項１から請求項３のいずれか一つに記載のルータ。
【請求項５】
前記送信側処理部は、
前記スイッチ処理部から送られるパケットのシェーピング及び優先スケジューリングを処理するスケジューリング部と、
当該パケットに対し付加するラベルの有無及びその枚数を決定する送信パケット処理判定部と、
前記送信パケット処理判定部の決定に基づいて、送信するパケットを生成する送信パケット組立部を備えることを特徴とする請求項１から請求項４のいずれか一つに記載のルータ。
【請求項６】
経路検索を処理するフォワーディング処理部と、
ルーティングプロトコルを終端し、経路計算を処理し、経路テーブルを生成するルーティングプロトコル処理部を備えることを特徴とする請求項１から請求項５のいずれか一つに記載のルータ。
【請求項７】
前記パケット処理部における前記スイッチ処理部側のインタフェースは、
全ての宛先ポート毎に仮想出力キューを備えることを特徴とする請求項１から請求項６のいずれか一つに記載のルータ。
【請求項８】
パケットを中継するルータのパケット交換方法において、
前記ルータは、パケットを送受する複数のパケット処理部と、パケットを受信した前記パケット処理部から当該パケットを送信する前記パケット処理部へ当該パケットを転送するスイッチ処理部を備え、
前記パケット処理部において、
外部から受信したパケットがＩＰパケット及びＭＰＬＳパケットのいずれの場合においても、当該パケットに対し装置内ヘッダを付加して、ＩＰパケットの装置内転送時の形式に当該パケットを変換し、前記変換されたパケットを前記スイッチ処理部に送ることにより、ＩＰパケット及びＭＰＬＳパケットを中継すると共に、
前記パケット処理部は、外部からパケットを受信する側の受信側処理部と、外部へパケットを送信する側の送信側処理部を備え、
前記受信側処理部において、
外部から受信したパケットの情報を解析して、当該パケットの転送先経路及び当該パケットに対し実行すべき処理方法を識別し、前記装置内ヘッダを前記転送経路及び前記処理方法の情報を含めて生成し、当該パケットに前記生成した装置内ヘッダを付加して前記スイッチ処理部に送り、
前記スイッチ処理部において、
各前記パケット処理部の受信側処理部から送られるパケットを、当該パケットの前記装置内ヘッダにおいて指定された、当該パケットの転送先経路である前記パケット処理部の送信側処理部へ転送し、
前記送信側処理部において、
前記スイッチ処理部から転送されるパケットを、前記装置内ヘッダを取り外し、当該装置内ヘッダにおいて指定された当該パケットの処理方法に基づいて処理することを特徴とするパケット交換方法。
【請求項９】
前記受信側処理部において、
外部から受信したパケットがＭＰＬＳパケットでありかつラベルを備える場合には、その先頭のラベルを取り外した後に、前記装置内ヘッダを付加して前記スイッチ処理部に送り、
前記送信側処理部において、
前記スイッチ処理部から転送されたパケットがＭＰＬＳパケットである場合には、当該パケットに対し付加するラベルの有無及びその枚数を決定し、外部に送信するパケットを生成することを特徴とする請求項８に記載のパケット交換方法。
【請求項１０】
前記送信側処理部において、
前記スイッチ処理部から転送されたパケットがＭＰＬＳパケットである場合において、ＭＰＬＳドメインの入口の境界である場合には、受信時よりも１枚多いラベル枚数により外部に送信するパケットを生成し、ＭＰＬＳドメインの内部である場合には、受信時と同じラベル枚数により外部に送信するパケットを生成し、ＭＰＬＳドメインの出口の境界である場合には、受信時とよりも１枚少ないラベル枚数により外部に送信するパケットを生成することを特徴とする請求項９に記載のパケット交換方法。
【請求項１１】
経路検索を処理するフォワーディング処理ステップと、
ルーティングプロトコルを終端し、経路計算を処理し、経路テーブルを生成するルーティングプロトコル処理ステップを備えることを特徴とする請求項８から請求項１０のいずれか一つに記載のパケット交換方法。
【請求項１２】
コンピュータを制御することにより、パケットを中継するルータのパケットの交換を処理するパケット交換プログラムにおいて、
前記ルータは、パケットを送受する複数のパケット処理部と、パケットを受信した前記パケット処理部から当該パケットを送信する前記パケット処理部へ当該パケットを転送するスイッチ処理部を備え、
前記パケット処理部において、
外部から受信したパケットがＩＰパケット及びＭＰＬＳパケットのいずれの場合においても、当該パケットに対し装置内ヘッダを付加して、ＩＰパケットの装置内転送時の形式に当該パケットを変換し、前記変換されたパケットを前記スイッチ処理部に送る処理を実行させると共に、
前記パケット処理部は、外部からパケットを受信する側の受信側処理部と、外部へパケットを送信する側の送信側処理部を備え、
前記受信側処理部において、
外部から受信したパケットの情報を解析して、当該パケットの転送先経路及び当該パケットに対し実行すべき処理方法を識別し、前記装置内ヘッダを前記転送経路及び前記処理方法の情報を含めて生成し、当該パケットに前記生成した装置内ヘッダを付加して前記スイッチ処理部に送る処理を実行させ、
前記スイッチ処理部において、
各前記パケット処理部の受信側処理部から送られるパケットを、当該パケットの前記装置内ヘッダにおいて指定された、当該パケットの転送先経路である前記パケット処理部の送信側処理部へ転送する処理を実行させ、
前記送信側処理部において、
前記スイッチ処理部から転送されるパケットを、前記装置内ヘッダを取り外し、当該装置内ヘッダにおいて指定された当該パケットの処理方法に基づく処理を実行させることを特徴とするパケット交換プログラム。
【請求項１３】
前記受信側処理部において、
外部から受信したパケットがＭＰＬＳパケットでありかつラベルを備える場合には、その先頭のラベルを取り外した後に、前記装置内ヘッダを付加して前記スイッチ処理部に送る処理を実行させ、
前記送信側処理部において、
前記スイッチ処理部から転送されたパケットがＭＰＬＳパケットである場合には、当該パケットに対し付加するラベルの有無及びその枚数を決定し、外部に送信するパケットを生成する処理を実行させることを特徴とする請求項１２に記載のパケット交換プログラム。
【請求項１４】
前記送信側処理部において、
前記スイッチ処理部から転送されたパケットがＭＰＬＳパケットである場合において、ＭＰＬＳドメインの入口の境界である場合には、受信時よりも１枚多いラベル枚数により外部に送信するパケットを生成し、ＭＰＬＳドメインの内部である場合には、受信時と同じラベル枚数により外部に送信するパケットを生成し、ＭＰＬＳドメインの出口の境界である場合には、受信時とよりも１枚少ないラベル枚数により外部に送信するパケットを生成する処理を実行させることを特徴とする請求項１３に記載のパケット交換プログラム。
【請求項１５】
経路検索を処理するフォワーディング処理と、
ルーティングプロトコルを終端し、経路計算を処理し、経路テーブルを生成するルーティングプロトコル処理を実行させることを特徴とする請求項１２から請求項１４のいずれか一つに記載のパケット交換プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット交換による通信に関し、特に、ＭＰＬＳ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）によるパケットを交換するルータとそのパケット交換方法、及びパケット交換プログラムに関する。
【０００２】
【従来の技術】
ＭＰＬＳ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）は、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）にて標準化が進められているカットスルー方式のレイヤ３スイッチング技術であり、ラベル・スイッチングとも呼ばれている技術である。
【０００３】
ＭＰＬＳは、そもそもＡＴＭのようなコネクション型ネットワークにおいて、ＩＰパケットの転送処理と経路計算処理を分離することにより、ＩＰパケットの高速転送を実現する技術として検討されてきた。近年では、ＭＰＬＳは、コネクションの概念のないＩＰ網（コネクションレス型ネットワーク）に対して、仮想的な通信路であるパスの定義を導入する技術として注目されている。
【０００４】
図１３、図１４に、ＭＰＬＳネットワーク内の転送モデルを示す。
【０００５】
ＭＰＬＳのドメイン２００内では、同じ転送ルールに属するパケットを転送するため、ＬＳＰ２１０（Ｌａｂｅｌ  Ｓｗｉｔｃｈ  Ｐａｔｈ）と呼ばれる仮想的なパスを設定する。
【０００６】
ＭＰＬＳドメインの入口２０１においてラベル・スイッチングをサポートするルータ（ＬＳＲ：Ｌａｂｅｌ  Ｓｗｉｔｃｈ  Ｒｏｕｔｅｒ）では、受信したパケットを、同じ転送ルールを持つ集合体であるＦＥＣ（Ｆｏｒｗａｒｄｉｎｇ  Ｅｑｕｉｖａｌｅｎｃｅ  Ｃｌａｓｓ）にマッピングする。同じＦＥＣにマッピングされたパケットは、同じラベルが付加される（ラベルプッシュ）。以下、このラベルが付加されたパケットを、“ラベル化パケット”と呼ぶ。
【０００７】
ＭＰＬＳドメイン２００の内部では、パケットに付加されたラベルによってフォワーディング（Ｆｏｒｗａｒｄｉｎｇ）され、ＭＰＬＳドメインの出口２０３でそのラベルが剥がされる（ラベルポップ）。
【０００８】
ＭＰＬＳドメイン２００では、ノード間に設定されたコネクションを、ネットワーク層（レイヤ３）の経路情報に従って関連付けを行なっている。この関連付けは、ノード間で終端されたコネクション間で使用するためのものである。
【０００９】
関連付けられたコネクションは、「ラベル」を付けて識別可能とし、ラベルが付与されたパケットを受信したスイッチは、そのラベルを元にパケットを転送する。
【００１０】
一旦、経路情報に従ってラベルが割り当てられると、パケットの転送処理においてＩＰアドレスのサーチ（アドレス解決）が不要となる。また、経路情報が変更された場合には、新しいラベルを割り当てる。
【００１１】
ＩＰパケットに対して、コネクションを識別するための新しいフィールドとしてラベルを追加することにより、ＩＰのコネクション型サービスとコネクション毎のセキュリティの確保等を容易に実現することができる。
【００１２】
図１５に、シムヘッダ（Ｓｈｉｍ−Ｈｅａｄｅｒ）の構成の一例を示す。
【００１３】
図１５の例においては、パケット内においてラベルを挿入する箇所は、ＩＰヘッダとレイヤ２プロトコルヘッダとの間であり、３２ビット長のシムヘッダ（Ｓｈｉｍ−Ｈｅａｄｅｒ）と呼ばれるＭＰＬＳのヘッダを挿入している。
【００１４】
１つのＩＰパケットには、１つ以上のシムヘッダが多重される場合もあり、これは階層化アドレスとして使用されたり、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）番号をその用途とする場合がある。
【００１５】
ＭＰＬＳにおけるラベル・スイッチングを行なうルータを、ＬＳＰ（Ｌａｂｅｌ  Ｓｗｉｔｃｈ  Ｒｏｕｔｅｒ）と呼ぶ。ＬＳＲは、ＭＰＬＳドメイン内での位置付けにより次のように分類される。
【００１６】
・境界ＬＳＲ（入口境界ＬＳＲ２０１／出口境界ＬＳＲ２０３）
ＭＰＬＳドメイン内で、ＭＰＬＳドメインと非ＭＰＬＳドメインとの境界に配備されるＬＳＲであり、更に次のように分類できる。
（ａ）入口境界ＬＳＲ２０１（Ｉｎｇｒｅｓｓ  Ｂｏｕｎｄａｒｙ  ＬＳＲ）
非ＭＰＬＳドメインからＭＰＬＳドメイン内に送信されるパケットを処理するＬＳＲ。ＩＰパケットにラベルをプッシュしてラベル化パケットとする。
（ｂ）出口境界ＬＳＲ２０３（Ｅｇｒｅｓｓ  Ｂｏｕｎｄａｒｙ  ＬＳＲ）
ＭＰＬＳドメイン内から非ＭＰＬＳドメインに出て行くパケットを処理するＬＳＲ。ラベル化パケットから、ラベルをポップしてＩＰパケットに戻す。
【００１７】
・内部ＬＳＲ２０２（Ｉｎｔｅｒｍｅｄｉａｔｅ  ＬＳＲ）
ＭＰＬＳドメイン内部に配備され、入力元も出力先もＭＰＬＳドメイン内であるＬＳＲ。
【００１８】
ここで、ＭＰＬＳドメイン内に転送されるパケットは、ＭＰＬＳパケットのみではない。ＬＳＲが扱うパケットとしては、以下の４種類があり、またこれらは同一の物理ポートに混在する場合がある。
（１）ＭＰＬＳ（非ＶＰＮ：ｎ段ラベル付の）パケット
（２）ＭＰＬＳ（ＶＰＮ：ｎ段ラベル付の）パケット
（３）非ＭＰＬＳ（通常のＩＰ）パケットだが、特別にフローの管理を行なうもの
（４）非ＭＰＬＳ（通常のＩＰ）パケットであり、特別な管理を行なわないもの
【００１９】
従来の、ＩＰパケットのみを転送する通常のルータでは、ＩＰ転送系のみに対応し、上記の（３）、（４）に示すパケットの転送のみが可能であって、（１）、（２）に示すＭＰＬＳラベル化パケットを転送するための機能を備えていない。
【００２０】
図１２は、ルータの装置構成を示すブロック図である。
【００２１】
図１２を参照すると、ルータには、専用のパケット処理ハードウエア回路等によりの主信号（パケット）の入出力部を備える複数のパケット処理部１０と、各パケットの経路検索を処理するフォワーディング処理部８１と、多様なルーティングプロトコルを終端し最短経路（Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ）を求める経路計算を実施し、経路テーブルを生成するルーティングプロトコル処理部８２と、転送スケジューリングを行なうＮｘＮクロスバ方式のスイッチ処理部８０を備えている。
【００２２】
また、従来のＩＰ転送系のみに対応するルータでは、パケット処理部１０がＩＰパケットを受信すると、そのＩＰパケットをスイッチ処理部８０に送り、ルータに備えられるフォワーディング処理部８１にヘッダ情報を転送し、宛先検索を行なう。そして、スイッチ処理部８０を経由して、宛先カードであるパケット処理部１０に転送する。
【００２３】
こうした、従来のＩＰ転送系のみに対応するルータでは、パケット処理部１０にアドレス解決を行なうためのテーブルを備えていないため、パケット処理部１０は、パケットを受信した時点で転送先情報を認識することはできなかった。このため、従来のＩＰ転送系のみに対応するルータでは、（１）、（２）に示すＭＰＬＳラベル化パケットを、ＭＰＬＳによる効率の良い転送を行なうことができない。
【００２４】
また、こうしたＩＰ転送系のみに対応するルータにより、ＭＰＬＳパケットを転送させる方法としては、（１）、（２）に示すＭＰＬＳラベル化パケットをＩＰパケットと同様にして、フォワーディング処理部８１にヘッダ情報を転送し、宛先検索を行った後、スイッチ処理部８０を経由して、宛先カードであるパケット処理部１０に転送する方式が考えられる。しかし、この方式では、無駄にスイッチ帯域を浪費することとなり、更にパケット長に依存して主信号の転送効率が低下することになる。
【００２５】
【発明が解決しようとする課題】
上述されたように従来では、以下に述べるような問題点があった。
【００２６】
従来の、従来のＩＰ転送系のみに対応するルータでは、ＭＰＬＳパケットを、ＭＰＬＳによる効率の良い転送を行なうことができない。このため、低コストかつ簡易な作業のみにより、こうしたＩＰ転送系のみに対応する従来のルータを変更し、ＭＰＬＳをサポートさせる方法が求められていた。
【００２７】
また、上記（３）、（４）に示した通常のＩＰパケットに対しては、従来通りのフォワーディング処理部８１にヘッダ情報を転送して宛先検索を行なうというＩＰパケットの転送メカニズム（フォワーディングエンジンカードによる経路解決手法）を実行し、かつ同時に（１）、（２）に示すＭＰＬＳラベル化パケットに対しては、カットスルー処理（回線カードによる経路解決）による転送を実現し、かつこれらの転送処理の切替が容易にできるルータが求められていた。
【００２８】
また、装置内の転送においては、ＭＰＬＳでいうラベルを持ち回る場合には、装置内における転送オーバーヘッド（装置内転送帯域）が変動する。このため、例えば複数のラベルがプッシュされる場合には、トラヒックの定量的な制御が複雑になり、運用負荷が重くなるという問題点があった。
【００２９】
本発明の第１の目的は、上記従来技術の欠点を解決し、ＩＰパケット及びＭＰＬＳパケットのそれぞれを効率よく転送するルータとそのパケット交換方法及びパケット交換プログラムを提供することである。
【００３０】
本発明の第２の目的は、上記従来技術の欠点を解決し、ＩＰ転送系のみに対応する従来のルータから、低コストかつ簡易な作業により製造することができＭＰＬＳをサポートする、第１の目的のルータを提供することである。
【００３１】
【課題を解決するための手段】
上記目的を達成するため本発明のルータは、パケットを中継するルータにおいて、パケットを送受する複数のパケット処理部と、パケットを受信した前記パケット処理部から、当該パケットを送信する前記パケット処理部へ、当該パケットを転送するスイッチ処理部を備え、前記パケット処理部は、外部から受信したパケットがＩＰパケット及びＭＰＬＳパケットのいずれの場合においても、当該パケットに対し装置内ヘッダを付加して、ＩＰパケットの装置内転送時の形式に当該パケットを変換し、前記変換されたパケットを前記スイッチ処理部に送ることにより、ＩＰパケット及びＭＰＬＳパケットを中継すると共に、さらに、前記パケット処理部は、外部からパケットを受信する側の受信側処理部と、外部へパケットを送信する側の送信側処理部を備え、前記受信側処理部は、外部から受信したパケットの情報を解析して、当該パケットの転送先経路及び当該パケットに対し実行すべき処理方法を識別し、前記装置内ヘッダを前記転送経路及び前記処理方法の情報を含めて生成し、当該パケットに前記生成した装置内ヘッダを付加して前記スイッチ処理部に送り、前記スイッチ処理部は、各前記パケット処理部の受信側処理部から送られるパケットを、当該パケットの前記装置内ヘッダにおいて指定された、当該パケットの転送先経路である前記パケット処理部の送信側処理部へ転送し、前記送信側処理部は、前記スイッチ処理部から転送されるパケットを、前記装置内ヘッダを取り外し、当該装置内ヘッダにおいて指定された当該パケットの処理方法に基づいて処理することを特徴とする。
【００３２】
請求項２の本発明のルータは、前記受信側処理部は、外部から受信したパケットがＭＰＬＳパケットでありかつラベルを備える場合には、その先頭のラベルを取り外した後に、前記装置内ヘッダを付加して前記スイッチ処理部に送り、前記送信側処理部は、前記スイッチ処理部から転送されたパケットがＭＰＬＳパケットである場合には、当該パケットに対し付加するラベルの有無及びその枚数を決定し、外部に送信するパケットを生成することを特徴とする。
【００３３】
請求項３の本発明のルータは、前記送信側処理部は、前記スイッチ処理部から転送されたパケットがＭＰＬＳパケットである場合において、ＭＰＬＳドメインの入口の境界である場合には、受信時よりも１枚多いラベル枚数により外部に送信するパケットを生成し、ＭＰＬＳドメインの内部である場合には、受信時と同じラベル枚数により外部に送信するパケットを生成し、ＭＰＬＳドメインの出口の境界である場合には、受信時とよりも１枚少ないラベル枚数により外部に送信するパケットを生成することを特徴とする。
【００３４】
請求項４の本発明のルータは、前記受信側処理部は、受信したパケットが、ＩＰパケットとＭＰＬＳパケットのいずれであるのかを識別するプロトコル識別部と、前記受信したパケットのパケットヘッダに示される情報を基に、当該パケットのフローを識別し転送先経路を解決するフロー識別及び経路解決部と、前記フロー識別及び経路解決部の指示に基づいて、前記装置内ヘッダを生成し付与する装置内ヘッダ付与部と、当該パケットの属性情報を生成するパケット属性生成部を備えることを特徴とする。
【００３５】
請求項５の本発明のルータは、前記送信側処理部は、前記スイッチ処理部から送られるパケットのシェーピング及び優先スケジューリングを処理するスケジューリング部と、当該パケットに対し付加するラベルの有無及びその枚数を決定する送信パケット処理判定部と、前記送信パケット処理判定部の決定に基づいて、送信するパケットを生成する送信パケット組立部を備えることを特徴とする。
【００３６】
請求項６の本発明のルータは、経路検索を処理するフォワーディング処理部と、ルーティングプロトコルを終端し、経路計算を処理し、経路テーブルを生成するルーティングプロトコル処理部を備えることを特徴とする。
【００３７】
請求項７の本発明のルータは、前記パケット処理部における前記スイッチ処理部側のインタフェースは、全ての宛先ポート毎に仮想出力キューを備えることを特徴とする。
【００３８】
請求項８の本発明は、パケットを中継するルータのパケット交換方法において、前記ルータは、パケットを送受する複数のパケット処理部と、パケットを受信した前記パケット処理部から当該パケットを送信する前記パケット処理部へ当該パケットを転送するスイッチ処理部を備え、前記パケット処理部において、外部から受信したパケットがＩＰパケット及びＭＰＬＳパケットのいずれの場合においても、当該パケットに対し装置内ヘッダを付加して、ＩＰパケットの装置内転送時の形式に当該パケットを変換し、前記変換されたパケットを前記スイッチ処理部に送ることにより、ＩＰパケット及びＭＰＬＳパケットを中継すると共に、前記パケット処理部は、外部からパケットを受信する側の受信側処理部と、外部へパケットを送信する側の送信側処理部を備え、前記受信側処理部において、外部から受信したパケットの情報を解析して、当該パケットの転送先経路及び当該パケットに対し実行すべき処理方法を識別し、前記装置内ヘッダを前記転送経路及び前記処理方法の情報を含めて生成し、当該パケットに前記生成した装置内ヘッダを付加して前記スイッチ処理部に送り、前記スイッチ処理部において、各前記パケット処理部の受信側処理部から送られるパケットを、当該パケットの前記装置内ヘッダにおいて指定された、当該パケットの転送先経路である前記パケット処理部の送信側処理部へ転送し、前記送信側処理部において、前記スイッチ処理部から転送されるパケットを、前記装置内ヘッダを取り外し、当該装置内ヘッダにおいて指定された当該パケットの処理方法に基づいて処理することを特徴とする。
【００３９】
請求項９の本発明のパケット交換方法は、前記受信側処理部において、外部から受信したパケットがＭＰＬＳパケットでありかつラベルを備える場合には、その先頭のラベルを取り外した後に、前記装置内ヘッダを付加して前記スイッチ処理部に送り、前記送信側処理部において、前記スイッチ処理部から転送されたパケットがＭＰＬＳパケットである場合には、当該パケットに対し付加するラベルの有無及びその枚数を決定し、外部に送信するパケットを生成することを特徴とする。
【００４０】
請求項１０の本発明のパケット交換方法は、前記送信側処理部において、前記スイッチ処理部から転送されたパケットがＭＰＬＳパケットである場合において、ＭＰＬＳドメインの入口の境界である場合には、受信時よりも１枚多いラベル枚数により外部に送信するパケットを生成し、ＭＰＬＳドメインの内部である場合には、受信時と同じラベル枚数により外部に送信するパケットを生成し、ＭＰＬＳドメインの出口の境界である場合には、受信時とよりも１枚少ないラベル枚数により外部に送信するパケットを生成することを特徴とする。
【００４１】
請求項１１の本発明のパケット交換方法は、経路検索を処理するフォワーディング処理ステップと、ルーティングプロトコルを終端し、経路計算を処理し、経路テーブルを生成するルーティングプロトコル処理ステップを備えることを特徴とする。
【００４２】
請求項１２の本発明のパケット交換プログラムは、コンピュータを制御することにより、パケットを中継するルータのパケットの交換を処理するパケット交換プログラムにおいて、前記ルータは、パケットを送受する複数のパケット処理部と、パケットを受信した前記パケット処理部から当該パケットを送信する前記パケット処理部へ当該パケットを転送するスイッチ処理部を備え、前記パケット処理部において、外部から受信したパケットがＩＰパケット及びＭＰＬＳパケットのいずれの場合においても、当該パケットに対し装置内ヘッダを付加して、ＩＰパケットの装置内転送時の形式に当該パケットを変換し、前記変換されたパケットを前記スイッチ処理部に送る処理を実行させると共に、前記パケット処理部は、外部からパケットを受信する側の受信側処理部と、外部へパケットを送信する側の送信側処理部を備え、前記受信側処理部において、外部から受信したパケットの情報を解析して、当該パケットの転送先経路及び当該パケットに対し実行すべき処理方法を識別し、前記装置内ヘッダを前記転送経路及び前記処理方法の情報を含めて生成し、当該パケットに前記生成した装置内ヘッダを付加して前記スイッチ処理部に送る処理を実行させ、前記スイッチ処理部において、各前記パケット処理部の受信側処理部から送られるパケットを、当該パケットの前記装置内ヘッダにおいて指定された、当該パケットの転送先経路である前記パケット処理部の送信側処理部へ転送する処理を実行させ、前記送信側処理部において、前記スイッチ処理部から転送されるパケットを、前記装置内ヘッダを取り外し、当該装置内ヘッダにおいて指定された当該パケットの処理方法に基づく処理を実行させることを特徴とする。
【００４３】
請求項１３の本発明のパケット交換プログラムは、前記受信側処理部において、外部から受信したパケットがＭＰＬＳパケットでありかつラベルを備える場合には、その先頭のラベルを取り外した後に、前記装置内ヘッダを付加して前記スイッチ処理部に送る処理を実行させ、前記送信側処理部において、前記スイッチ処理部から転送されたパケットがＭＰＬＳパケットである場合には、当該パケットに対し付加するラベルの有無及びその枚数を決定し、外部に送信するパケットを生成する処理を実行させることを特徴とする。
【００４４】
請求項１４の本発明のパケット交換プログラムは、前記送信側処理部において、前記スイッチ処理部から転送されたパケットがＭＰＬＳパケットである場合において、ＭＰＬＳドメインの入口の境界である場合には、受信時よりも１枚多いラベル枚数により外部に送信するパケットを生成し、ＭＰＬＳドメインの内部である場合には、受信時と同じラベル枚数により外部に送信するパケットを生成し、ＭＰＬＳドメインの出口の境界である場合には、受信時とよりも１枚少ないラベル枚数により外部に送信するパケットを生成する処理を実行させることを特徴とする。
【００４５】
本発明のルータでは、専用のパケット処理ハードウエア回路等の主信号入出力部を有するパケット処理部と、経路検索処理部を有するフォワーディング処理部と、多様なルーティングプロトコルを終端し、最短経路となる経路計算を実施し、経路テーブルを生成する機能を有するルーティングプロトコル処理部と、転送スケジューリング機能付きＮｘＮクロスバ方式のスイッチ処理部を備えている。また、前記主信号入出力部を有するパケット処理部において、受信した主信号パケットのプロトコルを識別し、ＰＰＰのリンクフェーズとプロトコルタイプに対応したパケット転送、あるいは廃棄処理を決定するための機能を有するプロトコル識別部、プロトコル識別部より転送されたパケットヘッダより、該パケットのフロー（あるいはラベル）を識別し、転送経路と該識別フロー（あるいは、ラベル）に対する処理方法（送信先タグ情報）をテーブル参照により解決し、装置内ヘッダ付与部及びパケット属性生成部に対して指示する機能を有するフロー識別及び経路解決部、フロー識別及び経路解決部の指示により、（固定長の）装置内ヘッダをパケットの先頭ページに付与すると共に、フロー識別及び経路解決部の指示内容によっては、受信パケットのラベル（シムヘッダ）を抜去した後、ＶＯＱアクセス制御を行なう装置内ヘッダ付与部、フロー識別及び経路解決部の指示により、該パケットの属性情報を生成してＶＯＱアクセス制御部へ出力するパケット属性生成部を備えている。
【００４６】
また、本発明のルータでは、ＶＩＱアクセス制御部より受信したパケット属性情報内に収容された“送信先タグ情報”を元に、該パケットの装置内フロー識別子（Ｆｌｏｗ＿ＩＤ）を解決して、前記フロー識別子毎にパケット属性情報をキューイング（メモリに格納）すると共に、ピークレートと平均レートに基づくＤｕａｌ  Ｔｏｋｅｎ  Ｂｕｃｋｅｔ方式によるシェーピング及び優先スケジューリング（ｓｃｈｅｄｕｌｉｎｇ）機能（によるメモリ読出）を有するスケジューリング部、スケジューリング部６０より受信したパケット属性内に収容されるフロー識別子より、送信パケットに対するラベル化処理方法を決定づける送信パケット処理判定部、送信パケット処理判定部が決定したラベル化処理方法に従い、ＶＩＱアクセス制御部からの読み出し制御を行ない、更に読み出した主信号パケットに対してラベル（シムヘッダ）の挿抜又は、ラベル変換処理を行った後、ＰＰＰフレームへの組み立て（カプセル化）を行なう送信パケット組立部を備えている。
【００４７】
また、本発明のルータでは、Ｆｌｏｗ  Ｃｌａｓｓｉｆｉｅｒ  Ｔａｂｌｅとして、ＣＡＭ（Ｃｏｎｔｅｎｔｓ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）検索キーテーブル、ＣＡＭヒットエントリーテーブル、ＦＴＮ（ＦＥＣ  ｔｏ  Ｎｅｘｔ  ｈｏｐ）テーブルに展開され、入力回線カード内のポート番号とＩＰヘッダ内の送信ＩＰアドレス、宛先ＩＰアドレス、Ｄｉｆｆｓｅｒｖ  Ｃｏｄｅ  Ｐｏｉｎｔ（ＤＳＣＰ）、プロトコル番号とレイヤ４（ＴＣＰ／ＵＤＰ）ヘッダ内の送信ポート番号、宛先ポート番号の任意組み合わせであるか、もしくは入力回線カード内のポート番号と、ラベル化パケットのシムヘッダ内のラベルフィールド、ＥＸＰフィールドの任意組み合わせを元に、転送先経路を決定する識別子、ポリシング対象となるフローを決定する識別子、転送ＱｏＳクラスを決定する識別子、統計情報カウント単位を規定する識別子を解決するためのメモリを備え、転送先経路を決定する識別子が、スケジューリング部と接続されるフローテーブルのアドレスポインタとしてリンクされ、該パケットの装置内フロー識別子と出力先の物理ポート番号を解決するためのメモリを備え、装置内フロー識別子は、送信パケット制御部と接続されるアクションテーブルのアドレスポインタとしてリンクされ、パケットのシムヘッダ処理（シムヘッダのプッシュ／スワップ／ポップ等）を決定する手段を備える。
【００４８】
本発明のルータの装置構成は、従来のＩＰパケットの転送のみを行なうルータの装置構成と、パケット処理部（インタフェース回線カード）のみが異なるのであり、パケット処理部の受信側処理部（受信側回線カード）が解決した送信側の転送処理を決定するための情報をルータ内で持ち回り、送信側処理部（送信側回線カード）において、実際のシムヘッダのプッシュ、スワップ、ポップ処理に関連する処理等を実行することができ、ＩＰパケット及びＭＰＬＳパケットの双方を効率よく転送することができる。これにより、（ＭＰＬＳ未サポートの）従来のルータから、本発明のルータである（ＭＰＬＳサポートの）ＬＳＲへの移行は、従来のルータのアーキテクチャを踏襲しつつ低コストかつ柔軟に行なうことができる。
【００４９】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００５０】
本発明においては、従来ルータをＬＳＲ（Ｌａｂｅｌ  Ｓｗｉｔｃｈ  Ｒｏｕｔｅｒ）に拡張するに際して、従来ルータのアーキテクチャを踏襲し低コストで柔軟な移行が可能（ｓｅａｍｌｅｓｓ）であり、汎用性に優れたルータを提供する。
【００５１】
本発明のルータは、多元的なレイヤ３トラヒックを収容するＭＰＬＳ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）網において、ＭＰＬＳパケット及びＩＰパケットを交換する。
【００５２】
図１２は、本発明の第１の実施の形態のルータ１００の構成を示すブロック図である。また、本実施の形態のルータ１００は、パケット処理部１０に特徴があり、図１２に示される各部の配置は従来のルータと同様である。
【００５３】
図１２を参照すると、本実施の形態のルータは、フォワーディング処理部８１、ルーティングプロトコル処理部８２、スイッチ処理部８０と、複数のパケット処理部１０−１〜１０−ｎを備えている。
【００５４】
各パケット処理部１０−１〜１０−ｎは、専用のパケット処理ハードウエア回路等の主信号（パケット）の入出力部を備える。キャリアクラスルータに実装するＰＰＰ  ｏｖｅｒ  ＳＯＮＥＴ／ＳＤＨ（ＰｏＳ）回線カードである。
【００５５】
フォワーディング処理部８１は、経路検索を処理する。
【００５６】
ルーティングプロトコル処理部８２は、多様なルーティングプロトコルを終端し、最短経路となる経路計算を実施し、経路テーブルを生成する。
【００５７】
スイッチ処理部８０は、転送スケジューリングを行なうＮｘＮクロスバ方式のスイッチである。
【００５８】
各パケット処理部１０−１〜１０−ｎのスイッチ側インタフェースは、全ての宛先ポート毎に仮想出力キュー（ＶＯＱ：Ｖｉｒｔｕａｌ  Ｏｕｔｐｕｔ  Ｑｕｅｕｅ）を備える。これは、理論上１００％のスイッチ効率を備えるノンブロッキングスイッチであり、これにより、従来のクロスバスイッチの弱点であったＨＯＬ（Ｈｅａｄ  ｏｆ  Ｌｉｎｅ）ブロッキング現象によるスイッチ効率低下の問題が解消される。
【００５９】
ルータ内の各スイッチサイクルにおける転送単位は、固定長セルに分割されており、以下この単位をページ（Ｐａｇｅ）と呼ぶ。これにより、パケット長によらず効率よく、かつ低遅延でスイッチング処理が実現できる。
【００６０】
また、転送スケジューリング判定の処理は、スイッチ処理部８０に備えられるアロケータにより実行される。このアロケータは、各カードのビッド（Ｂｉｄ）信号（接続を要求するＮビットマスク信号）、Ｉｎｈｉｂｉｔ信号（着信禁止を要求するＮビットマスク信号）の状態から接続パターンを決定する。
【００６１】
スイッチの接続パターンは、固定周期単位に切り替わり、この動作単位をエポック（Ｅｐｏｃｈ）と呼び、アロケータはエポック単位でパイプライン動作を行なう。
【００６２】
なお、アロケータは、複数レベルの優先度を設定しており、フォワーディング処理部からのビッド信号は、パケット処理部からのビッド信号よりも高優先処理される。ビッド要求信号の衝突が発生したときは、優先度を加味してその順位を決定する。また、優先度が同じ場合は、シャッフリングを行ない公平性を確保する。
【００６３】
図１は、本実施の形態のパケット処理部１０の構成を示すブロック図である。この図１を参照して、パケット処理部１０の構成とその処理について説明する。
【００６４】
図１では、パケット処理部１０を、外部からパケットを受信する側のパケット受信側（受信側処理部）と、外部へパケットを送信する側のパケット送信側（送信側処理部）に分けて示している。
【００６５】
パケット処理部１０のパケット受信側は、プロトコル識別部２１、フロー識別及び経路解決部３０、装置内ヘッダ付与部２２、パケット属性生成部２３、ＶＯＱ（Ｖｉｒｔｕａｌ  Ｏｕｔｐｕｔ  Ｑｕｅｕｅ）アクセス制御部４０、メモリ（３１、４１）を備えている。
【００６６】
プロトコル識別部２１は、受信した主信号パケットのプロトコルを識別し、ＰＰＰ（Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ  Ｐｒｏｔｏｃｏｌ）のリンクフェーズとプロトコルタイプに対応したパケット転送、あるいは廃棄処理を決定する。
【００６７】
フロー識別及び経路解決部３０は、プロトコル識別部２１より転送されたパケットヘッダより、該パケットのフロー（あるいはラベル）を識別し、転送経路と該識別フロー（あるいは、ラベル）に応じた処理方法（宛先タグ情報）をテーブル参照により解決し、装置内ヘッダ付与部２２、及びパケット属性生成部２３に対して指示する。
【００６８】
装置内ヘッダ付与部２２は、フロー識別及び経路解決部３０の指示により、図１１に示す（固定長の）装置内ヘッダをパケットの先頭ページに付与すると共に、フロー識別及び経路解決部３０の指示内容によっては、受信パケットのラベル（シムヘッダ）を抜去した後、ＶＯＱアクセス制御を行なう。
【００６９】
パケット属性生成部２３は、フロー識別及び経路解決部３０の指示により、該パケットの属性情報を生成してＶＯＱアクセス制御部４０へ出力する。
【００７０】
パケット処理部１０のパケット送信側は、ＶＩＱ（Ｖｉｒｔｕａｌ  Ｉｎｐｕｔ  Ｑｕｅｕｅ）アクセス制御部５０、スケジューリング部６０、送信パケット処理判定部７１、送信パケット組立部７２、メモリ（５１、６１、７３）を備えている。
【００７１】
スケジューリング部６０は、ＶＩＱアクセス制御部５０より受信したパケット属性情報内に収容された“宛先タグ情報”を元に、該パケットの装置内フロー識別子（Ｆｌｏｗ＿ＩＤ）を解決する。そして、そのフロー識別子毎にパケット属性情報をキューイング（メモリに格納）すると共に、ピークレートと平均レートに基づくＤｕａｌ  Ｔｏｋｅｎ  Ｂｕｃｋｅｔ方式によるシェーピング（Ｓｈａｐｉｎｇ）及び優先スケジューリング（によるメモリ読出）を行なう。
【００７２】
送信パケット処理判定部７１は、スケジューリング部６０より受信したパケット属性内に収容されるフロー識別子より、送信パケットに対するラベル化処理方法を決定づける。
【００７３】
送信パケット組立部７２は、送信パケット処理判定部７１が決定したラベル化処理方法に従い、ＶＩＱアクセス制御部５０からの読み出し制御を行ない、更に読み出した主信号パケットに対してラベル（シムヘッダ）の挿抜又は、ラベル変換処理を行った後、ＰＰＰフレームへの組み立て（カプセル化）を行なう。
【００７４】
図１に示される、本実施の形態のルータには、複数のテーブル（メモリ３１、６１、７３）を備えている。
【００７５】
ここで、図８を参照して、主信号の転送系に着目した場合の各テーブルの構成とその相関関係を説明する。
【００７６】
Ｆｌｏｗ  Ｃｌａｓｓｉｆｉｅｒ  Ｔａｂｌｅ３１（フロー分類テーブル）は、ＣＡＭ（Ｃｏｎｔｅｎｔｓ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）検索キーテーブル、ＣＡＭヒットエントリーテーブル、ＦＴＮ（ＦＥＣ  ｔｏ  Ｎｅｘｔ  ｈｏｐ）テーブルに展開される。
【００７７】
このＦｌｏｗ  Ｃｌａｓｓｉｆｉｅｒ  Ｔａｂｌｅ３１は、フロー識別及び経路解決部３０により検索が行なわれる。この検索を行なうためには、例えばＩＰパケットの場合は、入力回線カード内のポート番号とＩＰヘッダ内の送信ＩＰアドレス、宛先ＩＰアドレス、Ｄｉｆｆｓｅｒｖ  Ｃｏｄｅ  Ｐｏｉｎｔ（ＤＳＣＰ）、プロトコル番号とレイヤ４（ＴＣＰ／ＵＤＰ）ヘッダ内の送信ポート番号、宛先ポート番号、の任意組み合わせ等を用いることができ（抽出するフィールドは、図１０において網掛け部が対応している）、またラベル化パケットの場合には、入力回線カード内のポート番号、ラベル化パケットのシムヘッダ内のラベルフィールド、ＥＸＰフィールドの任意組み合わせ等を用いて検索することができる。そして、この検索により、転送先経路を決定する識別子（ＦＥＣ＿ＩＤ）、ポリシング対象となるフローを決定する識別子（ＰＬＣ＿ＩＤ）、転送ＱｏＳクラスを決定する識別子（ＣＬＳ＿ＩＤ）、統計情報カウント単位を規定する識別子（ＳＴＡＴ＿ＩＤ）を解決する。
【００７８】
また、この図８のＦＥＣ＿ＩＤ内の“宛先タグ（Ｄｔａｇ）情報”は、スケジューリング部６０と接続されるフローテーブル（Ｆｌｏｗ  Ｔａｂｌｅ）６１のアドレスポインタとしてリンクされている。
【００７９】
フローテーブル６１は、ＦＥＣ＿ＩＤの“宛先タグ情報”を元に、該パケットの装置内フロー識別子（Ｆｌｏｗ＿ＩＤ、フローＩＤ）と出力先の物理ポート番号（ＨＷｃｏｄｅ）を管理している。
【００８０】
フロー識別子は、更に送信パケット制御部７０と接続されるアクションテーブル（Ａｃｔｉｏｎ  Ｔａｂｌｅ）７３のアドレスポインタとしてリンクされ、パケットのシムヘッダ処理（シムヘッダのプッシュ／スワップ／ポップ等）を決定する。
【００８１】
次に、本実施の形態の動作を説明する。
【００８２】
図２は、本実施の形態のパケット処理部のパケット受信側の処理を説明するための図であり、図３は、本実施の形態のパケット処理部のパケット送信側の処理を説明するための図である。この図２、図３に示されるように、本実施の形態のパケット処理部１０の動作は、図２に示されるパケット受信側で３つのステップ（ステップ１〜ステップ３）、図３に示されるパケット送信側で３つのステップ（ステップ４〜ステップ６）の６ステップにより説明される。
【００８３】
以下、この個々の各ステップにおける処理動作を説明する。
【００８４】
まず、図２に示されるパケット受信側の処理（ステップ１〜ステップ３）を説明する。
【００８５】
［ステップ１］
パケットを受信すると、まず、プロトコル識別部２１は、受信したＰＰＰパケットヘッダのプロトコルＩＤを参照して、制御パケットであるか、主信号パケットであるかを識別する。
【００８６】
この識別処理において、主信号パケットの場合には、そのパケットヘッダをフロー識別及び経路解決部３０に送出し、制御パケットの場合には、ボード上に実装されるＣＰＵによりＰＰＰにおけるリンク確立等の処理を実施する。
【００８７】
ここで、主信号パケットとは、ＩＰパケット及びＭＰＬＳパケット（ラベル化パケット）が該当する。
【００８８】
［ステップ２］
次に、フロー識別及び経路解決部３０が、プロトコル識別部２１から前述したパケットのパケットヘッダを受信する。そして、受信したパケットヘッダ内から複数フィールド（ＭＦ：Ｍｕｌｔｉ−Ｆｉｅｌｄ、マルチフィールド）の予め定められた組み合わせのデータを取り出して、これを検索キーとして、Ｆｌｏｗ  Ｃｌａｓｓｉｆｉｅｒ  Ｔａｂｌｅ３１の検索処理を行なう。
【００８９】
フロー識別及び経路解決部３０は、Ｆｌｏｗ  Ｃｌａｓｓｉｆｉｅｒ  Ｔａｂｌｅ３１のマルチフィールド検索において、下記５つの要素を解決対象とし、これらを解決する。
・Ｆｏｒｗａｒｄｉｎｇ  Ｅｑｕｉｖａｌｅｎｔ  Ｃｌａｓｓ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ（ＦＥＣ＿ＩＤ）：転送先経路を決定する識別子
・Ｐｏｌｉｃｉｎｇ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ（ＰＬＣ＿ＩＤ）：ポリシング対象となるフローを決定する識別子
・Ｃｌａｓｓ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ（ＣＬＳ＿ＩＤ）：転送ＱｏＳクラスを決定する識別子
・Ｓｔａｔｉｓｔｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｏｕｎｔｅｒ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ（ＳＴＡＴ＿ＩＤ）：統計情報のカウント単位を規定する識別子
・Ｐｒｅ−ｄｅｆｉｎｅｄ  Ｃｏｌｏｒ（ＰＣＯＬＯＲ）：ポリシング処理を行なう以前に、パケットに設定されている優先度
【００９０】
［ステップ３］
フロー識別及び経路解決部３０にて解決された上記の各識別子の情報は、装置内ヘッダ付与部２２とパケット属性生成部２３に配布される。そして、このそれぞれの処理ブロックにおいて、ページ（Ｐａｇｅ）及び当該パケットの必要最小限の情報を示すオブジェクト（Ｏｂｊｅｃｔ）の所定位置にマッピングされた後、スイッチ処理部８０を経由して、当該パケットを送信する側のパケット処理部１０まで持ち回る。
【００９１】
次に、図３に示されるパケット受信側の処理（ステップ４〜ステップ６）を説明する。以下の処理は、スイッチ処理部８０からパケットを転送され当該パケットを送信する側のパケット処理部１０における、パケット送信側の処理である。
【００９２】
［ステップ４］
スイッチ処理部８０を経由して受信したオブジェクトには、パケット受信側で解決した、転送経路と識別フロー（又ラベル）に応じた処理方法を示す“宛先タグ情報”が搭載されている。
【００９３】
パケットスケジューリング部６０では、この宛先タグ情報を元に、フロー毎のシェーピング（出力規制）処理あるいは、スケジューリング（出力順序決定）処理等のＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）制御を行なう。
【００９４】
ここで、ルータに要求されるサービスモデルや運用形態に応じて、具備するＱｏＳ機構が異なることが想定されるが、この宛先タグ毎にポリシング及びシェーピングのパラメータを予め設定することで、シェーピング及びスケジューリングをラベル単位もしくはＩＰフロー単位で実施することができる。
【００９５】
このため、パケット送信側には、宛先タグ情報から任意のフロー識別子（Ｆｌｏｗ＿ＩＤ）を割り当てることを目的としたフローテーブル６１を備えている。パケットスケジューリング部６０は、このフローテーブル６１を、受信した宛先タグ情報を基に検索することにより、フロー識別子（Ｆｌｏｗ＿ＩＤ）を取得する。フローテーブル６１は、宛先タグをアドレスとして、フロー識別子を管理するテーブル構成である。
【００９６】
また、フロー識別子を複数のリンクポインタにて繋ぐ構成にすることにより、１つの宛先タグ値が複数の回線ポートに対するフロー処理を割り当てることも可能となり、一対多（マルチキャスト）転送にも対応することができる。
【００９７】
［ステップ５］
送信パケット処理判定部７１では、パケットスケジューリング部６０で宛先タグ情報を基に変換されたフロー識別子を用いて、そのパケットに対する処理を決定付ける処理を行なう。
【００９８】
前述のフロー識別子毎に、パケット処理を決定するためのアクションテーブル７３を備えている。アクションテーブル７３は、フロー識別子をアドレスとして、パケットのシムヘッダ処理（シムヘッダのプッシュ／スワップ／ポップ等）を設定するラベルアクションエントリ（Ｌａｂｅｌ  Ａｃｔｉｏｎ  ｅｎｔｒｙ）を備える。ラベルアクションエントリは、パケットスケジューリング部６０からのオブジェクトに含まれるフロー識別子毎に管理されている。
【００９９】
送信パケット処理判定部７１は、フロー識別子をアドレスとして、アクションテーブル７３を引き、ラベルアクションエントリを得ることで、当該パケットに対するアクションシムヘッダのプッシュ／スワップ／ポップ等）を決定する。
【０１００】
図９は、本実施の形態のラベルアクションエントリの構成の一例を示す図であり、ラベルアクションエントリのフォーマット（実メモリ上でのイメージ）を示している。
【０１０１】
図９の例では、ラベルアクションエントリは、１５ビットのアクションエントリ（Ａｃｔｉｏｎ  ｅｎｔｒｙ）と、２０ビットのラベルエントリから構成されている。
【０１０２】
アクションエントリ（Ａｃｔｉｏｎ  ｅｎｔｒｙ）は、出力シムヘッダに挿入するラベル、ＥＸＰ、ＴＴＬを導き出す目的で使用する。挿入するＥＸＰ、ＴＴＬの値は、例えば、装置内ヘッダ付与されてパケット受信側よりスイッチ経由で通知される値（図１１中ＯＵＴＥＸＰ、ＯＵＴＴＴＬ）や、パケット送信側に備えるアクションテーブル７３に予め登録されている値や、このいずれかの値を選択して用いることができる。
【０１０３】
［ステップ６］
アクションテーブル７３の表引きにより、ラベルアクションエントリを取得し、パケットに対するアクションを決定付けられると、そのアクションにかなったパケットのシムヘッダ処理（シムヘッダのプッシュ（Ｐｕｓｈ）／スワップ（Ｓｗａｐ）／ポップ（Ｐｏｐ）等）を行なう。
【０１０４】
次に、装置内での転送フォーマットを、それぞれ図面を参照して説明する。図４〜７の４種類の図面が、下記処理のそれぞれに対応している。
図４：入口処理（Ｉｎｇｒｅｓｓ処理）［ラベルプッシュ処理］
図５：出口処理（Ｅｇｒｅｓｓ処理）［ラベルポップ処理］
図６：内部処理（Ｉｎｔｅｒｍｅｄｉａｔｅ処理）［ラベルスワップ処理］
（入力パケットのラベル枚数が１枚の場合）
図７：内部処理（Ｉｎｔｅｒｍｅｄｉａｔｅ処理）［ラベルスワップ処理］
（入力パケットのラベル枚数が２枚以上の場合）
【０１０５】
まず、図４：入口処理（Ｉｎｇｒｅｓｓ処理）［ラベルプッシュ処理］における装置内転送形態ついて説明する。本処理は、ＰＯＳ  ＬＣ（Ｌｉｎｅ  Ｃａｒｄ）のマルチフィールド（ＭＦ：Ｍｕｌｔｉ−Ｆｉｅｌｄ）検索に一致するＩＰパケットが入力した場合、直接宛先のＰＯＳカードに転送するべく処理を行なう。
【０１０６】
パケット受信側では、マルチフィールド検索により宛先タグ番号を解決する。そして、当該パケットを送信する側のパケット処理部１０のパケット送信側では、その宛先タグ番号を利用してＩＰパケットをＭＰＬＳパケットにカプセル化する（ラベルプッシュ）。
【０１０７】
次に、図５：出口処理（Ｅｇｒｅｓｓ処理）［ラベルポップ処理］について説明する。本処理は、ＰＯＳ  ＬＣのラベル検索において出口処理を決定する。
【０１０８】
出口処理において、パケット受信側で宛先タグ番号を解決することは、入口処理と同等であるが、パケット受信側で入力ラベル（シムヘッダ）を取り外してパケット送信側へ転送する点が入口処理と異なる。
【０１０９】
当該パケットを送信する側のパケット処理部１０のパケット送信側では、到着した宛先タグ番号を利用して、パケットをスルー（シムヘッダに関するアクションなし）すればよいことになる。
【０１１０】
次に、図６、図７：内部処理（Ｉｎｔｅｒｍｅｄｉａｔｅ処理）［ラベルスワップ処理］について説明する。図６、図７では、受信するラベル化パケットにおいて付加されているラベル枚数（ラベルのスタック枚数）が異なっているが装置内部の処理は同様のため、両者を統括して説明する。
【０１１１】
本処理は、ＰＯＳ  ＬＣのラベル検索においてラベルのスワップ処理を決定している。このスワップ処理において、パケット受信側で宛先タグ番号を解決することは、入口、及び出口処理と同等であり、またパケット受信側で入力ラベル（シムヘッダを１枚分）を取り外してパケット送信側へ転送する点は、出口処理と同等である。
【０１１２】
当該パケットを送信する側のパケット処理部１０のパケット送信側では、到着した宛先タグ番号を利用して、パケット受信側にて１枚ポップされたパケットに対してシムヘッダを１枚挿入することを決定し、結果として、ラベルが付け換えられることとなる。
【０１１３】
なお、シムヘッダのＥＸＰ及びＴＴＬフィールドは、パケット受信側において既に解決され、装置内ヘッダ内に搭載されている。このため、パケット送信側では、これらの情報を実際に付与するシムヘッダにコピーすればよい。
【０１１４】
以上説明された、本実施の形態のルータ１００（ＬＳＲ、ラベル化パケット処理装置）内において、個々のシムヘッダ処理（プッシュ、スワップ、ポップ）を行なうにあたり、パケット受信側及びパケット送信側の役割は、以下の表１に示されるように整理することができる。
【０１１５】
【表１】
0003610913.tif 000002
【０１１６】
このように本実施の形態のルータ１００では、パケット受信側（ｉｎｂｏｕｎｄ側）のインタフェース回線カードでは、受信したパケットがＭＰＬＳパケットであると判断した場合は、当該装置がＭＰＬＳドメイン内の境界であるか内部であるかに関係なく、先頭ラベルを取り外す。
【０１１７】
そして、受信側のインタフェース回線カードは、受信したパケットのヘッダ情報を検索キーとして、該パケットに対するフローの識別、ポリシングを実行し、送信側の転送アクションを決定するための情報（宛先タグ：Ｄｔａｇ）、及び受信側に閉じたアクション情報を決定するための識別テーブルを配備する。前記テーブルの参照結果として、解決した宛先タグ情報、及びアクション情報を固定長の装置内ヘッダ、及び該パケットの必要最小限の情報を示すオブジェクトと呼ばれる固定長セルに収容して装置内転送する。前述の宛先タグ情報は、装置内においてローカルに使用され、送信側での処理方法を決定するポインタ用途として、同じ転送ルールを持つ集合体であるＦＥＣ（Ｆｏｒｗａｒｄｉｎｇ  Ｅｑｕｉｖａｌｅｎｃｅ  Ｃｌａｓｓ）と一対一に対応付けられる。またアクション情報は、受信側で該パケットの扱い（従来方法／カットスルー／廃棄等）を指定する目的で使用される。
【０１１８】
そして、パケット送信側（ｏｕｔｂｏｕｎｄ側）のインタフェース回線カードは、オブジェクトに含まれる宛先タグ情報を基に当該パケットフローを識別して、パケット転送のシェーピング／スケジューリングを実行する。このため、宛先タグ情報をキーとして、出力シムヘッダ（ＭＰＬＳラベル又はＶＰＮラベル）を決定するためのアクションテーブルを備えて、前記解決ラベル処理方法（プッシュ、スワップ、ポップ処理）を決定する。
【０１１９】
以上、説明したように本実施の形態のルータ１００は、ＩＰパケット及びＭＰＬＳパケットのそれぞれを効率よく転送することができ、更に、ＩＰ転送系のみに対応する従来のルータから、低コストかつ簡易な作業により製造することができる。
【０１２０】
なお、本実施の形態のルータ１００は、パケット処理部１０におけるプロトコル識別部２１、装置内ヘッダ付与部２２、パケット属性生成部２３、フロー識別及び経路解決部３０、スケジューリング部６０、送信パケット制御部７０、送信パケット処理判定部７１、送信パケット組立部７２等の機能や、その他の機能をハードウエア的に実現することは勿論として、各機能を備えるコンピュータプログラムを、コンピュータ処理装置のメモリにロードされることで実現することができる。このコンピュータプログラムは、磁気ディスク、半導体メモリその他の記録媒体９０に格納される。そして、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【０１２１】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【０１２２】
【発明の効果】
以上説明したように本発明のルータ（ＬＳＲ）によれば、以下のような効果が達成される。
【０１２３】
パケット受信側（ｉｎｂｏｕｎｄ側）のインタフェースカードは、受信したパケットをＭＰＬＳパケットであると判断した場合は、そのノードが境界（出口）あるいは内部に関係なく、入力ラベルを取り外す。
これにより、以下の効果が得られる。
【０１２４】
入力パケットのヘッダ情報（ラベル化パケット内の入力ラベル、あるいはＩＰパケットのヘッダ）と入力物理ポート番号の組合わせ情報を元に転送先を解決する際に、送信側の転送アクションである宛先タグに一旦変換してルータ内を持ち回ることができる。これにより、汎用的なパケットスイッチ機構を備えるのみの従来のルータにおいても、スイッチ処理部を改版する必要なく、パケット処理部の簡易な改造のみでＬＳＲの機能を実現することができる。このため、ＬＳＲの装置コストを下げ、ＭＰＬＳ網を容易に設置することができる。
【０１２５】
装置内転送において、ＭＰＬＳの出力ラベルを持ち回る必要がないため、例えば複数のラベルがプッシュされる場合でも、装置内における転送オーバーヘッドは固定長でよい。そのため、装置内で必要となる転送帯域の変動を抑えることができる。また、これに付随して入力パケット（がラベル化パケットであっても、そうでなくとも）に依存せず、スイッチリソースを効率よく利用できると共に、トラヒックの定量的な制御が可能となり、運用上の負荷を軽減できる。
【０１２６】
また、ＩＰパケットの処理（フォワーディングエンジンカードによる経路解決）と、ＭＰＬＳパケットのカットスルー処理（回線カードによる経路解決）の処理を切り替えるための機構を、簡素化できる。
【０１２７】
パケット送信側（ｏｕｔｂｏｕｎｄ側）のインタフェースカードは、オブジェクトに含まれる宛先タグ情報でフロー識別して、パケット転送のシェーピング／スケジューリングを実行し、宛先タグ情報を装置内における動作規定ポインタとして、ＭＰＬＳラベル／ＶＰＮラベルを決定すると共に、その解決ラベル処理方法（プッシュ、スワップ、ポップ処理）を決定する。
これにより、以下の効果が得られる。
【０１２８】
ＭＰＬＳパケット、ＩＰパケットが混在した運用形態においても、装置内では、宛先タグ情報のみの一元管理で該パケットの処理アクションが決定付けられるため、装置トータルでの管理が簡素化され、出力処理が容易となる。また、ＭＰＬＳをサポートしていない回線カードからのパケット入力でも、ラベルプッシュ相当のＭＰＬＳへのカプセル化が可能である。マルチキャスト転送等の付加的サービスを実現する場合においても、既存のアーキテクチャの延長で転送処理が実現可能である。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態のパケット処理部の構成を示すブロック図である。
【図２】本発明の第１の実施の形態のパケット処理部のパケット受信側の処理を説明するための図である。
【図３】本発明の第１の実施の形態のパケット処理部のパケット送信側の処理を説明するための図である。
【図４】本発明の第１の実施の形態によるルータの、ＭＰＬＳドメイン内に入るパケットの転送処理を示す図である。
【図５】本発明の第１の実施の形態によるルータの、ＭＰＬＳドメイン内から外部に出るパケットの転送処理を示す図である。
【図６】本発明の第１の実施の形態によるルータの、ＭＰＬＳドメイン内において転送されるパケットの、ラベル枚数が１枚の場合の転送処理を示す図である。
【図７】本発明の第１の実施の形態によるルータの、ＭＰＬＳドメイン内において転送されるパケットの、ラベル枚数が２枚以上の場合の転送処理を示す図である。
【図８】本発明の第１の実施の形態のパケット処理部内の、各テーブルの構成を説明するための図である。
【図９】本発明の第１の実施の形態のラベルアクションエントリの構成の一例を示す図である。
【図１０】本発明の第１の実施の形態のパケットヘッダの構成の一例を示す図である。
【図１１】本発明の第１の実施の形態の装置内ヘッダの構成の一例を示す図である。
【図１２】ルータの装置構成を示すブロック図である。
【図１３】ＭＰＬＳによるパケットの転送を説明するための図である。
【図１４】ＭＰＬＳによるパケットの転送を説明するための図である。
【図１５】ＭＰＬＳのシムヘッダ（Ｓｈｉｍ−Ｈｅａｄｅｒ）の構成の一例を示す図である。
【符号の説明】
１００  ＬＳＲ（Ｌａｂｅｌ  Ｓｗｉｔｃｈ  Ｒｏｕｔｅｒ）
１０  パケット処理部
２１  プロトコル識別部
２２  装置内ヘッダ付与部
２３  パケット属性生成部
３０  フロー識別及び経路解決部
３１  Ｆｌｏｗ  Ｃｌａｓｓｉｆｉｅｒ  Ｔａｂｌｅ
４０  ＶＯＱアクセス制御部
５０  ＶＩＱアクセス制御部
６０  スケジューリング部
６１  フローテーブル
７０  送信パケット制御部
７１  送信パケット処理判定部
７２  送信パケット組立部
７３  アクションテーブル
８０  スイッチ処理部
８１  フォワーディング処理部
８２  ルーティングプロトコル処理部
２００  ＭＰＬＳドメイン
２０１  入口境界ＬＳＲ
２０２  内部ＬＳＲ
２０３  出口境界ＬＳＲ
２１０  ＬＳＰ（Ｌａｂｅｌ  Ｓｗｉｔｃｈ  Ｐａｔｈ）
【図１】
0003610913.tif 000003
【図２】
0003610913.tif 000004
【図３】
0003610913.tif 000005
【図４】
0003610913.tif 000006
【図５】
0003610913.tif 000007
【図６】
0003610913.tif 000008
【図７】
0003610913.tif 000009
【図８】
0003610913.tif 000010
【図９】
0003610913.tif 000011
【図１０】
0003610913.tif 000012
【図１１】
0003610913.tif 000013
【図１２】
0003610913.tif 000014
【図１３】
0003610913.tif 000015
【図１４】
0003610913.tif 000016
【図１５】
0003610913.tif 000017