技術評論社 Software Design
1997/09 号より
Appendix
FreeBSDの100M EthernetとATM
三平 善郎MIHIRA Yoshiro sanpei@jp.FreeBSD.org
新しい情報は
http://www.sanpei.org/FreeBSD/FreeBSD-100base.html
を参照下さい.
Wed Jul 14 11:40:04 JST 1999
DEC の de 最新ドライバについて
本文中では, if_de.c を http://www.3am-software.com/
から最新版を入手するようにと書きましたが.
2.2.7-RELEASE 以降などでは, 付属のドライバが
最新版です. 特に交換する必要はありません.
(一方で新しいドライバでは, 速度自動認識
がうまく動かない場合もあるようです)
通信速度, 全・半二重の設定について
最近では, 速度の設定を link で指定せず
media/mediaopt で指定する方式に変りました.
詳しくは man ifconfig と各ドライバの
マニュアルページ(de なら man de)を参照ください.
Wed Sep 24 10:39:18 JST 1997
校正ミス
誤: 「最新deデバイス」で100BASE-TX半二重の欄「+0−1−2」は,
正: 「最新deデバイス」で100BASE-TX半二重の欄「+0+1−2」は,
Sun Oct 5 01:50:05 JST 1997
URL の修正
Bt848 のページ
現在 : http://www.FreeBSD.org/~fsmp/HomeAuto/bt848/Bt848.html
Thanks, Masanori Kanaoka <kana@saijo.mke.mei.co.jp>
Thu Nov 27 10:59:27 JST 1997
DEC 2104x は 21x4x の誤り
記事中 DEC の 100M Ethernet 系の制御チップセットとして 2104x と
表記しましたが, 2104x は 10M 系のチップで, 2114x が 100M 系のチッ
プでした. そこで if_de.c が対応している 21x4x と表記を修正しまし
た.
Thanks, Murakami Hiroshi <nws830@ca2.so-net.or.jp>
さて,進化したネットワーク環境をOSのレベルでどのように扱っていくのかということも重要なテーマで
す.実際にユーザが活用できるものなのでしょうか?
今回は,FreeBSD上のポスト10BASE-Tの状況を見て行きましょう.
はじめに
PC UNIXのBSD系では,豊富なportsコレクションを従えて「インストールしたその日から使える」と初心者
に人気のFreeBSDです.ここでは,FreeBSDの100Mbps系ネットワークカードの対応状況関連情報をまとめてみ
ました.
FreeBSDでの100Mカードのトピック
まず,FreeBSDで使える100Mbps以上のネットワークデバイスのトピックをいくつかまとめてみます.
1つめに,ブランドものとしては比較的安いIntel Ether ExpressPro/100Bは,CD-ROMベンダWalnut
Creekが提供している,同時アクセス2000人に対応するanonymous FTPサーバでFreeBSDと一緒に使われていま
す(表1).
●表1 ftp.cdrom.com(ftp.FreeBSD.org)のスペック
(ftp://ftp.cdrom.com/archive-info/wcarchive.txt より)
CPU |
Pentium Pro 200MHz |
RAM |
512Mバイト |
HDD |
124Gバイト |
Ethernetカード |
Intel EtherExpress Pro/100B |
OS |
FreeBSD 2.2 |
2つめに,DEC 21x4x系チップのデバイスドライバは,商品であるBSD/OSをはじめNetBSD,OpenBSDと同じコー
ドが使われています.
3つめとしては,ATM方面では有名なIpsilon NetworksのIP Switchの中身はFreeBSD
2.0.5が用いられ,ATMカードとEthernetカードなどが使われているようです.
最後に,筆者のお世話になっている大学では,AT互換機にFDDIカードや100BASE-TXカードを挿してFreeBSD
を導入し,研究室のクライアントマシンはもとよりルータなどにしてネットワークの中心の存在として使っ
ているところが多くあります.
なお,PCカードの100M Ethernetカードは現状では未対応です(そもそもPAOがCardBusに未対応).PAOの
作者ほそかわ氏がCardBus内蔵マシンを入手したので近日中に利用可能になる思われます.
100BASE-TXのカード
現在のところ,3つのデバイスドライバが存在しています.ISAの100BASE-TX
Ethernetカードも売られていますが,それらへの対応はまだできてないようです.以下に示すのはEISA,PCI
カードだけです.
●表2-1 対応しているカード一覧
de デバイス |
|
|
|
メーカ名 |
製品名 |
|
動作状況 |
DEC |
DE500-X |
*1,*2 |
◎ |
DEC |
DE500-A |
*2 |
◎ |
macnica |
DE500-X |
*3 |
◎ |
macnica |
DE500-A |
*3 |
◎ |
Accton |
EN1207-TX EtherFast-TX |
|
◎ |
Adaptec |
ANA-6911/TX |
*4 |
◎ |
Adaptec |
ANA-6944A |
*4 |
□ |
ADDTRON |
AEF-350TX-M |
|
× |
Allied Telesis |
LA100-PCI-T |
*4 |
◎ |
AXEL |
Ether-100TX |
|
× |
Cogent |
EM440TX PCI |
|
◎ |
DOS/Vパラダイス赤いストライプの箱 |
|
|
× |
DOS/Vパラダイス赤いストライプの箱 |
別情報 |
|
◎ |
Elecom |
LD-10/100PCISMC のマーク付き |
|
◎ |
Elecom |
LD-10/100AN(?)SMC9332BDT使用 |
*5 |
− |
Elecom |
SMCのマークが基板にないモデル |
|
− |
LiteSpeed |
LF560 |
*4 |
◎ |
PLANET |
ENW-9500-F |
|
△ |
PLANET |
ENW-9501-F(21140モデル) |
|
◎ |
PLANET |
ENW-9501-F(21140-AC モデル) |
|
◎ |
PLANET |
ENW-9501-F(21142モデル) |
|
− |
SMC |
EtherPower10/100 |
|
◎ |
SVEC Computer |
FD1000TP |
|
◎ |
SURECOM |
EP100TX |
|
◎ |
TMG |
SMC9332DST SMC 10/100MB DEC 21140 ethernet |
|
◎ |
●表2-2 対応しているカード一覧
fxpデバイス |
|
|
|
メーカ名 |
製品名 |
|
動作状況 |
Intel |
EtherExpress PRO/100 ModelB |
|
◎ |
C-NET |
(PI)-100TX(OEM品) |
|
◎ |
富士通 |
FMV-186(OEM品) |
|
◎ |
●表2-3 対応しているカード一覧
vxデバイス(3Com) |
|
|
|
メーカ名 |
製品名 |
|
動作状況 |
3Com |
3C595 FastEtherlink PCI |
|
◎ |
3Com |
3C597 FastEtherlink EISA |
|
◎ |
3COM |
3C905 Fast EtherLink XL PCI |
|
◎ |
表の見方
◎ :100M/10M での動作完了
△ :10Mのみの動作,100Mでは動作せず
□ :10Mでは動作,100Mでのテスト実績なし
× :動作せず
− :情報なし |
*1:生産中止, 入手難しい
*2:DE500-AAなどの2番目の“A”はカード1枚の商品を表します.DE500-ABは5枚パック,DE500-ACは25
枚パックを表します.
*3:macnicaの商品は同じ型番のDECの商品のOEMのようです.
*4:最新のdeデバイスドライバとの組合せ
*5:D-LINK DFE-500TXのOEMだと思われる. |
この表に載っているのは2.2.1-RELEASE以降での情報です.de デバイスの場合最新デバイスドライバが別
途必要な場合もあります.また,あくまでも,ある1台のマシンで動いたという情報をまとめたものです.
カードの購入時期などによっては,同じ構成でも動かない場合もあります. |
DEC 21x4x系のカード (deデバイス)
10MbpsのEthernetカードと言えば,NE2000互換カードが有名ですが,対応ボード表(表2)からわかるよう
に,100MbpsではDEC
21x4x系のチップセットをもちいたカードが多くのメーカから発売されており有名です.そして,このチップ
を用いた,1枚のカードに複数の100BASE-TXの口を持ったEthernetカードの動作情報もあります(表3).
ルータ用などに使えると思います.
しかし,NE2000と違い,たとえばDEC 21x40チップを用いたカードと言ってもリビジョンによってチップの
制御法が違うようで,そのため同じメーカの商品でも購入時期によっては最新のデバイスドライバを入手し
ないと動かなかったりします.
デバイスドライバのバージョンによってifconfig中でのlinkの指定法が違うので注意してください.この
デバイスドライバの見分け方ですが,2.2.2-RELEASEなどに付属の古いタイプは図1となり,FreeBSD-2.2.5-RELEASE 以降
や作者のホームページから入手できる新しいタイプ(new
de)は図2となり,「de0: media…」という表示があります. このチップを使ったカードとしてお勧めで
きるのは,カードのマイナーチェンジ時にすぐ対応されるDEC自身が発売しているDE-500AAです.
●表3 複数口を持ったEthernetカード
Adaptec |
ANA-6944A |
Cogent |
EM440TX PCI |
●図1 設定法が古いdeデバイスドライバの表示例
de0 rev 18 int a irq 10 on pci0:12
de0: DE500-XA DC21140 [10-100Mb/s] pass 1.2
de0: address 00:00:f8:02:92:87
de0: enabling 100baseTX port
|
●図2 新しいdeデバイスドライバの表示例
de0 rev18 int a irq 10 on pci0:12
de0: DEC DE500-XA 21140 [10-100Mb/s] pass 1.2
de0: address 00:00:f8:02:92:87
de0: media: 1="10baseT" 2="Full Duplex 10baseT"3="100baseTX" 4="Full Duplex 100baseTX"
|
Intel EtherExpressPro/100B(fxpデバイス)
Intelが作っているEthernetカードです.デバイスドライバが今まではあまり改良されませんでしたが,今
年の3月ごろに一気に全二重への対応など大幅な改良が加えられ,魅力的なデバイスになりました.
FreeBSD-users-jpメーリングリストによると,最近マイナーバージョンアップされPhysical
Layer Interface用のチップが変更されました.このため,新しいカードに2.2.2-RELEASEなどは対応してお
らずwarningが出ます.その場合には,最新版のデバイスドライバを表5に挙げるfxpデバイスドライバのペー
ジより入手すれば良いようです.
このカードは値段もそこそこで,マイナーチェンジに対するデバイスドライバの対応も早く,Solaris
for Intelでも対応している100BASE-TXのカードなので,個人的にはお勧めです.
3Com FastEtherlinkカード (vxデバイス)
Ethernetカードとしては10M Ethernet時代から有名な3Comです.デバイスドライバは,日本人の浜田氏も
加わり作業されています.
現在のサポート状況は,全二重接続については,作者が環境を持っていないためにまだサポートしていま
せん.
また,現時点では他のカードのようにDMA転送ではなくPIO転送を用いています.これは,3C595と3C597の
DMA転送部分の一部に重大なバグが存在するためです.
最後に,3C509に関しては,内部バッファが小さいためにパケットの取りこぼしが起こり,環境によっては
転送効率が落ちるとの話があるようです.
このように,他のカードに比べていろいろと問題がありますが.一方で,デバイスドライバ作者の一人に
日本人の浜田氏がいらっしゃいます.日本語で気軽に連絡を取り合い,一緒にハッキングして改良する楽し
みもあります.
100BASE-TX 10BASE-T,全二重化の方法
表4に,de,fxpデバイスドライバでの設定法をまとめてみました.各デバイスドライバは自動認識に対応
していますが,接続するHUBやスイッチングHUBによっては自動認識に失敗する場合もあります.うまくつな
がらない場合には,明示的に通信モードを設定してください.
表の見方としては,たとえば「最新deデバイス」で100BASE-TX半二重の欄「+0+1−2」は,ifconfigでは
次のように指定することを意味しています.
ifconfig de0 link0 link1 -link2
つまり,数字の0,1,2はlink0,link1,link2に対応しており,数字の前の「−」はそのままlinkの前に
追加し,「+」の場合にはただlinkと数字を記述して動作モードを指定します.
vxデバイスに関しては,現時点では自動認識に対応していません.また,100BASE/10BASEの切り替えは,
カード付属のDOS上で動くユーティリティで行う必要があります.
●表4 10/100BASE半/全二重の設定 10BASE 100BASE
|
10BASE |
10BASE |
100BASE |
100BASE |
自動認識 |
デバイス名 |
半二重 |
全二重 |
半二重 |
全二重 |
|
de[2.2.1R] |
+0−1−2 |
+0+1−2 |
+0−1+2 |
+0+1+2 |
−0−1−2 |
de[2.2.5R 以降] |
+0−1−2 |
−0+1−2 |
+0+1−2 |
−0−1+2 |
+0+1+2 |
fxp |
+0−1−2 |
+0−1+2 |
+0+1−2 |
+0+1+2 |
−0−1−2 |
ATMのカード
3.0系でサポートされるカード(enデバイス)
2つのデバイスドライバが開発されており,3種類のカードが利用できます.
FreeBSD 3.0系では,ATMカードがサポートされ始めました.現在は次のカードをサポートしています.し
かし,現在はPVCのみのサポートとなっています.
-
Efficient Networks(ENI)ENI-155 PCI midway cards
-
Adaptec 155Mbps PCI ATM cards(ANA-59x0)
TCPでの通信テストで130Mbps程度の受け送りができ,安定して使えるようです.
HARP2 Projectでサポートされるカード
Minnesota Supercomputer Center,Inc.のAdvanced Networking Groupが,非営利目的には無償で利用でき
るFreeBSD
2.1,2.2系用のHARP2と呼ばれるソフトウェアパッケージを配布しています. このソフトウェアは,次の
カードに対応してい
ます.
-
FORE Systems,Inc. PCA-200E ATM PCI Adapters
-
Efficient Networks, Inc. ENI-155p ATM PCI Adapters
また,ATMのSignalling Protocolとしては次の物に対応しています.実用的で魅力的です.
-
Permanent Virtual Channels(PVCs)
-
The ATM Forum UNI 3.0 signalling protocol (SVCs)
-
FORE Systems' proprietary SPANS signalling protocol(SVCs)
Digital PCI ATMworks Adapter
Mr.DECと呼ばれる,BSD系OSのFDDIカードや,今回紹介した100BASE Ethernetカードのデバイスドライバの
作者Matt
Thomas氏は,DECのATMカードのデバイスドライバを書く用意があるようです.わたしは,期待しています.
最新情報の入手先
各デバイスドライバなどの最新情報の入手先を表5,表6にリストアップしてみました.入手したカードが動
かない場合には,より新しいデバイスドライバや情報をこれらのサイトから入手してください.
●表6 関連メーリングリスト
ATM 関連(英語) |
atm@FreeBSD.org |
100BASE Ethercardの話題がよく出る(日本語) |
FreeBSD-users-jp@jp.FreeBSD.org |
100BASE Ethercard の話題がよく出る(英語) |
questions@FreeBSD.org |
動作速度
ftpの転送速度
FreeBSDではどの程度の通信速度で転送を実現できるか,実際にスイッチングHUBを介して,ftpを行って通
信速度を計った結果を示します(表7).単位はMバイトです.Mbpsにする場合には8倍してください.
Pentium Pro 200になると,100BASE-Ethernetの帯域すべてを使いつくすことができます.そろそろギガ
ビットEthernetカードを試してみたくなりますね.
●表7 ftpの転送速度
実験環境 |
通信速度(Mバイト/Sec) |
P6-200 *1 |
11.1 |
P6-200 |
8.3 |
P5-66 |
5.2 |
SS-20 *2 |
3.5 |
SS-5 *3 |
2.5 |
*1 全二重同士
*2 Sun SpracStation20+SunOS4.1.4+FDDIカード
*3 Sun SpracStation5+Solaris2.5.1+100M Ehernetカード |
動画の転送・表示
FreeBSDでは,Bt848チップを用いたI/O DATAから1万円台で発売されている,ローコスト高画質キャプチャ
カードGV−VCP/PCIを利用できるようになりました.
ここではテレビ会議システムまでは行きませんが,このカードと100Mネットワークを介した動画転送実験
の結果を紹介します(図3,表8).
ここで送っている画像は,解像度320×240でTureColor(24bpp)です.10フレーム/秒(fps)転送できて
いますので,単純にデータ量を計算すると表8の通りになります.
残念ながら,ネットワークの先のマシンとしてPentium Proマシンを用意できず,Pentium
90MHzのマシンになってしまったためボトルネック部分を特定できませんが,無圧縮な画像は100Mネットワー
クと組み合わせると十分扱えそうです.
●図3 実験環境
 |
表8 実験結果
320×240×24×10 = 2304000 = 17.6Mbps |
|
キャプチャマシン上で表示 |
20fps |
100Mネットワークを介して |
10fps |
10Mネットワークを介して |
2fps |
最後に
100M Ethernetカードは,新しい商品がどんどん出てきており,いろいろな方々からの情報を必要としてい
ます.動かなかった情報でも良いので,筆者あてのところにメールいただけると幸いです.適時リストに反
映していきたいと思います.
ところで,現在入手できるUTPケーブルは,大概100Mbpsに対応したカテゴリ5のケーブルです.100BASE-TX
のHUBもちょっと前の10BASE-Tと同等の値段になってきました.この文章を読んでいる「あなた」,自宅LAN
に10Mbpsなんてみんなと同じことはせずに,ここは100Mbpsにしませんか.s