この質問に対する答えは、ネットワーク接続を利用して何をしたいかによって実 にさまざまです。またどの程度のトラフィック量を予想しているかによっても答え は異なってきます。
時たま ftp や WWW を利用する個人ユーザなら、おそらく旧式の 8 ビットの ISA カードでも十分でしょう。
サーバの立ち上げを考えており、送受信するネットワークデータが CPU に与 えるオーバーヘッドを最小限に抑えようとするなら、バスマスタリング機能を 備えたチップ(DEC tulip (21xxx) チップや AMD PCnet-PCI チップ等)を搭載 した PCI カードが必要になるでしょう。
上に示した例の中間ぐらいという場合には、廉価な PCI カードかしっかりした ドライバがある 16 ビットの ISA カードを選べばよいでしょう。
16 ビット ISA カードなら、
SMC-Ultra/EtherEZ, SMC-Elite (WD80x3), 3c509, Lance, NE2000.
用のドライバが十分枯れています。このドライバを使うカードを買えば万事問題 ないはずです。
だからといって、これ以外のドライバがしっかりしていないというわけではあり ません。ただ、上記のドライバはもっとも歴史が古く、Linux 用ドライバの中で も一番よく使い込まれています。というわけで、このドライバを選ぶのがもっと も無難なのです。
el-cheapo 製マザーボードの中には、ISA Lance カードのバスマスタリングと 相性が悪いものがあるので注意が必要です。また同社製 NE2000 クローンカード の一部には、ブート時にうまく認識されないものがあるので注意してください。
Linux 用の PCI ドライバとして一番良く利用されているのは、3Com Vortex/Boomerang (3c59x/3c9xx), DEC tulip (21xxx), Intel EtherExpressPro 100 の各ドライバでしょう。PCI-NE2000 クローンカード類はどこにでも転がっ ていますが、高性能の新型カードよりもとにかく一番安いものを手に入れる のが重要という場合でもなければ、これを買うのはお勧めできません。
8 ビット ISA イーサネットカードの新品を買うのはもう無理でしょう。でも コンピュータの中古部品交換会にでも行けば、この種のカードはいくらでも転 がっています。 Linux 用としてはあと数年は使えるでしょう。値段も激安で す。PCI カードが普及するようになった今では、 16 ビット ISA カードにも 同じことが当てはまるようになりました。
普通の使い方をするなら、wd8003, 3c503, ne1000 といった8 ビットカードで も十分な性能が得られます。3c501 は性能面で見劣りがします。12 年も前の XT 時代の遺物とでもいうべきこのカードは避けておくのが得策です(Alan は これを収集しているので、送ってやってください)。
遠隔ホストから 高速 ISA バスに差した wd8003 カードを使って500 -- 800kB/s 程度の速度で ftp のダウンロードができればいいというのなら、 データパス の幅が 8 ビットでも問題はありません。ネットワークトラフィックの大部分 が遠隔サイトとの通信という場合には、データパスの幅以外の要素が速度を規 定する要因となります。8 ビット カードと 16 ビットカードの速度差に気が つくのは、ローカルのサブネットを利用する時だけでしょう。
通常 10Mbps のネットワークには 32 ビットのインタフェースが必要ないことに注 意してください。10Mbps のイーサネットカードを 8MHz の ISA バスで使用しても それがもとで性能が落ちたりしないのはどうしてか、という点については プログラムド I/O 対 共有メモリ 対 DMA をお読みください。イーサネッ トカードを高速バスに挿しても、転送速度が速くなるとは限らないのです。CPU のオーバーヘッドが小さくなることは多いでしょう。マルチユーザシステムな らこの利点が効いてきます。
最近一般的になってきた 100Mbps ネットワークの場合には、32 ビット インタフェースを使用してバンド幅をフルに活用することが必要となります。 AMD は 32 ビットの PCnet-VLB チップと PCnet-PCI チップを提供しています。 32 ビット版の LANCE / PCnet-ISA チップについては、 AMD PCnet-32 をご覧ください。
パワーユーザの方には DEC 21xxx PCI `tulip' チップという別の選択肢もあり ます( DEC 21040をお読みください) 。このチップを 搭載したカードを作っているメーカーはたくさんあります。ノーブランド製のカー ドはたいてい激安です。
3Com の `Vortex' や `Boomerang' PCI カードを選ぶという方法もあります。キャ ンペーンセール中なら、極めて安価で入手できます。( 3c590/3c595をご覧ください。)
Intel の EtherExpress Pro 10/100 PCI カードも Linux との相性がいいとのこ とです( EtherExpressをご覧ください)。
RealTek や Winbond チップを搭載した PCI NE2000 クローンカードを作り始
めるメーカーも多くなってきました。2.0.31 以降のカーネル用の Linux ne2000
ドライバならこの類のカードをも使えます。とはいっても、この時代物の
ne2000 ドライバインタフェースを使い続けているのでは、この類のカー
ドを使ってもバスインタフェース速度が上昇したという利点しかありません。
2.0.34 以降、この種のPCI カード専用のドライバが別に提供されるようになり
ました。ne2k-pci.c
というのがそれで、ISA 用のドライバ ne.c
よ
りも性能がわずかながら向上しています。
使用できる 100Mbs カードは今のところ以下の通りとなっています。 DEC 21140 チップを搭載した各種カード; 3c595/3c90x Vortex カード; EtherExpressPro10/100B; PCnet-FAST; SMC 83c170 (epic100) HP 100VG ANY-LAN.
本文書には各メーカーごとに固有な情報を紹介する部分もありますので、そこに も目を通してください。また、以下の場所をチェックしておくのもよいでしょう。
Dan Kegel の Fast Ethernet についてのページ
100BaseT は 100VG よりもはるかに主流になっています。Donald が
comp.os.linux
に投稿した自薦の文章はかなり古いものですが、100BaseT
の優位性を簡潔にまとめたものとなっています。
曰く、「事情を御存じない方のために。100Mbs イーサネットの世界では 100VG (別名: 100baseVG, 100VG-AnyLAN)と100BaseT (100baseTx, 100baseT4,100baseFX タイプのケーブルを使用するもの)という二つの規格が競 合しています。
先に市場に登場したのは 100VG の方でした。100baseTx よりも技術的に優れて いるような感じがします。こちらの規格が勝ち残るようにいろいろ応援しました が、結果はどうみても思わしくないものでした。HP その他の各社が以下に掲げ るような選択ミスを犯したからです。
1) 規格化に手間取った: その結果として、IBM に迎合してトークンリングフレー ムをサポートするようになってしまったのです。これも、その当時には優れたア イディアに思えたものです。というのもこうしておけば、「トークンリングとい う間違った技術に手を出したが、これはたいへん高いものについた」といって失 敗を認めることなく、トークンリングショップをイーサネットに格上げできるか らです。ところがトークンリングとイーサネットという二つのフレームは同一ネッ トワーク上で共存できないので、トークンリングフレームをサポートするように しても何の役にも立たなかったのです。トークンリングは複雑で取り扱いにくい ものでした。そのうえ IBM も 100baseT の方に走ってしまったのです。
2) ISA, EISA カードしか生産しなかった: PCI モデルの発売予告はつい最近に なってからのことでした。100mbs に ISA バスは遅すぎます。また、EISA バス を備えた機械はほとんど普及していません。当時は安価で高速な VLB が一般的 で、 PCI バスがもう一つの選択肢として並立しているという時代でした。それ にも関わらず、「サーバ用には、ずっと高価な EISA バスが生き残る」という 格言がまかり通っていたのです。
3) 私宛てにデータブックを送ってこなかった: これこそが 100VG が敗退した本 当の理由です :-)。 プログラミングに必要な情報を求めて四方八方に電話をか けまくりましたが、手に入ったのは AT&T がつくったわずか数ページの色刷 りの用語集だけでした。これは、 Regatta チップセットがいかにすばらしいか を書き連ねたものでした」
小規模の個人的ネットワークを立ち上げようという場合には、シンネットケーブ ルかシンイーサネットケーブルを使うことになるでしょう。この種のケーブルは 標準の BNC コネクタを備えたタイプのものです。BNC コネクタ(金属製で回して 固定するもの)を備えたシンネットケーブルやシンイーサネットケーブル(RG-58 同軸ケーブル)のことを専門的には 10Base2 と呼んでいます。
たいていのイーサカードの場合には、10 -- 20 ドルも足してやればいわゆる 「コンボカード」というものが手に入ります。これはツイストペアとシンネット トランシーバの両方を備えているので、あとから気が変わってもだいじょうぶと いうわけです。
RJ-45 コネクタ(大型の電話コネクタのようなもの)を備えたツイストペアケーブ ルのことを専門的には 10BaseT と呼んでいます。 UTP (非被覆ツイストペア)と いう言葉を耳にされたこともあるでしょう。
昔ながらの太いイーサネット(10 ミリ同軸ケーブル)には、古い機械でしかお目 にかかれません。10Base5 と呼んでいるのがこのケーブルです。15 ピンの D 型 プラグ(AUI コネクタ)を備えたイーサネットカードがありますが、このコネクタ は太いイーサネットと外付けトランシーバを接続する際に使用するものです。
大企業では 10Base2 の代わりに 10BaseT を利用するところが多いでしょう。 10Base2 から他の 10Base ケーブルにアップグレードする方法がないからです。
種類の違うイーサネットケーブルを接続する場合のことについては、 ケーブル、同軸、ツイストペア の節をご覧ください。