(57)【要約】  パケットスイッチ装置は、入力パケットの宛先を決定して出力パケットとして出力するフォワーディング処理部（１１２−n)は、入力パケットがシーケンシャルな巡回番号を持つか否かのチェックを行うイングレス・インターフェース・カード(115)と、シーケンシャルな巡回番号を生成して出力パケットに付与するエグレス・インターフェース・カード(116)とを備えており、イングレス・インターフェース・カード及びエグレス・インターフェース・カードはそれぞれ、巡回番号のチェック管理用メモリ（407、507)に対する１回のアクセス処理を連続する第１及び第２のメモリアクセスポイント（n, n+1)にて行うことにより２回に分割して行うための第１のメモリインターフェース部(408, 508)と第２のメモリインターフェース部(409, 509)とを備えており、それによりフォワーディング処理部による一回のテーブルアクセスで許容されるクロックサイクル数以内で必要な処理を完了可能にする。
2008149415.tif 000002
【特許請求の範囲】
【請求項１】
入力パケットを解析することにより該入力パケットの宛先を決定して出力パケットとして出力するフォワーディング処理部を備えたパケットスイッチ装置において、前記フォワーディング処理部は、前記入力パケットがシーケンシャルな巡回番号を持つか否かのチェックを行うイングレス・インターフェース・カードと、シーケンシャルな巡回番号を生成して前記出力パケットに付与するエグレス・インターフェース・カードとを備えていることを特徴とするパケットスイッチ装置。
【請求項２】
前記イングレス・インターフェース・カードは、前記巡回番号のチェック管理用メモリと、該チェック管理用メモリに対する１回のアクセス処理を連続する第１及び第２のメモリアクセスポイントにて行うことにより２回に分割して行うための第１のメモリインターフェース部と第２のメモリインターフェース部とを備えており、前記第１のアクセスポイントにて前記第１のメモリインターフェース部による処理の後に、前記フォワーディング処理部は前記第１のメモリインターフェース部による処理結果の補正の要否を判定し、前記第２のメモリインターフェース部は前記フォワーディング処理部により前記補正が必要と判定された場合に、前記第２のアクセスポイントにて前記チェック管理用メモリのアドレス空間から読み出されたシーケンス番号を補正して前記チェック管理用メモリの前記アドレス空間に書き込むようにしたことを特徴とする請求項１に記載のパケットスイッチ装置。
【請求項３】
前記第１のメモリインターフェース部は、前記第１のアクセスポイントにて、前記入力パケットのヘッダ情報をアドレスとして前記チェック管理用メモリの該アドレスに対応するアドレス空間をアクセスして前記チェック管理用メモリに格納されている対応するシーケンス番号を読み出す読み出し処理と、該読み出し処理により読み出された前記シーケンス番号に１を加算する加算処理と、該加算処理による加算結果を前記チェック管理用メモリの前記アドレス空間にライトバックする処理とを連続して行う演算部を備えていることを特徴とする請求項２に記載のパケットスイッチ装置。
【請求項４】
前記フォワード処理部は、前記入力パケットの受信ポートがスード・ワイヤ用であるか否かを判定するための受信ポート属性テーブルを更に備え、前記入力パケット毎に付与されている入力物理ポート情報をアドレスとして前記受信ポート属性テーブルを参照し、前記受信ポートがスード・ワイヤ用である場合にのみ前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする請求項２に記載のパケットスイッチ装置。
【請求項５】
前記フォワード処理部は、前記入力パケットのヘッダ情報をアドレスとして前記入力パケットが仮想フレームのコントロールワードを持つか否かのチェックを行うためのシーケンス番号有無テーブルを更に備え、前記入力パケットが前記コントロールワードを持つと判定された場合にのみ、前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする請求項４に記載のパケットスイッチ装置。
【請求項６】
前記シーケンス番号有無テーブルは、前記コントロールワードが前記シーケンス番号を含むか否かのチェックを行う機能をさらに備えており、前記コントロールワードが前記シーケンス番号を含んでいると判定された場合にのみ、前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする請求項５に記載のパケットスイッチ装置。
【請求項７】
前記第２のメモリインターフェース部は前記フォワーディング処理部により前記補正が必要と判定された場合に、前記第２のアクセスポイントにて前記チェック管理用メモリのアドレス空間から新たに読み出されたシーケンス番号を補正して前記チェック管理用メモリの前記アドレス空間に書き込むようにしたことを特徴とする請求項２に記載のパケットスイッチ装置。
【請求項８】
前記第１のメモリアクセスポイントと、前記フォーワーディング処理部と、前記第２のメモリアクセスポイントとをシーケンシャルに配置したパイプライン構成を備えたことを特徴とする請求項２に記載のパケットスイッチ装置。(Fig. 4A)
【請求項９】
前記フォワード処理部が前記第１のメモリインターフェース部による処理結果に続き、前記フォワーディング処理部で前記入力パケットのシーケンス番号が不連続であると検出された場合に、前記第２のメモリインターフェース部は前記チェック管理用メモリに前記不連続な入力パケットのシーケンス番号を前記チェック管理用メモリに書き込むようにしたことを特徴とする請求項２に記載のパケットスイッチ装置。
【請求項１０】
前記第２のメモリインターフェース部はソフトウェアにより実現されることを特徴とする、請求項２に記載のパケットスイッチ装置。
【請求項１１】
前記フォワーディング処理部による処理を監視制御部に含まれるソフトウェアにより実現することを特徴とする請求項１０に記載のパケットスイッチ装置。(Fig. 4A)
【請求項１２】
前記エグレス・インターフェース・カードは、前記巡回番号のチェック管理用メモリを備えており、該チェック管理用メモリに対する１回のアクセス処理を連続する第１及び第２のメモリアクセスポイントにて行うことにより２回に分割して行うための第１のメモリインターフェース部と第２のメモリインターフェース部とを備えており、前記第１のアクセスポイントにて前記第１のメモリインターフェース部による処理の後に、前記フォワーディング処理部は前記第１のメモリインターフェース部による処理結果の補正の要否を判定し、前記第２のメモリインターフェース部は前記フォワーディング処理部により前記補正が必要と判定された場合に、前記第２のアクセスポイントにて前記チェック管理用メモリのアドレス空間から読み出されたシーケンス番号を補正して前記チェック管理用メモリの前記アドレス空間に書き込むようにしたことを特徴とする請求項１に記載のパケットスイッチ装置。
【請求項１３】
前記第１のメモリインターフェース部は、前記第１のアクセスポイントにて、前記入力パケットのヘッダ情報をアドレスとして前記チェック管理用メモリの該アドレスに対応するアドレス空間をアクセスして前記チェック管理用メモリに格納されている対応するシーケンス番号を読み出す読み出し処理と、該読み出し処理により読み出された前記シーケンス番号に１を加算する加算処理と、該加算処理による加算結果を前記チェック管理用メモリの前記アドレス空間にライトバックする処理とを連続して行う演算部を備えていることを特徴とする請求項１２に記載のパケットスイッチ装置。
【請求項１４】
前記フォワード処理部は、前記出力パケットの送信ポートがスード・ワイヤ用であるか否かを判定するための送信ポート属性テーブルを更に備え、前記出力パケット毎に付与されている出力物理ポート情報をアドレスとして前記送信ポート属性テーブルを参照し、前記送信ポートがスード・ワイヤ用である場合にのみ前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする請求項１２に記載のパケットスイッチ装置。
【請求項１５】
前記フォワード処理部は、前記出力パケットのヘッダ情報をアドレスとして前記出力パケットが仮想フレームのコントロールワードを持つか否かのチェックを行うためのシーケンス番号有無テーブルを更に備え、前記出力パケットが前記コントロールワードを持つと判定された場合にのみ、前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする請求項１４に記載のパケットスイッチ装置。
【請求項１６】
前記シーケンス番号有無テーブルは、前記コントロールワードが前記シーケンス番号を含むか否かのチェックを行う機能をさらに備えており、前記コントロールワードが前記シーケンス番号を含んでいると判定された場合にのみ、前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする請求項１５に記載のパケットスイッチ装置。
【請求項１７】
前記第２のメモリインターフェース部は前記フォワーディング処理部により前記補正が必要と判定された場合に、前記第２のアクセスポイントにて前記チェック管理用メモリのアドレス空間から新たに読み出されたシーケンス番号を補正して前記チェック管理用メモリの前記アドレス空間に書き込むようにしたことを特徴とする請求項１２に記載のパケットスイッチ装置。
【請求項１８】
前記第１のメモリアクセスポイントと、前記フォーワーディング処理部と、前記第２のメモリアクセスポイントとをシーケンシャルに配置したパイプライン構成を備えたことを特徴とする請求項１２に記載のパケットスイッチ装置。
【請求項１９】
前記第２のメモリインターフェース部はソフトウェアにより実現されることを特徴とする、請求項１２に記載のパケットスイッチ装置。(Fig. 5A)
【請求項２０】
前記フォワーディング処理部による処理を監視制御部に含まれるソフトウェアにより実現することを特徴とする請求項１９に記載のパケットスイッチ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパケットスイッチ装置に関し、特にパケットスイッチ装置におけるフォワーディング処理部において、シーケンシャルな巡回番号のチェック管理、生成管理に適用されるパケットスイッチ装置に関する。さらに詳細には、本発明は、一般的なパケットスイッチ装置におけるフォワーディング処理部において、シーケンシャルな巡回番号のチェック管理、生成管理に適用される。具体的には、スード・ワイヤ(RFC4385で規定されている)の１６ビットシーケンス番号への適用などが挙げられる。
【背景技術】
【０００２】
近年、パケットスイッチ装置におけるフォワーディング処理部には、ネットワークの統合化の要望を受けて、L2（レイヤ２スイッチ）、 VLAN(仮想ラン）、MPLS（マルチプロトコル・ラベル・スイッチング）、PW（スード・ワイヤ、Pseudo Wire）、IP（インターネット・プロトコル）など多種多様なフォワーディング処理を同時に実現することが求められてきている。【０００３】
その実現手法としては、高速性に優位性をもつFPGA（フィールド・プログラマブル・ゲートアレイ）、 LSI（大規模集積回路）などのハードウエアによるフォワーディング手法、柔軟性に優位性をもつソフト処理によるフォワーディング手法、その中間の、NPU(ネットワーク・プロセッサ・ユニット)などのプログラマブル可能なチップによるフォワーディング手法など、様々な手法がある。これらの様々な手法において、求められる基本性能要件は、高スループット、柔軟性、プログラマビリティである。【０００４】
本発明では、実現手法によらず、パケットスイッチ装置におけるフォワーディング処理部の高スループット、柔軟性、プログラマビリティを実現するために、フォワーディング部に含まれるメモリのルックアップの性能に着目した。【０００５】
パケットスイッチ装置におけるフォワーディング処理部の実現手法によらず、フォワーディング処理部では、必ずテーブル・ルックアップ処理が必要である。フォワーディング処理部におけるテーブルは、フォワーディング処理部を構成するチップの外部又は内部に配置され、入力パケット毎にパケットのヘッダ情報、受信ポート番号などをアドレスとして、一連のテーブルを参照(テーブル・ルックアップ)していき、通常のパケット処理を行う。この場合、入力パケットのスループットを100%(ワイヤスピード処理)にするためには、ある限られた時間間隔内に各々のテーブル参照を完了させる必要がある。【０００６】
もし、一つのテーブル・ルックアップにおいて、そのテーブル・メモリに対するアクセスが可能な最大のアクセスレート以上のレートでパケットが入力されたら、スループットを100%には出来ない。この理由により、一回のパケットのテーブル・ルックアップを行うために必要なクロックサイクル数は、ある一定の範囲内に抑える必要がある。【０００７】
従来の技術として特許文献１に記載のものがある。この文献では、フォワーディングテーブルのうち、特に負荷が重い、もしくは、あらかじめ予想されて設定されている閾値を上回るトラヒックのアドレスに関して、詳細なテーブルに自動的に展開する技術が開示されているが、一回のパケットのテーブル・ルックアップをするために必要なクロックサイクル数を、ある一定の範囲内に抑えることは開示していない。【０００８】
【特許文献１】特開2005-117214号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
図３は本発明が解決しようとする課題を説明するための従来のシーケンス番号メモリとフォワーディング処理部との関係を示すブロック図である。図３において、３１はシーケンス番号メモリ、３２はメモリインタフェース部、３３はフォワーディング処理部である。PW等のパケットスイッチ装置においては、音声データや音楽データなど、パケットの順番が重要であり、パケット順序が狂うと意味を成さないことがある。このパケット順序を維持するためにシーケンス番号がコントロール付きの各仮想ワイヤ（PW）毎に割り当てられている（図６参照）。図３においては、各PWのアドレス（１）、（２）、…（n）に対応した現在のシーケンス番号0x0005、0x007C、…、0x0EA5がシーケンス番号メモリ３１に格納されている。なお、上記のシーケンス番号中の先頭の“0x”は、周知のように、その後の数値が１６進数であることを表している。【００１０】
フォワーディング処理部３３では、ｎ-1（ｎは正の整数）番目のフォワーディング処理の次にｎ番目のアクセスポイントにてシーケンス番号メモリ３１をアクセスし、メモリインタフェース部３２はそのアクセスに対応して、図示のように（１）リード処理、（２）加算処理、（３）比較処理、（４）ラウンドアップ処理、及び（５）ライトアップ処理を行う。この中で、処理（３）及び（４）は以下に述べるようにシーケンス番号がある特定の値になったときのみ実行される。【００１１】
フォワーディング処理部３３は、メモリインタフェース部３２による処理結果に基づきフォワーディング処理を行って出力パケットとして出力する。【００１２】
通常のフォワーディング処理部３３によるシーケンス番号メモリ３１の参照というテーブル参照行為の第１のステップは、（１）シーケンス番号メモリ３１に対するリード処理である。これは、入力パケットのヘッダ情報をアドレスとして、シーケンス番号メモリ３１に格納されているシーケンス番号を読み出す処理である。この処理は、入力パケット毎に行われるので、入力パケットのレートが高ければ高いだけ、シーケンス番号メモリ３１に対するアクセスレートも高いものが要求される。一般的にシーケンス番号メモリ３１の帯域の高速化は、シーケンス番号メモリ３１の動作クロック数の高速化、データビット数の増加などにより対応する。【００１３】
ここで、課題として取り上げるのは、シーケンス番号メモリ３１からのリード処理だけで処理が完了せずに、読み出したシーケンス番号を元に、ある判定処理などが必要で、その判定結果などを読み出したメモリ空間と同一のメモリ空間にライトバックする必要がある場合などで、上記のように「ワイヤスピード処理のスループットを１００％にするために、ひとつのリード処理で守らなければならない消費クロック数」以内で処理が完遂しない場合である。【００１４】
具体的には、スード・ワイヤ（PW）・パケットにてサポートしているコントロール・ワードにて定義されている１６ビットシーケンス番号をPWフレームに付加する処理において、メモリインタフェース部３２に示されるように、（１）シーケンス番号メモリ３１内に保持しているシーケンス番号を読み出すリード処理を行い、（２）読み出したシーケンス番号に１を加算する加算処理を行い、（５）加算結果を読み出したメモリ空間と同一のメモリ空間にライトバックする、という一連の処理を行うが、RFC 標準に準拠した処理では、シーケンス番号= 0xFFFF の次は、0xFFFF ＋１＝0x0000 ではなく、0xFFFF ＋２＝0x0001にし（ここでは、ラウンドアップ処理と呼ぶ）、0x0000 をスキップしなければならない。スード・ワイヤのRFC 標準では、シーケンス番号= 0x0000 は、「シーケンス番号は未使用」という定義になっているためである。この場合は、（１）リード処理、（３）比較処理、（２）又は（４）の加算処理もしくはラウンドアップ処理、そして（５）ライトバック処理の一連の処理が必要であるが、これらの処理を一回のテーブルアクセスで許容されるクロックサイクル数以内で収めることは非常に難しい。【００１５】
本発明の目的はパケットスイッチ装置におけるフォワーディング処理部において一回のテーブルアクセスで許容されるクロックサイクル数以内で必要な処理を完了可能にすることにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明の第１の態様により提供されるものは、パケットスイッチ装置内のフォワーディング処理部は、入力パケットがシーケンシャルな巡回番号を持つか否かのチェックを行うイングレス・インタフェース・カードと、シーケンシャルな巡回番号を生成して出力パケットに付与するエグレス・インタフェース・カードとを備えていることを特徴とするパケットスイッチ装置である（請求項１）。【００１７】
本発明の第２の態様によれば、第１の態様において、イングレス・インタフェース・カードは、巡回番号のチェック管理用メモリと、そのチェック管理用メモリに対する１回のアクセス処理を連続する第１及び第２のメモリアクセスポイントにて行うことにより２回に分割して行うための第１のメモリインタフェース部と第２のメモリインタフェース部とを備えており、第１のアクセスポイントにて第１のメモリインタフェース部による処理の後に、フォワーディング処理部は第１のメモリインタフェース部による処理結果の補正の要否を判定し、第２のメモリインタフェース部はフォワーディング処理部により補正が必要と判定された場合に、第２のアクセスポイントにてチェック管理用メモリのアドレス空間から読み出されたシーケンス番号を補正してチェック管理用メモリのアドレス空間に書き込むようにした(請求項２）。【００１８】
本発明の第３の態様によれば、第２の態様において、第１のメモリインタフェース部は、第１のアクセスポイントにて、入力パケットのヘッダ情報をアドレスとしてチェック管理用メモリの該アドレスに対応するアドレス空間をアクセスしてチェック管理用メモリに格納されている対応するシーケンス番号を読み出す読み出し処理と、該読み出し処理により読み出されたシーケンス番号に１を加算する加算処理と、該加算処理による加算結果をチェック管理用メモリのアドレス空間にライトバックする処理とを連続して行う演算部を備えている(請求項３）。【００１９】
本発明の第４の態様によれば、第２の態様において、フォワード処理部は、入力パケットの受信ポートがスード・ワイヤ用であるか否かを判定するための受信ポート属性テーブルを更に備え、入力パケット毎に付与されている入力物理ポート情報をアドレスとして受信ポート属性テーブルを参照し、受信ポートがスード・ワイヤ用である場合にのみチェック管理用メモリに対するアクセスを実行するようにした(請求項４）。【００２０】
本発明の第５の態様によれば、第４の態様において、フォワード処理部は、入力パケットのヘッダ情報をアドレスとして入力パケットが仮想フレームのコントロール・ワードを持つか否かのチェックを行うためのシーケンス番号有無テーブルを更に備え、入力パケットがコントロール・ワードを持つと判定された場合にのみ、チェック管理用メモリに対するアクセスを実行するようにした（請求項５）。【００２１】
本発明の第６の態様によれば、第５の態様において、シーケンス番号有無テーブルは、コントロール・ワードがシーケンス番号を含むか否かのチェックを行う機能をさらに備えており、コントロール・ワードがシーケンス番号を含んでいると判定された場合にのみ、チェック管理用メモリに対するアクセスを実行するようにした（請求項６）。【００２２】
本発明の第７の態様によれば、第２の態様において、第２のメモリインタフェース部はフォワーディング処理部により補正が必要と判定された場合に、第２のアクセスポイントにてチェック管理用メモリのアドレス空間から新たに読み出されたシーケンス番号を補正してチェック管理用メモリのアドレス空間に書き込むようにした（請求項７）。【００２３】
本発明の第８の態様によれば、第２の態様において、第１のメモリアクセスポイントと、フォーワーディング処理部と、第２のメモリアクセスポイントとをシーケンシャルに配置したパイプライン構成を備えている（請求項８）。【００２４】
本発明の第９の態様によれば、第２の態様において、フォワード処理部が第１のメモリインタフェース部による処理結果に続き、フォワーディング処理部で入力パケットのシーケンス番号が不連続であると検出された場合に、第２のメモリインタフェース部はチェック管理用メモリに不連続な入力パケットのシーケンス番号をチェック管理用メモリに書き込むようにした（請求項９）。【００２５】
本発明の第１０の態様により、エグレス・インタフェースt・カードもイングレス部とほぼ同じ構成を備えている。ただし、エグレス・インタフェース・カードでは本発明の第９の態様のように、フォワーディング処理部で入力パケットのシーケンス番号が不連続であると検出された場合に、第２のメモリインタフェース部はチェック管理用メモリに不連続な入力パケットのシーケンス番号をチェック管理用メモリに書き込むことはせず、常に連続的なシーケンス番号をチェック管理用メモリに書き込む（請求項１２〜２０）。【００２６】
上記課題を解決するための手段をまとめると、以下のようになる。
上記課題は、一回のテーブル アクセスにて、読み出し 処理、比較処理、加算処理もしくはラウンドアップ処理、ライト処理の一連の処理を完遂しようとすると、許容クロック数をオーバする、ということである。本発明では、この課題を解決するために、メモリアクセス処理を２回に分割し、一回目のテーブルアクセスで読み出し処理、加算処理、ライト処理を行い、続くフォワーディング処理部にてシーケンス番号の補正処理判断を行い、次の２回目のテーブルアクセスにて、ライト 処理を行うようにした。
【発明の効果】
【００２７】
本発明により、一箇所のテーブルアクセスにおける消費クロックサイクル数を減らすことができ、かつ同一シーケンス番号を利用するパケットが連続して入力された場合であっても、高スループットを維持することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施例１によるパケットスイッチ装置の概略構成を示すブロック図である。
【図２】図１に示したパケットスイッチ装置内のパケット・フォワーディング部の構成を示すブロック図である。
【図３】本発明が解決しようとする課題を説明するための従来のパケット・フォワーディング部の構成を示すブロック図である。
【図４Ａ】本発明の実施例１によるパケット・フォワーディング部のイングレス・インタフェース・カードの構成の一部を示すブロック図である。
【図４Ｂ】本発明の実施例１によるパケット・フォワーディング部のイングレス・インタフェース・カードの構成の他の一部を示すブロック図である。
【図５Ａ】本発明の実施例１によるパケット・フォワーディング部のエグレス・インタフェース・カードの構成の一部を示すブロック図である。
【図５Ｂ】本発明の実施例１によるパケット・フォワーディング部のエグレス・インタフェース・カードの構成の一部を示すブロック図である。
【図６】本発明の実施例で用いられるスード・ワイヤ・フレームの構成を示す図である。
【図７】本発明の実施例１におけるフォワーディング処理部でのシーケンス番号認識方法を説明するための図である。
【図８】本発明の実施例１における補正ライト処理を説明するための図である。
【図９】本発明の実施例１における新番号ライト処理を説明するための図である。
【符号の説明】
【００２９】
４０１    ＣＰＵ制御部
４０２    ＣＰＵインタフェース
４０３    第１のパケット・インタフェース
４０４    仮想シーケンス
４０５    受信ポートテーブル
４０６    シーケンス番号テーブル
４０７    シーケンス番号チェック管理用テーブル
４０８    第１のメモリ・インタフェース部
４０９    第２のメモリ・インタフェース部
４１０    第２のパケット・インタフェース部
４０１    ＣＰＵ制御部
５０２    ＣＰＵインタフェース
５０３    第１のパケット・インタフェース
５０５    仮想シーケンス
５０５    受信ポートテーブル
５０６    シーケンス番号テーブル
５０７    シーケンス番号チェック管理用テーブル
５０８    第１のメモリ・インタフェース部
５０９    第２のメモリ・インタフェース部
５１０    第２のパケット・インタフェース部
【発明を実施するための最良の形態】
【００３０】
図１は本発明の一実施例によるパケットスイッチ装置の概略構成を示すブロック図である。図１において、パケットスイッチ装置は、大きくインタフェース・カード１１、１２、…１n とパケット・スイッチ・カード１１４に分けられる。インタフェース・カード１１、１２、…１nはそれぞれ、物理層１１１−１、１１１−２、…１１１−nと、パケット・フォワーディング処理部１１２−１、１１２−２、…１１２nと、トラック管理部１１３−１、１１３−２、１１３−nとを備えている。【００３１】
本発明はインタフェース・カード１１、１２、…１nの各々内のパケット・フォワーディング処理部１１２−１、１１２−２、…１１２nの改良に関する。図１の下側にパケット・フォワーディング処理部１１２−nの概略構成が示されている。図示のように、パケット・フォワーディング処理部１１２−nは、回線からの入力パケットを受信して処理するイングレス１１５と、これに接続されたシーケンス番号チェックテーブル１１６と、パケットスイッチカード１１４から入力されるパケットを受信し処理するエグレス１１７と、これに接続されたシーケンス番号生成テーブル１１８とを備えている。【００３２】
回線からの入力パケット又はパケットスイッチカード１１４から出力されるパケットの中には、音声データや音楽データなど、パケットの順序が重要な要素となっているパケットがある。これらのパケットは、入力パケットが正しい順序で入力されているかのチェック、及び出力パケットを正しい順序で出力するためのパケットの生成、が必要である。【００３３】
イングレス１１５における処理では、回線からの入力パケットのヘッダ情報を元に行き先判定、優先度判定などのフォワーディング判定がなされる。本発明の一実施例では、イグレス１１５における処理にシーケンス番号チェックテーブル１１６を参照するシーケンス番号のチェック機能を配置し、エグレス１１６における処理でシーケンス番号生成テーブル１１７を参照するシーケンス番号の生成機能を配置することにより、シーケンス番号の制御処理の負荷の分散を図った（請求項１）。【００３４】
入出力のポートの属性によっては、異なる下位レイヤのプロトコルに対応する必要もあり、OC-n 系インタフェースでは、ジェネリック・フレーミング・プロセジャー （GFP）, ポイント・ツー・ポイント・プロトコル（PPP ）などのカプセル化処理や、MPLS カプセル化、PW カプセル化、またその逆のMPLS デカプセル化、PW デカプセル化なども、このフォワーディング処理部１１２−nにて実施される。他のフォワーディング処理部１１２-1、１１２−２、…においても同様の動作をする。【００３５】
図２は図１に示したパケットスイッチ装置内のパケット・フォワーディング部の構成を示すブロック図である。図２において、パケット・フォワーディング処理部２１は図１に示したフォワーディング処理部１１２−１、１１２−２、…１１２−nの一つを表している。パケット・フォワーディング処理部２１は、メモリ・インタフェース部２２−１、２２−２、…２２−nと、これらのインタフェース部に接続されたパイプライン部２３とを備えており、メモリ・インタフェース部２２−１、２２−２、…２２−nには外部メモリ２４−１、２４−２、２４−nがそれぞれ接続されている。パイプライン部２３は、メモリ・アクセス・ポイント−１、フォワーディング処理部−１、メモリ・アクセス・ポイント−２、フォワーディング処理部−２、…メモリ・アクセス・ポイント−1ｎ、フォワーディング処理部−nがパイプライン形式で結合されている。外部メモリ２４−１、２４−２、２４−nには、各種フォワーディングテーブル情報が格納されている。メモリ・インタフェース部２２−１、２２−２、…２２−nは外部メモリ２４−１、２４−２、２４−nへのアクセスを制御・調整管理する。パケットが入力されるパイプライン部２３内のメモリ・アクセス・ポイントは、メモリアクセスを実施する。パイプライン部２３内のフォワーディング処理部は、そのテーブル 読出し結果を元に各種処理（行き先情報取得、優先度情報取得、透過/廃棄情報取得など）を実施する。外部メモリ２４−１、２４−２、２４−nは必ずしも外部メモリである必要はなく、パケット・フォワーディング処理部２１内に設けてもよい。【００３６】
メモリ・インタフェース部２２−１、２２−２、２２−nは、パイプラインの各メモリ・アクセス・ポイント部からのアクセス要求を受けて、メモリアクセスへの調整処理および簡単な演算処理を行っている。パインプライン部２３では、メモリ・アクセス・ポイント部とフォワーディング処理部が一組となって、何組かがシーケンシャルに配置される（請求項８）。これは、フォワーディング処理の負荷が重い場合に、次のメモリ・アクセス・ポイント部までに処理が完了できない場合などに、その次のメモリ・アクセス・ポイント部での実施を可能とするアーキテクチャである。【００３７】
ここでは、まず、スード・ワイヤ（PW）の１６ビット シーケンス番号のチェック管理の実施例を示す。
図４A及び図４Bは本発明の一実施例によるパケット・フォワーディング処理部のイングレス・インタフェース・カードの構成を示すブロック図である。図４において、イングレス・インタフェース・カードは、CPU制御部４０１と、CPUインタフェース部４０２と、パケット・インタフェース部４０３と、PWシーケンス番号判定ブロック４０４と、受信ポート属性テーブル４０５と、シーケンス番号有無テーブル４０６と、シーケンス番号チェック管理用メモリ４０７と、第１のメモリ・インタフェース部４０８と、第のメモリ・インタフェース部４０９と、フォワーディング処理部４１０とを備えている。【００３８】
受信ポート属性テーブル４０５は、受信ポート番号がスード・ワイヤ（PW）用フレームに対応するものか否かを判定するために用いられる。図示例では、受信ポート（１）はスード・ワイヤ用、受信ポート（２）は非スード・ワイヤ用、受信ポート（３）はスード・ワイヤ用、等である。【００３９】
シーケンス番号有無テーブル４０６は、受信フレームのヘッダ情報（ラベル）とシーケンス番号有無との対応関係を格納している。図示例ではラベル（１）はシーケンス番号有り、ラベル（２）もシーケンス番号有り、ラベル（３）はシーケンス番号無し、等である。【００４０】
次に図４A及び図４Bに示したイングレス・インタフェース・カードの動作を説明する。パケット・インタフェース部４０３に入力されるパケットは、受信ポート（Rec. Port (Pi）)、スード・ワイヤ・ヘッダ（PW Hdr (Li)）、コントロール・ワード・ヘッダ（CW Hdr）、及びデータからなるフレームである。回線側からスード・ワイヤ・フレームが入力される。ここでは、インタフェース・カード が複数の物理ポートを収容していることを想定しており、必ずしも全てのポートがスード・ワイヤ・フレーム を受信するポートとは限らない。そのため、受信ポート情報を元に、スード・ワイヤ・フレーム かどうかを判別する必要がある。図４Aの受信ポート属性テーブル４０５がこの判別をする（請求項４）。受信ポート属性テーブル４０５の参照結果がスード・ワイヤ・フレーム である場合、次に判別しなければならないのは、そのスード・ワイヤ・フレーム がコントロール・ワードを持っているかどうかである。コントロール・ワードを持っていれば、そのフレームはシーケンス番号を持っている。即ち、そのフレームはシーケンスが重要な音楽データや音声データ等である。コントロール・ワードを持っているかどうかは、入力スード・ワイヤ・フレーム のラベル値（ヘッダ情報）をキーにして、シーケンス番号有無テーブル４０６を参照して判別することができる（請求項５）。【００４１】
図６はスード・ワイヤ・フレーム フォーマットを示す図である。図６の（a）のようにコントロール・ワードなしのスード・ワイヤ・フレームにはシーケンス番号がない。図６の（b）又は（ｃ）に示すようにコントロール・ワード付のスード・ワイヤ・フレームにはシーケンス番号が含まれている。
スード・ワイヤ・フレーム フォーマットの構成例を以下に記載の表に示す。
【表１】
2008149415.tif 000003
【００４２】
受信ポート属性テーブル４０５及びシーケンス番号有無テーブル５０６による判定処理により、入力パケットがスード・ワイヤ・フレームで且つシーケンス番号 を持つと判定された場合、そのシーケンス番号が連続しているかどうかをチェックする必要がある。例えば音楽データなどで、シーケンス番号が不連続であったり重複していると音質の劣化につながるからである。元々連続のシーケンス番号が付与されたパケットがイングレス・インタフェース・カードに入力される時点で不連続なシーケンス番号のパケットになる理由としては、例えば、伝送路上でのパケットの輻輳や通信状態の劣化等によりパケットが欠落したりパケットの順序が入れ替わったりすること等がある。シーケンス番号が正しい順番で入力されたかのチェックのために、まず、入力スード・ワイヤ・フレームの現在のシーケンス番号情報を取得する必要があるが、これは、入力スード・ワイヤ・フレームのラベル値（ヘッダ情報）をキーにして、シーケンス番号チェック管理用テーブル４０７を参照して取得することができる（請求項６）。なお、シーケンス番号チェック管理用テーブル４０７に格納されるシーケンス番号の初期値としてはシーケンス番号の最初の値が予め設定されている。【００４３】
シーケンス番号チェック管理用テーブル４０７に対するアクセス時に、１回目のメモリ・アクセス・ポイントからシーケンス番号チェック管理用テーブル４０７に対するアクセス要求に応答して、(1)読み出し処理、(2)加算処理、(3)ライト・バック処理、の３つの一連処理を、メモリ・インタフェース部４０８にて実施する。読み出し処理では、入力スード・ワイヤ・フレーム のラベル値（ヘッダ情報）をキーにして、シーケンス番号チェック管理用メモリ４０７からシーケンス番号を読み出す。加算処理では読み出したシーケンス番号に１を加算する。ライト・バック処理では加算結果を読み出したアドレス空間に書き込む。【００４４】
これら３つの処理内容は、不可分でなくてはならない。つまり、これら３つの処理の間に、他のメモリ・アクセス・ポイントからのアクセス要求処理を間に盛り込むことはできないことに注意する（請求項３）。これは、たとえば、(1)から(3)の処理の間に、他のメモリ・アクセス・ポイントからの書込み要求（例えば不連続を検出して新しいシーケンス番号をライトする）に応答してしまうと、加算処理(2)により得られた新しい値がメモリに反映されず、不整合が生じてしまうからである。【００４５】
次に(1)の処理により読出したシーケンス番号に対する加算処理だが、発明が解決しようとする課題の欄でも説明したように、スード・ワイヤのコントロール・ワードの１６ビット・シーケンス番号 は、RFC標準に準拠した処理では、シーケンス番号 = 0xFFFF の次は、0x0000 ではなく、0x0001 にし（ここでは、ラウンドアップ 処理と呼ぶ）、0x0000 をスキップしなければならない。スード・ワイヤ のRFC 標準では、シーケンス番号 = 0x0000 は、『シーケンス番号は未使用』という定義になっているためである。【００４６】
本来であれば、上記(1)読み出し処理、(2)加算処理、(3)ライト・バック処理、において、(2)と(3)の間に、0x0000 との比較処理、0x0001 へのラウンドアップ処理も、不可分な一連の処理として盛り込めればよいが、それだけの処理を不可分の処理としてしまうと、長い間メモリ インタフェース を占有してしまい、パケットのスループットを低下させてしまう。通常、メモリ・インタフェースのパケット処理性能は、動作周波数 ÷ (応答が得られるまでのサイクル数)、にて算出される。例えば、100MHz ÷ 4cycle = 25Mpps(パケット／秒)となる。連続して到着するバック・トゥ・バック・パケットの場合、この４サイクル以内にメモリ・インタフェース部４０８での処理が完了しなければ、５サイクルかそれ以上のサイクル数となり、物理的なメモリ応答性能の最大性能を利用することができなくなり、スループットが低下する、という現象となる。【００４７】
本発明では、「0x0000 との比較処理」、「0x0001 へのラウンドアップ処理（補正処理）」といった処理をが、メモリインタフェース部４０８で行うと、メモリ・インタフェース部４０８における処理のサイクル数が増大することに着目し、これらの処理を、フォワーディング処理部４１０にて行い、その比較の結果、補正が必要であれば次のメモリ・アクセス・ポイント部（ｎ＋１）にて、補正処理を実施することにした（請求項２）。【００４８】
本来ならば、不可分な処理として、一つのメモリ・インタフェース部４０８へのアクセス要求で閉じなければならないが、これから説明するように、補正判断処理をフォワーディング処理部４１０で行い、補正ライト・バック処理を次ぎのメモリ・アクセス・ポイント（n+1)で行うことにより、一つのメモリ・アクセス・ポイントへの負荷の分散を可能としている。【００４９】
図７は本発明の実施例１におけるフォワーディング処理部でのシーケンス番号認識方法を説明するための図である。図７において、まず、シーケンス番号チェック管理用メモリ４０７から読み出すシーケンス番号は、１６ビット よりも大きいと想定している（ここでは、３２ビット読み出し値）。一番上のケースを例に取ると、シーケンス番号チェック管理用メモリ４０７からの読出し値が0x0000 0000 の場合、メモリ・インタフェース部４０８ではシーケンス番号チェック管理用メモリ４０７からの読出し値に対して”+1”加算処理が行われ、加算結果である0x0000 0001 の値がシーケンス番号チェック管理用メモリ４０７の読み出したメモリ空間と同一のメモリ空間へライト・バックされる。それと同時に、フォワーディング処理部４１０へは、上記加算結果である0x0000 0001 の値が応答されてくる。フォワーディング処理部では、応答値が0x0001 0000 よりも小さい値であることから、補正加算処理は不必要である事、補正ライト処理は不要であること、を認識し（図３のフォワーディング処理部３２を参照）、応答値の下位１６ビット をシーケンス番号として認識する。この場合、0x0001 となる。このメモリ読出し値の0x0001 と入力パケットのシーケンス番号値を比較し、一致すれば入力パケットは「連続」であると判定されてパケットを透過し、不一致であれば入力パケットは「不連続」であると判定されてパケットは廃棄される。【００５０】
もうひとつのケースを例に取ると、シーケンス番号チェック管理用メモリ４０７からの読出し値が0x0000 FFFF の場合、メモリ・インタフェース部４０８では読出し値に対して”+1”加算処理が行われ、加算結果である0x0001 0000 の値がシーケンス番号チェック管理用メモリ４０７の読み出したメモリ空間と同一メモリ空間へライト・バックされる。それと同時に、フォワーディング処理部４１０へは、加算結果である0x0001 0000の値が応答されてくる。フォワーディング処理部４１０では、応答値が0x0001 0000 となったため、補正加算処理が必要である事、補正ライト処理が必要であること、を認識し（図３のフォワーディング処理部３２を参照）、応答値の下位１６ビット に”+1”の加算をした値をシーケンス番号 として認識する。この場合、0x0001 となる。補正ライト 処理は、次のメモリ・アクセス・ポイント（n+1)にて起動する。【００５１】
上記の例の通り、本発明の実施例によれば、比較処理、補正加算処理、補正ライト 処理の要否判断をフォワーディング処理部４１０にて実施する。【００５２】
次に、補正ライト処理が必要と判断された場合を説明する。図８は本発明の実施例１における補正ライト処理を説明するための図である。【００５３】
図８において、補正ライト処理は、１回目のメモリ・アクセス・ポイント(n)の次の、メモリ・アクセス・ポイント（n+1)にてアクセス要求される。この場合、考えなければならないのは、補正ライト処理が必要と判断されたパケットの後に、その後続のパケットがシーケンス番号チェック管理用メモリ４０７内の同じシーケンス番号を参照し、次の補正ライト処理を実施するまでに、シーケンス番号チェック管理用メモリ４０７内のシーケンス番号がいくつかインクリメントされている場合があることである。【００５４】
つまり、補正用ライト処理では、必ずしも、0x0001 0000 が読み出される訳ではない、ということである。それは、0x0000 FFFF を読み出したパケットが、次のメモリアクセスポイント(n+1)で補正ライト 処理を実施するときまでには、「ひとつのフォワーディング処理ブロック内で通過しうるパケット数分、カウント値が進む可能性がある」といことである。そのため、補正ライト 処理が必要と判断されたパケットのシーケンス番号値を、補正ライト処理の値に使用することはできないので、新たに読出した値を使用することにする（請求項７）。図８では、補正ライト 処理で読出した値が、0x0001 0000 であった場合、上位１６ビットを0x0000 に上書きライトし、下位１６ビット に”+1”した値、つまり 0x0000 0001 を、シーケンス番号チェック管理用メモリ４０７へライト・バックすることになる。これは、図７から、３２ビット・カウンタの読出し値の0x0001 0000 と0x0000 0001 が同じシーケンス番号として認識されるためである。【００５５】
また、オプション制御となるが、不連続が検出された場合、その後、到着するパケットもその、一度飛んだ番号から連続性が保たれているケースなどがある。そういう場合、不連続が検出された場合は、その入力パケットのシーケンス番号をシーケンス番号チェック管理用メモリ４０７に格納する制御方法がある（請求項９）。【００５６】
図９は本発明の実施例１における新番号ライト処理を説明するための図である。図９に示す通り、入力パケットの１６ビット シーケンス番号を、３２ビットに拡張してそのままの値をメモリへライト・バックする。また、通常、フォワーディング処理部４１０では、メモリ・アクセス・ポイント部とフォワーディング処理部のペアを、シーケンシャルに配置して、上記補正ライト処理が間に合うように、アクセス・ポイント箇所の配置を考慮するが、要求処理内容の負荷が重い場合などで、次のメモリ・アクセス・ポイントでの補正ライト 処理を実施できないケースなどが考えられる。【００５７】
図４A及び図４Bに示す通り、その場合は、フォワーディング処理部４１０から監視制御部（ＣＰＵ制御部４０１）へ、どのラベル値のシーケンス番号が補正ライト処理が必要であるかを通知し、ソフトウェアにより補正ライト処理を起動するなどの手法がある（請求項１０）。この場合、CPU 制御部４０１からは、該当するラベル番号値に対して、補正ライト 処理を起動する。【００５８】
また、監視制御部（ＣＰＵ制御部４０１）からは、各ラベル値に対応した現在のシーケンス番号値をシーケンス番号チェック管理用メモリ４０７から読出したい場合がある。この場合、シーケンス番号チェック管理用メモリ４０７へのアクセス内容は、(1)読み出し処理のみであるが、考慮しなければならないのは、図７に示したように、１６ビット・カウンタ以上の値が読み出される場合があるケースである。これに対応するには、図７のフォワーディング処理部４１０が行っているシーケンス番号チェック管理用メモリ４０７からの読出し値であるシーケンス番号認識を、ソフトウェアで実施しなければならない（請求項１１）。なお、シーケンス番号チェック管理用メモリ４０７、メモリ・インタフェース部４０８及び４０９、フォワーディング処理部４１０による上記処理が終了するとフォワーディング処理部処理部４１０から、ヘッダHdrとデータのみからなるパケットがパケットスイッチカードに向けて出力される。この出力パケットにはシーケンス番号は含まれていないので、以下に記載のエグレス・インタフェース・カードにおいて各パケットに付与するシーケンス番号を生成する必要がある。【００５９】
次に、スード・ワイヤの１６ビット シーケンス番号の生成管理の実施例を示す。図５A及び図５Bは本発明の実施例１によるパケット・フォワーディング部のエグレス・インタフェース・カードの構成の一部及び他の一部をそれぞれ示すブロック図である。基本的には、先に説明した、スード・ワイヤの１６ビット シーケンス番号 のチェック管理の実施例の応用にて対応することができるので、ここでは、詳細な説明は省略する。特に、シーケンス番号のチェック管理と生成管理の違いとしては、チェック管理では必要であった不連続検出時の処理（請求項９）が、生成管理では不必要である、ということである。【００６０】
また、本発明の、スード・ワイヤ の１６ビット シーケンス番号のチェック管理装置及び生成管理装置は、実現されるフォワーディングの手法に関係なく適用が可能である。【００６１】
本発明によるメモリ・ルックアップ性能の向上のための適用プラットフォームとして、LSI, FPGA などのハードウエアによるフォワーディング装置（付記２１）、NPU (ネットワーク・プロセッサ・ユニット)などのプログラマブル可能なチップによるフォワーディング装置（付記２２）、ソフト処理によるフォワーディング装置（付記２３）のいずれによっても実現可能である。【００６２】
また、本発明は近年注目を浴びている、スード・ワイヤ 転送方式におけるコントロール・ワード付きスード・ワイヤ・フレーム内のシーケンス番号の管理装置として適用可能である（付記２４）。【００６３】
（付記１）入力パケットを解析することにより該入力パケットの宛先を決定して出力パケットとして出力するフォワーディング処理部を備えたパケットスイッチ装置において、前記フォワーディング処理部は、前記入力パケットがシーケンシャルな巡回番号を持つか否かのチェックを行うイングレス・インタフェース・カードと、シーケンシャルな巡回番号を生成して前記出力パケットに付与するエグレス・インタフェース・カードとを備えていることを特徴とするパケットスイッチ装置。
（付記２）前記イングレス・インタフェース・カードは、前記巡回番号のチェック管理用メモリと、該チェック管理用メモリに対する１回のアクセス処理を連続する第１及び第２のメモリアクセスポイントにて行うことにより２回に分割して行うための第１のメモリインタフェース部と第２のメモリインタフェース部とを備えており、前記第１のアクセスポイントにて前記第１のメモリインタフェース部による処理の後に、前記フォワーディング処理部は前記第１のメモリインタフェース部による処理結果の補正の要否を判定し、前記第２のメモリインタフェース部は前記フォワーディング処理部により前記補正が必要と判定された場合に、前記第２のアクセスポイントにて前記チェック管理用メモリのアドレス空間から読み出されたシーケンス番号を補正して前記チェック管理用メモリの前記アドレス空間に書き込むようにしたことを特徴とする付記１に記載のパケットスイッチ装置。
（付記３）前記第１のメモリインタフェース部は、前記第１のアクセスポイントにて、前記入力パケットのヘッダ情報をアドレスとして前記チェック管理用メモリの該アドレスに対応するアドレス空間をアクセスして前記チェック管理用メモリに格納されている対応するシーケンス番号を読み出す読み出し処理と、該読み出し処理により読み出された前記シーケンス番号に１を加算する加算処理と、該加算処理による加算結果を前記チェック管理用メモリの前記アドレス空間にライトバックする処理とを連続して行う演算部を備えていることを特徴とする付記２に記載のパケットスイッチ装置。
（付記４）前記フォワード処理部は、前記入力パケットの受信ポートがスード・ワイヤ用であるか否かを判定するための受信ポート属性テーブルを更に備え、前記入力パケット毎に付与されている入力物理ポート情報をアドレスとして前記受信ポート属性テーブルを参照し、前記受信ポートがスード・ワイヤ用である場合にのみ前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする付記２に記載のパケットスイッチ装置。
（付記５）前記フォワード処理部は、前記入力パケットのヘッダ情報をアドレスとして前記入力パケットが仮想フレームのコントロール・ワードを持つか否かのチェックを行うためのシーケンス番号有無テーブルを更に備え、前記入力パケットが前記コントロール・ワードを持つと判定された場合にのみ、前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする付記４に記載のパケットスイッチ装置。
（付記６）前記シーケンス番号有無テーブルは、前記コントロール・ワードが前記シーケンス番号を含むか否かのチェックを行う機能をさらに備えており、前記コントロール・ワードが前記シーケンス番号を含んでいると判定された場合にのみ、前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする付記５に記載のパケットスイッチ装置。
（付記７）前記第２のメモリインタフェース部は前記フォワーディング処理部により前記補正が必要と判定された場合に、前記第２のアクセスポイントにて前記チェック管理用メモリのアドレス空間から新たに読み出されたシーケンス番号を補正して前記チェック管理用メモリの前記アドレス空間に書き込むようにしたことを特徴とする付記２に記載のパケットスイッチ装置。
（付記８）前記第１のメモリアクセスポイントと、前記フォーワーディング処理部と、前記第２のメモリアクセスポイントとをシーケンシャルに配置したパイプライン構成を備えたことを特徴とする付記２に記載のパケットスイッチ装置。
（付記９）前記フォワード処理部が前記第１のメモリインタフェース部による処理結果に続き、前記フォワーディング処理部で前記入力パケットのシーケンス番号が不連続であると検出された場合に、前記第２のメモリインタフェース部は前記チェック管理用メモリに前記不連続な入力パケットのシーケンス番号を前記チェック管理用メモリに書き込むようにしたことを特徴とする付記２に記載のパケットスイッチ装置。
（付記１０）前記第２のメモリインタフェース部はソフトウェアにより実現されることを特徴とする、付記２に記載のパケットスイッチ装置。
（付記１１）前記フォワーディング処理部による処理を監視制御部に含まれるソフトウェアにより実現することを特徴とする付記１０に記載のパケットスイッチ装置。
（付記１２）前記エグレス・インタフェース・カードは、前記巡回番号のチェック管理用メモリを備えており、該チェック管理用メモリに対する１回のアクセス処理を連続する第１及び第２のメモリアクセスポイントにて行うことにより２回に分割して行うための第１のメモリインタフェース部と第２のメモリインタフェース部とを備えており、前記第１のアクセスポイントにて前記第１のメモリインタフェース部による処理の後に、前記フォワーディング処理部は前記第１のメモリインタフェース部による処理結果の補正の要否を判定し、前記第２のメモリインタフェース部は前記フォワーディング処理部により前記補正が必要と判定された場合に、前記第２のアクセスポイントにて前記チェック管理用メモリのアドレス空間から読み出されたシーケンス番号を補正して前記チェック管理用メモリの前記アドレス空間に書き込むようにしたことを特徴とする請求項１に記載のパケットスイッチ装置。
（付記１３）前記第１のメモリインタフェース部は、前記第１のアクセスポイントにて、前記入力パケットのヘッダ情報をアドレスとして前記チェック管理用メモリの該アドレスに対応するアドレス空間をアクセスして前記チェック管理用メモリに格納されている対応するシーケンス番号を読み出す読み出し処理と、該読み出し処理により読み出された前記シーケンス番号に１を加算する加算処理と、該加算処理による加算結果を前記チェック管理用メモリの前記アドレス空間にライトバックする処理とを連続して行う演算部を備えていることを特徴とする請求項１２に記載のパケットスイッチ装置。
（付記１４）前記フォワード処理部は、前記出力パケットの送信ポートがスード・ワイヤ用であるか否かを判定するための送信ポート属性テーブルを更に備え、前記出力パケット毎に付与されている出力物理ポート情報をアドレスとして前記送信ポート属性テーブルを参照し、前記送信ポートがスード・ワイヤ用である場合にのみ前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする付記１２に記載のパケットスイッチ装置。
（付記１５）前記フォワード処理部は、前記出力パケットのヘッダ情報をアドレスとして前記出力パケットが仮想フレームのコントロール・ワードを持つか否かのチェックを行うためのシーケンス番号有無テーブルを更に備え、前記出力パケットが前記コントロール・ワードを持つと判定された場合にのみ、前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする付記１４に記載のパケットスイッチ装置。
（付記１６）前記シーケンス番号有無テーブルは、前記コントロール・ワードが前記シーケンス番号を含むか否かのチェックを行う機能をさらに備えており、前記コントロール・ワードが前記シーケンス番号を含んでいると判定された場合にのみ、前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする付記１５に記載のパケットスイッチ装置。
（付記１７）前記第２のメモリインタフェース部は前記フォワーディング処理部により前記補正が必要と判定された場合に、前記第２のアクセスポイントにて前記チェック管理用メモリのアドレス空間から新たに読み出されたシーケンス番号を補正して前記チェック管理用メモリの前記アドレス空間に書き込むようにしたことを特徴とする付記１２に記載のパケットスイッチ装置。
（付記１８）前記第１のメモリアクセスポイントと、前記フォーワーディング処理部と、前記第２のメモリアクセスポイントとをシーケンシャルに配置したパイプライン構成を備えたことを特徴とする付記１２に記載のパケットスイッチ装置。
（付記１９）前記第２のメモリインタフェース部はソフトウェアにより実現されることを特徴とする、付記１２に記載のパケットスイッチ装置。
（付記２０）前記フォワーディング処理部による処理を監視制御部に含まれるソフトウェアにより実現することを特徴とする付記１９に記載のパケットスイッチ装置。
（付記２１）前記フォワーディング処理部はＬＳＩ，ＦＰＧＡの少なくとも一つを含むハードウェアにより実現することを特徴とする付記１から２０のいずれか一項に記載のパケットスイッチ装置。
（付記２２）前記フォワーディング処理部はプログラマブル・チップにより実現することを特徴とする付記１から２０のいずれか一項に記載のパケットスイッチ装置。
（付記２３）前記フォワーディング処理部はソフトウェアにより実現することを特徴とする付記１から２０のいずれか一項に記載のパケットスイッチ装置。
（付記２４）スード・ワイヤのコントロール・ワードに含まれる１６ビット・シーケンス番号のチェック管理又は生成管理に適用することを特徴とする、付記１から２０のいずれか一項に記載のパケットスイッチ装置。
【産業上の利用可能性】
【００６４】
本発明によれば、パケットスイッチ装置におけるフォワーディング処理部において一回のテーブルアクセスで許容されるクロックサイクル数以内で必要な処理が完了可能になる。即ち、本発明によれば、パケットスイッチ装置におけるフォワーディング処理部において、一箇所のテーブルアクセスにおける消費クロックサイクル数を減らすことができ、かつ同一シーケンス番号を利用するパケットが連続して入力された場合であっても、高スループットを維持することができる。
【図１】
2008149415.tif 000004
【図２】
2008149415.tif 000005
【図３】
2008149415.tif 000006
【図４Ａ】
2008149415.tif 000007
【図４Ｂ】
2008149415.tif 000008
【図５Ａ】
2008149415.tif 000009
【図５Ｂ】
2008149415.tif 000010
【図６】
2008149415.tif 000011
【図７】
2008149415.tif 000012
【図８】
2008149415.tif 000013
【図９】
2008149415.tif 000014
【手続補正書】
【提出日】平成21年10月1日(2009.10.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力パケットを解析することにより該入力パケットの宛先を決定して出力パケットとして出力するフォワーディング処理部を備えたパケットスイッチ装置において、前記フォワーディング処理部は、前記入力パケットがシーケンシャルな巡回番号を持つか否かのチェックを行うイングレス・インターフェース・カードと、シーケンシャルな巡回番号を生成して前記出力パケットに付与するエグレス・インターフェース・カードとを備えていることを特徴とするパケットスイッチ装置。
【請求項２】
前記イングレス・インターフェース・カードは、前記巡回番号のチェック管理用メモリと、該チェック管理用メモリに対する１回のアクセス処理を連続する第１及び第２のメモリアクセスポイントにて行うことにより２回に分割して行うための第１のメモリインターフェース部と第２のメモリインターフェース部とを備えており、前記第１のアクセスポイントにて前記第１のメモリインターフェース部による処理の後に、前記フォワーディング処理部は前記第１のメモリインターフェース部による処理結果の補正の要否を判定し、前記第２のメモリインターフェース部は前記フォワーディング処理部により前記補正が必要と判定された場合に、前記第２のアクセスポイントにて前記チェック管理用メモリのアドレス空間から読み出されたシーケンス番号を補正して前記チェック管理用メモリの前記アドレス空間に書き込むようにしたことを特徴とする請求項１に記載のパケットスイッチ装置。
【請求項３】
前記第１のメモリインターフェース部は、前記第１のアクセスポイントにて、前記入力パケットのヘッダ情報をアドレスとして前記チェック管理用メモリの該アドレスに対応するアドレス空間をアクセスして前記チェック管理用メモリに格納されている対応するシーケンス番号を読み出す読み出し処理と、該読み出し処理により読み出された前記シーケンス番号に１を加算する加算処理と、該加算処理による加算結果を前記チェック管理用メモリの前記アドレス空間にライトバックする処理とを連続して行う演算部を備えていることを特徴とする請求項２に記載のパケットスイッチ装置。
【請求項４】
前記フォワード処理部は、前記入力パケットの受信ポートがスード・ワイヤ用であるか否かを判定するための受信ポート属性テーブルを更に備え、前記入力パケット毎に付与されている入力物理ポート情報をアドレスとして前記受信ポート属性テーブルを参照し、前記受信ポートがスード・ワイヤ用である場合にのみ前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする請求項２に記載のパケットスイッチ装置。
【請求項５】
前記フォワード処理部は、前記入力パケットのヘッダ情報をアドレスとして前記入力パケットが仮想フレームのコントロールワードを持つか否かのチェックを行うためのシーケンス番号有無テーブルを更に備え、前記入力パケットが前記コントロールワードを持つと判定された場合にのみ、前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする請求項４に記載のパケットスイッチ装置。
【請求項６】
前記エグレス・インターフェース・カードは、前記巡回番号のチェック管理用メモリを備えており、該チェック管理用メモリに対する１回のアクセス処理を連続する第１及び第２のメモリアクセスポイントにて行うことにより２回に分割して行うための第１のメモリインターフェース部と第２のメモリインターフェース部とを備えており、前記第１のアクセスポイントにて前記第１のメモリインターフェース部による処理の後に、前記フォワーディング処理部は前記第１のメモリインターフェース部による処理結果の補正の要否を判定し、前記第２のメモリインターフェース部は前記フォワーディング処理部により前記補正が必要と判定された場合に、前記第２のアクセスポイントにて前記チェック管理用メモリのアドレス空間から読み出されたシーケンス番号を補正して前記チェック管理用メモリの前記アドレス空間に書き込むようにしたことを特徴とする請求項１に記載のパケットスイッチ装置。
【請求項７】
前記第１のメモリインターフェース部は、前記第１のアクセスポイントにて、前記入力パケットのヘッダ情報をアドレスとして前記チェック管理用メモリの該アドレスに対応するアドレス空間をアクセスして前記チェック管理用メモリに格納されている対応するシーケンス番号を読み出す読み出し処理と、該読み出し処理により読み出された前記シーケンス番号に１を加算する加算処理と、該加算処理による加算結果を前記チェック管理用メモリの前記アドレス空間にライトバックする処理とを連続して行う演算部を備えていることを特徴とする請求項６に記載のパケットスイッチ装置。
【請求項８】
前記フォワード処理部は、前記出力パケットの送信ポートがスード・ワイヤ用であるか否かを判定するための送信ポート属性テーブルを更に備え、前記出力パケット毎に付与されている出力物理ポート情報をアドレスとして前記送信ポート属性テーブルを参照し、前記送信ポートがスード・ワイヤ用である場合にのみ前記チェック管理用メモリに対するアクセスを実行するようにしたことを特徴とする請求項６に記載のパケットスイッチ装置。
【国際調査報告】
2008149415.tif 000015
2008149415.tif 000016
2008149415.tif 000017
2008149415.tif 000018
2008149415.tif 000019
2008149415.tif 000020