PPP点对点协议


链路控制协议:PPP 提供的 LCP 功能全面,适用于大多数环境。LCP 用于就封装格式选项自动达成一致,处理数据包大小限制,探测环路链路和其他普通的配置错误,以及终止链路。LCP 提供的其他可选功能有:认证链路中对等单元的身份,决定链路功能正常或链路失败情况。
网络控制协议:一种扩展链路控制协议,用于建立、配置、测试和管理数据链路连接。
配置:使用链路控制协议的简单
和自制机制。该机制也应用于其它控制协议,例如:网络控制协议(NCP)。

为了建立点对点链路通信,PPP 链路的每一端,必须首先发送 LCP 包以便设定和测试数据链路。在链路建立,LCP 所需的可选功能被选定之后,PPP 必须发送 NCP 包以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议
PPP
都被设定好了,来自每个网络层协议的数据报就能在链路上发送了。

链路将保持通信设定不变,直到有 LCP 和 NCP 数据包关闭链路,或者是发生一些外部事件的时候(如,休止状态的定时器期满或者网络管理员干涉)。

PPP[点对点协议] - 链路建立

PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。PPP协议包含这样几个部分:链路控制协议LCP(Link Control Protocol);网络控制协议NCP(Network Control Protocol);认证协议,最常用的包括口令验证协议PAP(Password Authentication Protocol)和挑战握手验证协议CHAP(Challenge-Handshake Authentication Protocol)。LCP负责创建,维护或终止一次物理连接。NCP是一族协议,负责解决物理连接上运行什么网络协议,以及解决上层网络协议发生的问 题。
下面介绍PPP链路建立的过程:
PPP
PPP链路状态机如图1所示。一个典型的链路建立过程分为三个阶段:创建阶段、认证阶段和网络协商阶段。

阶段1:创建PPP链路

LCP负责创建链路。在这个阶段,将对基本的通讯方式进行选择。链路两端设备通过LCP向对方发送配置信息报文(Configure Packets)。一旦一个配置成功信息包(Configure-Ack packet)被发送且被接收,就完成了交换,进入了LCP开启状态。应当注意,在链路创建阶段,只是对验证协议进行选择,用户验证将在第2阶段实现。

阶段2:用户验证

在这个阶段,客户端会将自己的身份发送给远端的接入服务器。该阶段使用一种安全验证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。在认 证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。在这一阶段里,只有链路控制协议、认证协议,和链路质量 监视协议的packets是被允许的。在该阶段里接收到的其他的packets必须被静静的丢弃。最常用的认证协议有口令验证协议(PAP)和挑战握手验证协议(CHAP)。 认证方式介绍在第三部分中介绍。

阶段3:调用网络层协议

认证阶段完成之后,PPP将调用在链路创建阶段(阶段1)选定的各种网络控制协议(NCP)。选定的NCP解决PPP链路之上的高层协议问题,例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态地址。
这样,经过三个阶段以后,一条完整的PPP链路就建立起来了。

PPP[点对点协议] - 认证方式

1、口令验证协议(PAP)

PAP是一种简单的明文验证方式。NAS(网络接入服务器,Network Access server)要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。所以,一旦用户密码被第三方窃取,PAP无法提供避
在这里插入图片描述 PPP[点对点协议]
免受到第三方攻击的保障措施。

2、挑战-握手验证协议(CHAP)

CHAP是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和 一个任意生成的挑战字串(arbitrary challengestring)。远程客户必须使用MD5单向哈希算法(one-way hashing algorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。CHAP对PAP进行了改进,不再直接通过链路发 送明文口令,而是使用挑战口令以哈希算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的操作,并将结果与用户返回的口 令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击(replay attack)。在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remote client impersonation)进行攻击。
在某些连接时,在允许网络层协议数据包交换之前希望对对等实体进行认证。缺省时,认证不是必要的。如果应用时希望对等实体使用某些认证协议进行认 证,这种要求必须在建立连接阶段提出。 认证阶段应该紧接在建立连接阶段后。然而,可能有连接质量的决定并行出现。应用时绝对不允许连接质量决定数据包的交换使认证有不确定的延迟。认证阶段后的 网络层协议阶段必须等到认证结束后才能开始。如果认证失败,将转而进入终止连接阶段。仅仅是连接控制协议、认证协议、连接质量监测的数据包才被允许在此阶段中出现。所有其它在此阶段中接收到的数据包都将被静默丢弃。 应用时不能简单的因为超时或缺少回应就认为认证失败。应该允许重传,仅当试图认证的次数超过一定的限制时才进入终止连接阶段。如果对方拒绝认证,己方有权进入终止连接阶段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值