忆龙2009:详解EAPOL的报文格式

      EAPOL802.1x协议定义的一种报文封装格式,主要用于在客户端和设备端之间传送EAP协议报文,以允许EAP协议报文在LAN上传送。格式如下所示。

 

 

 

 

PAE Ethernet Type:表示协议类型,802.1x分配的协议类型为0x888E。

Protocol Version:表示EAPOL帧的发送方所支持的协议版本号。

Type:

  • EAP-Packet(值为00),认证报文数据,用于承载认证信息;
  • EAPOL-Start(值为01),认证开始报文,用于主动发起认证过程;
  • EAPOL-Logoff(值为02),下线请求报文,用于用户主动发起下线请求;
  • EAPOL-Key(值为03),密钥信息报文;
  • EAPOL-Encapsulated-ASF-Alert(值为04),用于支持ASF(Alerting Standards Forum)的Alerting消息。

Length:表示数据长度,也就是“Packet Body”字段的长度。如果为0,则表示没有后面的数据域。

Packet Body:根据不同的Type有不同的格式。

 

      其中,EAPOL-Start,EAPOL-Logoff和EAPOL-Key仅在客户端和设备端之间存在;在设备端和认证服务器之间,EAP-Packet报文会被重新封装承载于RADIUS协议上,我们称之为EAPoR,以便穿越复杂的网络到达认证服务器;EAPOL-Encapsulated-ASF-Alert封装与网管相关的信息,例如各种警告信息,由设备端终结。

 

      注意,当是EAPOL-Start或EAPOL-Logoff类型报文时,并不需要PacketBody有具体的内容。

 

 

      下面详细介绍PacketBody字段的详细构成:

    当EAPOL数据包的Type域为EAP-Packet时,Packet BodyEAP数据包内容,如下图所示:

 

 

Code:指明EAP包的类型,一共有4种:Request,Response,Success,Failure。

Identifier:辅助进行Response和Request消息的匹配。设备通常通过该字段来验证报文是否合法。如果该字段在状态机中所保存的值不一样则会认为非法,直接丢弃。

Length:EAP包的长度,包含Code、Identifier、Length和Data的全部内容。

Data:EAP数据信息,内容格式由Code决定。

      Success和Failure类型的包没有Data域,相应的Length域的值为4。(现在也有利用该DATA域来传送成功及失败信息的,如认证失败的原因可以通过DATA域回传给客户端,客户端软件将其解析出来显示给用户)

 

       Request和Response类型的Data域的格式如下图所示。

 

 

 Type:指出EAP的认证类型。其中,值为1时,代表Identity,用来查询对方的身份;值为4时,代表MD5-Challenge,类似于PPP CHAP协议,包含质询消息。

Type Data:Type Data域的内容随不同类型的Request和Response而不同。

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值