u-tokyo.ac.jp のミラー FTP サーバーから同じファイルを連続して2回ダウンロードすると内容が一致しない

ある人が、Gentoo Linux の CD イメージをダウンロードしようとして、u-tokyo.ac.jp が速そうなのでその FTP サイトから落として CD ブートしてインストールすると、いくつかのファイルが壊れている (CRC エラー) と出た。


ダウンロードしたファイルは下記の場所にある iso イメージである。
ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO/releases/x86/2005.0/installcd


これで結構悩んだ (最初はうちのネットワークがおかしいのではないかとか) のだが、
上記 FTP サーバーから iso イメージを落とすと、2回落とすと、1回目と2回目のファイル内容が異なっている という奇妙な現象を見つけた。

どうやら、上記の東京大学FTP サーバーからファイルをダウンロードすると、なんと平均約 10 メガバイトに 1 ビット程度の割合で、ファイルの中身のデータが化ける ようである。しかも、さらによく調べると、データが化けるときは 8 ビット目がビット反転してしまうようである (他のビットは化けていない)。

上記の東京大学FTP サーバーではなく、他からダウンロードすれば問題無かった。


考えられる原因は、①途中のネットワークがおかしい、②FTP サーバーのマシンが物理的におかしい のどちらかだと思うが、TCP の特性上 ① は考えにくい (Checksum エラーが発生したら輻輳検出と同様に再送モードに入るので転送速度は落ちるはず)。したがって送信元 FTP サーバーがデータをディスクから読み出し FTP プロトコルの一部として TCPカプセル化する前の段階でビットが化けている可能性が高い。
メモリがハード的に寿命だとかだろうか。


以下の方法で試すことができます。やってみてください。

  1. ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO/releases/x86/2005.0/installcd/install-x86-minimal-2005.0.iso (61Mbytes) をダウンロードする。
  2. 深呼吸して、もう一度、ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO/releases/x86/2005.0/installcd/install-x86-minimal-2005.0.iso (61Mbytes) をダウンロードする。 (IE 等ではキャッシュが残っている可能性もあるので、FTP クライアントソフトなどを使うことをお勧めします)
  3. 上記で落とした 2 個のファイルを MD5 チェックサム (md5sum) か何かで比較してみる。
  4. あれ? 内容が一致しない ということに気付く。



↑ 1 回目にダウンロードしたファイルを 1.dat、2 回目にダウンロードしたファイルを 2.dat として、それぞれ MD5 でハッシュしてみたところ