其他网络技术

以下小节专门针对特殊的网络技术。其内容与其余类型的网络技术无必然联系。以下主题按字母顺序排列。

ARCNet

ARCNet 设备名类似 arc0earc1earc2e 等或者 arc0sarc1sarc2s 等。内核检测到的第一块插卡被赋予 arc0earc0s,其余按被检测到的次序依次命名。后者最终将指出您是否选择了以太网封装数据包格式(Ethernet encapsulation packet format)或称 RFC1051 数据包格式(RFC1051 packet format)。

内核编译选项

Network device support  --->
     [*] Network device support
     ARCnet devices --->
         <M> ARCnet support
         <M> Enable standard ARCNet packet format (RFC 1201)
         <M> Enable old ARCNet packet format (RFC 1051)
         <M> Enable raw mode packet interface
         <M> ARCnet COM90xx (normal) chipset driver
         <M> ARCnet COM90xx (IO mapped) chipset driver
         <M> ARCnet COM90xx (RIM I) chipset driver
         <M> ARCnet COM20020 chipset driver
         <M> Support for COM20020 on ISA
         <M> Support for COM20020 on PCI

一旦正确编译内核来支持 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 Pennarun,apenwarr@foxnet.net 研发。

Appletalk (AF_APPLETALK)

可使用现有网络设备或特殊接口来设置支持 Appletalk。

内核编译选项

Networking options  --->
     <M> Appletalk protocol support
     Appletalk devices --->
         [*] Appletalk interfaces support
         <M>   Apple/Farrallon LocalTalk PC support
         <M>   COPS LocalTalk PC support
         [*]     Dayna firmware support
         [*]     Tangent firmware support
         <M>   Appletalk-IP driver support
         [*]     IP to Appletalk-IP Encapsulation support
         [*]     Appletalk-IP to IP Decapsulation support

对 Appletalk 的支持使得 Linux 主机可同 Apple 网络交流。其中一项重要的作用就是可以让 Linux 和 Apple 计算机之间共享打印机和磁盘等资源。但这需要额外的软件-- netatalk。密歇根大学(University of Michigan)的 Wesley Craig 领导的 "Research Systems Unix Group"团队开发了 netatalk 软件包,而它则提供了实现 Appletalk 协议族的软件和其他有用的工具软件。netatalk 软件包可能随附在 Linux 发行版中,或者您也可以使用 ftp 从其站点密歇根大学(University of Michigan)下载。

该软件包应如下编译安装:

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

其中 VERSION 代表下载的 netatalk 软件包的版本号。

在运行 make 实际编译之前,您可能需要编辑 Makefile 文件。若想更改安装目录,可以更改 DESTDIR 变量的值。默认安装目录 /usr/local/atalk 是比较安全的。

配置 Appletalk 软件

若要让它正常工作,首先应确定在 /etc/services 文件中有相应的条目。需要的条目有:

rtmp        1/ddp        # 路由表维护协议
nbp        2/ddp        # 域名绑定协议
echo        4/ddp        # AppleTalk 回送协议
zip        6/ddp        # 区域信息协议

下一步应在 /usr/local/atalk/etc 目录(或您指定的其他安装目录)中建立 Appletalk 配置文件。

第一应建立 /usr/local/atalk/etc/atalkd.conf 文件。一开始,该文件仅需一行提供支持 Apple 主机所在网络的网络设备名:

eth0

运行后,Appletalk 守护程序会添加其他细节。

通过 Appletalk 输出 Linux 文件系统

可将 Linux 主机文件系统输出到网络上以便网络上的其他 Apple 主机能够共享。

要这样做的话您必须配置 /usr/local/atalk/etc/AppleVolumes.system 文件。另外有一个同一格式的配置文件 /usr/local/atalk/etc/AppleVolumes.default,它描述了使用 guest 权限连接的用户将会看到怎样的文件系统。

有关如何配置这些文件以及各个选项的说明请参见 afpd man page (afpd 手册页)afpd

例如:

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

将会以 AppleShare 卷标(AppleShare Volume) "Scratch" 输出文件系统 /tmp,并以 AppleShare 卷标 "Public Area" 输出 ftp 公共目录。卷标并非必需的,守护程序将会替你选择,不过指定了也没什么坏处。

跨 Appletalk 共享 Linux 打印机

您可以非常简单地同您的 Apple 主机共享 Linux 打印机。您需要运行 papd 程序,它是 Appletalk 打印机访问协议守护程序(Appletalk Printer Access Protocol Daemon)。当您运行这个程序之后,它将接受来自 Apple 主机的打印请求,并将其缓冲到本地打印守护程序的打印任务中。

要配置该守护程序,您需要编辑 /usr/local/atalk/etc/papd.conf 文件。该文件语法类似常用的 /etc/printcap 文件。在定义行给出的名称将会以 Appletalk 名称协议(Appletalk naming protocol) NBP 注册。

例如:

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

将会让 Appletalk 网络可以使用名为 "TricWriter" 的打印机。并且所有接收的打印作业将会由 CUPS 打印到 Linux 打印机 lp (该打印机的定义在 /etc/printcap 文件中)。op=cg 条目说明打印机的操作员是 cg (打印任务以该用户权限提交打印)。

开启 AppleTalk 软件

好,您现在应该准备好来测试基本配置了。netatalk 软件包随附一个 rc.atalk 文件,它应该工作正常。因此,您要做的只是:

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

然后,一切应该启动并正确运行。您不应看到任何错误信息。在它启动的每个阶段,该软件都会在控制台上显示提示信息。

测试 AppleTalk 软件

要测试软件是否工作正常,在任意一台 Apple 主机上打开 Apple 菜单(Apple menu),选择 Chooser,点击 AppleShare,这时,您的 Linux 主机应该出现在其中。

AppleTalk 软件注意事项

  1. 您可以在配置 IP 网络之前启动 Appletalk 支持。如果在启动 Appletalk 程序时有问题,或是在启动之后您的 IP 网络有问题,那么请在运行 /etc/rc.d/rc.inet1 文件之前启动 Appletalk 软件。

  2. afpd (Apple Filing Protocol Daemon -- Apple 文件协议守护程序)会严重弄乱您的硬盘。在挂载点下,它会建立许多名为 .AppleDesktop 的目录和名为 Network Trash Folder 的目录。同时,对您访问的每个目录,它将在其下创建一个 .AppleDouble 以便存储资源等。因此,在输出 / 之前请三思,过后您可能需要好一会儿来清理。

  3. 对 Mac 机,afpd 程序需要输入单纯文字密码。安全性可能成问题,因此在连入 Internet 的主机上运行该程序要小心。如果受到侵害,由您自己负责。

  4. 现有的诊断工具,例如 netstatifconfig 并不支持 Appletalk 。如果您需要的话,可以在 /proc/net/ 目录找到原始信息。

进一步信息

关于如何为 Linux 配置 Appletalk 的进一步信息请参见 Anders dot com 网站 Anders Brownworth 的 Linux Netatalk-HOWTO 网页。

ATM

Werner Almesberger (<werner.almesberger@lrc.di.epfl.ch>)主持一项以为 Linux 提供异步传输模式(Asynchronous Transfer Mode)支持为目标的项目。有关这一项目当前状况可在 ATM on Linux 网站获得。

DECNet

DECNet 的支持现已包括到当前稳定内核版本(2.4)中。在 Mandrakelinux 的努力下,从 2.2 版内核起它就可用了。

FDDI

FDDI 设备名类似 fddi0fddi1fddi2 等。内核检测到的第一块插卡被赋予 fddi0 的名称。其余按其被检测到的顺序命名。

Larry Stefani (lstefani@ultranet.com)为 Digital Equipment Corporation 公司的 EISA 和 PCI FDDI 插卡开发了驱动。

内核编译选项

Network device support  --->
     [*] FDDI driver support
     <M>   Digital DEFEA and DEFPA adapter support
     <M>   SysKonnect FDDI PCI support

如果您为支持 FDDI 而编译及安装了相关内核,那么对 FDDI 接口的配置同以太网接口的配置几乎一样。您仅需在 ifconfigroute 命令行中指定 FDDI 接口名称即可。

帧中继(Frame Relay)

帧中继(Frame Relay)设备中使用 DLCI 封装设备(DLCI encapsulation device)的设备名名类似 dlci00dlci01 等,而使用 RAD 的类似 sdla0sdla1 等。

帧中继是一项新技术,它被设计用来满足"突发的"或称间歇的数据通讯流量的情况。使用帧中继访问设备(Frame Relay Access Device -- FRAD)来连入帧中继网络。Linux 帧中继支持由 RFC-1490 说明的 IP 帧中继(IP over frame relay)。

内核编译选项

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

Mike McLagan (mike.mclagan@linux.org) 研发了对帧中继的支持及相应配置工具软件。

目前,被支持的 FRAD 设备仅有 Sangoma Technologies 公司的 S502AS502ES508 以及 Emerging Technologies 公司的相应产品。

在重新编译内核之后,需要帧中继配置工具软件来配置 FRAD 和 DLCI 设备。这些都可以在 Invlogic 网站找到。

编译及安装这些工具软件相当直截了当。但是,由于缺乏顶层的 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
root# install -m 700 -o root -g root dlci/dlcicfg /sbin

请注意,上述命令使用 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 文件,最后一步是配置实际的设备了。相比普通的网络设备配置,这要困难些。您需要记得首先启动FRAD设备,然后才是 DLCI 封装设备。最好将以下 shell 脚本按照它们的编号写到一个文件中去:

#!/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
#

IPX (AF_IPX)

IPX 协议通常在 Novell NetWare(tm)局域网环境中使用。Linux 包含对该协议的支持,而且可以被配置为网络终结点,或者是 IPX 路由。

内核编译选项

Networking options  --->
     <M> The IPX protocol
     [ ]   IPX: Full internal IPX network

有关 IPX 协议以及 NCPFS 的深入探讨请参见 Linux IPX-HOWTO

AX.25、NetRom (AF_NETROM) 和 Rose (AF_ROSE)

NetRom 设备名类似 nr0nr1 等。Rose 设备名类似 rs0rs1 等。

内核编译选项

Amateur Radio support  --->
     [*] Amateur Radio support
     --- Packet Radio protocols
     <M>   Amateur Radio AX.25 Level 2 protocol
     [*]     AX.25 DAMA Slave support
     <M>     Amateur Radio NET/ROM protocol
     <M>     Amateur Radio X.25 PLP (Rose)
     AX.25 network device drivers --->

有关 AX25、Netrom 和 Rose 协议请参见 AX25-HOWTO。这些协议由全世界业余无线电爱好者在分组无线电实验(packet radio experimentation)中使用。

这些协议的大部分实现由 Jonathon Naylor,jsn@cs.nott.ac.uk 完成

Samba - NetBEUI、NetBios、CIFS 支持

Samba 是会话管理块(Session Management Block)协议的实现 (SMB)。它允许 Windows 及其他系统挂载并使用 Linux 下的磁盘和打印机。

有关 Samba 机器配置的详情请参见 SMB-HOWTO

STRIP 支持 (Starmode Radio IP)

STRIP 设备名类似 st0st1 等。

内核编译选项

Network device support  --->
     Wireless LAN (non-hamradio) --->
         <M> STRIP (Metricom starmode radio IP)
         ...

STRIP 是一个专门为斯坦佛大学(Stanford University)的 MosquitoNet 项目(MosquitoNet Project)开发的使用 Metricom 无线电调制解调器(radio modem)阵列的协议。即使你对该项目没有直接的兴趣,也可以在这一方面找到许多相关的有趣的读物。

Metricom 无线电调制解调器连接到串行端口,通过使用频谱扩展技术(Spread Spectrum technology),它一般能达到 100kbps 的速率。有关 Metricom 无线电(Metricom radios)详情请参见 Metricom dot com 网站。

[Note]

Metricom 已经破产,但可能有另一家公司会购买该项技术并重新激活该站点。

目前,标准的网络工具不支持 STRIP 驱动器,因此,您不得不从 MosquitoNet 网络服务器下载定制的工具软件。相关软件详情请参见 MosquitoNet Software 网页

大致的配置过程是:先使用改编过的 slattach 程序将串行 tty 设备(serial tty device)的线路规则(line discipline)设置为 STRIP,接着像配置以太网那样配置生成的 st[0-9] 设备。其中有一个重要的例外:由于技术原因, STRIP 不支持 ARP 协议。因此您必须手动配置您所在子网每台主机的 ARP 项。这应该不太繁重。

令牌环网(Token Ring)

令牌环网(Token Ring)设备名类似 tr0tr1 等。令牌环网是 IBM 局域网协议标准,它通过一种在某一个特定时刻只允许局域网上一台特定的工作站有权传输的机制来避免冲突。在某一时刻,只有一台工作站拥有"令牌(token)",而那个唯一拥有令牌的工作站才有权进行传输。在它传输结束后,它会将令牌传给下一台工作站。令牌在所有活动的工作站间循环传递,而这就是"令牌环网"名称的由来。

内核编译选项

Network device support  --->
     [*] Network device support
     ....
     Token Ring devices --->
         [*] Token Ring driver support
         <M>   IBM Tropic chipset based adapter support
         <M>   IBM Olympic chipset PCI adapter support
         <M>   IBM Lanstreamer chipset PCI adapter support
         <M>   3Com 3C359 Token Link Velocity XL adapter support
         <M>   Generic TMS380 Token Ring ISA/PCI adapter support
         <M>     Generic TMS380 PCI support
         <M>     Generic TMS380 ISA support
         <M>     Madge Smart 16/4 PCI Mk2 support
         <M>   SMC ISA/MCA adapter support

除了设备名外,对令牌环网的配置与以太网相同。

X.25

X.25 是一项由 ITU-T(国际电信联盟电信标准部,一个被世界大部分电信公司承认的标准团体)制定的电路分组交换协议。对于 X.25 和 LAPB 的实现正在研发中,最近的内核(从 2.1.* 版起)包含正在进行的研发结果。

Jonathon Naylor <jsn@cs.nott.ac.uk> 正领导该项研发工作。同时,已建立了一个邮件列表来讨论 Linux 上 X.25-相关问题。若要订阅,请发送信体为 subscribe linux-x25 的邮件到 majordomo@vger.rutgers.edu

无线网络(WaveLan)插卡

无线网络(WaveLan)设备名类似 eth0eth1 等。

内核编译选项

Network device support  --->
     Wireless LAN (non-hamradio) --->
         <M> AT&T WaveLAN & DEC RoamAbout DS support
         <M> Aironet Arlan 655 & IC2200 DS support
         <M> Aironet 4500/4800 series adapters
     ....

无线网络(WaveLan)插卡是频谱扩展(Spread Spectrum)无线局域网插卡。实际上,该插卡看上去同以太网卡十分类似,并且配置方式也基本相同。

有关无线网络插卡的详情请参见 ORiNOCCO 网站。