详细分析802.1x协议的接入应用,前一阵子,同事询问我关于802.1x协议的问题,当时我没有给出正面的回答,因为这样的问题我也是初次遇到,在接下来的日子里,我查阅了相关资料,对下面的答复比较满意。现在分享给大家!
近年来,宽带网接入逐渐成为网络技术的热点,宽带网建设蓬勃发展,业务如火如荼,成为网络运营商新的经济增长点。目前,广泛采用的宽带接入方式有HFC、xDSL、LAN接入等,其中,交换式以太网接入作为园区网建设的主流方案,以高带宽,技术成熟,成本低廉,易于建设和易于管理的优点,成为网络运营商优先采用的接入方式。
但是,传统的以太网接入方式由于采用广播机制,其安全性较差,限制了它在公用接入网络中的应用。为了解决这个问题,目前广泛使用PPPoE或Web+DHCP的方案,但这两种方案都不能有效地解决认证安全问题。
IEEE802.1委员会提出的802.1x协议,其实现基于以太网交换机,可以对用户进行认证、授权,从而为运营商提供了一种更实用、更安全的用户管理方式。本文主要介绍802.1x协议的基本原理及其在宽带接入网中的应用实例。
1 802.1x协议结构和基本原理
1.1 802.1x协议
90年代后期,IEEE802LAN/WAN委员会为解决无线局域网网络安全问题,提出了802.1x协议。后来,802.1x协议作为局域网端口的一个普通接入控制机制用在以太网中,主要解决以太网内认证和安全方面的问题。802.1x协议称为基于端口的访问控制协议(portbasednetworkaccesscontrolprotocol),该协议的核心内容如图1所示。
靠近用户一侧的以太网交换机上放置一个EAP(extensibleauthenticationprotocol)代理,用户PC机运行EAPoE(EAPoverEthernet)的客户端软件与交换机通信。初始状态下,交换机上的所有端口处于关闭状态。
只有802.1x数据流才能通过,而另外一些类型的网络数据流,如动态主机配置协议、超文本传输协议(HTTP)、文件传输协议(FTP)、简单邮件传输协议(SMTP)和邮局协议(POP3)等都被禁止传输。
当用户通过EAPoE登录交换机时,交换机将用户同时提供的用户名口令传送到后台的Radius认证服务器上。如果用户名及口令通过了验证,则相应的以太网端口打开,允许用户访问。
1.2 802.1x协议的体系结构
802.1x协议的体系结构包括3个重要部分:客户端(supplicantsystem)、认证系统(authenticatorsystem)、认证服务器(authenticationserversystem)。图2描述了三者之间的关系以及互相之间的通信。客户系统安装一个客户端软件,用户通过启动客户端软件发起802.1x协议的认证过程。为支持基于端口的接入控制,客户端系统须支持EAPoL(EAPoverLAN)协议。
认证系统通常为支持802.1x协议的网络设备。该设备有2个逻辑端口:受控端口和不受控端口,对应于不同用户的端口。不受控端口始终处于双向连通状态,主要用来传递EAPoL协议帧,保证客户端始终可以发出或接受认证。
受控端口只有在认证通过之后才打开,用于传递网络资源和服务。如果用户未通过认证,受控端口处于未认证状态,则用户无法访问认证系统提供的服务。受控端口可配置为双向受控、仅输入受控2种方式,以适应不同的应用环境。
认证系统的端口访问实体通过不受控端口与客户端端口访问实体进行通信,二者之间运行EAPoL协议。认证系统的端口访问实体与认证服务器之间运行EAP协议。EAP协议并不是认证系统和认证服务器通信的唯一方式,其他的通信通道也可以使用。例如,如果认证系统和认证服务器集成在一起,2个实体之间的通信就可以不采用EAP协议。
认证服务器通常为RADIUS服务器,该服务器可以存储有关用户的信息。例如,用户的账号、密码以及用户所属的VLAN、CAR参数,优先级,用户的访问控制列表等。当用户通过认证后,认证服务器会把用户的相关信息传递给认证系统,由认证系统构建动态的访问控制列表,用户的后续流量将接受上述参数的监管。认证服务器和RADIUS服务器之间通过EAP协议进行通信。
1.3 802.1x协议的工作机制
802.1x协议工作机制如图3所示。由图3可见,认证的发起可以由用户主动发起,也可以由认证系统发起。当认证系统探测到未经过认证的用户使用网络,就会主动发起认证;用户端则可以通过客户端软件向认证系统发送EAPoL-Start开始报文发起认证。由客户端发送EAPoL退出报文,主动下线,退出已认证状态的直接结果就是导致用户下线,如果用户要继续上网则要再发起一个认证过程。
为了保证用户和认证系统之间的链路处于激活状态,而不因为用户端设备发生故障造成异常死机,从而影响对用户计费的准确性,认证系统可以定期发起重新认证过程,该过程对于用户是透明的,即用户无需再次输入用户名/密码。重新认证由认证系统发起,时间从最近一次成功认证后算起。重新认证时间默认值为3600s,而且默认重新认证是关闭的。
对于认证系统和客户端之间通信的EAP报文,如果发生丢失,由认证系统负责进行报文的重传。在设定重传的时间时,考虑网络的实际环境,通常会认为认证系统和客户端之间报文丢失的概率比较低以及传送延迟短,因此一般通过一个超时计数器来设定,默认重传时间为30s。
对于有些报文的丢失重传比较特殊,如EAPoL-Start报文的丢失,由客户端负责重传;而对于EAP失败和EAP成功报文,由于客户端无法识别,认证系统不会重传。由于对用户身份合法性的认证最终由认证服务器执行,认证系统和认证服务器之间的报文丢失重传也很重要。
另外,对于用户的认证,在执行802.1x认证时,只有认证通过后,才有DHCP发起和IP分配的过程。由于客户终端配置了DHCP自动获取,则可能在未启动802.1x客户端之前,就发起了DHCP的请求,而此时认证系统处于禁止通行状态,这样认证系统会丢掉初始化的DHCP帧,同时会触发认证系统发起对用户的认证。
由于DHCP请求超时过程为64s,所以如果802.1x认证过程能在这64s内完成,则DHCP请求不会超时,能顺利完成地址请求;如果终端软件支持认证后再执行一次DHCP,就不用考虑64s的超时限制。
1.4 802.1x协议的认证过程
802.1x协议认证过程是用户与服务器交互的过程,其认证步骤如下。
◆用户开机后,通过802.1x客户端软件发起请求,查询网络上能处理EAPoL数据包的设备。如果某台验证设备能处理EAPoL数据包,就会向客户端发送响应包,并要求用户提供合法的身份标识,如用户名及其密码。
◆客户端收到验证设备的响应后,提供身份标识给验证设备。由于此时客户端还未经过验证,因此认证流只能从验证设备的未受控的逻辑端口经过。验证设备通过EAP协议将认证流转发到AAA服务器,进行认证。
◆如果认证通过,则认证系统的受控逻辑端口打开。
◆客户端软件发起DHCP请求,经认证设备转发到DHCPServer。
◆DHCPServer为用户分配IP地址。
◆DHCPServer分配的地址信息返回给认证系统,认证系统记录用户的相关信息,如MAC,IP地址等信息,并建立动态的ACL访问列表,以限制用户的权限。
◆当认证设备检测到用户的上网流量,就会向认证服务器发送计费信息,开始对用户计费。
◆如果用户退出网络,可以通过客户端软件发起退出过程,认证设备检测到该数据包后,会通知AAA服务器停止计费,并删除用户的相关信息(如物理地址和IP地址),受控逻辑端口关闭;用户进入再认证状态。
◆验证设备通过定期的检测保证链路的激活。如果用户异常死机,则验证设备在发起多次检测后,自动认为用户已经下线,于是向认证服务器发送终止计费的信息。
2 几种认证方式比较
目前,在接入网中的认证方式除802.1x之外,还有PPPoE和Web+DHCP两种方式,在此把这几种认证方式做一比较。PPPoE的本质就是在以太网上跑PPP协议。由于PPP协议认证过程的第一阶段是发现阶段,广播只能在二层网络,才能发现宽带接入服务器。
因此,也就决定了在用户主机和服务器之间,不能有路由器或三层交换机。另外,由于PPPoE点对点的本质,在用户主机和服务器之间,限制了组播协议存在。这样,将会在一定程度上,影响视频业务的开展。除此之外,PPP协议需要再次封装到以太网中,所以效率很低。
Web+DHCP采用旁路方式网络架构时,不能对用户进行类似带宽管理。另外,DHCP是动态分配IP地址,但其本身的成熟度加上设备对这种方式支持力度还较小,故在防止用户盗用IP地址等方面,还需要额外的手段来控制。除此之外,用户连接性差,易用性不够好。
802.1x协议为二层协议,不需要到达三层,而且接入交换机无须支持802.1q的VLAN,对设备的整体性能要求不高,可以有效降低建网成本。业务报文直接承载在正常的二层报文上;用户通过认证后,业务流和认证流实现分离,对后续的数据包处理没有特殊要求。在认证过程中,802.1x不用封装帧到以太网中,效率相对较高。
3 802.1x协议在宽带接入中的应用
以小区宽带接入为例,探讨802.1x协议在宽带接入中的应用。小区宽带接入中应用802.1x协议并不复杂,接入所用交换机要支持802.1x协议,并需RadiusServer和DHCP服务器存在,以完成认证功能。对于用户数量较少的小区,只需在整个小区出口处安装一台支持802.1x交换机;对于用户数量较多的小区,则可以在每个楼栋放置一台支持802.1x交换机,每台交换机都接入汇聚中心即可。
图4是一个基于802.1x协议的小区宽带接入网络拓扑图。这种方案和普通交换机接入方案在性能上是完全等效的,但是在安全性方面有普通方案无可比拟的优点。用户在接入宽带网过程中,用户与交换机的认证步骤与802.1x协议认证步骤一样。
需要指出的是,用户发出认证报文,是使用特定的组播MAC地址,设备发送用户的报文使用单播MAC地址,解决了认证报文的广播的问题,其他用户不能侦听到认证过程,从而无法知道用户的密码、账号,无法知道用户的MAC地址。认证通过后的MAC地址与端口进行绑定。在通信过程中,可以保证用户使用网络的路径是唯一的。这样,通过认证的用户的数据包就不会泄露,保证了用户数据的安全性。
4 结束语
本文简要分析了802.1x协议及其工作原理,设计了一个基于802.1x的小区宽带接入系统的方案,该方案在充分发挥交换式以太网接入优点的前提下,可以有效地解决网络认证、安全问题。考虑接入网络安全性的需要,可以肯定,作为宽带网接入的安全解决方案,802.1x必将是未来的发展主流。