次のページ 前のページ 目次へ

8. その他のネットワーク技術

以下の各節では特定のネットワーク技術を説明します。それぞれの節は独 立しているので、ある節を読むのに別の節の情報は特に必要ありません。話題 はアルファベット順に並べています。

8.1 ARCNet

ARCNet のデバイス名は `arc0e', `arc1e', `arc2e' あるいは `arc0s', `arc1e', arc2e' のようになります。 最初に検出されたカードが `arc0e' または `arc0s' で、それ 以降は検出された順に番号が振られます。デバイス名の最後の s や e は パケットをイーサネットにカプセル化するか、 RFC1051 の形式にするかを示 します。

カーネルのコンパイルオプション:

        Network device support  --->
            [*] Network device support
            <*> ARCnet support
            [ ]   Enable arc0e (ARCnet "Ether-Encap" packet format)
            [ ]   Enable arc0s (ARCnet RFC1051 packet format)
        

ARCnet カードをサポートするようにカーネルを作成すれば、カードの設定は 簡単です。

通常は以下のように設定します:

        root# ifconfig arc0e 192.168.0.1 netmask 255.255.255.0 up
        root# route add -net 192.168.0.0 netmask 255.255.255.0 arc0e
        

詳細については /usr/src/linux/Documentation/networking/arcnet.txt/usr/src/linux/Documentation/networking/arcnet-hardware.txt をご覧ください。

ARCNet の機能は Avery Pennarrun apenwarr@foxnet.net が開発しまし た。

8.2 Appletalk (AF_APPLETALK)

Appletalk 機能は既存のネットワークデバイスを使うので特別のデバイス名は 不要です。

カーネルのコンパイルオプション:

        Networking options  --->
            <*> Appletalk DDP
        

Appletalk 機能を使えば、Linux を Apple のネットワークと協働させ、プリ ンタやディスクといったリソースを Linux と Apple 製のコンピュータの間で 共有できます。この機能を使うには netatalk と呼ばれ るソフトが別途必要です。ミシガン大学で `Research System Unix Group' と いうチームを率いている Wesley Craig netatalk@umich.edu が、 Appletalk のプロトコルスタックとその他有益なプログラムをまとめた netatalk と呼ばれるプログラムを開発しました。 netatalk パッケージは Linux の配布パッケージに含まれているか もしれませんし、見つからなければ ミシガン大学 から FTP で入手できます。

このパッケージをコンパイルしてインストールするには以下のようにします。

        user% tar xvfz .../netatalk-1.4b2.tar.Z
        user% make
        root# make install
        

実際に make を実行してソフトウェアをコンパイルする前に、 `Makefile' を編集するとよいでしょう。特に、後でファイル群がインストール される先を定義する変数である DESTDIR は変更しておきましょう。 デフォルト値の /usr/local/atalk でも十分安全です。

Appletalk 用ソフトウェアの設定

Appletalk を動作させるためにまずしなければならないことは、 /etc/services に適切な設定があるかどうかを確かめることです。 必要なエントリは以下の通りです:

  rtmp  1/ddp   # Routing Table Maintenance Protocol
  nbp   2/ddp   # Name Binding Protocol
  echo  4/ddp   # AppleTalk Echo Protocol
  zip   6/ddp   # Zone Information Protocol
  

次に /usr/local/atalk/etc ディレクトリ(またはパッケージの インストール先のディレクトリ)に Appletalk の設定ファイルを作ります。

最初に作成すべきファイルは /usr/local/atalk/etc/atalkd.conf です。このファイルには Apple のマシンのネットワークが接続している ネットワークデバイス名のみを登録しておきます。

  eth0
  

Appletalk デーモンプログラムが実行されると、このファイルに設定情報 が追加されます。

Linux のファイルシステムを Appletalk 経由で提供する方法

Linux マシンのファイルシステムを提供して、ネットワーク上の Apple のマシ ンから使えます。

このためには /usr/local/atalk/etc/AppleVolumes.system ファイ ルを作成します。もう一つ、 /usr/local/atalk/etc/AppleVolumes.default というファイルもあ り、このファイルは AppleVolumes.system と全く同じ形式で、ゲストアカ ウントでも利用できるファイルシステムを設定します。

これらのファイルを設定する詳しい方法や各種のオプションについては afpd の man ページをご覧ください。

以下に簡単な例を示します:

  /tmp Scratch
  /home/ftp/pub "Public Area"
  

この例では /tmp ファイルシステムを `Scratch' という名で、 ftp の public ディレクトリを `Public Area' という名で、それぞれ AppleShare に提供しています。`Scratch' や `Public Area' といった ボリューム名は必須ではなく、指定しなければデーモンが自動的に命名してく れますが、付けておいても問題はありません。

AppleTalk 経由での Linux のプリンタの共有

Linux マシンに接続されたプリンタを Apple 製のマシンと共有するのも簡単 で、AppleTalk のプリンタ・アクセス・プロトコル・デーモン papd を使います。このプログラムは、Apple マシンからのプリントリクエストを受 けつけてスプールし、lpr デーモンに渡して Linux マシンのプリンタに出力 します。

papd の設定には /usr/local/atalk/etc/papd.conf ファ イルを使います。このファイルの書式は /etc/printcap ファイルと 同じで、登録したプリンタ名が Appletalk の命名プロトコル NBP を使って Appletalk 上に設定されます。

papd.conf の設定例を以下に示します:

  TricWriter:\
     :pr=lp:op=cg:
  

この設定で `TricWriter' というプリンタ名が Appletalk 上に設定され、そ のプリンタに送られた出力は lpd を使って Linux の `lp' プリンタ(/etc/printcap ファイルで 設定されている lp プリンタです)に出力されます。 `op=cg' の指定は Linux マシンのユーザ `cg' がプリン タの使用者になることを意味します。

appletalk ソフトウェアの起動

さて以上で、この基本的な設定を試す準備ができました。netatalk パッ ケージには rc.atalk ファイルが含まれていますので、 netatalk を起動するには以下のようにします。

        root# /usr/local/atalk/etc/rc.atalk
        

これで必要なデーモン類が全て起動するはずです。エラーが出なければ、 ソフトウェアはコンソールにそれぞれの段階のメッセージを示していくはずで す。

appletalk ソフトウェアのテスト

netatalk が正しく機能しているかを確認するには、Apple のマシンを使って、 アップルメニューから「セレクタ」を選び、AppleShare をクリックして Linux マシンが表示されるかどうかを確かめます。

netatalk の注意点

さらに詳しい情報について

Linux で AppleTalk を設定する方法のより詳しい説明については thehamptons.com で公開されている Anders Brownworth の Linux Netatalk-HOWTO を参照してください。

8.3 ATM

Werner Almesberber <werner.almesberger@lrc.di.epfl.ch> は Linux で ATM(Asynchronous Transfer Mode)をサポートするための計画を 統括しています。この計画の現状は lrcwww.epfl.ch で見ることができます。

8.4 AX25 (AF_AX25)

AX.25 デバイスの名称は 2.0.* カーネルでは `sl0' や `sl1' ですが、2.1.* カーネルでは `ax0' や `ax1' になっています。

カーネルのコンパイルオプション:

        Networking options  --->
            [*] Amateur Radio AX.25 Level 2
        

AX25 と Netrom, Rose プロトコルについては AX25-HOWTO に詳しく説明されています。これらのプロトコルはパケット通信の実験で世界 中のアマチュア無線のオペレータに使われています。

これらのプロトコルのほとんどは Jonathon Naylor jsn@cs.not.ac.uk が実装しました。

8.5 DECNet

DECNet のサポートも現在開発中です。将来の 2.1.* シリーズで公 開されるはずです。

8.6 FDDI

FDDI のデバイス名は `fddi0'、`fddi1'、 `fddi2' などになります。カーネルが検出した最初のカードが `fddi0' で、その後は検出した順に番号が振られていきます。

Larry Stefani lstefani@ultranet.com が DEC 製の EISA バスと PCI バスの FDDI カード用のドライバを開発しました。

カーネルのコンパイルオプション:

        Network device support  --->
            [*] FDDI driver support
            [*] Digital DEFEA and DEFPA adapter support
        

FDDI ドライバを組み込んだカーネルを構築すれば、FDDI インターフェイス の設定はイーサネットインターフェイスの設定とほぼ同じです。適切な FDDI インターフェイスの名称を指定して ifconfigroute コマンドで設定します。

8.7 フレームリレー

フレームリレーのデバイス名のうち、DLCI にカプセル化するデバイス名は `dlci00', `dlci01' 等になり、FRAD のデバイス名は `sdla0', `sdla1 等になります。

フレームリレーは新しいネットワーク技術で、「突発的」に膨大なデータ転送 が起こるような種類の通信向けに設計されています。フレームリレーネッ トワークに接続するにはフレームリレー・アクセス・デバイス(FRAD : Frame Relay Access Device)を使います。Linux では RFC-1490 に定義されている、 フレームリレー上に IP 接続を乗せる機能がサポートされています。

カーネルのコンパイルオプション:

        Network device support  --->
            <*> Frame relay DLCI support (EXPERIMENTAL)
            (24)   Max open DLCI
            (8)   Max DLCI per device
            <*>   SDLA (Sangoma S502/S508) support
        

フレームリレー対応と設定用ツールは Mike McLagan mike.mclagan@linux.org が開発しました。

現在サポートされている FRAD は Sangoma Technologies 製の S502A, S502E, S508 だけです。

カーネルに必要な機能を組み込んで再構築した後、 FRAD と DLCI デバイスを設定 するには、フレームリレー設定用プログラムが必要になります。これらは ftp.invlogic.com から入手できます。このプログラムをコンパイルしてインストールするのは簡 単ですが、大元の Makefile が無いために手動でやる作業がかなりあります。

        user% tar xvfz .../frad-0.15.tgz
        user% cd frad-0.15
        user% for i in common dlci frad; make -C $i clean; make -C $i; done
        root# mkdir /etc/frad
        root# install -m 644 -o root -g root bin/*.sfm /etc/frad
        root# install -m 700 -o root -g root frad/fradcfg /sbin
        rppt# install -m 700 -o root -g root dlci/dlcicfg /sbin
        

上記のコマンドは sh の記法を使っているので注意してください。 sh 系でなく csh 系のシェル(tcsh 等)を使っている場合は、 for ループの書き方が異なります。

必要なファイルをインストールした後、/etc/frad/router.conf ファイルを作る必要があります。以下に、例として付いてきたファイルを多少 修正したものを雛型として紹介します。

# /etc/frad/router.conf
# This is a template configuration for frame relay.
# All tags are included. The default values are based on the code
# supplied with the DOS drivers for the Sangoma S502A card.
#
# A '#' anywhere in a line constitutes a comment
# Blanks are ignored (you can indent with tabs too)
# Unknown [] entries and unknown keys are ignored
#

[Devices]
Count=1                 # number of devices to configure
Dev_1=sdla0             # the name of a device
#Dev_2=sdla1            # the name of a device

# Specified here, these are applied to all devices and can be overridden for 
# each individual board.
#
Access=CPE
Clock=Internal
KBaud=64
Flags=TX
#
# MTU=1500              # Maximum transmit IFrame length, default is 4096
# T391=10               # T391 value    5 - 30, default is 10
# T392=15               # T392 value    5 - 30, default is 15
# N391=6                # N391 value    1 - 255, default is 6
# N392=3                # N392 value    1 - 10, default is 3
# N393=4                # N393 value    1 - 10, default is 4

# Specified here, these set the defaults for all boards
# CIRfwd=16             # CIR forward   1 - 64
# Bc_fwd=16             # Bc forward    1 - 512 
# Be_fwd=0              # Be forward    0 - 511
# CIRbak=16             # CIR backward  1 - 64
# Bc_bak=16             # Bc backward   1 - 512
# Be_bak=0              # Be backward   0 - 511


#
#
# Device specific configuration
#
#

#
# The first device is a Sangoma S502E
#
[sdla0]
Type=Sangoma            # Type of the device to configure, currently only 
                        # SANGOMA is recognized
#
# These keys are specific to the 'Sangoma' type
#
# The type of Sangoma board - S502A, S502E, S508
Board=S502E
#
# The name of the test firmware for the Sangoma board
# Testware=/usr/src/frad-0.10/bin/sdla_tst.502
#
# The name of the FR firmware
# Firmware=/usr/src/frad-0.10/bin/frm_rel.502
#
Port=360                # Port for this particular card
Mem=C8                  # Address of memory window, A0-EE, depending on card
IRQ=5                   # IRQ number, do not supply for S502A
DLCIs=1                 # Number of DLCI's attached to this device
DLCI_1=16               # DLCI #1's number, 16 - 991
# DLCI_2=17
# DLCI_3=18
# DLCI_4=19
# DLCI_5=20
#
# Specified here, these apply to this device only, 
# and override defaults from above
#
# Access=CPE            # CPE or NODE, default is CPE 
# Flags=TXIgnore,RXIgnore,BufferFrames,DropAborted,Stats,MCI,AutoDLCI
# Clock=Internal        # External or Internal, default is Internal
# Baud=128              # Specified baud rate of attached CSU/DSU
# MTU=2048              # Maximum transmit IFrame length, default is 4096
# T391=10               # T391 value    5 - 30, default is 10
# T392=15               # T392 value    5 - 30, default is 15
# N391=6                # N391 value    1 - 255, default is 6
# N392=3                # N392 value    1 - 10, default is 3
# N393=4                # N393 value    1 - 10, default is 4

#
# The second device is some other card
#
# [sdla1]
# Type=FancyCard        # Type of the device to configure.
# Board=                # Type of Sangoma board
# Key=Value             # values specific to this type of device


#
# DLCI Default configuration parameters
# These may be overridden in the DLCI specific configurations
#
CIRfwd=64               # CIR forward   1 - 64
# Bc_fwd=16             # Bc forward    1 - 512 
# Be_fwd=0              # Be forward    0 - 511
# CIRbak=16             # CIR backward  1 - 64
# Bc_bak=16             # Bc backward   1 - 512
# Be_bak=0              # Be backward   0 - 511

#
# DLCI Configuration
# These are all optional. The naming convention is
# [DLCI_D<devicenum>_<DLCI_Num>]
#

[DLCI_D1_16]
# IP=
# Net=
# Mask=
# Flags defined by Sangoma: TXIgnore,RXIgnore,BufferFrames
# DLCIFlags=TXIgnore,RXIgnore,BufferFrames
# CIRfwd=64
# Bc_fwd=512
# Be_fwd=0
# CIRbak=64
# Bc_bak=512
# Be_bak=0

[DLCI_D2_16]
# IP=
# Net=
# Mask=
# Flags defined by Sangoma: TXIgnore,RXIgnore,BufferFrames
# DLCIFlags=TXIgnore,RXIgnore,BufferFrames
# CIRfwd=16
# Bc_fwd=16
# Be_fwd=0
# CIRbak=16
# Bc_bak=16
# Be_bak=0

/etc/frad/router.conf ファイルが設定できれば、残る作業は実 際のデバイスを設定するだけです。これは通常のネットワークデバイスの設定 よりも少し複雑なだけですが、DLCI カプセル化デバイス以前に FRAD デバイ スを設定することをお忘れなく。これらのコマンドは数が多いので、 シェルスクリプトにしておくのがよいでしょう:

        #!/bin/sh
        # Configure the frad hardware and the DLCI parameters
        /sbin/fradcfg /etc/frad/router.conf || exit 1
        /sbin/dlcicfg file /etc/frad/router.conf
        #
        # Bring up the FRAD device
        ifconfig sdla0 up
        #
        # Configure the DLCI encapsulation interfaces and routing
        ifconfig dlci00 192.168.10.1 pointopoint 192.168.10.2 up
        route add -net 192.168.10.0 netmask 255.255.255.0 dlci00
        #
        ifconfig dlci01 192.168.11.1 pointopoint 192.168.11.2 up
        route add -net 192.168.11.0 netmask 255.255.255.0 dlci00
        #
        route add default dev dlci00
        #
        

8.8 IPX (AF_IPX)

IPX プロトコルは Novell の NetWare(tm) LAN 環境で広く使われているプロ トコルです。Linux はこのプロトコルもサポートしており、ネットワークの端 末としても、IPX のルータとしても機能します。

カーネルのコンパイルオプション:

        Networking options  --->
            [*] The IPX protocol
            [ ] Full internal IPX network
        

IPX プロトコルと NCPFS については IPX-HOWTO で詳しく説明されています。

8.9 NetRom (AF_NETROM)

NetRom のデバイス名は `nr0', `nr1' になります。

カーネルのコンパイルオプション:

        Networking options  --->
            [*] Amateur Radio AX.25 Level 2
            [*] Amateur Radio NET/ROM
        

AX25 と Netrom, Rose プロトコルについては AX25-HOWTO に詳しく説明されています。これらのプロトコルはパケット通信の実験で世界 中のアマチュア無線のオペレータに使われています。

これらのプロトコルのほとんどは Jonathon Naylor jsn@cs.not.ac.uk が実装しました。

8.10 Rose プロトコル (AF_ROSE)

2.1.* カーネルでは、Rose デバイスの名前は `rs0', rs1' などのようになります。Rose デバイスは 2.1.* カー ネルでないと使えません。

カーネルのコンパイルオプション:

        Networking options  --->
            [*] Amateur Radio AX.25 Level 2
            <*> Amateur Radio X.25 PLP (Rose)
        

AX25, Netrom, Rose の各プロトコルについては AX25-HOWTO に詳しく説明されています。これらのプロトコルはパケット通信の実験で世界 中のアマチュア無線のオペレータに使われています。

これらのプロトコルのほとんどは Jonathon Naylor jsn@cs.not.ac.uk が実装しました。

8.11 SAMBA - `NetBEUI', `NetBios', `CIFS' のサポート

SAMBA は Session Menagement Block プロトコルを実装したものです。Samba を使えば、Microsoft やその他のシステムから Linux のディスクをマウント したり、プリンタを使うことが可能になります。

SAMBA とその設定方法は SMB-HOWTO で詳しく解説されています。

8.12 STRIP (Starmode Radio IP) 機能

STRIP のデバイス名は `st0', `st1' になります。

カーネルのコンパイルオプション:

        Network device support  --->
                [*] Network device support
                ....
                [*] Radio network interfaces
                < > STRIP (Metricom starmode radio IP)
        

STRIP プロトコルはスタンフォード大学の MosquitoNet Project と呼ばれる研究プロジェクトが開発した、 Metricom 社の無線モデム用の プロトコルです。

Metricom 社の無線装置は、シリアルポートに接続し、スペクトル拡散法を使っ て 100Kbps での通信を可能にしています。Metricom の無線装置についての情 報については Metricom Web Server をご覧ください。

現在のところ、標準のネットワークツールやユーティリティは STRIP ドライ バをサポートしていないので、MosquitoNet の WWW サーバから必要な改造版 のツールをダウンロードする必要があります。どのソフトウェアが必要かにつ いては MosquitoNet STRIP Page を見てください。

設定方法を簡単に述べると、改造された slattach プログラムを使っ てシリアルの tty デバイスを STRIP 用に設定して、`st[0-9]' デ バイスをイーサネットのように設定します。ただし一つ重要な違いがあります。 これは STRIP では ARP プロトコルを技術的な理由から サポートして いないことで、サブネットのホストごとに ARP エントリを手動で設定してや る必要があります。でもこれはそれほど大変な仕事でないことが分るでしょう。

8.13 トークンリング

トークンリングのデバイス名は `tr0' や `tr1' のように なります。トークンリングは IBM の提案した LAN プロトコルで、同時に 1つ の LAN 上のノードしかデータの転送をしないようにして、通信のコリジョン (衝突)を防ぐようになっています。このために使われるのが「トークン」で、 この「トークン」がそれぞれのノードを順に回り、「トークン」を持ったノード のみがデータを送ることができます。データを送り終ればトークンを次のノード に送ります。このように、トークンが全てのノードを順に巡るので 「トークンリング」という名前になっています。

カーネルのコンパイルオプション:

        Network device support  --->
                [*] Network device support
                ....
                [*] Token Ring driver support
                < > IBM Tropic chipset based adaptor support
        

トークンリングの設定はネットワークデバイスの名称が異なるだけで イーサネットの場合と同じです。

8.14 X.25

X.25 は回路ベースのパケットスイッチングプロトコルで、C.C.I.T.T. (世界中の ほとんどの地域のテレコミュニケーション会社の標準規格を作る団体)が定義 しています。X.25 と LAPB プロトコルの実装は現在進行中で、最新の 2.1.* カーネルに進行中の作業が組み込まれています。

Linux における X.25 の実装については Jonathon Naylor jsn@cs.nott.ac.uk が開発のリーダーになっており、専用の メーリングリストもあります。メーリングリストに参加するには、 本文に "subscribe linux-x25" とだけ書いたメールを majordomo@vger.rutgers.edu 宛に送ってください。

設定用ツールも初期バージョンが Jonathon の ftp サイト ftp.cs.nott.ac.uk から入手できます。

8.15 WaveLan カード

Wavelan のデバイス名は `eth0', `eth1' のようになりま す。

カーネルのコンパイルオプション:

Network device support  --->
        [*] Network device support
        ....
        [*] Radio network interfaces
        ....
        <*> WaveLAN support

WaveLAN カードはスペクトラム拡散法(spread spectrum)を使った無線 LAN カー ドで、カードそのものはイーサネットと同じように扱え、イーサネットカード と同じ方法で設定できます。

WaveLAN カードについての情報は Wavelan.com から入手できます。


次のページ 前のページ 目次へ