- 论坛徽章:
- 0
|
EAPOL协议的介绍
1、IEEE 802.1x定义了基于端口的网络接入控制协议,需要注意的是该协议仅适用于接入设备与接入端口间点到点的连接方式。 为了在点到点链路上建立通信,在链路建立阶段PPP链路的每一端都必须首先发送LCP数据包来对该数据链路进行配置。在链路已经建立起来后,在进入网络层协议之前,PPP提供一个可选的认证阶段。而EAPOL就是PPP的一个可扩展的认证协议。
2、下面是一个典型的PPP协议的帧格式:
Flag Address Control Protocol Information
当PPP帧中的protocol域表明协议类型为C227(PPP EAP)时,在PPP数据链路层帧的Information域中封装且仅封装PPP EAP数据包,此时表明将应用PPP的扩展认证协议EAP。这个时候这个封装着EAP报文的information域就担负起了下一步认证的全部任务,下一步的EAP认证都将通过它来进行。
3、一个典型的EAP认证的过程分为:request、response、success或者failure阶段,每一个阶段的报文传送都由Information域所携带的EAP报文来承担。
EAP报文的格式为:
|Code|Identifier|Length|Data|
1)Code域为一个字节,表示了EAP数据包的类型,EAP的Code的值指定和意义如下:
Code=1————→Request
Code=2 ————→Response
Code=3 ————→Success
Code=4 ————→Failure
2)Indentifier域为一个字节,辅助进行request和response的匹配————每一个request都应该有一个response相对应,这样的一个Indentifier域就建立了这样的一个对应关系————相同的Indentifier相匹配。
3)Length域为两个字节,表明了EAP数据包的长度,包括Code,Identifier,Length以及Data等各域。超出Length域范围的字节应该视为数据链路层填充(padding),在接收时应该被忽略掉。
4)Data域为0个或者多个字节,Data域的格式由Code的值来决定。
当code域为1或者2的时候,报文格式为
|Identifier|Length|Type|Type Date|
Code Type域的说明如下:
Type域总共分为6个值域,其中头3种Type被认为特殊情形的Type,其余的Type定义了认证的交换流量。Nak类型仅对Response数据包有效,不允许把它放在Request中发送。
Type=1————→Identifier
Type=2————→Notification
Type=3————→Nak(Response Only)
Type=4————→MD5-Challenge
Type=5————→One-Time Password (OTP)
Type=4————→Generic Token Card
[ 本帖最后由 tianyayang 于 2005-11-14 22:15 编辑 ] |
|