点对点协议

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012-5-28 2
PPP协商的例子
2012-5-28
3
PPP帧格式和拨号连接
2012-5-28
4
NCP
NCP也是多个协议的总称,由适用于IP的 IPCP及适用于IPX的IPXCP等协议规定。PPP 利用NCP协商第三层协议使用的选项和参数。 NCP支持对各种协议的处理及分组的压缩和 加密。例如当利用IP时,使用IPCP(The PPP Intemet Protocol Control Protocol:IP控制协 议,RFC 1332)进行IP头标压缩及IP地址的动 态分配。当IPCP正确执行后,在PPP上就能正 常进行IP通信。此外,在NCP中还对压缩整个 分组数据的CCP(The PPP Compression Control Protocol,RFCl962)进行协商。由下 图可见NCP中含有多个协议,PPP头标 =HDLC+协议代码。
2012-5-28 10
链路终止阶段
PPP可以在任意时间终止链路。引起链路终止的原因很多:载波 丢失、认证失败、链路质量失败、空闲周期定时器期满、或者管理员 关闭链路。 LCP用交换Terminate(终止)packets的方法终止链路。当链路正 被关闭时,PPP通知网络层协议,以便他们可以采取正确的行动。 交换Terminate(终止)packets之后,执行应该通知物理层断开, 以便强制链路终止,尤其当认证失败时。 Terminate-Request (终止-要求)的发送者,在收到Terminate-Ack(终止-允许)后,或 者在重启计数器期满后,应该断开连接。收到Terminate-Request的一 方,应该等待peer去切断,在发出Terminate-Request后,至少也要经 过一个Restart time(重启时间),才允许断开。PPP应该前进到链路 死亡阶段。 在该阶段收到的任何非LCP packets,必须被静静的丢弃。 执行笔记: LCP关闭链路就足够了,不需要每一个NCP发送一个Terminate packets。相反,一个NCP关闭却不足以引起PPP链路的终止,即使那 个NCP是当前唯一一个处于Opened状态的NCP。
数据
数据域是零或多个八位字节,由长度域声明。数 据域的格式由代码域决定。
2012-5-28
14
LCP分组的功能
Configure-Request 描述:一个执行想要打开一个连接必须传送一个 Configure-Request。选项域被填充任何想要的对链路 默认的改变。配置选项应该不被包括到默认值中。 Configure-Request的接收上,必须传送适当的答复。 Configure-Ack 描述:如果Configure-Request中收到的每一个配置选项 和全部的值都是能接受的,那么该执行必须传送一个 Configure-Ack。该确认配置选项必须不被任何途径的 重命令或更改。 Configure-Ack的接收中,标识符域必须匹配最后 传送的Configure-Request。另外,Configure-Ack中的 配置选项必须完全匹配最后传输的Configure-Request。 错误包被静静的丢弃。
2012-5-28 13
标识符
标识符域是一个八位字节,对匹配请求和回复中 有帮助。当带有无效标识符域的包被接收时候,该包 将不影响自动机制,被静静的丢弃。
长度
长度域是二个八位字节,指出LCP包的长度,包 括代码,标识符,长度和数据域。该长度必须不超过 链路的MRU。 长度域以外的字节被当作填料而忽略处理。当收 到带有无效标识符该包将不影响自动机制,被静静的 丢弃。
2012-5-28 11
LCP分组
LCP分组格式
LCP包有3类: 1.链路配置包,用于建立和配置链路(Configure-Request, Configure-Ack,Configure-Nak,和Configure-Reject)。 2.链路结束包被用于结束一个链路(Terminate-Request 和 Terminate-Ack) 3.链路维修包被用于管理和调试一个链路(Code-Reject, Protocol-Reject, Echo-Request, Echo-Reply, 和 Discard-Request)。 每个配置选项都指定缺省值。这就保证了这样的LCP包总 是可以识别的。确切的说1个LCP包被封装在PPP信息域中, 该PPP协议域表示类型为十六进制c021(链路控制协议)。
第九章 点对点协议
PPP概述
PPP是为在同等单元之间传输数据包这样的简单的链路 而设计的。 运行在高级数据链路控制协议之上,用于在串行通信链 路上封装网络层数据报。 这种链路提供全双工操作,并按照顺序传递数据包。 PPP支持面向比特/字节的同步传输或异步传输,可用 于交换式链路或拨号链路。 (人们)有意让PPP为基于各种主机、网桥和路由器的 简单连接提供一种共通的解决方案。
2012-5-28 16
Terminate-Request and Terminate-Ack 描述:LCP包含Terminate-Request 和 Terminate-Ack 代码是为了提供关闭一个连接的机制。 一个执行想要关闭一个连接应该传送一个 Terminate-Request。Terminate-Request包应该继 续发送,直到收到Terminate-Ack,低层显示已经关 闭了,或者已经接收到了充分大的数量,以致peer 有确切地理由关闭。 在一个Terminate-Request接收上,必须传送一 个Terminate-Ack。 Code-Reject 描述:一个带有未知代码的LCP包的接收显示peer由 一个不同的版本操作。这必须传送一个Code-Reject 报告回给未知代码的发送方。 一个基本的该版本协议的Code-Reject的接收中, 执行应该报告问题并结束连接,既使该情形不像能 被自动矫正。
2012-5-28 17
Protocol-Reject 描述:一个带有未知协议域的PPP包的接收显示peer试 图使用一个不支持的协议。这通常发生在peer试图配 置一个新的协议时。如果LCP自动处理处于Opened (打开)状态,那么必须通过传送一个ProtocolReject报告回该peer。 在Protocol-Reject接收中,执行必须及早停止发 送被指出的协议的包。 Protocol-Reject包只能在LCP的Opened(打开) 状态被发送。在其他不是Opened(打开)状态下接收 到的Protocol-Reject包应该被静静的丢弃。 Echo-Request and Echo-Reply 描述:LCP包含Echo-Request 和 Echo-Reply代码来供 给一个数据链路层回送机制来演习链路双方的使用。 这对调试、链路质量检测、执行测试和众多的其他功 能有帮助。
2012-5-28 8
认证阶段
在一些链路上,在允许网络层协议packets交换之前,链路的 一端可能需要peer去认证它。默认的,认证是不需要强制执行的。 如果一次执行希望peer根据某一特定的认证协议来认证,那么它 必须在链路建立阶段要求使用那个认证协议。 应该尽可能在链路建立后立即进行认证。而链路质量检查可 以同时发生。在一次执行中,禁止因为交换链路质量检查packets 而不确定地将认证向后推迟这一做法。 在认证完成之前,禁止从认证阶段前进到网络层协议阶段。 如果认证失败,认证者应该跃迁到链路终止阶段。 在这一阶段里,只有链路控制协议、认证协议,和链路质量 监视协议的packets是被允许的。在该阶段里接收到的其他的 packets必须被静静的丢弃。 执行笔记: 一次执行中,仅仅是因为超时或者没有应答就造成认证的失 败是不应该的。认证应该允许某种再传输,只有在若干次的认证 尝试失败以后,不得已的时候,才进入链路终止阶段。 在执行中,哪一方拒绝了另一方的认证,哪一方就要负责开 始链路终止阶段。
2012-5-28 12
代码
代码域是一个八位字节,确定LCP包的种类。 当收到一个带有未知域的包时,一个Code-Reject包被传送。 LCP代码域的Up-to-date值在最近的"指定号码"RFC[2]中被 指定。该文档涉及以下的值: 1 Configure-Request 2 Configure-Ack 3 Configure-Nak 4 Configure-Reject 5 Terminate-Request 6 Terminate-Ack 7 Code-Reject 8 Protocol-Reject 9 Echo-Request 10 Echo-Reply 11 Discard-Request
2012-5-28
9
ห้องสมุดไป่ตู้
网络层协议阶段
一旦PPP完成了前面的阶段,每一个网络层协议(例 如IP,IPX,或AppleTalk)必须被适当的网络控制协议 (NCP)分别设定。每个NCP可以随时被打开和关闭。 执行笔记: 因为一次执行最初可能需要大量的时间用于链路质量 检测,所以当等待peer设定NCP的时候,执行应该避免使 用固定的timeouts。 当一个NCP处于Opened状态时,PPP将携带相应的网 络层协议packets。当相应的NCP不处于Opened状态时, 任何接收到的被支持的网络层协议packets都将被静静的 丢弃。 在这个阶段,链路通信量由LCP,NCP,和网络层协 议packets的任意可能的联合组成。
2012-5-28
1
PPP和HDLC
PPP含两个主要协议:LCP和NCP
LCP: LCP被用于建立、维持点对点的链路。它具有三个
主要功能: 1,按规定方式建立链路(就封装格式选项自动的达成一致) 2,确定运用该链路所需的配置 3,当链路上会话结束时,PPP正确无误地释放该链路。 链路建立阶段由LCP确定与链路功能和质量有关的参数并进 行用户认证。例如,利用LCP来决定最大分组长度,多链 路(Multilink:指将ISDN的二条B通路集束成一条128kbit/ s的逻辑链路来利用)和回叫(Call Back)等。 如果系统要求认证,则进入下一个状态——认证状态,利用 认证协议(PAP/CHAP)进行用户认证。当认证成功后就 开始进行NCP协议。在PPP中认证是作为选项来处理的。
2012-5-28 5
2012-5-28
6
PPP相位图
在设定、维持和终止点对点链路的过程里, PPP链路经过几个清楚的阶段,如框图所示。 这张图并没有给出所有的状态转换。
死亡
启动
打开
建立
失败 失败 关闭
认证
成功/无
关闭
2012-5-28
终止
网络
7
链路死亡(物理连接不存在)
链路一定开始并结束于这个阶段。当一个外部事件(例如载波侦听 或网络管理员设定)指出物理层已经准备就绪时,PPP将进入链路建立 阶段。 在这个阶段,LCP自动机器将处于初始状态,向链路建立阶段的转 换将给LCP自动机器一个UP事件信号。 执行笔记:典型的,在与调制解调器断开之后,链路将自动返回这一阶 段。在用硬件实现的链路里,这一阶段相当的短--仅够侦测设备的存在
链路建立阶段
LCP用于交换配置信息包(Configure packets),建立连接。一旦 一个配置成功信息包(Configure-Ack packet)被发送且被接收,就完 成了交换,进入了LCP开启状态。 所有的配置选项都假定使用默认值,除非被配置交换所改变。 有一点要注意:只有不依赖于特别的网络层协议的配置选项才被LCP配 置。在网络层协议阶段,个别的网络层协议的配置由个别的网络控制协 议(NCP)来处理。 在这个阶段接收的任何非LCP packets必须被silently discarded(静 静的丢弃)。 收到LCP Configure-Request(LCP配置要求)能使链路从网络层 协议阶段或者认证阶段返回到链路建立阶段。
2012-5-28 15
Configure-Nak 描述:如果每一个收到的配置选项要求是可认知的,但 是一些值不能被接受,那么该执行必须传送一个 Configure-Nak。选项域仅由来自Configure-Request 的不可接受的配置选项所填充。全部可接受的配置选 项填充在Configure-Nak外,但是来自ConfigureRequest的配置选项必须不被重命令。 Configure-Reject 描述:如果Configure-Request中收到的一些配置选项是 不可辨认的或者不被商议所接受(由网络管理员配置 的),则该执行必须传送一个Configure-Reject。选项 域仅由来自Configure-Request不可接受的配置选项所 填充。所有可识别的和可通过商议解决的配置选项被 过滤出Configure-Reject,但是另外的配置选项必须不 被任何方式的重定义或修改。
相关文档
最新文档