人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

社内システムで、ファイルを定時で転送する仕組みを作ろうとしています(Linux->Linux、Linux->Windows)。FTPの利用を検討していたのですが、FTPは信頼性が低く、途中でデータが落ちたりしても分からないなどという意見がありました。

このように、FTPでファイルを転送している途中でデータの欠落があった場合に検出できない場合などあるのでしょうか。また、上記のような欠落を検出したい場合使うべきファイル転送手順は何でしょうか。(rcpなどならOKなのでしょうか。)

なお、自分でWeb等を調べたのですが、FTPの信頼性問題について触れられているページは見つかりませんでした。TCP/IP上なので、途中でデータが落ちたりすることは当然に分かるような気がしています。

●質問者: m10a
●カテゴリ:コンピュータ インターネット
✍キーワード:FTP Linux TCP/IP Web Windows
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● monyo
●30ポイント

http://q.hatena.ne.jp/1146751712

※URLはダミーです。

FTPの問題点は、何らかの理由で通信が中断してしまったときに、それを知る方法がないという点です。サーバ側では、ファイルの転送が完了しているのか、転送途中で通信が切断されてしまったのかがわかりません。

また、一般的なFTPクライアントでは、通信が中断してしまった際に、それをうまくハンドリングすることができない点も副次的な問題点としてあります。

TCPの機能により、(悪意がなければ)伝送されたデータが改変してしまうことは現実的にはありませんが、ファイル転送が完了しているかどうかの検知はまた別ですので。rcpも同様です。

この問題に対する対処策として通常行われるのは、FTPの範囲であれば、先に転送したいファイルのMD5などの値のファイルを転送しておき、転送完了後に、ファイルの整合性チェックをサーバ側で行うことで、ファイルが完全に転送されたかを判断するといった方法です。

後は、HULFTなどの市販プロダクトを使うとか、SSHのようにセキュリティ上整合性チェックが入ったソフトウェアを用いるかといったところですかね。

◎質問者からの返答

回答ありがとうございました。

一般的なFTPクライアントでは通信が中断してしまった際にそれをうまくハンドリングできないんですか・・・。それを補うために転送後にチェックを行うということですね。


2 ● tarepanda777
●50ポイント ベストアンサー

過去に似たような質問があり、私も回答しているのでご参考にどうぞ。

http://q.hatena.ne.jp/1142442635

リモートシェルが使えるのであれは、rsync の -c オプションをつければ、送信元と送信先のファイルの整合性を転送時に確認してくれます。整合が合わない場合は再送信も自動で行ってくれるので、回線が途中で切れるといったようなトラブルさえなければ有効に使えるかと思います。

FTPの信頼性について、私の経験では、細い回線(1.5Mbps)で数GB分のファイルを長時間かけて送ったりすると1?2個壊れてたりするような感じですね。重要なファイルには使わないほうがいいです。

◎質問者からの返答

回答ありがとうございました。

rsync、知りませんでした。こちらはファイルの転送後チェックまで行ってくれるのですね。

FTPの信頼性について、体験に基づいたコメント大変参考になります。


3 ● kai10
●30ポイント

FTPの信頼性については、特に言及しませんが、isoイメージを落としたけど壊れてた、何て事は良くあります。

転送の方法はいろいろあると思いますが、確実に転送できたことを確認するためには、チェックサムを利用するのが良いと思います。


転送方法は、FTPの他に次のようなものが考えられるかと。とりあえず紹介のみにしておきます。

http://cns-guide.sfc.keio.ac.jp/2004/2/6/2.html

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/367usenfs.html

なお、NFSは、TCPとUDPが使えます。

http://www.linux.or.jp/JF/JFdocs/NFS-HOWTO/performance.html

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/605usens.html


#なんだか@ITの回し者みたいになってしまった。

◎質問者からの返答

回答ありがとうございます。

md5sumとsha1sum、使えそうですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ