다음 이전 차례

8. 다른 네트웍 기술들

아래 부분들은 특정 네트웍 기술에 관한 내용이다. 각 부분들에 담긴 내용들이 다른 네트웍 기술에 적용될 필요는 없다. 기술의 알파벳 순서대로 기술되어 있다.

8.1 ARCNet

ARCNet 장치 이름은 `arc0e', `arc1e', `arc2e' 등이거나 `arc0s', `arc1s', `arc2s' 등이다. 커널이 처음으로 발견하는 카드가 `arc0e'나 `arc0s'를 배정받고 나머지는 발견되는 순서대로 배정된다. 이름 끝의 문자는 이더넷 캡슐화 패킷 형식과 RFC1051 패킷 형식 중 어느 것을 선택했는 지를 나타낸다.

Kernel Compile Options:

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

이더넷 카드를 지원하도록 커널을 알맞게 만들었다면 카드의 설정은 쉽다.

보통 해야할 일은 아래와 같다:

        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에 의해 개발되었다.

8.2 Appletalk (AF_APPLETALK)

Appletalk 지원은 이미 있는 네트웍 장치를 사용하므로 특별한 장치 이름을 갖지 않는다.

Kernel Compile Options:

        Networking options  --->
            <*> Appletalk DDP
        

Appletalk 지원은 리눅스 머신이 애플 네트웍과 통신할 수 있도록 해준다. 이것은 애플 컴퓨터와 리눅스 간에 프린터와 디스크 같은 자원을 공유하려할 때 매우 중요하다. nettalk라는 추가적인 소프트웨어도 필요하다. Wesley Craig netatalk@umich.edu는 미시간 대학에 `Research Systems Unix Group'이라는 팀을 만들었고 그 팀이 Appletalk 프로토콜 스택을 구현하는 소프트웨어와 몇 가지 유용한 유틸리티들을 제공하는 nettalk 패키지를 만들었다. nettalk 패키지는 여러분의 리눅스 배포본에 들어 있거나 홈 사이트인 University of Michigan에서 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이다. 기본적으로 이 파일은 애플 머신들이 있는 네트웍을 지원할 네트웍 장치의 이름을 가지는 한 줄만 있으면 된다.

  eth0
  

Appletalk 데몬 프로그램은 실행된 후에 나머지 자세한 사항을 추가할 것이다.

Appletalk을 통해 리눅스 파일 시스텝 노출시키기.

네트웍상의 애플 머신들이 공유할 수 있도록 리눅스 머신의 파일 시스템을 네트웍 상에 노출시킬 수도 있다.

이를 위해선 /usr/local/atalk/etc/AppleVolumes.system 파일을 설정해야 한다. /usr/local/atalk/etc/AppleVolumes.default라는 다른 설정 파일도 있는데 이는 똑같은 형식을 가지면서 guest 권한으로 들어오는 사용자들에게 어떤 파일 시스텝을 보여줄 것인가를 지정한다.

이 파일들의 설정 방법과 다양한 옵션들에 대한 자세한 사항은 afpd man 페이지에서 찾을 수 있다.

아래는 간단한 예제이다:

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

이 예제는 /tmp 파일 시스텝을 `Scratch'라는 AppleShare Volume으로 노출시키고 ftp의 public 디렉토리를 `Public Area'라는 AppleShare Volume으로 노출시킨다. 이 volume 이름은 필수 사항이 아니며 데몬이 임의로 선택해 줄 것이나 이렇게 지정하는 것이 문제되진 않는다.

Appletalk을 통해 리눅스의 프린터 공유하기.

여러분은 리눅스의 프린터를 애플 머신들과 매우 쉽게 공유할 수 있다. Appletalk Printer Access Protocol 데몬인 papd 프로그램을 실행시켜 주기만 하면 된다. 이 프로그램을 실행하면 이 프로그램은 애플 머신들로부터 요청을 받아서 프린트 작업을 리눅스의 프린터 데몬에게 보낸다.

이 데몬을 설정하려면 /usr/local/atalk/etc/papd.conf 파일을 고쳐야 한다. 이 파일의 문법은 일반적인 /etc/printcap 파일과 동일하다. 정의에 주는 이름은 Appletalk 명명 프로토콜인 NBP를 통해 등록된다.

간단한 설정 예제가 아래에 있다:

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

위의 예제는 `TricWriter'라는 이름의 프린터를 Appletalk 네트웍 상에 공유시키고 들어오는 모든 작업을 lpd을 사용해서 리눅스 프린터 `lp' (/etc/printcap 파일에 정의된 것 처럼) 로 인쇄된다. `op=cg'라는 엔트리는 `cg'라는 리눅스 사용자가 프린터의 관리자라는 것을 나타낸다.

Appletalk 소프트웨어 시작하기.

이제 여러분은 기본적인 설정을 시험해 볼 수 있다. 잘 작동할 rc.atalk 파일이 nettalk 패키지 안에서 제공되며 여러분은 다음과 같이 해볼 수 있다:

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

제대로 작동한다면 아무런 에러 메시지 없이 시작되는 각 스테이지를 나타내는 메시지를 콘솔에 뿌려줄 것이다.

Appletalk 소프트웨어 테스트하기.

소프트웨어가 제대로 작동하는지 테스트하기 위해선 애플 머신으로 가서 Apple 메뉴의 Chooser를 선택한 후 AppleShare를 클릭한다. 여기에서 리눅스 박스가 나와야 한다.

Appletalk 소프트웨어 사용시 주의사항.

추가 정보

리눅스에서 Appletalk를 설정하는 방법에 대한 자세한 설명은 thehamptons.com에 있는 Anders Brownworth의 Linux Nettalk-HOWTO 페이지를 참고하라.

8.3 ATM

Werner Almesberger <werner.almesberger@lrc.di.epfl.ch>는 리눅스에서 비동기 전송 모드 (Asynchronous Transfer Mode) 지원을 하기 위한 프로젝트를 관리하고 있다. 이 프로젝트의 현 상황에 대한 정보는 lrcwww.epfl.ch에서 얻을 수 있다.

8.4 AX25 (AF_AX25)

AX.25 장치의 이름은 2.0.* 커널에서는 `sl0', `sl1' 등이고 2.1.* 커널에서는 `ax0', `ax1' 등이다.

Kernel Compile Options:

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

AX25와 Netrom, Rose 프로토콜들은 AX25-HOWTO 에서 다루어진다. 이 프로토콜들은 아마추어 라디오 사용자들에 의해서 패킷 라디오 실험에서 널리 사용된다.

이 프로토콜 구현의 대부분의 일은 Jonathon Naylor, jsn@cs.nott.ac.uk가 했다.

8.5 DECNet

DECNet에 대한 지원은 현재 진행중이며 2.1.* 커널의 후반부에 가능하리라 예상된다.

8.6 FDDI

FDDI 장치 이름은 `fddi0', `fddi1', `fddi2' 등이다. 커널이 처음 발견하는 카드에 `fddi0'을 부여하고 나머지는 발견되는 순서대로 이름을 할당 받는다.

Larry Stefani, lstefani@ultranet.com, 가 Digital Equipment의 FDDI EISA와 PCI 카드용 드라이버를 만들었다.

Kernel Compile Options:

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

커널을 FDDI 드라이버를 지원하도록 만들어 설치했다면 FDDI 인터페이스의 설정은 이더넷 인터페이스와 동일하다. ifconfigroute 명령에서 알맞은 FDDI 인터페이스 이름을 지정해 주기만 하면 된다.

8.7 프래임 릴레이

프래임 릴레이 장치 이름은 DLCI 캡슐화 장치인 경우는 `dlci00', `dlci01' 등으로, FRAD(s)인 경우는 `sdla0', `sdla1' 등으로 붙여진다.

프래임 릴레이는 자료의 이동이 폭발적이면서 간헐적인 경우를 위해 설계된 새로운 네트워킹 기술이다. 프래임 릴레이 억세스 장치 (FRAD: Frame Relay Access Device) 를 이용하여 프레임 릴래이 네트웍에 접속할 수 있다. 리눅스의 프레임 릴래이는 RFC-1490에 나온 대로 프레임 릴래이 위에서 IP를 지원한다.

Kernel Compile Options:

        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 TechnologiesS502A, S502E and 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의 문법을 사용한다는 것을 주의하라. 만약 tcsh 같은 csh 계열을 사용한다면 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 캡슐화 장치보다 먼저 가동해야 한다는 것을 명심해야 한다. 명령들의 수가 많으므로 쉘 스크립트 안에 넣어두는 것이 좋다.

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

IPC 프로토콜은 Novell NetWare(tm)의 직역 네트웍 호나경에서 가장 많이 쓰인다. 리눅스는 이 프로토콜을 지원하고 있으며 IPX용 라우터나 네트웍의 한 단말로 작동하도록 설정할 수 있다.

Kernel Compile Options:

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

IPX 프로토콜과 NCPFS는 IPX-HOWTO 에서 더욱 자세히 다루어진다.

8.9 NetRom (AF_NETROM)

NetRom 장치의 이름은 `nr0', `nr1' 등이다.

Kernel Compile Options:

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

AX25와 Netrom, Rose 프로토콜들은 AX25-HOWTO에서 다루어진다. 이 프로토콜들은 아마추어 라디오 사용자들에 의해서 패킷 라디오 실험에서 널리 사용된다.

이 프로토콜들의 구현의 대부분은 Jonathon Naylor, jsn@cs.nott.ac.uk에 의해 이루어졌다.

8.10 Rose protocol (AF_ROSE)

Rose 장치 이름은 커널 2.1.*에서 `rs0', `rs1' 등이다. Rose는 커널 2.1.*에서 지원된다.

Kernel Compile Options:

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

AX25와 Netrom, Rose 프로토콜들은 AX25-HOWTO에서 다루어진다. 이 프로토콜들은 아마추어 라디오 사용자들에 의해서 패킷 라디오 실험에서 널리 사용된다.

이 프로토콜들의 구현의 대부분은 Jonathon Naylor, jsn@cs.nott.ac.uk에 의해 이루어졌다.

8.11 SAMBA - `NetBEUI', `NetBios', `CIFS' 의 지원.

SAMBA는 Session Management Block 프로토콜을 구현한 것이다. Samba는 Microsoft와 다른 시스텝들이 여러분의 디스크와 프린터를 마운트할 수 있게 해준다.

SAMBA와 그 설정은 SMB-HOWTO에서 자세히 다루어진다.

8.12 STRIP 지원 (Starmode Radio IP)

STRIP 장치 이름은 `st0', `st1' 등이다.

Kernel Compile Options:

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

STRIP은 MosquitoNet Project라 불리는 Stanford의 연구 프로젝트 용으로 설계된 일련의 Metricom 라디오 모뎀용 프로토콜이다. 이 프로젝트에 직접적인 관심이 없을 지라도 이와 관련해선 흥미있는 읽을 거리가 많다.

Metricom 라디오들은 직렬 장치에 연결되어 spread spectrum 기술을 사용하며 보통 약 100kbps의 속도를 낼 수 있다. Metricom 라디오에 대한 정보는 Metricom Web Server에서 볼 수 있다.

현재 Stanford의 네트웍 툴과 유틸리티들은 STRIP 드라이버를 지원하지 않으며 여러분은 MosquitoNet 웹 서버에서 특화된 툴들을 받아야 한다. 여러분에게 어떤 소프트웨어가 필요한지에 대한 자세한 사항은 MosquitoNet STRIP Page에 나와있다.

대략적인 설정은 slattach 프로그램을 수정하여 직렬 tty 장치를 STRIP과 작동하도록 만든 후 그 `st[0-9]' 장치를 이더넷 장치에서와 같이 한다. 여기에 한 가지 예외사항이 있는데, 기술정인 문제로 STRIP은 ARP 프로토콜을 지원하지 않으므로 서브넷 상의 각 호스트들에 대한 ARP 엔트리는 직접 수작업으로 설정해 줘야 한다. 이것이 그렇게 귀찮은 일은 아닐 것이다.

8.13 Token Ring

Token ring 장치 이름은 `tr0', `tr1' 등이다. Toekn Ring은 한 번에 LAN 상의 한 스테이션(호스트)에게만 자료를 전송할 수 있는 권리를 줌으로써 패킷 충돌을 방지하는, IBM의 표준 LAN 프로토콜이다. `token'은 한 순간에 한 스테이션에게만 배정된다. 그 스테이션이 자신의 자료를 전송한 후 token을 다음 스테이션에게 넘긴다. token은 작동하는 모든 스테이션들을 돌게 되며 따라서 이름이 `Token Ring'이다.

Kernel Compile Options:

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

token ring의 설정은 네트웍 장치의 이름이 다른 것을 제외하곤 이더넷 설정과 동일하다.

8.14 X.25

X.25는 C.C.I.T.T. (전 세계의 전화 통신 회사들로 구성된 표준 제정 위원회)에 의해 정의된 써킷 기반의 패킷 스위칭 프로토콜이다. X.25와 LAPB에 대한 구현이 진행중이며 최신의 2.1.* 커널은 이 일을 포함하고 있다.

Jonathon Naylor jsn@cs.nott.ac.uk 가 이 개발을 주도하고 있으며 리눅스의 X.25 관련 문제들을 토의하기 위한 메일링 리스트가 만들어졌다. 이 리스트에 가입하려면 majordomo@vger.rutgers.edu로 "subscribe linux-x25"란 내용의 메일을 보내면 된다.

설정 툴들의 초기 버젼은 Jonathon의 ftp 사이트인 ftp.cs.nott.ac.uk에서 구할 수 있다.

8.15 WaveLan Card

Wavelan 장치 이름은 `eth0', `eth1' 등이다.

커널 컴파일 옵션:

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

WaveLAN 카드는 spread spectrum 무선 랜카드이다. 실제로 이 카드는 이더넷 카드와 매우 닮았으며 거의 같은 방식으로 설정된다.

Wavelan.com에서 Wavelan 카드에 대한 정보를 구할 수 있다.


다음 이전 차례