(57)【特許請求の範囲】
【請求項１】
データ送信装置とデータ受信装置とを含む通信システムであって、
前記データ送信装置が、
データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与する手段と、
再送パス別に分割した送信側再送メモリに対して、前記再送ヘッダを付与した前記ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に付与したシーケンス番号順に格納する送信側データ蓄積手段と、
前記データ受信装置より返送されるＡＣＫパケット又はＮＡＫパケットに含まれる前記シーケンス番号に対応する前記ＩＰデータグラムを、前記送信側再送メモリから読み出してデータ受信装置に対して出力する送信側再送制御手段とを備え、
前記データ受信装置より返送されるＡＣＫパケットの往復遅延時間を、再送パス別に判定する手段と、
ＩＰｖ６で規定される制御用ＩＣＭＰｖ６のパケット過大エラーから、再送パス別に、当該再送パスで転送可能な最大のＩＰデータグラム長である最大ＭＴＵ値を算出する手段と、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出する手段とを含み、
前記再送ヘッダは、少なくとも前記ＩＰデータグラムのシーケンス番号を含み、
前記シーケンス番号を、セッションやフロー別で区別される再送パス別に付与し、
前記送信側データ蓄積手段が、前記送信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定し、
前記データ受信装置が、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内のシーケンス番号を含むＡＣＫパケット又はＮＡＫパケットを、前記データ送信装置に送信する手段と、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内の正常性チェック用チェックサムを使用して、当該ＩＰデータグラムの正常性を検査する手段と、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定した場合に、再送パス別に分割した受信側再送メモリに対して、当該ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に含まれる前記シーケンス番号順に格納する受信側データ蓄積手段と、
正常性検査の結果に基づいて、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケット又はＮＡＫパケットの生成をパケット送出手段に指示する受信側再送制御手段と、
前記受信側再送制御手段の指示にしたがって、ＡＣＫパケット又はＮＡＫパケットを生成し、対向するデータ送信装置への回線に対して送出するパケット送出手段とを備えた
ことを特徴とする通信システム。
【請求項２】
前記受信側再送制御手段は、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのうち、シーケンス番号が連続する部分のデータグラムを外部に出力し、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのシーケンス番号に不連続が発生している場合、前記シーケンス番号の不連続が発生している最も若番のシーケンス番号をセットしたＮＡＫパケットの生成を前記パケット送出手段に指示する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記再送ヘッダを付与する手段が、
前記往復遅延時間、前記最大ＭＴＵ値とを含む再送ヘッダを、前記ＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に付与し、
前記データ受信装置が、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定された場合、
受信したＩＰデータグラムの再送ヘッダ内の前記往復遅延時間、前記最大ＭＴＵ値を読み出す手段と、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、前記最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出する手段とを含み、
前記受信側データ蓄積手段が、
前記受信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定する
ことを特徴とする請求項１または請求項２に記載の通信システム。
【請求項４】
データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与する手段と、
再送パス別に分割した送信側再送メモリに対して、前記再送ヘッダを付与した前記ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に付与したシーケンス番号順に格納する送信側データ蓄積手段と、
前記データ受信装置より返送されるＡＣＫパケット又はＮＡＫパケットに含まれる前記シーケンス番号に対応する前記ＩＰデータグラムを、前記送信側再送メモリから読み出してデータ受信装置に対して出力する送信側再送制御手段とを備え、
前記データ受信装置より返送されるＡＣＫパケットの往復遅延時間を、再送パス別に判定する手段と、
ＩＰｖ６で規定される制御用ＩＣＭＰｖ６のパケット過大エラーから、再送パス別に、当該再送パスで転送可能な最大のＩＰデータグラム長である最大ＭＴＵ値を算出する手段と、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出する手段とを含み、
前記再送ヘッダは、少なくとも前記ＩＰデータグラムのシーケンス番号を含み、
前記シーケンス番号を、セッションやフロー別で区別される再送パス別に付与し、
前記送信側データ蓄積手段が、前記送信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定し、
前記データ受信装置は、
当該データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内のシーケンス番号を含むＡＣＫパケット又はＮＡＫパケットを、当該データ送信装置に送信する手段と、
当該データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内の正常性チェック用チェックサムを使用して、当該ＩＰデータグラムの正常性を検査する手段と、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定した場合に、再送パス別に分割した受信側再送メモリに対して、当該ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に含まれる前記シーケンス番号順に格納する受信側データ蓄積手段と、
正常性検査の結果に基づいて、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケット又はＮＡＫパケットの生成をパケット送出手段に指示する受信側再送制御手段と、
前記受信側再送制御手段の指示にしたがって、ＡＣＫパケット又はＮＡＫパケットを生成し、対向するデータ送信装置への回線に対して送出するパケット送出手段とを備えている
ことを特徴とするデータ送信装置。
【請求項５】
データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与する手段と、
再送パス別に分割した送信側再送メモリに対して、前記再送ヘッダを付与した前記ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に付与したシーケンス番号順に格納する送信側データ蓄積手段と、
前記データ受信装置より返送されるＡＣＫパケット又はＮＡＫパケットに含まれる前記シーケンス番号に対応する前記ＩＰデータグラムを、前記送信側再送メモリから読み出してデータ受信装置に対して出力する送信側再送制御手段とを備え、
前記データ受信装置より返送されるＡＣＫパケットの往復遅延時間を、再送パス別に判定する手段と、
ＩＰｖ６で規定される制御用ＩＣＭＰｖ６のパケット過大エラーから、再送パス別に、当該再送パスで転送可能な最大のＩＰデータグラム長である最大ＭＴＵ値を算出する手段と、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出する手段とを含み、
前記再送ヘッダは、少なくとも前記ＩＰデータグラムのシーケンス番号を含み、
前記シーケンス番号を、セッションやフロー別で区別される再送パス別に付与し、
前記送信側データ蓄積手段が、前記送信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定するデータ送信装置から、ＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダが付与されたＩＰデータグラムを受信する手段と、
当該ＩＰデータグラムの再送ヘッダ内のシーケンス番号を含むＡＣＫパケット又はＮＡＫパケットを、前記データ送信装置に送信する手段と、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内の正常性チェック用チェックサムを使用して、当該ＩＰデータグラムの正常性を検査する手段と、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定した場合に、再送パス別に分割した受信側再送メモリに対して、当該ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に含まれる前記シーケンス番号順に格納する受信側データ蓄積手段と、
正常性検査の結果に基づいて、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケット又はＮＡＫパケットの生成をパケット送出手段に指示する受信側再送制御手段と、
前記受信側再送制御手段の指示にしたがって、ＡＣＫパケット又はＮＡＫパケットを生成し、対向するデータ送信装置への回線に対して送出するパケット送出手段と
を備えることを特徴とするデータ受信装置。
【請求項６】
データ送信装置とデータ受信装置とを含む通信システムによるパケット再送制御方法であって、
前記データ送信装置が、
データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与するステップと、
再送パス別に分割した送信側再送メモリに対して、前記再送ヘッダを付与した前記ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に付与したシーケンス番号順に格納する送信側データ蓄積ステップと、
前記データ受信装置より返送されるＡＣＫパケット又はＮＡＫパケットに含まれる前記シーケンス番号に対応する前記ＩＰデータグラムを、前記送信側再送メモリから読み出してデータ受信装置に対して出力する送信側再送制御ステップと、
前記データ受信装置より返送されるＡＣＫパケットの往復遅延時間を、再送パス別に判定するステップと、
ＩＰｖ６で規定される制御用ＩＣＭＰｖ６のパケット過大エラーから、再送パス別に、当該再送パスで転送可能な最大のＩＰデータグラム長である最大ＭＴＵ値を算出するステップと、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出するステップとを含み、
前記再送ヘッダは、少なくとも前記ＩＰデータグラムのシーケンス番号を含み、
前記シーケンス番号を、セッションやフロー別で区別される再送パス別に付与し、
前記送信側データ蓄積ステップで、前記送信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定し、
前記データ受信装置が、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内のシーケンス番号を含むＡＣＫパケット又はＮＡＫパケットを、前記データ送信装置に送信するステップと、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内の正常性チェック用チェックサムを使用して、当該ＩＰデータグラムの正常性を検査するステップと、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定した場合に、再送パス別に分割した受信側再送メモリに対して、当該ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に含まれる前記シーケンス番号順に格納する受信側データ蓄積ステップと、
正常性検査の結果に基づいて、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケット又はＮＡＫパケットの生成を指示する受信側再送制御ステップと、
前記受信側再送制御ステップにおける指示にしたがって、ＡＣＫパケット又はＮＡＫパケットを生成し、対向するデータ送信装置への回線に対して送出するパケット送出ステップとを含む
ことを特徴とするパケット再送制御方法。
【請求項７】
データ送信装置とデータ受信装置とを含む通信システムによるパケット再送制御プログラムであって、
前記データ送信装置に、
データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与する処理と、
再送パス別に分割した送信側再送メモリに対して、前記再送ヘッダを付与した前記ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に付与したシーケンス番号順に格納する送信側データ蓄積処理と、
前記データ受信装置より返送されるＡＣＫパケット又はＮＡＫパケットに含まれる前記シーケンス番号に対応する前記ＩＰデータグラムを、前記送信側再送メモリから読み出してデータ受信装置に対して出力する送信側再送制御処理と、
前記データ受信装置より返送されるＡＣＫパケットの往復遅延時間を、再送パス別に判定する処理と、
ＩＰｖ６で規定される制御用ＩＣＭＰｖ６のパケット過大エラーから、再送パス別に、当該再送パスで転送可能な最大のＩＰデータグラム長である最大ＭＴＵ値を算出する処理と、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出する処理とを実行させ、
前記再送ヘッダは、少なくとも前記ＩＰデータグラムのシーケンス番号を含み、
前記シーケンス番号を、セッションやフロー別で区別される再送パス別に付与し、
前記送信側データ蓄積処理で、前記送信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定させ、
前記データ受信装置に、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内のシーケンス番号を含むＡＣＫパケット又はＮＡＫパケットを、前記データ送信装置に送信する処理と、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内の正常性チェック用チェックサムを使用して、当該ＩＰデータグラムの正常性を検査する処理と、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定した場合に、再送パス別に分割した受信側再送メモリに対して、当該ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に含まれる前記シーケンス番号順に格納する受信側データ蓄積処理と、
正常性検査の結果に基づいて、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケット又はＮＡＫパケットの生成を指示する受信側再送制御処理と、
前記受信側再送制御処理における指示にしたがって、ＡＣＫパケット又はＮＡＫパケットを生成し、対向するデータ送信装置への回線に対して送出するパケット送出処理とを実行させる
ことを特徴とするパケット再送制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変長フレームの再送制御を行う通信システムに関し、特に、ＩＰヘッダに再送ヘッダを設けた再送方式におおける送受信装置での再送制御方式及びその実現手段に関する。
【背景技術】
【０００２】
データ送信装置（以降、送信側とも称す）とデータ受信装置（以降、受信側とも称す）との間で、信頼性のデータ通信を行う際の誤り制御方式に、自動再送制御方式（ＡＲＱ：Ａｕｔｏｍａｔｉｃ  Ｒｅｐｅａｔ  ｒｅＱｕｅｓｔ）がある。自動再送制御方式のプロトコルの代表例には、Ｓｔｏｐ−ａｎｄ−Ｗａｉｔ  ＡＲＱ方式、Ｇｏ−Ｂａｃｋ−Ｎ  ＡＲＱ方式、Ｓｅｌｅｃｔｉｖｅ  Ｒｅｐｅａｔ  ＡＲＱ方式がある。
【０００３】
Ｓｔｏｐ−Ａｎｄ−Ｗａｉｔ  ＡＲＱ方式は、送信側から一度に１つのフレームのみを送信し、受信側からＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｍｅｎｔ）が帰るまで送信しない方式である。
【０００４】
Ｇｏ−Ｂａｃｋ−Ｎ  ＡＲＱ方式は、送信側からデータフレームにシーケンス番号を付与し、定められたウィンドウサイズまでデータフレームを送信し続ける。受信側はデータフレームのシーケンス番号を確認し、ＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｍｅｎｔ）フレームにその番号を付与して返送するが、フレーム欠落やビットエラーの発生によって期待したシーケンス番号でない場合は、フレームを廃棄する。
【０００５】
送信側は、ウィンドウサイズ上限までデータフレームを送信した後、最後に受信したＡＣＫのシーケンス番号まで送信完了したと判断する。一方、ＡＣＫが返送されない場合は、ＡＣＫ未受信のシーケンス番号のデータフレームに遡って、シーケンス番号順にデータフレームを再送する。
【０００６】
なお、受信側で、誤りデータフレームを受信時した場合に、送信側に対し、NAK（Ｎｅｇａｔｉｖｅ  Ａｃｋｎｏｗｌｅｄｇｍｅｎｔ）フレームを返送する方法もある。
【０００７】
Ｓｅｒｅｃｔｉｖｅ  Ｒｅｐｅａｔ  ＡＲＱ方式でも、送信側からデータフレームにシーケンス番号を付与し、定められたウィンドウサイズまでデータフレームを送信し続け、受信側はデータフレームのシーケンス番号を確認し、ＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｍｅｎｔ）フレームにその番号を付与して返送するが、期待したシーケンス番号でない場合はフレームを廃棄する。
【０００８】
送信側はウィンドウサイズ上限までデータフレームを送信した後、最後に受信したＡＣＫのシーケンス番号まで送信完了したと判断する。一方、ＡＣＫが返送されない場合は、ＡＣＫ未受信のシーケンス番号のデータフレームを再送する。
【０００９】
本方式でも、受信側で誤りデータフレームを受信時した場合に、送信側にNAK（Ｎｅｇａｔｉｖｅ  Ａｃｋｎｏｗｌｅｄｇｍｅｎｔ）フレームを返送する方法もある。
【００１０】
これらの自動再送制御方式で重要な点は、データ受信装置からデータ送信装置へのＡＣＫ／NAKの返送、および、Ｇｏ−Ｂａｃｋ−Ｎ  ＡＲＱ方式やＳｅｌｅｃｔｉｖｅ  Ｒｅｐｅａｔ  ＡＲＱ方式でのデータフレームへのシーケンス番号の付与である。
【００１１】
自動再送制御の代表例である、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのトランスポート層プロトコルのＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）では、ＴＣＰヘッダ内にシーケンス番号領域を設けており、ＡＣＫもＴＣＰヘッダ内で転送する事が可能である。他の自動再送制御の代表例である無線通信への適用では、物理層フレーム内に再送ヘッダとＡＣＫ／ＮＡＫ領域を設ける方法がある。
【００１２】
次に、近年、トラフィック増加に伴い、データ送信装置とデータ受信装置との間で、１０ギガビット以上の帯域で接続する適用例が実用化されているほか、今後、４０ギガビットや１００ギガビットの高速帯域で接続される事が予想される。
【００１３】
しかしながら、データ通信で代表的に使用されるＴＣＰは、１０ギガビット超の帯域では、その輻輳制御によってスループット性能が向上し辛い問題点が指摘されている。例えば、１００ギガビットＴＣＰで、送受信装置間距離１，０００ｋｍにおいて、ＢＥＲ（Ｂｉｔ  Ｅｒｒｏｒ  Ｒａｔｅ）＝１０−１２でも、ＴＣＰスループットが６０ギガビット未満に抑圧される例がある。
【００１４】
また、ＴＣＰの短距離区間への適用においても、輻輳やビット誤りによりＴＣＰセグメントのロスが発生した際、再送タイムアウト時間ＲＴＯ（Ｒｅｔｒａｎｓｍｉｓｓｉｏｎ  Ｔｉｍｅ  Ｏｕｔ）を経過してからＴＣＰ再送が行われるため、スループットが低下する場合がある。
【００１５】
後者のＴＣＰの短距離区間への適用における、スループット低下を抑制する方式例として、Ｒ２Ｄ２：ＲＡＰＩＤ  ＡＮＤ  ＲＥＬＩＡＢＬＥ  ＤＡＴＡ  ＤＥＬＩＶＥＲＹ  ＩＮ  ＤＡＴＡ  ＣＥＮＴＥＲＳ（非特許文献１）がある。これは、主にデータセンタ内の短距離区間において１ギガビット以上の帯域で高速データ通信を行う際のスループット向上を目的としている。
【００１６】
具体的には、図１８のプロトコルスタック図に示すように、ネットワーク層（レイヤ３とも呼ぶ）プロトコルのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）層と、データリンク層（レイヤ２とも呼ぶ）プロトコルのＩＥＥＥ８０２．３委員会で規定されるイーサネットＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）層の間に、２．５層（レイヤ２．５とも呼ぶ）を定義し、２．５層において新規に自動再送制御を実施し、トランスポート層に対して輻輳やビット誤りが無い高信頼な通信を提供する事で、ＴＣＰの輻輳制御や再送タイムアウト時間ＲＴＯによるスループット低下を抑制するものである。
【００１７】
より具体的には、図１７のフレームフォーマットに示すように、ＩＰデータグラムと、ＭＡＣフレームとの間に２．５層ヘッダを定義し、これを利用して送信側から受信側への自動再送制御のためのシーケンス番号の転送や、受信側から送信側へのＡＣＫの転送を行う。
【００１８】
図１６は、Ｒ２Ｄ２を用いた送受信端末の構成を示す図である。図１６では、データ送信装置１６−１とデータ受信装置２１−１が、データセンタ内のイーサネット網等のレイヤ２網２１−２０を介して通信を行う。
【００１９】
データ送信装置１６−１は、トランスポート層以上の上位層処理１６−６と、ＩＰ送信回路１６−２と、送信側レイヤ２．５再送回路１６−１４と、データリンク層送信回路１６−８と、物理層送信回路１６−９と、物理層受信回路１６−１３と、データリンク層受信回路１６−１２と、ＩＰ受信回路１６−１０と、を備える。
【００２０】
データ受信装置２１−１は、物理層受信回路２１−１３と、データリンク層受信回路２１−１２と、受信側レイヤ２．５再送回路２１−１４と、ＩＰ受信回路２１−１０と、トランスポート層以上の上位層処理２１−６と、ＩＰ送信回路２１−２と、データリンク層送信回路２１−８と、物理層送信回路２１−９と、を備える。
【００２１】
ＩＰ送信回路１６−２、２１−２、及びＩＰ受信回路１６−１０、２１−１０は一般的なＩＰ層処理である。データリンク層送信回路１６−８、２１−８、データリンク層受信回路１６−１２、２１−１２はイーサネットＭＡＣ等の一般的なレイヤ２処理である。物理層送信回路１６−９、２１−９及び物理層受信回路１６−１３、２１−１３はイーサネット物理層やＯＴＮ（Ｏｐｔｉｃａｌ  Ｔｒａｎｓｐｏｒｔ  Ｎｅｔｗｏｒｋ）などの一般的なレイヤ１処理である。これらは、本発明の内容とは直接は関係しないため、説明は省略する。
【００２２】
送信側レイヤ２．５再送回路１６−１４は、レイヤ２．５ヘッダ生成回路１６−１５と、送信側再送制御回路１６−３と、送信側再送メモリ１６−５と、タイマ回路１６−４と、レイヤ２．５ヘッダ終端回路１６−１１と、を含む。
【００２３】
一方、受信側レイヤ２．５再送回路２１−１４は、レイヤ２．５ヘッダ終端回路２１−１１と、ＡＣＫ生成回路２１−１５と、選択回路２１−７と、を含む。
【００２４】
送信側レイヤ２．５再送回路１６−１５では、ＩＰ送信回路１６２が出力するデータグラムに対して２．５層ヘッダを付与する。レイヤ２．５ヘッダ終端回路１６−１１は、データリンク層受信回路１６−１２が出力するレイヤ２．５フレームから、レイヤ２．５ヘッダを終端する。
【００２５】
送信側レイヤ２．５再送回路１６−１４において、ＩＰ送信回路１６−２よりＩＰデータグラムが入力されると、タイマ回路１６−４をスタートさせる。
【００２６】
次にＩＰデータグラム毎にレイヤ２．５ヘッダ生成回路１６−１５でレイヤ２．５ヘッダを付与する。付与する情報には、シーケンス番号が含まれる。シーケンス番号は０〜最大値を周回する正の整数であり、ＴＣＰ等のセッションを区別する事無く、到着順に付与する。
【００２７】
レイヤ２．５ヘッダを付与されたＩＰデータグラムは送信側再送制御回路１６−３に入力されて、１６−３からデータリンク層送信回路１６−８に転送されるとともに、１６−３内でコピーされて送信側再送メモリ１６−５に書き込まれる。送信側再送メモリ１６−５も、セッションを区別無く到着順に書き込む。
【００２８】
上述の送信側再送制御回路１６−３の送信側再送メモリへの書き込み動作を、図１９（ａ）にまとめる。
【００２９】
図１９（ａ）に示すように、まず、タイマ回路１６−４をスタートさせる（図１９のＳ８５）。そしてデータフレーム（レイヤ２．５ヘッダを付与されたＩＰデータグラム）が入力されると（図１９のＳ８１）、それをデータリンク層送信回路１６−８に転送する（図１９のＳ８２）とともに、送信側再送メモリ１６−５のライトアドレスＷＡＤＲを直前のデータフレームの最終アドレスから求めて準備する（図１９のＳ８３）。そして、該ＷＡＤＲに該データフレームを書き込む（図１９のＳ８４）。
【００３０】
次に、図２０を用いて、図１７の受信側レイヤ２．５再送回路２１−１４の動作を説明する。
【００３１】
データリンク層受信回路２１−１２から、データフレーム（レイヤ２．５ヘッダを付与されたＩＰデータグラム）が入力されると（図２０のＳ９３）、まず、レイヤ２．５ヘッダ終端回路２１−１１は、ＩＰｖ６受信回路２１−１０に対して、ＩＰデータグラム部分を出力する（図２０のＳ９４）。
【００３２】
一方、レイヤ２．５ヘッダ部分はＡＣＫ生成回路２１−１５に入力されて、ヘッダ内のシーケンス番号を用いて、該データフレーム（レイヤ２．５ヘッダを付与されたＩＰデータグラム）に対するＡＣＫパケットを生成する（図２０のＳ９５）。
【００３３】
そして、選択回路２１−７よりデータリンク層送信回路２１−８に対してＡＣＫパケットを送出し（図２０のＳ９６）、データ送信装置１６−１にＡＣＫを返送する。
【００３４】
図１６に戻り、データ送信装置１６−１に入力されたＡＣＫパケットはレイヤ２．５ヘッダ終端回路１６−１１に入力される。レイヤ２．５ヘッダ終端回路１６−１１では、ＡＣＫパケットを受信したならば、それを送信側再送制御回路１６−３に転送する。送信側再送制御回路１６−３にＡＣＫが入力される際の処理を、図１９（ｂ）に示す。
【００３５】
送信側再送制御回路１６−３にＡＣＫが入力されると（図１９のＳ８７の‘Ｙ’）、タイマ回路１６−４を０クリアする（図１９のＳ９０）とともに、該ＡＣＫ中のシーケンス番号に該当するデータフレームは正常にデータ受信装置に到着したとして、送信側再送メモリ１６−５から削除する（図１９のＳ９１）。
【００３６】
一方、図１９のＳ８７でＡＣＫが未到着ならば（図１９のＳ８７の‘Ｎ’）、タイマ回路１６−４がタイムアウトしているか調査し（図１９のＳ８８）、タイムアウト時には（図１９のＳ８８の‘Ｙ’）、送信側再送メモリ１６−５内のＡＣＫ未受信フレームを読み出して、データ受信装置２１−１に対して再送する。
【００３７】
このように、Ｒ２Ｄ２を用いた方法では、ある端末からの複数セッションデータを到着順に一つの再送パスのデータとみなし、レイヤ２．５の再送ヘッダを用いて自動再送制御を行う。
【先行技術文献】
【特許文献】
【００３８】
【特許文献１】特開２００９−０２１７８１号公報
【特許文献２】特開２０１０−０７４８５４号公報
【非特許文献】
【００３９】
【非特許文献１】Ｂｅｒｋ  Ａｔｉｋｏｇｌｕ，  Ｍｏｈａｍｍａｄ  Ａｌｉｚａｄｅｈ，  Ｊｉａ  Ｓｈｕｏ  Ｙｕｅ，  Ｂａｌａｊｉ  Ｐｒａｂｈａｋａｒ，  Ｍｅｎｄｅｌ  Ｒｏｓｅｎｂｌｕｍ、”Ｒ２Ｄ２：  ＲＡＰＩＤ  ＡＮＤ  ＲＥＬＩＡＢＬＥ  ＤＡＴＡ  ＤＥＬＩＶＥＲＹ  ＩＮ  ＤＡＴＡ  ＣＥＮＴＥＲＳ”、２０１０年５月、ｈｔｔｐ：／／ｆｏｒｕｍ．ｓｔａｎｆｏｒｄ．ｅｄｕ／ｅｖｅｎｔｓ／ｐｏｓｔｅｒｓｌｉｄｅｓ／Ｒ２Ｄ２ＲａｐｉｄａｎｄＲｅｌｉａｂｌｅＤａｔａＤｅｌｉｖｅｒｙｉｎＤａｔａＣｅｎｔｅｒｓ．ｐｄｆ
【発明の概要】
【発明が解決しようとする課題】
【００４０】
ＴＣＰに起因するスループット劣化を抑制するために行うレイヤ２．５ヘッダを用いた自動再送制御は、広域網への適用が難しい、もしくは困難であるという問題点を有する。
【００４１】
その理由は、レイヤ２．５ヘッダを用いたデータフレームは、イーサネットスイッチ等のレイヤ２スイッチは透過するが、レイヤ３スイッチ（ルータ装置）は透過しないため、網経路上の全レイヤ３スイッチに対しレイヤ２．５ヘッダを用いた自動再送制御機能を配備する必要があるためである。
【００４２】
例えば図１８のプロトコルスタックに示すように、レイヤ２．５ヘッダを用いたデータフレームはレイヤ２スイッチ１８４や１８５は透過するものの、レイヤ３スイッチ１８３ではレイヤ２．５フレーム内のＩＰヘッダを参照する必要があり、レイヤ２．５の終端が必要である。したがって、データ送信装置１８１からデータ受信装置１８２まで直接の再送パスの設定が不可能であり、レイヤ３スイッチ１８３にも、レイヤ２．５ヘッダによる自動再送制御機能を配備する必要がある。
【００４３】
データセンタ内のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  ｎｅｔｗｏｒｋ）では、レイヤ２スイッチのみで網を構成できる場合があるが、広域網では、レイヤ３スイッチ（ルータ網）の配備は必須であり、全レイヤ３スイッチに対するレイヤ２．５ヘッダを用いた自動再送制御機能の配備は現実的ではない。
【００４４】
（発明の目的）
本発明の目的は、データフレームの自動再送制御を行う通信システムにおいて、レイヤ３スイッチに手を加える事無く、データ送信装置とデータ受信装置に機能配備することで、容易に下位層でのデータフレームの再送制御を実現することができる通信システム、データ送信装置、データ受信装置、パケット再送制御方法、パケット再送制御プログラムを提供することである。
【課題を解決するための手段】
【００４５】
本発明の第１の通信システムは、データ送信装置とデータ受信装置とを含む通信システムであって、データ送信装置が、データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与する手段を備える。
【００４６】
本発明の第１のデータ送信装置は、データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与する手段を備える。
【００４７】
本発明の第１のデータ受信装置は、データ送信装置から、ＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダが付与されたＩＰデータグラムを受信する手段と、当該ＩＰデータグラムの再送ヘッダ内のシーケンス番号を含むＡＣＫパケット又はＮＡＫパケットを、データ送信装置に送信する手段とを備える。
【００４８】
本発明の第１のパケット再送制御方法は、データ送信装置とデータ受信装置とを含む通信システムによるパケット再送制御方法であって、データ送信装置が、データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与するステップを有する。
【００４９】
本発明の第１のパケット再送制御プログラムは、データ送信装置とデータ受信装置とを含む通信システムによるパケット再送制御プログラムであって、データ送信装置に、データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与する処理を実行させる。
【発明の効果】
【００５０】
本発明によれば、データフレームの自動再送制御を行う通信システムにおいて、レイヤ３スイッチに手を加える事無く、データ送信装置とデータ受信装置に機能配備することで、容易に下位層でのデータフレームの再送制御を実現することができる。
【図面の簡単な説明】
【００５１】
【図１】本発明の第１の実施の形態による、ＩＰレイヤ再送制御機能を有する通信システムの構成を説明する図である。
【図２】本発明の第１の実施の形態における、ＩＰｖ６拡張ヘッダを用いた再送制御用コマンドを含むＩＰｖ６データグラムのフォーマットを説明する図である。
【図３】本発明の第１の実施の形態における、転送パケットフォーマットを説明する図である。
【図４】本発明の第１の実施の形態における、ＩＰ網中をパケット転送する場合のプロトコルスタックの一例を説明する図である。
【図５】本発明の第１の実施の形態における、送信側再送制御回路の動作を説明するフローチャートである。
【図６】本発明の第１の実施の形態における、受信側再送制御回路の動作を説明するフローチャートである。
【図７】本発明の第１の実施の形態における、ＩＰレイヤ再送制御におけるＧＢＮ−ＡＲＱ方式の動作を説明する図である。
【図８】本発明の第１の実施の形態における、ウィンドウフロー制御を用いた再送制御方式を説明する図である。
【図９】本発明の第２の実施の形態における、ＩＰレイヤ再送制御機能を有するスイッチ装置の構成を説明する図である。
【図１０】本発明の第２の実施の形態における、送信側再送メモリのアドレス割り当てを説明する図である。
【図１１】本発明の第２の実施の形態における、ＩＰｖ６パケットサイズ過大通知制御コマンドのフォーマットを説明する図である。
【図１２】本発明の第２の実施の形態におけるパスｋの送信側再送メモリ領域算出回路の動作を説明するフローチャートである。
【図１３】本発明の第２の実施の形態におけるパスｋの受信側再送メモリ領域算出回路の動作を説明するフローチャートである。
【図１４】本発明の第２の実施の形態において、レイヤ３スイッチに適用する場合のプロトコルスタックの一例を説明する図である。
【図１５】本発明の第２の実施の形態において、ＩＰｖ６拡張ヘッダを用いた再送制御用コマンドを含むＩＰｖ６データグラムのフォーマットを説明する図である。
【図１６】背景技術によるパケット再送制御機能を有する通信システムの構成を説明する図である。
【図１７】背景技術によるパケット再送制御機能を有する通信システムにおける、転送フレームフォーマットを説明する図である。
【図１８】背景技術によるパケット再送制御機能を有する通信システムにおける、プロトコルスタックの一例を説明する図である。
【図１９】背景技術によるパケット再送制御機能を有する通信システムにおける、送信側再送制御回路１６−３の動作の一例を説明する図である。
【図２０】背景技術によるパケット再送制御機能を有する通信システムにおける、受信側レイヤ２．５再送回路２１−１４の動作の一例を説明する図である。
【発明を実施するための形態】
【００５２】
本発明は、上述の目標を達成するため、ＩＰ規格のうちのＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）を使用し、データ送信装置で、ＩＰｖ６ヘッダに対して拡張ヘッダ領域を使用した再送ヘッダを付与する手段と、該ＩＰデータグラムをパス（セッションやフロー）別に蓄積する送信側再送メモリとを備えている。また、データ受信装置より送付されるＩＰｖ６拡張ヘッダを用いたＡＣＫ／ＮＡＫを抽出する手段と、該ＡＣＫ／ＮＡＫにしがたって、再送メモリにアクセスして自動再送制御を行う手段を備えている。
【００５３】
また、データ受信装置で、データ送信装置より送付されるＩＰｖ６拡張ヘッダを利用した再送ヘッダを抽出する手段と、該ＩＰデータグラムをパス（セッションやフロー）別に蓄積する受信側再送メモリとを備えており、受信ＩＰデータグラムの正常性検査から再送要否を判定し、受信側再送メモリに蓄積されたＩＰデータグラムを読み出して出力するとともに、ＡＣＫ／ＮＡＫ生成を指示する手段と、ＡＣＫ／ＮＡＫ生成指示に基づき、ＩＰｖ６ヘッダの拡張ヘッダを用いたＡＣＫパケットもしくはＮＡＫパケットを生成する手段、ならびに、データ受信装置からデータ送信装置へのパスにＡＣＫ／ＮＡＫパケットを出力する選択手段とを備える。
【００５４】
データ送信装置のＩＰｖ６ヘッダに対して拡張ヘッダ領域を使用した再送ヘッダを付与する手段と、データ受信装置におけるＩＰｖ６拡張ヘッダを利用した再送ヘッダを抽出する手段によって、データ送信装置からデータ受信装置に対して、直接再送ヘッダを転送することが可能となる。
【００５５】
また、データ受信装置におけるＩＰｖ６ヘッダの拡張ヘッダを用いたＡＣＫパケットもしくはＮＡＫパケットを生成する手段と、データ送信装置におけるＩＰｖ６拡張ヘッダを用いたＡＣＫ／ＮＡＫを抽出する手段によって、データ受信装置からデータ送信装置に対して、直接ＡＣＫ／ＮＡＫ情報を転送することが可能である。
【００５６】
つまり、データ送信装置とデータ受信装置との間で、網の途中にレイヤ３スイッチが配備されていても、セッションやフロー毎に直接に自動再送制御を実施するための経路（以降では再送パスと称す）を設ける事が可能となる。そして、再送メモリとその制御手段とをデータ送信装置とデータ受信装置にそれぞれ配備することによって、ネットワーク層（レイヤ３）でエンド・ツー・エンドでの自動再送制御を行うことが可能となる。
【００５７】
このように、データ送信装置からデータ受信装置までの再送ヘッダにＩＰｖ６ヘッダの拡張ヘッダを用いることで、網の途中にレイヤ３スイッチが配備されていてもそれを透過して行くため、網中のレイヤ３スイッチに新規に機能を追加する必要がなく、容易に下位層での自動再送制御の実現が可能である。
【００５８】
本発明の上記及び他の目的、特徴及び利点を明確にすべく、添付した図面を参照しながら、本発明の実施形態を以下に詳述する。なお、上述の本願発明の目的のほか、他の技術的課題、その技術的課題を解決する手段及びその作用効果についても、以下の実施形態による開示によって明らかとなるものである。
【００５９】
なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００６０】
（第１の実施の形態）
本発明の第１の実施の形態について、図１および、図４を参照して詳細に説明する。
【００６１】
図１は、本発明の第１の実施の形態による通信システム１００の構成を示すブロック図である。通信システム１００は、データ送信装置１−１と、データ受信装置２０−１から構成される。データ送信装置１−１とデータ受信装置２０−１は、ＩＰ網２２を介して通信を行う。
【００６２】
通信システム１００は、ＩＰｖ６ヘッダの拡張ヘッダを再送ヘッダに使用することで、セッションやフロー毎に、データ送信装置１−１とデータ受信装置２０−１との間で再送制御を実施するための経路（再送パス）を設けて、自動再送制御を実施する。
【００６３】
自動再送制御方式は、何れの方式とする事ができるが、Ｇｏ−Ｂａｃｋ−Ｎ  ＡＲＱ方式を適用する場合で説明する。また、以降では、データ送信装置からデータ受信装置への方向を下り方向、データ受信装置からデータ送信装置への向きを上り方向と称す。
【００６４】
データ送信装置１−１は、トランスポート層以上の上位層処理１−６と、ＩＰｖ６送信回路１−２と、送信側ＩＰ再送回路１−１４と、データリンク層送信回路１−８と、物理層送信回路１−９と、物理層受信回路１−１３と、データリンク層受信回路１−１２と、ＩＰｖ６受信回路１−１０と、を含む。
【００６５】
送信側ＩＰ再送回路１−１４は、ＩＰｖ６拡張ヘッダ内再送ヘッダ生成回路１−１５と、送信側再送制御回路１−３と、送信側再送メモリ１−５と、タイマ回路１−４と、ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路１−１１と、を含む。
【００６６】
データ受信装置２０−１は、物理層受信回路２０−１３と、データリンク層受信回路２０−１２と、受信側ＩＰ再送回路２０−１４と、ＩＰｖ６受信回路２０−１０と、トランスポート層以上の上位層処理２０−６と、ＩＰ送信回路２０−２と、データリンク層送信回路２０−８と、物理層送信回路２０−９と、を含む。
【００６７】
受信側ＩＰ再送回路２０−１４は、ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路２０−１１と、受信側再送制御回路２０−３と、受信側再送メモリ２０−５と、タイマ回路２０−４と、ＡＣＫ／ＮＡＫ生成回路２０−１５と、選択回路２０−７と、を含む。
【００６８】
ＩＰｖ６送信回路１−２、２０−２、およびＩＰｖ６受信回路１−１０、２０−１０は一般的なＩＰｖ６層処理である。データリンク層送信回路１−８、２０−８、データリンク層受信回路１−１２、２０−１２はイーサネットＭＡＣ等の一般的なレイヤ２処理、物理層送信回路１−９、２０−９および物理層受信回路１−１３、２０−１３はイーサネット物理層やＯＴＮ（Ｏｐｔｉｃａｌ  Ｔｒａｎｓｐｏｒｔ  Ｎｅｔｗｏｒｋ）などの一般的なレイヤ１処理である。
【００６９】
また、ＩＰ網２２は、レイヤ３スイッチやレイヤ２スイッチにより構成される一般的なＩＰ網であり、一例として図４のレイヤ２スイッチ４４、４５の他、レイヤ３スイッチ４３を複数台配備した、一般的なＩＰ網である。想定するネットワーク規模は、ＬＡＮ〜広域網である。
【００７０】
（第１の実施の形態の動作の説明）
次に、本実施の形態による通信システム１００の動作について、図１、図２、図３、図４、図５、図６、図７、図８を参照して詳細に説明する。
【００７１】
なお、前述のように、図１において、ＩＰｖ６送信回路１−２、２０−２およびＩＰｖ６受信回路１−１０、２０−１０は一般的なＩＰｖ６層処理であり、データリンク層送信回路１−８、２０−８、データリンク層受信回路１−１２、２０−１２はイーサネットＭＡＣ等の一般的なレイヤ２処理、物理層送信回路１−９、２０−９および物理層受信回路１−１３、２０−１３はイーサネット物理層やＯＴＮなどの一般的なレイヤ１処理であり、本発明の内容と直接には関係しないため、説明は省略する。
【００７２】
（各ブロックの動作説明）
図１で、上位層処理１−６から下り方向にＴＣＰセグメントが生成され、ＩＰｖ６送信回路１−２より送信側ＩＰ再送回路１−１４にＩＰデータグラムが入力されると、まずＩＰｖ６ヘッダ生成回路１−１５が、ＩＰデータグラム毎にＩＰｖ６ヘッダの拡張ヘッダを用いて再送ヘッダを付与する。後述のように、再送ヘッダには、シーケンス番号（ＳＱＮ（ｋ）；ＳＱＮ：ＳｅＱｕｅｎｃｅ  Ｎｕｍｂｅｒで、０から最大値まで１ずつ増加して周回する正の整数。また、ｋは再送パス番号を示す正の整数。）、再送ヘッダの正常性チェック用チェックサム領域、該ＩＰデータグラムの正常性チェック用のＣＲＣ領域を含むほか、該ＩＰデータグラムが通常のデータグラムかＡＣＫかNAKか或いは再送データグラムかを表示する領域を含む。
【００７３】
再送ヘッダを付与されたＩＰデータグラムは、送信側再送制御回路１−３に入力される。該ＩＰデータグラムが、再送パスｋの最初のＩＰデータグラムならば、送信側再送制御回路１−３は、タイマ回路１−４の再送パスｋ用カウンタタイマ（ｋ）のカウントアップを開始させる。
【００７４】
次いで、送信側再送制御回路１−３は、該ＩＰデータグラムを、送信側再送メモリ１−５に、付与されたシーケンス番号ＳＱＮ（ｋ）、および該ＩＰデータグラム長ＭＴＵ（Ｋ）（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｕｎｉｔ）、タイマ（ｋ）値とともに書き込む。送信側再送メモリ１−５内は再送パス毎に領域分割され、送信側再送制御回路１−３は、該当するメモリ領域内にシーケンス番号ＳＱＮ（ｋ）の若番から順に書き込む。
【００７５】
送信側再送メモリ１−５に書き込まれたＩＰデータグラムは、送信側再送制御回路１−３より、全再送パスを公平もしくは予め定めた頻度順序に従って、定めされたウィンドウサイズの分だけ読みだされる。
【００７６】
その際に、同一の再送パスｋ内では、上り回線で当該再送パスｋのＡＣＫパケット（ＡＣＫ（ｋ））を受信し、当該再送パスｋのＮＡＫパケット（ＮＡＫ（ｋ））を受信しない限りは該ＳＱＮ（ｋ）の順序で読みだされ、ＮＡＫパケット受信時は、ＮＡＫ（ｋ）で指示されたシーケンス番号ＳＱＮ（ｋ）値にさかのぼり読み出しが開始される。
【００７７】
また、送信側再送制御回路１−３は、ＡＣＫ（ｋ）を受信していないシーケンス番号ＳＱＮ（ｋ）値のうち、最も若番の値について、常時送信側再送メモリ１−５にライトした時のタイマ値と、タイマ回路１−４の現タイマ（ｋ）値とを比較して、その差が予め定めた閾値以上ならば、対ＳＱＮ（ｋ）値のＩＰデータグラムはタイムアウトしたと判定し、該タイムアウトしたＳＱＮ（ｋ）値にさかのぼり読み出しを行う機能も持つ。
【００７８】
こうして送信側再送メモリ１−５より読みだされたＩＰデータグラムは、データリンク層送信回路１−８および物理層送信回路１−９を通してＩＰ網２２に出力され、データ受信装置２０−１で受信する。
【００７９】
データ受信装置２０−１では、ＩＰデータグラムは、まず物理層受信回路２０−１３、データリンク層受信回路２０−１２を通して受信側ＩＰ再送回路２０−１４に入力される。そして、ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路２０−１１は、ＩＰデータグラムからＩＰｖ６拡張ヘッダを取り出し、ＩＰデータグラム本体と共に受信側再送制御回路２０−３に出力する。
【００８０】
受信側再送制御回路２０−３は、再送ヘッダ内にある正常性チェック用チェックサムを使用して、再送ヘッダ自体の誤りの有無を確認する。誤りがある場合は、正常に自動再送制御が期待できないため、受信側再送制御回路２０−３は該ＩＰデータグラムを廃棄し、データ送信装置へのＮＡＫ返送も行わない。
【００８１】
一方、チェックサム検査の結果、再送ヘッダ自体に誤りが無い場合、受信側再送制御回路２０−３は、該ＩＰデータグラムの正常性検査を行う。これには、再送ヘッダ内のＣＲＣ領域を使用するが、自動再送制御の処理時間を短縮するために、データリンク層受信回路２０−１２よりデータリンク層でのフレーム検査結果が出力される場合はそれを使用しても良い。データリンク層でのフレーム検査の一例に、イーサネットにおけるＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）演算がある。
【００８２】
ＩＰデータグラムの正常性検査の結果、正常なＩＰデータグラムの場合は、ＡＣＫ／ＮＡＫ生成回路２０−１５で、該ＩＰデータグラムのシーケンス番号ＳＱＮ（ｋ）値等のヘッダ情報を含むＡＣＫパケット（ＡＣＫ（ｋ））を、該データ受信装置２０−１が起点、データ送信装置１−１が受信点となるように生成し、選択回路２０−７で、生成したＡＣＫパケット（ＡＣＫ（ｋ））を上り側回線に挿入することでデータ送信装置１−１に返送する。
【００８３】
一方、ＩＰデータグラムの正常性検査の結果、受信したＩＰデータグラムに誤りがあると判定した場合は、ＡＣＫ／ＮＡＫ生成回路２０−１５で、該ＩＰデータグラムのシーケンス番号ＳＱＮ（ｋ）値等のヘッダ情報を含むＮＡＫパケット（ＮＡＫ（ｋ））を、該データ受信装置２０−１が起点、データ送信装置１−１が受信点となるように生成し、選択回路２０−７で、生成したＮＡＫパケット（ＮＡＫ（ｋ））を上り側回線に挿入することでデータ送信装置１−１に返送する。
【００８４】
また、受信側再送制御回路２０−３は、正常受信したＩＰデータグラムを、受信側再送メモリ２０−５に、付与されたシーケンス番号ＳＱＮ（ｋ）、および該ＩＰデータグラム長ＭＴＵ（Ｋ）とともに書き込む。受信側再送メモリ２０−５内は再送パス毎に領域分割され、受信側再送制御回路２０−３は、送信元ＩＰアドレスとフローラベルから該再送パスを判別し、該当する再送パスのメモリ領域内にシーケンス番号ＳＱＮ（ｋ）の若番から順に書き込む。
【００８５】
なお、受信側再送制御回路２０−３内では、再送パスｋ別にウィンドウサイズＷ＿Ｒ（ｋ）を計算する。ウィンドウサイズは、受け取る事ができるデータ量を送信側に通知するための値であり、ＡＣＫ返送時はウィンドウサイズＷ＿Ｒ（ｋ）から該受信ＩＰデータグラム長を減算して送信側に通知し、ＮＡＫ返送時はウィンドウサイズは変更せずに送信側に通知する。
【００８６】
次に、受信側再送メモリ２０−５の読み出し動作を示す。受信側再送メモリ２０−５の読み出しも、受信側再送制御回路２０−３が行う。
【００８７】
受信側再送制御回路２０−３は、再送パスｋ別に読み出し用シーケンス番号カウンタＳＱＮ＿ＲＲ（ｋ）を備える。受信側再送制御回路２０−３は、受信側再送メモリ２０−５の各再送パスを、全再送パスを公平もしくは予め定めた頻度順位に従ってチェックし、同一再送パス内で前のＩＰデータグラムと連続したシーケンス番号ＳＱＮ（ｋ）値が書き込まれているか確認する。
【００８８】
同一再送パス内で前のＩＰデータグラムと連続したシーケンス番号ＳＱＮ（ｋ）値が書き込まれているならば、受信側再送制御回路２０−３は、該ＳＱＮ（ｋ）値のＩＰデータグラムを読み出し、ＩＰｖ６受信回路２０−１０に出力する。ＩＰｖ６受信回路２０−１０に出力されたＩＰデータグラムは上位層処理２０−６に入力され、上位層処理２０−６で、トランスポート層以上の上位層処理を行う。
【００８９】
一方、ＩＰデータグラムの欠落や遅延によってＳＱＮ（ｋ）値に不連続が発生して、同一再送パス内のメモリ領域に歯抜けが発生しているならば、受信側再送制御回路２０−３は、タイマ回路２０−４の再送パスｋ用のタイマ（ｋ）を０から一定時刻毎にカウントアップを開始する。そして、タイマ（ｋ）値が設定閾値を超過する場合は、タイムアウトが発生したと判断し、ＳＱＮ（ｋ）値の不連続が発生している最も若番のＳＱＮ（ｋ）値をＡＣＫ／ＮＡＫ番号ＳＱＮ＿ＡＮ（Ｋ）にセットしたＮＡＫパケット（ＮＡＫ（ｋ））を、送信側に返送する。
【００９０】
なお、受信側再送制御回路２０−３は、該再送パスｋ用メモリ領域からのＩＰデータグラムの読み出しを行う度に、該タイマ（ｋ）を０にクリアする。これによって、再送パス別に、ＳＱＮ（ｋ）値が不連続な場合のタイムアウトを検出し、未到着ＩＰデータグラムのうち、最も若番のシーケンス番号ＳＱＮ（ｋ）に対するＮＡＫ（ｋ）を送信側に返送する。以上がデータ受信装置内の動作である。
【００９１】
データ受信装置２０−１から出力されたＡＣＫパケットもしくはＮＡＫパケットは、ＩＰ網２２を通り、データ送信装置１−１に返送される。
【００９２】
以上が、図１によるデータ送信装置１−１とデータ受信装置２０−１との間での自動再送制御の動作である。
【００９３】
次に、図１内の各ブロックの動作、および、使用するヘッダフォーマットについて、詳細に述べる。
【００９４】
（再送ヘッダフォーマットの説明）
図２に、図１のＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路１−１５で付与する、再送ヘッダの一例を示す。これは、インターネット技術タスクフォース（ＩＥＴＦ：Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）が公開する技術仕様ＲＦＣ（Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ）２４６０で規程される、ＩＰｖ６拡張ヘッダを利用するものである。
【００９５】
ＩＰｖ６のヘッダ長は４０バイトの固定長であるが、ヘッダの２ワード目にあるネクストヘッダ値により、可変長の拡張ヘッダを設定できる。ネクストヘッダ値が“５９”ならば、その後に拡張ヘッダが続かない事を示す。その他の値の場合は、その拡張ヘッダを受け取った終点ノードが値に応じた処理を行う。
【００９６】
例えば、ネクストヘッダ値が“０”ならばＩＰｖ６ホップバイホップオプション、“６”ならばＴＣＰ、“１７”ならばＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、“５８”ならばＩＣＭＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  ＩＰｖ６）と規程されている。ネクストヘッダ値のうち、未使用値をＩＰｖ６再送ヘッダに割り当てる。ここでは“３１”とするが、定義値はこの値でなくても良い。
【００９７】
図２では、２４バイトの拡張ヘッダを付与し、これを再送ヘッダに用いる。再送ヘッダの中で、ネクストヘッダは、該再送ヘッダの次に続く拡張ヘッダ種別を示す領域である。拡張ヘッダ長領域は“２４”である。オプション領域は任意値である。
【００９８】
シーケンス番号ＳＱＮ（ｋ）とＡＣＫ／ＮＡＫ番号ＳＱＮ＿ＡＮ（ｋ）は、０から最大値まで１ずつ増加して周回する正の整数であり、それぞれ、再送パスｋ毎に付与される送信シーケンス番号と、ＡＣＫパケットもしくはＮＡＫパケットに付与する受信ＳＱＮ値である。
【００９９】
なお、再送パスｋは、セッションやフロー毎に設定されるものであり、一例として、ＩＰアドレスとＩＰｖ６ヘッダ中のフローラベル値から区別する。
【０１００】
コードビットは図２中に示すように、そのＲＴ（Ｒｅ−Ｔｒａｎｓｍｉｓｓｉｏｎ）ビット、ＮＡＫビット、ＡＣＫビット、ＳＮ（Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ  ｅｎａｂｌｅ）ビットの値の組み合わせにより、該フレームが送信ＩＰデータグラムであるか、ＡＣＫパケットであるか、ＮＡＫパケットであるか、あるいは再送ＩＰデータグラムであるかを表示する。
【０１０１】
ウィンドウサイズは、データ受信装置がデータ送信装置に指定する、ウィンドウサイズ値である。
【０１０２】
ヘッダ用チェックサムは、１１ワード目から１４ワード目までの再送ヘッダの前半１６バイト分のチェックサムの演算結果であり、再送ヘッダの正常性をデータ受信装置側で確認するためのものである。チェックサムの演算方式は、ＩＰｖ４でのチェックサム演算方式と同等で良い。
【０１０３】
そして、最後にＩＰｖ６パケット・データ領域のＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）領域は、データ受信装置での該ＩＰデータグラムの受信データの正常性検査用である。ここではＣＲＣ−３２演算とするが、他の方法でも良い。このような再送ヘッダをＩＰｖ６データグラムの拡張ヘッダに付与する。
【０１０４】
なお、図３に、再送ヘッダ付与後のデータフレームフォーマット例（物理層まで含む）を示す。図３では、レイヤ２（データリンク層）はイーサネットとし、レイヤ１（物理層）もイーサネットとする例である。
【０１０５】
（送信側再送制御回路１−３のライト動作の説明）
図５（ａ）に、送信側再送制御回路１−３での、再送パスｋのＩＰデータグラムを、送信側再送メモリ１−５へライトする際のフローチャートの一例を示す。
【０１０６】
まず、送信側再送制御回路１−３は、タイマ回路１−４の再送パスｋに該当するタイマ（ｋ）を０からスタートさせる（図５（ａ）のＳ２）。タイマ（ｋ）は０から最大値まで１ずつインクリメントし、周回する正の整数である。
【０１０７】
そして、ＩＰｖ６拡張ヘッダ内再送ヘッダ生成回路１−１５からＩＰデータグラムが入力されたならば（図５（ａ）のＳ３の‘Ｙ’）、送信側再送制御回路１−３は、該ＩＰヘッダの宛先ＩＰアドレスとフローラベルから再送パス番号ｋを判定し（図５（ａ）のＳ４）、該再送パス番号ｋの送信側再送メモリ１−５でのライトアドレスＡＤＲ＿ＷＴ（ｋ）を、直前の同再送パス番号ｋのライトアドレスから判定する（図５（ａ）のＳ５）。
【０１０８】
併せて、送信側再送制御回路１−３は、該ＩＰデータグラムのＩＰヘッダ内にあるペイロード長領域を読み出す（図５（ａ）のＳ６）。これは、ＩＰｖ６送信回路１−２により付与された領域であり、該データグラムのユーザデータ格納部分であるペイロード領域の長さをバイトで示す。
【０１０９】
そして、送信側再送制御回路１−３は、ペイロード長と、該ＩＰヘッダ長（４０バイト）と、再送ヘッダとして用いるＩＰヘッダ拡張ヘッダ長の和により、ＩＰデータグラム長ＭＴＵ（Ｋ）を算出する（図５（ａ）のＳ７）。
【０１１０】
また、送信側再送制御回路１−３は、再送ヘッダの２ワード目にあるシーケンス番号領域から該データグラムのＳＱＮ（ｋ）値を読み出し（図５（ａ）のＳ８）、送信側再送メモリ１−５のＡＤＲ＿ＷＴ（ｋ）より、該ＩＰデータグラム全体をライトする（図５（ａ）のＳ９）。その際にあわせてＳＱＮ（ｋ）値、ＩＰデータグラム長ＭＴＵ（Ｋ）、ライト時のタイマ（ｋ）値もライトするが、これらはデータグラムが格納されているメモリ領域とは別の領域としても良い。
【０１１１】
以上が、送信側再送制御回路１−３より送信側再送メモリ１−５にライトする際の処理である。
【０１１２】
（送信側再送制御回路１−３のリード動作の説明）
図５（ｂ）に、送信側再送制御回路１−３での、再送パスｋのＩＰデータグラムを、送信側再送メモリ１−５よりリードする際のフローチャートの一例を示す。
【０１１３】
送信側再送制御回路１−３は、全再送パスを公平もしくは予め定めた頻度順序に従って読みだすが、本フローチャートでは、動作を明確化するために、読み出す再送パスを、パス番号＝ｋのある１つのパスとする場合の動作を示す。
【０１１４】
まず、パス番号ｋの読み出し用シーケンス番号ＳＱＮ＿ＲＴ（ｋ）値と、ＡＣＫ未受信データグラムのうちＳＱＮ（ｋ）値が最も若番のものを示すＳＱＮ＿ＵＴ（ｋ）値とをカウントするカウンタを、送信側再送制御回路１−３内に設け、それぞれ初期値を０とする（図５（ｂ）のＳ１１）。
【０１１５】
ＳＱＮ＿ＲＴ（ｋ）とＳＱＮ＿ＵＴ（ｋ）は値の範囲はＳＱＮ（ｋ）と等しく、それぞれ０と最大値を１ずつインクリメントし、周回する正の整数である。また、送信側で管理するウィンドウサイズＷ＿Ｔ（ｋ）は、予め定めた初期値を設定する。
【０１１６】
次に、送信側再送制御回路１−３は、ＳＱＮ＿ＵＴ（ｋ）値と等しい値のシーケンス番号ＳＱＮ（ｋ）を有するＩＰデータグラムがライトされている、送信側再送メモリ１−５のアドレスを調べ、これを再送パスｋ用のリードアドレス値ＡＤＲ＿ＲＴ（ｋ）に設定する（図５（ｂ）のＳ１２）。
【０１１７】
データが全てリード済みの場合など、ＳＱＮ＿ＵＴ（ｋ）値に該当するアドレス領域ＡＤＲ＿ＲＴ（ｋ）にＩＰデータグラムが蓄積されていない場合は（図５（ｂ）のＳ１３の‘Ｎ’）はＳ１２の入力に戻るが、ＩＰデータグラムがある場合は（図５（ｂ）のＳ１３の‘Ｙ’）、該データグラムと同時にライトされているタイマ（ｋ）値とデータグラム長ＭＴＵ（Ｋ）を送信側再送メモリ１−５から読み出す（図５（ｂ）のＳ１４）。
【０１１８】
そして、送信側再送制御回路１−３は、読み出したタイマ（ｋ）値と、その時点のタイマ回路１−４の現タイマ（ｋ）値とから、「『現タイマ（ｋ）値』−『ライト時のタイマ（ｋ）値』＞『事前に定めた閾値』」であるか否かを判定し、これが真ならば（図５（ｂ）のＳ１３の‘Ｙ’）、該ＵＳＱＲ（ｋ）のデータグラムはＡＣＫ受信のタイムアウトが発生したと判定し、該ＵＳＱＲ（ｋ）にさかのぼった再送とするために、ＲＳＱＲ（ｋ）値をＵＳＱＲ（ｋ）値に置き換える（図５（ｂ）のＳ１６）。
【０１１９】
一方、「『現タイマ（ｋ）値』−『ライト時のタイマ（ｋ）値』＞『事前に定めた閾値』」が偽ならば（図５（ｂ）のＳ１３の‘Ｎ’）、タイムアウトではないと判定して、ＲＳＱＲ（ｋ）値は元のままの値とする。
【０１２０】
次に、送信側再送制御回路１−３は、上り回線にＡＣＫパケットが到着しているか否かを判定する。到着時は（図５（ｂ）のＳ１００の‘Ｙ’）、送信側再送制御回路１−３は、該ＡＣＫパケットの送信元ＩＰアドレスとフローラベルから、該再送パス番号ｋを判定する（図５（ｂ）のＳ１０６）。そして、送信側再送制御回路１−３は、該再送パスｋの読み出しシーケンス番号ＳＱＮ＿ＲＴ（ｋ）と等しい値のシーケンス番号ＳＱＮ（ｋ）を有するＩＰデータグラムがライトされている、送信側再送メモリ１−５のアドレスを調べ、これを再送パスｋ用のリードアドレス値ＡＤＲ＿ＲＴ（ｋ）に設定する（図５（ｂ）のＳ１０７）。
【０１２１】
また、送信側再送制御回路１−３は、ＡＣＫパケット中の再送ヘッダであるＩＰヘッダの拡張ヘッダ領域から、該ＡＣＫパケットで返送されてきたＡＣＫ／ＮＡＫ番号ＳＱＮ＿ＡＮ（ｋ）、並びに返送されてきたウィンドウサイズＷ＿Ｒ（ｋ）を読み出し（図５（ｂ）のＳ１０８）、送信側再送制御回路１−３内で管理するＷ＿Ｔ（ｋ）値と置き換える（図５（ｂ）のＳ１０９）。
【０１２２】
そして、送信側再送制御回路１−３は、Ｓ１０７で特定した読み出しアドレスＡＤＲ＿ＲＴ（ｋ）より始まるメモリ領域に、ＩＰデータグラムが蓄積されているかを調べる。
【０１２３】
蓄積されている場合は（図５（ｂ）のＳ１１０の‘Ｙ’）、該メモリ領域からＩＰデータグラム長ＭＴＵ（Ｋ）を読み出す（図５（ｂ）のＳ１１１）とともに、送信側再送制御回路１−３内で管理するＡＣＫ未受信の最若番ＳＱＮ値であるＳＱＮ＿ＵＴ（ｋ）が、ＡＣＫ／ＮＡＫ番号ＡＤＲ＿ＲＴ（ｋ）に一致するか確認する。一致するならば、該ＳＱＮ＿ＵＴ（ｋ）値のＡＣＫパケットは受信したため、二番目に若番のＳＱＮ（ｋ）値に更新する（図５（ｂ）のＳ１１２）。
【０１２４】
一方、Ｓ１１０で蓄積データが無い場合は（図５（ｂ）のＳ１１０の‘Ｎ’）、読み出すＩＰデータグラムが無い為、Ｓ１２に戻る。
【０１２５】
また、Ｓ１００で上り回線にＡＣＫパケットが到着していない場合は（図５（ｂ）のＳ１００の‘Ｎ’）、送信側再送制御回路１−３は、上り回線のＮＡＫパケットの到着を調べる。
【０１２６】
到着しているならば（図５（ｂ）のＳ１０１の‘Ｙ’）、送信側再送制御回路１−３は、該ＮＡＫパケットの送信元ＩＰアドレスとフローラベルから、該再送パス番号ｋを判定し（図５（ｂ）のＳ１１３）、ＮＡＫパケット中の再送ヘッダであるＩＰヘッダの拡張ヘッダ領域から、該ＮＡＫパケットで返送されてきたＡＣＫ／ＮＡＫ番号ＳＱＮ＿ＡＮ（ｋ）、並びに返送されてきたウィンドウサイズＷ＿Ｒ（ｋ）を読み出す（図５（ｂ）のＳ１１４）。そして、送信側再送制御回路１−３内で管理するリードアドレスＳＱＮ＿ＲＴ（ｋ）を、ＡＣＫ／ＮＡＫ番号ＳＱＮ＿ＡＮ（ｋ）と置き換える（図５（ｂ）のＳ１１５）。
【０１２７】
Ｓ１０１でＮＡＫパケットが到着していない場合（図５（ｂ）のＳ１０１の‘Ｎ’）、あるいは、Ｓ１１２でＳＱＮ＿ＵＴ（ｋ）値を二番目に若番のＳＱＮ（ｋ）値に更新後、あるいは、Ｓ１１５でＳＱＮ＿ＲＴ（ｋ）値を更新した後は、送信側再送制御回路１−３は、送信側で管理するウィンドウ値Ｗ＿Ｔ（ｋ）と読み出すＩＰデータグラム長ＭＴＵ（Ｋ）との大小比較を行う。
【０１２８】
Ｗ＿Ｔ（ｋ）≧ＭＴＵ（Ｋ）ならば（図５（ｂ）のＳ１０２の‘Ｙ’）、受信側で許容されるウィンドウ値よりも、読み出しＩＰデータグラム長が短いため、送信側再送制御回路１−３は、送信側再送メモリ１−５のリードアドレスＷＤＲ＿ＲＴ（ｋ）を先頭アドレスとしてＩＰデータグラムを読み出す（図５（ｂ）のＳ１０３）す。
【０１２９】
そして、読みだしたＩＰデータグラムをデータリンク層送信回路１−８に出力する（図５（ｂ）のＳ１０４）。また、送信側で管理するウィンドウサイズＷ＿Ｔ（ｋ）から読み出したＩＰデータグラム長を減算してＷ＿Ｔ（ｋ）＝Ｗ＿Ｔ（ｋ）−ＭＴＵ（Ｋ）とする。また、読み出しシーケンス番号ＳＱＮ＿ＲＴ（ｋ）を１だけインクリメントする（図５（ｂ）のＳ１０５）。そして、Ｓ１２に戻る。
【０１３０】
以上が、送信側再送制御回路１−３より送信側再送メモリ１−５をリードする際の処理である。
【０１３１】
（受信側再送制御回路２０−３のライト動作の説明）
次に、図６（ａ）に、受信側再送制御回路２０−３での、再送パスｋのＩＰデータグラムを、受信側再送メモリ２０−５へライトする際のフローチャートの一例を示す。
【０１３２】
ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路２０−１１より、ＩＰデータグラムと読み出した再送ヘッダが入力されると（図６（ａ）のＳ３１の‘Ｙ’）、受信側再送制御回路２０−３は、まず、再送ヘッダ内のチェックサム領域を用いて、再送ヘッダの誤り検査を行う（図６（ａ）のＳ３２）。
【０１３３】
その結果、再送ヘッダに誤りが無いならば（図６（ａ）のＳ３３の‘Ｙ’）、受信側再送制御回路２０−３は、該ＩＰデータグラムが正常受信できているか、該ＩＰデータグラム全体のビット誤りの検査を行う。具体的には、再送ヘッダ内に設けたＣＲＣ領域を用いる。ＣＲＣ演算法は送信側のＩＰｖ６拡張ヘッダ内再送ヘッダ生成回路１−１５と一致させ、ＣＲＣ−３２とする。または、自動再送制御の処理時間を短縮するために、データリンク層受信回路２０−１２より、イーサネットのＦＣＳ検査結果などのデータリンク層でのフレーム検査結果が出力される場合はそれを使用する。
【０１３４】
該ＩＰデータグラムが正常受信できている場合（図６（ａ）のＳ３４の‘Ｙ’）、受信側再送制御回路２０−３は、該ＩＰヘッダの送信元ＩＰアドレスとフローラベルから再送パス番号ｋを判定し（図６（ａ）のＳ３５）、該再送パス番号ｋの受信側再送メモリ２０−５でのライトアドレスＡＤＲ＿ＷＲ（ｋ）を直前の同再送パス番号ｋのライトアドレスから特定する（図６（ａ）のＳ３６）。併せて、受信側再送制御回路２０−３は、該ＩＰデータグラムのＩＰヘッダ内にあるペイロード長領域を読み出す（図６（ａ）のＳ３７）。
【０１３５】
そして、受信側再送制御回路２０−３は、ペイロード長と、該ＩＰヘッダ長（４０バイト）と、再送ヘッダとして用いるＩＰヘッダ拡張ヘッダ長の和により、ＩＰデータグラム長ＭＴＵ（Ｋ）を算出する（図６（ａ）のＳ３８）。
【０１３６】
受信側再送制御回路２０−３は、このＩＰデータグラム長ＭＴＵ（Ｋ）と、再送ヘッダの２ワード目にあるシーケンス番号領域から該データグラムのＳＱＮ（ｋ）値、ならびに、該ＩＰデータグラム全体を、受信側再送メモリ２０−５のＡＤＲ＿ＷＲ（ｋ）よりライトする（図６（ａ）のＳ３９）。ＳＱＮ（ｋ）値、ＩＰデータグラム長ＭＴＵ（Ｋ）は、データグラムが格納されているメモリ領域とは別の領域としても良い。
【０１３７】
Ｓ３４のＩＰデータグラムの正常性検査でフレームに誤りがある場合（図６（ａ）のＳ３４の‘Ｎ’）、受信側再送制御回路２０−３は、やはり該ＩＰヘッダの送信元ＩＰアドレスとフローラベルから再送パス番号ｋを判定するが（図６（ａ）のＳ４０）、該再送パス番号ｋの受信側再送メモリ２０−５でのライトアドレスＡＤＲ＿ＷＲ（ｋ）は変更しない（図６（ａ）のＳ４１）。
【０１３８】
そして、受信側再送制御回路２０−３は、再送ヘッダより取りだしたＳＱＮ（ｋ）値をＡＣＫ／ＮＡＫ番号ＳＱＮ＿ＡＮ（ｋ）とするＮＡＫパケットの生成を、ＡＣＫ／ＮＡＫ生成回路２０−１５に指示する（図６（ａ）のＳ４２）とともに、該受信ＩＰデータグラムを廃棄する（図６（ａ）のＳ４３）。
【０１３９】
また、Ｓ３３で、再送ヘッダのチェックサム検査結果に誤りがあり、再送ヘッダ自体にエラーがあると判断する場合には（図６（ａ）のＳ３３の‘Ｎ’）、受信側再送制御回路２０−３は、該受信ＩＰデータグラムをそのまま廃棄する（図６（ａ）のＳ４３）。
【０１４０】
以上が、受信側再送制御回路２０−３より受信側再送メモリ２０−５にライトする際の処理である。
【０１４１】
（受信側再送制御回路２０−３のリード動作の説明）
次に、受信側再送制御回路２０−３での、再送パスｋのＩＰデータグラムを受信側再送メモリ２０−５からリードする際のフローチャートの一例を、図６（ｂ）に示す。受信側再送制御回路２０−３は、全再送パスを、公平もしくは予め定めた頻度順序に従って読みだすが、本フローチャートでは、動作を明確化するために、読み出す再送パスを、パス番号＝ｋのある１つのパスとする場合の動作を示す。
【０１４２】
まず、受信側再送制御回路２０−３内で管理する、再送パスｋの読み出しシーケンス番号ＳＱＮ＿ＲＲ（ｋ）の初期値を０、受信ウィンドウサイズＷ＿Ｒ（ｋ）の初期値は事前に設定した値とする（図６（ｂ）のＳ４５）。
【０１４３】
次いで、該データ受信装置２０−１に再送パスｋのＩＰデータグラムが到着し、ＳＱＮ＿ＲＲ（ｋ）の初期アドレスにＩＰデータグラムがライトされたなら（図６（ｂ）のＳ４６の‘Ｙ’）、受信側再送制御回路２０−３は、まずタイマ回路２０−４の、再送パスｋに該当するタイマ（ｋ）を０からスタートさせる（図６（ｂ）のＳ５７）。タイマ（ｋ）は０から最大値まで１ずつインクリメントし、周回する正の整数である。また、Ｓ５７以降の処理は、再送パスｋに二番目以降のＩＰデータグラムが到着し、読み出しアドレスＳＱＮ＿ＲＲ（ｋ）から始まるメモリ領域にＩＰデータグラムがライトされた場合（図６（ｂ）のＳ５３の‘Ｙ’）も同一のため、併せて説明する。
【０１４４】
Ｓ５７でタイマ（ｋ）を０クリアして再度カウントアップ開始後、受信側再送制御回路２０−３は、該再送パス番号ｋの受信側再送メモリ２０−５でのリードアドレスＡＤＲ＿ＲＲ（ｋ）を直前の同再送パス番号ｋのリードアドレスから特定する（図６（ｂ）のＳ４７）。次いで、受信側再送制御回路２０−３は、受信側再送メモリ２０−５のリードアドレスＡＤＲ＿ＲＲ（ｋ）から、同領域にライトされているＩＰデータグラムと、ＩＰデータグラム長ＭＴＵ（Ｋ）を読み出す（図６（ｂ）のＳ４８）。
【０１４５】
次いで、受信側再送制御回路２０−３は、読み出したＩＰデータグラムをＩＰｖ６受信回路２０−１０に対して出力する（図６（ｂ）のＳ４９）。
【０１４６】
次いで、受信側再送制御回路２０−３は、ＳＱＮ＿ＲＲ（ｋ）と同じ値をＡＣＫ／ＮＡＫ番号ＳＱＮ＿ＡＮ（ｋ）とするＡＣＫパケット生成を、ＡＣＫ／ＮＡＫ生成回路２０−１５に指示する（図６（ｂ）のＳ５０）とともに、ウィンドウサイズＷ＿Ｒ（ｋ）を、読み出したＩＰデータグラム分だけ増加させる（図６（ｂ）のＳ５１）。
【０１４７】
次いで、受信側再送制御回路２０−３は、再送パスｋの読み出しシーケンス番号ＳＱＮ＿ＲＲ（ｋ）を＋１インクリメントして（図６（ｂ）のＳ５２）、Ｓ５３に移る。
【０１４８】
なお、Ｓ５３において、読み出しアドレスＳＱＮ＿ＲＲ（ｋ）から始まるメモリ領域にＩＰデータグラムがまだライトされない場合は（図６（ｂ）のＳ５３の‘Ｎ’）、タイマ回路のタイマ（ｋ）は一定時刻毎にカウントアップする（図６（ｂ）のＳ５４）。その結果、タイマ（ｋ）が予め設定した閾値を超過し、すなわち予め設定した閾値時間の間、フレームロスやフレーム誤りによって、読み出しアドレスＳＱＮ＿ＲＲ（ｋ）から始まるメモリ領域にＩＰデータグラムがライトされない場合には（図６（ｂ）のＳ５５の‘Ｙ’）、ＳＱＮ＿ＲＲ（ｋ）と同じ値をＡＣＫ／ＮＡＫ番号ＳＱＮ＿ＡＮ（ｋ）とするＮＡＫパケット生成を、ＡＣＫ／ＮＡＫ生成回路２０−１５に指示し（図６（ｂ）のＳ５６）、Ｓ５３に移る。
【０１４９】
以上が、受信側再送制御回路２０−３によって、受信側再送メモリ２０−５よりリードする際の処理である。
【０１５０】
（データパケットと、ＡＣＫパケット、ＮＡＫパケットの流れの説明）
次に、図７に、データ送信装置１−１とデータ受信装置２０−１との間で、ＩＰｖ６拡張ヘッダを再送ヘッダに用いた自動再送制御を行う場合のデータパケットと、ＡＣＫパケット、ＮＡＫパケットの流れを示す。図１と同じように、再送パスとして、データ送信装置１−１からデータ受信装置２０−１の方向にデータ用パス（下り方向）、その逆方向をＡＣＫ／ＮＡＫ用パス（上り方向）とする場合である。また、自動再送制御方式はＧｏ−Ｂａｃｋ−Ｎ  ＡＲＱ方式である。
【０１５１】
まず、上位層１−６より、上位層およびＴＣＰ等のトランスポート層処理を行ったパケットが出力されて、ＩＰｖ６送信回路１−２に入力される。その出力データグラムに対して、ＩＰｖ６拡張ヘッダ内再送ヘッダ生成回路１−１５で再送ヘッダを付与する。
【０１５２】
図中では、再送ヘッダ中のＳＱＮ（ｋ）値をシーケンス番号ＳＱＮとして付与し、ＳＱＮ＝１〜ＳＱＮ＝４のＩＰデータグラムが正常にデータ受信装置２０−１に到着し、ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路２０−１１で再送ヘッダを読み出して処理した後、ＡＣＫ／ＮＡＫパケット生成回路２０−７よりＳＱＮ＿ＡＮ（ｋ）値＝１〜４の「ＡＣＫ（ｋ）１」〜「ＡＣＫ（ｋ）４」を返送する。
【０１５３】
そして、ＳＱＮ＝５のＩＰデータグラムが、ＩＰ網２２中で輻輳等で消失すると、データ受信装置２０−１内で、ＳＱＮ＝５のＩＰデータグラムの到着タイムアウトとなり、データ送信装置に対してＳＱＮ＿ＡＮ（ｋ）値＝５の「ＮＡＫ（ｋ）５」を返送する。
【０１５４】
送信側ではウィンドウ値に基づきＳＱＮ＝７のデータグラムまで出力しているが、上り回線での「ＮＡＫ（ｋ）５」の受信によって、ＳＱＮ＝５のＩＰデータグラムにさかのぼり自動再送制御を行う。
【０１５５】
受信側で正常にＳＱＮ＝５のＩＰデータグラムを受信すると、上り回線に「ＡＣＫ（ｋ）５」を返送し、それ以降、連続するＳＱＮ値のＩＰデータグラムを送信する。
【０１５６】
このように、途中のＩＰ網２２でＩＰデータグラムのパケットロスが発生しても、ＩＰｖ６拡張ヘッダを再送ヘッダに用いた自動再送制御によって、そのパケットロスはデータ受信装置２０−１の上位層２０−６にまでは伝わらず、トランスポート層プロトコルがＴＣＰであっても、その輻輳制御を回避する事ができるほか、ＴＣＰのタイムアウト時間に起因するＴＣＰ層での再送時間の増加を防ぐ事が可能である。
【０１５７】
（再送メモリ量）
なお、図１に示す本実施の形態は、データ送信装置１−１とデータ受信装置２０−１にそれぞれ十分大きな再送メモリを持つ場合の実施の形態である。再送メモリの必要量は次のように求められる。
【０１５８】
図８は、データ送信装置１−１とデータ受信装置２０−１で、再送パスｋを用いて、Ｇｏ−Ｂａｃｋ−Ｎ  ＡＲＱ方式やＳｅｌｅｃｔｉｖｅ  Ｒｅｐｅａｔ  ＡＲＱ方式のウィンドウフロー制御を行う場合のデータとＡＣＫ、ＮＡＫの転送の様子を説明する図である。その往復遅延時間をＲＴＴ（ｋ）（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）、ウィンドウサイズをＷ＿Ｒ（ｋ）、再送パスｋのデータのスループットをＴＨ（ｋ）とすると、
Ｗ＿Ｒ（ｋ）≧ＴＨ（ｋ）×ＲＴＴ（ｋ）  ・・・（式１）
である。
【０１５９】
再送メモリには、送信側と受信側の双方とも、ウィンドウサイズ以上のデータを蓄積する可能性があり、送信側再送メモリと受信側再送メモリとしては、それぞれウィンドウサイズＷ＿Ｒ（ｋ）＝ＴＨ（ｋ）×ＲＴＴ（ｋ）以上のＩＰデータグラムを蓄積できるだけのメモリ量を、再送パス別に配備する。したがって、再送パスの距離が異なり、ＲＴＴに差がある場合には、必要なメモリ量も異なる。
【０１６０】
（その他の条件への適用）
以上では、ＩＰｖ６を用いる場合に、その拡張ヘッダを再送ヘッダに用いているが、ＩＰｖ４のＩＰヘッダ中に定義されている２０バイトのオプション領域を再送ヘッダに使用しても良い。オプション領域長は固定長のため、図１における２４バイトの再送ヘッダの中から計３２ビットのオプション領域を削除した計２０バイトを、ＩＰｖ４ヘッダのオプション領域に割り当てる。これによって、ＩＰｖ６のみでなく、ＩＰｖ４での自動再送制御を行う事ができる。
【０１６１】
また、図１に示す本実施の形態では、自動再送制御方式としてＧｏ−Ｂａｃｋ−Ｎ  ＡＲＱ方式としているが、より再送効率の高いＳｅｌｅｃｔｉｖｅ  Ｒｅｐｅａｔ  ＡＲＱ方式としても良い。その場合には、図５の送信側再送制御回路１−３のメモリへのライト・リード処理フローと、図６の受信側再送制御回路２０−３のメモリへのライト・リード処理フローを、Ｓｅｌｅｃｔｉｖｅ  Ｒｅｐｅａｔ  ＡＲＱ方式に対応する処理に変更する必要があるが、その変更のみでＳｅｌｅｃｔｉｖｅ  Ｒｅｐｅａｔ  ＡＲＱ方式とする事ができる。
【０１６２】
また、図１に示す本実施の形態では、上り回線において、ＡＣＫのほかに、ＮＡＫを使用しているが、ＴＣＰと同様に返送するのはＡＣＫのみとしても良い。
【０１６３】
また、図１に示す本実施の形態では、該ＩＰｖ６拡張ヘッダを再送ヘッダに用いた自動再送制御を、データ送信装置とデータ受信装置の送受信機能に適用しているが、ＬＡＮのエッジに配備されるレイヤ３スイッチ（ルータ）の、広域網側のラインカードに適用しても良い。具体的には、データ送信装置１−１の上位層処理１−６と、データ受信装置２０−１の上位層処理２０−６のかわりに、レイヤ３スイッチが配備される構成であって良い。
【０１６４】
（第１の実施の形態による効果）
本実施の形態に寄れば、データ送信装置からデータ受信装置までの再送ヘッダにＩＰｖ６ヘッダの拡張ヘッダを用いることで、網の途中にレイヤ３スイッチが配備されていてもそれを透過して行くため、網中のレイヤ３スイッチに新規に機能を追加する必要がなく、容易に下位層での自動再送制御の実現が可能となる。
【０１６５】
また、本実施の形態に寄れば、データ送信装置とデータ受信装置の間のＩＰ網でＩＰデータグラムのパケットロスが発生しても、そのパケットロスをデータ受信装置２０−１の上位層２０−６にまでは伝えずに、ＴＣＰの輻輳制御の発生と、輻輳制御に起因するＴＣＰスループットの低下、ならびに、ＴＣＰのタイムアウト時間に起因するＴＣＰ層での再送時間の増加を防ぐ事が可能なネットワークを容易に構築する事ができる。
【０１６６】
その理由は、該ＩＰｖ６拡張ヘッダを再送ヘッダに用いた自動再送制御は、データ送信装置とデータ受信装置に配備するだけで良く、途中のＩＰ網のレイヤ３スイッチの変更は不要であり、これだけで上位層に対してパケットロスが発生していないように見せる事が可能なためである。
【０１６７】
なお、本発明の課題を解決できる最小限の構成をとして、通信システム１００が、データ送信装置１−１とデータ受信装置２０−１とを含み、データ送信装置１−１が、データ受信装置２０−１に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与する手段を備えることで、上述した本発明の課題を解決することができる。
【０１６８】
（第２の実施の形態）
次に、図９、図２、図１０、図１１、図１２、図１３、図１４を用いて、本発明の第２の実施の形態について説明を行う。
第２の実施の形態は、ＩＰｖ６拡張ヘッダを再送ヘッダに用いたセッションやフロー毎の自動再送制御を、レイヤ３スイッチのラインカードに適用する事を目的に、その再送パス毎の再送メモリ量が端末装置ほど十分に確保できず、再送パス別に通信開始時にメモリ領域を確保する場合に、効率的な再送メモリ領域の割り当てを行うものである。
【０１６９】
図９は、本発明の第２の実施の形態による、ＩＰｖ６ヘッダの拡張ヘッダを再送ヘッダに使用する自動再送制御を実施する通信システム２００の構成を示すブロック図である。
【０１７０】
自動再送制御方式は、何れの方式とする事ができるが、Ｇｏ−Ｂａｃｋ−Ｎ  ＡＲＱ方式を適用する場合で説明する。また、以降では、データ送信装置からデータ受信装置への方向を下り方向、データ受信装置からデータ送信装置への向きを上り方向と称す。
【０１７１】
本実施の形態のＭ×Ｎポートスイッチ９４は、ＬＡＮ側ラインカード９０−１〜９０−Ｍ（Ｍは正の任意の整数）と、スイッチ回路９２と、広域網側ラインカード９−１〜９−Ｎ（Ｎは正の任意の整数）とから構成される。
【０１７２】
ラインカード９−１は、送信側ＩＰ再送回路９−１−１４と、データリンク層送信回路９−１−８と、物理層送信回路９−１−９と、物理層受信回路９−１−１３と、データリンク層受信回路９−１−１２とを有する。
【０１７３】
送信側ＩＰ再送回路９−１４は、ＩＰｖ６拡張ヘッダ内再送ヘッダ生成回路９―１―１５と、送信側再送制御回路９−１−３と、送信側再送メモリ９−１−５と、タイマ回路９−１−４と、ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路９−１−１１と、ＩＣＭＰｖ６モニタ回路９−１−１６と、送信側再送メモリ領域算出回路９−１−１７とから構成される。
【０１７４】
Ｍ×Ｎポートスイッチ２３４は、物理層受信回路２３−１−１３と、データリンク層受信回路２３−１−１２と、受信側ＩＰ再送回路２３−１−１４と、スイッチ回路２３２と、ラインカード２３０−１と、データリンク層送信回路２３−１−８と、物理層送信回路２３−１−９とを有する。
【０１７５】
受信側ＩＰ再送回路２３−１−１４は、ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路２３−１−１１と、受信側再送制御回路２３−１−３と、受信側再送メモリ２３−１−５と、タイマ回路２３−１−４と、ＡＣＫ／ＮＡＫ生成回路２３−１−１５と、選択回路２３−１−７と、受信側再送メモリ領域算出回路２３−１−３とから構成される。
【０１７６】
データリンク層送信回路９−１−８、２３−１−８、データリンク層受信回路９−１−１２、２３−１−１２はイーサネットＭＡＣ等の一般的なレイヤ２処理である。物理層送信回路９−１−９、２３−１−９および物理層受信回路９−１−１３、２３−１−１３はイーサネット物理層やＯＴＮなどの一般的なレイヤ１処理である。
【０１７７】
ＩＰ網２４は、レイヤ３スイッチやレイヤ２スイッチにより構成される一般的なＩＰ網であり、レイヤ２スイッチやレイヤ３スイッチを１台〜複数台配備した、一般的なＩＰ網である。想定するネットワーク規模は、ＬＡＮ〜広域網である。
【０１７８】
ここで、図１４にプロトコルスタック例を示す。図１４は、ＬＡＮ１４４内にデータ送信装置１４１と、エッジスイッチとしてレイヤ３スイッチ９４を配備し、広域網１４６内には複数のレイヤ２スイッチやレイヤ３スイッチ（図１４ではレイヤ３スイッチ１４３のみ図示）を配備し、ＬＡＮ１４５内にデータ受信装置１４３と、エッジスイッチとしてレイヤ３スイッチ２３４を配備する例である。
【０１７９】
自動再送制御区間は、ＬＡＮのエッジスイッチの広域網側ラインカード間としている。つまり、ＬＡＮ内の輻輳が軽微であり、広域網で輻輳が発生しやすく、それをＩＰｖ６拡張ヘッダを再送ヘッダに用いた自動再送制御によって隠ぺいし、データ送信装置１４１とデータ受信装置１４２のＴＣＰでの輻輳制御や、ＴＣＰタイムアウトによるスループット低下の影響を、低減する事が目的である。この構成では、データ送信装置１４１やデータ受信装置１４２は変更せずに、エッジスイッチであるレイヤ３スイッチのみに機能追加を行えばよいというメリットがある。
【０１８０】
（各ブロックの構成）
次に、図９の動作を詳細に説明する。
【０１８１】
前述のように、図９において、データリンク層送信回路９−１−８、２３−１−８、データリンク層受信回路９−１−１２、２３−１−１２はイーサネットＭＡＣ等の一般的なレイヤ２処理であり、物理層送信回路９−１−９、２３−１−９および物理層受信回路９−１−１３、２３−１−１３はイーサネット物理層やＯＴＮなどの一般的なレイヤ１処理であり、本発明の内容とは直接は関係しないため、説明は省略する。また、以下では主にラインカード９−１と２３−１の動作を説明しているが、他のラインカードでの動作は同様である。
【０１８２】
図９で、Ｍ×Ｎポートスイッチ９４のラインカード９−１がスイッチ回路９２からＩＰデータグラムを受け取ると、ＩＰｖ６ヘッダ生成回路９−１−１５が、ＩＰデータグラム毎にＩＰｖ６ヘッダの拡張ヘッダを用いて再送ヘッダを付与する。
【０１８３】
（再送ヘッダ）
再送ヘッダは、シーケンス番号（ＳＱＮ（ｋ）；０から最大値まで１ずつ増加して周回する正の整数。また、ｋは再送パス番号を示す正の整数。）、再送ヘッダの正常性チェック用チェックサム領域、該ＩＰデータグラムの正常性チェック用のＣＲＣ領域を含む。
【０１８４】
また、再送ヘッダは、該ＩＰデータグラムが通常のデータグラムかＡＣＫかNAKか或いは再送データグラムかを表示する領域と、更に該再送パスｋのＲＴＴ値であるＲＴＴ（ｋ）を受信側に通知する領域（４バイト）と、該再送パスｋで転送可能な最大のＩＰデータグラム長（再送ヘッダ長も含む）である最大ＭＴＵ（ｋ）を通知する領域（４バイト）も含む。
【０１８５】
再送ヘッダは、計３２バイトの領域である。
【０１８６】
図２に、再送ヘッダのフォーマットの一例を示す。再送ヘッダのうちの５ワード目と６ワード目にＲＴＴ（ｋ）領域と、最大ＭＴＵ（ｋ）領域を追加している。
【０１８７】
その他の領域は、図１の第１の実施例と比較して、ＲＴＴ（ｋ）と最大ＭＴＵ（ｋ）領域の計８バイトを追加している。その理由は、再送パス毎の再送メモリ量が端末装置ほど十分に確保できない場合に、再送パス別に通信開始時にメモリ領域を確保する際に、効率的な再送メモリ領域の割り当てを行うためである。
【０１８８】
（効率的メモリ割り当て）
送信側の再送メモリ量に制限があり、全再送パスの再送メモリを式１で示される十分な量を確保できない場合は、ウィンドウフロー制御におけるスループットに制限を設ける。再送パスｋの最低保証スループットをＴＨｍｉｎ（ｋ）として、
Ｗ＿Ｒ（ｋ）≧ＴＨｍｉｎ（ｋ）×ＲＴＴ（ｋ）  ・・・（式２）
となり、再送パス毎にＴＨｍｉｎとＲＴＴによって変わる。このウィンドウサイズＷ＿Ｒ（ｋ）を格納可能なメモリ量ＭＥＭ（ｋ）が、送信側での最小の再送メモリ量、および、受信側での最小の再送メモリ量となる。
【０１８９】
しかしながら、式２に基づく場合は再送メモリを効率的に使用できず、スループットが下がる可能性がある。そのために、再送パスｋの最大ＭＴＵサイズＭＴＵ（ｋ）を考慮し、再送パスｋ毎のＭＴＵ（ｋ）を基準にして、メモリ量ＭＥＭ（ｋ）を計算する必要がある。
【０１９０】
これは、連続して最大ＭＴＵ（ｋ）のＩＰデータグラムを送受信する場合に、送信側メモリ量ＭＥＭ（ｋ）が、ＭＴＵ（ｋ）の整数倍で無い場合に、式２に基づく量のＩＰデータグラムを送信側再送メモリＭＥＭ（ｋ）に格納できず、再送制御に使用できない場合があるためである。
【０１９１】
これを図１０を用いて説明する。図１０（ａ）は、式２に基づき求めた送信側再送メモリの各再送パスに対するメモリ領域の割り当て例である。
【０１９２】
メモリ領域サイズは、再送パス毎に、最低保証スループットＴＨｍｉｎ（ｋ）×ＲＴＴ（ｋ）により算出する。このため、メモリ領域サイズは最大ＭＴＵ（ｋ）とは関係なく決まる。
【０１９３】
図１０（ａ）に示すように、その値が最大ＭＴＵ（ｋ）の整数倍ではない場合に、１０１のように最長ＭＴＵ長のＩＰデータグラムを格納するには十分でない領域が生まれ、その分スループットが低下する、もしくはＩＰデータグラム廃棄の可能性がある。
【０１９４】
具体的には、最大ＭＴＵ（ｋ）＝１，５００バイト、ＴＨｍｉｎ（ｋ）＝１０Ｇｂｐｓ、ＲＴＴ（ｋ）＝５μｓｅｃの時に、式２に基づくメモリ量ＭＥＭ（ｋ）は６，２５０バイトである。
【０１９５】
ＭＥＭ（ｋ）に最大ＭＴＵ（ｋ）分のＩＰデータグラムを格納してゆくと、４フレーム分（６、０００バイト）は格納できるが、残り２５０バイト分にＩＰデータグラムを格納すると、該ＩＰデータグラムの全データを格納できず、廃棄が起こり、最低保証スループットＴＨｍｉｎ（ｋ）も保証できない。
【０１９６】
これを避けるために、図１０（ｂ）のように、式２を満たす、最大ＭＴＵ（ｋ）の整数倍にＭＥＭ（ｋ）を設定することで、１０２の領域にもＩＰデータグラムをメモリ領域を無駄なく使用する事が可能であり、最低保証スループットＴＨｍｉｎ（ｋ）を満たすことも可能である。そこで、
ＭＥＭ（ｋ）≧最大ＭＴＵ（ｋ）×Ｚ  ≧  ＴＨｍｉｎ（ｋ）×ＲＴＴ（ｋ）  ・・・（式２）
（Ｚは１以上の正の整数）
となる再送メモリ量を送信側、受信側の双方で確保するために、送信側から該再送パスｋのＲＴＴ値であるＲＴＴ（ｋ）を受信側に通知する領域（４バイト）と該再送パスｋで転送可能な最大のＩＰデータグラム長（再送ヘッダ長も含む）である最大ＭＴＵ（ｋ）を通知する領域（４バイト）を設ける。
【０１９７】
（最大ＭＴＵ値）
通信機器別に、送受信可能なＩＰデータグラム長ＭＴＵ（ｋ）は異なる。これは、内蔵するメモリ量や設計仕様によって異なるためである。そこで、ＩＰｖ６では、通信開始時において、送信側より大きなＭＴＵ値で送出を開始し、該ＭＴＵ値を受信できない機器が、上り回線を用いて、制御用パケットであるＩＣＭＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  ＩＰｖ６）を返送し、パケットサイズ過大エラーを通知する機能を有する。
【０１９８】
具体的には、送信側から送付されたＭＴＵサイズのＩＰデータグラムを受信できない機器は、上り回線を利用して、図１１に示される、パケットサイズ過大エラーを示すＩＣＭＰｖ６パケットを送信側に返送する。
【０１９９】
該パケット過大エラーを受信した送信側では、ＭＴＵ値を少しずつ小さくして送出し、該パケットサイズ過大エラーが返送されないＭＴＵ値を見つける。これが最大ＭＴＵ値となる。これはＩＥＴＦが定める技術仕様のＲＦＣ４４４３で規程されている。
【０２００】
そこで、送信側ラインカード９−１内で再送パスｋ別に、ＩＣＭＰｖ６を用いたパケット過大エラーをモニタし、パケット過大エラーが発生するデータグラム長と、発生しないデータグラム長の閾値を判定し、最大ＭＴＵ（ｋ）値を求める。
【０２０１】
（第２の実施の形態の動作の説明）
次に、本実施の形態による通信システム２００の動作について、図面を参照して詳細に説明する。
【０２０２】
（各ブロックの動作説明）
図９を参照すると、ＩＰｖ６ヘッダ生成回路９−１−１５で再送ヘッダを付与されたＩＰデータグラムは、送信側再送制御回路９−１−３に入力される。
【０２０３】
該ＩＰデータグラムが、再送パスｋの最初のＩＰデータグラムならば、送信側再送制御回路９−１−３は、タイマ回路９−１−４の再送パスｋ用カウンタタイマ（ｋ）のカウントアップを開始させる。
【０２０４】
そして、送信側再送制御回路９−１−３は、送信側再送メモリ９−１−５に、該ＩＰデータグラムを、付与されたシーケンス番号ＳＱＮ（ｋ）、および該ＩＰデータグラム長ＭＴＵ（Ｋ）、タイマ（ｋ）値とともに書き込む。
【０２０５】
送信側再送メモリ９−１−５内を再送パス毎に領域分割され、送信側再送制御回路９−１−３は、送信側再送制御回路９−１−３から該当するメモリ領域内にシーケンス番号ＳＱＮ（ｋ）の若番から順に書き込む。本動作は図１の送信側再送制御回路１−３と同一である。
【０２０６】
送信側再送メモリ９−１−５に書き込まれたＩＰデータグラムは、送信側再送制御回路９−１−３によって、全再送パスを公平もしくは予め定めた頻度順序に従って、定めされたウィンドウサイズの分だけ読みだされる。
【０２０７】
その際に、同一の再送パスｋ内では、上り回線で当該再送パスｋのＡＣＫパケット（ＡＣＫ（ｋ））を受信し、当該再送パスｋのＮＡＫパケット（ＮＡＫ（ｋ））を受信しない限りは該ＳＱＮ（ｋ）の順序で読みだされ、ＮＡＫパケット受信時は、ＮＡＫ（ｋ）で指示されたシーケンス番号ＳＱＮ（ｋ）値にさかのぼり読み出しを開始する。
【０２０８】
また、送信側再送制御回路９−１−３は、ＡＣＫ（ｋ）を受信していないシーケンス番号ＳＱＮ（ｋ）値のうち、最も若番の値について、常時送信側再送メモリ９−１−５にライトした時のタイマ値と、タイマ回路９−１−４の現タイマ（ｋ）値とを比較して、その差が予め定めた閾値以上ならば、対ＳＱＮ（ｋ）値のＩＰデータグラムはタイムアウトしたと判定し、該タイムアウトしたＳＱＮ（ｋ）値にさかのぼり読み出しを行う機能も持つ。本動作は図１の送信側再送制御回路１−３と同一である。
【０２０９】
こうして送信側再送メモリ９−１−５より読みだされたＩＰデータグラムは、データリンク層送信回路９−１−８および物理層送信回路９−１−９を通してＩＰ網２４に出力し、Ｍ×Ｎポートスイッチ２３４のラインカード２３−１で受信する。
【０２１０】
受信側では、まず物理層受信回路２３−１−１３、データリンク層受信回路２３−１−１２を通して受信側ＩＰ再送回路２３−１−１４にＩＰデータグラムが入力される。
【０２１１】
そして、ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路２３−１−１１でＩＰｖ６拡張ヘッダを取り出し、ＩＰデータグラム本体と共に受信側再送制御回路２３−１−３に入力する。
【０２１２】
受信側再送制御回路２３−１−３は、再送ヘッダ内にある正常性チェック用チェックサムを使用して、再送ヘッダ自体の誤りの有無を確認する。誤りがある場合は、正常に自動再送制御が期待できないため、受信側再送制御回路２３−１−３は、該ＩＰデータグラムを廃棄し、データ送信装置へのＮＡＫ返送も行わない。
【０２１３】
一方、チェックサム検査の結果、再送ヘッダ自体に誤りが無い場合、受信側再送制御回路２３−１−３は、該ＩＰデータグラムの正常性検査を行う。
【０２１４】
正常性検査には、再送ヘッダ内のＣＲＣ領域を使用するが、自動再送制御の処理時間を短縮するために、データリンク層受信回路２３−１−１２よりデータリンク層でのフレーム検査結果が出力される場合はそれを使用しても良い。データリンク層でのフレーム検査の一例に、イーサネットにおけるＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）演算がある。本動作は図１の受信側再送制御回路２０−３と同一である。
【０２１５】
ＩＰデータグラムの正常性検査の結果、正常なＩＰデータグラムであった場合、受信側再送制御回路２３−１−３は、該ＩＰデータグラムのシーケンス番号ＳＱＮ（ｋ）値等のヘッダ情報を含むＡＣＫパケット（ＡＣＫ（ｋ））を、該Ｍ×Ｎポートスイッチ２３４のラインカード２３−１が起点、Ｍ×Ｎポートスイッチ９４のラインカード９−１が受信点となるようにＡＣＫ／ＮＡＫ生成回路２３−１５で生成し、生成したＡＣＫパケット（ＡＣＫ（ｋ））を、選択回路２３−７で上り側回線に挿入することでデータ送信装置９−１に返送する。
【０２１６】
一方、ＩＰデータグラムの正常性検査の結果、受信したＩＰデータグラムに誤りがあると判定した場合、受信側再送制御回路２３−１−３は、該ＩＰデータグラムのシーケンス番号ＳＱＮ（ｋ）値等のヘッダ情報を含むＮＡＫパケット（ＮＡＫ（ｋ））を、該Ｍ×Ｎポートスイッチ２３４のラインカード２３−１が起点、Ｍ×Ｎポートスイッチ９４のラインカード９−１が受信点となるようにＡＣＫ／ＮＡＫ生成回路２３−１−１５で生成し、生成したＡＣＫパケット（ＡＣＫ（ｋ））を、選択回路２３−１−７で上り側回線に挿入することでＭ×Ｎポートスイッチ９４のラインカード９−１に返送する。
【０２１７】
また、受信側再送制御回路２３−１−３は、正常受信したＩＰデータグラムを、付与されたシーケンス番号ＳＱＮ（ｋ）、および該ＩＰデータグラム長ＭＴＵ（Ｋ）とともに、受信側再送メモリ２３−１−５に書き込む。受信側再送制御回路２３−１−３は、受信側再送メモリ２３−５内を再送パス毎に領域分割し、送信元ＩＰアドレスとフローラベルから該再送パスを判別し、該当する再送パスのメモリ領域内にシーケンス番号ＳＱＮ（ｋ）の若番から順に書き込む。
【０２１８】
なお、受信側再送制御回路２３−１−３内では、再送パスｋ別にウィンドウサイズＷ＿Ｒ（ｋ）を計算する。ウィンドウサイズは、受け取る事ができるデータ量を送信側に通知するための値であり、ＡＣＫ返送時はウィンドウサイズＷ＿Ｒ（ｋ）から該受信ＩＰデータグラム長を減算して送信側に通知し、ＮＡＫ返送時はウィンドウサイズは変更せずに送信側に通知する。
【０２１９】
次に、受信側再送メモリ２３−１−５の読み出し動作を示す。読み出しも受信側再送制御回路２３−１−３で行う。
【０２２０】
受信側再送制御回路２３−１−３内に、再送パスｋ別に読み出し用シーケンス番号カウンタＳＱＮ＿ＲＲ（ｋ）を設ける。受信側再送制御回路２３−１−３は、受信側再送メモリ２３−１−５の各再送パスを、全再送パスを公平もしくは予め定めた頻度順位に従ってチェックし、同一再送パス内で前のＩＰデータグラムと連続したシーケンス番号ＳＱＮ（ｋ）値が書き込まれているならば、該ＳＱＮ（ｋ）値のＩＰデータグラムを読み出し、スイッチ回路２３２に出力する。
【０２２１】
一方、ＩＰデータグラムの欠落や遅延によってＳＱＮ（ｋ）値に不連続が発生して、同一再送パス内のメモリ領域に歯抜けが発生しているならば、受信側再送制御回路２３−１−３は、タイマ回路２３−１−４の再送パスｋ用のタイマ（ｋ）を０から一定時刻毎にカウントアップを開始する。
【０２２２】
そして、タイマ（ｋ）値が設定閾値を超過する場合は、受信側再送制御回路２３−１−３は、タイムアウトが発生したと判断し、ＳＱＮ（ｋ）値の不連続が発生している最も若番のＳＱＮ（ｋ）値をＡＣＫ／ＮＡＫ番号ＳＱＮ＿ＡＮ（Ｋ）にセットしたＮＡＫパケット（ＮＡＫ（ｋ））を、送信側に返送する。
【０２２３】
一方、受信側再送制御回路２３−１−３は、該再送パスｋ用メモリ領域からのＩＰデータグラムの読み出しを行う度に、該タイマ（ｋ）を０にクリアする。これによって、再送パス別に、ＳＱＮ（ｋ）値が不連続な場合のタイムアウトを検出し、未到着ＩＰデータグラムのうち、最もシーケンス番号ＳＱＮ（ｋ）に対するＮＡＫ（ｋ）を送信側に返送する。
【０２２４】
本動作は図１の受信側再送制御回路２０−３と同一である。また、以上がデータ受信装置内の動作である。
【０２２５】
データ受信装置から出力されたＡＣＫパケットもしくはＮＡＫパケットは、ＩＰ網２４を通り、Ｍ×Ｎポートスイッチ９４のラインカード９−１に返送される。
【０２２６】
なお、送信側ラインカード９−１の送信側ＩＰ再送回路９−１−１４において、ＩＣＭＰｖ６モニタ回路９−１−１６は、再送パスｋ毎に、通信開始時に上り回線によって送付されるＩＣＭＰｖ６のパケットサイズ過大エラー（Ｐａｃｋｅｔ  Ｔｏｏ  Ｂｉｇ）パケットをモニタし、そのパケットサイズ過大エラーの発生を送信側再送メモリ領域算出回路９−１−１７と、送信側再送制御回路９−１−３に通知する。
【０２２７】
また、送信側再送制御回路９−１−３は、再送パスｋの通信開始時に、そのＲＴＴ（ｋ）をタイマ回路９−１−４を用いて測定し、測定結果のＲＴＴ（ｋ）を送信側再送メモリ領域算出回路９−１−１７と、ＩＰｖ６拡張ヘッダ内再送ヘッダ生成回路９−１−１５に転送する。
【０２２８】
送信側再送メモリ領域算出回路９−１−１７は、ＩＣＭＰｖ６モニタ回路９−１−１６より入力されるパケットサイズ過大エラーが発生するＭＴＵ値と、それが発生しないＭＴＵ値との閾値を監視し、該再送パスｋが透過可能な最大ＭＴＵ（ｋ）値を求めるとともに、ＲＴＴ（ｋ）値とから、式２を用いて、「ＭＥＭ（ｋ）≧最大ＭＴＵ（ｋ）×Ｚ  ≧  ＴＨｍｉｎ（ｋ）×ＲＴＴ（ｋ）」（Ｚは正の整数）となるメモリサイズを算出する。
【０２２９】
該メモリサイズは、送信側再送制御回路９−１−３に転送されて、再送パスｋのＩＰデータグラムを送信側再送メモリ９−１−５にライトする際のアドレス値上限の決定に使用される。
【０２３０】
また、最大ＭＴＵ（ｋ）は、送信側再送メモリ領域算出回路９−１−１７から送信側再送制御回路９−１−３経由でＩＰｖ６拡張ヘッダ内再送ヘッダ生成回路９−１−１５に転送される。
【０２３１】
ＩＰｖ６拡張ヘッダ内再送ヘッダ生成回路９−１−１５は、再送ヘッダに該ＲＴＴ（ｋ）値と、最大ＭＴＵ（ｋ）値も付与し、受信側に転送する。
【０２３２】
そして、受信側ラインカード２３−１の受信用ＩＰ再送回路２３−１−１４において、ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路２３−１−１１で、送信側で付与されたＲＴＴ（ｋ）と最大ＭＴＵ（ｋ）を読み出し、受信側再送メモリ領域算出回路２３−１−１７に入力する。
【０２３３】
受信側再送メモリ領域算出回路２３−１−１７は、やはり式２に従って、「ＭＥＭ（ｋ）≧最大ＭＴＵ（ｋ）×Ｚ  ≧  ＴＨｍｉｎ（ｋ）×ＲＴＴ（ｋ）」（Ｚは正の整数）となるメモリサイズを算出する。
【０２３４】
該メモリサイズは、受信側再送制御回路２３−１−３に転送されて、再送パスｋのＩＰデータグラムを受信側再送メモリ２３−１−５にライトする際のアドレス値上限の決定に使用される。
【０２３５】
以上が、図９による該Ｍ×Ｎポートスイッチ９４のラインカード９−１とＭ×Ｎポートスイッチ２３４のラインカード２３−１との間での自動再送制御の動作である。
【０２３６】
（送信側再送メモリ領域算出）
図１２は、送信側再送メモリ領域算出回路９−１−１７における、再送パスｋ毎の送信側再送メモリ領域算出演算の処理フローを説明する図である。
【０２３７】
再送パスｋ別に、目標とする最低保証スループットＴＨｍｉｎ（ｋ）を外部より設定する（図１２のＳ６１）。
【０２３８】
次に、送信側再送制御回路９−１−３が、タイマ回路９−１−４を用いて計測した再送パスｋのＲＴＴ（ｋ）値を入手する（図１２のＳ６２）。
【０２３９】
そして、送信側再送メモリ領域算出回路９−１−１７が、ＩＣＭＰｖ６モニタ回路９−１−１６より入力されるＩＣＭＰｖ６によるパケットサイズ過大エラーが発生するＭＴＵ値と、それが発生しないＭＴＵ値との閾値の監視結果から、該再送パスｋが透過可能な最大ＭＴＵ（ｋ）値を決定する（図１２のＳ６３）。
【０２４０】
次いで、送信側再送メモリ領域算出回路９−１−１７は、最低保証スループットＴＨｍｉｎ（ｋ）とＲＴＴ（ｋ）値とから、ウィンドウサイズＷ＿Ｔ（ｋ）を算出する（図１２のＳ６４）。更に、送信側再送メモリ領域算出回路９−１−１７は、Ｗ＿Ｔ（ｋ）を上回り、かつ、最大ＭＴＵ（ｋ）のＺ倍（Ｚは正の整数）となるＭＥＭ（ｋ）を決定する（図１２のＳ６５）。
【０２４１】
（受信側再送メモリ領域算出）
図１３は、受信側再送メモリ領域算出回路２３−１−１７における、再送パスｋ毎の受信側再送メモリ領域算出演算の処理フローを説明する図である。
【０２４２】
まず、再送パスｋ別に、目標とする最低保証スループットＴＨｍｉｎ（ｋ）を外部より設定する（図１２のＳ７１）。次に、ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路２３−１−１１が、再送ヘッダ中よりリードしたＲＴＴ（ｋ）値を入手する（図１３のＳ７２）。また、ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路２３−１−１１は、再送ヘッダ中よりリードした最大ＭＴＵ（ｋ）値を入手する（図１３のＳ７３）。
【０２４３】
そして、送信側と同様に、まず、受信側再送メモリ領域算出回路２３−１−１７は、最低保証スループットＴＨｍｉｎ（ｋ）とＲＴＴ（ｋ）値とから、ウィンドウサイズＷ＿Ｒ（ｋ）を算出する（図１３のＳ７４）。更に、受信側再送メモリ領域算出回路２３−１−１７は、Ｗ＿Ｒ（ｋ）を上回り、かつ、最大ＭＴＵ（ｋ）のＺ倍（Ｚは正の整数）となるＭＥＭ（ｋ）を決定する（図１２のＳ７５）。
【０２４４】
（その他の条件への適用）
図９に示す本実施の形態では、自動再送制御方式としてＧｏ−Ｂａｃｋ−Ｎ  ＡＲＱ方式としているが、より再送効率の高いＳｅｌｅｃｔｉｖｅ  Ｒｅｐｅａｔ  ＡＲＱ方式としても良い。その場合には、図１と同様に、図９の送信側再送制御回路９−１−３のメモリへのライト・リード処理フローと、受信側再送制御回路２３−１−３のメモリへのライト・リード処理フローを、Ｓｅｌｅｃｔｉｖｅ  Ｒｅｐｅａｔ  ＡＲＱ方式に対応する処理に変更する必要があるが、その変更のみでＳｅｌｅｃｔｉｖｅ  Ｒｅｐｅａｔ  ＡＲＱ方式とする事ができる。
【０２４５】
また、図９に示す本実施の形態では、上り回線において、ＡＣＫのほかに、ＮＡＫを使用しているが、ＴＣＰと同様に返送するのはＡＣＫのみとしても良い。
【０２４６】
また、図９に示す本実施の形態は、該ＩＰｖ６拡張ヘッダを再送ヘッダに用いた自動再送制御を、ＬＡＮのエッジに配備されるレイヤ３スイッチ（ルータ）の、広域網側のラインカードに適用しているが、データ送信装置とデータ受信装置の送受信機能に適用しても良い。
【０２４７】
以上が詳細動作である。
【０２４８】
（第２の実施の形態による効果）
本実施の形態によれば、再送パス毎の再送メモリ量が端末装置ほど十分に確保できず、再送パス別に通信開始時にメモリ領域を確保する場合に、効率的な再送メモリ領域の割り当てを行うことができる。
【０２４９】
また、本実施の形態に寄れば、該ＩＰｖ６拡張ヘッダを再送ヘッダに用いた自動再送制御を、広域網に接続されるＬＡＮ網のエッジノードに実装すれことにより、データ送受信装置に手を加える事無く、ＬＡＮ間の広域網での輻輳に起因する、ＴＣＰスループットの低下を回避と、ＴＣＰのタイムアウト時間に起因するＴＣＰ層での再送時間の増加の回避を、容易に構築できる事が可能にある。
【０２５０】
本発明のデータ送信装置１−１、データ受信装置２０−１の各機能は、プログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置８０７に格納し、そのプログラムを主記憶部８０２にロードしてＣＰＵ８０１で実行することにより、ソフトウェア的に実現することも可能である。
【０２５１】
以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【０２５２】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【０２５３】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【０２５４】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
【０２５５】
また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【０２５６】
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
【０２５７】
（付記１）
データ送信装置とデータ受信装置とを含む通信システムであって、
前記データ送信装置が、
データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与する手段を備える
ことを特徴とする通信システム。
【０２５８】
（付記２）
前記再送ヘッダは、少なくとも前記ＩＰデータグラムのシーケンス番号を含み、
前記シーケンス番号を、セッションやフロー別で区別される再送パス別に付与し、
前記データ受信装置が、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内のシーケンス番号を含むＡＣＫパケット又はＮＡＫパケットを、前記データ送信装置に送信する手段を備える
ことを特徴とする付記１に記載の通信システム。
【０２５９】
（付記３）
前記データ送信装置が、
再送パス別に分割した送信側再送メモリに対して、前記再送ヘッダを付与した前記ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に付与したシーケンス番号順に格納する送信側データ蓄積手段と、
前記データ受信装置より返送されるＡＣＫパケット又はＮＡＫパケットに含まれる前記シーケンス番号に対応する前記ＩＰデータグラムを、前記送信側再送メモリから読み出してデータ受信装置に対して出力する送信側再送制御手段とを備え、
前記データ受信装置が、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内の正常性チェック要チェックサムを使用して、当該ＩＰデータグラムの正常性を検査する手段と、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定した場合に、再送パス別に分割した受信側再送メモリに対して、当該ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に含まれる前記シーケンス番号順に格納する受信側データ蓄積手段と、
正常性検査の結果に基づいて、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケット又はＮＡＫパケットの生成をパケット送出手段に指示する受信側再送制御手段と、
前記受信側再送制御手段の指示にしたがって、ＡＣＫパケット又はＮＡＫパケットを生成し、対向するデータ送信装置への回線に対して送出するパケット送出手段とを備える
ことを特徴とする付記２に記載の通信システム。
【０２６０】
（付記４）
前記受信側再送制御手段は、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定された場合、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケットの生成をパケット送出手段に指示し、
正常性検査の結果、ＩＰデータグラムに誤りがあると判定された場合、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＮＡＫパケットの生成をパケット送出手段に指示する
ことを特徴とする付記３に記載の通信システム。
【０２６１】
（付記５）
前記受信側再送制御手段は、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのうち、シーケンス番号が連続する部分のデータグラムを外部に出力し、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのシーケンス番号に不連続が発生している場合、前記シーケンス番号の不連続が発生している最も若番のシーケンス番号をセットしたＮＡＫパケットの生成を前記パケット送出手段に指示する
ことを特徴とする付記３又は付記４に記載の通信システム。
【０２６２】
（付記６）
前記受信側再送制御手段は、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのシーケンス番号に不連続が発生している場合、タイマにより一定時刻毎にカウントアップを開始し、
タイマの値が予め設定した閾値を超えた場合、タイムアウトが発生したと判断し、前記シーケンス番号の不連続が発生している最も若番のシーケンス番号をセットしたＮＡＫパケットの生成を前記パケット送出手段に指示する
ことを特徴とする付記５に記載の通信システム。
【０２６３】
（付記７）
前記データ送信装置が、
前記データ受信装置より返送されるＡＣＫパケットの往復遅延時間を、再送パス別に判定する手段と、
ＩＰｖ６で規定される制御用ＩＣＭＰｖ６のパケット過大エラーから、再送パス別に、当該再送パスで転送可能な最大のＩＰデータグラム長である最大ＭＴＵ値を算出する手段と、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出する手段とを含み、
前記送信側データ蓄積手段が、
前記送信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定する
ことを特徴とする付記３から付記６の何れか１項に記載の通信システム。
【０２６４】
（付記８）
前記再送ヘッダを付与する手段が、
前記往復遅延時間、前記最大ＭＴＵ値とを含む再送ヘッダを、前記ＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に付与し、
前記データ受信装置が、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定された場合、
受信したＩＰデータグラムの再送ヘッダ内の前記往復遅延時間、前記最大ＭＴＵ値を読み出す手段と、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、前記最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出する手段とを含み、
前記受信側データ蓄積手段が、
前記受信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定する
ことを特徴とする付記７に記載の通信システム。
【０２６５】
（付記９）
前記データ送信装置及び前記データ受信装置が、パケットスイッチ装置であることを特徴とする付記１から付記８に記載の通信システム。
【０２６６】
（付記１０）
データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与する手段を備える
ことを特徴とするデータ送信装置。
【０２６７】
（付記１１）
前記再送ヘッダは、少なくとも前記ＩＰデータグラムのシーケンス番号を含み、
前記シーケンス番号を、セッションやフロー別で区別される再送パス別に付与する
ことを特徴とする付記１１に記載のデータ送信装置。
【０２６８】
（付記１２）
前記データ送信装置が、
再送パス別に分割した送信側再送メモリに対して、前記再送ヘッダを付与した前記ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に付与したシーケンス番号順に格納する送信側データ蓄積手段と、
前記データ受信装置より返送されるＡＣＫパケット又はＮＡＫパケットに含まれる前記シーケンス番号に対応する前記ＩＰデータグラムを、前記送信側再送メモリから読み出してデータ受信装置に対して出力する送信側側再送制御手段と
を備えることを特徴とする付記１１に記載のデータ送信装置。
【０２６９】
（付記１３）
前記データ送信装置が、
前記データ受信装置より返送されるＡＣＫパケットの往復遅延時間を、再送パス別に判定する手段と、
ＩＰｖ６で規定される制御用ＩＣＭＰｖ６のパケット過大エラーから、再送パス別に、当該再送パスで転送可能な最大のＩＰデータグラム長である最大ＭＴＵ値を算出する手段と、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出する手段とを含み、
前記送信側データ蓄積手段が、
前記送信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定する
ことを特徴とする付記１２に記載のデータ送信装置。
【０２７０】
（付記１４）
前記データ送信装置及び前記データ受信装置が、パケットスイッチ装置であることを特徴とする付記１１から付記１３に記載のデータ送信装置。
【０２７１】
（付記１５）
データ送信装置から、ＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダが付与されたＩＰデータグラムを受信する手段と、
当該ＩＰデータグラムの再送ヘッダ内のシーケンス番号を含むＡＣＫパケット又はＮＡＫパケットを、前記データ送信装置に送信する手段と
を備えることを特徴とするデータ受信装置。
【０２７２】
（付記１６）
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内の正常性チェック要チェックサムを使用して、当該ＩＰデータグラムの正常性を検査する手段と、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定した場合に、再送パス別に分割した受信側再送メモリに対して、当該ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に含まれる前記シーケンス番号順に格納する受信側データ蓄積手段と、
正常性検査の結果に基づいて、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケット又はＮＡＫパケットの生成をパケット送出手段に指示する受信側再送制御手段と、
前記受信側再送制御手段の指示にしたがって、ＡＣＫパケット又はＮＡＫパケットを生成し、対向するデータ送信装置への回線に対して送出するパケット送出手段と
を備えることを特徴とする付記１５に記載のデータ受信装置。
【０２７３】
（付記１７）
前記受信側再送制御手段は、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定された場合、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケットの生成をパケット送出手段に指示し、
正常性検査の結果、ＩＰデータグラムに誤りがあると判定された場合、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＮＡＫパケットの生成をパケット送出手段に指示する
ことを特徴とする付記１６に記載のデータ受信装置。
【０２７４】
（付記１８）
前記受信側再送制御手段は、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのうち、シーケンス番号が連続する部分のデータグラムを外部に出力し、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのシーケンス番号に不連続が発生している場合、前記シーケンス番号の不連続が発生している最も若番のシーケンス番号をセットしたＮＡＫパケットの生成を前記パケット送出手段に指示する
ことを特徴とする付記１６又は付記１７に記載のデータ受信装置。
【０２７５】
（付記１９）
前記受信側再送制御手段は、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのシーケンス番号に不連続が発生している場合、タイマにより一定時刻毎にカウントアップを開始し、
タイマの値が予め設定した閾値を超えた場合、タイムアウトが発生したと判断し、前記シーケンス番号の不連続が発生している最も若番のシーケンス番号をセットしたＮＡＫパケットの生成を前記パケット送出手段に指示する
ことを特徴とする付記１８に記載のデータ受信装置。
【０２７６】
（付記２０）
前記データ送信装置から、
前記データ受信装置より返送されるＡＣＫパケットの往復遅延時間と、再送パス別に、ＩＰｖ６で規定される制御用ＩＣＭＰｖ６のパケット過大エラーから算出された、当該再送パスで転送可能な最大のＩＰデータグラム長である最大ＭＴＵ値とを含む再送ヘッダが付与されたＩＰデータグラムを受信し、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定された場合、
受信したＩＰデータグラムの再送ヘッダ内の前記往復遅延時間、前記最大ＭＴＵ値を読み出す手段と、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、前記最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出する手段とを含み、
前記受信側データ蓄積手段が、
前記受信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定する
ことを特徴とする付記１６から付記１９の何れか１項に記載のデータ受信装置。
【０２７７】
（付記２１）
前記データ送信装置及び前記データ受信装置が、パケットスイッチ装置であることを特徴とする付記１５から付記２０に記載のデータ受信装置。
【０２７８】
（付記２２）
データ送信装置とデータ受信装置とを含む通信システムによるパケット再送制御方法であって、
前記データ送信装置が、
データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与するステップを有する
ことを特徴とするパケット再送制御方法。
【０２７９】
（付記２３）
前記再送ヘッダは、少なくとも前記ＩＰデータグラムのシーケンス番号を含み、
前記シーケンス番号を、セッションやフロー別で区別される再送パス別に付与し、
前記データ受信装置が、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内のシーケンス番号を含むＡＣＫパケット又はＮＡＫパケットを、前記データ送信装置に送信するステップを有する
ことを特徴とする付記２２に記載のパケット再送制御方法。
【０２８０】
（付記２４）
前記データ送信装置が、
再送パス別に分割した送信側再送メモリに対して、前記再送ヘッダを付与した前記ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に付与したシーケンス番号順に格納する送信側データ蓄積ステップと、
前記データ受信装置より返送されるＡＣＫパケット又はＮＡＫパケットに含まれる前記シーケンス番号に対応する前記ＩＰデータグラムを、前記送信側再送メモリから読み出してデータ受信装置に対して出力する送信側再送制御ステップとを有し、
前記データ受信装置が、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内の正常性チェック要チェックサムを使用して、当該ＩＰデータグラムの正常性を検査するステップと、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定した場合に、再送パス別に分割した受信側再送メモリに対して、当該ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に含まれる前記シーケンス番号順に格納する受信側データ蓄積ステップと、
正常性検査の結果に基づいて、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケット又はＮＡＫパケットの生成をパケット送出ステップに指示する受信側再送制御ステップと、
前記受信側再送制御ステップの指示にしたがって、ＡＣＫパケット又はＮＡＫパケットを生成し、対向するデータ送信装置への回線に対して送出するパケット送出ステップとを有する
ことを特徴とする付記２３に記載のパケット再送制御方法。
【０２８１】
（付記２５）
前記受信側再送制御ステップで、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定された場合、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケットの生成をパケット送出ステップに指示し、
正常性検査の結果、ＩＰデータグラムに誤りがあると判定された場合、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＮＡＫパケットの生成をパケット送出ステップに指示する
ことを特徴とする付記２４に記載のパケット再送制御方法。
【０２８２】
（付記２６）
前記受信側再送制御ステップで、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのうち、シーケンス番号が連続する部分のデータグラムを外部に出力し、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのシーケンス番号に不連続が発生している場合、前記シーケンス番号の不連続が発生している最も若番のシーケンス番号をセットしたＮＡＫパケットの生成を前記パケット送出ステップに指示する
ことを特徴とする付記２４又は付記２５に記載のパケット再送制御方法。
【０２８３】
（付記２７）
前記受信側再送制御ステップで、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのシーケンス番号に不連続が発生している場合、タイマにより一定時刻毎にカウントアップを開始し、
タイマの値が予め設定した閾値を超えた場合、タイムアウトが発生したと判断し、前記シーケンス番号の不連続が発生している最も若番のシーケンス番号をセットしたＮＡＫパケットの生成を前記パケット送出ステップに指示する
ことを特徴とする付記２６に記載のパケット再送制御方法。
【０２８４】
（付記２８）
前記データ送信装置が、
前記データ受信装置より返送されるＡＣＫパケットの往復遅延時間を、再送パス別に判定するステップと、
ＩＰｖ６で規定される制御用ＩＣＭＰｖ６のパケット過大エラーから、再送パス別に、当該再送パスで転送可能な最大のＩＰデータグラム長である最大ＭＴＵ値を算出するステップと、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出するステップとを有し、
前記送信側データ蓄積ステップで、
前記送信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定する
ことを特徴とする付記２４から付記２７の何れか１項に記載のパケット再送制御方法。
【０２８５】
（付記２９）
前記再送ヘッダを付与するステップで、
前記往復遅延時間、前記最大ＭＴＵ値とを含む再送ヘッダを、前記ＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に付与し、
前記データ受信装置が、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定された場合、
受信したＩＰデータグラムの再送ヘッダ内の前記往復遅延時間、前記最大ＭＴＵ値を読み出すステップと、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、前記最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出するステップとを有し、
前記受信側データ蓄積ステップで、
前記受信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定する
ことを特徴とする付記２８に記載のパケット再送制御方法。
【０２８６】
（付記３０）
前記データ送信装置及び前記データ受信装置が、パケットスイッチ装置であることを特徴とする付記２２から付記２９に記載のパケット再送制御方法。
【０２８７】
（付記３１）
データ送信装置とデータ受信装置とを含む通信システムによるパケット再送制御プログラムであって、
前記データ送信装置に、
データ受信装置に出力するＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に再送ヘッダを付与する処理を実行させる
ことを特徴とするパケット再送制御プログラム。
【０２８８】
（付記３２）
前記再送ヘッダは、少なくとも前記ＩＰデータグラムのシーケンス番号を含み、
前記シーケンス番号を、セッションやフロー別で区別される再送パス別に付与し、
前記データ受信装置に、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内のシーケンス番号を含むＡＣＫパケット又はＮＡＫパケットを、前記データ送信装置に送信する処理を実行させる
ことを特徴とする付記３１に記載のパケット再送制御プログラム。
【０２８９】
（付記３３）
前記データ送信装置に、
再送パス別に分割した送信側再送メモリに対して、前記再送ヘッダを付与した前記ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に付与したシーケンス番号順に格納する送信側データ蓄積処理と、
前記データ受信装置より返送されるＡＣＫパケット又はＮＡＫパケットに含まれる前記シーケンス番号に対応する前記ＩＰデータグラムを、前記送信側再送メモリから読み出してデータ受信装置に対して出力する送信側再送制御処理とを実行させ、
前記データ受信装置に、
前記データ送信装置から受信した前記ＩＰデータグラムの再送ヘッダ内の正常性チェック要チェックサムを使用して、当該ＩＰデータグラムの正常性を検査する処理と、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定した場合に、再送パス別に分割した受信側再送メモリに対して、当該ＩＰデータグラムを、当該再送パス別に、前記再送ヘッダ内に含まれる前記シーケンス番号順に格納する受信側データ蓄積処理と、
正常性検査の結果に基づいて、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケット又はＮＡＫパケットの生成をパケット送出処理に指示する受信側再送制御処理と、
前記受信側再送制御処理の指示にしたがって、ＡＣＫパケット又はＮＡＫパケットを生成し、対向するデータ送信装置への回線に対して送出するパケット送出処理とを実行させる
ことを特徴とする付記３２に記載の通信システム。
【０２９０】
（付記３４）
前記受信側再送制御処理で、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定された場合、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＡＣＫパケットの生成をパケット送出処理に指示し、
正常性検査の結果、ＩＰデータグラムに誤りがあると判定された場合、当該ＩＰデータグラムの前記シーケンス番号を少なくとも含むＮＡＫパケットの生成をパケット送出処理に指示する
ことを特徴とする付記３３に記載のパケット再送制御プログラム。
【０２９１】
（付記３５）
前記受信側再送制御処理で、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのうち、シーケンス番号が連続する部分のデータグラムを外部に出力し、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのシーケンス番号に不連続が発生している場合、前記シーケンス番号の不連続が発生している最も若番のシーケンス番号をセットしたＮＡＫパケットの生成を前記パケット送出処理に指示する
ことを特徴とする付記３３又は付記３４に記載のパケット再送制御プログラム。
【０２９２】
（付記３６）
前記受信側再送制御処理で、
再送パス別に前記受信側再送メモリに格納されているＩＰデータグラムのシーケンス番号に不連続が発生している場合、タイマにより一定時刻毎にカウントアップを開始し、
タイマの値が予め設定した閾値を超えた場合、タイムアウトが発生したと判断し、前記シーケンス番号の不連続が発生している最も若番のシーケンス番号をセットしたＮＡＫパケットの生成を前記パケット送出処理に指示する
ことを特徴とする付記３５に記載のパケット再送制御プログラム。
【０２９３】
（付記３７）
前記データ送信装置に、
前記データ受信装置より返送されるＡＣＫパケットの往復遅延時間を、再送パス別に判定する処理と、
ＩＰｖ６で規定される制御用ＩＣＭＰｖ６のパケット過大エラーから、再送パス別に、当該再送パスで転送可能な最大のＩＰデータグラム長である最大ＭＴＵ値を算出する処理と、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出する処理とを実行させ、
前記送信側データ蓄積処理で、
前記送信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定する
ことを特徴とする付記３３から付記３６の何れか１項に記載のパケット再送制御プログラム。
【０２９４】
（付記３８）
前記再送ヘッダを付与する処理で、
前記往復遅延時間、前記最大ＭＴＵ値とを含む再送ヘッダを、前記ＩＰデータグラムのＩＰｖ６ヘッダに付加した拡張ヘッダ領域に付与し、
前記データ受信装置に、
正常性検査の結果、ＩＰデータグラムに誤りが無いと判定された場合、
受信したＩＰデータグラムの再送ヘッダ内の前記往復遅延時間、前記最大ＭＴＵ値を読み出す処理と、
再送パスの最低保証目標スループットと前記往復遅延時間の積と、前記最大ＭＴＵ値とから、当該再送パスの最低保証スループットを満たすために必要な再送メモリ量を算出する処理とを実行させ、
前記受信側データ蓄積処理で、
前記受信側再送メモリに前記ＩＰデータグラムを格納する際のアドレス上限値を、算出した前記再送メモリ量を用いて決定する
ことを特徴とする付記３７に記載のパケット再送制御プログラム。
【０２９５】
（付記３９）
前記データ送信装置及び前記データ受信装置が、パケットスイッチ装置であることを特徴とする付記３１から付記３８に記載のパケット再送制御プログラム。
【符号の説明】
【０２９６】
１００、２００：通信システム
１−１、１６−１、１８１：データ送信装置
１−２、２０−２：ＩＰｖ６送信回路
１６−２、２１−２：ＩＰ送信回路
１−３、１６−３：送信側再送制御回路
１−４、２０−４、１６−４：タイマ回路
１−５、１６−５：送信側再送メモリ
１−６、２０−６、１６−６：上位層処理
２０−７：選択回路
１−８、２０−８、１６−８：データリンク層送信回路
１−９、２０−９、１６−９：物理層送信回路
１−１０、２０−１０：ＩＰｖ６受信回路
１６−１０、２１−１０：ＩＰ受信回路
１−１１、２０−１１：ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路
１−１２、２０−１２、１６−１２、２１−１２：データリンク層受信回路
１−１３、２０−１３、１６−１３、２１−１３：物理層受信回路
１−１４：送信側ＩＰ再送回路
１−１５：ＩＰｖ６拡張ヘッダ内再送ヘッダ生成回路
２０−１、１８２：データ受信装置
２０−３：受信側再送制御回路
２０−５：受信側再送メモリ
２０−１４：受信側ＩＰ再送回路
２０−１５：ＡＣＫ／ＮＡＫパケット生成回路
４３、１４３、１８３：レイヤ３スイッチ
４４、４５、１８４、１８５：レイヤ２スイッチ（イーサネットスイッチ）
２２、２４：ＩＰ網
１０１、１０２：メモリ領域
９−１〜９−Ｎ：送信側再送制御機能を有するラインカード
９−１−３：送信側再送制御回路
９−１−４、２３−１−４：タイマ回路
９−１−５：送信側再送メモリ
２３−１−７：選択回路
９−１−８、２３−１−８：データリンク層送信回路
９−１−９、２３−１−９：物理層送信回路
９−１−１１、２３−１−１１：ＩＰｖ６拡張ヘッダ内再送ヘッダ抽出回路
９−１−１２、２３−１−１２：データリンク層受信回路
９−１−１３、２３−１−１３：物理層受信回路
９−１−１４：送信側ＩＰ再送回路
９−１−１５：ＩＰｖ６拡張ヘッダ内再送ヘッダ生成回路
９−１−１６：ＩＣＭＰｖ６モニタ回路
９−１−１７：送信側再送メモリ領域算出回路
９２、２３２：スイッチ回路
９０−１〜９０−Ｍ、２３０−１〜２３０−Ｍ：ラインカード
９４、２３４：Ｍ×Ｎポートスイッチ装置
２３−１〜２３−Ｎ：受信側再送制御機能を有するラインカード
２３−１−５〜２３−１−Ｎ：受信側再送メモリ
２３−１−１４：受信側ＩＰ再送回路
２３−１−１７：受信側再送メモリ領域算出回路
１４１：データ送信装置
１４２：データ受信装置
１４４、１４５：ＬＡＮ
１４６：広域網
１６−１４：送信側レイヤ２．５再送回路
１６−１５：レイヤ２．５ヘッダ生成回路
２１−１１：レイヤ２．５ヘッダ終端回路
２１−１４：受信側レイヤ２．５再送回路
２１−１５：ＡＣＫパケット生成回路
２１−２０：レイヤ２網
【図１】
0005842519.tif 000002
【図２】
0005842519.tif 000003
【図３】
0005842519.tif 000004
【図４】
0005842519.tif 000005
【図５】
0005842519.tif 000006
【図６】
0005842519.tif 000007
【図７】
0005842519.tif 000008
【図８】
0005842519.tif 000009
【図９】
0005842519.tif 000010
【図１０】
0005842519.tif 000011
【図１１】
0005842519.tif 000012
【図１２】
0005842519.tif 000013
【図１３】
0005842519.tif 000014
【図１４】
0005842519.tif 000015
【図１５】
0005842519.tif 000016
【図１６】
0005842519.tif 000017
【図１７】
0005842519.tif 000018
【図１８】
0005842519.tif 000019
【図１９】
0005842519.tif 000020
【図２０】
0005842519.tif 000021