| ブログ - 最新エントリ |
最新エントリ配信 |
最新エントリ
2007/03/27
|
カテゴリ: Miscellaneous :
執筆者: unix (11:56 pm)
|
TCPのセッションオープンに関する復習です。 アクティブさん:「セッション開いてもらえまへんか?」 パッシブさん:「よろしいでっせ!いつでもきなはれ!」 アクティブさん:「おおきに、ほなよろしゅう!」 図解すると
でした。 synに対する応答がパッシブさんから返されないときは カーネルパラメータ「tcp_syn_retries」で決まった回数 アクティブからsynを投げ続けます。 説明はこちら。 http://blog.mag2.com/m/log/0000209784/108140157.html この時のタイムアウトする時間の計算方法は5回のときは約3分であると説明しました。 6回以上のときはどうやって計算するのか!? を今回は説明します。 デフォルト値を変更している方は少ないかもしれませんが もしもtcp_syn_retriesの値を6以上に設定した場合の計算です。 リトライ回数が5の時となんか違うのかい? と思われるかもしれませんが。 6回目以降は計算に注意が必要です! ●6回だと ここで予想できそうな時間は 1回目3秒後、2回目6秒後・・・6回目96秒後・・・192秒後タイムアウト |-3-6--12---24----48-----96--------192| 3+6+12+24+48+96+192=381(6分21秒) になりそうですが 実は 1回目3秒後、2回目6秒後・・・6回目96秒後・・・120秒後タイムアウト |-3-6--12---24----48-----96----120| 3+6+12+24+48+96+120=309(5分9秒) 最後120秒でタイムアウトになるんです。 7回目のところから120秒に固定されるんです。 ●7回以降 1回目3秒後、2回目6秒後・・・7回目120秒後・・・120秒後タイムアウト |-3-6--12---24----48-----96------120------120| 3+6+12+24+48+96+120+120=429(7分9秒) ・・・ 10回:3+6+12+24+48+96+120+120+120+120+120=669(13分9秒) となります。 |











