再送タイムアウトを待つと時間がかかりすぎるし、タイムアウトが発生すると輻輳ウィンドウが小さくなってスロースタートからやり直しになってしまう。
それをどうやって実現しているかというと、簡単には次のような感じ。
で、データを送信するたびにPTOをスケジュールして、タイムアウトを迎えたらプローブを送信するというもの。
プローブとしては、まだ送っていないセグメントがある場合は新しいセグメントを送り、ない場合は最後に送信したセグメントを再送する。
最後のセグメントを含む4つ以上のセグメントがロスしている場合、再送されたプローブが届いたらこれで再送が始まり、リカバリできる。
ということでTLPでロスをリカバリできるようになる、ということでした。