整个802.1x的认证过程可以描述如下

(1)客户端向接入设备发送一个EAPoL-Start报文,开始802.1x认证接入;

(2)接入设备向客户端发送EAP-Request/Identity报文,要求客户端将用户名送上来;

(3) 客户端回应一个EAP-Response/Identity给接入设备的请求,其中包括用户名;

(4) 接入设备将EAP-Response/Identity报文封装到RADIUS Access-Request报文中,发送给认证服务器;

(5) 认证服务器产生一个Challenge,通过接入设备将RADIUS(Remote Authentication Dial-in User Service 远程认证拨号用户服务) Access-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge;

(6) 接入设备通过EAP-Request/MD5-Challenge发送给客户端,要求客户端进行认证

(7) 客户端收到EAP-Request/MD5-Challenge报文后,将密码和ChallengeMD5算法后的Challenged-Pass-word,在EAP-Response/MD5-Challenge回应给接入设备

(8) 接入设备将ChallengeChallenged Password和用户名一起送到RADIUS服务器,由RADIUS服务器进行认证

(9)RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;

(10) 如果认证通过,用户通过标准的DHCP协议 (可以是DHCP Relay) ,通过接入设备获取规划的IP地址(这里华工采用静态IP地址,跳过此步);

(11) 如果认证通过,接入设备发起计费开始请求给RADIUS用户认证服务器;

(12)RADIUS用户认证服务器回应计费开始请求报文。用户上线完毕