赞
踩
前言:近期根据项目需要,学习了相关802.1x认证方面的内容并通过项目实际开发测试了一轮。再回过头静下心来对802.1x认证涉及到的概念、流程、细节再按自己的思路梳理一遍。关于802.1x的基本知识点,互联网上搜索下便可以了解的差不多了,回顾自己在网上学习的这段经历,发现带着问题去研究学习,效率会更高,目的性也更强。因此,这边列出些几点问题,不管是刚学习此方面知识的,还是温习知识的小伙伴,可以带着这几点问题学习回顾:
802.1x认证是用来干啥子的?
802.1x的体系结构为何样?
802.1x认证与EAP协议、EAPOL协议、PEAP协等认证协议之间的关系是什么?
802.1x认证是谁主动发起认证?
802.1x认证是在链路层上进行的,当一个设备去对一个接入端口进行认证时,由于不知道双方的目的MAC地址,如何进行链路层通讯?
802.1x认证涉及到步骤较多的协议交互,万一中间步骤由于外部因素中断了,认证过程将会如何?
接下来让我们带着这些问题一步步学习回顾802.1x认证吧。
一、802.1x认证干啥子用?
较官方的解释:802.1x协议是基于Client/Server的访问控制和认证协议。它可以限制未经授权的用户/设备通过接入端口(access port)访问LAN/WLAN。在获得交换机或LAN提供的各种业务之前,802.1x对连接到交换机端口上的用户/设备进行认证。在认证通过之前,802.1x只允许EAPoL(基于局域网的扩展认证协议)数据通过设备连接的交换机端口;认证通过以后,正常的数据可以顺利地通过以太网端口。
通俗易懂的说:不管是有线还是无线的交换机,如果支持802.1x认证并对相应端口(可以是物理上的也可以是逻辑上的)开启认证的话,我想要通过这个端口进行上网,就要想办法通过它的认证,让它知道我是经过你允许的那个他,否则交换机不让你享受他的上网服务。
二、什么是802.1x认证的体系结构?
802.1x认证的体系结构简单的说就是要进行802.1x认证时需要搭建哪些环境。802.1x系统是Client/Server结构,包括三个实体:客户端(Client)、设备端(Device)和认证服务器(Server),如下图所示:
客户端:就是需要通过认证来享受网络服务的设备,必须要支持EAPOL协议。(Extensible Authentication Protocol over LAN,局域网上的可扩展认证协议)
设备端:对客户端设备执行认证监测并转发认证数据的设备,其本身不对客户端上报的认证信息进行匹配认证,只是一个中介,用于联系客户端和认证服务器。
认证服务器:是为客户端提供认证服务的真家伙,是设备端背后默默支持的人。用于对设备端实现认证、授权和计费,通常为RADIUS(Remote Authentication Dial-In User
Service,远程认证拨号用户服务)服务器。
三、802.1x认证与EAP协议、EAPOL协议、PEAP协议等认证协议之间的关系是什么?
也许有些小伙伴在网上查了一堆802.1x认证相关知识点,但是看完也搞不灵清802.1x认证和EAP协议、EAPOL协议等是什么关系,为啥有时候可以用EAP协议认证、有时候可以用PEAP认证。这边先简单的理一下,关于各个协议的详细说明打算在后面的章节中详细概述。
个人认为,802.1x认证是一个认证体系,包含了所需的体系结构、认证流程、支持的认证协议。其不是一个实际意义上的具体协议,而EAP协议、PEAP协议、EAPOL协议等协议是在802.1x认证时用的到协议。这些协议也可能不是相互独立的协议,举个简单的例子,EAPOL协议仅是规定了一种802.1x协议的一种报文封装格式,其可以携带EAP协议。如果小伙伴想详细了解,可以先去搜索具体的协议说明。总结来说,802.1x认证提供了一种认证方案,而其认证方法的具体实现可以有多种,比如EAP-MD5、EAP-TLS、PEAP(PEAP-EAP-MS-CHAPV2)等。
四、802.1x认证是谁主动发起认证?
既然要认证,就要肯定有人先发起认证请求,那么是谁先发起这个请求呢?答案是有以下两种可能:
客户端主动触发:客户端主动向设备端发送EAPOL-Start报文来触发认证。
设备端主动触发:设备端会每隔N秒(比如30s)主动向客户端发送EAP-Request/Identity报文来触发认证,此种方式主要用于客户端不支持主动发送EAPOL-Start报文的情况。
五、802.1x认证如何在链路层通讯
由于双方刚开始都不知道对方的MAC地址,因此双方都通过将数据发送到一个组播地址:01-80-C2-00-00-03上,这个组播地址是官方保留的(
IEEE Std 802.1X PAE address)。双方通过解析目的地址为此组播地址上的数据来进行通讯。
六、802.1x认证涉及到步骤较多的协议交互,万一中间步骤由于外部因素中断了,认证过程将会如何?
出现此种情况,一般的思路是等待一段时间,如果对方没有及时回复你的请求,就重新发送请求,如果多次没回复,就当失败了。802.1x认证就设计了多个定时器用于控制流程的异常问题。一般有以下几种定时器:
用户名请求超时定时器(tx-period)、客户端认证超时定时器(supp-timeout)、认证服务器超时定时器(server-timeout)、握手定时器(handshake-period)、静默定时器(quiet-period)、周期性重认证定时器(reauth-period)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。