PPP协议全面分析

来源:互联网 发布:喷涂往复机怎么编程 编辑:程序博客网 时间:2024/06/05 10:40
什么是PPP协议?用于何种信道的链路层控制?PPP的工作原理。
   PPP即用户计算机和ISP进行通信时所使用的数据链路层协议。用于点对点信道。
   工作原理:
     1)当用户拨号接入ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
     2)PC 机向路由器发送一系列的LCP 分组(封装成多个 PPP 帧)。
     3)这些分组及其响应选择一些PPP 参数,进行接入鉴别和进行网络层配置,NCP 给新接入的PC机分配一个临时的 IP 地址,使PC 机成为因特网上的一个主机。
     4)通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。


数据链路层使用的信道分类?(点对点信道和广播信道。)

PPP协议包含两个协议:网络控制协议NCP和链路控制协议LCP。LCP用于和底层进行协商,然后进行链路层的认证。接下来进行NCP的协商,建立和配置网络层协议如IP地址等,用于和三层进行协商将上层数据包封装进PPP里面。两个协议的协商都是双向的。链路拆除时先拆除NCP,再拆除LCP。

LCP链路控制协议(Link Control Protocol)赋予PPP以多功能性,考虑到包格式、包大小和认证的协商。它还使PPP具有确定何时线路为失败、何时正常运行的功能。 LCP用于配置和测试数据链路,工作方式如下:

第1步 链路建立阶段―――首先打开连接,然后确定相关通信参数(包括MTU、compress type、及链路认证类型。链路设置完后确认帧,然后是可选的链路质量确认阶段,LCP确定链路质量

第2步 可选(必要)的认证阶段―――两种认证方式:质询应答握手认证协议(CHAP)和密码认证协议(PAP)。PPP本身不需要认证,cisco路由器异步线路需要认证,建议使用CHAP认证方式。

第3步 网络层协议阶段―――LCP引导NCP激活和配置网络层协议。这一阶段结束后即可传输数据包。

第4步 链路终止阶段―――LCP指导NCP关闭layer 3。

具体的LCP数据包请看:http://www.doc88.com/p-274608838149.html

PPP链路建立的五个阶段

为了通过点对点链路建立通信,PPP链路的每一端,必须首先发送LCP包以便设定和测试数据链路。在链路建立之后,点对点连接才可以被认证。然后,PPP必须发送NCP包以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据报就能在连路上发送了。链路将保持通信设定不变,直到外部的LCP和NCP关闭链路,或者是发生一些外部事件的时候(休止状态的定时器期满或者网络管理员干涉)。总的来说,PPP链路的连接需要经过以下五个阶段。

  (1)PPP链路建立准备阶段

  为了在点到点连接中建立通信,PPP连接的每一端都必须首先发送LCP数据包来配置和测试数据连接。在连接建立后,对等实体还有可能需要认证。然后,PPP协议必须发送NCP数据包来选择一种或多种网络层协议来配置。一旦被选中的网络层协议被配置好后,该网络层的数据报就可以在链路上传送了。

  链路将保持可配置的状态直到有LCP数据包和NCP数据包终止连接,或者由其他外部事件发生时(例如非活动时钟计时已满或网络管理人员的干涉)。一个连接的开始和结束都要经历此阶段。当一个外部事件(例如检测到载波或网管理人员配置)指示物理层已准备好并可以使用时,PPP协议将进入建立连接阶段。

  在此阶段,LCP协议自动处在初始或正在开始状态。当进入到建立连接阶段后会引发上传事件,通知LCP协议自动机。在这个阶段应用注意事项是典型的,一个连接将在调制解调器连接断开后自动返回到此阶段。在使用电话线的连接情况下,这个阶段将相当的短,短到很少有足够的时间能用仪器检测到它的存在。

  (2)链路建立阶段

  LCP通过交换配置数据包建立连接。一旦一个配置成功信息包(Configure-Ack packet)被发送且被接收,就完成了交换,进入了LCP开启状态。当LCP协议自动进入已打开状态,并且发送和接收过配置确认数据包时,为建立连接的交换过程才完成。所有的配置选项都被假定为缺省值,除非在配置交互的过程中改变。只有与特定网络层协议无关的选项才能被LCP协议配置。配置单独的网络层协议是在网络层协议阶段由相应的网络控制协议来配置的。

  在此阶段接收到的任何非LCP数据包将被丢弃。接收到LCP配置请求数据包将引起PPP连接从网络层协议阶段或认证阶段返回到建立连接阶段。

  (3)认证阶段

  在某些连接时,在允许网络层协议数据包交换之前希望对对等实体进行认证(缺省时认证不是必要的)。如果应用时希望对等实体使用某些认证协议进行认证,这种要求必须在建立连接阶段提出。

  认证阶段应该紧接在建立连接阶段后。然而,可能有连接质量的问题并行出现,应用时绝对不允许连接质量问题影响数据包的交换,使认证有不确定的延迟。认证阶段后的网络层协议阶段必须等到认证结束后才能开始。如果认证失败,将转而进入终止连接阶段。仅仅是连接控制协议、认证协议、连接质量监测的数据包才被允许在此阶段中出现。所有其他在此阶段中接收到的数据包都将被丢弃。在这个分阶段的应用注意事项有两个方面:① 应用时不能简单地因为超时或缺少回应就认为认证失败。应该允许重传,仅当试图认证的次数超过一定的限制时才进入终止连接阶段。② 如果对方拒绝认证,己方有权进入终止连接阶段。

  (4)网络层协议阶段

  一旦PPP协议完成了上述阶段,每一个网络层协议(例如IP协议、IPX协议、Appletalk)必须单独由相应的NCP配置。每一个网络控制协议可以随时打开或关闭。在此阶段应用同样需注意两个方面:因为可能一开始需要花费大量的连接时间来分析连接质量,所以当等待对方进行网络控制协议配置时应该避免使用固定的超时限制。当一个网络控制协议自动达到已打开的状态时,PPP连接后就可以传送相应的网络层协议数据包。当接收到的任何所支持的网络层协议数据包时,只要相应的网络控制协议状态自动状态未打开,都将作丢弃处理。只要LCP协议状态自动状态处于打开状态,任何接收到的不支持的协议数据包都将返回协议拒绝包(后面将提到)。所支持的协议数据包都将丢弃。在此阶段,连接上流通的包括LCP数据包、NCP数据包和网络层协议数据包。

  (5)链路终止阶段

  PPP连接可以随时终止,原因可能是载波丢失、认证失败、连接质量失败、超时计数器溢出,或者网络管理员关闭连接。

  LCP通过交换连接终止包来终止连接。当连接正在被终止的时候,PPP协议会通知网络层以便它采取相应的动作。在交换过终止请求包后,将通知物理层断开以便使连接真正终止,尤其是在认证失败的时候。发送连接终止请求包的一方应该等待接收到连接终止确认包之后或超时计数器计满之后再断开。收到连接终止确认包的一方应该等待对方首先断开,并且决不能断开直到至少有一个超时计时器在发送了终止连接确认包之后溢出。然后PPP协议应该进入连接死亡阶段,结束此次PPP通信。