「IIJ Technical WEEK 2014」の会場に、まるでタイムスリップしてきたかのようにSun Microsystemsの「SPARCstation IPX」が姿を現した。20年前に同社が提供していたアノニマスFTPサーバーはどんな姿だったのだろうか。
20年前のサーバーの姿を、そしてインターネットの姿を覚えているだろうか? インターネットイニシアティブ(IIJ)が2014年11月26日から28日にかけて開催している「IIJ Technical WEEK 2014」の会場には、まるでタイムスリップしてきたかのようにSun Microsystemsの「SPARCstation IPX」が姿を現し、世界初のグラフィカルなWebブラウザー「NCSA Mosaic」上で約20年前のIIJのWebページ(いわゆる「ホームページ」)を表示した。
11月27日に行われたセッション「てくろぐ・せれくと 『1993年のサーバの中身が見つかりました』」で、同社のエンジニアブログなどで情報発信をしているプロダクト本部 プロダクト推進部 企画業務課 リードエンジニアの堂前清隆氏は、IIJのオフィス移転に伴って発掘された1本のテープがきっかけとなり、1993年当時のアノニマスFTPサーバー「ftp.iij.ad.jp」を再び動かしてみるまでの顛末を紹介した。なお詳細は同社てくろぐの2014年7月10日のエントリで紹介されている。
ある日、堂前氏は先輩から1本の家庭用8mmビデオテープを託された。そのケースには「All dump@ftp.iij.ad.jp 93/06/05」と記されていた。この記述から、おそらく1993年当時のFTPサーバーのバックアップデータが保存されているだろうと推測できたものの、問題はどうやってデータを取り出すかだ。
現在でも磁気テープはバックアップ用、特にアーカイブなどの長期保存用途で活用されており、データは数十年単位での保存に耐えられるとされている。だが「例えば読み込みができるドライブがあるのか、そのドライブを接続できるSCSI(Narrow)のインターフェースがあるか、また当時のファイルシステムをサポートするOSがあるかなど、いろいろ課題はあった。加えて、予算のためかデータ専用テープではなく、家庭用ビデオテープの転用。テープの状態にも不安があった」(堂前氏)という。
しかし蛇の道は蛇。堂前氏がIIJ社内で声を掛けたところ、ExabyteドライブとSCSIインターフェースを備えたPCが見つかった。ただ、「何年も使われておらず、本体はほこりまみれ。ドライブも製造終了から20年以上経っていた」(同氏)。そこでジャンク好きで知られる同僚に声を掛けて協力を依頼し、データをロードできないか試してみたという。掃除とグリスアップに始まり、ギア破損などのメカニカルな問題は物理的なドライバーでつついてみたり、手で押し込んでみたりしながら乗り越え、ドライブを認識させることに成功した。
が、今度は、テープ操作用コマンドを扱うのが久しぶりだったこともあり、巻き戻されないよう読み込みを進めるための使い方に戸惑ったという。検索エンジンなどでコマンドの詳細などを確認しながら試行錯誤し、本来の意味で「tar」コマンドを使ってテープ内のデータを取り出すことに成功。mountコマンドで無事にファイルを展開することができた。「1993年のSunOSのファイルシステムをNetBSD4できちんと読めることに驚いた」と堂前氏は述べている。
ファイルを展開してみると、中にはFTPサーバーのバックアップデータに加えsyslogなども残っており、その記述から当時のサーバー本体のスペックが判明した。Sun SPARCstation 2でメモリは当時の大容量64MB、ハードディスクは本体に1GB×2、外付けでさらに2GB HDDを4つ接続するなど、「当時としてはかなり豪勢なスペックだった。コンシューマー向けではPC-9800シリーズが主流で、HDD容量は大きくても250MB程度だったころだ」(堂前氏)。
このサーバーで動かされていたftp.iij.ad.jpは、各種BSDやLinuxなど、主にコミュニティ主導で作られているさまざまなプログラム配布を手助けすることを目的とした、無償で誰でも利用できる公開FTPサーバーだ。今もサービスは継続されているが、いかんせん20年前は、サーバーのリソースも帯域も非常に貴重なものだった。サーバーに接続し続けたままディレクトリの内容を表示させ、その中から必要なプログラムを選ぶ……などという悠長なことは許されないほど限られた資源だった。
このため「あらかじめサーバー内にあるファイルの一覧(ls-lR.Z)を作っておき、ユーザーはまずそれをダウンロードしてから、どのファイルをゲットするか考えていた。当時はそういう習慣があった」(堂前氏)。ダウンロードの負荷を少しでも減らすべく、前バージョンとの差分をまとめた「diff」ファイルを用意しておくという習わしもあった。
ちなみにバックアップデータの中には、事業開始を控えたIIJのサービス内容をまとめた案内書のPostScriptファイルも含まれていた。それによると、専用線接続サービスの月額基本料金は9.6kbpsで18万円、1.5Mbpsで205万円。同社サービスの特徴の第一に「『AUP(Acceptable Use Policy)フリー』な接続」が掲げられるなど、当時のインターネットへの接続は大学など学術機関が中心で、民間企業による商用利用は限られていた。そんな中、IIJは当時の郵政省と折衝を重ねながら、サービス開始に向けた準備を整えていた。個人向けダイヤルアップ接続サービスが登場するのもその後のことである。
ディレクトリ構造には、「386bsd(ただし、ライセンス訴訟の問題を考慮して中身は空だったようだ)」「NetBSD-0.8」「emacs19.9」「gcc-2.4.3」といった文字列が並び、これもまた感慨深かったという。/pub/linuxの下には「当時はまだディストリビューションという概念がなく、カーネルのソースコードやgccなどがごろっと転がっていた。また個人的には、当時amigaをサポートしていたのかと驚いた」(堂前氏)。一方で、特にGNU関連のソフトウェアについては、今と近いものがそろっている印象も受けたそうだ。
さらに/pub/miscディレクトリの下には「xmosaic-sun.Z」というファイルも見つかった。世界初のグラフィカルWebブラウザー、NCSA Mosaicのバイナリファイルだ。堂前氏によると開発元のNCSAで公開されている最古のバイナリは、1994年6月の日付のバージョン1.2。今回発見されたバイナリにはバージョン情報がないため確認できないが、それよりも古い可能性が高い。もちろん英語版で、DeleGateのCIILibを介して画像化することで日本語表示が可能になったのは、その後のことである。
このバックアップデータが取られた1993年は、インターネットのアプリケーションといえばメールとFTP、ネットニュース、情報検索はArchieやGopherで、といった時代だ。HTML 1.0の仕様が策定される前で、JavaScriptなどもっての外(影も形もなかった)という時期のブラウザーである。今の世の中にあふれるWebページを表示させようにも、対応していないコンテンツばかりでまともには表示できない。それどころか、HTTPプロトコルも1.0以前の段階であり、「HTTPのステータスコードも一部はハンドリングできない、プリミティブなブラウザーだった」(堂前氏)。
しかし、同じく発掘された1995年当時のIIJのホームページは見事に表示できた。ちなみに、今回の再現用WebサーバーにはRaspberry Piを用いており、「会場に展示した、当時を再現した機器の中ではこれが最もハイスペック」(堂前氏)という。
このように試行錯誤を経て20年前のデータを再現した堂前氏だが、「OSやコンピューターのメカニズム、CPUの動きといった基本的な部分が理解できていて、あとは取っ掛かりとなるものがあれば何とかなった」と振り返る。「UNIXやLinuxのコマンドなどはどんどん便利なものが出てきており、変わっていく。そこは時代に合わせていいものを使っていけばいい。ファイルシステムやバイトストリームといったUNIXの基本を理解していれば大丈夫ではないか」(堂前氏)
加えて、IPというプロトコルの後方互換性の高さもあらためて認識したそうだ。また、HTTPやSMTPといった昔のプロトコルはテキストベースなので、「揺らぎに強い部分があると思う」と堂前氏は述べた。ただ、これからSPDY/HTTP 2.0といったバイナリプロトコルが登場してくると、「大きなジャンプ」になるのではないかという。
これから20年後、インターネットはどんな姿になっているだろうか。そのとき、今最先端を行くサービスはどんな風に見えるだろうか……そんなことに思いを馳せるセッションとなった。
Copyright © ITmedia, Inc. All Rights Reserved.