ITレガシー

レガシー・エンジニア(hsato)の日記です

プラットフォームの限界と今後

2009-05-27 16:51:11 | 未来はこうなる
お客様より「ファイル転送が遅い。何とかならないか。」というお話があり、対応している仲間の話を聞く。現在のプラットフォームの限界を思い知る。

結論からいえば、ネットワークの物理層の不一致以外は、コンピュータおよび現在のインターネットの基盤技術が古くなってしまったことに起因する。100 Mbpsを越え、1 Gbps以上の回線が普通になっていく世界において、20年以上も前の技術はふさわしくない。

新しい革袋(高速回線)には、新しいワイン(アプリケーションソフトウェア、OS)を入れたいものだ。

1.ネットワークの物理層

Web検索をしてみると、ネットワークが悪者にされていることが多い。速度が出ないときは、ネットワークを疑えという。大切なのは、途中の通信路で、全二重/半二重という通信モードが接続ごとですべて一致しているかどうかはチェックすべきである。

ファイル転送に、TCPを使っているのであれば、1パケットでもロスしてしまうと、速度は上がらないという仕組みである。Aが全二重モード、Bが半二重モードなのに接続してしまうと、pingという接続をチェックするものではつながっているように見えるが、パケットロスしやすい。故に速度が出ないという状況になってしまう。

また、光ケーブルの場合は、その接続点が汚れていると同様の状況になることもある。接続点の両方を磨いてから接続する。これが基本である。

ちなみに、ここまでは、通信の基本であり、これができていないという状況は、接続環境としては正しくない。

2.ファイルI/O

思わぬ落とし穴になるのが、ファイルI/O速度である。

高速ファイル転送ソフトSRFT

によると、一般的なOS、および、その上で動作するソフトウェアは、ファイル用バッファのサイズが4 KBytesであるというのである。4 KBytesというといまどきかなり小さいが、とても小さいおちょこで、お風呂の水を移動させているという姿を想像してもらえばよいかと思う。

これでは早くなるはずがない。

3.scpの場合暗号化、複合化の処理

暗号化装置および復号化装置

ややこしい資料をリファレンスしたが、結局のところ、他の人に盗聴されないように暗号化するということは、複雑な計算をするということである。複合化も同様である。最近のCPUはかなり早くなっているが、その時間は無視できるようなものではない。

というのも、そもそも暗号の解読が難しいのは、カギを知らない場合、計算量がすさまじく大きくなり、何千年も解読にかかる、というのがそもそもの考え方なのである。

4.TCP

最初にも出てきたがTCPも問題だ。もともとこのプロトコルは、9600 bpsという遅いWAN回線や10 MbpsのLAN回線のいずれでもデータがきちんと送れるというところが前提であったため、TCPスロースタートというアルゴリズムで動いている。

これは、一旦パケットをちょっと送ってみて、ロスが無かったら倍、倍、倍と、1度に送る転送量を増やすという手法である。ということなので、小さい容量のファイルだと転送量が増える前に終わってしまうということで、速度が非常に遅くなってしまうのである。

また、高速回線では、もともと速度が出ないというのが問題になっており、それを回避するということが、研究等で行われている。

FTPの約20倍の転送速度を実現する技術「BI.DAN-GUN(ビーアイドットダンガン)」 : 富士通

5.別のソフト、プロトコル

別のソフト、プロトコルを使うという手もある。今までの問題を解決してくれるものが見つかるかもしれない。

ITmedia Biz.ID:1Gバイトのファイルをオンラインですばやく転送する方法

高速ファイル転送ソリューション-株式会社ネットマークス

6.研究レベル

以上の様に、色々考察してきたが、今までのレガシーの技術を止めてしまうことが、転送速度の向上には役に立つ。下記は実験の一例である。

長距離・超高速インターネットを用いたファイル転送速度の世界記録を達成

システムアーキテクチャ構築の原理 ITアーキテクトが持つべき3つの思考 (IT Architects’Archive ソフトウェア開発の実践)
ニック・ロザンスキ,イオイン・ウッズ
翔泳社

このアイテムの詳細を見る

最新の画像もっと見る