Home -- Michael's Blog :: Just Do IT -- Manuals

24.9. 平行线IP(PLIP)

PLIP允许我们在两个平行的端口间运行TCP/IP。这会在没有网卡的机子里有用,或安装在膝上电脑上。这部分,我们将讨论:

24.9.1. 建立平行的线缆。

你可以在许多计算机供应店里买到平行线缆。如果不行或你想知道怎么做线,下面的表格就显示了如何利用普通的打印机平行线做一根:

表格 24-1. 为网络配平行线

A-name A端 B端 描述 Post/Bit

DATA0 -ERROR

2 15

15 2

数据

0/0x01 1/0x08

DATA1 +SLCT

3 13

13 3

数据

0/0x02 1/0x10

DATA2 +PE

4 12

12 4

数据

0/0x04 1/0x20

DATA3 -ACK

5 10

10 5

脉冲(Strobe)

0/0x08 1/0x40

DATA4 BUSY

6 11

11 6

数据

0/0x10 1/0x80

GND 18-25 18-25 GND -

24.9.2. 设置PLIP

首先,你需要一根laplink线。然后,确认两台计算机的内核都有对lpt(4)驱动程序的支持:

# grep lp /var/run/dmesg.boot lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port

平行端口必须是一个中断驱动的端口,在FreeBSD 4.X里,你的内核配置文件应该有一行和下面的差不多:

device ppc0 at isa? irq 7

在FreeBSD 5.X里,文件/boot/device.hints应该包括下面几行:

hint.ppc.0.at="isa" hint.ppc.0.irq="7"

然后,检查看内核配置文件里是否有device plip行或是否装载了plip.ko内核模块。两种情况下,在你直接使用ifconfig(8)命令时,应该有平行的网络接口显示。在FreeBSD 4.X里,就象这样:

# ifconfig lp0 lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500

而对于FreeBSD 5.X:应该是:

# ifconfig plip0 plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500

注: 用于平行接口的设备名在FreeBSD 4.X (lpX) 和 FreeBSD 5.X (plipX)是不相同的。

插入laplink线到两台计算机的平行接口里。

在两边以root身份配置网络接口参数。例如,如果你想让运行着FreeBSD 4.X的主机host1连接到运行着FreeBSD 5.X的主机host2

                 host1 <-----> host2 IP Address    10.0.0.1      10.0.0.2

配置host1上的网络接口,照此做:

# ifconfig lp0 10.0.0.1 10.0.0.2

配置host2上的网络接口,照此做:

# ifconfig plip0 10.0.0.2 10.0.0.1

你现在应该有个工作的连接了。想要更详细的信息,请阅读lp(4)lpt(4)手册页。

你还应该增加两个主机到/etc/hosts

127.0.0.1               localhost.my.domain localhost 10.0.0.1                host1.my.domain host1 10.0.0.2                host2.my.domain

要确认连接是否工作,可以到每一台机子上,然后ping另外一台。例如,在host1上:

# ifconfig lp0 lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 # netstat -r Routing tables

Internet: Destination        Gateway          Flags     Refs     Use      Netif Expire host2              host1              UH          0       0       lp0 # ping -c 4 host2 PING host2 (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms 64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms 64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms 64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms

--- host2 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
Michael's Blog :: Just Do IT -- manuals