(57)【要約】【課題】  ネットワークの測定に必要な送信フレームのフィールドの可変範囲がメモリの容量に拘束されないフレーム生成装置を提供する。【解決手段】    フレームのフィールド値に基づいて生成される送信フレームをネットワークに出力するフレーム生成装置において、  前記送信フレームの最初のフレームである基準フレームを記憶するメモリと、  前記入力フレームの任意のフィールド値を出力するとともに、このフィールド値と前記基準フレームの対応するフィールド値とを対比して差分を求めるフィールド演算部と、  前記差分によって生じるチェックサムを求めるチェックサム演算部と、  前記任意のフィールド値及び前記チェックサムが入力され、これらを前記送信フレームの何処に挿入するかを決定するフィールド制御部と  を備える。  【選択図】                    図１
2006060697.tif 000002
【特許請求の範囲】
【請求項１】
ファームウェアが生成する入力フレームのフィールド値に基づいて、フレーム生成部が送信フレームを生成し、この送信フレームをネットワークに出力するフレーム生成装置において、
前記送信フレームの基準フレームを記憶するメモリと、
前記入力フレームの任意のフィールド値を出力するとともに、このフィールド値と前記基準フレームの対応するフィールド値とを対比して差分を求めるフィールド演算部と、
前記差分に対応して変化するチェックサムを演算するチェックサム演算部と、
前記任意のフィールド値及び前記チェックサムが入力され、これらを前記送信フレームの何処に挿入するかを決定するフィールド制御部と
を備えることを特徴とするフレーム生成装置。
【請求項２】
前記チェックサム演算部は、
前記入力フレームのフィールド値と前記基準フレームの対応するフィールド値の前記差分が入力され、この差分に対応して変化するＩＰヘッダアドレスのチェックサムを、
前記ファームウェアから入力される第１の初期チェックサムと、この第１の初期チェックサムのステップを決定する第１のチェックサムステップを利用して、
演算するＩＰヘッダチェックサム演算部を備えることを特徴とする請求項１記載のフレーム生成装置。
【請求項３】
前記チェックサム演算部は、
前記入力フレームのフィールド値と前記基準フレームの対応するフィールド値の前記差分が入力され、この差分に対応して変化するＴＣＰ／ＵＤＰ／ＩＣＭＰｖ６ヘッダのチェックサムを、
前記ファームウェアから入力される第２の初期チェックサムと、この第２の初期チェックサムのステップを決定する第２のチェックサムステップを利用して、
演算するＴＣＰ／ＵＤＰ／ＩＣＭＰｖ６ヘッダチェックサム演算部を備えることを特徴とする請求項１記載のフレーム生成装置。
【請求項４】
前記フィールド演算部を複数備えることを特徴とする請求項１記載のフレーム生成装置。
【請求項５】
前記ファームウェアは、前記入力フレームの同一フィールドを指定しないように複数のフィールド演算部に対して別個に最小値及び最大値の指示を与えることを特徴とする請求項５記載のフレーム生成装置。
【請求項６】
ファームウェアが生成する入力フレームのフィールド値に基づいて生成される送信フレームをネットワークに出力し、前記ネットワークを試験するフレーム生成装置において、
前記送信フレームの最初のフレームを基準フレームとし、
前記入力フレームの任意のフィールド値を前記基準フレームの対応するフィールド値と対比して差分を求め、
前記差分によって生じるチェックサムを算出し、
前記任意のフィールド値及び前記チェックサムを前記送信フレームの何処に挿入するかを決定することを特徴とするフレーム生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、スループット測定、遅延時間測定等のネットワークパフォーマンスの測定に利用するフレーム生成装置に関し、特にネットワークの測定に必要な送信フレームのフィールドの可変範囲がメモリの容量に拘束されないフレーム生成装置に関する。
【背景技術】
【０００２】
一般に、メディアコンバータ、ＬＡＮ、スイッチ、ルータ、伝送装置等のネットワーク機器を開発・製造するためには「スループット測定」、「遅延時間測定」等のネットワークパフォーマンスの測定に利用するフレーム生成装置が必要とされる。また、このようなフレーム生成装置は、フレームを任意に変換等してネットワークに出力する必要がある。フレームを任意に変換等するフレーム生成装置の文献としては以下のようなものがある。
【０００３】
【特許文献１】特開２００３−１９８５８９号公報
【０００４】
ところで、従来のフレーム生成装置は、ファームウェアが生成したフレーム全体を順次メモリに記憶し、タイミングを合わせてネットワークに出力する方式を採用している。以下、このような従来のフレーム生成装置について説明する。
【０００５】
図４は従来のフレーム生成装置の構成例で、図５はＩＰｖ４のフレームの構成例である。図４において、ファームウェア３はフィールド値を任意に可変してフレームを生成する制御ソフトであり、図５（ア）のＩＰアドレス（送信元ＩＰアドレス、送信先ＩＰアドレス）、ＴＯＳフィールド、（イ）のＭＡＣアドレス等のフィールド値を任意に可変してフレームを生成する。
【０００６】
ここで、ＩＰアドレスのフィールドはＴＣＰ／ＵＤＰヘッダの擬似ヘッダなので、ＩＰアドレスのフィールド値を変化させると、ＴＣＰ／ＵＤＰヘッダチェックサム値も変化する。
【０００７】
また、図５（ア）のＩＰチェックサム、（ウ）のＴＣＰチェックサム、（エ）のＵＤＰチェックサムは、フレームの転送に誤りがないかチェックするものであり、例えばＩＰドレスを１０進数で「０．０．０．１２８」から「０．０．０．１２９」の様に１ビット増加させると、ＩＰヘッダチェックサムは、ヘッダ内のすべての値を１６ビット単位の１の補数として算出し、この算出値の１の補数をチェックサムとしているため、ＩＰヘッダチェックサムは１ビット減少する機能がある。
【０００８】
図４で、フレーム生成装置１０はメモリ１、フレーム送信部２を備える。メモリ１はフレーム全体を記憶しているが、記憶するフレームの数はメモリ１の記憶容量に依存する。フレーム送信部２は、送信のタイミングに合わせてメモリ１に記憶された送信フレームを出力する。
【０００９】
次に、このようなフレーム生成装置１０の動作を説明する。ここではフレームのフィールド値のうち、図５（ア）の送信先ＩＰアドレスを１０進数で「０．０．０．０」（開始ＩＰアドレス）、０．０．０．１、・・・、０．０．０．２５５（終了ＩＰアドレス）の様に可変する場合について説明する。
【００１０】
まず、ファームウェア３からフレーム生成装置１０に基本フレームを出力する。その際、ファームウェア３は基本フレームのチェックサムを演算し、メモリ１に書き込む。ここで、基本フレームはフィールドの開始ＩＰアドレス「０．０．０．０」を挿入したフレームである。
【００１１】
次に、ファームウェア３はフレームのＩＰアドレスを１０進数で「０．０．０．１」、「０．０．０．２」、・・・、「０．０．０．２５５」（終了ＩＰアドレス）の様に可変し、その他のフィールド値には同じ値を挿入し、ＩＰヘッダチェックサムを再計算して作成されたフレームをフレーム生成装置１０に出力し、メモリ１に書き込む。
【００１２】
フレーム送信部２は、ファームウェア３から出力される送信開始の信号に応じて、メモリ１から１フレームごとにデータを読み出して送信フレームをネットワークに出力する。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
このようなフレーム全体を順次メモリ１に記憶する方法によれば、これらのフレームをメモリ１の容量分一括してフレーム生成装置１０に表示できる。
【００１４】
しかし、ファームウェア３でＩＰアドレス等のフィールドの一部を可変した場合にも、フレーム全体をメモリ１に書き込まなければならないので、メモリ１の記憶容量により、ファームウェア３で可変できるフィールドの可変範囲が制限される問題点がある。
【００１５】
また、図５のようなフレームフォーマットにより特定されるフィールドごとにしか可変値を指定することができない。
【００１６】
さらに、フレームのフィールドがＩＰ、ＴＣＰ／ＵＤＰのようにチェックサムフィールドを持つヘッダの場合には、チェックサムを演算する必要があるが、これらの演算全てをファームウェア３で行なうと演算時間が長くなる問題点がある。一方、フレーム生成装置１０で演算をするとフレーム全体をフレームごとに格納しなければならないので、回路規模が大きくなるという問題点がある。
【００１７】
本発明は、ネットワークの測定に必要な送信フレームのフィールドの可変範囲がメモリの容量に拘束されないフレーム生成装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
ファームウェアが生成する入力フレームのフィールド値に基づいて、フレーム生成部が送信フレームを生成し、この送信フレームをネットワークに出力するフレーム生成装置において、
前記送信フレームの基準フレームを記憶するメモリと、
前記入力フレームの任意のフィールド値を出力するとともに、このフィールド値と前記基準フレームの対応するフィールド値とを対比して差分を求めるフィールド演算部と、
前記差分に対応して変化するチェックサムを演算するチェックサム演算部と、
前記任意のフィールド値及び前記チェックサムが入力され、これらを前記送信フレームの何処に挿入するかを決定するフィールド制御部と
を備える。
【００１９】
請求項２記載の発明は、請求項１記載の発明において、
前記チェックサム演算部は、
前記入力フレームのフィールド値と前記基準フレームの対応するフィールド値の前記差分が入力され、この差分に対応して変化するＩＰヘッダアドレスのチェックサムを、
前記ファームウェアから入力される第１の初期チェックサムと、この第１の初期チェックサムのステップを決定する第１のチェックサムステップを利用して、
演算するＩＰヘッダチェックサム演算部を備える。
【００２０】
請求項３記載の発明は、請求項１記載の発明において、
前記チェックサム演算部は、
前記入力フレームのフィールド値と前記基準フレームの対応するフィールド値の前記差分が入力され、この差分に対応して変化するＴＣＰ／ＵＤＰ／ＩＣＭＰｖ６ヘッダのチェックサムを、
前記ファームウェアから入力される第２の初期チェックサムと、この第２の初期チェックサムのステップを決定する第２のチェックサムステップを利用して、
演算するＴＣＰ／ＵＤＰ／ＩＣＭＰｖ６ヘッダチェックサム演算部を備える。
【００２１】
請求項４記載の発明は、請求項１記載の発明において、
前記フィールド演算部を複数備える。
【００２２】
請求項５記載の発明は、請求項５記載の発明において、
前記ファームウェアは、前記入力フレームの同一フィールドを指定しないように複数のフィールド演算部に対して別個に最小値及び最大値の指示を与える。
【００２３】
請求項６記載の発明は、
ファームウェアが生成する入力フレームのフィールド値に基づいて生成される送信フレームをネットワークに出力し、前記ネットワークを試験するフレーム生成装置において、
前記送信フレームの最初のフレームを基準フレームとし、
前記入力フレームの任意のフィールド値を前記基準フレームの対応するフィールド値と対比して差分を求め、
前記差分によって生じるチェックサムを算出し、
前記任意のフィールド値及び前記チェックサムを前記送信フレームの何処に挿入するかを決定することを特徴とするフレーム生成装置。
【発明の効果】
【００２４】
本発明では、次のような効果がある。
基準フレームと入力フレームのフィールド値の差分を利用してチェックサムを演算するので、送信フレームのフィールドの可変範囲がメモリの容量に拘束されない。
【００２５】
また、フィールド演算部を複数備えるので、複数のフィールド値を可変してもチェックサムの演算が正しく行なうことができる。
【００２６】
また、ファームウェアは入力フレームの同一フィールドを指定しないように複数のフィールド演算部に対して別個に最小値及び最大値の指示を与えるので、チェックサムの演算が正しく行なえる。
【００２７】
さらに、ＴＣＰ／ＵＤＰヘッダのチェックサムのビットが全て「０」の場合にこれらのビットを全て「１」に反転させるかさせないかを選択できるので、測定対象にチェックサムフィールドのチェックの要否を選択することができる。
【発明を実施するための最良の形態】
【００２８】
以下、図１の本発明の実施形態について説明する。図１は本発明のフレーム生成装置の一実施例を示した構成例である。図１を用いて本発明の構成及び動作の概要を説明する。
【００２９】
図１においてフレーム生成装置１００は、メモリ１１０、フィールド演算部１２０、チェックサム演算部１３０、フィールド制御部１４０、フレーム生成部１５０を備える。メモリ１１０は送信フレームの基準フレームを記憶する。
【００３０】
ファームウェア２００は、フレームを生成する制御ソフトであり、図５のフレームのＭＡＣアドレス、ＩＰアドレス、ＴＯＳフィールド等のフィールド値を任意に可変してフレームを生成する。
【００３１】
次に、図１の動作について説明する。ここではフレームのフィールド値のうち、図５（ア）の送信先ＩＰアドレスを例えば、１０進数で「０．０．０．０」（開始ＩＰアドレス）を「０．０．０．１」、・・・の様に順に可変する場合について説明する。ファームウェア２００は、フレーム生成装置１００に第１番目のフレーム、すなわちＩＰアドレスが「０．０．０．０」のフレームを出力する。
【００３２】
フレーム生成装置１００のメモリ１１０は、ファームウェア２００から入力されるこの第１番目のフレーム全体を記憶する。フィールド演算部１２０は入力されたフレームのフィールド値を、フィールド制御部１４０に出力するとともに、後述する差分を演算してチェックサム演算部１３０に出力する。
【００３３】
チェックサム演算部１３０は、フィールド演算部１２０が演算した差分に対応して変化するチェックサムを演算する。フィールド制御部１４０は、フィールド演算部１２０から出力されるフィールド値やチェックサム演算部１３０から出力される各種チェックサムを送信フレームの何処に挿入するかを決定する。フレーム生成部１５０の動作は後述する。
【００３４】
次に、図２を用いて図１のフィールド演算部１２０、チェックサム演算部１３０、フィールド制御部１４０の構成及び動作を詳細に説明する。フィールド演算部１２０は、図２の様に、例えば１２１〜１２３の３つのフィールド演算部を備え、フレームのフィールド値を演算する。すなわち、フレームの任意のフィールド値とメモリ１１０に記憶された基準フレームの対応するフィールド値とを対比して差分を求める。
【００３５】
ここで、フィールド演算部が複数設けられている理由は、フレームの異なるフィールドを演算するためである。従って、例えば図２の様にフィールド演算部１２１で送信先ＩＰアドレスのフィールド値を演算して差分ａを出力し、フィールド演算部１２２でＭＡＣアドレスを演算して差分ｂを出力することもできる。
【００３６】
ファームウェア２００は、チェックサムの演算を正しく行なうため、フレームの同一フィールドを指定しないように各フィールド演算部１２１、１２２、１２３に対して別個に最小値ａ１、ｂ１、ｃ１並びに最大値ａ２、ｂ２、ｃ２についての指示を与える。
【００３７】
チェックサム演算部１３０は、ＩＰヘッダチェックサム演算部１３１とＴＣＰ／ＵＤＰヘッダチェックサム演算部１３２を備え、フィールド演算部１２０が演算した差分に対応して変化するチェックサムを演算する。ＩＰチェックサム演算部１３１はＩＰアドレスのチェックサムを演算し、ＴＣＰ／ＵＤＰチェックサム１３２はＴＣＰ／ＵＤＰのチェックサムを演算する。
【００３８】
フィールド制御部１４０は、セレクタ１４１、タイミング制御部１４２を備え、フィールド演算部１２０から出力されるフィールド値やチェックサム演算部１３０から出力されるチェックサムを送信フレームの何処に挿入するかを決定する。
【００３９】
次に、図２の動作について説明する。例えば、フィールド演算部１２１に入力される基本フレームとなる第１番目フレームのフィールド値が「９」であり、第２番目のフレームのフィールド値「１４」が入力されると、差分は「５」と演算される。ここで、演算のタイミングは、フレーム生成装置１００から入力されるフレーム送信タイミングに従う。そして、フィールド演算部１２１はこの差分「５」をチェックサム演算部１３０に出力する。
【００４０】
この様にしてフィールド演算部１２１は、フィールドの可変範囲の最小値ａ１から最大値ａ２について演算する。フィールド値の可変方法は、モードａによりインクリメント、デクリメント、 ランダムの中から選択され、特にインクリメント、デクリメントによる演算では、可変するステップ数についての情報であるステップａに従って可変する。例えば、モードをインクリメントに設定し、ステップを「１」に、フィールドの可変範囲の最小値ａ１を「０」、最大値ａ２を「５」に設定すると、フィールド値は０、１、２、３、４、５と演算される。なお、フィールド演算部１２２、１２３を使用して演算する場合もフィールド演算部１２１を使用して演算する場合と同様に演算する。
【００４１】
チェックサム演算部１３０のＩＰチェックサム演算部１３１は、フィールド演算部１２１から入力される差分とファームウェア２００から入力される初期チェックサム（図２ではＩＰ初期チェックサムを言う。）及びチェックサムステップ（図２ではＩＰチェックサムステップを言う。）を利用してチェックサムを演算する。以下、チェックサムの演算方法を具体例を挙げて説明する。
【００４２】
例えば、ＩＰアドレスを可変し、そのＩＰアドレスを演算するフィールド演算部１２１から出力される差分ａが「５」であるとする。そして、ＩＰ初期チェックサムが「９」、ＩＰチェックサムステップが「１」である場合には、
ＩＰチェックサム演算部１３１は、
ＩＰチェックサム＝９（ＩＰ初期チェックサム）−１（ＩＰチェックサムステップ）*５（差分ａ）＝４
となる。
【００４３】
つまり、
（１００１）２を反転して（０１１０）２を求め、
（０１１０）２＋（０１０１）２＝（１０１１）２を算出し、この
（１０１１）２を反転して（０１００）２すなわち（４）１０を求める。
なお、この様な１の補数を用いた計算方法は、図３を用いて後述する。
【００４４】
なお、ＴＣＰ／ＵＤＰチェックサム演算部１３２を使用して演算する場合についてもＩＰチェックサム演算部１３１を使用する場合と同様に演算する。
【００４５】
ただし、ＴＣＰ／ＵＤＰチェックサム演算部１３２には更にゼロオプションが入力される。ゼロオプションは、ＵＤＰチェックサムの計算をする場合にのみ使用される信号であり、ＴＣＰ／ＵＤＰチェックサム演算部１３２が演算するＵＤＰチェックサムの全てのビットが「０」の場合に、これらのビットを「１」に反転させるかさせないかを選択する。
【００４６】
ビットを反転させる理由は、全てのビットが「０」からなるＵＤＰチェックサムはチェックサムであると認識されず、使用できないからである。ＴＣＰとＵＤＰは同時に使用されないので回路は共有する。
【００４７】
フィールド制御部１４０のセレクタ１４１には、フィールド演算部１２１からフィールド値が入力され、ＩＰチェックサム演算部１３１からＩＰチェックサムが入力される。なお、フィールド演算部１２２、１２３及びＴＣＰ／ＵＤＰチェックサム演算部１３２を使用した場合は、フィールド値ｂ、ｃ、ＴＣＰ／ＵＤＰチェックサムが入力される。
【００４８】
タイミング制御部１４２には、フレーム生成装置１００からフレーム送信タイミングが入力されるとともに、ファームウェア２００からフィールドの位置をオフセットするフィールド位置オフセット及び、フィールドの幅を決定する信号であるフィールド幅が入力される。
【００４９】
そして、タイミング制御部１４２は、これらの情報に基づいてフィールド選択信号をセレクタ１４１に出力するとともに、図１のフレーム生成部１５０に対してフィールド挿入タイミングを出力する。セレクタ１４１は、フィールド選択信号に基づいてフィールド値ａ、ｂ、ｃ、ＩＰチェックサム又はＴＣＰ／ＵＤＰチェックサム（以下、「フィールド値等」ともいう。）のいずれかを選択し、図１のフレーム生成部１５０に出力する。
【００５０】
図１のフレーム生成部１５０は、タイミング制御部１４２から入力されるフィールド挿入タイミングに従って、セレクタ１４１から入力されるフィールド値等を送信フレームに挿入し、この送信フレームをファームウェア２００から入力される送信タイミングに合わせてネットワークに出力する。
【００５１】
次に、図３を参照して図１のチェックサム演算部の構成及び動作を詳細に説明する。チェックサム演算部１３０は、１の補数戻し１３３、加算部１３４、オーバーフロー判定処理部１３５、１の補数演算部１３６、ＡＬＬゼロ判部１３７を備える。１の補数戻し１３３は、１の補数演算されているチェックサム値を元に戻すものであり、具体的にはチェックサム値のｂｉｔ反転を行う。
【００５２】
加算部１３４は、加算器１３４ａとセレクタ１３４ｂを備える。加算器１３４ａは、オーバーフロー判定処理後のチェックサム計算値（符号イ）とファームウェアから入力される「ステップ」、フィールド演算部から入力される「差分」を加算する。ＳＥＬ１３４ｂは、加算器１３４ａを介して入力された信号を選択して出力する。
【００５３】
オーバーフロー判定処理部１３５は、Ａｄｄ（Ａｄｄｉｔｉｏｎ）１３５ａ、セレクタ１３５ｂを備える。Ａｄｄ１３５ａは、加算部１３４から入力されるチェックサム計算値からオーバーフローした分を加算する。セレクタ１３５ｂはチェックサムの最上位ｂｉｔからチェックサム計算値がオーバーフローしていないかを判定し、出力すべきチェックサム値を選択する。
【００５４】
１の補数演算部１３６はチェックサム計算値の１の補数をとる。チェックサム値については１の補数を取る必要があるため具体的にはチェックサム計算値をｂｉｔ反転する。
【００５５】
ＡＬＬゼロ判定部１３７は、ＡＬＬゼロ判定回路１３７ａ、ゼロオプション選択回路１３７ｂ、チェックサム選択回路１３７ｃを備える。ＡＬＬゼロ判定回路１３７ａは、１の補数演算されたチェックサム演算値がＡＬＬゼロであるか、すなわち全てのビットが’０’であるかを判定する。ゼロオプション選択回路１３７ｂは、ファームウェアから入力される対象チェックサムがＵＤＰヘッダの場合、ゼロプションの選択の有無により、出力すべきチェックサムを選択するセレクタである。チェックサム選択回路１３７ｃは、ゼロオプション選択回路１３７ｂから入力される信号に基づいて、出力すべきチェックサムを選択するセレクタである。
【００５６】
次に、図３の動作を説明する。加算部１３４は、ファームウェアから入力されるフレーム送信タイミングに従って、第１フレームを送信するときに、１の補数戻し回路１３３を介して入力された初期チェックサム値が入力される。
【００５７】
セレクタ１３４ｂは、入力されたフレームが第１フレームのとき、１の補数戻し回路１３３を介して入力された初期チェックサムを選択する。この初期チェックサムはオーバーフロー判定処理１３５に出力されるが、１の補数戻し回路１３３でｂｉｔ反転された初期チェックサムはオーバーフローしていないので、オーバーフロー判定処理部１３５をそのまま通過する。そして、オーバーフロー判定処理部１３５を通過した信号は、１の補数演算部１３６で１の補数が取られ（すなわちｂｉｔ反転する）、ＡＬＬゼロ判部１３７に出力される。
【００５８】
ＡＬＬゼロ判部１３７に入力された信号は、ＡＬＬゼロ判定回路１３７ａでチェックサム値がＡＬＬゼロか判定される。ＡＬＬゼロならば、セレクタ１３７ｂに’１’が通知され、ＡＬＬゼロ以外なら’０’が通知される。また、その際ファームウェアから入力されるゼロオプションが使用される。
【００５９】
すなわち、ゼロオプションにより、チェックサムの対象ヘッダがＵＤＰでチェックサム値がＡＬＬゼロのときＡＬＬ１へ変換を行うと設定された場合には、ゼロオプション選択回路１３７ｂはＡＬＬゼロ判定回路１３７ａから入力された信号に基づいて’１’を選択する。
【００６０】
一方、チェックサムの対象ヘッダがＵＤＰ以外のとき、または対象ヘッダがＵＤＰではあるが、ゼロオプションによりチェックサム値がＡＬＬゼロのときでもＡＬＬ１へ変換しないように設定された場合には、ゼロオプション選択回路１３７ｂは’０’を選択する。この様にしてセレクタ１３７ｂから出力された信号（つまり’１’または’０’）は、チェックサム選択回路１３７ｃに出力される。
【００６１】
さらに、１の補数演算部１３６を介して入力された信号は、チェックサム選択回路１３７ｃにそのまま入力される他（符号ロ）、論理否定でｂｉｔ反転されてからチェックサム選択回路１３７ｃに入力される（符号ハ）。
【００６２】
チェックサム選択回路１３７ｃは、ゼロオプション選択回路１３７ｂから入力された信号のチェックサムを選択する。つまり、ゼロオプション選択回路１３７ｂから入力された信号が’１’の場合は、対象ヘッダがＵＤＰでチェックサムがＡＬＬゼロ、さらにゼロオプションを使用すると選択した場合なので、１の補数演算部１３６から入力されるｂｉｔ反転されたチェックサムを選択する。すなわち、チェックサム選択回路１３７ｃからはＡＬＬ１が出力される。
【００６３】
また、信号が’０’の場合は、チェックサムがＡＬＬゼロではない場合または、ゼロオプションを使用しない場合なので、チェックサム選択回路１３７ｃにそのまま入力されたチェックサム（符号ロ）を選択し、この信号をチェックサムとして図１のフィールド制御部１４０に出力する。
【００６４】
また、第２フレーム以降は、加算器１３４ａにフィードバックされるオーバーフロー判定処理部１３５から出力されるチェックサム計算値（符号イ）の他、ファームウェアから入力される「ステップ」とフィールド演算部１２０から入力される「差分」を加算した値がチェックサム値となる。そして、このチェックサム値は、ファームウェアから入力されるフレーム送信タイミングにより加算部１３４からオーバーフロー判定処理部１３５に出力される。判定処理１３５は、加算部１３４で加算されたチェックサムがオーバーフローしていないかを判定する。
【００６５】
加算部１３４で加算を行うチェックサムは、オーバーフロー判定用ｂｉｔをチェックサムの最上位ｂｉｔに付加して加算し、その結果をオーバーフロー判定処理部１３５に出力する。したがって、オーバーフロー判定処理１３５では、このオーバーフロー判定用ｂｉｔである最上位ｂｉｔに基づいてオーバーフローを判定する。
【００６６】
そして、オーバーフロー判定処理１３５は、オーバーフローしていなければセレクタ１３５ｂはチェックサムをそのまま出力し、オーバーフローしていれば、セレクタ１３５ｂはＡｄｄ１３５ａを介して入力されたチェックサムを選択して出力する。この様に動作する理由は、ヘッダチェックサムの計算式によるもので、チェックサム演算により桁上げされた分はすべて加算することが決められているためである。
【００６７】
オーバーフロー判定処理部１３５から出力された第２フレームは、第１フレームを同様チェックサムとして出力され、第１フレームの場合と同様に処理され、以後終了するまでこれらの動作を繰り返す。
【００６８】
なお、本発明はＩＰｖ４のフレームの構成例を用いて説明したが、インターネットプロトコルバージョン６(IPv6)のプロトコルICMPv6でも良い。
【図面の簡単な説明】
【００６９】
【図１】本発明のフレーム生成装置１００の一実施例を示した構成例である。
【図２】図１のフィールド演算部１２０、チェックサム演算部１３０、フィールド演算部１４０の詳細説明図である。
【図３】図１のチェックサム演算部１３０の詳細説明図である。
【図４】従来のフレーム生成装置の一実施例を示した構成例である。
【図５】ＩＰｖ４のフレームの構成例である
【符号の説明】
【００７０】
１００                フレーム生成装置
１１０                メモリ
１２０〜１２３        フィールド演算部
１３０                チェックサム演算部
１３１                ＩＰチェックサム演算部
１３２                ＴＣＰ／ＵＤＰチェックサム演算部
１３３                １の補数戻し
１３４                加算部
１３５                オーバーフロー判定処理部
１３６                １の補数演算部
１３７                ＡＬＬゼロ判部
１４０                フィールド制御部
２００                ファームウェア
【図１】
2006060697.tif 000003
【図２】
2006060697.tif 000004
【図３】
2006060697.tif 000005
【図４】
2006060697.tif 000006
【図５】
2006060697.tif 000007