RADIUS

Introduction

1.EAPOL 消息的封装

POL 数据包的格式

EAPOL是802.1X协议定义的一种报文封装格式,主要用于在客户端和设备端之间传送EAP协议报 文,以允许EAP协议报文在LAN上传送。EAPOL数据包的格式如图

EAPOL 数据包格式

Ehernet Type
Protocol Version Type
Length
Packet Body

Ethernet Type:表示协议类型,承载于EthernetII,类型值为0x888e。(2 bytes)
Protocol Version:表示EAPOL帧的发送方所支持的协议版本号(1 byte)。
Type:表示EAPOL数据帧类型(1 byte)。

Type类型

类型 说明
EAP-Packet(值为0x00):认证信息帧,用于承载认证信息 该帧在设备端重新封装并承载于 RADIUS 协议上,便于穿越复杂的网络到达认证服务器
EAPOL-Start(值为0x01):认证发起帧 这两种类型的帧仅在客户端和设备端之间存在,通常Length值为0,后面没有数据域
EAPOL-Logoff(值为0x02):退出请求帧  

说明:

该帧在设备端重新封装并承载于 RADIUS 协议上,便于穿越复杂的网络到达认证服务器 
i. EAP-Packet(值为0x00):认证信息帧,用于承载认证信息
ii. EAPOL-Start(值为0x01):认证发起帧
iii. EAPOL-Logoff(值为0x02):退出请求帧

Length:表示数据长度,也就是“Packet Body”字段的长度,单位为字节。如果为0,则表示没 有后面的数据域。 Packet Body:表示数据内容,根据不同的Type 有不同的格式。

2. EAP 数据包的格式

当EAPOL数据包格式Type域为EAP-Packet时,Packet Body为EAP数据包结构.

Code Identifier
Length
Date

Code:指明EAP 包的类型,共有4 种:Request、Response、Success、Failure。(1 byte)
1.Success 和Failure 类型的包没有Data 域,相应的Length 域的值为4。
2.Request和Response类型数据包的Data域的格式所示。Type为EAP的认证类型,Typedata的内容由类型决定。例如,Type值为1 时代表Identity,用来查询对方的身份;Type值为4 时,代表MD5-Challenge,类似于PPP CHAP协议,包含质询消息。

Request 和Response 类型数据包的Data 域的格式:

Identifier:用于匹配Request 消息和Response 消息。
Length:EAP 包的长度,包含Code、Identifier、Length 和Data 域,,由Code 类型决定,单位为字节。 (注意这里的长度是不包含EAPOL的包头,即:不包含EAPOL的version,type,length Data:EAP 包的内容。)


EAP 属性的封装

RADIUS 为支持EAP 认证增加了两个属性:EAP-Message(EAP 消息)和Message-Authenticator (消息认证码)。

1. EAP-Message

这个属性用来封装EAP数据包,类型代码为79,String域最长253 字节,如果EAP数据包长度大于253 字节,可以对其进行分片,依次封装在多个EAP-Message属性中。 EAP-Message 属性封装

Type Length String(封装了EAP 数据包)

2. Message-Authenticator

这个属性用于在使用EAP、CHAP等认证方法的过程中,避免接入请求包被窃听。在 含有EAP-Message属性的数据包中,必须同时也包含Message-Authenticator,否则该数据包会被 认为无效而被丢弃。

Message-Authenticator 属性

Type Length String

你可能感兴趣的:(RADIUS)