• ベストアンサー

シーケンス番号の許容範囲について

kaituyoと申します。 FWを経由して、FTPで1MB以上のファイルを取得しようとすると途中で、通信ができなくなる事象がありました。(小さいサイズは正常終了) FWのオプションで「シーケンス番号が許容範囲の外側であるTCPパケットは拒否する」を無効にすると正常に通信できました。ただ、なんで可能になったのか分かりません。 そもそも「シーケンス番号の許容範囲」ってなんですか? この機能を無効にするとFWとして問題あるのですか? 今回のケースで、何が直接的原因だったのでしょうか? 上記3点どれでもいいので、御助言頂けないでしょうか? 宜しく御願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • bship
  • ベストアンサー率51% (47/92)
回答No.2

TCPでは、自分の有効なバッファサイズを相手に通知するWindow Sizeというものがあります。送り元はそのサイズ以下の範囲でデータを送信します。 おそらくこの製品でいう許容範囲とは、パケット中のシーケンス番号が 「現在のシーケンス番号」と 「(現在のシーケンス番号+Window Size)の番号」の間にある範囲を言っているのでしょう。 通常この範囲を超えて送信することはプロトコル違反です。 この範囲から外れているものはブロックすると、攻撃者が攻撃パケットを作成するときに、シーケンス番号をこの有効範囲に計算する必要があるので、セキュリティレベルは高くなると言えます。 この機能を有効にするとダメという現象はそのとき流れているパケットを見ないとはっきりしませんが、ファイルサイズが影響しているということから考えられる事として、 シーケンス番号が0xffffffffを超えて0x00000000に戻ったケースかもしれませんね。 これはプロトコル上正常なのですが、ファイアウォール内でのチェック時の計算にもし誤りがあればブロックしてしまいますね。ただ1MB程度ではこの境界を必ず越えるわけではないので、この仮説では上手くいく場合もあるはずです。 この辺はシーケンス番号の初期値にも依存しますのでパケットを見ないと断定はできません。

kaituyo
質問者

お礼

なるほど、詳しい御回答ありがとうございます。 ただ、毎回同じところで通信が停止するので、自分の予想としましては、FTPデータの再送が発生して、再送パケットのシーケンス番号が、受信完了していたパケットのシーケンス番号とあまりにもかけ離れていたのではないかとも考えられますね。 いろいろ試してみます。

その他の回答 (2)

  • rara_sun
  • ベストアンサー率50% (271/539)
回答No.3

> シーケンス番号に、利用できる範囲が機器毎に設定されているのでしょうか? 申し訳ございません。 ネットワーク機器に精通した人間(専門家)ではないので、お答えできません。

kaituyo
質問者

お礼

いえいえ、あやまらないでください。一緒に御検討いただけるだけで、すごく嬉しいです。 ありがとうございます。

  • rara_sun
  • ベストアンサー率50% (271/539)
回答No.1

シーケンス番号とは何かが分かれば良いと言う事ですね? http://dictionary.rbbtoday.com/Details/term286.html

kaituyo
質問者

お礼

rara_sunさん、回答ありがとうございます。 シーケンス番号は、ある程度理解しているつもりなのですが、「シーケンス番号の許容範囲」というのが分かりません。シーケンス番号に、利用できる範囲が機器毎に設定されているのでしょうか?

関連するQ&A