(57)【特許請求の範囲】
【請求項１】
送信元アドレスフィールドおよび宛て先アドレスフィールドを除くヘッダ全体の１６ビット毎の１の補数和をとった値がチェックサムフィールドに予め挿入された長さの異なる複数種類のＩＰヘッダを一次ヘッダとして予め記憶し、該一次ヘッダのいずれかを先頭から順に出力する一次ヘッダ発生部と、
前記一次ヘッダ発生部から出力される一次ヘッダの送信元アドレスフィールドおよび宛て先アドレスフィールドに所望のＩＰアドレスを挿入し、該ＩＰアドレスを挿入したヘッダを二次ヘッダとして先頭から順に出力するアドレス挿入手段と、
前記アドレス挿入手段から出力される二次ヘッダのチェックサムフィールド、送信元アドレスフィールドおよび宛て先アドレスフィールドに挿入されている各値を抽出するデータ抽出手段と、
前記データ抽出手段によって二次ヘッダから抽出された各値に対して１６ビット毎の１の補数和を算出し、該算出値の１の補数を前記二次ヘッダのチェックサム値としてリアルタイムに算出する演算手段と、
前記アドレス挿入手段から出力される二次ヘッダを受けて、その先頭からチェックサムフィールドの直前までの長さにほぼ相当する時間だけ遅延して出力する固定遅延手段と、
前記演算手段によって算出されたチェックサム値を前記固定遅延手段から出力される二次ヘッダのチェックサムフィールドに挿入して最終的なＩＰヘッダとして先頭から順に出力するチェックサム挿入手段とを備えたＩＰヘッダ発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アドレスを任意に可変することができるＩＰヘッダを簡単な構成で発生できるようにするための技術に関する。
【０００２】
【従来の技術】
ＴＣＰ／ＩＰのプロトコルにしたがってデータ伝送を行うネットワークやそれを構成するルータ等の通信機器の評価を行う際に、ＩＰパケットをその測定対象に与えて、そのＩＰパケットが所望の宛て先に正しく伝送されるか否かを測定する場合がある。
【０００３】
このような測定を行う際には、送信元アドレスフィールドと宛て先アドレスフィールドに任意のアドレスが挿入されたＩＰヘッダを発生する必要がある。
【０００４】
現在通信に使用されているＩＰパケットのＩＰヘッダは、図６に示しているように、３２ビット（４バイト）×Ｎ（Ｎは５以上の整数）の長さを有し、その１３バイト目から１６バイト目までの送信元アドレスフィールドＦｓａには送信元のＩＰアドレスＳＡが挿入され、１７バイト目から２０バイト目までの宛て先アドレスフィールドＦｄａには、宛て先のＩＰアドレスＤＡが挿入される。
【０００５】
また、１１バイト目から１２バイト目までのチェックサムフィールドＦｃｓには、誤り検出のためにＩＰヘッダ全体のチェックサム値ＣＳが挿入される。
【０００６】
このチェックサム値ＣＳは、ＩＰヘッダのチェックサムフィールドＦｃｓを除く全てのデータに対して、１６ビット毎の１の補数和を求め、その補数和の最終結果の１の補数をとることで求められる。
【０００７】
なお、１６ビットの２つの値Ａ、Ｂの「１の補数和」は、値Ａ、Ｂを加算して桁上がりしない場合にはその加算結果（１６ビット）を示し、桁上がりした場合には、１６ビットまでの加算結果に「１」を加えた値を示す。また、値Ｃの「１の補数」は、値Ｃの各ビットを反転させた値を示す。
【０００８】
また、２１バイト目以降のオプションフィールドＦｏｐは、テスト用のデータ等を挿入する部分でその長さは可変長（０バイトでもよい）であり、このオプションフィールドＦｏｐに続くパティングフィールドＦｐｄは、オプションフィールドＦｏｐの長さが０あるいは３２ビット（４バイト）の整数倍でないときでも、ＩＰヘッダ全体の長さが３２ビットの整数倍となるように穴埋めするためのフィールドである。
【０００９】
このパティングフィールドＦｐｄには、チェックサムの演算結果に影響を与えないように全ビット０のデータが挿入される。また、ＩＰヘッダ全体の長さを示す値Ｌは、先頭から５ビット目から８ビット目までのヘッダ長フィールドＦｈに挿入される。
【００１０】
また、ＩＰヘッダの３バイト目から４バイト目のフィールドには、ＩＰヘッダの長さと、ＩＰヘッダに続くデータフィールド（図示せず）の長さを加えたＩＰパケット全体の長さを示すパケット長が挿入される。
【００１１】
このようなフォーマットでＩＰアドレスＤＡ、ＳＡを任意に可変できるＩＰヘッダを発生させるために、従来では、図７に示すＩＰヘッダ発生装置１０が用いられている。
【００１２】
このＩＰヘッダ発生装置１０は、一次ヘッダ発生部１１、アドレス挿入手段１２、ヘッダ長抽出手段１３、演算手段１４、可変遅延手段１５およびチェックサム挿入手段１６によって構成されている。
【００１３】
一次ヘッダ発生部１１は、例えば図８の（ａ）〜（ｃ）に示すように長さが異なる一次ヘッダＨ１ａ〜Ｈ１ｃを必要に応じて選択的に出力する。
【００１４】
これらの一次ヘッダＨ１ａ〜Ｈ１ｃは、チェックサムフィールドＦｃｓに全ビット０のデータが挿入され、送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａにダミーデータ（例えば全ビット０）が挿入されている点で共通している。
【００１５】
また、一次ヘッダＨ１ａはオプションフィールドＦｏｐを含まない最短（２０バイト長）のものであり、一次ヘッダＨ１ｂはオプションフィールドＦｏｐとパティングフィールドＦｐｄとを合わせた長さが４バイト（ヘッダ全体で２４バイト長）のものであり、一次ヘッダＨ１ｃはオプションフィールドＦｏｐとパティングフィールドＦｐｄとを合わせた長さが８バイト（ヘッダ全体で２８バイト長）のものである。
【００１６】
なお、この一次ヘッダ発生部１１は、上記一次ヘッダＨ１ａ〜Ｈ１ｃを図示しない所定周波数のクロック信号に同期して所定幅（例えば１バイト幅）で順番に出力する。
【００１７】
アドレス挿入手段１２は、一次ヘッダ発生部１１から出力される一次ヘッダＨ１の送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａに、所望のＩＰアドレスＳＡ、ＤＡをそれぞれ挿入して、この所望のＩＰアドレスＳＡ、ＤＡが挿入されたヘッダを２次ヘッダＨ２として出力する。
【００１８】
ヘッダ長抽出手段１３は、アドレス挿入手段１２から出力される二次ヘッダＨ２のヘッダ長フィールドＦｈに挿入されているヘッダ長Ｌを抽出して、演算手段１４および可変遅延手段１５に出力する。
【００１９】
演算手段１４は、アドレス挿入手段１２から出力される二次ヘッダＨ２の先頭からヘッダ長Ｌ分のデータに対するチェックサム演算を行う。
【００２０】
可変遅延手段１５は、アドレス挿入手段１２から出力される二次ヘッダＨ２を、ヘッダ長Ｌに対して（Ｌ−１０）バイトに相当する時間Ｔｄだけ遅延させ、チェックサム挿入手段１６において、演算手段１４によって算出されたチェックサム値ＣＳが、二次ヘッダＨ２のチェックサムフィールドＦｃｓに正しく挿入されるようにする。
【００２１】
なお、一次ヘッダ発生手段１１が一次ヘッダＨ１を１バイト出力するのに必要な時間をＴｒとすれば、可変遅延手段１５の遅延時間Ｔｄは（Ｌ−１０）Ｔｒで表すことができる。
【００２２】
ここで、例えば一次ヘッダ発生部１１から前記したオプションフィールドＦｏｐを含まない一次ヘッダＨ１ａが出力された場合、図９の（ａ）のように、その一次ヘッダＨ１ａにＩＰアドレスＳＡ、ＤＡが挿入された２次ヘッダＨ２ａ全体に対して演算手段１４によるチェックサム演算が行われ、その演算によって得られたチェックサム値ＣＳａが図９の（ｂ）のようにチェックサム挿入手段１６に出力される。
【００２３】
一方、アドレス挿入手段１２から出力された二次ヘッダＨ２ａは、可変遅延手段１５によって、図９の（ｃ）のように（Ｌａ−１０）バイトに相当する時間Ｔｄ＝（Ｌａ−１０）Ｔｒだけ遅延してチェックサム挿入手段１６に出力される。なお、この場合、ヘッダ長Ｌａは２０バイトであるので、遅延時間Ｔｄは１０・Ｔｒとなる。
【００２４】
このように、ヘッダ長Ｌａに応じた時間Ｔｄだけ遅延された二次ヘッダＨ２ａのチェックサムフィールドＦｃｓは、演算手段１４によってチェックサム値ＣＳａが算出されたタイミングにチェックサム挿入手段１６に入力されることになり、チェックサム挿入手段１６からは、図９の（ｄ）のように、チェックサムフィールドＦｃｓにチェックサム値ＣＳａが挿入されたＩＰヘッダＨｉｐが出力される。
【００２５】
また、一次ヘッダ発生部１１からオプションフィールドＦｏｐを含む一次ヘッダＨ１ｂが出力された場合、図１０の（ａ）のように、その一次ヘッダＨ１ｂに送信元アドレスＳＡおよび宛て先アドレスＤＡが挿入された二次ヘッダＨ２ｂ全体に対するチェックサム演算が行われて、図１０の（ｂ）のようにそのチェックサム値ＣＳｂが求められてチェックサム挿入手段１６へ出力される。
【００２６】
また、この二次ヘッダＨ２ｂは可変遅延手段１５によって、図１０の（ｃ）のようにＴｄ＝（Ｌｂ−１０）Ｔｒだけ遅延してチェックサム挿入手段１６に出力される。なお、この場合、ヘッダ長Ｌｂは２４バイトであるので、遅延時間Ｔｄは１４・Ｔｒとなる。
【００２７】
このように、ヘッダ長Ｌｂに応じた時間Ｔｄだけ遅延された二次ヘッダＨ２ｂのチェックサムフィールドＦｃｓは、演算手段１４によってチェックサム値ＣＳｂが算出されたタイミングにチェックサム挿入手段１６に入力されることになり、チェックサム挿入手段１６からは、図１０の（ｄ）のように、チェックサムフィールドＦｃｓにチェックサム値ＣＳｂが挿入されたＩＰヘッダＨｉｐが出力される。
【００２８】
また、一次ヘッダ発生部１１からオプションフィールドＦｏｐを含む一次ヘッダＨ１ｃが出力された場合、図１１の（ａ）のように、その一次ヘッダＨ１ｃに送信元アドレスＳＡおよび宛て先アドレスＤＡが挿入された２次ヘッダＨ２ｃ全体に対するチェックサム演算が行われて、図１１の（ｂ）のようにそのチェックサム値ＣＳｃが求められてチェックサム挿入手段１６へ出力される。
【００２９】
また、この二次ヘッダＨ２ｃは可変遅延手段１５によって、図１１の（ｃ）のようにＴｄ＝（Ｌｃ−１０）Ｔｒだけ遅延してチェックサム挿入手段１６に出力される。なお、この場合、ヘッダ長Ｌｃは２８バイトであるので、遅延時間Ｔｄは１８・Ｔｒとなる。
【００３０】
このように、ヘッダ長Ｌｃに応じた時間Ｔｄだけ遅延された二次ヘッダＨ２ｃのチェックサムフィールドＦｃｓは、演算手段１４によってチェックサム値ＣＳｃが算出されたタイミングにチェックサム挿入手段１６に入力されることになり、チェックサム挿入手段１６からは、図１１の（ｄ）のように、チェックサムフィールドＦｃｓにチェックサム値ＣＳｃが挿入されたＩＰヘッダＨｉｐが出力される。
【００３１】
【発明が解決しようとする課題】
しかしながら、上記した従来のＩＰヘッダ発生装置１０では、一次ヘッダＨ１の長さに応じて、演算手段１４の演算対象範囲や、その演算結果を挿入するための遅延時間Ｔｄを可変しなければならず、ハードウエア構成が複雑になるという問題があった。
【００３２】
本発明は、この問題を解決し、一次ヘッダの長さが変化しても、演算対象範囲や遅延時間を変化させる必要がなく同一の処理でＩＰパケットを生成することができ、ハードウエア構成が簡単なＩＰヘッダ発生装置を提供することを目的としている。
【００３３】
【課題を解決するための手段】
前記課題を達成するために、本発明のＩＰヘッダ発生装置は、
送信元アドレスフィールドおよび宛て先アドレスフィールドを除くヘッダ全体の１６ビット毎の１の補数和をとった値がチェックサムフィールドに予め挿入された長さの異なる複数種類のＩＰヘッダを一次ヘッダとして予め記憶し、該一次ヘッダのいずれかを先頭から順に出力する一次ヘッダ発生部と、
前記一次ヘッダ発生部から出力される一次ヘッダの送信元アドレスフィールドおよび宛て先アドレスフィールドに所望のＩＰアドレスを挿入し、該ＩＰアドレスを挿入したヘッダを二次ヘッダとして先頭から順に出力するアドレス挿入手段と、
前記アドレス挿入手段から出力される二次ヘッダのチェックサムフィールド、送信元アドレスフィールドおよび宛て先アドレスフィールドに挿入されている各値を抽出するデータ抽出手段と、
前記データ抽出手段によって二次ヘッダから抽出された各値に対して１６ビット毎の１の補数和を算出し、該算出値の１の補数を前記二次ヘッダのチェックサム値としてリアルタイムに算出する演算手段と、
前記アドレス挿入手段から出力される二次ヘッダを受けて、その先頭からチェックサムフィールドの直前までの長さにほぼ相当する時間だけ遅延して出力する固定遅延手段と、
前記演算手段によって算出されたチェックサム値を前記固定遅延手段から出力される二次ヘッダのチェックサムフィールドに挿入して最終的なＩＰヘッダとして先頭から順に出力するチェックサム挿入手段とを備えている。
【００３４】
【発明の実施の形態】
以下、図面に基づいて本発明の実施の形態を説明する。
図１は、本発明を適用したＩＰヘッダ発生装置２０の構成を示している。
【００３５】
図１において、一次ヘッダ発生部２１は、例えば図２の（ａ）〜（ｃ）に示すように、送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａを除くヘッダ全体の１６ビット毎の１の補数和をとった値Ｋｄ〜ＫｆがそれぞれのチェックサムフィールドＦｃｓに予め挿入されている一次ヘッダＨ１ｄ〜Ｈ１ｆを記憶しており、これらの一次ヘッダＨ１ｄ〜Ｈ１ｆのいずれかを必要に応じて順次出力する。
【００３６】
これらの一次ヘッダＨ１ｄ〜Ｈ１ｆの送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａには例えば０のダミーデータが挿入されている。
【００３７】
また、一次ヘッダＨ１ｄは、オプションフィールドＦｏｐを含まない最短（２０バイト長）のものであり、一次ヘッダＨ１ｅは、オプションフィールドＦｏｐを含む２４バイト長のものであり、一次ヘッダＨ１ｆは、オプションフィールドＦｏｐを含む２８バイト長のものである。
【００３８】
なお、この一次ヘッダ発生部２１は、上記一次ヘッダＨ１ｄ〜Ｈ１ｆを図示しない所定周波数のクロック信号に同期して所定幅（例えば１バイト幅）で、左上隅を先頭に右下隅まで順番に出力する。
【００３９】
アドレス挿入手段２２は、一次ヘッダ発生部２１から出力される一次ヘッダＨ１の送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａに所望のＩＰアドレスＳＡ、ＤＡを挿入し、このＩＰアドレスを挿入したヘッダを二次ヘッダＨ２として出力する。
【００４０】
なお、このＩＰアドレスＳＡ、ＤＡは、図示しないアドレス設定手段から設定されるか、あるいはアドレス挿入手段２２の内部で発生させたものを用いることができる。
【００４１】
データ抽出手段２３は、アドレス挿入手段２２から出力される二次ヘッダＨ２のチェックサムフィールドＦｃｓ、送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａに挿入されている各値Ｋ、ＳＡ、ＤＡを抽出して演算手段２４に出力する。
【００４２】
演算手段２４は、データ抽出手段２３によって二次ヘッダＨ２から抽出された値Ｋ、ＳＡ、ＤＡに対して１６ビット毎の１の補数和を算出し、その算出値の１の補数を二次ヘッダＨ２のチェックサム値ＣＳとして算出する。
【００４３】
固定遅延手段２５は、アドレス挿入手段２２から出力される二次ヘッダＨ２を、その先頭からチェックサムフィールドＦｃｓの直前までの長さ（１０バイト）に相当する時間Ｔｄ、即ち、先頭からチェックサムフィールドＦｃｓの直前までの長さ分のデータを出力するのに必要な時間Ｔｄだけ遅延して、チェックサム挿入手段２６に出力する。ここで、前記同様に一次ヘッダ発生手段２１が一次ヘッダを１バイト出力するのに必要な時間をＴｒとすれば、遅延時間Ｔｄは１０・Ｔｒで表すことができる。
【００４４】
ただし、厳密に言えば、上記遅延時間Ｔｄに、演算手段２４の演算処理の遅延時間ΔＴを加える必要があるが、ここではその遅延時間ΔＴを無視できるものとする。
【００４５】
チェックサム挿入手段２６は、演算手段２４によって算出されたチェックサム値ＣＳを固定遅延手段２５から出力される二次ヘッダＨ２のチェックサムフィールドＦｃｓに挿入して、最終的なＩＰヘッダＨｉｐとして出力する。
【００４６】
このように構成されたＩＰヘッダ発生装置２０では、例えば一次ヘッダ発生部２１から図２に示した一次ヘッダＨ１ｄ〜Ｈ１ｆのうち、オプションフィールドを含まない一次ヘッダＨ１ｄが出力された場合、この一次ヘッダＨ１ｄの送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａには、アドレス挿入手段２２によって、図３の（ａ）のように、所望のＩＰアドレスＳＡ、ＤＡが挿入され、そのＩＰアドレスが挿入されたヘッダが二次ヘッダＨ２ｄとしてデータ抽出手段２３および固定遅延手段２５に出力される。
【００４７】
そして、データ抽出手段２３によって、この二次ヘッダＨ２ｄの３つの連続するフィールド、即ち、チェックサムフィールドＦｃｓ、送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａに挿入されている各値Ｋｄ、ＳＡ、ＤＡが、図３の（ｂ）のように抽出されて演算手段２４に出力される。
【００４８】
演算手段２４は、これらの各値Ｋｄ、ＳＡ、ＤＡに対して、１６ビット毎の１の補数和を計算し、その計算結果の１の補数をこの二次ヘッダＨ２ｄのチェックサム値ＣＳｄとして求める。
【００４９】
なお、このチェックサムの計算は、データ抽出手段２３によって抽出されたデータ順にリアルタイムに行われる。
【００５０】
即ち、始めに抽出された１６ビットの値Ｋｄとそれに続くＩＰアドレスＤＡの前半の１６ビットのデータについて１の補数和を求め、その結果とＩＰアドレスＤＡの後半の１６ビットのデータについて１の補数和を求め、その結果とＩＰアドレスＳＡの前半の１６ビットのデータについて１の補数和を求め、その結果とＩＰアドレスＳＡの後半の１６ビットのデータについて１の補数和を求め、その結果を反転してチェックサム値ＣＳｄとする。
【００５１】
このようにして算出されたチェックサム値ＣＳｄは、図３の（ｃ）に示すように、アドレス挿入手段２２から二次ヘッダＨ２ｄの宛て先アドレスフィールドＦｄａの最終のデータが出力された直後にチェックサム挿入手段２６に出力される。
【００５２】
一方、アドレス挿入手段２２から固定遅延手段２５に出力された二次ヘッダＨ２ｄは、図３の（ｄ）のように１０バイト分に相当する時間Ｔｄ＝１０・Ｔｒだけ遅れて、チェックサム挿入手段２６に出力される。
【００５３】
このため、演算手段２４によって算出されたチェックサム値ＣＳｄは、図３の（ｅ）のように二次ヘッダＨ２ｄのチェックサムフィールドＦｃｓに挿入されることになり、このチェックサム値ＣＳｄが挿入されたヘッダが最終的なＩＰヘッダＨｉｐとして出力される。
【００５４】
また、一次ヘッダ発生部２１からオプションフィールドＦｏｐを含む一次ヘッダＨ１ｅが出力された場合、その一次ヘッダＨ１ｅの送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａには、アドレス挿入手段２２によって、図４の（ａ）のように、所望のＩＰアドレスＳＡ、ＤＡが挿入されて二次ヘッダＨ２ｅとしてデータ抽出手段２３および固定遅延手段２５に出力され、前記同様に、データ抽出手段２３によって二次ヘッダＨ２ｅのチェックサムフィールドＦｃｓ、送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａに挿入されている各値Ｋｅ、ＳＡ、ＤＡが図４の（ｂ）のように抽出されて演算手段２４に出力される。
【００５５】
そして、演算手段２４によって各値Ｋｅ、ＳＡ、ＤＡに対する１６ビット毎の１の補数和およびその計算結果の１の補数が計算され、その計算結果がこの二次ヘッダＨ２ｅのチェックサム値ＣＳｅとして求められ、図４の（ｃ）のようにチェックサム挿入手段２６へ出力される。
【００５６】
一方、アドレス挿入手段２２から固定遅延手段２５に出力された二次ヘッダＨ２ｅは、図４の（ｄ）のように１０バイト分に相当する時間Ｔｄ＝１０・Ｔｒだけ遅れて、チェックサム挿入手段２６に出力される。
【００５７】
このため、演算手段２４によって算出されたチェックサム値ＣＳｅは、図４の（ｄ）のように二次ヘッダＨ２ｅのチェックサムフィールドＦｃｓに挿入されることになり、このチェックサム値ＣＳｅが挿入されたヘッダが最終的なＩＰヘッダＨｉｐとして出力される。
【００５８】
また、一次ヘッダ発生部２１からオプションフィールドＦｏｐを含む一次ヘッダＨ１ｆが出力された場合、その一次ヘッダＨ１ｆの送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａには、アドレス挿入手段２２によって、図５の（ａ）のように、所望のＩＰアドレスＳＡ、ＤＡが挿入されて二次ヘッダＨ２ｆとしてデータ抽出手段２３および固定遅延手段２５に出力され、前記同様に、データ抽出手段２３によって二次ヘッダＨ２ｆのチェックサムフィールドＦｃｓ、送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａに挿入されている各値Ｋｆ、ＳＡ、ＤＡが図５の（ｂ）のように抽出されて演算手段２４に出力される。
【００５９】
そして、演算手段２４によって各値Ｋｆ、ＳＡ、ＤＡに対する１６ビット毎の１の補数和およびその計算結果の１の補数が計算され、その計算結果がこの二次ヘッダＨ２ｆのチェックサム値ＣＳｆとして求められ、図５の（ｃ）のようにチェックサム挿入手段２６へ出力される。
【００６０】
一方、アドレス挿入手段２２から固定遅延手段２５に出力された二次ヘッダＨ２ｆは、図５の（ｄ）のように１０バイト分に相当する時間Ｔｄ＝１０・Ｔｒだけ遅れて、チェックサム挿入手段２６に出力される。
【００６１】
このため、演算手段２４によって算出されたチェックサム値ＣＳｆは、図５の（ｄ）のように二次ヘッダＨ２ｆのチェックサムフィールドＦｃｓに挿入されることになり、このチェックサム値ＣＳｆが挿入されたヘッダが最終的なＩＰヘッダＨｉｐとして出力される。
【００６２】
このように、実施形態のＩＰヘッダ発生装置２０は、送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａを除くヘッダ全体の１の補数和を表す値ＫがチェックサムフィールドＦｃｓに予め挿入されたＩＰヘッダを一次ヘッダＨ１として一次ヘッダ発生部２１から出力し、その一次ヘッダＨ１に対してアドレス挿入手段２２により所望のＩＰアドレスを挿入し、アドレス挿入手段２２から出力される二次ヘッダＨ２のチェックサムフィールドＦｃｓ、送信元アドレスフィールドＦｓａおよび宛て先アドレスフィールドＦｄａに挿入されている各値Ｋ、ＳＡ、ＤＡをデータ抽出手段２３により抽出し、抽出した各値Ｋ、ＳＡ、ＤＡについての１の補数和とその結果に対する１の補数を演算手段２４で計算してチェックサム値ＣＳを求め、このチェックサム値ＣＳを、固定遅延手段２５によって先頭からチェックサムフィールドの直前までの長さにほぼ相当する所定時間Ｔｄだけ遅延された二次ヘッダＨ２のチェックサムフィールドＦｃｓに挿入して、最終的なＩＰヘッダＨｉｐを生成している。
【００６３】
このため、ヘッダ長が可変された場合でも、一次ヘッダＨ１に対する同一処理を行うことで、チェックサムフィールドにチェックサム値が正しく挿入されたＩＰヘッダＨｉｐを出力することができ、そのハードウエアの構成を簡単化することができる。
【００６４】
なお、上記説明では、ＩＰパケットのＩＰヘッダのみを生成して出力する場合について説明したが、このＩＰヘッダに付加されるデータフィールドのデータは、ＩＰヘッダのチェックサムの演算対象外である。
【００６５】
したがって、例えば一次ヘッダ発生部２１が、上記した一次ヘッダＨ１にデータフィールドのデータを付加してアドレス挿入手段２２へ出力してもよく、この場合でも、アドレス挿入手段２２以降で前記同様の処理をすることで、ＩＰヘッダを含むＩＰパケットを生成出力することができる。
【００６６】
また、データフィールドのデータの付加を、一次ヘッダ発生部２１とアドレス挿入手段２２の間、アドレス挿入手段２２と固定遅延手段２５の間、固定遅延手段２５とチェックサム挿入手段２６の間あるいはチェックサム挿入手段２６の後で行うことで、ＩＰヘッダを含むＩＰパケットを生成出力することができる。
【００６７】
ただし、このようにデータフィールドのデータをＩＰヘッダに付加する場合には、ＩＰヘッダのパケット長フィールドの値からヘッダ長フィールドの値を差し引いた値と、付加するデータフィールドのデータの長さとを一致させておく。
【００６８】
【発明の効果】
以上説明したように、本発明のＩＰヘッダ発生装置は、
送信元アドレスフィールドおよび宛て先アドレスフィールドを除くヘッダ全体の１６ビット毎の１の補数和をとった値がチェックサムフィールドに予め挿入された長さの異なる複数種類のＩＰヘッダを一次ヘッダとして予め記憶し、該一次ヘッダのいずれかを先頭から順に出力する一次ヘッダ発生部と、
前記一次ヘッダ発生部から出力される一次ヘッダの送信元アドレスフィールドおよび宛て先アドレスフィールドに所望のＩＰアドレスを挿入し、該ＩＰアドレスを挿入したヘッダを二次ヘッダとして先頭から順に出力するアドレス挿入手段と、
前記アドレス挿入手段から出力される二次ヘッダのチェックサムフィールド、送信元アドレスフィールドおよび宛て先アドレスフィールドに挿入されている各値を抽出するデータ抽出手段と、
前記データ抽出手段によって二次ヘッダから抽出された各値に対して１６ビット毎の１の補数和を算出し、該算出値の１の補数を前記二次ヘッダのチェックサム値としてリアルタイムに算出する演算手段と、
前記アドレス挿入手段から出力される二次ヘッダを受けて、その先頭からチェックサムフィールドの直前までの長さにほぼ相当する時間だけ遅延して出力する固定遅延手段と、
前記演算手段によって算出されたチェックサム値を前記固定遅延手段から出力される二次ヘッダのチェックサムフィールドに挿入して最終的なＩＰヘッダとして先頭から順に出力するチェックサム挿入手段とを備えている。
【００６９】
このため、ヘッダ長が可変された場合でも、一次ヘッダに対して同一処理を行うことで、チェックサムフィールドにチェックサム値が正しく挿入されたＩＰヘッダを出力することができ、そのハードウエアの構成を簡単化することができる。
【図面の簡単な説明】
【図１】本発明の実施形態の構成を示す図
【図２】実施形態の要部が出力する一次ヘッダを示す図
【図３】実施形態の動作を説明するためのタイミング図
【図４】実施形態の動作を説明するためのタイミング図
【図５】実施形態の動作を説明するためのタイミング図
【図６】ＩＰヘッダのフォーマットを示す図
【図７】従来装置の構成を示す図
【図８】従来装置の一次ヘッダを示す図
【図９】従来装置の動作を説明するためのタイミング図
【図１０】従来装置の動作を説明するためのタイミング図
【図１１】従来装置の動作を説明するためのタイミング図
【符号の説明】
２０  ＩＰヘッダ発生装置
２１  一次ヘッダ発生部
２２  アドレス挿入手段
２３  データ抽出手段
２４  演算手段
２５  固定遅延手段
２６  チェックサム挿入手段
【図１】
0003628286.tif 000002
【図２】
0003628286.tif 000003
【図３】
0003628286.tif 000004
【図４】
0003628286.tif 000005
【図５】
0003628286.tif 000006
【図６】
0003628286.tif 000007
【図７】
0003628286.tif 000008
【図８】
0003628286.tif 000009
【図９】
0003628286.tif 000010
【図１０】
0003628286.tif 000011
【図１１】
0003628286.tif 000012