English Site
 高级搜索

网络大典博客 网络大典维基 网络大典问答 网络大典群组 佳文科技产品 网络大典首页

EAP:PPP 扩展认证协议 (PPP Extensible Authentication Protocol)

PPP 扩展认证协议(EAP)用于 PPP 认证,可以支持多种认证机制。EAP 并不在链路控制阶段指定认证方法,而是把这个过程推迟到认证阶段。这样认证方就可以在要求更多的信息以后再决定使用什么认证方法。这种机制就允许使用一台“后端“服务器来真正执行认证机制,而 PPP 认证方只是传递认证交换信息。

  1. 在链路建立阶段完成以后,认证方向对端发送一个或多个请求报文去认证结点。在请求报文中有一个类型字段用来指明认证方所请求的信息,例如是 ID、MD5 的挑战字、一次密码(OTP)以及通用令牌卡等。MD5 的挑战字对应于 CHAP 认证协议的挑战字。通常认证方首先发送一个初始的 ID 请求随后再发送其他的请求信息。当然,这个 ID 请求报文并不是必须的,在对端身份是已知的情况下(如租用线、拨号专线等)可以跳过这个步骤。
  2. 端点对每一个请求报文回应一个应答包。和请求报文一样,应答报文中也包含一个类型字段,对应于所回应的请求报文中的类型字段。
  3. 认证方通过发送一个成功或者失败的报文来结束认证过程。

EAP 可以支持多种认证机制,而无需在 LCP 阶段预协商过程中指定一种认证机制。某些设备(例如:网络接入服务器)不需要了解每一个请求报文的类型,而是作为一个代理把认证报文直接传递给后端的认证服务器。设备只需关心认证结果是成功还是失败,然后结束认证阶段。

EAP 需要在 LCP 中增加一个新的认证类型,这样现有的 PPP 要想使用 EAP 就必须进行修改。同时,使用 EAP 也和先前的在 LCP 协商阶段指定认证方法的 PPP 认证模型不一致。

协议结构

提供 EAP 认证协议的配置选项格式如下所示:

8 16 32 bit Variable
Type Length Authentication-Protocol Data
  • Type ― 3
  • Length ― 4
  • Authentication-Protocol ― 对于 PPP 中的 EAP,该字段为C227(十六进制)。

一个 PPP EAP 数据包封装在 PPP 数据链路层帧的 Information 字段,其中的 Protocol 字段表示类型为十六进制 C227(PPP EAP)。EAP 数据包格式如下所示:

8 16 32 bit Variable
Code Identifier Length Data
  • Code ― Code 字段识别 EAP 数据包类型。
  • EAP 代码分配如下:1、请求(Request);2、响应(Response);3、成功(Success);4、失败(Failure)
  • Identifier ― Identifier 字段用于匹配响应和请求信息。
  • Length ― Length 字段表示 EAP 数据包的长度,包括 Code、Identifier、Length 和 Data 字段
  • Data ― Data 字段的格式取决于 Code 字段。

相关协议:PPP、CHAP

组织来源:EAP 由 IETF(http://www.ietf.org/)定义。

相关链接:http://www.javvin.com/protocol/rfc2284.pdf: PPP Extensible Authentication Protocol (EAP)