▼ CONTENTS
はじめにお読み下さい
プロフィール
ブロードキャスト
Gordian Knot
 (ペーパーマガジン)
ウィークリーマガジン
 (メールマガジン)
デジタル ビヘイビア
 (月刊PDFマガジン)
上高地仁の本
ダウンロード
リンク集
広告募集
DTP-S倶楽部
▼ DTPで使うYosemite読本


<< 第八回

第九回 TCP/IPでパケットを送る

 Ethernetで全二重のパフォーマンスを最大限に発揮されるためには、ネットワークカードとスイッチングハブだけでは限界がある。ひとつはソフトウェアの問題であり、もう一つはハードウェアの問題である。
 ソフトウェアの問題とは、ネットワークプロトコルの仕様にあるといってよい。簡単に言うとMacintoshのネットワークプロトコルは「遅い」の一言に尽きる。
 ファイルサーバとしてMacintoshをネットワークするソフトウェアは、セレクタにあるAppleShareという機能拡張書類である。これはAppleTalkのプロトコルを使って、ファイルサーバを提供する。
 Macintoshの素晴らしさは、ファイルサーバというややこしい機能を「ファイル共有」という簡単な設定で手に入れられることだろう。一台のMacintoshを「ファイル共有」でサーバにしてやれば、ネットワークでつながった他のMacintoshから、共有指定したボリュームもしくはフォルダを開いてアクセスできる。
 ただしこのファイルサーバの欠点は、サーバが落ちると、クライアントが即その影響をうけることだ。サーバがフリーズして、クライアントの動作が遅くなったり、フリーズしたりすることは珍しくない。
 もともとAppleShareであっても、サーバマシンは別にして完全にサーバとしてのみ使えばほとんど問題がないが、現実にはサーバ兼クライアントとして使用することが多く、そのため余計にトラブルが発生する。
 またネットワークにつながっている複数のMacintoshをサーバにしていると、ネットワークのパフォーマンスが著しく落ちる。これはサーバマシンがブロードキャストという信号を30秒おきにネットワークに送りだすことに起因する。サーバの存在を主張しネットワークにパケットが流れていないかどうかを調べるのである。これが一台のMacintoshからの信号であればまだしも、複数台になると、ブロードキャストの信号が頻繁にネットワークを占拠することになり、ネットワークの混雑が加速する。もし10台のMacintoshにサーバの設定がなされていれば、単純にいって3秒に一回ブロードキャストの信号が流れていることになり、このようなAppleShareサーバによる混雑をブロードキャストストリームと呼ぶらしい。
 従ってサーバのパフォーマンスを上げるためには、まず確実にサーバマシンを決め、そのマシンだけをサーバにするという設定が必要になる。そうすると、AppleShareであっても、多少のパフォーマンスは向上するはずだ。
 もう一つの原因は、AppleShareで作られるパケットサイズが小さいということがある。最大値でどのくらいなのかは知らないが、Ethernetで動作するTCP/IPのパットよりサイズがかなり小さいらしい。
 もともとパケットには、通信されるデータ以外のものがだいたい60KB程度含まれている。そしてTCP/IPでは一つのパケットの最長サイズは1500KB程度だが、必ずしも最長サイズでパケットが作られるわけではない。最初は小さく、そしてネットワークがすいていると、だんだんと大きなパケットサイズになるのだ。もし一つのパケットで1500KBのデータを転送できれば、実質的なデータの転送量はかなり大きくなるに違いないが、ネットワークが混雑していたり、ブロードキャストのような信号が割り込むと、またいちから小さな信号を送るらしい。AppleTalkではもともとの最大サイズのパケットが小さいため、ネットワークがすいていても、あまり大きなパフォーマンスが得られないようである。
 Ethernetのネットワークでデータの通信量を上げるためには、まずAppleShareではなく、TCP/IPのような高速のプロトコルを使用する。そしてサーバマシンを決めるということが必要になる。
 MacintoshでTCP/IPでやり取りするためには、サーバにAppleShare IPというソフトウェアのインストールし、クライアントにAppleShare Clientというソフトをインストールする。これでAppleShare IPのWeb & File ServerでTCP/IPをセットするだけである。
 それ以外にもハードウェアの問題もある。つまりMacintoshのハードディスクの読み書きの速度にも影響される。SCSI-2クラスの1秒間に実測値で5MB程度でしか読み書きできないとなると、その半分も送れればいいほうだろう。いくらネットワークが高速になっても、Macintoshのハードディスクが遅かったり、パケットを作成処理する時間がかかると、当然通信パフォーマンスは下がることになる。
 ちなみにNew G3にAppleShare IPをインストールし、7600/120の10Base-Tのポートにつないで、クライアントからサーバからスイッチングハブ経由でデータを送ってみると、最大で1秒間に約1.2MBでデータが転送された。10Base-Tは多分半二重だから、10Mbpsそのままのパフォーマンスが発揮されている。
 実は7600/120に全二重の100Base-TX対応のPCIカードをいれてつないでみたが、相性が悪いようで、思いっきり遅かったり、転送途中で止まったりする。一説によると、機能拡張の「Apple Enet」という拡張書類が、Macintosh純正のネットワークカードにのみ対応していて、その機能拡張が優先されるため、うまく働かないという。しかし「Apple Enet」を外して、サードパーティのEthernetカードの機能拡張書類のみにしても、正しく動作できなかった。原因としては、7600にセットしたG3カードとEthernetカードがぶつかっている可能性もある。
 しかしいずれにしても、New G3同士であれば、まず問題なくAppleShare IPでのネットワークでかなり高いパフォーマンスが得られるはずであり、ハードディスクやスイッチングハブの仕様にもよるものの、1秒間に5MB程度は通信可能のようだ。
 1秒間に5MB転送できれば、間違いなく、Macintoshのみでファイルサーバは構築できるのである。
「DTP-Sウィークリーマガジン 第28号(1999/07/22)」掲載



<< 第八回