- ベストアンサー
FTPについて
FTPについて質問があります。 .NET VBより、FTP.exeでファイルをFTPサーバーにアップロードしようと考えています。 そこで、質問なのですがFTPは100%保障が得られるのでしょうか? エラーが検出できる場合は回避できると思っていますが、 FTPが正常終了を通知しているにもかかわらず、「実はファイルが一部損失」などはありえるのでしょうか? 皆さんの意見を聞かせて頂きたく思います。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは FTP は二段階でエラーチェックが行われます。 1)転送時 転送時にTCP を利用しているため、パケット毎にエラーチェックが行われています。 送信元は送信先からACK(受信確認)を受け取ってから、次のパケットを送信する(Windows size 毎に送信されるケースがほとんどですが)ため、信頼の高い通信といえます。 2)転送完了時 転送完了後、送信元と送信先のファイルのCRC を比較し、正しくファイルを結合することができたか、確認します。 もし、CRC が一致しなければ、CRC エラーとなり、ファイル転送が正常に行うことができなかったことを知らせます。 それ以外の要因でエラーが起きたところまでは保障はされていませんが、FTP でデータ転送というところまでは、OK だと考えます。
その他の回答 (3)
- toshi7607
- ベストアンサー率12% (60/482)
一般論として回答しますが、 >FTPが正常終了を通知しているにもかかわらず、「実はファイルが一部損失」などはありえるのでしょうか? 通常使用するレベルでFTPによるファイル欠損など考える必要はありません。
- Bonjin
- ベストアンサー率43% (418/971)
FTPはTCPなのでネットワーク上では保証されているはずです。 しかし、FTPクライアントやFTPサーバのプログラムのバグやディスクエラーによりデータが破壊されてしまう可能性も否定できないので一概に100%とは言えません。 それはFTPだけでなく他のことにも言えることですが・・・
- toshi7607
- ベストアンサー率12% (60/482)
FTPはプロトコルとして保障されているはずです。
お礼
わかりやすく説明して頂き、ありがとうございます。 結果としては、夜間のバッチで送信の為ミスが許されないので、送信を確認ということで、PUT後にGETで同じファイルの取得を行い(サイズが小さいので。)、元ファイルとのサイズ比較することになりました。 ありがとうございました。