受信側の通信装置が、連続再送が要求されるデータ量を示す再送データ量を取得し、前記再送データ量に基づいて、障害が発生したフレームからの連続再送が要求されるフレーム群の中の最終フレームを特定するための最終フレーム情報を決定し、前記連続再送が要求される前記フレーム群の中の先頭フレームを特定するための要求フレーム情報及び前記最終フレーム情報を少なくとも含むNAKフレームを生成し、前記生成されたNAKフレームを送信し、送信側の通信装置が、前記受信側の通信装置から送信されたNAKフレームを受信し、前記受信されたNAKフレームに含まれる前記要求フレーム情報及び前記最終フレーム情報に基づいて特定される先頭フレームから最終フレームまでの各再送フレームを送信フレームを格納する格納部から順次読み出し、前記読み出された各再送フレームを連続的に送信する、ことを含む通信方法。前記受信側の通信装置が、前記送信側の通信装置から連続再送されるフレーム群の中に障害を検出し、前記連続再送されているフレーム群の中に障害が検出された場合に、前記最終フレーム情報を更新し、前記送信側の通信装置が、前記各再送フレームの連続送信中に、前記最終フレーム情報とは異なる更新された最終フレーム情報を含むNAKフレームが受信された場合に、前記最終フレームを該更新された最終フレーム情報に基づいて特定されるフレームに変更する、ことを更に含む請求項1に記載の通信方法。前記受信側の通信装置が、前記最終フレーム情報に基づいて特定される連続再送の最終フレームの次に送信されるフレームに障害が検出された場合には、前記再送データ量に基づいて次の連続再送のための最終フレーム情報を再度決定する、ことを更に含む請求項1又は2に記載の通信方法。前記送信側の通信装置が、既に初回読み出しが終了しているフレームの次に初回読み出しすべきフレームが格納されている第1アドレスと、現在読み出すべきフレームが格納されている第2アドレスとを別々に保持し、前記第2アドレスを用いて前記最終フレームまでの各再送フレームの順次読み出しが終了した後、前記第1アドレスを前記第2アドレスと一致させることにより前記次に初回読み出しすべきフレームを前記格納部から読み出す、ことを更に含む請求項1から3のいずれか1項に記載の通信方法。前記送信側の通信装置が、前記受信されたNAKフレームに含まれるトランザクション識別子と、既に送信されたフレームに含まれていたトランザクション識別子とを比較することにより、前記各再送フレームの連続送信を開始するか否かを判定し、前記各再送フレームの連続送信を開始する際及びシーケンス番号が一巡する際にのみ、送信されるフレームに含まれるトランザクション識別子を更新する、ことを更に含む請求項1から4のいずれか1項に記載の通信方法。前記最終フレーム情報として前記再送データ量そのものが用いられ、前記要求フレーム情報で前記先頭フレームが特定され、前記先頭フレーム及び前記再送データ量で前記最終フレームが特定される、ことを特徴とする請求項1から5のいずれか1項に記載の通信方法。前記受信側の通信装置が、所定の誤り率以上で誤りが発生している箇所のデータ量をバースト誤り量としてカウントし、前記バースト誤り量の統計情報に基づいて、前記再送データ量を決定する、ことを更に含む請求項1から6のいずれか1項に記載の通信方法。連続再送が要求されるデータ量を示す再送データ量を取得する再送データ量取得部と、前記再送データ量に基づいて、障害が発生したフレームからの連続再送が要求されるフレーム群の中の最終フレームを特定するための最終フレーム情報を決定する決定部と、前記連続再送が要求される前記フレーム群の中の先頭フレームを示す要求フレーム情報及び前記最終フレーム情報を少なくとも含むNAKフレームを生成する生成部と、前記要求フレーム情報で特定される先頭フレームから前記最終フレーム情報で特定される最終フレームまでの連続再送を要求するために前記NAKフレームを送信側通信装置に送信する送信部と、を備えることを特徴とする通信装置。既に送信されたフレームデータを格納する格納部と、受信側の通信装置から送信されたNAKフレームを受信する受信部と、前記受信されたNAKフレームに含まれる要求フレーム情報及び最終フレーム情報に基づいて特定される先頭フレームから最終フレームまでの各再送フレームのデータを前記格納部から順次読み出す読出処理部と、前記読み出された各再送フレームを連続的に送信する送信部と、を備えることを特徴とする通信装置。コンピュータに、連続再送が要求されるデータ量を示す再送データ量を取得する再送データ量取得部と、前記再送データ量に基づいて、障害が発生したフレームからの連続再送が要求されるフレーム群の中の最終フレームを特定するための最終フレーム情報を決定する決定部と、前記連続再送が要求される前記フレーム群の中の先頭フレームを示す要求フレーム情報及び前記最終フレーム情報を少なくとも含むNAKフレームを生成する生成部と、前記要求フレーム情報で特定される先頭フレームから前記最終フレーム情報で特定される最終フレームまでの連続再送を要求するために前記NAKフレームを送信側通信装置に送信する送信部と、を実現させることを特徴とする通信プログラム。しかしながら、上述のような各従来技術は次のような問題を抱える。例えば、2種類のARQ方式を切り替える手法上述の第1従来技術及び第2従来技術では、ARQ方式の切り替えに多くの時間がかかってしまう。しかし、それら手法では、このような時間が考慮されていない。よって、このような手法では、ARQ方式の切り替え中に発生した誤りに対して、制御信号量が低減できない等、個々のARQ方式の効果が得られないため、帯域を向上させることができない。これら従来手法の問題は例えば以下のような理由で生じる。第1従来技術は、2つのARQ方式の切り替えをシーケンス番号上記特許文献1内ではデータ番号が一巡することをトリガとして行っているからである。よって、第1従来技術では、RTTが大きいネットワーク即ち長距離の回線においては、バースト誤りが発生してからARQ方式が切り替えられるまでに時間がかかってしまう。第2従来技術は、2つのARQ方式の切り替えを平均誤り率に基づいて行っているからである。よって、第2従来技術では、バースト誤りが発生してから、受信平均誤り率が閾値TEを超え、ARQ方式がSR方式からGBN方式に切りかわるのに、多くの時間が費やされる。例えば、図25によれば、g3-01で示される間、SR方式からGBN方式に切り替わるのに時間を要し、この間の再送はSR方式で実施される。本発明の目的は、フレーム障害から回復するための再送を効率よく実施する通信制御技術を提供することにある。本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。第1の態様は、受信側の通信装置及び送信側の通信装置により実行される通信方法に関する。第1態様に係る通信方法では、受信側の通信装置が、連続再送が要求されるデータ量を示す再送データ量を取得し、この再送データ量に基づいて、障害が発生したフレームからの連続再送が要求されるフレーム群の中の最終フレームを特定するための最終フレーム情報を決定し、上記連続再送が要求されるフレーム群の中の先頭フレームを特定するための要求フレーム情報及び上記最終フレーム情報を少なくとも含むNAKフレームを生成し、この生成されたNAKフレームを送信し、送信側の通信装置が、受信側の通信装置から送信されたNAKフレームを受信し、この受信されたNAKフレームに含まれる上記要求フレーム情報及び上記最終フレーム情報に基づいて特定される先頭フレームから最終フレームまでの各再送フレームを送信フレームを格納する格納部から順次読み出し、読み出された各再送フレームを連続的に送信する。第2の態様は通信装置に関する。第2の態様に係る通信装置は、連続再送が要求されるデータ量を示す再送データ量を取得する再送データ量取得部と、当該再送データ量に基づいて、障害が発生したフレームからの連続再送が要求されるフレーム群の中の最終フレームを特定するための最終フレーム情報を決定する決定部と、上記連続再送が要求される上記フレーム群の中の先頭フレームを示す要求フレーム情報及び上記最終フレーム情報を少なくとも含むNAKフレームを生成する生成部と、上記要求フレーム情報で特定される先頭フレームから上記最終フレーム情報で特定される最終フレームまでの連続再送を要求するために上記NAKフレームを送信側通信装置に送信する送信部と、を備える。第3の態様は通信装置に関する。第3の態様に係る通信装置は、既に送信されたフレームデータを格納する格納部と、受信側の通信装置から送信されたNAKフレームを受信する受信部と、受信されたNAKフレームに含まれる要求フレーム情報及び最終フレーム情報に基づいて特定される先頭フレームから最終フレームまでの各再送フレームのデータを上記格納部から順次読み出す読出処理部と、読み出された各再送フレームを連続的に送信する送信部と、を備える。なお、本発明の別態様としては、上記第2の態様又は上記第3の態様に係る通信装置の構成をコンピュータに実現させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記憶媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。上記各態様によれば、フレーム障害から回復するための再送を効率よく実施する通信制御技術を提供することができる。以下、本発明の実施の形態について説明する。なお、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。[第1実施形態]装置構成図1は、第1実施形態における通信端末の構成例を概念的に示す図である。第1実施形態における通信端末10及び20は、各NIC12を通して回線1及び2により相互に接続される。なお、本実施形態は、各通信端末に接続される他の通信端末の数や、伝送媒体を制限しない。伝送媒体は、例えば、無線、光ケーブル、UTPUnshieldedTwistPaircable等である。通信端末10及び20は、後述する同じNIC12をそれぞれ持てばよいが、以降、説明の便宜のため、通信端末10を送信用端末として説明し、通信端末20を受信用端末として説明する。ここで、送信用端末とは、フレームを送信しかつACK又はNAKを受信する端末を意味し、受信用端末とは、送信用端末から送信されたフレームを受信しかつACK又はNAKを送信する端末を意味する。また、図1の例では、本発明に関連しない構成要素は図示されていない。よって、通信端末10及びNIC12は、図1で示される構成以外にも、例えば、コネクション確立部、再送信タイマ等なども有している。また、以降の説明では、NICNetworkInterfaceCardとしてイーサネット登録商標NICを例示し、送受信されるデータの単位をパケットではなくフレームと表記する。なお、本実施形態は、データリンク層をイーサネット登録商標に制限するものではなく、データリンク層はIEEE801.11無線LAN等であってもよい。以下、通信端末10及び20は同じ構成を有すればよいため、通信端末10の構成を代表して図1を用いて説明する。通信端末10は、他ブロック11、NIC12等を有する。他ブロック11は、CPUCentralProcessingUnit等の上位構成の処理ブロックであり、外部へ送出するためのデータをNIC12へ送り、外部からのデータをNIC12経由で受信する。本実施形態は、他ブロック11の詳細処理を制限しない。NIC12は、本発明の通信装置に相当し、回線1及び2を収容し、回線1を経由して受信用の通信端末20へデータを送信し、回線2を経由して通信端末20からのデータを受信する。NIC12は、図1に示されるように、内部インタフェース部100、ヘッダ付与部101、送信バッファ部102、ACK/NAK生成部103、トランザクション識別子付与部以降、ID付与部と表記する114、ヘッダ誤り訂正符号付与部以降、ECC付与部と表記する104、フレーム誤り検出符号付与部以降、EDC付与部と表記する105、送信部106、受信部108、ヘッダ誤り訂正部109、フレーム誤り検出部110、フレーム識別部111、送信バッファ制御部112、受信バッファ部113、再送データ量設定部115等を有する。NIC12に含まれる各処理部は、個々に又は複数組み合わせられて、ハードウェア構成要素又はソフトウェア構成要素若しくはそれらの組み合わせにより実現される。ハードウェア構成要素とは、例えば、フィールドプログラマブルゲートアレイFPGA、特定用途向け集積回路ASIC、ゲートアレイ、論理ゲートの組み合わせ、信号処理回路、アナログ回路等のようなハードウェア回路である。ソフトウェア構成要素とは、1又は複数のメモリ上のデータプログラムが1又は複数のプロセッサ例えば、CPUCentralProcessingUnit、DSPDigitalSignalProcessor等で実行されることにより実現される、タスク、プロセス、関数のようなソフトウェア部品断片である。例えば、ACK/NAK生成部103、フレーム識別部111、送信バッファ制御部112及びID付与部114は、図示しないプログラム制御プロセッサ上で図示しないメモリに格納されたプログラムを実行することにより実現されてもよい。内部インタフェース部100は、他ブロック11から送信用のデータを取得し、そのデータをヘッダ付与部101へ渡す。また、内部インタフェース部100は、読出し可能なデータが受信バッファ部113にある場合、受信バッファ部113からデータを取得し、その読み出されたデータを他ブロック11へ送る。ヘッダ付与部101は、内部インタフェース部100からデータを取得し、そのデータにシーケンス番号を含むフレームヘッダを付加し、フレームヘッダが付加されたデータをフレームとして送信バッファ部102へ送る。また、ヘッダ付与部101は、送信バッファ部102からバッファ空き情報を入手し、空きサイズが閾値より小さくなった場合、内部インタフェース部100へデータ出力の停止を要求する。なお、フレームヘッダには、再送に使用するタイプ、フラグ、シーケンス番号に加えて、あて先アドレス、送信元アドレス等のフレームの送信に必要な情報が設定される。送信バッファ部102は、ヘッダ付与部101から入力されたフレームをフレームに付与されているシーケンス番号に従い保存する。送信バッファ部102は本件発明の格納部及び読出処理部に相当する。送信バッファ部102は、読出し可能なフレームが保存されている場合には、そのフレームを読出し、読み出されたフレームをACK/NAK生成部103へ送る。送信バッファ部102は、ACK/NAK生成部103からの読出し停止に応じてフレームの読出しを停止する。更に、送信バッファ部102は、送信バッファ制御部112からの再送信指示に従い、当該再送信フレームを再度読出しその読み出された再送信フレームをACK/NAK生成部103へ送る。送信バッファ部102は、送信バッファ制御部112からの指示により、内部のフレームを削除する。ACK/NAK生成部103は、フレーム識別部111からACK/NAK生成指示を受けると、送信バッファ部102へフレームの読出し停止を指示し、そのACK/NAK生成指示に応じてACKフレーム又はNAKフレームを生成する。ACK/NAK生成部103は、フレーム識別部111からACK/NAK生成指示を受けなくなると、送信バッファ部102へのフレームの読出し停止を解除し、送信バッファ部102から送られてきたフレームをID付与部114へ送る。ACK/NAK生成部103は本発明の生成部に相当する。なお、ACK/NAK生成指示には、次に受信すべきフレームのシーケンス番号、そのフレームに付与されるはずのトランザクション識別子が含まれる。NAKの生成指示には、更に、シーケンス番号と後述する再送データ量RDSRetransmissionDataSizeとから生成される再送されるべきフレームの中の最終フレームを示すシーケンス番号以降、EOSEndOfSequencenumber又は最終シーケンス番号と表記するが含まれる。ACK/NAK生成部103は、生成するACK/NAKに、次に受信すべきフレームのシーケンス番号、トランザクション識別子、及びEOSを設定する。ID付与部114は、フレーム識別部111から送られる再送/更新指示により、ACK/NAK生成部103から送られるフレームが再送フレームであるか否かを知る。ID付与部114は、そのフレームが再送フレームである場合、トランザクション識別子を更新又は付加し、当該フレームをECC付与部104へ送る。ID付与部114は、そのフレームが再送フレームでない場合、そのフレームに現在保持されているトランザクション識別子を付加し、当該フレームをECC付与部104へ送る。なお、再送/更新指示には、NAKフレームに設定されている再送が要求されるフレームのシーケンス番号、EOS、及び当該NAKフレームに設定されていたトランザクション識別子が含まれる。ECC付与部104は、ID付与部114からフレームを受けると、当該フレームのヘッダ部のための誤り訂正符号以降、ヘッダ誤り訂正符号と表記するを計算し、そのヘッダ誤り訂正符号をヘッダの一部として当該フレームに付与する。また、ECC付与部104は、ヘッダ誤り訂正符号が付与されたフレームをEDC付与部105へ送る。ヘッダ誤り訂正符号としては、一般的によく用いられるハミング、RS、BCH符号等が利用される。EDC付与部105は、ECC付与部104からフレームを取得すると、当該フレームのための誤り検出符号以降、フレーム誤り検出符号と表記するを計算し、このフレーム誤り検出符号を当該フレームに付与する。EDC付与部105は、フレーム誤り検出符号が付加されたフレームを送信部106へ送る。フレーム誤り検出符号には、一般的によく用いられるCRC符号などが利用される。送信部106は、EDC付与部105からフレームを取得し、取得されたフレームに対して符号化、スクランブル、シリアライズを行い、それら処理により得られた信号を回線1を介して送信する。例えば、送信部106は、イーサネット登録商標におけるPCSPhysicalCodingSublayer、PMAPhysicalMediumAttachment、PMDPhysicalMediumDependent相当の送信機能を持つ。受信部108は、回線2を介して受信された信号に対してデシリアライズ、デスクランブル、復号化を行い、得られたデータをフレームとしてヘッダ誤り訂正部109へ送る。例えば、受信部108は、イーサネット登録商標におけるPCS、PMA、PMD相当の受信機能を持つ。ヘッダ誤り訂正部109は、受信部108からフレームを受けると、当該フレームのヘッダ部に対する誤り訂正を行い、このヘッダ誤り訂正の結果と訂正されたフレームとをフレーム誤り検出部110へ送る。フレーム誤り検出部110は、ヘッダ誤り訂正部109からフレームを受けると、当該フレームの誤り検出を行い、このフレーム誤り検出の結果、上記ヘッダ誤り訂正の結果、当該フレーム、及び当該フレームのフレーム長をフレーム識別部111へ送る。なお、ヘッダ誤り訂正部109及びフレーム誤り検出部110は本件発明の検出部に相当する。フレーム識別部111は、フレーム誤り検出部110からヘッダ誤り訂正の結果、フレーム誤り検出の結果、フレーム及びフレーム長を取得し、再送データ量設定部115から後述する再送データ量RDSを取得すると、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びフレームヘッダの内容に応じた処理を行う。フレーム識別部111の具体的処理内容については後述する。フレーム識別部111は本発明の決定部及び更新部に相当する。送信バッファ制御部112は、再送/更新指示をフレーム識別部111から受けると、その再送/更新指示が再送指示を示す場合には、送信バッファ部102へシーケンス番号、EOS及び再送指示を送る。送信バッファ制御部112は、その再送/更新指示が更新指示を示す場合には、送信バッファ部102内の当該フレームを削除するため、送信バッファ部102へシーケンス番号と更新指示を送る。送信バッファ制御部112は本件発明の読出処理部に相当する。受信バッファ部113は、フレーム識別部111からフレームを受けると、当該フレームをシーケンス番号に従って保存する。受信バッファ部113は、フレーム識別部111からフレームの廃棄指示が受けるとそのフレームを廃棄する。更に、受信バッファ部113は、読出し可能なフレームが存在する場合には、内部インタフェース部100へその旨を通知し、内部インタフェース部100からのフレーム読出し指示に従いフレームを読出し、読み出されたフレームを内部インタフェース部100へ送る。なお、フレームの読出しはシーケンス番号順に行われる。再送データ量設定部115は、CPU等の制御部図示せずから送られる再送データ量RDSを保持し、そのRDSをフレーム識別部111へ送る。RDSとは、誤りが発生したフレームからの再送信すべきデータ量を示す。再送データ量設定部115は、再送データ取得部と表記することもできる。図2は、フレーム識別部111の処理構成例を概念的に示す図である。フレーム識別部111は、図2に示されるように、ヘッダ処理部201、再送/更新処理部202、受信処理部203、NAKテーブル部204等を有する。ヘッダ処理部201は、フレーム誤り検出部110からヘッダ誤り訂正の結果、フレーム誤り検出の結果、フレーム及びフレーム長を取得すると、そのフレームデータからフラグ、シーケンス番号、トランザクション識別子XID、EOSを抽出する。ヘッダ処理部201は、ヘッダ誤り訂正の結果、フラグの状態に応じて、それら抽出された情報を再送/更新処理部202及び受信処理部203へ送る。なお、ヘッダ処理部201は、ヘッダ誤り訂正の結果が訂正不能を示す場合、そのフレームを廃棄する。再送/更新処理部202は、ヘッダ処理部201から取得されたフラグがACKフラグ又はNAKフラグを示す場合に、再送/更新指示を生成し、この再送/更新指示を送信バッファ制御部112及びID付与部114へ送る。NAKテーブル部204は、受信処理部203から、正常受信されたフレームのシーケンス番号及びフレーム長を取得し、これら情報に基づいて既に受信されたフレームに関する情報を格納するテーブルを生成し、そのテーブル情報を受信処理部203へ送る。受信処理部203は、ヘッダ処理部201から、SNフラグ、RTフラグ、フレーム誤り検出の結果を取得し、NAKテーブル部204から、当該フレームの受信状況を取得し、再送データ量設定部115からRDSを取得する。受信処理部203は、これら取得された情報に基づいて、ACK/NAK生成指示を生成する。受信処理部203は、NAK生成指示を生成する場合、上述したように、次に受信すべきフレームのシーケンス番号、そのフレームに付与されるはずのトランザクション識別子、EOSを当該NAK生成指示に含める。受信処理部203は、ACK/NAK生成指示をACK/NAK生成部103に送る。また、受信処理部203は、当該フレームデータの保存指示又はフレームの廃棄指示を受信バッファ部113へ送る。受信処理部203は、フレーム種別再送フレームか否か及びフレーム誤りの条件に応じて、バースト誤りを検出し、バースト誤りに応じて最終シーケンス番号EOSの値を決定する。即ち、バースト誤りに応じてトータル再送データ量が調整される。なお、再送フレームが受信された場合と非再送フレームが受信された場合とでは、EOSの生成処理の方法が異なる。再送フレームが受信された場合、未受信フレームの情報は既にNAKテーブル部204で管理されているため、NAKテーブル部204に格納される情報を利用することによりEOSの値が決定される。一方、非再送フレームが受信された場合、受信処理部203は、前回フレーム誤り又はフレームロスが発生したフレームからEOSで示されるフレームまでの間、即ち、再送データ量RDSの間、新たなフレーム誤り又はフレームロスを監視する。以降、フレーム誤り又はフレームロスを総称してフレーム障害と表記する場合もある。当該監視のために、例えば、受信処理部203は、後述する変数TSEQTemporarilySequencenumberを利用することにより、フレーム障害が検出される度に、最終シーケンス番号EOSが算出される。前回NAK送信時に付与された前EOSと一致しないEOSを含むNAKはeNAK拡張NAKと表記される。なお、TSEQの初期値には、NEXT_SEQが利用される。フレーム識別部111内では、フレームの識別及び管理を行うために、例えば、以下のような変数を使用してもよい。NEXT_SEQ:受信側の変数であり、次に受信すべき先頭フレームのシーケンス番号を保持する。NHED_SEQ1:受信側の変数であり、受信済み先頭フレームのシーケンス番号を保持し、NAKテーブル部204に登録される。NNAK_SEQ1:受信側の変数であり、NEXT_SEQにより特定されるフレームの次に受信すべき先頭フレームのシーケンス番号を保持し、NAKテーブル部204に登録される。RCV_SEQ:受信フレームに含まれるシーケンス番号を保持する。RCV_XID:受信フレームに含まれるトランザクション識別子を保持する。LEN:受信フレームのフレーム長を保持する。LENには、例えば、MACのフレーム長である64バイトから1518バイトの値が設定される。RCV_EOS:受信されたNAKフレームに含まれる、再送すべきフレームの中の最終フレームのシーケンス番号を保持する。REG_SXID:送信側の変数であり、次の送信フレームに設定するためのトランザクション識別子を保持する。この変数は、受信されたACK/NAKフレームに含まれるトランザクション識別子RCV_XIDと比較されることで、その受信フレームが対応済みか否かを判定するために利用される。REG_RXID:受信側の変数であり、受信済みのフレームのトランザクション識別子を保持する。この変数は、受信されたフレームに含まれるトランザクション識別子RCV_XIDと比較されることで、その受信フレームが受信側で既に受信されたフレームであるか否かを判定するために利用される。PEOS:送信側の変数であり、直近で対応されたNAKフレーム又は拡張NAKフレームに設定されていたEOSの値を保持する。TSEQ:受信側の変数であり、次に受信予定のフレームのシーケンス番号を保持する。この変数は、フレーム障害が発生した後に受信されたフレームの連続性を確認するため、即ち、EOSを更新する必要のあるフレームロスが再度発生したことを確認するために設けられている。受信側では、NEXT_SEQ以降のシーケンス番号を含むフレームが受信バッファ部113で管理される。受信側の通信端末20は、NAKテーブル部204に格納される情報に基づいて既に受信されたフレーム及び未だ受信されていないフレームを判別し、NEXT_SEQの次に受信すべきシーケンス番号を認識する。図3A及び図3Bは、NAKテーブル部204への登録方法の例を概念的に示す図である。例えば、NAKテーブル部204には、正常受信されたフレームに関し、シーケンス番号RCV_SEQと、シーケンス番号RCV_SEQ及びそのフレーム長LENが加算された値とが格納される。図3A及び図3Bの例によれば、前者がNHED_SEQp図示されるHpとして設定され、後者がNNAK_SEQp図示されるNpとして設定される。図3A及び図3Bにおいて、Fwは登録すべきフレームを示し、Fx及びFyは既に登録されているフレームを示す。NAKテーブル部204に関してはフレームFwを登録する前後の各状態がそれぞれ示される。d-99は受信側で次に受信すべきシーケンス番号NEXT_SEQを示し、d-100からd-107は受信フレームのシーケンス番号RCV_SEQ又は受信フレームのシーケンス番号RCV_SEQに受信フレーム長LENを加算して得られる値を示す。ここの説明では、或るフレームに関し、シーケンス番号RCV_SEQをS値と表記し、シーケンス番号RCV_SEQに受信フレーム長LENを加算して得られる値をSL値と表記する場合もある。図3Aの1には、何も登録されていないNAKテーブル部204にフレームFwを登録する場合が示される。この場合、フレームFwのd-102がH1に設定され、フレームFwのd-103がN1に設定される。d-102は、フレームFwのS値を示し、d-103は、フレームFwのSL値を示す。図3Aの2には、フレームFxが既に登録されている状態で、フレームFwを登録する場合が示される。図3Aの2では、フレームFxのS値とフレームFwのSL値とがd-102で一致する場合が例示される。この場合、H1が、フレームFwのS値d-101に更新される。図3Aの3には、フレームFxが既に登録されている状態で、フレームFwを登録する場合が示される。図3Aの3では、フレームFxのSL値とフレームFwのS値とがd-103で一致する場合が例示される。この場合、N1が、フレームFwのSL値d-104に更新される。図3Aの4には、フレームFxが既に登録されている状態で、フレームFwを登録する場合が示される。図3Aの4では、フレームFwのSL値d-101がフレームFxのS値d-102よりも小さい場合が例示される。この場合、H1にフレームFwのS値d-100が設定され、N1にフレームFwのSL値d-101が設定され、H2にフレームFxのS値d-102が設定され、N2にフレームFxのSL値d-103が設定される。図3Bの5には、フレームFxが既に登録されている状態で、フレームFwを登録する場合が示される。図3Bの5では、フレームFwのS値d-106がフレームFxのSL値d-103よりも大きい場合が例示される。この場合、H1にフレームFxのS値d-102が設定され、N1にフレームFxのSL値d-103が設定され、H2にフレームFwのS値d-106が設定され、N2にフレームFwのSL値d-107が設定される。図3Bの6には、フレームFx及びFyが既に登録されている状態で、フレームFwを登録する場合が示される。図3Bの6では、フレームFxのSL値がフレームFwのS値とd-103で一致し、かつ、フレームFwのSL値がフレームFyのS値とd-106で一致する場合が例示される。この場合、N1がフレームFyのSL値d-107に更新され、H2及びN2が削除される。図3Bの7には、フレームFx及びFyが既に登録されている状態で、フレームFwを登録する場合が示される。図3Bの7では、フレームFxのSL値d-103がフレームFwのS値d-104より小さく、かつ、フレームFwのSL値d-105がフレームFyのS値d-106よりも小さい場合が例示される。この場合、元のH2及び元のN2が新たなH3及び新たなN3に変更され、H2にはフレームFwのS値d-104が設定され、N2にはフレームFwのSL値d-105が設定される。図3A及び図3Bの例によれば、NAKテーブル部204は、SEQの小さいフレームから順にその情報を登録し、Hp1とNpとが同じ値になるレコード行を統合する。このようにすれば、NAKテーブル部204の登録数を抑えることができる。動作例以下、第1実施形態における通信装置10及び20の動作例について説明する。図4は、ACK/NAK生成部103の動作例を示すフローチャートである。ACK/NAK生成部103は、送信バッファ部102から読み出し中のフレームの存在を確認するS30。ACK/NAK生成部103は、読み出し中のフレームが存在する場合S30;YES、更に、フレーム識別部111からのACK/NAK生成指示の存在を確認するS31。ACK/NAK生成部103は、読み出し中のフレームが有りかつACK/NAK生成指示が無い場合S30;YESかつS31;NO、その読み出されたフレームをID付与部114へ送るS36。ACK/NAK生成部103は、読み出されたフレームが有りかつACK/NAK生成指示が有る場合S30;YESかつS31;YES、送信バッファ部102へフレームの読み出し停止指示を送るS33。続いて、ACK/NAK生成部103は、ACK/NAK生成指示に応じてACKフレーム又はNAKフレームを生成するS34。ACK/NAK生成部103は、生成されたフレームをID付与部114へ送ると共に、送信バッファ部102へフレームの読み出し停止の解除指示を送るS35。以降、ACK/NAK生成部103は、送信バッファ部102から読み出されたフレームをID付与部114へ送るS36。ACK/NAK生成部103は、送信バッファ部102から読み出されたフレームが無い場合でもS30;NO、ACK/NAK生成指示が有る場合S32;YES、上述と同様に、ACK/NAK生成指示に応じてACKフレーム又はNAKフレームを生成しS37、生成されたフレームをID付与部114へ送る。図5は、ID付与部114の動作例を示すフローチャートである。上述のように、ACK/NAK生成部103から送信用フレームを受けるとS40;YES、ID付与部114は、送信用フレーム内のSNフラグが1であるか否かをチェックするS41。ID付与部114は、SNフラグが1でない場合S41;FALSE、そのフレームがACK/NAKフレームであり送信フレームでないと判断し、そのままそのフレームをECC付与部104へ送るS47。一方、ID付与部114は、SNフラグが1である場合S41;TRUE、その送信用フレームが送信フレームであると判断し、フレーム識別部111からの再送指示の存在を確認するS42。ID付与部114は、再送指示が無い場合S42;NO、当該送信用フレームのシーケンス番号SEQと一つ前のフレームに設定されていたシーケンス番号PRE_SEQとを比較するS48。PRE_SEQがSEQ以上である場合S48;FALSE、ID付与部114は、シーケンス番号が一巡していると判断し、そのフレームのトランザクション識別子を更新するS44及びS45。図5の例では、そのフレームのトランザクション識別子RCV_XIDが1加算される。続いて、ID付与部114は、SEQの値をPRE_SEQに反映させた後S46、当該フレームをECC付与部104へ送るS47。一方、ID付与部114は、フレーム識別部111からの再送指示が有る場合S42;YES、その送信用フレームのRTフラグが1に設定されておりかつその送信用フレームのシーケンス番号SEQがフレーム識別部111から当該再送指示と共に送られてきた受信フレームのシーケンス番号RCV_SEQと一致しているか否かを確認するS43。RTフラグが1に設定されているフレームは再送フレームであることを示す。ID付与部114は、その送信用フレームが再送フレームでありRT=1、かつ、その送信用フレームのシーケンス番号SEQが受信側で要求されているシーケンス番号RCV_SEQと等しい場合にRCV_SEQ=SEQS43;TRUE、送信用フレームのトランザクション識別子を更新するS44及びS45。なお、ID付与部114は、RTが1でないか又はRCV_SEQとSEQとが異なる場合にS43;FALSE、フレーム識別部111で保持されている値例えば、REG_SXIDをその送信用フレームに設定するS45。以降、上述したように、処理S46及びS47が実行される。このように本実施形態では、通常のフレーム送信からフレームの再送信に移行する際に、トランザクション識別子が1インクリメントされる。以降、再送フレームが送出される間を再送シーケンス期間と表記する場合もある。これにより、各フレームに設定されるトランザクション識別子は、或る再送シーケンス期間の開始から次の再送シーケンス期間の開始までを示すということもできる。次に、フレーム識別部111の動作例について図6、図7、図8A及び図8Bを用いて説明する。図6は、ヘッダ処理部201の動作例を示すフローチャートである。図6には、送信側及び受信側の両方の処理が示されている。ヘッダ処理部201は、フレーム誤り検出部110から受信フレームを受けると、ヘッダ誤り訂正部109によるヘッダ誤り訂正が完了しているか否かをチェックするS50。ヘッダ誤り訂正が完了していない場合S50;NO、ヘッダ処理部201は、当該受信フレームを廃棄するS51。ヘッダ誤り訂正が完了している場合S50;YES、ヘッダ処理部201は、その受信フレームに設定されているフラグを確認するS52。ヘッダ処理部201は、SNフラグが1に設定されている場合S52;SN、その受信フレームを送信フレームと判断し、その受信フレームからシーケンス番号RCV_SEQ及びトランザクション識別子RCV_XIDを抽出する。ヘッダ処理部201は、抽出されたRCV_SEQ及びRCV_XIDと共に、その受信フレームを受信処理部203に送るS53。一方、ACKフラグ又はNAKフラグに1が設定されている場合S52;ACK/NAK、ヘッダ処理部201は、その受信フレームをACKフレーム又はNAKフレームであると判断し、その受信フレームからシーケンス番号RCV_SEQ、トランザクション識別子RCV_XID、最終シーケンス番号RCV_EOSを抽出する。ヘッダ処理部201は、抽出されたRCV_SEQ、RCV_XID及びRCV_EOSを再送/更新処理部202へ送るS54。図7は、再送/更新処理部202の動作例を示すフローチャートである。再送/更新処理部202は、送信側の処理を行う。再送/更新処理部202は、ACKフレーム又はNAKフレームの受信に応じて動作する。再送/更新処理部202は、ヘッダ処理部201からRCV_SEQ、RCV_XID、RCV_EOSを受けるとS60;YES、トランザクション識別子RCV_XID及び最終シーケンス番号RCV_EOSが以下の条件4を満たすか否かをチェックするS61。条件4RCV_XID≧REG_SXID又はRCV_EOS>PEOS上記条件4の中の前者RCV_XID≧REG_SXIDは、保持されるトランザクション識別子と受信されたトランザクション識別子とが同一となっているか又は更新されたか否かの判定を意味する。上記条件4の中の後者RCV_EOS>PEOSは、最終シーケンス番号が更新されたか否かの判定を意味する。再送/更新処理部202は、保持されるトランザクション識別子と受信されたトランザクション識別子とが同一となっているか又は更新された場合、若しくは、最終シーケンス番号が更新された場合にはS61;TRUE、その受信フレームに対応する必要があると認識し、そうでない場合にはS61;FALSE、その受信フレームは対応済みと認識する。上記条件4を満たさない場合S61;FALSE、再送/更新処理部202は、受信されたACKフレーム又はNAKフレームは対応済みと判断し、その受信フレームを無視廃棄する。上記条件4を満たす場合S61;TRUE、再送/更新処理部202は、その受信フレームが未対応であると判断し、次のように動作する。その受信フレームが未対応である場合S61;TRUE、再送/更新処理部202は、その受信フレームに設定されているフラグに基づいてその受信フレームがACKフレームであるか又はNAKフレームであるかを識別するS62。その受信フレームがNAKフレームである場合S62;NAK、再送/更新処理部202は、ヘッダ処理部201から送られてきたRCV_SEQ、RCV_EOS及びRCV_XIDを含む再送指示を生成する。再送/更新処理部202は、その再送指示を送信バッファ制御部112及びID付与部114へ送るS64。再送/更新処理部202は、続いて、上記条件4に基づいて、REG_SXID及びPEOSの各値を更新するS65。具体的には、条件4の中のRCV_XID≧REG_SXIDが成立する場合、RCV_XIDに1を加算した値がREG_SXIDに設定される。また、条件4の中のRCV_EOS>PEOSが成立する場合、RCV_EOSの値がPEOSに代入される。なお、本実施形態では、REG_SXIDの更新にRCV_XIDを使用しているが、ID付与部114で保持されているXIDが使用されても良い。これにより、未対応のNAKフレームが受信された場合には、再送シーケンスが開始されるか、又は、再送シーケンス中において最終シーケンス番号が更新される。結果、再送シーケンス期間中に受信された、拡張NAKフレーム以外のNAKフレームは、対応済みと判定される。一方、当該受信フレームがACKフレームである場合S62;ACK、再送/更新処理部202は、更新指示を生成し、その更新指示を送信バッファ制御部112及びID付与部114へ送るS63。その更新指示には、そのACKフレームに含まれるRCV_SEQ、RCV_XIDが含まれる。これにより、ACKフレームに含まれるRCV_SEQより小さい前のシーケンス番号を含むフレームが送信バッファ部102から削除される。図8A及び図8Bは、受信処理部203の動作例を示すフローチャートである。受信処理部203は受信側の処理を行う。受信処理部203は、ヘッダ処理部201から、RCV_SEQ、RCV_XID及び受信フレームを受けるとS700;YES、その受信フレームが次に受信すべき先頭フレームであるか否かを判定するS701。この判定は、その受信フレームのRCV_SEQとNEXT_SEQとが一致するか否かにより行われる。まず、受信フレームが次に受信すべき先頭フレームであった場合S701;TRUEの処理について説明する。受信処理部203は、その受信フレームが次に受信すべき先頭フレームである場合にはS701;TRUE、その受信フレームに含まれるトランザクション識別子RCV_XIDをREG_RXIDに保持するS702。続いて、受信処理部203は、その受信フレームに誤りがあるか否かを判定するS703。受信フレームに誤りがある場合でS703;YESかつその受信フレームが再送フレームである場合にはS704;FALSE、受信処理部203は、NAKテーブル部204のNHED_SEQ最大pの値をEOSへ設定するS706。一方、受信フレームに誤りがある場合でS703;YESかつその受信フレームが再送フレームでない場合にはS704;TRUE、受信処理部203は、その受信フレームのRCV_SEQにRDSを加算した値をEOSに設定することにより、EOSを更新するS705。受信処理部203は、そのように更新されたEOSと共に、NEXT_SEQ及びREG_RXIDを含むNAK生成指示を生成し、そのNAK生成指示をACK/NAK生成部103へ送るS742。その後、受信処理部203は、その受信フレームを廃棄しS746、再度、ヘッダ処理部201からの入力を待つS700。その受信フレームに誤りがない場合にはS703;NO、受信処理部203は、NAKテーブル部204にNNAK_SEQの登録があるか否かをチェックするS710。受信処理部203は、NNAK_SEQの登録がない場合S710;NO、当該受信フレーム以降、フレーム障害の発生したフレームが存在していないため、現状のNEXT_SEQにその受信フレームのフレーム長LENを加算することにより、NEXT_SEQを更新しS720、その更新されたNEXT_SEQと共に、RCV_XIDを含むACK生成指示を生成するS721。受信処理部203は、そのACK生成指示をACK/NAK生成部103へ送り、その受信フレームを受信バッファ部113へ送るS722。受信フレームに誤りがなく、かつ、NAKテーブル部204にNNAK_SEQの登録がある場合S703;NO、S710;YES、受信処理部203は、以下の条件3を判定するS711。以下の条件3は、既に受信しているフレームと現受信フレームとの間に未受信のフレームがあるか否かを判定するための条件である。以下の条件3が成立した場合S711;TRUE、当該未受信フレームがないことを示し、条件3が成立しない場合S711;FALSE、当該未受信フレームがあることを示す。条件3NHED_SEQ1==NEXT_SEQLEN上記条件3が成立しない場合S711;FALSE、受信処理部203は、現状のNEXT_SEQにその受信フレームのフレーム長LENを加算することによりNEXT_SEQを更新するS712。その後、受信処理部203は、その受信フレームが再送フレームであればS713;FALSE、更新されたNEXT_SEQと共に、RCV_XIDを含むACK生成指示を生成するS733。一方、その受信フレームが再送フレームでない場合S713;TRUE、受信処理部203は、NAKテーブル部204のNHED_SEQ最大pの値をEOSに設定しS714、更新されたEOSと共に、NEXT_SEQ及びRCV_XIDを含むNAK生成指示を生成するS715。受信処理部203は、そのように生成されたACK生成指示又はNAK生成指示をACK/NAK生成部103へ送り、その受信フレームを受信バッファ部113へ送るS722。上記条件3が成立する場合S711;TRUE、未受信フレームがないため、受信処理部203は、現状のNEXT_SEQにNAKテーブル部204のNNAK_SEQ1を設定することにより、NEXT_SEQを更新するS730。これにより、NEXT_SEQには、現受信フレーム以降に受信されるべきフレームであって未だ受信されていない先頭フレームのシーケンス番号が設定されることになる。続いて、受信処理部203は、NAKテーブル部204から、NHED_SEQ1及びNNAK_SEQ1を含むレコードを削除するS731。これにより、NAKテーブル部204に格納される他のレコードのレコード番号pが繰り上げられる。受信処理部203は、NAKテーブル部204の更新後、更に、NAKテーブル部204にNNAK_SEQ1の登録があり、かつ、当該受信フレームが再送フレームであるか否かが判定されるS732。NAKテーブル部204にNNAK_SEQ1の登録があり、かつ、当該受信フレームが再送フレームでない場合S732;TRUE、受信処理部203は、上述した処理S714以降の処理を行う。一方、NAKテーブル部204にNNAK_SEQ1の登録がない場合、又は、当該受信フレームが再送フレームである場合S732;FALSE、受信処理部203は、上述した処理S733以降の処理を行う。次に、受信フレームが次に受信すべき先頭フレームでなかった場合S701;FALSEの処理について説明する。受信処理部203は、その受信フレームが次に受信すべき先頭フレームでない場合にはS701;FALSE、以下の条件1を判定する。以下の条件1は、受信フレームのシーケンス番号が次に受信すべき先頭フレームのシーケンス番号よりも小さく、かつ、受信フレームのトランザクション識別子が既に受信済みであることを判定する。条件1RCV_SEQ<NEXT_SEQかつRCV_XID=REG_RXID条件1が成立する場合S740;TRUEかつその受信フレームが再送フレームである場合S741;FALSE、受信処理部203は、現在、再送フレーム受信中であり、以後、NEXT_SEQのシーケンス番号を持つ再送フレームを受信する可能性があると判断し、NEXT_SEQ及びRCV_XIDを含むACK生成指示を生成するS745。一方、条件1が成立する場合S740;TRUEかつその受信フレームが再送フレームでない場合S741;TRUE、受信処理部203は、その受信フレームは既に受信しているフレームと判断し、NAK生成指示をACK/NAK生成部103へ送るS742。受信処理部203は、生成されたACK生成指示又はNAK生成指示をACK/NAK生成部103へ送り、その受信フレームを廃棄するS746。条件1が成立しない場合S740;FALSE、受信処理部203は、その受信フレームに関する情報がNAKテーブル部204に登録されているか否かを確認するS750。その受信フレームに関する情報が登録されていない場合S750;NO、受信処理部203は、その受信フレームに関する情報をNAKテーブル部204へ登録するS751。NAKテーブル部204への登録では、上述した通りであり、受信フレームのシーケンス番号RCV_SEQがNHED_SEQpへ、シーケンス番号RCV_REQにフレーム長LENを加算して得られる値がNNAK_SEQpへ設定される。続いて、受信処理部203は、EOSを生成するS752。この処理S752については後述する。受信処理部203は、NEXT_SEQ、RCV_XID及びEOSを含むNAK生成指示を生成しS753、このNAK生成指示をACK/NAK生成部103へ送る。その後、受信処理部203は、その受信フレームに誤りがあればS755;YES、その受信フレームを廃棄しS746、その受信フレームに誤りがなければS755;NO、その受信フレームを受信バッファ部113へ送るS722。図8Bは、図8Aに示されるフローチャートにおけるEOS生成処理S752を更に詳細に示したフローチャートである。受信処理部203は、EOSを生成するにあたり次のように動作する。受信処理部203は、受信フレームのRTフラグを確認することにより、その受信フレームが再送フレームであるか否かを判定するS780。受信処理部203は、その受信フレームが再送フレームであると判定するとS780;FALSE、NAKテーブル部204に格納されるNHED_SEQ最大pの値をEOSへ代入するS781。一方、受信処理部203は、その受信フレームが再送フレームでないと判定するとS780;TRUE、フレーム誤り検出の結果を参照することにより、その受信フレームに誤りがあるか否かを確認するS782。このフレーム誤りの確認は、フレーム誤りとフレームロスとの違いにより、EOSの値を変えるために行われる。受信フレームに誤りがある場合S782;YES、受信処理部203は、EOSより、受信フレームのRCV_SEQが大きいか否かを判定するS783。判定処理S782及びS783により、フレーム障害が発生した先頭フレームSEQから再送データ量RDSの間のフレームに次のフレーム障害が発生しているか否かが確認される。これは、言い換えれば、再送シーケンス間のフレーム障害の発生の確認である。RCV_SEQがEOS以下である場合S783;FALSEは、受信処理部203は、再送シーケンス間にフレーム障害が発生したと判断し、TSEQに、受信フレームのRCV_SEQを代入し、かつ、EOSに、そのRCV_SEQとRDSとの和を代入することにより、次に受信予定のフレームのシーケンス番号TSEQ及び最終シーケンス番号EOSを更新するS785。RCV_SEQがEOSより大きい場合S783;TRUE、受信処理部203は、更に、NEXT_SEQがEOSより大きいか否かを判定するS784。NEXT_SEQがEOSより大きい場合とは、再送信が完了し、非再送フレームが受信されている状態を意味する。受信処理部203は、NEXT_SEQがEOS以下である場合S784;FALSE、フレーム障害の間隔が再送データ量RDSより大きいと判断し、EOS及びTSEQを更新しないS786。これにより、無駄な再送を抑える。NEXT_SEQがEOSより大きい場合S784;TRUE、受信処理部203は、再送シーケンスが終了した後にフレーム障害が発生したと判断し、上記処理S785を実行する。受信処理部203は、フレームに誤りが無い場合S782;NO、受信フレームのシーケンス番号RCV_SEQがTSEQと一致するか否かを確認するS790。ここで、RCV_SEQがTSEQと一致しないことはS790;FALSE、NEXT_SEQ以降のシーケンス番号のフレームでフレームロスが発生していることを意味し、両者が一致することはS790;TRUE、その逆を意味する。受信処理部203は、両者が一致する場合S790;TRUE、フレームロスが発生していないため、TSEQに、RCV_SEQとLENとを加算した値を設定し、EOSを更新しないS791。受信処理部203は、RCV_SEQとTSEQとが一致しない場合S790;FALSE、RCV_SEQがEOSより大きいか否かを判定するS792。これは、上述の判定処理S783と同意である。受信処理部203は、RCV_SEQがEOS以下である場合S792;FALSE、TSEQ及びEOSを次のように更新するS793。TSEQに、受信フレームのRCV_SEQとそのフレーム長との和が設定され、EOSに、更新前のTSEQと再送データ量RDSとの和が設定される。受信処理部203は、RCV_SEQがEOSより大きい場合S792;TRUE、NEXT_SEQがEOSより大きいか否かを判定するS794。NEXT_SEQがEOSより大きい場合とは、再送信が完了し、非再送フレームが受信されている状態を意味する。受信処理部203は、NEXT_SEQがEOSより大きい場合S794;TRUE、TSEQに、受信フレームのRCV_SEQとそのフレーム長との和を設定しS796、NAKテーブル部204にNNAK_SEQ1が登録されているか否かを確認するS797。NAKテーブル部204にNNAK_SEQ1が登録されていない場合S797;NO、受信処理部203は、最終シーケンス番号EOSに、NEXT_SEQと再送データ量RDSの和を代入することで最終シーケンス番号EOSを更新するS798。NAKテーブル部204にNNAK_SEQ1が登録されている場合S797;YES、受信処理部203は、NAKテーブル部204で保持されているNHED_SEQ最大pの値をEOSに設定するS781。一方、受信処理部203は、NEXT_SEQがEOS以下である場合S794;FALSE、再送信継続中であると判断し、EOS及びTSEQを更新しないS795。これにより、無駄な再送を抑える。以下、第1実施形態における通信装置10及び20の動作例を図9に示される具体的な伝送シーケンス例に基づいて説明する。図9は、誤り発生時の通信端末間の伝送シーケンスの例を示す図である。図10は、図9の伝送シーケンスの各時点におけるNAKテーブル部204の登録例を示す図である。図9中のFは送信フレーム又は再送信フレームを示し、AはACKフレームを示し、N及びeNはNAKフレームを示す。はフレームに付与されるシーケンス番号であり、は当該フレームのトランザクション識別子を示す。また、図9によれば、シーケンス番号の初期値は5であり、トランザクション識別子の初期値が0であると仮定される。図10におけるHp及びNpは図3A及び図3Bと同じ意味で用いられる。即ち、Hpは、NHED_SEQpを示し、Npは、NNAK_SEQpを示す。なお、B01時点では、NEXT_SEQを示すN0には、シーケンス番号の初期値5が設定されている。図9の例では、説明の便宜上、ACKを受信せずに送信できる受信ウィンドウサイズが10フレームであり、再送データ量RDSが2であり、フレーム長LENが1であると仮定される。また、図9では、送信フレームF50、F70、F110でフレーム誤りが発生し、送信フレームF100でフレームロスが発生し、フレーム誤り及びフレームロスから回復するまでの伝送シーケンスが示される。図9の伝送シーケンスによれば、送信フレームF50において第1のフレーム誤りが発生すると、受信側の通信端末20は、B01時点において、RDS値2に応じて決められたEOS値7を含むNAKフレームN50を送信する。ここで、EOS値7は、誤りの発生したフレームのシーケンス番号値5にRDS値2を加算することにより得られる。次に、上記EOSで示されるフレーム範囲内の送信フレームF7において第2のフレーム誤りが発生すると、受信側の通信端末20は、B03時点において、EOSの値を9に更新し、この更新されたEOS値9を含む拡張NAKフレームeN50を送信する。これにより、フレームF5からフレームF9までが再送されている。また、受信側の通信端末20は、再送シーケンスフレームF51からフレームF91の終了後、B09時点で、NAKテーブル部204に登録されている情報からEOS値12を生成し、NAKフレームN101を送信することで、フレーム誤り及びフレームロスからの回復が実現される。以下、図9に示すA01からA06及びB01からB10の各時点における送信側の通信端末10及び受信側の通信端末20の具体的動作をそれぞれ説明する。なお、フレーム識別部111の動作については、図6、図7、図8A及び図8Bを参照しながら、具体的に説明する。A01A01では、送信側の通信端末10は、送信フレームF50を通信端末20へ送信する。図11A及び図11Bは、A01時点での送信側の通信端末10で処理されるフレーム及びそのフレームを格納する送信バッファ部102を概念的に示す図である。なお、図11Bでは、図面サイズの制限により、フレームF5を2段で示す場合もある。図11Aに示す送信データとは、NIC12が他ブロック11から取得するデータであり、図11Aに示すフレームF5とは、ヘッダ付与部101から送信バッファ部102へ送られるフレームである。他ブロック11から取得される送信データにおける、ヘッダ情報g7-01はデータg7-02を宛先まで送り届けるために必要な情報である。ここではイーサネット登録商標が例示されているため、ヘッダ情報g7-01は、宛先アドレス、送信元アドレス及びType/Lengthなどを含み、MACヘッダとも呼ばれる。《ヘッダ付与》通信端末10と通信端末20との間でコネクションが確立し、図11Aに示される送信データが他ブロック11から内部インタフェース部100に送られると、内部インタフェース部100は、ヘッダ付与部101からの受け取り停止指示が有効でない限り、当該送信データをヘッダ付与部101へ送る。なお、ヘッダ付与部101からの受け取り停止指示が有効である場合、内部インタフェース部100は、送信データの停止要求を他ブロック11へ出力する。送信データがヘッダ付与部101に送られると、ヘッダ付与部101は、送信バッファ部102から出力停止指示が無い限り、送信データに再送ヘッダg7-03を挿入する。送信バッファ部102からの出力停止指示が有効であれば、ヘッダ付与部101は、受け取り停止指示を内部インタフェース部100へ送る。図11Aに示されるように、再送ヘッダg7-03は、タイプ、フラグ及びシーケンス番号を含む。タイプには、再送ヘッダを識別するのに使用するため任意の値イーサネット登録商標では2バイト分が設定される。フラグは、例えば、SN、NAK、ACK及びRTを示す4ビットで構成され、フレームの識別に使用される。初回フレーム送信時は、SNフラグに1が設定され、再送時のフレームにはRTに1が設定される。また、ACKフレーム、NAKフレームには、ACKビット、NAKビットに1が設定される。A01の時点では、ヘッダ付与部101は、次のようなフラグSN=1、ACK=0、NAK=0、RT=0を設定する。シーケンス番号は、一般的な再送制御では、送信フレームを特定するために使用されるが、本実施形態では、その他に送信バッファ部102で格納されているフレームの先頭アドレスをも示す。すなわち、或るフレームのシーケンス番号とフレーム長との和が次フレームのシーケンス番号を示すと共に、送信バッファ部102へそのフレームを保存する際の先頭アドレスをも示す。このシーケンス番号を用いて送信バッファ部102及び受信バッファ部113に対する読出し及び書き込みが行われる。ヘッダ付与部101により再送ヘッダg7-03が付加されたフレームF5は、送信バッファ部102へ送られる。《送信バッファ保存》図11Aには、送信バッファ部102に保存されたフレームと、当該フレームの先頭アドレスとシーケンス番号との関係とが示されている。SR、srd、src、SW及びswrは、送信バッファ部102においてフレームの保存及び読み出し制御に利用されるアドレス変数を示す。srcは通常srdと一緒にカウントされ、再送ではない初回送信のための読み出しが終了したアドレスを示す。言い換えれば、srcは再送前に読み出しが終了しているフレームの末尾アドレス次フレームの先頭アドレスを示す。SRはACKが未だ受信されていないフレームの先頭アドレス、srdは送信バッファ部102から現時点で次に読み出すべき箇所を示すアドレス、SWは次に送信バッファ部102に保存されるフレームの先頭アドレス、swrは送信バッファ部102に現時点で次に書き込むべき箇所を示すアドレスである。この時点では、SRがd-3に設定され、srd及びsrcがd-5に設定され、SWがd-6に設定され、swrがd-7に設定される。図11Aに示されるフレームF5g7-05に付与されるシーケンス番号g7-04はd-5である。フレームg7-05を受けると、送信バッファ部102は、再送ヘッダg7-03内のシーケンス番号g7-04値d-5に従って、図11Aに示されるように、フレームg7-05をアドレスd-5に保存する。つまり、シーケンス番号g7-04の値はバッファ内アドレスd-5と等しい。なお、フレームの書き込み中はswrが利用され、1フレーム分の書き込みが終了する毎にSWにswrが代入されることにより、バッファの書き込みアドレスが更新されていく。例えば、フレームF5の書き込みが終了すると、SWには値d-6が設定される。送信バッファ部102は、読み出し可能なフレームが存在する場合、当該フレームの読み出しを行い、ACK/NAK生成部103へ出力する。図11Aの場合、送信バッファ部102は、srdの値d-5がSWの値d-6より小さいため、読み出し可能なフレームが存在すると判断し、srdの値d-5からSWの値d-6までのフレームを読み出す。なお、送信バッファ部102は、srdの値とSWの値とが等しい場合、読み出し可能なフレームはないと判断する。ACK/NAK生成部103から読み出し停止指示が与えられると、送信バッファ部102は、読み出し停止指示が解除されるまでフレームの読み出しを停止する。《ACK/NAK生成》フレームg7-05フレームF5が与えられると、ACK/NAK生成部103は、フレーム識別部111から、ACK/NAK生成指示がない限り、当該フレームをID付与部114へ送る図4の処理S30、S31及びS36に相当。但し、ここの例では、通信端末10から通信端末20への片方向通信のみを想定しているため、通信端末10のACK/NAK生成部103はACK又はNAKを生成しない。《トランザクション識別子の付与》図11Bの1には、送信バッファ部102から読み出されたフレームF5g7-05が示されている。図11Bの1に示されるフレームg7-05をACK/NAK生成部103から取得したID付与部114は、そのフレームg7-05にトランザクション識別子図11Bに示されるXIDを挿入し、図11Bの2に示されるフレームg7-06を出力する。ここで、図5を参照しながらトランザクション識別子の具体的な決定手法について説明する。ID付与部114は、フレームg7-05を受けS40;YES、そのフレームに含まれるSNフラグを確認するS41。A01時点では、フレームg7-05のSNフラグは1であるためS41;TRUE、ID付与部114は、更に、フレーム識別部111からの再送指示の存在を確認するS42。A01時点では、再送指示は無いためS42;NO、ID付与部114は、フレームg7-05のシーケンス番号SEQ=5と一つ前のフレームに設定されていたシーケンス番号PRE_SEQ=4とを比較するS48。SEQはPRE_SEQより大きいためS48;TRUE、ID付与部114は、トランザクション識別子XID=0を当該フレームへ挿入しS45、PRE_SEQの値をSEQの値5とするS46。《誤り訂正及び検出》このようにフレームg7-06がID付与部114から出力されると、ECC付与部104は、そのフレームg7-06における宛先アドレスフィールドからType/Lengthフィールドまでのデータのための誤り訂正符号を算出する。ECC付与部104は、その算出されたヘッダ誤り訂正符号g7-09をType/Lengthフィールドの前に挿入することにより、図11Bの3に示されるフレームg7-08を生成する。ECC付与部104は、生成されたフレームg7-08をEDC付与部105へ送る。当該フレームg7-08を受けると、EDC付与部105は、そのフレームg7-08における宛先アドレスフィールドからデータフィールドまでのデータのための誤り検出符号を算出する。EDC付与部105は、算出されたフレーム誤り検出符号g7-11をフレームの末尾に付加することにより、図11Bの4に示されるフレームg7-10を生成する。EDC付与部105は、生成されたフレームg7-10を送信部106へ送る。生成されたフレームg7-10は、図9のフレームF50に相当する。《送信》送信部106は、EDC付与部105により生成されたフレームg7-10に対して符号化、スクランブリング、シリアライズを行うことにより送信信号を生成し、その送信信号を回線1を介して送出する。このようなA01時点での処理は、ウィンドウサイズ例えば10に達するまで繰り返し実行される。但し、図9の例では、通信端末10は、A02時点でNAKを受信するため、ウィンドウサイズに達する前に処理を止め、NAKで要求されたシーケンス番号からRDS再送データ量分のフレームを再送する。このようなA02時点での処理については後述する。B01B01では、受信側の通信端末20は、フレーム誤りの発生したフレームF50を受信してから、NAKフレームN50を返信するまでの処理を実行する。《受信》図12A及び図12Bは、B01時点での受信側の通信端末20で処理されるフレームを概念的に示す図である。なお、図12A及び図12Bでは、図面サイズの制限により、フレームを2段で示す場合もある。受信側の通信端末20では、受信部108が、通信端末10から送信されたデータ信号フレームF50を受信すると、そのデータ信号に対してデシリアライズ、デスクランブリング、復号化を行うことにより、図12Aの1に示される受信フレームF50を取得し、これをヘッダ誤り訂正部109へ送る。《誤り訂正及び検出》受信部108から受信フレームを受けると、ヘッダ誤り訂正部109は、その受信フレームにおける宛先アドレスフィールドからヘッダ誤り訂正符号フィールドまでのデータの誤りヘッダ誤りを当該フレームに付与されているヘッダ誤り訂正符号を用いて訂正する。ヘッダ誤り訂正部109は、誤り訂正されたフレームと誤り訂正結果g8-01をフレーム誤り検出部110へ送る。誤り訂正結果は、訂正完了又は訂正未完了を示す。フレーム誤り検出部110は、ヘッダ誤り訂正部109から誤り訂正されたフレームと誤り訂正の結果とを取得すると、そのフレームにおける宛先アドレスフィールドからデータフィールドまでのデータの誤りフレーム誤りをそのフレームに付与されているフレーム誤り検出符号を用いて検出する。更に、フレーム誤り検出部110は、そのフレームのフレーム長をカウントする。但し、送信バッファ部102のアドレスと受信バッファ部113のアドレスとの整合をとるため、そのフレームに含まれるXIDとフレーム誤り検出符号とを除外したフレームの長さがカウントされる。フレーム誤り検出部110は、図12Aの2に示されるように、ヘッダ誤り訂正の結果g8-01、フレーム誤り検出の結果g8-02、フレーム長LENg8-03をそのフレームに含めた上で、そのフレームをフレーム識別部111へ送る。なお、フレームに誤りがある場合、当該フレーム長LENには例えば0が設定される。《フレーム識別》フレーム識別部111は、そのフレームに誤りが発生していること及びそのフレームが再送フレームでないことを確認し、EOSを生成する。EOSは、再送データ量設定部115から提供されるRDSとそのフレームに含まれるシーケンス番号とを加算することにより算出される。この例では、RDSを2とすると、EOSは、7=52に決定される。フレーム識別部111は、算出されたEOS7と、次に受信すべきフレームのシーケンス番号NEXT_SEQ=5と、トランザクション識別子とを含むNAK生成指示図12Aの3参照を生成しそのNAK生成指示をACK/NAK生成部103に送る。ここで、上述した図6、図7、図8A及び図8Bと共に、図13A及び図13Bを参照しながら、B01時点におけるフレーム識別部111の処理をより具体的に説明する。図13Aは、送信側の通信端末10のフレーム識別部111で保持される各変数値と受信フレームと送信フレームとの関係を示す図であり、図13Bは、受信側の通信端末20のフレーム識別部111で保持される各変数値と受信フレームと送信フレームとの関係を示す図である。図13A及び図13Bには、図9に示される各時点での各変数値がそれぞれ表わされている。図13Bに示されるように、B01時点における受信側の通信端末20のフレーム識別部111では、各変数は次のような値に設定されている。NEXT_SEQ=5、REG_RXID=0、RCV_SEQ=5、RCV_XID=0、NHED_SEQ1、NNAK_SEQ1、REG_SXID、RCV_EOS及びLEN=NULL。ヘッダ処理部201は、図12Aの2に示すフレームを受けると、ヘッダ誤り訂正が完了しているか否かをチェックする図6のS50。ここでは、フレームF50にはフレーム誤りが生じているが、ヘッダ誤り訂正は完了したものと仮定する。また、A01時点で説明されたように、フレームF50のフラグは次のように設定されているSN=1、ACK=0、NAK=0、RT=0。よって、ヘッダ処理部201は、ヘッダ誤り訂正が完了しておりS50;YES、かつ、そのフレームのフラグがSN=1であることを確認するとS52;SN、当該受信フレームからシーケンス番号RCV_SEQ、トランザクション識別子RCV_XIDを抽出し、それら抽出されたデータと共にその受信フレームを受信処理部203へ送るS53。受信処理部203は、ヘッダ処理部201から、RCV_SEQ、RCV_XID及び受信フレーム図12Aの2を受けると図8AのS700;YES、RCV_SEQの値とNEXT_SEQの値とが一致するか否か判定するS701。B01時点では、RCV_SEQ値5とNEXT_SEQ値5図13B参照とが一致するためS701;TRUE、受信処理部203は、RCV_XID値0をREG_RXIDに設定することにより、REG_RXIDを更新するS702。これにより、受信側の通信端末20では、そのフレームF50が既に受信されたフレームとして認識される。続いて、受信処理部203は、その受信フレームのフレーム誤り検出の結果g8-02を参照することにより、その受信フレームに誤りが有るか否かを判定するS703。B01時点では、フレームF50に誤りが含まれているためS703;YES、受信処理部203は、その受信フレームのRTフラグを確認するS704。B01時点ではRTフラグは0であるためS704;TRUE、受信処理部203は、その受信フレームが再送フレームでないと判断し、EOSを決定するS705。ここでは、再送データ量設定部115から供給される再送データ量RDS例えば2とその受信フレームのシーケンス番号RCV_SEQとを加算することにより、EOSは、7=RCV_SEQRDS=52に決定される。続いて、受信処理部203は、NEXT_SEQ値5とEOS値7とREG_RXID値0とを含むNAK生成指示を生成しS742、そのNAK生成指示をACK/NAK生成部103へ送る。その後、受信処理部203は、その受信フレームを廃棄するS746。《ACK/NAK生成》ACK/NAK生成部103は、フレーム識別部111からNAK生成指示図12Aの3を取得すると、そのNAK生成指示に応じてNAKフレームN50図12Aの4を生成する。このときNAKフレームN50内のフラグは、次のように設定されSN=0、ACK=0、NAK=1、RT=0、シーケンス番号には5NEXT_SEQが設定され、EOSg8-04には7が設定され、XIDには0が設定される。このようなACK/NAK生成部103の処理は、図4におけるS30、S32及びS37に相当する。ACK/NAK生成部103は、生成されたNAKフレームN50をID付与部114へ送る。なお、送信バッファ部102から読み出されたフレームが有る場合、ACK/NAK生成部103は、読み出し停止指示を送信バッファ部102へ出力した後、上述のような処理を行う図4におけるS30、S31、S33、S34、S35及びS36に相当。《トランザクション識別子付与》ID付与部114は、ACK/NAK生成部103からNAKフレームN50図12Aの4を受けると、このフレームのSNフラグ=0を確認することにより、そのフレームが送信フレーム又は再送信フレームでないと判断し、そのNAKフレームをECC付与部104へ送る。このようなID付与部114の処理は、図5におけるS40、S41及びS47に相当する。《誤り訂正及び検出》ECC付与部104は、ID付与部114からNAKフレームN50を受けると、そのフレームの宛先アドレスフィールドからType/Lengthフィールドまでのデータのための誤り訂正符号を算出する。ECC付与部104は、その算出されたヘッダ誤り訂正符号g8-05をType/Lengthフィールドの前に挿入し、そのヘッダ誤り訂正符号g8-05を含むNAKフレーム図12Bの5参照をEDC付与部105へ送る。EDC付与部105は、NAKフレームN50図12Bの5を受けると、そのフレームにおける宛先アドレスフィールドからパディングフィールドまでのデータのための誤り検出符号を算出する。EDC付与部105は、算出されたフレーム誤り検出符号g8-06をそのフレームの末尾に付加し、フレーム誤り検出符号g8-06を含むNAKフレームN50を送信部106へ送る。《送信》送信部106は、EDC付与部105からNAKフレームN50図12Bの6を受けると、そのフレームデータに対して符号化、スクランブリング及びシリアライズを行うことで送信信号を生成し、その送信信号を回線2を介して送信する。A02A02では、送信側の通信端末10は、受信側の通信端末20から、NAKフレームN50を受信してから、再送フレームF51を送信するまでの処理を実行する。NAKフレームN50が送信側の通信端末10の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点における受信側の通信端末20での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。《フレーム識別》図13Aに示されるように、A02時点における送信側の通信端末10のフレーム識別部111では、各変数は次のような値に設定されている。REG_SXID=0、RCV_SEQ=5、RCV_XID=0、RCV_EOS=7、LEN=1、その他の各変数値=NULL。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びNAKフレームN50のフレーム長を取得すると、ヘッダ誤り訂正の結果を参照することによりヘッダ誤り訂正が完了していると判断する図6のS50;YES。続いて、ヘッダ処理部201は、当該フレームに含まれるフラグを確認することにより、受信フレームがNAKフレームであることを認識するS52;ACK/NAK。ヘッダ処理部201は、当該受信フレームからRCV_SEQ、RCV_EOS、RCV_XIDを抽出し、これらデータを再送/更新処理部202へ送るS54。A02時点では、上述したように、RCV_SEQは5であり、RCV_EOSは7であり、RCV_XIDは0である。再送/更新処理部202は、ヘッダ処理部201からRCV_SEQ値5、RCV_EOS値7及びRCV_XID値0を受けると図7のS60;YES、上述の条件4を判定するS61。A02時点では、RCV_XID値0≧REG_SXID値0が成立するS61;TRUE。また、当該受信フレームは、NAKフレームN50であるS62;NAK。よって、再送/更新処理部202は、RCV_SEQ値5、RCV_EOS値7、RCV_XID値0を含む再送指示を送信バッファ制御部112及びID付与部114へ送るS64。その後、再送/更新処理部202は、RCV_XID値0≧REG_SXID値0が成立しているため、RCV_XID値0に1を加算した値をREG_SXIDに設定し、RCV_EOS7をPEOSに設定するS65。これにより、REG_SXIDは1に設定され、PEOSは7に設定される。図14A及び図14Bは、A02時点での送信側の通信端末10で処理されるフレーム及びそのフレームを格納する送信バッファ部102を概念的に示す図である。なお、図14Bでは、図面サイズの制限により、フレームを2段で示す場合もある。図14Aの1には、再送/更新処理部202により生成された再送指示が示される。《送信バッファ制御》図14Aの1に示される再送指示が送信バッファ制御部112に送られると、送信バッファ制御部112は、その再送指示に含まれるRCV_SEQ値5及びRCV_EOS値7と共に、再送指示を送信バッファ部102へ通知する。上述したように、シーケンス番号RCV_SEQは、送信バッファ部102に格納される再送フレームの先頭アドレスを示している。送信バッファ部102は、RCV_SEQで示されるアドレスd-5が先頭アドレスとなるフレームから、RCV_EOSで示されるアドレスd-7が先頭アドレスとなるフレームまでを読み出す。このとき、既に初回読み出しが終了しているフレームに対して、再送フレームであることを示すフラグRT=1が設定される。A02時点では、送信バッファ部102内の各アドレス変数は、図14Aの2に示されるような値となっている。即ち、SRはd-5を示し、srdとsrcはフレームF110が送信されているためd-12を示し、SWはd-12を示し、swrはd-13を示す。送信バッファ部102は、図14Aの1で示される再送指示を受けると、図14Aの2に示されるように、srdをRCV_SEQd-5に設定し、srdで示されるアドレスからフレームを読み出す。送信バッファ部102は、srdがEOSd-7を超えるまで、読み出されたフレームのRTフラグに1を設定する。つまり、A02時点以降、フレームF5、F6及びF7が再送のために順次読み出される。図9の例によれば、A02時点では、フレームF5が読み出される。ところで、実際の運用ではフレーム長は可変長であるため、RDSの値によればEOSは必ずしもフレームの先頭アドレスを示さない場合もあり得る。このような場合、即ち、EOSがフレームの中間アドレスを示す場合には、そのフレームまでが読み出される。《ACK/NAK生成》上述のように再度読み出されたフレームF5図14Bの4がACK/NAK生成部103に送られると、ACK/NAK生成部103は、上述したA01時点と同様に、フレーム識別部111からACK/NAK生成指示がないため、当該フレームF5をID付与部114へ送る。《トランザクション識別子付与》ID付与部114は、ACK/NAK生成部103からフレームF5図14Bの4を受けると、そのフレームにトランザクション識別子g9-01を挿入し、図14Bの5で示されるフレームを出力する。トランザクション識別子の具体的な決定手法については以下のとおりである図5参照。ID付与部114は、ACK/NAK生成部103からフレームF5を受け、フレーム識別部111から、RCV_SEQ値5、RCV_EOS値7及びRCV_XID値0を含む再送指示を受けている図5のS40;YESかつS42;YES。更に、フレームF5のSNフラグは1に設定されているS41;TRUE。よって、ID付与部114は、フレームF5のRTフラグ及びシーケンス番号SEQ、並びに受信されたNAKフレームのシーケンス番号RCV_SEQを確認する。ID付与部114は、RTフラグが1でありかつSEQ値5とRCV_SEQ値5とが等しいためS43;TRUE、RCV_XID値0に1を加算した値をトランザクション識別子g9-01としてそのフレームF5に挿入するS44及びS45。ID付与部114は、トランザクション識別子g9-01値1を含む再送フレームF51をECC付与部104へ送るS47。《誤り訂正及び検出》《送信》ID付与部114からECC付与部104へ送られた再送フレームF51は、A01時点の処理と同様に、回線1を介して通信端末20へ送信される。B02B02では、受信側の通信端末20は、フレームF60を受信してから、NAKフレームN50を返信するまでの処理を実行する。フレームF60が受信側の通信端末20の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点における受信側の通信端末20での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。図15A及び図15Bは、B02時点での受信側の通信端末20で処理されるフレーム及びそのフレームを格納する受信バッファ部113を概念的に示す図である。なお、図15Aでは、図面サイズの制限により、フレームを2段で示す場合もある。図15Aの1には、フレーム誤り検出部110から出力される受信フレームF60が示される。《フレーム識別》図13Bに示されるように、B02時点では、B01時点からRCV_SEQが5から6に変わっており、LENがNULLから1に変わっている。その他の各変数は、B01時点と同様である。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びフレームF60図15Aの1のフレーム長を取得すると、フレームF60に関しヘッダ誤り訂正が完了している訂正の必要ないことを確認する図6のS50;YES。ヘッダ処理部201は、フレームF60のフラグの設定状況SN=1、ACK=0、NAK=0、RT=0に応じてS52;SN、そのフレームF60が初回送信フレームであると判断する。ヘッダ処理部201は、その受信フレームF60からRCV_SEQ、RCV_XIDを抽出し、それらデータ及びそのフレームを受信処理部203へ送るS53。これらデータを取得した受信処理部203は、B02時点では、RCV_SEQ値6とNEXT_SEQ値5図13B参照とが一致しないためS701;FALSE、RCV_SEQ6及びRCV_XID0が以下の条件1を満たすか否かをチェックするS740。条件1RCV_SEQ<NEXT_SEQかつRCV_XID=REG_RXIDB02時点では、RCV_SEQ値6がNEXT_SEQ値5より大きいため、条件1は成立しないS740;FALSE。そこで、受信処理部203は、フレームF60がNAKテーブル部204に登録済みであるか否かをチェックするS750。フレームF60が初めて正常に受信されたフレームであるため、B02時点では、NAKテーブル部204には登録がないS750;NO。そこで、受信処理部203は、そのフレームF60をNAKテーブル部204へ登録するS751。B02時点では、RCV_SEQ値6及びLEN値1であるため、図15Aの2に示されるように、NHED_SEQ1にはd-6=RCV_SEQが設定され、NNAK_SEQ1にはd-7=RCV_SEQLENが設定される。続いて、受信処理部203は、次のようにEOSを生成するS752。具体的には、受信処理部203は、まず、RTフラグを確認することによりその受信フレームF60が再送フレームでないことを確認する図8BのS780;TRUE。受信処理部203は、その受信フレームF60に誤りが無いことを確認するとS782;NO、フレームF60のRCV_SEQ値6がTSEQと一致するか否かを確認するS790。TSEQの初期値はNEXT_SEQとなるため、B02時点ではTSEQには5が設定されている。受信処理部203は、RCV_SEQ値6とTSEQ値5とが一致しないためS790;FALSE、RCV_SEQとEOSとを比較するS792。B02時点では、EOSは7=NEXT_SEQ値5RDS値2であり、RCV_SEQは6である。よって、受信処理部203は、TSEQ及びEOSを更新するS793。具体的には、TSEQに、フレームF60のRCV_SEQ値6とそのフレーム長LEN値1との和が設定され、EOSに、TSEQ値5と再送データ量RDS値2との和が設定される。結果、更新後のTSEQは7となり、更新後のEOSは7となる。受信処理部203は、このように生成されたEOS値7、次に受信すべきフレームのシーケンス番号NEXT_SEQ=5、及びトランザクション識別子RCV_XID=0を含むNAK生成指示を生成しそのNAK生成指示をACK/NAK生成部103に送るS753。なお、このとき生成されたNAK生成指示は、B01時点で生成されたNAK生成指示図12Aの3と同じ内容となる。続いて、受信処理部203は、その受信フレームF60に誤りが無いことを確認するとS755;NO、その受信フレームF60図15Aの1からRCV_XID、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びLENを削除したフレームF6図15Bの3とNEXT_SEQ値5とを受信バッファ部113へ送るS722。《受信バッファ》受信バッファ部113は、フレームF6図15Bの3及びNEXT_SEQ値5をフレーム識別部111から受けると、フレームF6内のRCV_SEQに基づいてそのフレームF6を保存する。図15Bの4及び5に示されるRR、rrd、RW、rwrは、受信バッファ部113内でのフレームの保存及び読み出しに利用されるアドレス変数を示している。RRは、読み出しが完了していないフレームの先頭アドレスを示し、rrdは、受信バッファ部113から現時点で次に読み出すべき箇所を示すアドレスを示し、RWは、次に受信バッファ部113へ保存されるフレームの先頭アドレスを示し、rwrは、受信バッファ部113に現時点で次に書き込むべき箇所を示すアドレスを示す。フレームF6が書き込まれる前では、RR、rrd、RW及びrwrにはそれぞれ同値d-5が設定されている。そして、当該フレームF6のRCV_SEQが6であることから、rwrにはd-7が設定され、アドレスd-6に当該フレームF6が保存される。フレームF6保存後の各アドレス変数は、図15Bの5に示されるような値に設定される。即ち、RR、rrd及びRWが同値d-5に設定され、rwrがd-7に設定される。受信バッファ部113は、フレームF6の保存終了後、RWにNEXT_SEQを代入し、更新されたRWとRRとを内部インタフェース部100へ送る。ここで、受信バッファ部113内のアドレスd-6はNAKテーブル部204のNHED_SEQ1となり、アドレスd-7は、NAKテーブル部204のNNAK_SEQ1となる。受信バッファ部113からのフレーム読み出しは、RWがRRより大きい場合に開始される。RWは、ACK/NAKを返信する際に更新され、その値はNEXT_SEQとなる。rrdとRRは受信バッファ部113からフレームを読み出す毎に更新される。《読み出し》内部インタフェース部100は、受信バッファ部113からアドレスRW及びRRを受けると、これらアドレスが以下の条件2を満たすか否かを判定する。条件2RR<RWB02時点では、RR及びRWは共に5であり、上記条件2が成立しないため、内部インタフェース部100は、受信バッファ部113内に読み出し可能なフレームがないと判断し、読み出し処理を行わない。なお、条件2が成立した場合、内部インタフェース部100は、受信バッファ部113へ読み出し指示を送り、受信バッファ部113から読み出されたフレームを他ブロック11へ送る。《送信》EOS値7、次に受信すべきフレームのシーケンス番号NEXT_SEQ=5、及びトランザクション識別子RCV_XID=0を含むNAK生成指示がフレーム識別部111からACK/NAK生成部103に送られると、B01時点と同様に、ACK/NAK生成部103、ID付与部114、ECC付与部104、EDC付与部105及び送信部106は動作する。結果、NAKフレームN50が回線2を介して通信端末10へ送られる。A03A03では、送信側の通信端末10は、受信側の通信端末20から、NAKフレームN50を受信しそれに対応する処理を実行する。A03時点での通信端末20の処理は、対応済みのNAKフレームを受信した際の処理に相当する。NAKフレームN50が送信側の通信端末10の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点における受信側の通信端末20での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。《フレーム識別》図13Aに示されるように、A03時点における送信側の通信端末10のフレーム識別部111では、各変数は次のような値に設定されている。REG_SXID=1、RCV_SEQ=5、RCV_XID=0、RCV_EOS=7、LEN=1、その他の各変数値=NULL。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びNAKフレームN50のフレーム長を取得すると、A02時点と同じ処理を実行する図6のS50;YES、S52;ACK/NAK、S54。A03時点では、RCV_SEQ値5、RCV_EOS値7及びRCV_XID値0がヘッダ処理部201から再送/更新処理部202へ送られる。再送/更新処理部202は、ヘッダ処理部201からRCV_SEQ値5、RCV_EOS値7及びRCV_XID値0を受けると図7のS60;YES、上記条件4を判定するS61。A03時点では、RCV_XID0がREG_SXID値1より小さく、かつ、RCV_EOS値7とPEOS値7とが一致するため、上記条件4は成立しないS61;FALSE。これにより、再送/更新処理部202は、受信フレームであるNAKフレームN50が既に対応済みであると判断し、そのNAKフレームN50を無視廃棄する。A02時点で既にフレームの再送が開始されており、かつ、その後EOSが更新されていないため、A03時点で受信されたNAKフレームN50は対応済みである。B03B03では、受信側の通信端末20は、送信側の通信端末10から、フレーム誤りの発生したフレームF70を受信してから、拡張NAKフレームeN50を送信するまでの処理を実行する。拡張NAKフレームとは、上述したように、前回送信したNAKフレームに含まれるEOSとは異なる値を持つEOSを含むNAKフレームを意味する。なお、フレームF70が受信側の通信端末20の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。《フレーム識別》図13Bに示されるように、B03時点では、既にフレームF60が正常に受信されているため、NHED_SEQ1に6=RCV_SEQが設定され、NNAK_SEQ1に7=RCV_SEQLENが設定されている。また、RCV_SEQが7に更新されている。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びフレームF70のフレーム長を取得すると、当該受信フレームからシーケンス番号RCV_SEQ値7、トランザクション識別子RCV_XID値0を抽出し、それら抽出されたデータと共にその受信フレームを受信処理部203へ送るS50;YES、S52;SN、S53。受信処理部203は、ヘッダ処理部201から、RCV_SEQ値7、RCV_XID値0及び受信フレームF70を受けると図8AのS700;YES、B02時点と同様に、処理S701;FALSE、S740;FALSE、S750;NO、S751を行う。なお、B03時点の処理S751では、フレームF70には誤りがあるため、NAKテーブル部204にフレームF70は登録されない。また、この時点での、TSEQ及びEOSは、B02時点において更新された値となるため、TSEQが7に設定され、EOSが7に設定されている。続いて、受信処理部203は、次のようにEOSを生成するS752。受信フレームF70のRTは0でありS780;TRUE、そのフレームF70にはフレーム誤りが発生しているS782;YES。そこで、受信処理部203は、EOS値7とRCV_SEQ値7とを比較するS783。B03時点では、両者は等しいためS783;FALSE、受信処理部203は、フレーム障害フレームF50が発生したフレームからRDS値2の間のフレームにフレーム障害が発生したと判断する。よって、受信処理部203は、TSEQにフレームF70のRCV_SEQ値7を代入し、EOSにRCV_SEQ値7とRDS値2との和値9を代入するS785。更新後のTSEQは7となり、更新後のEOSは9となる。EOS値9の作成完了後、受信処理部203は、NEXT_SEQ値5、EOS値9及びRCV_XID値0を含むNAK生成指示を生成し、そのNAK生成指示をACK/NAK生成部103へ送るS753。ここで生成されたNAK生成指示は、B01時点及びB02時点で送信されたNAKフレームに含まれたEOSから更新されたEOSを含むため、拡張NAKの生成指示を意味する。その後、受信処理部203は、フレームF70に誤りが含まれるためS755;YES、そのフレームF70を廃棄するS746。《送信》EOS9、NEXT_SEQ5及びRCV_XID0を含むNAK生成指示がフレーム識別部111からACK/NAK生成部103に送られると、B01時点及びB02時点と同様に、ACK/NAK生成部103、ID付与部114、ECC付与部104、EDC付与部105及び送信部106は動作する。結果、7から9に更新されたEOSを含む拡張NAKフレームeN50が回線2を介して通信端末10へ送られる。A04A04では、送信側の通信端末10は、受信側の通信端末20から、拡張NAKフレームeN50を受信しそれに対応する処理を実行する。拡張NAKフレームeN50が送信側の通信端末10の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点における受信側の通信端末20での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。《フレーム識別》図13Aに示されるように、A04時点でのフレーム識別部111で保持される各変数については、RCV_EOSのみがA03時点から変更されている。A04時点では、RCV_EOSは9である。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及び拡張NAKフレームeN50のフレーム長を取得すると、A02時点と同じ処理を実行する図6のS50;YES、S52;ACK/NAK、S54。A04時点では、RCV_SEQ値5、RCV_EOS値9及びRCV_XID値0がヘッダ処理部201から再送/更新処理部202へ送られる。再送/更新処理部202は、ヘッダ処理部201からRCV_SEQ値5、RCV_EOS値9及びRCV_XID値0を受けると図7のS60;YES、上記条件4を判定するS61。A04時点では、RCV_EOS値9がPEOS値7より大きいため、上記条件4が成立するS61;TRUE。また、当該受信フレームは、拡張NAKフレームeN50であるS62;NAK。よって、再送/更新処理部202は、RCV_SEQ値5、RCV_EOS値9、RCV_XID値0を含む再送指示を送信バッファ制御部112及びID付与部114へ送るS64。その後、再送/更新処理部202は、RCV_EOS値9がPEOS値7より大きい条件のみ成立するため、RCV_EOS値9をPEOSに設定するS65。これにより、REG_SXIDは1のまま維持され、PEOSは9に更新される。図16は、A04時点での送信側の通信端末10で処理されるフレーム及びそのフレームを格納する送信バッファ部102を概念的に示す図である。図16の1には、フレーム識別部111再送/更新処理部202から出力される再送指示が示される。《送信バッファ制御eNAK受信時》図16の1に示される再送指示が送信バッファ制御部112に送られると、送信バッファ制御部112は、再送指示、再送フレームの先頭アドレスを示すRCV_SEQ値5及び再送フレームの終了アドレスを示すRCV_EOS値9を送信バッファ部102へ送る。送信バッファ部102は、再送フレーム読出し中である場合には、再送するデータ量を更新する。具体的には、RCV_EOSのアドレスをd-7から、d-9へ更新する。つまり、eNAKによる再送指示を受けることで、送信バッファ部102は、図16の3に示されるように、d-8からd-10に保存されているフレームF8及びF9を追加で読み出す。送信バッファ部102は、このとき、初回読出しが終了しているフレームに対して、再送フレームであることを示すRT=1のフラグを付与する。A04の時点で、送信バッファ部102内の各アドレスは、図16の2に示されるように設定されている。即ち、SRはd-5に設定され、srdはフレームF60が送信されているためd-7に設定され、SW及びsrcはd-12に設定され、swrはd-13に設定されている。送信バッファ部102は、上述のように、RCV_SEQ5、RCV_EOS9等を受けると、図16の3に示されるように、フレームF7の読出し中であるため、srdをd-7のまま維持し、読み出しを継続する。送信バッファ部102は、EOSの値をd-7からd-9に更新し、srdがEOSd-9よりも大きくなるまで、フレームの読み出しを継続し、読み出されたフレームのRTフラグに1を設定する。即ち、A04時点では、フレームF8及びF9が追加で再送されることになる。図9によれば、再送されるデータ量が、g6-01からg6-02へ拡張される。なお、実運用においてフレーム長は可変であり、RDSの値によって、EOSは、必ずしもフレームの先頭アドレスを示さないため、EOSがフレームの途中アドレスである場合、そのフレームまでが再送される。以降、ACK/NAK生成部103、ID付与部114、ECC付与部104、EDC付与部105及び送信部106の各処理は、A02時点と同様であり、フレームF71が回線1を介して通信端末10へ送信される。その後、フレームF81及びフレームF91も再送信される。B04B04では、受信側の通信端末20は、誤りのないフレームF80を受信してから、NAKフレームN50を返信するまでの処理を実行する。フレームF80が受信側の通信端末20の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点における受信側の通信端末20での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。《フレーム識別》図13Bに示されるように、B04時点でのフレーム識別部111で保持される各変数については、RCV_EOSのみがB03時点から変更されている。B04時点では、RCV_SEQは8である。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びフレームF80のフレーム長を取得すると、B02時点と同じ処理を実行する図6のS50;YES、S52;SN、S53。B04時点では、RCV_SEQ値8、RCV_XID値0及びフレームF80がヘッダ処理部201から受信処理部203へ送られる。これらデータを取得した受信処理部203は、B02時点と同様に、図8AのS700;YES、S701;FALSE、S740;FALSE、S750;NO、及び、S751を実行する。なお、B04時点でのTSEQ及びEOSの各値は7及び9である。続いて、受信処理部203は、B02時点と同様にEOSを生成するS752。具体的には、受信処理部203は、図8BのS780;TRUE、S782;NO、S790;FALSE、S792;FALSE、及び、S793を実行する。処理S793では、TSEQに、フレームF80のRCV_SEQ値8とそのフレーム長LEN値1との和が設定され、EOSに、TSEQ値7と再送データ量RDS値2との和が設定される。結果、更新後のTSEQは9となり、更新後のEOSは9となる。受信処理部203は、NEXT_SEQ値5及びEOS値9を含むNAK生成指示をACK/NAK生成部103へ送るS753。ここで出力されるNAK生成指示に含まれるNEXT_SEQ値5及びEOS値9は、B03時点で生成されたNAK生成指示に含まれるものと同じである。よって、ここで生成されたNAK生成指示は、拡張NAKを生成するための指示ではない。以降、受信処理部203は、B02時点と同様の処理S755;NO、S722を実行する。以降、ACK/NAK生成部103、ID付与部114、ECC付与部104、EDC付与部105及び送信部106の各処理は、B02時点と同様であり、NAKフレームN50が回線2を介して通信端末10へ送信される。B05B05では、受信側の通信端末20は、誤りのないフレームF90を受信してから、NAKフレームN50を返信するまでの処理を実行する。フレームF80が受信側の通信端末20の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点における受信側の通信端末20での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。《フレーム識別》図13Bに示されるように、B05時点でのフレーム識別部111で保持される各変数については、RCV_SEQのみがB04時点から変更されている。B05時点では、RCV_SEQは9である。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びフレームF90のフレーム長を取得すると、B04時点と同じ処理を実行する図6のS50;YES、S52;SN、S53。B05時点では、RCV_SEQ値9、RCV_XID値0及びフレームF90がヘッダ処理部201から受信処理部203へ送られる。これらデータを取得した受信処理部203は、B02時点と同様に、図8AのS700;YES、S701;FALSE、S740;FALSE、S750;NO、及び、S751を実行する。なお、B05時点でのTSEQ及びEOSの各値は9である。続いて、受信処理部203は、次のようにEOSを生成するS752。具体的には、受信処理部203は、図8BのS780;TRUE、及び、S782;NOを実行した後、TSEQとRCV_SEQとを比較するS790。B05時点では、TSEQ値9とRCV_SEQ値9とが一致するS790;TRUE。これは、受信フレームF90が、連続して受信されたフレームであることを意味する。フレームF80及びF90は連続して受信されている。受信処理部203は、次に、TSEQに、受信フレームのシーケンス番号RCV_SEQとフレーム長LENとの和を代入することでTSEQを更新する。なお、EOSは、フレーム誤り又はフレームロスが発生していないので、値を維持する。更新後のTSEQ及びEOSは、10=RCV_SEQ9LEN1及び9となる。受信処理部203は、B04時点と同じNAK生成指示をACK/NAK生成部103へ送るS753。即ち、ここで生成されたNAK生成指示についても拡張NAKを生成するための指示ではない。以降、受信処理部203は、B04時点と同様の処理S755;NO、S722を実行する。更に、以降、ACK/NAK生成部103、ID付与部114、ECC付与部104、EDC付与部105及び送信部106の各処理は、B04時点と同様であり、NAKフレームN50が回線2を介して通信端末10へ送信される。B06B06では、受信側の通信端末20は、送信側の通信端末10から、フレーム誤りの発生したフレームF110を受信してから、NAKフレームN50を送信するまでの処理を実行する。なお、フレームF110が受信側の通信端末20の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。《フレーム識別》図13Bに示されるように、B06時点でのフレーム識別部111で保持される各変数については、RCV_EOSのみがB05時点から変更されている。B06時点では、RCV_SEQは11である。なお、図9に示されるように、フレームF90の次に送信されたフレームF100はフレームロスにより受信側の通信端末20で受信されていない。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びフレームF110のフレーム長を取得すると、B05時点と同じ処理を実行する図6のS50;YES、S52;SN、S53。B06時点では、RCV_SEQ値11、RCV_XID値0及びフレームF110がヘッダ処理部201から受信処理部203へ送られる。これらデータを取得した受信処理部203は、B05時点と同様に、図8AのS700;YES、S701;FALSE、S740;FALSE、S750;NO、及び、S751を実行する。なお、B06時点でのTSEQ及びEOSの各値は10及び9である。続いて、受信処理部203は次のようにEOSを生成するS752。具体的には、受信処理部203は、図8BのS780;TRUE、及び、S782;YESを実行した後、EOSとRCV_SEQとを比較するS783。B06時点では、RCV_SEQ値11がEOS値9より大きいためS783;TRUE、受信処理部203は、次に、EOSとNEXT_SEQとを比較するS784。B06時点では、EOS値9はNEXT_SEQ値5よりも大きいためS784;FALSE、受信処理部203は、フレーム障害の間隔が再送データ量RDSより大きいと判断し、無駄な再送を抑えるためEOSの更新及びTSEQの更新を行わないS786。これにより、TSEQ及びEOSの各値は維持されるTSEQ=10、EOS=9。受信処理部203は、B05時点と同じNAK生成指示をACK/NAK生成部103へ送るS753。即ち、ここで生成されたNAK生成指示についても拡張NAKを生成するための指示ではない。以降、受信処理部203は、処理S755;YES、S746を実行する。更に、以降、ACK/NAK生成部103、ID付与部114、ECC付与部104、EDC付与部105及び送信部106の各処理は、B05時点と同様であり、NAKフレームN50が回線2を介して通信端末10へ送信される。A05A05では、送信側の通信端末10は、再送フレームF91を送信してから非再送フレームF121を送信するまでの処理を実行する。A05時点での通信端末10の処理は、EOS超過時の処理に相当する。図17は、A05時点での送信側の通信端末10で処理されるフレーム及びそのフレームを格納する送信バッファ部102を概念的に示す図である。《送信バッファ制御》対応すべきNAKフレームを受信することなく、読み出しアドレスsrdが通信端末20からNAKフレームによって通知されたEOSを超えた場合、送信バッファ部102は、受信側の通信端末20から要求されたトータル再送データ量を満足したと判断し、再送フレームの読み出しを終了し、再送前のフレームの続きからフレームの送信を再開する。A05時点での送信バッファ部102の各アドレス変数は、図17の1に示されるように設定されている。即ち、SRはd-5に設定され、srdはフレームF91が送信されているためd-10に設定され、SWはフレームF15までの書き込みが終了していることから値d-16に設定され、srcは再送前に読み出したフレームのアドレスd-12に設定され、swrはd-17に設定される。この状態からフレームF9が読み出されると、srdがd-10に変更され、EOSがd-9に変更される。これにより、srdがEOSを超えるため、送信バッファ部102は、図17の2に示されるように、srdにsrcを代入し、フレームF12からの読み出しを再開する。つまり、フレームF10及びフレームF11は、読み飛ばされることとなる。このとき読み出されたフレームF12は、再送フレームでないため、RTフラグが0に設定される。図17の3は、送信バッファ部102から読み出されたフレームF12を示す。このフレームF12は、ACK/NAK生成部103へ送られる。以降、ACK/NAK生成部103、ID付与部114、ECC付与部104、EDC付与部105及び送信部106の各処理がA02時点と同様に実行される。結果、フレームF121が回線1を介して通信端末20へ送信される。B07再送フレームの受信B07では、受信側の通信端末20は、送信側の通信端末10から、フレームF51を受信してから、ACKフレームA71を送信するまでの処理を実行する。なお、フレームF51が受信側の通信端末20の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。《フレーム識別》図18は、B07時点での受信側の通信端末20で処理されるフレーム及びそのフレームを格納する受信バッファ部113並びに更新前後のNAKテーブル部204を概念的に示す図である。なお、図13Bに示されるように、B07時点でのフレーム識別部111で保持される各変数については、RCV_SEQ及びRCV_XIDのみがB06時点から変更されている。B07時点では、RCV_SEQは5であり、RCV_XIDは1である。フレームF51のフラグには、SN値1、ACK値0、NAK値0及びRT値1が設定されている。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びフレームF51のフレーム長を取得すると、B05時点と同じ処理を実行する図6のS50;YES、S52;SN、S53。B07時点では、RCV_SEQ値5、RCV_XID値1及びフレームF51がヘッダ処理部201から受信処理部203へ送られる。これらデータを取得した受信処理部203は、RCV_SEQの値とNEXT_SEQの値とが一致するか否か判定するS701。B07時点では、RCV_SEQ値5とNEXT_SEQ値5とが一致するためS701;TRUE、受信処理部203は、現在のトランザクションを示すRCV_XID値1をREG_RXIDに設定することにより、REG_RXIDを更新するS702。これにより、受信側の通信端末20では、そのフレームF51が既に受信されたフレームとして認識される。その後、受信処理部203は、フレームF51に誤りがないためS703;NO、NAKテーブル部204にNNAK_SEQ1が登録されているか否かをチェックするS710。B07時点では、図13Bに示されるように、NAKテーブル部204にNNAK_SEQ1の登録があるためS710;YES、受信処理部203は、既に受信されているフレームと現在受信されたフレームとの間に未受信のフレームの存在を確認するため、以下の条件3を判定するS711。条件3NHED_SEQ1==NEXT_SEQLENB07時点では、NHED_SEQ1値6、NEXT_SEQ値5、LEN値1であることから条件3は成立するS711;TRUE。この場合、受信処理部203は、既に受信されているフレームと現在受信されたフレームとの間に未受信のフレームがないと判定し、現状のNEXT_SEQにNAKテーブル部204のNNAK_SEQ1を代入することによりNEXT_SEQを更新するS730。結果、NEXT_SEQは7に更新される。続いて、受信処理部203は、NAKテーブル部204から、NHED_SEQ1及びNNAK_SEQ1を削除するS731。この処理では、NHED_SEQpにNHED_SEQp1が設定されかつNNAC_SEQpにNNAC_SEQp1が設定される。更新後のNAKテーブル部204は、図18の2で示される。受信処理部203は、NAKテーブル部204にNNAK_SEQ1が登録されておりかつ当該受信フレームが再送フレームか否か確認するS732。受信処理部203は、NAKテーブル部204にNNAK_SEQ1が登録されておりかつ当該受信フレームF51が再送フレームであるためS732;FALSE、RCV_XID及び更新されたNEXT_SEQを含むACK生成指示を生成、ACK/NAK生成部103へ送るS733。更に、受信処理部203は、当該フレームF51とNEXT_SEQとを受信バッファ部113へ送るS722。《受信バッファ》図18の3に示されるフレームF5及びNEXT_SEQ値7を受けると、受信バッファ部113は、フレームF5内のRCV_SEQ値5に応じて、当該フレームF5を格納する。図18の4には、フレームF5が格納される前の受信バッファ部113が示されている。RRは読み出しが完了していないフレームの先頭アドレス、rrdは受信バッファ部113から現時点で次に読み出すべき箇所を示すアドレス、RWは次に受信バッファ部113へ保存されるフレームの先頭アドレス、rwrは受信バッファ部113に現時点で次に書き込むべき箇所を示すアドレスを示す。フレームF5を格納する前では、RR、rrd及びRWは同じ値d-5に設定され、rwrはd-10に設定されている。ここで、フレームF5のRCV_SEQの値は5であるため、受信バッファ部113のアドレスrwrがd-5に設定され、d-5から当該フレームF5が格納される。この格納終了後、RWはNEXT_SEQ値7に更新され、RWはd-7に更新される。これにより、フレームF5格納後においては、図18の5に示されるように、RR及びrrdが同じ値d-5に設定され、RWがd-7に設定され、rwrがd-6に設定される。受信バッファ部113からのフレーム読み出しは、RRがRWより小さい場合に開始される。RWはACK/NAKを返信する際に更新され、その値はNEXT_SEQとなる。rrdとRRは受信バッファ部113からフレームを読み出す毎に更新される。《読み出し》更新されたアドレスRWとアドレスRRが内部インタフェース部100に与えられると、内部インタフェース部100は、上記条件2を判定する。B07時点では、RRが5に設定され、RWが7に設定されている。また、上記条件2を満たすため、受信バッファ部113内に読出し可能なフレームが有ると判断し、受信バッファ部113へ読出し指示を出力する。この読み出し指示によって受信バッファ部113から読み出されたフレームF5及びF6が他ブロック11へ送られる。《送信》ACK/NAK生成部103、ID付与部114、ECC付与部104、EDC付与部105及び送信部106の各処理は、B01時点と同様であり、ACKフレームA71が回線2を介して送信側の通信端末10へ送られる。A06A06では、送信側の通信端末10は、受信側の通信端末20から、ACKフレームA71を受信してから非再送フレームF141を送信するまでの処理を実行する。ACKフレームA71が送信側の通信端末10の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点における受信側の通信端末20での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。《フレーム識別》図13Aに示されるように、A06時点でのフレーム識別部111で保持される各変数は次のように設定されている。即ち、REG_SXIDが1に設定され、RCV_SEQが7に設定され、RCV_XIDが1に設定され、LENが1に設定され、その他の値はNULLに設定されている。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びACKフレームA71のフレーム長を取得すると、A02時点と同じ処理を実行する図6のS50;YES、S52;ACK/NAK、S54。A06時点では、RCV_SEQ値7及びRCV_XID値1がヘッダ処理部201から再送/更新処理部202へ送られる。再送/更新処理部202は、ヘッダ処理部201からRCV_SEQ値7及びRCV_XID値1を受けると図7のS60;YES、上記条件4を判定するS61。A06時点では、REG_SXIDが1でありかつRCV_XIDが1であるから、上記条件4が成立するS61;TRUE。これにより、再送/更新処理部202は、そのACKフレームA71が未対応であると判定する。また、当該フレームは、ACKフレームである。よって、受信処理部203は、受信されたACKフレームに含まれるRCV_SEQ値7及びRCV_XID値1を含む更新指示を送信バッファ制御部112及びID付与部114へ送るS63。《送信バッファ制御》図19は、A06時点での送信側の通信端末10で処理されるフレームを概念的に示す図である。送信バッファ制御部112は、図19の1で示される更新指示を受けると、この更新指示及びRCV_SEQ値7を送信バッファ部102へ送る。これらを受けた送信バッファ部102は、アドレスsrdと受信されたRCV_SEQとを比較し、値の大きい方をsrdに設定し、フレームの読み出しを開始する。このとき、アドレスsrcが受信されたRCV_SEQより小さい場合には、同様にsrcの値も更新される。A06時点での更新前では、送信バッファ部102内の各アドレスは、図19の2に示されるように、SRがd-5に設定され、srd及びsrcがd-14に設定され、SWがd-17に設定され、swrがd-18に設定されている。送信バッファ部102は、更新指示及びRCV_SEQ値7を受けると、図19の3に示されるように、SRの値を受信されたRCV_SEQ値7に更新する。これにより、SRはd-7に設定されるため、送信バッファ部102は、それより前のフレームF5及びフレームF6を削除する。A06時点において、srd値d-14は、RCV_SEQ値7より大きいため、アドレスsrdのフレームF14から継続してフレームが読み出される。以降、ACK/NAK生成部103、ID付与部114、ECC付与部104、EDC付与部105及び送信部106の各処理は、A01時点と同様であり、フレームF141が回線1を介して受信側の通信端末20へ送信される。B08B08では、受信側の通信端末20は、送信側の通信端末10から、フレームF61を受信してから、ACKフレームA71を送信するまでの処理を実行する。なお、フレームF61が受信側の通信端末20の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。《フレーム識別》図13Bに示されるように、B08時点でのフレーム識別部111で保持される各変数については、NEXT_SEQ、NHED_SEQ1、NNAK_SEQ1、REG_RXID、RCV_SEQがB07時点から変更されている。B08時点では、NEXT_SEQは7であり、NHED_SEQ1は8であり、NNAK_SEQ1は10であり、REG_RXIDは1であり、RCV_SEQは6である。フレームF61のフラグには、SN値1、ACK値0、NAK値0及びRT値1が設定されている。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びフレームF61のフレーム長を取得すると、B05時点と同じ処理を実行する図6のS50;YES、S52;SN、S53。B08時点では、RCV_SEQ値6、RCV_XID値1及びフレームF61がヘッダ処理部201から受信処理部203へ送られる。これらデータを取得した受信処理部203は、RCV_SEQ値6とNEXT_SEQ値7とが一致しないためS701;FALSE、上記条件1を満たすか否かをチェックするS740。B08時点では、RCV_SEQ値6、NEXT_SEQ値7、RCV_XID値1、REG_RXID値1であるため、条件1は成立するS740;TRUE。続いて、受信処理部203は、当該フレームF61が再送フレームであるか否かを確認するS741。フレームF61は再送フレームRT=1であるためS741;FALSE、受信処理部203は、NEXT_SEQ値7、RCV_XID値1を含むACK生成指示を生成しACK/NAK生成部103へ送るS745。なお、ここで生成されるACK生成指示に含まれるNEXT_SEQ及びRCV_XIDは、B07時点で生成されたACK生成指示に含まれる値と同じである。その後、受信処理部203は、その受信フレームを廃棄するS746。以降、ACK/NAK生成部103、ID付与部114、ECC付与部104、EDC付与部105及び送信部106の各処理は、B01時点と同様であり、ACKフレームA71が回線2を介して送信側の通信端末10へ送信される。B09B09では、受信側の通信端末20は、非再送フレームF121を受信してから、NAKフレームN101を返信するまでの処理を実行する。B09時点における通信端末20の処理は、再送フレームが受信された後、非再送フレームが受信された際の処理に相当する。フレームF121が受信側の通信端末20の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点における受信側の通信端末20での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。《フレーム識別》図13Bに示されるように、B09時点でのフレーム識別部111で保持される各変数については、NEXT_SEQ、NHED_SEQ1、NNAK_SEQ1、RCV_SEQがB08時点から変更されている。B09時点では、NEXT_SEQは10であり、NHED_SEQ1は12であり、NNAK_SEQ1は13であり、RCV_SEQは12である。フレームF121のフラグには、SN値1、ACK値0、NAK値0及びRT値0が設定されている。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びフレームF121のフレーム長を取得すると、B05時点と同じ処理を実行する図6のS50;YES、S52;SN、S53。B09時点では、RCV_SEQ値12、RCV_XID値1及びフレームF121がヘッダ処理部201から受信処理部203へ送られる。これらデータを取得した受信処理部203は、RCV_SEQ値12とNEXT_SEQ値10とが一致しないためS701;FALSE、上記条件1を満たすか否かをチェックするS740。B09時点では、RCV_SEQ値12、NEXT_SEQ値10、RCV_XID値1、REG_RXID値1であるため、条件1は成立しないS740;FALSE。そこで、受信処理部203は、フレームF121がNAKテーブル部204に登録済みであるか否かをチェックするS750。このとき、フレームF121はNAKテーブル部204には登録されていないS750;NO。そこで、受信処理部203は、そのフレームF121をNAKテーブル部204へ登録するS751。B09時点では、RCV_SEQ値12及びLEN値1であるため、図10に示されるように、NHED_SEQ1H1にはd-12=RCV_SEQが設定され、NNAK_SEQ1N1にはd-13=RCV_SEQLENが設定される。続いて、受信処理部203は、次のようにEOSを生成するS752。具体的には、受信処理部203は、図8BのS780;TRUE、及び、S782;NOを実行した後、TSEQとRCV_SEQとを比較するS790。B09時点では、TSEQ値10とRCV_SEQ値12とは一致しないS790;FALSEため、受信処理部203は、RCV_SEQとEOSとを比較するS792。B09時点では、RCV_SEQ値12がEOS値9より大きいためS792;TRUE、受信処理部203は、更に、NEXT_SEQとEOSとを比較するS794。NEXT_SEQ値10はEOS値9より大きいためS794;TRUE、受信処理部203は、再送信シーケンスが終了し、非再送フレームを受信している状態にあると判定する。この場合、受信処理部203は、次に受信予定のフレームのシーケンス番号TSEQに、RCV_SEQ値12とそのフレームのLEN値1との和を代入することによりTSEQを更新するS796。続いて、受信処理部203は、NAKテーブル部204にNNAK_SEQ1が登録されているか否かをチェックするS797。このとき、NAKテーブル部204には、図10に示される以下のようなレコードが登録されている。p=1;NHED_SEQ1=12;NNAK_SEQ1=13受信処理部203は、NNAK_SEQ1が登録されているためS797;YES、NHED_SEQ1の値12をEOSへ代入することにより、EOSを更新するS781。更新後のTSEQ及びEOSは、13=RCV_SEQ値12LEN値1、12=NHED_SEQ1となる。なお、上述の例では、pが1であるNHED_SEQ1の値をEOSに代入しているが、NAKテーブル部204に複数レコードが登録されている場合には、最も大きいpのNHED_SEQpの値をEOSに代入してもよい。また、NHED_SEQp-1の値をEOSに代入することにより余分な再送を抑えるようにしてもよい。上述の例の場合、値11=NHED_SEQ1-1がEOSに代入されるようにしてもよい。EOSの生成後、受信処理部203は、NEXT_SEQ値10及びEOS値12を含むNAK生成指示をACK/NAK生成部103へ送るS753。以降、受信処理部203は、B02時点と同様に処理を行う。結果、受信バッファ部113が、フレームF12内のRCV_SEQに基づいてそのフレームF12を保存する。また、それ以降のACK/NAK生成部103、ID付与部114、ECC付与部104、EDC付与部105及び送信部106の各処理は、B02時点と同様であり、NAKフレームN101が回線2を介して送信側の通信端末10へ送信される。B10B10では、受信側の通信端末20は、非再送フレームF192を受信してから、ACKフレームA202を返信するまでの処理を実行する。B10時点での通信端末20の処理は、NAKテーブル部204に登録がない状態でNEXT_SEQにより示されるフレームが受信された際の処理に相当する。フレームF192が受信側の通信端末20の受信部108で受信されてから、フレーム識別部111に送られるまでの処理は、上述のB01時点における受信側の通信端末20での処理《受信》及び《誤り訂正及び検出》と同様であるため、ここでは説明を省略する。《フレーム識別》図13Bに示されるように、B10時点でのフレーム識別部111で保持される各変数については、NEXT_SEQが19であり、REG_RXIDが2であり、RCV_SEQが19であり、RCV_XIDが2であり、LENが1であり、その他はNULLである。フレームF192のフラグには、SN値1、ACK値0、NAK値0及びRT値0が設定されている。ヘッダ処理部201は、フレーム誤り検出部110から、ヘッダ誤り訂正の結果、フレーム誤り検出の結果及びフレームF192のフレーム長を取得すると、B09時点と同じ処理を実行する図6のS50;YES、S52;SN、S53。B10時点では、RCV_SEQ値19、RCV_XID値2及びフレームF192がヘッダ処理部201から受信処理部203へ送られる。これらデータを取得した受信処理部203は、B07時点と同様に、図8Aの各処理S700;YES、S701;TRUE、S702、S703;NOを行う。なお、B10時点では、処理S702において、RCV_XID値2がREG_RXIDに設定される。受信処理部203は、NAKテーブル部204にNNAK_SEQ1が登録されているか否かをチェックするS710。B10時点では、図13Bに示されるように、NAKテーブル部204にNNAK_SEQ1の登録がないためS710;NO、受信処理部203は、現状のNEXT_SEQ値19に当該フレーム長LEN値1を加算することによりNEXT_SEQを更新するS720。そして、受信処理部203は、RCV_XID値2及び更新されたNEXT_SEQ値20を含むACK生成指示をACK/NAK生成部103へ送りS721、当該フレームF192を受信バッファ部113へ送るS722。以降、《受信バッファ》、《読み出し》、《送信》の各処理は、B07時点と同様であるため、ここでは説明を省略する。第1実施形態の作用及び効果上述のように、第1実施形態では、受信側の通信端末20により、再送が要求されるフレーム群の中の最終フレームを特定するための最終シーケンス番号EOSが決定され、そのEOSと当該フレーム群の中の先頭フレームを特定するためのシーケンス番号とを含むNAKフレームが送信側の通信端末10へ送信される。送信側の通信端末10では、そのNAKフレームを受信すると、そのNAKフレームで要求される再送シーケンスが開始される。即ち、そのNAKフレームに含まれるシーケンス番号RCV_SEQで特定される先頭フレームから、そのNAKフレームに含まれる最終シーケンス番号RCV_EOSで特定される最終フレームまでが送信バッファ部102から順次読み出され、読み出された各再送フレームが受信側の通信端末10へ連続的に送信される。即ち、第1実施形態では、フレームロスやフレーム誤りなどのようなフレーム障害が発生した場合に、当該フレーム障害に対応するフレームから一定量再送データ量RDSのフレームが連続的に再送される。これにより、受信側の通信端末20は、前回、フレーム障害により正常に受信することができなかったフレームを正常に受信することができ、フレーム障害から回復することができる。また、第1実施形態によれば、フレーム障害が発生したフレームからの複数のフレームがまとめて再送されるため、無駄な再送を抑制し、かつ、制御信号量を削減することができ、ひいては、通信リソースの使用効率利用可能な通信帯域を向上させることができる。具体的には、フレーム障害の発生したフレームのみを再送するSR方式より、制御信号量を低減することができ、フレーム障害が発生したフレーム以降の全てを再送するGBN方式より、無駄な再送を抑えることができる。更に、第1実施形態では、受信側の通信端末20において、連続再送されているフレーム群中再送シーケンス中にフレーム障害の発生の有無が判定され、再送シーケンス中にフレーム障害が発生した場合には、最終シーケンス番号EOSが更新される。そして、更新された最終シーケンス番号EOSを含むNAKフレーム拡張NAKフレームが送信側の通信端末10で受信され、再送シーケンスの最終フレームがその更新された最終シーケンス番号EOSで特定されるフレームに変更される。逆に、再送シーケンス終了後にフレーム障害が発生した場合には、そのフレーム障害に基づく再送シーケンスでは、元の再送データ量RDSが利用される。このように、第1実施形態では、通常時には、再送データ量RDSに対応する数のフレームが連続再送されるが、その連続再送中にフレーム障害が発生した場合には、拡張NAKフレームを用いることにより、連続再送されるフレーム数が増やされる。従って、第1実施形態によれば、バースト誤りの発生状況に応じて、連続再送されるデータ量を柔軟に変更できるため、通信リソースの使用効率利用可能な通信帯域を向上させることができる。更に、第1実施形態では、送信側の通信端末10において、既に初回読み出しが終了しているフレームの次に初回読み出しすべきフレームが格納されているアドレス上記変数srcと、現在読み出すべきフレームが格納されているアドレス上記変数srdとが別々に保持される送信バッファ部102。そして、NAKフレームに含まれていた最終シーケンス番号EOSで特定される最終フレームの再送が完了する、即ち、再送シーケンスが終了すると、srdにsrcが代入されることにより、前回初回読み出しされたフレームの次のフレームから通常送信が再開される。これにより、第1実施形態によれば、再送シーケンスからの復帰において、無駄なフレームが送信されることを防ぐことができる。これにより、通信リソースの使用効率を向上させることができる。更に、第1実施形態では、送信側の通信端末10において、再送シーケンスを開始する際にのみ、フレームに含まれるトランザクション識別子が更新され、このトランザクション識別子により、再送シーケンスを開始するか否かが判定される。これにより、送信側の通信端末10において、再送シーケンス中であるか否かが適切に判定され、再送シーケンスが無駄に継続するような事態を防ぐことができる。第1実施形態の補足上述の第1実施形態では、通信端末10から通信端末20へのフレーム転送を例としたが、逆に、通信端末20から通信端末10へのフレーム転送でも同様の動作となる。また、ACK/NAK生成部103においてACK/NAK生成要求と読み出しフレームとが競合した場合、ACK/NAK生成部103が、ACK/NAK用のシーケンス番号AN_SEQ領域とACK/NAK用のトランザクション識別子AN_XID領域とを再送ヘッダに追加することにより、ACK/NAK情報を読み出しフレームに相乗りPiggybackさせるようにしてもよい。この場合、双方向通信においてもACK/NAKフレームのオーバヘッドを抑え、スループットを向上させることができる。上述の第1実施形態では、再送されるべきフレーム群の最終フレームを特定するための情報最終フレーム情報として最終シーケンス番号EOSがNAKフレームに設定されたが、このEOSの代わりに再送データ量RDSがNAKフレームに設定されるようにしてもよい。この場合、送信側の通信端末10が、NAKフレームに含まれるRDSに基づいて、最終フレームを特定するようにすればよい。この特定は、NAKフレームに設定されるシーケンス番号RCV_SEQにRDSを加算して得られる値を用いることにより実現できる。また、上述の第1実施形態における受信処理部203の処理を以下のように変更するようにしてもよい。図8Aの処理S714及びS706、図8Bの処理S781では、処理を容易にするために、NAKテーブル部204に登録されているNHED_SEQ最大pの値をEOSに設定しているが、以下の条件5を満たすpに関するNHED_SEQpの値をEOSに設定するようにしてもよい。条件5RDS<NNAK_SEQp-NHED_SEQp上記条件5が成立する場合、RDSを超える連続受信済みフレームを再送信することが無くなるため、再送効率を向上させることができる。具体的に、再送データ量RDSが2であり、NAKテーブル部204に以下の登録がある場合を例に挙げる。p=1、NHED_SEQ1=50、NNAK_SEQ1=52p=2、NHED_SEQ2=55、NNAK_SEQ2=58p=3、NHED_SEQ3=59、NNAK_SEQ3=61上述の第1実施形態では、NHED_SEQ3の値59がEOSに設定されるが、本変形例によれば、pが2の場合に条件5が成立するため、NHED_SEQ2の値55がEOSに設定される。この場合、シーケンス番号55から58で示されるフレームは再送されない。[第2実施形態]図20は、第2実施形態における通信端末の構成例を概念的に示す図である。第2実施形態における通信端末は、図20に示されるように、第1実施形態における再送データ量設定部115に代えて、バースト誤り量検出部116を有する。バースト誤り量検出部116は本件発明の再送データ量取得部に相当する。他の処理部については基本的には第1実施形態と同様である。以下、第2実施形態における通信端末について第1実施形態と異なる点を中心に説明する。バースト誤り量検出部116は、フレーム誤り検出部110から提供されるフレーム誤り検出結果及びフレーム長LENに基づいて、バースト誤り量を算出する。バースト誤り量とは、所定のビットエラーレートBER:BitErrorRate以上で誤りが発生している箇所のデータ量を意味する。よって、バースト誤り量検出部116は、所定のビットエラーレートBER:BitErrorRate以上で発生しているフレーム障害に関し、前回のフレーム障害から今回のフレーム障害までの間のデータ量をバースト誤り量としてカウントする。上記所定閾値Wは、バースト誤り量検出部116において、所定のBER以上の誤りが発生している箇所のデータ量を検出するために利用される。例えば、所定のBERが10-6の場合、106ビットの送信に対して1ビットの誤りが発生することを示すため、当該所定閾値Wには、125000バイト=106/8が設定される。バースト誤り量検出部116は、検出されたバースト誤り量の統計情報ヒストグラムを生成することにより、その統計情報に応じて再送データ量RDSを決定し、決定された再送データ量RDSをフレーム識別部111へ送る。バースト誤り量の統計情報は、検出されたバースト誤り量の統計データ例えば、ヒストグラムである。動作例以下、第2実施形態における通信端末の動作例として、バースト誤り量検出部116の具体的な動作例を図21、図22A及び図22Bを用いて説明する。図21は、第2実施形態におけるバースト誤り量検出部116の動作例を示すフローチャートである。図22Aは、バースト誤り量検出部116内の変数の状態を示す図である。図22Bは、バースト誤り量の統計情報の例を示す図である。ここでの例では、図21、図22A及びBに示されるように、バースト誤り量検出部116は、バースト誤り量を検出するために、以下のような変数を用いると仮定する。RCV_SEQj:受信フレームに含まれるシーケンス番号を示す。LENj:受信フレームのフレーム長を示す。なお、フレームデータ部に誤りがある場合、LENjには0が設定される。ERRj:受信フレームの誤りの有無を示す。値1の場合誤りが有ることを示す。EPj:フレーム障害の発生したフレームのシーケンス番号が保持される。EP2j:前にフレーム障害の発生したフレームのシーケンス番号が保持される。ST:バースト誤り量の監視が開始されているか否かを示すフラグである。ここでは、STが1に設定されていることが、バースト誤り量の監視が開始されていることを意味する。BEj:バースト誤り量を示す。RDSj:フレーム識別部111へ送られる再送データ量RDSを示す。NEXT_SEQj:次に受信すべきフレームのシーケンス番号を示す。ここで、jは、1以上の正の整数で、受信されたフレームの順番シーケンス番号を示す。バースト誤り量検出部116は、処理を開始するにあたり、フレーム誤り検出部110から、受信フレームFjに関し、ヘッダ誤り訂正の結果、フレーム誤り検出の結果ERRj、シーケンス番号RCV_SEQj及びフレーム長LENjを取得する。バースト誤り量検出部116は、ヘッダ誤り訂正の結果がヘッダ誤りの訂正の完了ヘッダ誤り無しも含むを示す場合にはS900;YES、更に、フレーム誤り検出の結果及びシーケンス番号に基づいて、フレームの誤り又はフレームロスフレーム障害が生じているか否かを判定するS901。この判定は、例えば、以下の条件に基づいて実施される。NEXT_SEQj≠RCV_SEQjorERRj=1この条件が成立した場合、フレーム障害が生じている。具体的には、前者が成立する場合、フレームロスが生じており、後者が成立する場合、フレーム誤りが生じている。バースト誤り量検出部116は、フレーム障害が発生している場合S901;YES、監視フラグSTを確認するS902。バースト誤り量の監視が開始されていない場合S902;NO、バースト誤り量検出部116は、EP、EP2、ST及びBEの各変数を初期化するS903。具体的には、EPj及びEP2jに、NEXT_SEQを設定し、STに1を設定し監視開始の設定、BEjに0を設定するバースト誤り量の初期化。続いて、バースト誤り量検出部116は、次に受信すべきフレームのシーケンス番号NEXT_SEQを更新するS909。ここで、NEXT_SEQには、フレームFjのシーケンス番号RCV_SEQjにそのフレーム長LENjを加算した値が設定される。以上の処理は、バースト誤り量の監視を開始する際の処理に相当する。このバースト誤り量の監視を開始する際の処理について、図22Aの1及び2で示される具体例に基づいてより具体的に説明する。図22Aの1で示されるように、フレームFj-1がロスし、フレームFjが受信された場合、NEXT_SEQにd-200が設定されており、RCV_SEQjがd-201であり、ERRjが0であるため、上記条件のうち、NEXT_SEQj≠RCV_SEQjが成立し、結果、フレームロスが発生していると判定されるS901;YES。また、処理903では、EPjには、RCV_SEQjの値d-201にLENjの値1が加算された値d-202が設定され、EP2jには、NEXT_SEQの値であるd-200が設定される。処理S909では、NEXT_SEQには、RCV_SEQjの値d-201にLENjの値1が加算された値d-202が設定される。一方、バースト誤り量検出部116は、バースト誤り量の監視が既に開始されている場合S902;YES、前回フレーム障害の発生したフレームの先頭から今回フレーム障害の発生したフレームの先頭までのデータ量を算出し、その算出されたデータ量をバースト誤り量BEへ加算するS904。更に、バースト誤り量検出部116は、変数EP及びEP2を更新した後S905、上述のようにNEXT_SEQを更新するS909。以上の処理は、バースト誤り量BEをカウントする処理に相当する。この累積処理について、図22Aの3で示される具体例に基づいてより具体的に説明する。図22Aの3では、図22Aの1及び2に続いて、フレームFj1がロスし、フレームFj2が受信された場合が例示される。この例によれば、処理S904において、BEj2に、BEjに、EPjからEP2jを減算した値を加算して得られる値d-202-d-200が設定されることにより、バースト誤り量がカウントされる。処理S905では、EPj2に、フレームFj2のRCV_SEQj2の値d-203にLENj2の値1を加算した値d-204が設定され、EP2j2に、EPjの値d-202が設定される。処理909では、NEXT_SEQj2に、受信フレームFj2のRCV_SEQj2とそのフレーム長LENj2との和が代入される。フレーム障害が発生していない場合S901;NO、バースト誤り量検出部116は、前回フレーム障害が発生してからのデータ間隔が所定値Wよりも長いか否かを判定するS906。前回フレーム障害が発生してからのデータ間隔が所定値W以下である場合にはS906;FALSE、バースト誤り量検出部116は、バースト誤り量の監視カウントを継続し、NEXT_SEQを更新するS909。一方、前回フレーム障害が発生してからのデータ間隔が所定値Wより長い場合にはS906;TRUE、バースト誤り量検出部116は、バースト誤り量の統計処理を行い、この統計処理で得られたバースト誤り量の統計情報ヒストグラムから再送データ量RDSを決定し、その再送データ量RDSをフレーム識別部111へ送るS907。更に、バースト誤り量検出部116は、監視フラグSTを監視されていない状態0に設定するS907。これにより、バースト誤り量のカウントは終了する。以上の処理は、バースト誤り量の監視を終了させる際の処理に相当する。この終了処理について、図22Aの4で示される具体例に基づいてより具体的に説明する。図22Aの4では、図22Aの1、2及び3に続いて、フレームFj2及びフレームFj3が順次正常に受信された後、フレームFj4が正常に受信された場合が例示される。この例によれば、処理S901において、フレーム障害が発生していないと判定されるS901;NO。そして、図22Aの4の例によれば、処理S906において、フレームFj1の先頭から今回受信されたフレームFj4の先頭までのデータ量と所定値Wとが比較される。当該データ量が所定値Wよりも大きい場合にはS906;TRUE、バースト誤り量BEの統計処理が行われ、バースト誤り量の統計情報が生成される。図22Bには、バースト誤り量の統計情報ヒストグラムの例が示される。図22Bの例では、各バースト誤り量の発生頻度が統計的に取得されている。例えば、バースト誤り量検出部116は、そのバースト誤り量の統計情報から、最頻値d-300を再送データ量RDSに決定するS907。なお、再送データ量RDSの値は、最頻値d-300でなくとも、中央値d-301、平均値d-302、又は最大値d-303のとされてもよい。第2実施形態における作用及び効果第1実施形態における作用及び効果を十分に得るためには、再送データ量RDSをどのような値に設定するかが重要となる。再送データ量RDSが小さすぎると、従来のSR方式と同じような動作となり、逆に再送データ量RDSが大きすぎると、従来のGBN方式と同じような動作となり、第1実施形態における作用及び効果を十分に得ることができない場合がある。そこで、第2実施形態では、バースト誤り量検出部116により、バースト誤り量として、所定の誤り率以上で誤りが発生している箇所のデータ量がカウントされ、このバースト誤り量の統計情報から再送データ量RDSが決定される。これにより、第2実施形態によれば、バースト誤り量から最適な再送データ量RDSを決定することができる。これにより、例えば、再送が頻繁に繰り返されるような事態を防ぐことができる。従って、第2実施形態によれば、通信リソースの使用効率を一層向上させることができる。なお、上述の説明で用いた複数のフローチャートでは、複数のステップ処理が順番に記載されているが、本実施形態で実行される処理ステップの実行順序は、その記載の順番に制限されない。本実施形態では、図示される処理ステップの順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態及び各変形例は、内容が相反しない範囲で組み合わせることができる。上記の各実施形態及び各変形例の一部又は全部は、以下の付記のようにも特定され得る。但し、各実施形態及び各変形例が以下の記載に限定されるものではない。付記1連続再送が要求されるデータ量を示す再送データ量を取得する再送データ量取得部と、前記再送データ量に基づいて、障害が発生したフレームからの連続再送が要求されるフレーム群の中の最終フレームを特定するための最終フレーム情報を決定する決定部と、前記連続再送が要求される前記フレーム群の中の先頭フレームを示す要求フレーム情報及び前記最終フレーム情報を少なくとも含むNAKフレームを生成する生成部と、前記要求フレーム情報で特定される先頭フレームから前記最終フレーム情報で特定される最終フレームまでの連続再送を要求するために前記NAKフレームを送信側通信装置に送信する送信部と、を備えることを特徴とする通信装置。付記2前記NAKフレームを受信した前記送信側通信装置から連続再送されるフレーム群の中に障害を検出する検出部を更に備え、前記決定部は、前記連続再送されているフレーム群の中に障害が検出された場合に、前記最終フレーム情報を更新する、ことを特徴とする付記1に記載の通信装置。付記3前記決定部は、前記最終フレーム情報に基づいて特定される連続再送の最終フレームの次に送信されるフレームに障害が検出された場合には、前記再送データ量に基づいて次の連続再送のための最終フレーム情報を再度決定する、ことを特徴とする付記2に記載の通信装置。付記4前記決定部は、前記最終フレーム情報として、前記再送データ量そのものを用いることを特徴とする付記1から3のいずれか1つに記載の通信装置。付記5前記再送データ量取得部は、所定の誤り率以上で誤りが発生している箇所のデータ量をバースト誤り量としてカウントし、このバースト誤り量の統計情報に基づいて、前記再送データ量を決定することを特徴とする付記1から4のいずれか1つに記載の通信装置。付記6前記再送データ量取得部は、前記バースト誤り量の統計情報における、最頻値、中央値、平均値、最大値のいずれか1つを前記再送データ量に設定することを特徴とする付記5に記載の通信装置。付記7既に送信されたフレームデータを格納する格納部と、受信側の通信装置から送信されたNAKフレームを受信する受信部と、前記受信されたNAKフレームに含まれる要求フレーム情報及び最終フレーム情報に基づいて特定される先頭フレームから最終フレームまでの各再送フレームのデータを前記格納部から順次読み出す読出処理部と、前記読み出された各再送フレームを連続的に送信する送信部と、を備えることを特徴とする通信装置。付記8前記読出処理部は、前記各再送フレームの連続送信中に、前記最終フレーム情報とは異なる更新された最終フレーム情報を含むNAKフレームが受信された場合に、前記最終フレームを該更新された最終フレーム情報に基づいて特定されるフレームに変更する、ことを特徴とする付記7に記載の通信装置。付記9前記読出処理部は、既に初回読み出しが終了しているフレームの次に初回読み出しすべきフレームが格納されている第1アドレスと、現在読み出すべきフレームが格納されている第2アドレスとを別々に保持し、前記第2アドレスを用いて前記最終フレームまでの各再送フレームの順次読み出しが終了した後、前記第1アドレスを前記第2アドレスと一致させることにより前記次に初回読み出しすべきフレームを前記格納部から読み出す、ことを特徴とする付記7又は8に記載の通信装置。付記10前記受信されたNAKフレームに含まれるトランザクション識別子と、既に送信されたフレームに含まれていたトランザクション識別子とを比較することにより、前記各再送フレームの連続送信を開始するか否かを判定し、前記各再送フレームの連続送信を開始する際及びシーケンス番号が一巡する際にのみ、送信されるフレームに含まれるトランザクション識別子を更新する更新部を更に備えることを特徴とする付記7から9のいずれか1つに記載の通信装置。付記11前記受信されたNAKフレームには、前記最終フレーム情報として、連続再送が要求されるデータ量を示す再送データ量が含まれており、前記読出処理部は、前記要求フレーム情報で前記先頭フレームを特定し、前記先頭フレーム及び前記再送データ量で前記最終フレームを特定する、ことを特徴とする付記7から10のいずれか1つに記載の通信装置。付記12受信側の通信装置が、連続再送が要求されるデータ量を示す再送データ量を取得し、前記再送データ量に基づいて、障害が発生したフレームからの連続再送が要求されるフレーム群の中の最終フレームを特定するための最終フレーム情報を決定し、前記連続再送が要求される前記フレーム群の中の先頭フレームを特定するための要求フレーム情報及び前記最終フレーム情報を少なくとも含むNAKフレームを生成し、前記生成されたNAKフレームを送信し、送信側の通信装置が、前記受信側の通信装置から送信されたNAKフレームを受信し、前記受信されたNAKフレームに含まれる前記要求フレーム情報及び前記最終フレーム情報に基づいて特定される先頭フレームから最終フレームまでの各再送フレームを送信フレームを格納する格納部から順次読み出し、前記読み出された各再送フレームを連続的に送信する、ことを含む通信方法。付記13前記受信側の通信装置が、前記送信側の通信装置から連続再送されるフレーム群の中に障害を検出し、前記連続再送されているフレーム群の中に障害が検出された場合に、前記最終フレーム情報を更新し、前記送信側の通信装置が、前記各再送フレームの連続送信中に、前記最終フレーム情報とは異なる更新された最終フレーム情報を含むNAKフレームが受信された場合に、前記最終フレームを該更新された最終フレーム情報に基づいて特定されるフレームに変更する、ことを更に含む付記12に記載の通信方法。付記14前記受信側の通信装置が、前記最終フレーム情報に基づいて特定される連続再送の最終フレームの次に送信されるフレームに障害が検出された場合には、前記再送データ量に基づいて次の連続再送のための最終フレーム情報を再度決定する、ことを更に含む付記12又は13に記載の通信方法。付記15前記送信側の通信装置が、既に初回読み出しが終了しているフレームの次に初回読み出しすべきフレームが格納されている第1アドレスと、現在読み出すべきフレームが格納されている第2アドレスとを別々に保持し、前記第2アドレスを用いて前記最終フレームまでの各再送フレームの順次読み出しが終了した後、前記第1アドレスを前記第2アドレスと一致させることにより前記次に初回読み出しすべきフレームを前記格納部から読み出す、ことを更に含む付記12から14のいずれか1つに記載の通信方法。付記16前記送信側の通信装置が、前記受信されたNAKフレームに含まれるトランザクション識別子と、既に送信されたフレームに含まれていたトランザクション識別子とを比較することにより、前記各再送フレームの連続送信を開始するか否かを判定し、前記各再送フレームの連続送信を開始する際及びシーケンス番号が一巡する際にのみ、送信されるフレームに含まれるトランザクション識別子を更新する、ことを更に含む付記12から15のいずれか1つに記載の通信方法。付記17前記最終フレーム情報として前記再送データ量そのものが用いられ、前記要求フレーム情報で前記先頭フレームが特定され、前記先頭フレーム及び前記再送データ量で前記最終フレームが特定される、ことを特徴とする付記12から16のいずれか1つに記載の通信方法。付記18前記受信側の通信装置が、所定の誤り率以上で誤りが発生している箇所のデータ量をバースト誤り量としてカウントし、前記バースト誤り量の統計情報に基づいて、前記再送データ量を決定する、ことを更に含む付記12から17のいずれか1つに記載の通信方法。付記19前記再送データ量の決定は、前記バースト誤り量の統計情報における、最頻値、中央値、平均値、最大値のいずれか1つを前記再送データ量に設定することを特徴とする付記18に記載の通信方法。付記20コンピュータに、連続再送が要求されるデータ量を示す再送データ量を取得する再送データ量取得部と、前記再送データ量に基づいて、障害が発生したフレームからの連続再送が要求されるフレーム群の中の最終フレームを特定するための最終フレーム情報を決定する決定部と、前記連続再送が要求される前記フレーム群の中の先頭フレームを示す要求フレーム情報及び前記最終フレーム情報を少なくとも含むNAKフレームを生成する生成部と、前記要求フレーム情報で特定される先頭フレームから前記最終フレーム情報で特定される最終フレームまでの連続再送を要求するために前記NAKフレームを送信側通信装置に送信する送信部と、を実現させることを特徴とする通信プログラム。付記21コンピュータに、既に送信されたフレームデータを格納する格納部と、受信側の通信装置から送信されたNAKフレームを受信する受信部と、前記受信されたNAKフレームに含まれる要求フレーム情報及び最終フレーム情報に基づいて特定される先頭フレームから最終フレームまでの各再送フレームのデータを前記格納部から順次読み出す読出処理部と、前記読み出された各再送フレームを連続的に送信する送信部と、を実現させることを特徴とする通信プログラム。