(57)【特許請求の範囲】
【請求項１】
複数の入力インターフェースと、
複数の出力インターフェースと、
前記複数の入力インターフェースと接続される複数の入力ポートと、前記複数の出力インターフェースと接続される複数の出力ポートとを備え、前記複数の入力インターフェースの各入力インターフェースから入力された可変長パケットを、該可変長パケットのヘッダ情報によって決定される前記複数の出力インターフェースのいずれかの出力インターフェースに振り分けるスイッチ手段とを有し、
前記複数の入力インターフェースの各入力インターフェースは、入力された可変長パケットを複数の固定長セルに分割する機能と、前記可変長パケットのヘッダ情報から前記スイッチ手段内部における方路を決定するための方路情報を搭載するセルを生成する機能と、前記方路情報を搭載するセルを先頭セルとして前記スイッチ手段の対応する入力ポートに送出し、前記複数の固定長セルには前記方路情報を付加せずに前記先頭セルの後続セル群として前記対応する入力ポートに送出する機能とを有し、
前記スイッチ手段は、前記先頭セルが出力された入力インターフェースと、前記先頭セルに搭載される前記方路情報に対応する出力インターフェースとの間の接続を行い、該対応する出力インターフェースに対しては前記可変長パケットを搭載した前記複数のセルが全て到着するまで他の入力インターフェースから入力される他の可変長パケットを搭載したセルを流入させないようにスイッチングすることを特徴とする可変長パケット通信装置。
【請求項２】
前記方路情報は、方路情報を含まない前記複数の固定長セルが送信される信号線とは異なる制御線を用いて通知されることを特徴とする請求項１に記載の可変長パケット通信装置。
【請求項３】
前記スイッチ手段は、前記複数の出力ポートの各出力ポートの空き状態を監視し、その空き情報を前記複数の入力インターフェースに通知する手段を有し、
前記複数の入力インターフェースの各入力インターフェースは、通知された空き情報に基づき、空いている出力ポートに接続されている出力インターフェースに送出すべき可変長パケットを搭載した前記スイッチ手段に送出することを特徴とする請求項１又は請求項２の何れかに記載のパケット通信装置。
【請求項４】
前記スイッチ手段は、前記複数の入力インターフェースの各入力インターフェース対応に複数の待機バッファと、待機バッファに空きがでると、次のセルの送信を許可する信号を前記入力インターフェースに対して送出する機能を有することを特徴とする請求項３記載の可変長パケット通信装置。
【請求項５】
前記複数の入力インターフェースの各入力インターフェースは、出力インターフェース対応に設けられた複数のキューを有し、入力された可変長パケットのヘッダ情報に応じて前記複数のキューの対応するキューにキューイングすることを特徴とする請求項１乃至請求項４の何れかに記載のパケット通信装置。
【請求項６】
前記複数の入力インターフェースの各入力インターフェースは、出力インターフェース対応に設けられた複数のキューと、入力された可変長パケットをそのヘッダ情報に応じて前記複数のキューの対応するキューに振り分ける機能とを有し、 前記複数の入力インターフェースの各入力インターフェースは、前記複数のキューの状況を管理する管理手段を有し、
前記スイッチ手段は、各入力インターフェースの前記管理手段から前記複数のキューの状況の通知を受け、その通知に基づき各入力インターフェースに送信を許可する出力インターフェースを通知するスケジューラを有することを特徴とする請求項１又は２記載の可変長パケット通信装置。
【請求項７】
前記複数の入力インターフェースの各入力インターフェースは、出力インターフェース及び入力される可変長パケットの優先度クラス別に設けられた複数のキューと、入力された可変長パケットをそのヘッダ情報とその優先度クラスに応じて前記複数のキューの対応するキューに振り分ける機能とを有し、
前記スイッチ手段は、前記複数の出力ポートの各出力ポートの空き情報を監視し、その空き情報を前記複数の入力インターフェースに通知する手段を有し、
前記複数の入力インターフェースの各入力インターフェースは、通知された空き情報と、キューイングされている可変長パケットの優先度クラスに基づき、キューイングされている可変長パケットを前記スイッチ手段に送出することを特徴とする請求項１又は請求項２の何れかに記載のパケット通信装置。
【請求項８】
前記複数の入力インターフェースの各入力インターフェースは、前記可変長パケットがIPパケットである場合には、そのIPパケットのTOSフィールド情報により前記優先度クラスを判断することを特徴とする前記請求項７記載の可変長パケット通信装置。
【請求項９】
前記複数の出力インターフェースの各出力インターフェースは、前記複数の固定長セルから可変長パケットを再組立する手段を有することを特徴とする請求項１乃至請求項８の何れかに記載の可変長パケット通信装置。
【請求項１０】
前記スイッチ手段は、クロスバースイッチであることを特徴とする請求項１乃至請求項９のいずれかに記載の可変長パケット通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケット通信装置に係わり、特に可変長パケットをスイッチングする可変長パケット通信装置（特にIPルータ）に関する。
【０００２】
【従来の技術】
近年インターネットを始めとするデータトラフィックが急激に増大している。このトラフィックの急激な増大に対応するためには、通信路の大容量化、交換ノードを始めとする通信装置の高速・大容量化が必須となる。
【０００３】
従来の可変長パケット通信装置では、各インターフェースがバスで接続され、パケットが到来するとバスに接続されたマイクロプロセッサに送信され、マイクロプロセッサでパケットの解析を行った後、所望の方路に出力する構成をとっていた。しかし、バスやマイクロプロセッサの処理がネックとなり高速な処理を行うことが困難であった。
【０００４】
またフレームリレースイッチの様に、パケット単位でスイッチングを行うスイッチング装置も使用されてきた。この装置では可変長パケット単位でスイッチリソースの割り当て解放を行う。しかしこのような装置では、パケットの送信終了をバイト毎に監視する必要があり、また割り当て制御をバイト単位で行う必要があるため、この制御部分の処理がネックとなって大容量パケットスイッチが構成できない問題がある。
【０００５】
これに対して、近年通信装置内部にスイッチを用いた、比較的高速なパケット通信装置も登場している。この例としては、スイッチコアにThe Tiny Tera: A small high-bandwidth packet switch core, IEEE Micro, Jan-Feb 1997に記述されているようなスイッチを用いる方式が知られている（以下「従来技術１」という）。この方式では、スイッチに入力する入力側インターフェースでパケットを固定長のセルに分割してセルスイッチであるスイッチコアに送出し、スイッチコアはセル単位に所望の方路に転送し、そして、出力側インターフェースにおいて分割された固定長セルからパケットを再構成することでパケットのスイッチングを実現している。
【０００６】
また、特開平5−227211号公報（以下「従来技術２」という。）には、可変長パケットを小パケットに分解し、各小パケットに行き先を表示するための内部ヘッダを付与してスイッチ部に送り込み、スイッチ部では内部ヘッダに基づいてATMスイッチングを行い、出力側で可変長パケットに組み立てること、ある転送元チャネルと転送先チャネルとの間にスイッチを介してパスが設定され、パケットの転送が行われている間は、このパスを固定化し、他のチャネルは転送を待ち合わせる旨が開示されている。
【０００７】
【発明が解決しようとする課題】
従来技術１では、スイッチの占有単位が１セル単位であり、出力側インターフェースに到着するパケットは、各入力側インターフェースからインターリーブされた形で到着するため、出力側インターフェースには各入力側インターフェースから到着するセルを別々のキューに蓄積し、各キューごとにパケットを再構成（ATM交換機のCLAD機能に相当）し、その後パケットを伝送路に出力する必要がある。送信側インターフェースではセルが到着すると、まず入力側インターフェースを識別する機能が必要で、更にそれぞれの入力側インターフェースから到来したパケットの再構成を行うためのキューを持つため、制御するため及びキューを構成するためのハードウェア量が増加する問題があった。
【０００８】
この点、従来技術２では、転送先の組立部で待ち合わせバッファが不要となり、ハードウェア量を少なくすることができる。
【０００９】
しかし、従来技術２では、各小パケットに対して出力先を表示するフィールドを設けており、このフィールドの大きさが小パケットの大きさに比較して大きな範囲を占めることになる。従って、上記フィールドのオーバヘッドが大きくなり、スイッチのスループットを減じてしまう。
【００１０】
そこで、本発明の第１の目的はスイッチのスループットを減じることなく、かつハードウエア量の少ない可変長パケット通信装置を提供することにある。
【００１１】
また、爆発するインタネットトラフィックを処理するため、バックボーンには超大容量なルータが必要である。このようなルータを構成する場合には内部に超大容量スイッチが必要となる。超大容量スイッチを構成するためには、スイッチ内部での並列処理が有効である。一般にスイッチのスループットは、スイッチ内部のクロック周波数と並列処理ビット数の積で決定されるため、スイッチ内部での並列処理ビット数を大きくすることにより、大容量スイッチ実現が可能となる。並列処理ビット数を大きくするには、スイッチ内部の処理単位のビット数を大きくする必要がある。しかし、パケットをセルに分割し、単にそのセルを処理単位とするスイッチでは、並列処理ビット数はセルの大きさにより制約を受けるので、大容量スイッチを構成することは困難であった。
【００１２】
そこで、本発明の第２の目的は、大容量スイッチ内部の並列処理を有効に行うことができる可変長パケット通信装置を提供することにある。
【００１３】
また、インターネットには様々な種類のサービスが収容されるため、特定のパケットを優先的に送信したい場合がある。例えば、VPN（Virtual Private Network）内を流れるパケットや、リアルタイム性が要求される動画データ等を搭載するパケット等を優先的に送信する場合である。
【００１４】
そこで、本発明の第３の目的は、特定パケットを優先的に送信することができる可変長パケット通信装置を提供することにある。
【００１５】
【課題を解決するための手段】
前記第１の課題を解決するために、本発明では、入力側インターフェースにおいて、可変長パケットをセル群に分割する。入力側インターフェースは、可変長パケットのヘッダ情報から出力方路を表示したセル（スイッチ制御用セル）を生成し、このスイッチ制御用セルを先頭セルとしてスイッチに入力し、その後続セルとして上記セル群をスイッチに入力する。スイッチはこの先頭セルの情報に従いパケットのスイッチングを行う。従って、上記セル群には出力方路情報を付加しない。
【００１６】
このときスイッチの保留単位をパケット単位とする。すなわち、１つの入力側インターフェースから出力側インターフェースに、あるパケットを構成するセルの出力が開始されると、そのパケットを構成する全てのセルが出力側インターフェースに到着するまでスイッチを保留する。別の表現をするならば、出力側インターフェースは、別の入力側インターフェースから到着するセルを受け取らないようにする。これにより、受信側インターフェースでは到着セル順にキューイングすることにより、パケットの再構成が可能となる。本方式では、セル群単位ではなく、パケット単位に出力方路を表示するフィールドを付与するので、スイッチを効率よく使用でき、かつ送信側インターフェースのハードウェア量が少ない通信装置を構成できる。更に本発明では、スイッチの開閉自体はセル単位に行うため、従来のフレームリレー交換機の例に示したようなスイッチのスケジューラの負荷増大による速度ネックを回避することができ、大容量化を行うことが出来る。
【００１７】
また、本願の他の発明では、前記第１の課題及び前記第２の課題を解決するために、入力側インターフェースに、１乃至複数のパケットを搭載するデータ単位である、固定長パケットコンテナを導入する。入力側インターフェースでは、送信される出力側インターフェースごとにパケットをキューイングし、パケットコンテナに同一出力インターフェース行きのパケットを搭載する。このとき、１つのパケットは１つのコンテナに搭載され、２つのコンテナにまたがるないようにする。スイッチはこのコンテナを単位にスイッチングを行い、出力インターフェースではこのコンテナからパケットを取り出し、伝送路に送出する。これにより、出力側インターフェースではパケットの再構成を容易に行うことができる。更にコンテナにすることにより、スイッチ内部の処理単位が大きくなり、並列に展開できるビット数を増やすことができ、スイッチの大容量化を行うことができる。
【００１８】
さらに、本願の他の発明では、前記第２の課題を解決するために、入力側インターフェースに、固定長コンテナを導入する。入力側インターフェースでは、送信される出力側インターフェースごとにパケットをキューイングする。そしてコンテナに１乃至複数のパケットを搭載する。この時、パケットを複数コンテナにまたがって搭載することを許容する。スイッチはこのコンテナを単位にスイッチングを行い、出力インターフェースではこのコンテナからパケットを取り出し、伝送路に送出する。この方式では、出力側インターフェースでは、複数コンテナにまたがるパケットを再構成するため、各入力側インターフェースに対応したパケット組立バッファを持つ。これにより、並列展開のネックを解消し、スイッチの大容量化を行うことができる。さらに、パケットの切れ目を意識しないでコンテナにパケットを詰めるため、定常的にPADを入れる必要がなく、従ってコンテナの使用率を高めることができるため、スイッチの利用率を上昇させることができる。
【００１９】
また、本願の他の発明では、上記第３の目的を解決するために、入力インターフェースに、各出力インターフェース対応に優先クラス別のキューを設ける。これにより、HOL(Head of Line)ブロッキングの問題を解消できるとともに、特定パケットを優先的に送信することができる可変長パケット通信装置を提供することができる。
【００２０】
【発明の実施の形態】
以下、図を用いて本発明の実施例１乃至実施例３について説明する。
【００２１】
まずはじめに、実施例１乃至実施例３に共通にする、パケット通信装置の構成を図１７乃至図１８を用いて説明する。
【００２２】
図１７に示すパケット通信装置は、可変長パケットが到来し、物理レイヤの終端処理を行う入力側物理レイヤ処理部１０２、可変長パケットのヘッダを解析し、出力方路等の決定を行う入力側インターフェース３、入力してきたパケットを所望の方路に転送するコアスイッチ１０１、出力側で可変長パケットの送信処理を行う出力側インターフェース４、送信フレームにパケットを詰め込むなどの送信側での物理レイヤの処理を行う出力側物理レイヤ処理部１０３と、これらの各部に対する設定を行ったり、監視を行い、オペレーションを行うための装置との通信を行う制御部１００より構成される。
【００２３】
図１８に別のパケット通信装置の構成例を示す。パケットレイヤの処理を行う入力側インターフェース３に複数の物理レイヤ処理部１０２を接続し、パケットレイヤ処理部では複数の伝送路から到来した可変長パケットをまとめて処理する。これによりパケット検索のテーブルが共用出来るため、装置のコストを著しく減じることが出来る。
【００２４】
以下それぞれの実施例について図を用いて説明する。
【００２５】
［実施例１］
図１は本発明による、パケット通信装置の一実施例である。図１では図１７乃至図１８の入力インターフェース３、コアスイッチ１０１、出力インターフェース４の各部分を記述したものである。セルスイッチ62は、例えばクロスバスイッチで構成される。各入力側インターフェース63は、出力側インターフェース対応に設けられたｎ個のキュー、入力された可変長パケットのヘッダ情報により該可変長パケットが送出されるべき出力側インターフェースを特定し、該可変長パケットを対応するキュー65に振り分ける出力方路振分部60、及び上記ｎ個のキューの何れかのキューを選択し、キューイングされている可変長パケットのセルスイッチ62への出力を許可する出力キュー選択部66を設ける。また、各出力側インターフェース64には１個のキュー65を設ける。なお、以下、可変長パケットを単にパケットと呼ぶ場合もある。
【００２６】
本パケット通信装置の特徴は、入力側インターフェースにおいて、入力パケットを複数の固定長のセルに分割することである。ここでセルとは固定長のデータの固まりを意味し、ATMセルに限ったものではない。
【００２７】
ここで、パケットの固定長セルへの分割について、図１３乃至図１５を用いて詳述する。
【００２８】
図１３は、IPパケットを装置内セルに分割する際のフォーマットの一実施例を示す。本フォーマットは、装置内ヘッダ68を先頭に配置し、入力されたIPパケットを複数の固定長セルに分割したセル群67をその後続に配置するフォーマットとなっている。パケット長がセル長の定数倍にならない場合は、最後のセルにPAD 69を挿入する。
【００２９】
装置内ヘッダ68は次のようにして生成される。各入力側インターフェースの出力方路振分60は、入力されたIPパケットのIPヘッダ73から出力先インターフェースを検索し、更にパケット長をカウントし、行き先インターフェース70とパケット長71を示すフィールドを持つ装置内ヘッダ68を作成する。後続のセル群67には出力先インターフェース情報を含むヘッダやトレイラ情報は付加されない。
【００３０】
なお、パケット長71には、バケット長の代わりに、パケットを搭載するために必要なセル数を表示しても良い。パケットの優先度クラスを表示するフィールドを装置内ヘッダ68領域に設け、スイッチ内で優先制御を行っても良い。この優先制御については後述する。
【００３１】
上述のように、先頭セルに出力インターフェース情報をもたせ、後続のセル群には出力先インターフェース情報を含むヘッダ、トレイラ情報等を付加しないので、各セル群にヘッダ等を付加する場合に比べて、オーバヘッドを削減することができる。従って、スイッチのスループットを減じることはない。
【００３２】
図１４は、IPパケットのセル群への分割する際のフォーマットの他の実施例を示す。図１３では装置内ヘッダ68のみで一つのセルを構成する例を説明したが、図１４に示すフォーマットでは、装置内ヘッダ68が短い場合に、装置内ヘッダ68と共にIPパケットも先頭セルに搭載している点が図１３のフォーマットと異なる。
【００３３】
図１５は、IPパケットのセル群への分割する際のフォーマットの他の実施例を示す。図１３、１４では分割したパケットを搭載した２つ目以降のセル67（上記先頭セル以外のセル）には、ヘッダやトレイラ情報は付加されていないが、図１５の実施例のセル75では、装置内の誤り検出を検出するためのセルシーケンスナンバ76又は誤り検出符号を搭載し、装置内障害を検出する。但し、この場合も、先頭セル以外のセル群75には、出力インターフェース情報は付加されない。従って、先頭セル以外の各セル群に出力インターフェース情報を付加する場合に比べ、オーバヘッドを少なくすることができる。
【００３４】
なお、誤り検出符号を搭載する場合には最後のセルのみに誤り検出符号を搭載する方法も考えられる。また、図１５では、先頭セルにパケット長を搭載して最終パケットを認識する例を示しているが、本実施例のヘッダ情報に最終セル、先頭セルの識別子を搭載して１パケットを構成するセル群を認識しても良い。
【００３５】
再び図１の説明に戻る。上述のように、入力されたパケットはセル群に分割される。図１の各入力側インターフェースにおけるキューには、入力されたパケットが滞留している様子を示している。キューの上段はパケットであり、下段はセル単位である。セル群出力キュー選択部61は、送信するパケットを選択し（すなわちセルスイッチ62への送信を許可するキューを選択する。）、この指示に従い、入力側インターフェースは、装置内ヘッダ68を先頭セルとしてセルスイッチ62に送信する。セルスイッチでは、パケットの先頭のスイッチ設定情報68を受け取り、そのスイッチ設定情報に基づき、入力側インターフェースとセル群を出力すべき出力側インターフェースとの間の接続関係を設定する。セルスイッチはその接続関係を設定後、装置内ヘッダ68に後続するセル群を連続して、その出力側インターフェースに送信する。この間、同一の出力側インターフェースに対しては、他の入力側インターフェースからセルを送信しないようにする。これにより、出力側インターフェースには一つのパケットを構成するセルが連続して到来することになるので、パケット再構成のためのキューは１つで足り、ハードウェア量を少なくすることができる。
【００３６】
図２１を用いて更に詳細に説明する。本図はコアスイッチ部をより詳細に記述したものである。入力インターフェース３は送信したいパケットの一部もしくは全部をセルスイッチ内の入力バッファ１２１に転送する。スイッチ内のスケジューラ６１は、各入力インターフェース３から到来するパケットの先頭セルの装置内ヘッダを読み出す（１３０）。そして入力側の要求に従いスイッチの接点の開閉を行い（１３２）、パケットのスイッチングが行われる。１パケット分のセルが全て送信されると、スケジューラは該当接点の解放を行い、次のパケットのスイッチングの受付を行う。複数の方路から同一出力方路に対して要求が行われた場合には、スケジューラはまず優先度の高いパケットを優先して転送する。また、複数のパケットが同一優先度となった場合は、スケジューラは重み付きラウンドロビン（WRR）方式によってスイッチングを行うパケットを決定する。
【００３７】
なお、スイッチ設定情報68はスイッチにて方路決定後廃棄してもよいし、出力側で廃棄してもよい。
【００３８】
また、入力側インターフェース内のキューでは、内部ヘッダ情報68を各セル群の先頭に配置したが、スイッチ設定情報は論理的にセル群の先頭に配置されれば良く、インターフェース上で物理的に別の記憶手段に格納しておき、セル群がスイッチに出力される時に併せてセルスイッチに送られるように構成しても良い。
【００３９】
ところで、パケットスイッチでは、HOL(Head of Line)ブロッキングが問題となる。これは一つの出力側インターフェースに対して、複数の入力側インターフェースが同時にセルを送信しようとしたときに起こるもので、待たされた側の入力側インターフェースに、他の出力側インターフェースに送信できる後続のパケットがあるにも関わらず、先頭のパケットが待たされているので、転送できない状態になり、その結果、スイッチのスループットが下がってしまう現象である。
【００４０】
これを回避するために、スケジューラ61を用いることが考えられる。このスケジューラでは、出力側インターフェースの通信空き状態を常時監視し、各入力側インターフェースに対して、その空き状態を常時通知する。入力側インターフェースでは、出力方路振分部で各パケットの送信先である各出力インターフェースを識別し、これらのパケットを各出力側インターフェース対応にキューイングする。そして空き状態の出力側インターフェース行きのパケットを選択して、スイッチにパケットを送信する。これにより、HOLブロッキングを回避することができ、スイッチのスループットを向上することができる。
【００４１】
図２１を用いて更に詳細に説明する。スケジューラ６１は全ての出力方路の閉塞状況（パケット転送中であること）を認知している。この情報をスイッチから各出力側インターフェース送出されるパケットの装置内ヘッダを搭載する先頭セルに搭載して各インターフェースに常時通知を行う。受信した各出力側インターフェースでは、出力方路の閉塞状況を取得し、同一カードに搭載されている入力側インターフェースに送付する。入力側インターフェースでは本情報を出力キュー選択部が受け取り、閉塞していない方路に出力するパケットを優先してスイッチ部に転送する。これにより、HOLブロッキングの確率を著しく下げることが出来、スイッチの性能を向上させることが出来る。
【００４２】
なお、コアスイッチから入力側のインターフェースへの出力方路の閉塞状況の通知手段としては、スケジューラから各入力インターフェースに対して制御線を介して行う方法がある。また次の様な手段も考えられる。
【００４３】
スケジューラ６１は閉塞状況を各出力インターフェース行きの出力バッファ１２２に通知（１３３）し、ここで出力されるパケットのヘッダ領域に閉塞状況を書き込む。出力インターフェースでは本情報を抜きとり、一般に同一カード上に搭載されている入力インターフェースに通知を行う。入力インターフェースでは本情報に基づきパケットのスイッチ部への送信を行う。この方式によりコアスイッチと入力インターフェースの間に個別の通知線を設ける必要が無くなるため、カードのピンの不足の問題が解消できる。
【００４４】
また、HOLブロッキングを回避する別の方法として、入力側インターフェースからスケジューラに対して転送要求を出すようにしても良い。入力側インターフェースでは、前記の例と同様に出力方路振分部で各パケットの送信先である各出力インターフェースを識別し、これらのパケットを各出力側インターフェース対応にキューイングする。そしてキューの状況を出力キュー選択部で監視し、スケジューラに申告する。スケジューラでは各入力側インターフェースのリクエスト状況と出力側インターフェースの空き状況を計算し、各入力側インターフェースに対してそれぞれ特定の出力インターフェース行きのパケットの送信を指示する。入力側インターフェースではこの指示に従い１パケットを構成するセル群の送信を行い、これによりHOLブロッキングを回避することができる。
【００４５】
次に、パケットの優先送信制御について説明する。インターネットには様々な種類のサービスが収容されるため、特定のパケットを優先的に送信したい場合がある。例えば、VPN（Virtual Private Network）内を流れるパケットを優先的に送信する場合や、リアルタイム性が要求される動画データ等である。本実施例では、そのような機能も実現することができる。図２に特定パケットを優先的に送信するための入力側インターフェース63を示す。本インターフェースでは、各出力側インターフェース対応にキューを用意するだけではなく、その優先度にも応じてキューを用意する。たとえば優先度がHighとLowの２クラスを定義する場合、出力側インターフェース×２個のキューが設けることになる。出力方路振分63では、出力方路以外にパケットの送信優先度を判定し、各キュー61に振り分けを行う。そしてセルスイッチへは優先度の高いものを中心に送信を行う。これにより、パケットの優先度に合わせた送信を行うことができる。
【００４６】
図１９を用いて入力インターフェース部３におけるスイッチへ送付するパケットの選択アルゴリズムについて説明する。まず、各インターフェース行きで同一クラス内でのWRRを行い（１１１）、出力パケット候補を決定する。更にこれらの出力パケット候補から、優先度クラスの高いものを選択して出力パケットとする（１１０）。そしてパケットのスイッチへの送信を開始する。
【００４７】
図２０を用いて閉塞情報がフィードバックされる場合の、入力インターフェース部におけるスイッチへ送付するパケットの選択アルゴリズムについて説明する。まず、各インターフェース行きでかつ出力方路が閉塞していないものに関して、同一クラス内でのWRRを行い、出力パケット候補を決定する（１１４）。更にこれらの出力パケット候補から、優先度クラスの高いものを選択して出力パケットとする（１１０）。そしてパケットのスイッチへの送信を開始する。
【００４８】
また同一出力方路行きのパケットが同時に入力された場合には、スイッチ部で優先度に基づき判断を行い、優先パケットが優先して出力される事は前述したとおりである。
【００４９】
なお、入力インターフェースにおける出力方路振り分け部の優先度の判断については、到来するIPパケットのヘッダの特定部分を識別することにより行う。ここでIPパケットのヘッダとは、IPヘッダ及びTCPヘッダを指す。図１６にＩＰパケットのパケットフォーマットを示す。より詳細には、IPパケットのTOS（type of service）フィールド１４２により判断したり、又はパケットの送信、受信アドレス（１５１、１５０）情報により識別を行ったり、TCPヘッダのポート番号により識別を行ったりすることが考えられる。
【００５０】
［実施例２］
図３は本発明によるパケット通信装置の一実施例である。本実施例では、コンテナ単位に通信路のつなぎ換えを行うコンテナスイッチ２によりスイッチングを行い、入力側インターフェースでは同一出力インターフェース行きの一又は複数のパケットを搭載するコンテナを作成し、出力側インターフェースではコンテナからパケットを取り出し、伝送路に送出する。コンテナスイッチ２はコンテナ単位のスイッチングを行うもので、スイッチリソースの確保、開放をコンテナがスイッチを通過する時間（タイムスロット）で行う。
【００５１】
入力側インターフェースでは、到来したパケットを出力方路振分10が行き先出力インターフェース毎に振り分けて、それぞれのキュー１５に蓄積する。それぞれのキューでは、コンテナの生成が行われる。図中キューの上段はパケットを示し、下段（固定長のもの）はコンテナを示している。コンテナには１ないし複数のパケットが搭載され、コンテナの残りの部分にはPAD（図中黒塗で示す）が搭載され、一つのコンテナを構成する。なお、パケットが到着して、ある一定の時間が経過した場合、別のパケットが搭載できる場合でもPADを詰めてコンテナを構成する場合もある。コンテナが構成されると、スケジューラに対して送信準備完了のリクエストを送信する。スケジューラは各入力側インターフェースのリクエストを計算し、それぞれの入力側インターフェースに対して特定の出力側インターフェース行きのコンテナの出力許可を送信する。そして各入力側インターフェースからコンテナがコンテナスイッチに送信され、それぞれ各出力側インターフェースに送付される。出力側インターフェースではコンテナからパケットを取り出し、伝送路へと送出する。本実施例ではコンテナ単位でスイッチングを行うが、コンテナの単位が大きいため、大容量スイッチの構成に適している。また、本実施例では、１つのパケットが複数のコンテナにまたがることは無いため、出力側インターフェースでは１つのキューで受信してもパケットを再構成できる。
【００５２】
図４にコンテナの構成例を示す。コンテナにパケットを詰め、受信側で再度パケットを取り出すためには、パケットとパケットの境界を識別できる仕組みが必要である。本構成例では、パケット本体にバイト毎にパケット先頭識別フラグ31をつける。バケットの先頭にはフラグ“１”をたて、それ以外のところを“０”にして送信する。そしてPAD部分では、全てのフィールドを“1”にして送ることにより、パケットの境界及びPAD部分の識別を行うことができ、受信側ではパケットの再構成を行うことができる。
【００５３】
図５はコンテナの別の構成例を示す。本構成例ではコンテナの先頭に境界表示ヘッダを設けている。この境界表示ヘッダはバイト毎のビットマップ構成をしており、前記コンテナの構成例と同様にパケットの先頭となるバイトに“１”を示し、それ以外のバイトには“0”を示し、PAD部分には“1”を示す。これによりパケットの境界及びPAD部分の識別を行うことができ、受信側ではパケットの再構成を行うことができる。
【００５４】
図４、図５を用いて、コンテナの構成例を示したが、その他にも境界識別を行う方式としては、PPP(Point to point protocol)のようなコードバイオレーションによる識別方法を用いることもできる。
【００５５】
図６に本実施例によるパケット通信装置の動作をフロー図で示す。スイッチのコンテナ処理時間に同期して処理が行われる。次のコンテナ処理時間に各入力インターフェースからコンテナスイッチでスイッチングするコンテナを決定するため、各入力インターフェースはコンテナの作成状況をスケジューラに通知する（送出要求 50）。これを受けてスケジューラは次タイムスロットでのスイッチの接続を決定(51)し、各入力側インターフェースに通知する(出力方路指示52)。そして次スロットのスイッチの接続関係をコンテナスイッチに通知する（スイッチ接続指示：53）。次コンテナ処理時間にはスケジューラの指示に合わせて入力側インターフェース及びコンテナスイッチがコンテナを転送する。
【００５６】
前記実施例では、スケジューラは入力側インターフェースの要求に応じてスケジューリングを行う実施例であったが、スケジューラが入力側インターフェースの要求を受けずに、予め決められたスケジューリングを行う方式（プレスケジューリング方式）を採用しても良い。
【００５７】
また、本コンテナ方式に於いて、実施例１で説明したように、パケットの優先度に応じたパケットの送信を行うこともできる。この場合には、入力側インターフェースでは、出力側インターフェースに応じてキューを設けるだけでなく、優先度に応じてもキューを設け、それぞれのキュー毎にコンテナを作成する。スケジューラはこの優先度を考慮に入れてスケジューリングを行い、これにより優先パケットの優先転送を行うことができる。
【００５８】
［実施例３］
図７は本発明によるパケット通信装置の一実施例である。本実施例もまた、コンテナ単位でスイッチングを行うので、実施例２と同様、大容量スイッチ内部の並列処理が有効になる。
【００５９】
図７のパケット通信装置の構成を説明する。コンテナスイッチ２はコンテナ単位のスイッチングを行うもので、スイッチリソースの確保、開放をコンテナがスイッチを通過する時間（タイムスロット）で行うものである。コンテナ生成部３ではそれぞれの出力方路に対応するキュー１１を持つ。入力してきた可変長パケットは出力方路振分１０で出力方路を検索、決定した後、出力方路に対応したキューに滞留される。キューに滞留されたパケットはコンテナに搭載される。スケジューラの行うスケジューリングにに従い、コンテナは所望の出力インターフェースにスイッチングされ、コンテナ分解部４では入力先毎に用意されたキューに滞留される。滞留されたパケットは出力方路スケジューラに従い伝送路に送出されていく。
【００６０】
本実施例が実施例２と異なるのは、後述するように、パケットを複数のコンテナにまたがって搭載できるようにしている点である。このため、出力側インターフェースでは、入力側インターフェース対応にキューを設けている。しかし、パケットの切れ目を意識しないでコンテナにパケットを詰めるため、常時PADを入れる必要がなく（ただし、長時間同一方路行きのパケットが到来しない場合、装置内ディレイが大きくなるのを防ぐためにＰＡＤを挿入することがあってもよい）、従ってコンテナの使用率を高めることができる。
【００６１】
図８にコンテナの一実施例を示す。各キューに転送されたパケットはコンテナに搭載されていく。これらのパケットはパケットの区切りに関係なく、コンテナに詰められていく。例えばパケットCはコンテナＡ（３０−Ａ）とコンテナＢ（３０−Ｂ）にまたがって搭載されている。また、パケットが一定時間到来しない場合には、コンテナがパケットで埋まらない場合にもコンテナを送出する場合がある。この場合コンテナの残り部分はPADで埋められる。
【００６２】
またコンテナに搭載された場合、出力側のコンテナ分解部ではコンテナ中のパケットの切れ目を知る必要がある。このため、本実施例では、パケットを搭載するフィールドに並行して、１ビットの先頭識別フィールドを設けている。先頭識別フィールドでは、パケットの先頭の場合にはフラグ１を、それ以外のところでは０をマップすることにより、パケットの先頭、最後を識別することが出来る。またPADを識別するために、PAD部分の識別子は全て１とする。
【００６３】
図９はコンテナの別の構成例を示す。本構成例ではコンテナの先頭に境界表示ヘッダを設けている。この境界表示ヘッダはバイト毎のビットマップ構成をしており、前記コンテナの構成例と同様にパケットの先頭を先頭となるバイトに１を示し、それ以外のバイトには0を示し、PAD部分には1を示す。これによりパケットの境界及びPAD部分の識別を行うことができ、受信側ではパケットの再構成を行うことができる。
【００６４】
図８、図９を用いて、コンテナの構成例を示したが、その他にも境界識別を行う方式としては、PPP(Point to point protocol)のようなコードバイオレーションによる識別方法を用いることもできる。
【００６５】
図１０に本実施例によるパケット通信装置の動作をフロー図で示す。スイッチのコンテナ処理時間に同期して処理が行われる。次のコンテナ処理時間に各入力インターフェースからコンテナスイッチでスイッチングするコンテナを決定するため、各入力インターフェースはコンテナの作成状況をスケジューラに通知する（送出要求 50）。これを受けてスケジューラは次タイムスロットでのスイッチの接続を決定(51)し、各入力側インターフェースに通知し、更に送信側インターフェースにも通知する(出力方路指示52)。そして次スロットのスイッチの接続関係をコンテナスイッチに通知する（スイッチ接続指示：53）。次コンテナ処理時間にはスケジューラの指示に合わせて入力側インターフェース、出力側インターフェース及びコンテナスイッチがコンテナを転送する。
【００６６】
前記実施例では、スケジューラは入力側インターフェースの要求に応じてスケジューリングを行う実施例であったが、スケジューラが入力側インターフェースの要求を受けずに、予め決められたスケジューリングを行う方式（プレスケジューリング方式）を採用しても良い。
【００６７】
また、本コンテナ方式に於いて、実施例１で説明したように、パケットの優先度に応じたパケットの送信を行うこともできる。図１１、図１２に入力側インターフェース及び出力側インターフェースの構成を示す。入力側インターフェースでは、出力側インターフェース単位と同時に優先クラスに対応したキューを持つ。出力方路振分部では、パケットを出力側インターフェースと優先クラスに応じてそれぞれ所望のキューにキューイングする。各キューではそれぞれコンテナを作成する。そして入力側インターフェースは、それぞれのキューの状況をスケジューラに通知し、スケジューラからの指示に従い、コンテナの送出を行う。出力側インターフェースでは、入力側インターフェース及び優先クラスに応じてキューを持ち、それぞれのキューでパケットを再構成して、出力方路スケジューラの指示に従い、パケットを伝送路に送出する。これによりパケットの優先度に応じた転送を行うことができる。
【００６８】
【発明の効果】
本発明により、大容量のパケット通信装置が低コストで実現できる。また、超大容量のパケット通信装置が実現できる。
【図面の簡単な説明】
【図１】本発明のパケット通信装置の一構成例である。
【図２】本発明のパケット通信装置の入力側インターフェースカードの一構成例である。
【図３】本発明のパケット通信装置の一構成例である。
【図４】本発明のパケット通信装置で使用するコンテナフォーマットの一構成例である。
【図５】本発明のパケット通信装置で使用するコンテナフォーマットの一構成例である。
【図６】本発明のパケット通信装置の動作の一実施例を示すフロー図である。
【図７】本発明のパケット通信装置の一構成例である。
【図８】本発明のパケット通信装置で使用するコンテナフォーマットの一構成例である。
【図９】本発明のパケット通信装置で使用するコンテナフォーマットの一構成例である。
【図１０】本発明のパケット通信装置の動作の一実施例を示すフロー図である。
【図１１】本発明のパケット通信装置の入力側インターフェースカードの一構成例である。
【図１２】本発明のパケット通信装置の出力側インターフェースカードの一構成例である。
【図１３】本発明のパケット通信装置内でIPパケットを装置内セルに分割する際のフォーマットの一実施例である。
【図１４】本発明のパケット通信装置内でIPパケットを装置内セルに分割する際のフォーマットの一実施例である。
【図１５】本発明のパケット通信装置内でIPパケットを装置内セルに分割する際のフォーマットの一実施例である。
【図１６】本発明のパケット通信装置に入力されるＩＰパケットのフォーマットである。
【図１７】本発明のパケット通信装置の一構成例である。
【図１８】本発明のパケット通信装置の一構成例である。
【図１９】本発明のパケット通信装置の入力インターフェースにおける出力パケット決定アルゴリズムの一実施例である。
【図２０】本発明のパケット通信装置の入力インターフェースにおける出力パケット決定アルゴリズムの一実施例である。
【図２１】本発明のパケット通信装置のコアスイッチの一構成例である。
【符号の説明】
１・・・スケジューラ、２・・・コンテナスイッチ、３・・・入力側インターフェース、４・・・出力側インターフェース、１０・・・出力方路振分、２０・・・出力方路スケジューラ、３０・・・コンテナ、４０・・・コンテナ、６１・・・スケジューラ、６２・・・セルスイッチ、６３・・・入力側インターフェース、６４・・・出力側インターフェース。
【図１】
0003704438.tif 000002
【図２】
0003704438.tif 000003
【図３】
0003704438.tif 000004
【図４】
0003704438.tif 000005
【図５】
0003704438.tif 000006
【図６】
0003704438.tif 000007
【図７】
0003704438.tif 000008
【図８】
0003704438.tif 000009
【図９】
0003704438.tif 000010
【図１０】
0003704438.tif 000011
【図１１】
0003704438.tif 000012
【図１２】
0003704438.tif 000013
【図１３】
0003704438.tif 000014
【図１４】
0003704438.tif 000015
【図１５】
0003704438.tif 000016
【図１６】
0003704438.tif 000017
【図１７】
0003704438.tif 000018
【図１８】
0003704438.tif 000019
【図１９】
0003704438.tif 000020
【図２０】
0003704438.tif 000021
【図２１】
0003704438.tif 000022