802.1x协议及其在宽带接入中的应用( 二 )


认证服务器通常为RADIUS服务器 , 该服务器可以存储有关用户的信息 。例如 , 用户的账号、密码以及用户所属的VLAN、CAR参数 , 优先级 , 用户的访问控制列表等 。当用户通过认证后 , 认证服务器会把用户的相关信息传递给认证系统 , 由认证系统构建动态的访问控制列表 , 用户的后续流量将接受上述参数的监管 。认证服务器和RADIUS服务器之间通过EAP协议进行通信 。
1.3 802.1x协议的工作机制
802.1x协议工作机制如图3所示 。由图3可见 , 认证的发起可以由用户主动发起 , 也可以由认证系统发起 。当认证系统探测到未经过认证的用户使用网络 , 就会主动发起认证;用户端则可以通过客户端软件向认证系统发送EAPoL-Start开始报文发起认证 。由客户端发送EAPoL退出报文 , 主动下线 , 退出已认证状态的直接结果就是导致用户下线 , 假如用户要继续上网则要再发起一个认证过程 。
 
为了保证用户和认证系统之间的链路处于激活状态 , 而不因为用户端设备发生故障造成异常死机 , 从而影响对用户计费的准确性 , 认证系统可以定期发起重新认证过程 , 该过程对于用户是透明的 , 即用户无需再次输入用户名/密码 。重新认证由认证系统发起 , 时间从最近一次成功认证后算起 。重新认证时间默认值为3600 s , 而且默认重新认证是关闭的 。
对于认证系统和客户端之间通信的EAP报文 , 假如发生丢失 , 由认证系统负责进行报文的重传 。在设定重传的时间时 , 考虑网络的实际环境 , 通常会认为认证系统和客户端之间报文丢失的概率比较低以及传送延迟短 , 因此一般通过一个超时计数器来设定 , 默认重传时间为30 s 。
对于有些报文的丢失重传比较非凡 , 如EAPoL-Start报文的丢失 , 由客户端负责重传;而对于EAP失败和EAP成功报文 , 由于客户端无法识别 , 认证系统不会重传 。由于对用户身份合法性的认证最终由认证服务器执行 , 认证系统和认证服务器之间的报文丢失重传也很重要 。另外 , 对于用户的认证 , 在执行802.1x认证时 , 只有认证通过后 , 才有DHCP发起和IP分配的过程 。由于客户终端配置了DHCP自动获取 , 则可能在未启动802.1x客户端之前 , 就发起了DHCP的请求 , 而此时认证系统处于禁止通行状态 , 这样认证系统会丢掉初始化的DHCP帧 , 同时会触发认证系统发起对用户的认证 。
由于DHCP请求超时过程为64 s , 所以假如802.1x认证过程能在这64 s内完成 , 则DHCP请求不会超时 , 能顺利完成地址请求;假如终端软件支持认证后再执行一次DHCP , 就不用考虑64 s的超时限制 。
1.4 802.1x协议的认证过程
802.1x协议认证过程是用户与服务器交互的过程 , 其认证步骤如下 。
(1)用户开机后 , 通过802.1x客户端软件发起请求 , 查询网络上能处理EAPoL数据包的设备 。假如某台验证设备能处理EAPoL数据包 , 就会向客户端发送响应包 , 并要求用户提供合法的身份标识 , 如用户名及其密码 。
(2)客户端收到验证设备的响应后 , 提供身份标识给验证设备 。由于此时客户端还未经过验证 , 因此认证流只能从验证设备的未受控的逻辑端口经过 。验证设备通过EAP协议将认证流转发到AAA服务器 , 进行认证 。
(3)假如认证通过 , 则认证系统的受控逻辑端口打开 。
(4)客户端软件发起DHCP请求 , 经认证设备转发到DHCPServer 。
(5)DHCPServer为用户分配IP地址 。
(6)DHCPServer分配的地址信息返回给认证系统 , 认证系统记录用户的相关信息 , 如MAC , IP地址等信息 , 并建立动态的ACL访问列表 , 以限制用户的权限 。

推荐阅读