协议
EEE 802.1X-2004协议:基于端口的网络接入控制协议(port based network access control protocol)。在LAN口对所接入的用户设备进行认证和控制,如果通过认证则端口打开,可以访问局域网中的资源。
状态机设计原理
EAOPOL和EAP之间的关联

 以sta侧为例,802.1X(EAPOL)是EAP SUPP的LL层。
 其中两层之间交互的变量“eapResp”等释义可参考链接: link章节“SM与LL交互使用到的变量列表”
EAPOL定义5种状态机
peer和Authenticator定义的所有状态机统称:PACP(Port Access Control Protocol)State Machine
sta 使用的5种状态机
 1.Port Timers SM:Port超时控制状态机。
 2.The Key Receiver SM:处理EAPOL-Key帧相关流程。
 3.Supplicant PAE(Port Access Entitiy) SM:维护Port状态。
 4.Supplicant BE (Backend) SM:给Authenticator发送EAPOL回复消息。
 5.The Supplicant Key Transmit SM:该状态机非必选项,所以WPAS未实现它。
1.Port Timers SM
功能:每一秒触发一次从ONE_SECOND状态进入TICK状态。
 EA执行dec函数递减**while等多个变量的值。
状态迁移

变量

2.The Key Receiver SM
功能:EAPOL Key帧处理
状态迁移

变量

函数
processKey函数处理EAPOL Key消息
3.PAE(Port Access Entitiy)SM
功能:维护Port状态
状态迁移

变量

函数
txStart():发送EAPOL-Start消息给Authenticator。
 txLogoff():发送EAPOL-Logoff消息给Authenticator。
4.BE (Backend) SM
功能:给Authenticator发送EAPOL回复消息
状态迁移

变量
默认初始值为30
 
函数
abortSupp:停止认证工作,释放相关的资源。
 getSuppResp:获取EAP Response信息,然后用txSuppResp函数发送出去。但WPAS中,该函数没有包括任何有实质意义的内容。
 txSuppResp:发送EAPOL-Packet包给Authenticator。
全局变量(Global Varaibles)
5种状态机共同使用的变量
 










![[JavaWeb]CSS](https://img-blog.csdnimg.cn/88cda11f0b6044f8a343076b8389492a.png?)








