PPP链路操作

【PPP链路操作】一、概述
为了通过点对点链路建立通信,PPP链路的每一端,必须首先发送LCPpackets以便设定和测试数据链路 。在链路建立之后,peer才可以被认证 。然后,PPP必须发送NCPpackets以便选择和设定一个或更多的网络层协议 。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的datagrams就能在连路上发送了 。链路将保持通信设定不变,直到外在的LCP和NCP关闭链路,或者是发生一些外部事件的时候(休止状态的定时器期满或者网络治理员干涉) 。
二、阶段划分框图
在设定、维持和终止点对点链路的过程里,PPP链路经过几个清楚的阶段,如框图所示 。这张图并没有给出所有的状态转换 。
三、链路死亡(物理连接不存在)
链路一定开始并结束于这个阶段 。当一个外部事件(例如载波侦听或网络治理员设定)指出物理层已经预备就绪时,PPP将进入链路建立阶段 。在这个阶段,LCP自动机器将处于初始状态,向链路建立阶段的转换将给LCP自动机器一个UP事件信号 。
执行记录:
典型的,在与调制解调器断开之后,链路将自动返回这一阶段 。在用硬件实现的链路里,这一阶段相当的短--仅够侦测设备的存在 。
四、链路建立阶段
LCP用于交换配置信息包(Configurepackets),建立连接 。一旦一个配置成功信息包(Configure-Ackpacket)被发送且被接收,就完成了交换,进入了LCP开启状态 。所有的配置选项都假定使用默认值,除非被配置交换所改变 。有一点要注重:只有不依靠于非凡的网络层协议的配置选项才倍LCP配置 。在网络层协议阶段,个别的网络层协议的配置由个别的网络控制协议(NCP)来处理 。在这个阶段接收的任何非LCPpackets必须被silentlydiscarded(静静的丢弃) 。收到LCPConfigure-Request(LCP配置要求)能使链路从网络层协议阶段或者认证阶段返回到链路建立阶段 。
五、认证阶段
在一些链路上,在答应网络层协议packets交换之前,链路的一端可能需要peer去认证它 。默认的,认证是不需要强制执行的 。假如一次执行希望peer根据某一特定的认证协议来认证,那么它必须在链路建立阶段要求使用那个认证协议 。应该尽可能在链路建立后立即进行认证 。而,链路质量检查可以同时发生 。在一次执行中,禁止因为交换链路质量检查packets而不确定地将认证向后推迟这一做法 。在认证完成之前,禁止从认证阶段前进到网络层协议阶段 。假如认证失败,认证者应该跃迁到链路终止阶段 。
在这一阶段里,只有链路控制协议、认证协议,和链路质量监视协议的packets是被答应的 。在该阶段里接收到的其他的packets必须被静静的丢弃 。
执行记录:
一次执行中,仅仅是因为超时或者没有应答就造成认证的失败是不应该的 。认证应该答应某种再传输,只有在若干次的认证尝试失败以后,不得已的时候,才进入链路终止阶段 。在执行中,哪一方拒绝了另一方的认证,哪一方就要负责开始链路终止阶段 。
六、网络层协议阶段
一旦PPP完成了前面的阶段,每一个网络层协议(例如IP,IPX,或AppleTalk)必须被适当的网络控制协议(NCP)分别设定 。每个NCP可以随时被打开和关闭 。
执行记录:
因为一次执行最初可能需要大力浪的时间用于链路质量检测,所以当等待peer设定NCP的时候,执行应该避免使用固定的timeouts 。当一个NCP处于Opened状态时,PPP将携带相应的网络层协议packets 。当相应的NCP不处于Opened状态时,任何接收到的被支持的网络层协议packets都将被静静的丢弃 。

推荐阅读