- - PR -
TCPのRSTフラグについて
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-06-15 11:37
HTTPの通信をキャプチャしていたところ、
あるポートに対して正常に通信しているにもかかわらず RSTフラグを送信している部分がありました。 クライアント:IE6.0のPC サーバ:通常のwwwサーバ 1.クライアントからHTTPのGETにて、サイト情報取得要求 2.サーバからHTTP OKを受信し、その後Continuationでデータ受信 3.クライアントからACK送信 4.クライアントからRST送信 この場合、なぜRSTフラグを送信してコネクションを終了しているのか、 理由がわかりません。 何か、想定できる事があるようでしたら、どなたか教えてください。 以上 | ||||||||||||
|
投稿日時: 2004-06-16 10:10
予想になりますが、中止ボタンが押されたのではないでしょうか。
| ||||||||||||
|
投稿日時: 2004-06-16 10:46
書込みありがとうございます。
中止ボタンは押していませんし、表示にも問題ありません。 前回の書込み以降でわかった事がありましたので、 記載します。 取得するサイトは、3つのフレームに分割されている。 クライアント:IE6.0のPC サーバ:通常のwwwサーバ 1.クライアントからHTTPのGETにて、サイト情報取得要求 2.サーバからHTTP OKを受信し、その後Continuationでデータ受信 (ここで、FIN、ACKのフラグがONされている) 3.クライアントからACK送信 4.クライアントからRST送信 →FIN,ACK送信では? RSTフラグは、プロトコル上のエラー時に送るものであると 認識していますが、 各フレーム取得ごとに開かれるポートでの通信の終了は、 すべてRSTフラグです。 以上 | ||||||||||||
|
投稿日時: 2004-06-16 21:19
正規リリースは FIN,ACK ですね。 IE は、キャッシュより新しくない場合は、全部受け取る前に中断する とかいう話を聞いた事がありますが、関係してますか ? | ||||||||||||
|
投稿日時: 2004-06-17 10:13
>IE は、キャッシュより新しくない場合は、全部受け取る前に中断する
>とかいう話を聞いた事がありますが、関係してますか ? ありがとうございます。 早速IEのキャッシュをクリアしてみました。 確かに、一部「FIN,ACK」を送信するようにはなりましたが、 まだRSTを送信している部分があります。 キャッシュ以外にも条件があるんでしょうか? 実は、この問題には先があります。。。 WWWサーバのアクセスに不具合があり、 「netstat」でWWWサーバの状態を表示したところ、 TCPレベルで、「CLOSE-WAIT」となってしまっている部分がありました。 (しばらく時間が経過しても、復帰しません。) TCPの状態遷移を見ると、CLOSE-WAITからの復帰は、 FIN,ACKの受信だと思っているのですが、認識はあっているでしょうか? 本現象では、FIN,ACKではなく、RSTを受信しているようなので、 RST受信時のWWWサーバ側の処理に問題があるのではないかと思い、 今回の書込みをさせていただきました。 何か、わかる事がありましたら、回答お願いします。 以上 | ||||||||||||
|
投稿日時: 2004-06-19 15:28
CLOSE_WAIT という事は、サーバは既に FIN を受け取っている ?
何も受信しなくても、FIN を送って LAST_ACK に遷移では ? 自信ありませんが。
正しい RST を受信したら、どんな状態であれ振り出しに戻る事が 要求されていると思いました... が、これも自信無しです。 |
1