目次
TCP状態遷移を覚えることは、パフォーマンスにとって重要です。
コネクション数のチューニングを行ったり、問題発見の手がかりになります。
状態 | 説明 | 重要度 |
---|---|---|
CLOSED | 未使用状態のTCPポート。通常これが表示されることはない | |
LISTENING | 待ち受け状態(リッスン状態)のポート。 | ★★★ |
SYN_SENT | サーバに対して、通信開始の要求(SYN:Synchronize)を送信したが、 まだそれに対する応答(ACK:Acknowledgement)を受け取っていない状態。 相手が無応答のときもこの状態になる。 ACKを受け取るとESTABLISHEDへ遷移する | ★ |
SYN_RECEIVED | クライアントからSYN要求を受け取った直後の状態。 SYNに対するACKを送信するとESTABLISHEDへ遷移する | |
ESTABLISHED | TCPコネクションが確立して通信している状態。 netstatでは最もよく見る状態。 どちらかが終了処理を始めると、FIN_WAIT_1もしくはCLOSE_WAITへ遷移する | ★★★ |
FIN_WAIT_1 | 自分の側から先にFINを送信した状態。 そのFINに対するACKを相手から受信すると、FIN_WAIT_2へ遷移するが、 先に相手からのFINを受けるとCLOSINGへ遷移する | |
FIN_WAIT_2 | FINに対するACKを受信した状態。 相手からのFINを受信して、それに対するACKを返すと、TIME_WAITへ遷移する | |
CLOSE_WAIT | 相手からのFINを受け取った状態。 アプリケーションが終了すると、FINを送信してからLAST_ACKへ遷移する | ★ |
CLOSING | FINに対する相手からのACKを受けるとTIME_WAITへ遷移する | |
LAST_ACK | 送信したFINに対するACK待ち状態。 ACKを受け取るとCLOSEDへ遷移して終了する | |
TIME_WAIT | コネクションの終了待ち状態。 しばらく待ったあと、CLOSEDへ遷移して終了する | ★ |
$ netstat -ant Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN tcp 0 0 192.168.10.100:443 192.100.100.50:59462 ESTABLISHED tcp 0 0 192.168.10.100:443 192.100.100.50:59465 ESTABLISHED tcp 0 0 192.168.10.100:443 192.100.100.50:59464 ESTABLISHED tcp 0 0 127.0.0.1:9000 127.0.0.1:49598 TIME_WAIT tcp 0 0 192.168.10.100:443 192.100.100.50:59461 ESTABLISHED tcp 0 0 192.168.10.100:888 11.3.155.1234:51018 TIME_WAIT tcp 0 0 192.168.10.100:443 192.100.100.176:59476 ESTABLISHED tcp 0 0 192.168.10.100:42428 192.168.10.100:443 TIME_WAIT tcp 0 0 127.0.0.1:9000 127.0.0.1:49600 TIME_WAIT tcp 0 0 192.168.10.100:443 216.244.66.195:46932 TIME_WAIT tcp 0 0 127.0.0.1:9000 127.0.0.1:49602 TIME_WAIT tcp 0 0 127.0.0.1:9000 127.0.0.1:49603 TIME_WAIT (略)
# netstat -nt|awk "/^tcp/{print \$6}"|sort |uniq -c 6 ESTABLISHED 14 TIME_WAIT
一般向けサイト
ITエンジニア向けサイト
英語サイト
Portfolio
Copyright (c) 2024 システムパフォーマンス入門 All Rights Reserved.