none
TCP/IPの再送タイムアウトのデフォルト値は? RRS feed

  • 質問

  • 質問する場所を間違えてしまったようで再度投稿させてください。

    Windows Server 2012のTCP/IPの再送タイムアウトのデフォルト値(TcpMaxDataRetransmissions)が知りたいのですが、
     下記のトピックスを見た所2012の記載がありませんでした。

    https://support.microsoft.com/ja-jp/kb/170359

    2012では、設定が変更できないのでしょうか?
    また、デフォルト値が何秒なのか知りたいです。(2003などは20~21秒だそうです)

    また、この再送タイムアウトなのですが、例えばTCP/IP接続先をありえないIPアドレスにしたり、
    ディレクトリが存在しないのに、接続しようとすると、接続できずにすぐに切断されますので、0秒になります。
    この再送タイムアウトの条件は、相手先のサーバーには接続できるけど、
    ファイル転送やファイル一覧を表示できないようなネットワーク遅延のようなエラーの際に20秒再送する感じなのでしょうか?

    どんな事象が発生する時にこの設定値で再送タイムアウトが行われるか可能ならば教えていただければと思います。

    2015年12月16日 15:54

回答

  • チャブーンです。

    まず「TcpMaxDataRetransmissions」の意味ですが、TCP再送時(接続確立後に送信不達(ACKが返ってこない)が発生した場合)に何回再送信を試行するか、という内容になります。つまり回数であって秒数ではありません。

    ちょっと調べたところ、この値の影響について検証されている方がいらっしゃったので、紹介しておきます。実際のタイムアウト値がどのように計算されるのか、についても詳しく解説されているので、とても役に立ちそうです。

    http://d.hatena.ne.jp/incarose86/20121222/1356193183

    「TcpMaxDataRetransmissions」がWindows Server 2012で有効かどうか、については、明確な情報はありませんが、したの資料に「Windows Server 2003」まで有効でそれ以降無効なレジストリ値の記載があり、それにTcpMaxDataRetransmissionsは含まれていませんでした。したがって有効である可能性が高いと思いますよ。ちなみに初期値は5になります。

    http://download.microsoft.com/download/9/B/2/9B205446-37EE-4BB1-9A50-E872565692F1/PerfTuningGuideServer2012R2.pdf

    この値が有効なシチュエーションは冒頭の通り「TCP接続確立後に送信不達(ACKが返ってこない)が発生した場合」になります。ですから、TCP接続確立以前に、別の理由でつながらない状況が発生した場合は関係がない、ということになります。TCP接続確立のしくみ(3 way handshake)や通信のしくみをあわせて確認された方が、よく理解できると思います。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。


    2015年12月17日 8:20
    モデレータ

すべての返信

  • チャブーンです。

    まず「TcpMaxDataRetransmissions」の意味ですが、TCP再送時(接続確立後に送信不達(ACKが返ってこない)が発生した場合)に何回再送信を試行するか、という内容になります。つまり回数であって秒数ではありません。

    ちょっと調べたところ、この値の影響について検証されている方がいらっしゃったので、紹介しておきます。実際のタイムアウト値がどのように計算されるのか、についても詳しく解説されているので、とても役に立ちそうです。

    http://d.hatena.ne.jp/incarose86/20121222/1356193183

    「TcpMaxDataRetransmissions」がWindows Server 2012で有効かどうか、については、明確な情報はありませんが、したの資料に「Windows Server 2003」まで有効でそれ以降無効なレジストリ値の記載があり、それにTcpMaxDataRetransmissionsは含まれていませんでした。したがって有効である可能性が高いと思いますよ。ちなみに初期値は5になります。

    http://download.microsoft.com/download/9/B/2/9B205446-37EE-4BB1-9A50-E872565692F1/PerfTuningGuideServer2012R2.pdf

    この値が有効なシチュエーションは冒頭の通り「TCP接続確立後に送信不達(ACKが返ってこない)が発生した場合」になります。ですから、TCP接続確立以前に、別の理由でつながらない状況が発生した場合は関係がない、ということになります。TCP接続確立のしくみ(3 way handshake)や通信のしくみをあわせて確認された方が、よく理解できると思います。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。


    2015年12月17日 8:20
    モデレータ
  • ご回答ありがとうございます!
    私もそのページを読みまして、デフォルトの5でしたら、20~21秒なのかと思いました。

    条件も丁寧にありがとうございます。
    3 way handshakeで検索して、TCP接続について勉強をいたします。

    2015年12月18日 2:14