ユーザ用ツール

サイト用ツール


サイドバー

目次

ホーム










.

knowledge:3wayhandshak.html


Top#ネットワークの基礎知識に戻る

TCP3ウェイハンドシェークの業務上重要なことを解説



ネットワークの問題を調査のために、TCP3ウェイハンドシェークは覚えておく必要があります。

例えば、受信サーバにSYNが届いているのかとか、送信サーバにSYN/ACKが届いているのかで、
どこが悪いのか調査する手がかりになります。





TCP3ウェイハンドシェークの確立、データ転送、切断

(1)TCPのコネクションの確立

送信元ノード 送信先ノード 備考
CLOSED LISTEN 通信発生前の状態
SYN-SENT SYN(確立して) SYN-RECEVED
ESTABLISHED SYN/ACK
ACK ESTABLISHED
  • 送信先ノードでポートがLISTENしているか確認する
  • ESTABLISHEDになっているということは、SYN/ACKも返ってきているということで、戻りのルーティングは問題ない。

(2)データ転送


(3)TCPのコネクションの切断

接続開始ノード 接続受けノード 備考
ESTABLISHED ESTABLISHED
FIN_WAIT_1 FIN(切断して) CLOSE_WAIT ハーフクローズ
FIN_WAIT_2 ACK
TIME_WAIT FIN LAST_ACK
ACK CLOSE
CLOSE




RSTパケット(リセットパケット)

TCP3ウェイハンドシェークが成功すれば、RSTパケットは現れません。
RSTパケットがあるということは、正常の通信ではない問題があるということです。

デバイスがRSTパケットを投げる理由

KeepAliveパケットの応答がない

リモートデバイスが応答を返さない場合、リモートデバイスは応答なしと判断してRSTパケットを発行して接続を切断します。

長時間通信がない

リモートデバイスとの通信は長時間にわたり通信がないデバイスとして判断してRSTパケットを送信し接続を切断します。

パケットロスなどネットワークに障害

キープアライブパケットに対するACKを受信できなかったり、通信不良で通信のシーケンスが合わなくなった場合などネットワークに障害がある時、RSTパケットが送信されます。

RSTパケットが送信された場合

RSTパケットが送信された場合にはセッションは破棄されますので、再度セッションの確立をする必要があります。




knowledge


knowledge/3wayhandshak.html.txt · 最終更新: 2024/09/16 01:32 by kurihara

ページ用ツール