技術評論社 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のみのサポートとなっています.
  TCPでの通信テストで130Mbps程度の受け送りができ,安定して使えるようです.

HARP2 Projectでサポートされるカード

 Minnesota Supercomputer Center,Inc.のAdvanced Networking Groupが,非営利目的には無償で利用でき るFreeBSD 2.1,2.2系用のHARP2と呼ばれるソフトウェアパッケージを配布しています.  このソフトウェアは,次の カードに対応してい ます.  また,ATMのSignalling Protocolとしては次の物に対応しています.実用的で魅力的です.

Digital PCI ATMworks Adapter

 Mr.DECと呼ばれる,BSD系OSのFDDIカードや,今回紹介した100BASE Ethernetカードのデバイスドライバの 作者Matt Thomas氏は,DECのATMカードのデバイスドライバを書く用意があるようです.わたしは,期待しています.  

最新情報の入手先

各デバイスドライバなどの最新情報の入手先を表5,表6にリストアップしてみました.入手したカードが動 かない場合には,より新しいデバイスドライバや情報をこれらのサイトから入手してください.
●表5 URLリスト
筆者がまとめている100BASE Ethernetカードのページ http://www.yy.cs.keio.ac.jp/~sanpei/FreeBSD/FreeBSD-100base.html
DEC 21x4x系のカード http://www.3am-software.com/
Intel EtherExpressPro/100B http://www.FreeBSD.org/cgi/cvsweb.cgi/src/sys/pci/if_fxp.c
3com Fast Etherlink http://www.jp.FreeBSD.org/~nao/
HARP2 softwareのATMドライバのページ  http://www.msci.magic.net/harp/harp2.html
FreeBSD-current付録のATMドライバ著者のページ  http://www.ccrc.wustl.edu/pub/chuck/bsdatm/wucs.html
Bt848 キャプチャカードドライバのページ http://www.FreeBSD.org/~fsmp/HomeAuto/bt848/Bt848.html
 
                          
 
●表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