12

自作の XMPP サーバーがあり、サーバーの MSL (Maximum Segment Lifetime) を尋ねられました。
それはどういう意味ですか、どうすれば入手できますか? Linuxの/procTCP設定に何かありますか?

4

3 に答える 3

10

MSL (Maximum Segment Lifetime) は、TCP セグメントがネットワークに存在すると予想される最長時間 (秒単位) です。最も顕著なのは、TCP 接続のクローズ中に発生します。CLOSE_WAIT 状態と CLOSED 状態の間で、マシンは遅延パケットを 2 MSL (概念的にはインターネットの最後までの往復) 待機します。この間、マシンはほとんど閉じられた接続のリソースを保持しています。サーバーがビジー状態の場合、この方法で保持されているリソースが問題になる可能性があります。1 つの "修正" は、MSL を下げて、より早くリリースされるようにすることです。通常はこれで問題ありませんが、場合によっては混乱を招く障害シナリオが発生する可能性があります。

Linux (とにかくRHEL、私はよく知っています)では、「変数」/proc/sys/net/ipv4/tcp_fin_timeoutは 2*MSL 値です。通常は 60(秒)です。それを見るには、次のようにします。

cat /proc/sys/net/ipv4/tcp_fin_timeout

変更するには、次のようにします。

echo 5 > /proc/sys/net/ipv4/tcp_fin_timeout

これが TCP ステート ダイアグラムです。問題の待機は下部にあります。


TCP 状態図

于 2016-01-25T19:43:54.287 に答える
1

これはあなたの質問に答えることができるようです:

http://seer.support.veritas.com/docs/264886.htm

誰かがあなたにこれを尋ねた理由を尋ね、それが XMPP にどのように当てはまるかを調べることをお勧めします。

TCP/IP Illustrated volume 1 はオンラインで、2MSL について詳しく説明しています

ウィキペディアで言及されているように、MSL は TCP RFC 793でも説明されています。

于 2008-11-14T04:22:01.840 に答える