システムTCPコネクションリソースを表示します

システムリソースのコマンドを表示するには、まず、TCPコネクション
netstatコマンド 
netstatコマンド-n | AWK '{(S)に印刷し、S [A]を} / ^ TCP / {++ S [$ NF]} END'
 
 
第二に、システムは、TCPコネクションを紹介します

TCPの状態遷移ポイント
接続が確立されている、両方のこれらのステップの1の欠如が仮死状態の接続を行います場合は、ネットワークが、成功するために4ウェイハンドシェイクを切断するためにTCPプロトコルを提供し、接続がリソース自体によって占有されることはありません彼がリリースされました。ウェブサーバプログラムが多数の接続を管理するために、接続が完全に役に立たない切断されている、または死んだ多数の接続は、サーバリソースの多くを無駄にすることを確実にすることが必要です。CLOSE_WAITやTIME_WAIT:多くのTCPの状態の中で、最も顕著な状態には2を持っています。  

1、状態をLISTENING
最初のスタートFTPサービスは(LISTENING)状態を聴いた後。

2、ESTABLISHED状態
ESTABLISHED手段は 、接続を確立します。これは、2台のマシンが通信している表します
3、CLOSE_WAIT
    相手が接続を閉じるためのイニシアチブを取るか、またはネットワーク接続が異常に結果が失われ、その後、我々は、接続が正しく閉じ作るために)我々は近い(呼びたい。この時点で、状態CLOSE_WAITになります。  

    簡単に言えば数は、パッシブCLOSE_WAITに起因する不適切な取り扱いへの接続を閉じる大きすぎます。

私は、シーン、サーバAは、要求が成功した場合、サーバはリソースのグラブの完了後に接続を閉じるためのイニシアチブに要求がかかります、通常の状況下では、BのApacheのリソース上のファイルを取得するためにサーバに要求すると発表し、接続を終了するには、この時間がアクティブであります、我々は、接続状態がTIME_WAITで見ることができます。それが発生した場合には例外に一度?要求されたリソースサーバBが存在しないことを前提に、その時間は、接続要求を閉じるには、サーバBで送信されます、サーバーAは、サーバーがパッシブ彼は接続を解除しなかった場合、それは意志パッシブ接続を閉じ、その後、接続を閉じています状態のCLOSE_WAIT原因。
---------------------
著者:太郎の同音異義語
出典:CSDN
オリジナルます。https://blog.csdn.net/shootyou/article/details/6615051
著作権:この記事では、ブロガーのオリジナルの記事、再現され、ボーエンのリンクを添付してください!

4、TIME_WAIT
     私たちは、TIME_WAITの状態の受信を確認するために、()が切断されたクローズ相手方を呼び出すためのイニシアチブをとります TCP契約TIME_WAIT状態は、古い接続状態が新しい接続に影響を与えないことを確実にするために、2MSL(セグメントのすなわち二回最大寿命)を継続します。可能な場合、TIME_WAIT状態に起因する資源の無駄を減らすために、接続を切断するためのイニシアチブを取ることがないようにしよう、サーバー、ようにTIME_WAIT状態に占める接続リソースは、カーネルのリリースではありません。
    現在、資源のTIME_WAITの浪費を回避する方法があり、それはソケットLINGERオプションを閉じることです。しかし、このアプローチは、TCPプロトコルを使用することは推奨されていない、といくつかのケースでは、この操作はエラーにつながる可能性があります。
5、SYN_SENT状態

   SYN_SENT状態では、ポートに同期信号を送信するために最初に他のコンピュータのサービスにアクセスするときに、接続を要求する接続が確立なり成功した場合、この時間SYN_SENT状態は、この時点ではSYN_SENT状態が非常に短いことを示しています。あなたは非常に多くのSYN_SENTを見つけ、別のマシンに送信された場合でも、その後、あなたのマシンは、衝撃等のSasserウイルスであってもよいです。このようなウイルスは、それはあなたがスキャンするコンピュータごとに同期要求を発行するスキャンプロセスでは、他のコンピュータをスキャンしますが、これは多くのSYN_SENTが現れる理由で、他のコンピュータに感染します。

所定の切断、開始活性ソケット閉じたソケットによって定義された3ウェイハンドシェイクTCPプロトコルは、TIME_WAIT状態の一つは、TIME_WAIT状態は2 MSL(最大セグメントライフタイム)、Windowsで4分間のデフォルト、すなわち240秒続く入りますTIME_WAIT状態のソケットは再利用することはできません。短い接続の多数を扱うサーバーの詳細な現象、サーバーは、接続クライアントは、サーバーのTIME_WAIT状態の存在ソケットロットに設立された状態よりもさらになります閉じた場合ソケットの下ではるかに真剣にサービスを停止するために、サーバの処理能力、利用可能であっても疲れソケットに影響を与える。TIME_WAIT TCPプロトコルは、ソケットが再送信機の遅延機構の前にテキストの再割り当てられた残留効果ではないことを保証するために使用されています、必要なロジックを確保することである。


Windowsマシンの設定
ます。HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Servicesの\で TCPIP \パラメータ、 名前TcpTimedWaitDelayという追加する権利
DWORDキーがの待ち時間TIME_WAIT短縮するために、60に設定されている

Ubuntuマシンの設定を

私たちは、/etc/sysctl.confの

ファイルを編集し、次の行を追加します。
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
 
そしてない  /sbin/sysctl -p  効果を見てみましょう。
 
net.ipv4.tcp_syncookies = 1は、  SYNクッキーの上に示されます。SYNキューのオーバーフローが発生すると、SYN攻撃の少量のを防ぐことができ、対処するためにクッキーを有効にすると、デフォルトでは、閉鎖を示し、0です。

net.ipv4.tcp_tw_reuse = 1は  、再利用に示しています。TIME-WAITソケットは、新しいTCP接続のために再使用できるように、デフォルトではオフを示し、0です。

= 1 net.ipv4.tcp_tw_recycleは  それは、デフォルトは0で、TCPコネクションのオープンTIME-WAITソケットの高速リカバリをオフに表しています。

net.ipv4.tcp_fin_timeout  システムのデフォルトのタイムアウト時間を変更します



システムリソースを表示するには、TCP接続コマンド
netstatコマンド 
netstatコマンド-n | AWK '{(S)に印刷し、S [A]を} / ^ TCP / {++ S [$ NF]} END'

通常の状況下では、ソケット資源システムのデフォルトの5000。(非公式)

TCPプロトコルはTIME_WAIT状態を有する
2つの主な理由のために
1。接続パッケージの防止、迷子に再出現した後、新しい接続のインパクト(2MSLスルーは、重複パケットのすべての最後の接続は消えます)
2。信頼性の高いTCP接続が閉じられています。最後のアクティブ近いでは(フィン)ACKを送信し、その後、パッシブ側が再送信されます、そこに欠落している可能性があり
フィン、当事者がCLOSED状態にあるならば、率先して、最初の代わりにACK応答します。したがって、TIME_WAIT状態にアクティブ側が、閉じることができません。

おすすめ

転載: www.cnblogs.com/peak911/p/11297135.html