在配置 PPP 时,图 1 中的流程图有助于了解 PPP 身份验证过程。 流程图直观地展示了 PPP 作出的逻辑决策。

例如,如果入站 PPP 请求不需要身份验证,PPP 将进入下一阶段。 如果入站 PPP 请求需要身份验证,则将使用本地数据库或安全服务器验证其身份。 如流程图所示,如果身份验证成功,则将进入下一阶段,而如果身份验证失败,则将断开连接并丢弃传入的 PPP 请求。

执行以下步骤作为图 2 的动画过程来查看 R1 与 R2 建立经过身份验证的 PPP CHAP 连接的过程。

第 1 步: R1 首先使用 LCP 与路由器 R2 协商链路连接,且在 PPP LCP 协商期间,两个系统同意使用 CHAP 身份验证。

第 2 步: R2 生成 ID 和一个随机数,并将 ID、随机数连同用户名一起作为 CHAP 询问消息数据包发送到 R1。

第 3 步: R1 使用询问方 (R2) 的用户名并利用本地数据库交叉引用该用户名来查找相关联的密码。 随后,R1 将使用 R2 的用户名、ID、随机数和共享加密密码生成一个唯一的 MD5 哈希数。 在本示例中,共享加密密码是 boardwalk。

第 4 步: 接着,路由器 R1 将询问消息 ID、哈希值及其用户名 (R1) 发送到 R2。

第 5 步: R2 使用它最初发送给 R1 的 ID、共享加密密码和随机数生成自己的哈希值。

第 6 步: R2 将自己的哈希值与 R1 发送的哈希值进行比较。 如果这两个值相同,R2 将向 R1 发送链路建立响应。

如果身份验证失败,系统会生成一个 CHAP 失败数据包,其结构如下:

R1 和 R2 上的共享加密密码必须相同。