RSTパケット
読み:アーエスティー-パケット
外語:RST packet
TCP
のパケットで、
RST
フラグを1にしたもの。
目次
概要
特徴
用途
フォールバック
動作
SYN-RECEIVED
通信中
終了中
概要
TCPでの通信で、正しくないパケットを受け取った時に通信リセットの指示をする場合に、このビットを立てた(1にした)RSTパケットを相手に送る。
RSTパケットを受け取った側は、接続要求や通信状態が拒否されたものとみなし、どのような遷移状態であっても通信はリセットされ、TCPの状態も
CLOSED
に移行し、
TCB
は削除され、終了しなければならない。
通常の、丁寧に切断する
FINパケット
を用いる方法と違い、強制的に切断する行儀の悪い方法である。
特徴
用途
正常な通信でないと判断されたとき、RSTパケットを相手に送りつける。
RSTパケットを送信した側は、基本的にはこれにて通信は終了し、TCPの遷移状態は
CLOSED
に移行する。
Windowsなどの実装では、
FIN
を使わずRSTで切断しようとする実装がある。これは非常に行儀の悪い動作であり、すべきではない。
フォールバック
TCP/IPv6
を使った場合、
IPv6
で到達性が無い場合はTCPがタイムアウトするまで待つことになる。IPv6の実装は、IPv6の到達性が無いと判断したところでIPv4にプロトコルを変更(フォールバック)し、次に
TCP/IPv4
で通信を試みる。
この機構のため、IPv4しか想定されていない、またはIPv6での
グローバルリーチャビリティ
が無い網の場合は、Webページの表示に時間がかかったり、通信が行なえなくなるといった問題が生じる。
そこで、閉域網内に存在しない宛先に送信された
IPv6パケット
に対してはRSTパケットを返信することで、早急にフォールバックを行なわせている。
動作
ステートごとに規定された大まかな動作を示す。
SYN-RECEIVED
SYN-RECEIVED
、つまり
SYN
を受け取り
SYN+ACK
を送信した状態で、返答の
ACK
を待っている時にRSTパケットを受信した場合は、
CLOSED
に移行し、
TCB
は削除され、終了する。
実際に通信することなく、TCBは消滅することになる。
通信中
通信中とは、次の状態である場合をいう。
ESTABLISHED
FIN-WAIT-1
FIN-WAIT-2
CLOSE-WAIT
この場合、通信はリセットされ、
CLOSED
に移行し、
TCB
は削除され、終了する。
終了中
終了中とは、次の状態である場合をいう。
CLOSING
LAST-ACK
TIME-WAIT
この場合、CLOSEDに移行し、
TCB
は削除され、終了する。
再検索