网络管理员指南 -8.点到点协议-2>打开PPP,运行PPPD

/ns/wz/net/data/20020808032421.htm

网络管理员指南 -8.点到点协议-2>打开PPP,运行PPPD


本文出自:http://www.linpus.com.tw 作者: Andrew Anderson


打开PPP

打开,PPP功能上被分成两部分,一个在核心中的低水平HDLC驱动和处理各种控制协议的用户空间
pppd daemon。当前发布的PPP版本是linux-ppp-1.0.0,,包括核心PPP模组,PPPD和一个用于拨叫
远程系统的称为聊天的程序。

PPP核心驱动由Michael Callahan撰写。PPPD源自一个免费为Sun 和 386BSD机器安装的PPP。它是
由Drew Perkins和其它人撰写的,并由Paul Mackerras保存。连接端口是Al Longyear。

正象SLIP一样,PPP使用一个特殊的线规则安装。为了使用一些连续的线作为一个PPP的连接,你首
先象往常一样通过你的modem建立一个连接,然后传换线到PP模式。在这个模式中,所有的输入数
据都要经过PPP驱动,它会检查输入的HDLC结构的有效性(每一个HDLC格式运载一个16-bit的检查和),
打开并分派它们。当前,可以处理PPP datagrams,随意使用Van-Jacobson标题压缩。当支持IPX的时候,
PPP驱动也将被扩展到处理IPX包。

核心驱动由pppd辅助,PPP daemon可以在通过连接发送,它执行所有的初始化和实际的网络交通之前
必须的授权阶段。PPPD的动作通过使用一系列的选择可能是调整好的。因为PPP非常复杂,不可能在一
个单独的章节中介绍它的所有的内容。因此这本书无法涵盖PPPD的所有方面,而只是给你一个介绍。
要想得到更多的信息最好找到手册页或者在PPPD发行来源中的READMEs。如果在阅读了这些材料之后你
的问题仍然存在,你需要newsgroup comp.protocols.ppp寻求帮助,在那里你可以找到大多数有关PPPD
发展的人。


--------------------------------------------------------------------------------

运行PPPD

当你想要通过一个PPP连接连接到Internet,你需要设置基础的网络能力如loopback设备和resolver。二
者都在前面的章节介绍过。关于通过一个连续的连接使用DNS还有一些问题,请在SLIP一章中查找有关它
的讨论。

作为一个有关如何使用PPPD建立一个PPP连接的介绍例子,我们仍然假设你是一个vlager。你已经拨号到
PPP服务器,c3po,并登录到PPP帐户。c3po已经启动它的PPP服务器。退出通信程序之后,你已经熟悉使用
拨号,你执行下面的命令:

# pppd /dev/cua3 38400 crtscts defaultroute
这将翻转连续的线从cua3到PPP模式并建立一个IP连接到c3po.串口上的传输速度将会是38400bps. Crtscts
选择轮到在端口上硬件的握手,它的速度必须完全在9600-bps以上。

启动后PPPD要做的第一件事就是使用LCP同远程终端讨论几个连接的特征。通常情况下,连接在讨论上的
PPPD选择的默认设置将会开始工作,因此,我们对此不进行深入介绍。我们在下面的部分中将回到LCP的
更为详细的内容。

开始的时候,我们仍然假设c3po不需要从我们这里要求任何的授权,所以配置阶段是完全成功的。

于是,PPPD将使用IPCP同它的同级讨论IP参量,也就是IP控制协议。因为我们在上面没有指定任何特定的
IP地址到PPPD,这将试着使用通过让resolver查找本地主机名而得到的地址。这两种方法都将会通报自己
的地址给对方。

通常情况,默认状态没有任何问题。即使你的机器在Ethernet上,你仍然可以使用同样的IP地址在Ethernet
和PPP的界面上。然而,PPPD也允许你使用一个不同的地址,甚至要求你使用一些特定的地址。这些选项会在
下面的部分中谈到。

在通过了IPCP 设置阶段之后,PPPD将准备你的主机网络层来使用PPP连接。它首先配置PPP网络界面为一个
点到点的连接,为第一个PPP活跃的连接使用ppp0,为第二个使用ppp1,依次类推。下面,它将会设置一个路
径表格入口,它在连接另外一端指定主机。在上面显示的例子中,PPPD将、设置默认的网络路径到c3po,因
为我们给它的是默认的选择。这导致所有的datagrams到所有的主机而不是在你的本地网络被发送到c3po.有
许多PPPD支持的不同的路径方案,我们将在下面的章节中详细介绍。