引用: オンラインゲームのしくみ: Unityで覚えるネットワークプログラミング by 河田匡稔(まさとし)さん
7.3 通信方式を考えよう
冗長データを用いた再送信処理では、過去に送信したフレームの入力情報も一緒に送信します。そうすることによって、現在のフレームよりも過去のフレームの入力情報が届いていない場合でも、その過去の入力情報を取り出すことができます。
例として以下の送信が挙げられていた。
- 1フレーム目: K1
- 2フレーム目: K2, K1
- 3フレーム目:K3, K2, K1
- 4フレーム目:K4, K3, K2
仮に2フレーム目でK2のパケットをとりこぼしても、3フレーム目か4フレーム目にもK2のパケットが含まれているので、そこから取ればいいとのこと。
送信側は受信側のACKを確認しなくてもいいので、ACK受信を待つ必要がないのがいいと思われる。