タグ

ブックマーク / ryo021021.hatenablog.com (1)

  • WindowsにおけるTCPの接続要求タイムアウト - 涼の成長記録

    今日は、TCPで通信を行うWindows同士のクライアントサーバーシステムの、通信異常時挙動テストを行いました。で、サーバーのアプリケーションを終了した状態で、クライアントからサーバーに対して、接続要求を投げげると、タイムアウトするまでに21秒という何とも中途半端な時間がかかっていました。21秒って何やねんーというお話でございます。 TCPスタックは、SYNパケットを送信してから、サーバーからSYN, ACKが返ってくるまで、一定時間待ってみます。この一定時間がデフォルトで3秒です。そして、3秒ダメならリトライしてみます。この時、倍の時間待ってみます。つまり6秒ですね。そして、デフォルトのリトライ回数は2回となっています。6秒待ってダメなら、さらにリトライしてみます。この時、再び倍の時間待ってみます。つまり12秒です。それでダメなら諦めて、タイムアウトとする訳です。 この時間が3 + 6

    WindowsにおけるTCPの接続要求タイムアウト - 涼の成長記録
  • 1