TCPの4種類のタイマー(再送タイマー、タイマー、ライフタイマー、時間待ちタイマ)

1638 ワード

TCP 4種類のタイマー
再送タイマー
主に新聞の紛失や渋滞を防ぐためです。AがBに対して新聞文を送信すると、再送タイマが起動し、タイマーが到着しても、Bの確認メッセージが受信されていない場合、Aは前回送信したメッセージを再送信する。また、再送タイマーをリセットします。時間を計測し続けます。
継続タイマー
このタイマーは次のシーンに対して:
BがAに0ウィンドウメッセージを送信した場合、BはAから送信されたデータを受け入れる空間がなくなり、Aに送信停止を通知します。Aは受け取った後に送信を停止して、しばらくの時間を待った後に、Bはいくつか空間があって、引き続き受け取ることができました。この時Aに0ではないメッセージを送ります。これが0でないウィンドウのメッセージがネットワークでブロックされたり失われたりした場合、Aは永遠にBがデータを受信する空間がないと思います。Bも永遠にAからのデータを待っています。このようにするとロック状態になります。
AがBから送信された0ウィンドウのメッセージを受信した後、継続タイマを設定し、タイマーが到着したらAはBのようにプローブメッセージを送信する。Bは探知メッセージを受け取ったらA確認のメッセージを送ります。
*メッセージのウィンドウ値が0でないことを確認すると、ロック状態が開きます。
*メッセージのウインドウ値が0であることを確認すると、タイマーをリセットして時間を倍にしますが、最大60秒を超えてはいけません。60に着いたら、後は全部60秒です。
*Aは、プローブファイルを送信した後、再送タイマーを起動し、Bの確認メッセージが受信されない場合、プローブメッセージを再送信する。
ライフタイマー
アプリケーションシーン:クライアントはいくつかの故障で退出しましたが、サーバーはまだ分かりません。クライアントからのデータを待ち続けています。このようにコンピュータの資源を無駄に使いました。
サーバ端にライフタイマーを設置し、サーバがクライアントからメッセージを受けるごとに、ライフタイマーをリセットします。通常は2時間です。もし2時間の間にクライアントからメッセージが来なかったら、サーバーはクライアントのようにプローブメッセージを送ります。後は75分ごとに一回送ります。10個のプローブメッセージを連続して送信しても、クライアントが応答しない場合、サーバはクライアントの故障とみなし、この接続を切断します。
時間待ちタイマ
時間待ちのタイマーはTCPの「四つの手を振る」段階に使われます。クライアントが最後の確認メッセージをサーバに送信すると、タイミング待ち時間を設定し、2 M SLの時間を待ってから接続を終了します。
MSL:最長の新聞文の寿命は30 s~2分です。アプリケーションによって設定が異なります。
クライアントはなぜ2 M SLの時間を待つのですか?
①サーバがクライアントから最後の確認メッセージを受信できるようにするため。
この最終報告書は紛失する可能性がありますので、サーバーがクライアントの確認情報を受信できないと、CLOSD状態に入ることができません。リピータが到着したら、前回のリポートを再送信します。これで、クライアントは2 M SLの待ち時間中にこのリピートメッセージを受信し、確認メッセージを再送信します。
②「失効した接続要求メッセージ」が再発しないようにする。
クライアントはこの2 M SLの待ち時間の中で、今回接続したすべての新聞をネットから消します。このようにして、次の新しい接続の中に古い接続要求の新聞が現れません。
読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。