(57)【特許請求の範囲】
【請求項１】
リンクされたバッファリストからなる再構成バッファの作動方法であって、
ａ）新しいパケットから最初のフラグメントを受け取り、
ｂ）受け取ったフラグメントをバッファリストの頂部にコピーし、
ｃ）バッファリストの頂部をバッファリストの尾部に移動させ、
ｄ）後続のフラグメントを受け取り、前記ステップｂ）およびｃ）を繰返し、
ｅ）最後のフラグメントを受け取ると、バッファリストから再構成されたパケットを伝送し、
ｆ）フラグメントをさらに受け取らない場合は、再構成バッファ内に格納されたフラグメントデータがバッファリストの頂部に到達するようにし、
ｇ）フラグメントデータがバッファリストの頂部に到達すると、この場所を再使用するステップより成る再構成バッファの作動方法。
【請求項２】
バッファリストにおける割り当てたバッファ場所の位置を用いて、各パケットからフラグメントを受信するためのタイミングをとるステップをさらに含む請求項１の方法。
【請求項３】
パケットは可変長のパケットである請求項１または２の方法。
【請求項４】
各フラグメントは固定長のセルにおいて受信される請求項３の方法。
【発明の詳細な説明】
本発明は、バッファ管理に関し、さらに詳細には、再構成バッファの管理に関する。
【０００１】
インターネットでは、データは、インターネットプロトコル（ＩＰ）として知られる標準プロトコルに従って、複数のルーティング装置により、異質のコンピュータより成る地球規模のネットワーク上を転送される。ＩＰは、データをパケットとして知られる可変サイズ部分に分割して転送するものである。ネットワークにおける全てのトラフィックは、パケットで移送されるデータである。
【０００２】
非同期転送モード（ＡＴＭ）ネットワークにおいて、データは、通常４８バイトのデータを運ぶ一定長の小さなセルで転送される。ＡＴＭは、通信プロトコルによるオーバーヘッドを最小限に抑え、かつ大多数の通信プロトコルをハードウェアで実現することにより、高い伝送レートを得ることができる。特に、ＡＴＭによるルーティングは、完全にハードウェアで行われる。ＡＴＭでは、送り手と伝送先の間に仮想チャンネルと呼ばれる仮想回路が形成され、仮想チャンネルの形成及び保守がハードウェアでスイッチング遅延を最小限に抑えるように実現される。
【０００３】
ルータは、入来パケットを受け取り、各パケットを一時的に蓄積した後、パケットをネットワークの他の部分へ伝送するための装置である。以下の説明において、用語「ルーティング装置」は、ルータまたは回路スイッチの機能を実行する任意の装置を意味する。ルーティング装置の１つの関連例は、ＡＴＭ−ＩＰスイッチである。
【０００４】
毎秒数テラビットのオーダーの非常に大きい総帯域幅でＩＰトラフィックをルーティングできるルーティング装置が緊急に必要とされている。かかるルーティング装置は、「テラビットルータ」と呼ばれる。
【０００５】
ＩＰパケットをルータ間においてＡＴＭリンクを介して伝送する際、パケットを一定長のＡＴＭセルにセグメント化する必要がある。受信側のルータは、セルを受信すると、これを元のパケットに再構成しなければならない。
【０００６】
従来の再構成方式は、下記の手順で行われる。
【０００７】
まず第１に、パケットバッファ（または再構成バッファ）の自由プールを維持し、次に、所与のパケットの最初のセルの到着と同時に、自由プールからパケットバッファを割り当てる。パケットデータをセルからバッファにコピーし、タイマーをスタートさあせる。タイマーは、システムをセル損から保護する機能を備えており、再構成タイマーとして知られている。
【０００８】
最後のパケットを除き所与のパケットの各後続のセルが到着する度に、パケットデータをセルからバッファへコピーする。新しいデータがコピーされる度に、再構成タイマーを再びスタートさせる。所与のパケットの最後のセルが到着すると、パケットデータを再びセルからバッファへコピーし、再構成タイマーを停止させる。新しい完全なパケットを処理し、意図する送信先へ伝送する。その後、バッファを自由プールに戻す。
【０００９】
再構成タイマーの時間が切れると、１またはそれ以上のセルが失われたかあるいは損傷をうけたと想定する。この場合、パケットの再構成を放棄し、バッファを自由プールに戻す。
【００１０】
しかしながら、ルータは多数の再構成作業を同時に行う必要があることを知らなければならない。通常、ルータは、各々がＩＰパケットからのデータを運ぶ多数のＡＴＭ仮想回路を開いた状態にする。任意１つの仮想回路内において、所与のパケットのセルは隣接した状態で到着する。しかしながら、異なる仮想回路に到達する所与のパケットのセルは、互いに差し挟まれた関係にあり、これは異なるパケットからのセルが差し挟まれているということである。各々がそれ自身のタイマーを必要とする各仮想回路において、再構成を同時に行わなければならないということが考えられる。多数の仮想回路を有する高容量のルータでは、多数のタイマーが必要である。
【００１１】
従って、本発明の目的は、上述の目的を解消するかあるいは少なくとも軽減することにある。
【００１２】
この目的は、請求項１に記載された構成を有する方法により達成される。
【００１３】
フラグメントは、ネットワークの制約により別々に伝送されるデータのパケットの一部として定義される。フラグメントは、セルまたはＩＰフラグメントと呼んでもよい。
【００１４】
本発明の利点は、再構成タイマーがなくても、一定長のセルから可変長のパケットを再構成できることにある。
【００１５】
本発明の一実施例によると、再構成タイマーがなくても、一定長の非同期転送モード（ＡＴＭ）から可変長のインターネットプロトコル（ＩＰ）パケットを再構成する方法が提供される。
【００１６】
本発明をより良く理解するために、例示の目的のみで添付図面を参照する。
【００１７】
図１は、複数のパケットスイッチまたはルータ１０２、１０４、１０６、１０８、１１０、１１２が接続されるＡＴＭネットワーク１００を示す。６個のパケットスイッチまたはルータを示すが、特定の用途に応じてネットワーク１００には任意多数のかかるスイッチまたはルータを接続できることがわかる。
【００１８】
各パケットスイッチ１０２、１０４、１０６、１０８、１１０、１１２は、ネットワーク１００を介して各パケットスイッチに接続されている。ネットワーク１００をＡＴＭネットワークとして説明するが、インターネットプロトコル（ＩＰ）ネットワークでもよい。
【００１９】
各パケットスイッチ１０２、１０４、１０６、１０８、１１０、１１２は、テラビットルータ（図示せず）のインターフェイスユニットであると考えることができる。例えば、リップコア（登録商標）のようなかかるルータは、各々が毎秒２．５、１０及び４０ギガビットのインターフェイス速度をサポートしなければならない複数のインターフェイスユニットより成る。従って、パケットの取扱いは、必要とされる高レベルのハードウェア統合を可能にし開発リスクを減少させるために、できるだけ簡単にする必要がある。
【００２０】
本発明をテラビットルータに関連して説明するが、本発明は、パケットデータを再構成しなければならないパケットスイッチまたは任意の装置にも同様に利用可能であることが容易にわかるであろう。パケットデータの再構成が必要な１つの例は、パケットスイッチまたはテラビットルータへの進入点である。
【００２１】
図２は、ネットワーク（図示せず）からセルの形のデータパケットを受信する入力２０２を備えたテラビットルータ２００を示す。このルータ２００は、ネットワークから個々のセルを受信するセル受信機能２０４と、このセル受信機能からのセルを取り纏めて元のデータパケットに再構成する再構成バッファ２０６とを有する。再構成されたセルは、ルータ２００の出力２０８から出力される。バッファ２０６を、図３を参照してさらに詳細に説明する。
【００２２】
図３において、バッファ３００は、リスト上に配列された複数のバッファ要素３０２、３０４、３０６、３０８、３１０、３１２、３１４、３１６、３１８、３２０、３２２、３２４、３２６、３２８、３３０、３３２、３３４、３３６、３３８、３４０より成る。２０個のバッファ要素を示すが、任意適当な数を特定の用途に応じて使用できることがわかるであろう。
【００２３】
図３において、要素３０２はリストの頂部にあるため、自由に使用可能であり、要素３４０はパケットからの少なくとも１つのセルを含み、要素３１８は実質的に再構成されたパケットを含む。これは一例であるに過ぎない。要素３１８もリストの中間にあるため自由に使用可能であることがわかるであろう。さらに、要素３４０も、もしパケットの再構成が始まったばかりであれば自由に使用可能であろう。
【００２４】
本発明の実施例において、以下のステップがテラビットルータにおいて実行される。
【００２５】
まず第１に、パケットバッファの自由プールであるバッファ３００がリンクされたリストとして維持される。このリンクされたリストを、「自由リスト」と呼ぶ。
【００２６】
所与のパケットの最初のセルが到着すると、自由リストの頭部から、例えばバッファ要素３０２が選択され、最初のセルのパケットデータがそのバッファ要素にコピーされる。その後、そのバッファ要素は、矢印３４２で示すように、自由リストの尾部へ移動される。その後、バッファ要素３４０は、矢印３４４に示す方向に、リストの尾部から移動する。
【００２７】
最後のセルを除く所与のパケットの後続セルが到着する度に、パケットデータは関連のバッファ要素にコピーされ、そのバッファ要素は自由リストの端部に移動する。
【００２８】
所与のパケットの最後のセルが到着すると、最後のセルのパケットデータはバッファ要素にコピーされ、パケットが完全に処理されて、図２に示すように出力２０８へ送られる。再構成が行われると、バッファ要素はリストを、矢印３４４で示す方向に、リストの頂部に来るまで移動し、プロセスが新しいパケットについて再スタートする。
【００２９】
パケットのセルが失われて完全なパケットを受信できない場合、他のパケットにバッファが割り当てられる結果、矢印３４４で示すように、バッファ要素は最終的に自由リストの頭部に再び現れ、新しいパケットについて再使用される。再構成がうまくいかなかった場合は、自動的に放棄される。
【００３０】
これは、データの各パケットについて繰り返されるため、ただ１つのバッファ要素がデータの特定パケットに関するセルを取り纏めるようになり、バッファ要素がリストの頂部に到達すると実質的な時間切れとなる。
【００３１】
この方式は、コンピュータネットワーク上の或る特定の所謂「サービスの拒絶」と呼ばれる攻撃に対する保護を与えるために使用できることがわかるであろう。
【００３２】
ＩＰは、パケットサイズに物理的制限のあるリンクを含むネットワーク上において大きなパケットの伝送を可能にするために、パケットの細分化をサポートする。従って、大きなパケットを多数の小さなパケットに分割し、それらを最終的な送信先で再構成する。これにより、ネットワークが攻撃に対して脆弱になる。攻撃を行うエージェントは、各々が大きなパケットに属する旨の表示を有するが、後続のフラグメントまたはセルが伝送されない多数の個別のフラグメントまたはセルを、その目標に対して、伝送することがある。その目標（上述した従来型再構成方式を用いる場合）は、再構成を行う度に資源を確保し、その結果バッファが一杯になる。再構成タイマーを用いてこの種の攻撃に対処するのは困難である。その理由は、もしタイマーの時間が実効性を発揮するに十分短い場合、細分化された本当のパケットの到着を見届けるほど十分長くないからである。
【００３３】
本発明による再構成方式を用いる目標は、かかる「サービスの拒絶」攻撃の下でバッファが一杯になる可能性がより少ない。偽のフラグメントまたはセルは帯域幅を浪費するが、自由プールに対する最終的な影響はない。
【図面の簡単な説明】
【図１】図１は、ＡＴＭネットワークを示す。
【図２】図２は、本発明に従ってデータパケットを再構成する装置を示す。
【図３】図３は、図２の装置の一部を構成するバッファを示す。
【図１】
0004606657.tif 000002
【図２】
0004606657.tif 000003
【図３】
0004606657.tif 000004