首页 > 代码库 > 转载:校园网接入认证技术对比与分析
转载:校园网接入认证技术对比与分析
原文作者: 沙捷 费青松 王雁
作者单位:首都体育学院 信息网络中心 北京市海淀区北三环西路 11号 100088
1 概述
Internet网络是一个自助网络,免费使用,一个用户终端配置IP地址即可接入网络。IP网络规模的扩大使得管理问题凸现,而不管是运营商的IP城域网还是校园网都有运营收费的需求,但是
在校园网中引入用户认证技术,有两个目的,一是可以有效的识别上网用户身份,第二是便于对用户的接入权限、业务权限、用户行为等进行有效的控制和管理,包括提供灵活的计费手段。基于IP地址的用户管理显然是不安全的,而且也不能满足按时长、按流量计费的需求。要实现用户管理,满足灵活计费的需求,基础是解决用户身份的有效识别,具体的实现办法就是接入认证方式。
普遍采用的接入认证方式有:基于WEB的认证、基于802.1x的认证以及基于PPPoE的认证。
2 WEB认证接入
WEB认证是2000年出现的一种基于HTTP协议的认证接入方式,用于以太网的用户的认证接入。WEB认证控制的核心是用户,通过对数据报文中的用户信息,包括:VLAN、MAC、IP等识别用户,并针对用户开展接入和业务控制。
WEB认证是当前应用最广泛的认证接入方式之一,该认证方式实现简单,很多厂商都推出了自己的WEB认证解决方案,但一直没有标准化。
WEB认证基于HTTP协议以及HTTPS安全协议。
用户使用WEB浏览器作为客户端,通过HTTP以及HTTPS协议和WEB认证服务器进行交互,发送认证信息并接收认证结果。
如果认证成功,WEB认证服务器和间需要通过协议交互认证信息,并由对用户进行权限控制和业务控制。
WEB认证服务器和是两个逻辑的实体,在很多公司的具体实现中,两者可以位于同一个物理实体中。
WEB认证流程如下图所示:
一般认为,WEB认证存在以下的缺陷:
1. WEB认证服务器和以太网接入服务器间的交互协议未标准化
WEB认证由于基于标准的HTTP及HTTPS协议,使用通用的WEB浏览器作为认证客户端,因此,WEB认证流程无需进行标准化。这也是为什么WEB认证一直没有进行标准化的原因之一。
很多实现中,将WEB认证服务器集成在中。但在具体应用中,一个规模较大的校园网往往需要多台。此时,如果继续使用内置的WEB认证服务器,会导致维护工作量的加大。而且,设备内置的WEB认证服务器一般功能有限。因此,独立的设置一台高性能的WEB认证服务器是很有必要的。
如果独立的设置了WEB认证服务器,必然会引入WEB认证服务器和间的交互协议,这个交互协议是没有标准化的。
2. WEB认证浪费地址资源
WEB认证的特点要求用户开机后就必须获得地址,并且能够访问WEB认证服务器。一般认为,这样会带来地址的浪费,因为部分用户开机后并不想认证上网。
对于该问题,可以有很多种具体的解决方法。基本思路如下:
对于需要认证接入的用户,开机后为其分配一个地址(该地址可以根据实际情况选择使用私网地址、教育网地址等资源足够充足的地址)。该地址可以具有受限的访问权限,例如,只能访问WEB认证服务器或者只能够访问校园网或者只能够访问教育网。一旦用户通过认证,可以采用NAT、NAPT、二次地址分配等各种技术将该用户实际使用的地址切换为一个具备全部访问权限并且资源有限的地址。
WEB认证具备很多独特的优点:
1. 无需特定客户端支持,维护工作量低
维护工作量的大小是衡量一种认证接入方式是否优秀的重要指标。而在提供广泛接入的校园中,对用户使用的认证接入客户端的维护在整个维护工作量中占有极大的比例。
WEB认证的最大优势就是使用标准的浏览器,无需安装特定的客户端,将分散的客户端的维护工作集中到WEB认证服务器上,显著的降低了网络维护成本。
2. 控制流和数据流彻底分离
对于WEB认证,其控制流在WEB认证服务器上进行处理,而数据流由宽带接入服务器进行处理,真正做到了控制和数据的彻底分离,可以更好的提高网络的总体性能。
3. 功能伸缩性强,可以完成复杂的控制
WEB认证具有极强的可伸缩性。一个实现比较简单的,可以完成基本的WEB认证接入控制的以太网接入服务器可以在结构简单的LAN Switch上实现。而一个实现完备,能够完成复杂的控制策略并且能够完善的支持校园网络应用的宽带接入服务器需要强劲的硬件,复杂的软件进行支撑。
4. 结合WEB页面的优势,可以无缝的结合PORTAL业务,提供更好的服务
WEB认证基于应用层,首先对组网没有限制,可以二层网络,也可以是三层网络;其次是可以与业务实现完美结合。例如WEB认证服务器可以和PORTAL服务器无缝结合。WEB认证成功后,直接返回个性化的PORTAL门户,可以向用户提供个人服务,例如:WEB Mail,通知板,视频教学服务导引等。
3 802.1x认证接入
802.1x是1999年开始制定的一种直接定义在Ethernet报文基础上的认证协议,2001年标准化,现在依然在不断的修订。该协议的原意是在网络层的边缘设备上提供简单的认证和接入控制功能,经过扩展后可以用于在汇聚层提供用户认证功能。
802.1x控制的核心是逻辑端口,基本思路是用户直接与端口相连,如果用户未经过认证,则该端口不能收发数据报文,一旦用户认证通过,则打开该端口,可以正常收发数据。802.1x相比其它认证方式一个最大特点就是简单,通过二层交换机、三层交换机本身就能完成,组网非常方便。
一般认为,802.1x存在以下的缺陷:
1. 标准不成熟,协议本身尚有缺陷
虽然802.1x已经在2001年成为IEEE的正式标准,但该标准还很不成熟。例如,EAPoL协议控制的核心-端口并未在协议中进行严格的定义,EAPoL协议中的EAPoL-Key报文和EAPoL-Encapsulated-ASF-Alert报文的用法没有定义。
EAP协议的标准化程度也不够。EAP协议虽然是1998年为PPP而制定的协议,本身属于PPP协议族,但该协议一直未在PPP中得到应用。同时,EAP协议本身只是一个框架协议,本身没有针对具体的认证方式进行定义。
另外,802.1x没有严格定义交互流程,例如,EAPoL-Logoff只能由客户端发往服务器,且没有定义任何回应报文。同时,协议本身没有定义任何的链路维护报文,在实际的应用中,一旦EAPoL-Logoff因为各种原因在传输过程中被丢弃,将会导致诸如用户吊死等各种严重的问题。
2. 协议本身仅仅完成认证功能,无法实现完整的用户接入控制
802.1x协议通过EAP协议仅仅能够完成用户的认证功能,而一个完整的用户接入控制还包括诸如地址分配,链路维护,权限控制等诸多功能。
通过各厂商的私有扩展可以使得802.1x和其它各种控制技术结合,完整的实现用户的接入控制。但各厂商的具体实现各不相同,同时需要和各自私有的客户端相结合。
3. 客户端不标准、不成熟、不统一
由于各厂商对于802.1x的理解不同,同时各厂商的私有扩展不同,导致各种客户端相互无法兼容。并且,迄今为止,尚未出现稳定可靠的通用的802.1x认证的客户端。典型的如Windows XP中内置的客户端,微软对802.1x的理解是802.1x的控制实体只能是最靠近用户的交换机,并且只用在办公室等场合进行用户接入权限控制。因此,在微软的实现中,用户只能被动的等待交换机检测到用户开机并由交换机触发认证流程,同样,用户无法主动的下线,只能由交换机检测到用户关机后在关闭端口。用户自己无法控制上网过程。
以上问题的解决需要对协议进行扩展,并且需要接入服务器的支持。
对于协议,需要解决802.1x协议无法与802.1Q,802.1d等协议无法共存的问题,并能够解决端口/用户间的映射问题,将802.1x改造成对用户的接入控制协议。
对于接入服务器,需要解决802.1x和地址分配之间的配合问题,解决802.1x接入认证的计费问题等。
同时,以上的扩展还不应该对客户端提出特殊的要求,保证802.1x的兼容性。
信息产业部正在以华为公司的802.1x实现作为蓝本制定802.1x的国家标准,选择设备时,应该保证802.1x的实现符合国家标准。
同时上述改进,802.1x协议可以完全符合用户接入控制的要求,并且能够体现出一些优势,如:
协议扩展性好。由于EAP协议的扩展性较好,一个设计优良的支持802.1x认证的接入服务器可以支持各种已经出现的和尚未出现的认证方式。如果需要升级认证方式,只需要升级认证服务器软件和客户端软件即可。
802.1x协议采取标准的以太网封装。这点和WEB类似,采用802.1x认证,数据报文使用标准的以太网封装,对开展各种业务没有限制,对网络性能没有影响,。
802.1x认证流程:
4 PPPoE认证
PPP/PPPoE是1998年专为宽带用户接入提出的接入认证协议。该协议标准化程度高,应用广泛。
PPPoE协议承载PPP协议,通过PPP进行用户的认证和接入控制。PPP控制的核心是用户,基本思路是控制用户数据通道的建立,包括链路层数据通道的建立和网络层数据通道的建立。
对于PPPoE,存在以下的缺陷,
1. 报文传输效率低;
PPPoE由于在传输过程中需要在IP报文头部叠加PPP封装和PPPoE封装,这些额外的开销增加封装解封装的开销,降低网络传输效率,并可能导致报文分片。这些在理论上都可能降低报文的传输效率。
但在实际应用中,这些降低的开销非常小。
考察网络上实测得到的数据报文,报文长度基本符合高斯分布,绝大部分长度在200~500字节之间,而PPPoE和PPP封装的总长度一般为9个字节,对效率的影响在2%~5%之间。实际上,PPP还可以选择进行Van Jacobson报文首部压缩,可以减小TCP首部和IP首部的长度,最终带来的结果是PPP/PPPoE报文的传输效率完全可以不输与一般的以太网报文。
对于封装开销来说,随着接入服务器硬件的发展和网络处理器封装转发机制的引入,很多接入服务器上,所有的封装解封装都是利用硬件完成,对系统的性能基本没有影响。实际上,对于一台以网络处理器和硬件转发为核心的接入服务器来说,网络的瓶颈已经不在设备本身,而在传输链路上。
对于报文分片问题,我们可以通过对应用服务器进行设置来解决。网络中出现的长包基本上都是流媒体服务器为了提高传输效率而发出的,对于这类报文,我们可以通过对流媒体服务器进行配置,设置服务器的分片长度,使得报文长度即使加上封装后其总长度也不超过以太网的MTU(1500)就可以避免分片。
2. 不能很好的支持组播及广播。
PPPoE不能很好的支持组播,这是由于发往用户的数据报文是承载在PPPoE隧道中,而且不同的隧道中报文头中的PPPoE Session_ID也不相同,因此,网络设备需要对组播报文针对隧道进行复制,这有点类似于基于ATM实现组播技术,增加技术实现的复杂程度。同时PPP方式的报文分片重组也降低了系统的效率。
但随着技术的发展,现在已经有了很多解决方法,可以向采用PPP/PPPoE认证接入的用户提供组播服务。国外的部分运营商已经逐步在PPPoE上开展了商用的组播服务。
3. 需要增加额外的PPPoE终端拔号软件,
PPPoE认证方式需要在用户端安装虚拟拨号软件,而这往往也成为故障点,从而带来较大的维护工作量。
当然,PPPoE也有着许多不可替代的优势。如:
PPPoE本身是专门为用户认证接入控制而制定的协议,并且技术标准、稳定、成熟、可靠,体现在实际组网中,设备方面有着众多标准的支持PPPoE认证接入的接入服务器,并且客户端成熟、稳定,可以显著的减少由于软件导致的网络故障,提高网络的可靠性,并能降低网络维护的成本;
PPPoE拨号接入符合大多数用户的使用习惯,这样可以让网络更有效的服务于学校的教学工作;
PPPoE协议定义了完善的链路维护手段,可以精确的检查用户的在线情况,保证计费的准确性;
PPPoE先认证,后分配地址的特性可以有效的利用有限的IP地址资源。
PPPoE认证的简要流程如下图所示:
5 总结
三种认证方式各有优缺点,选择什么样的认证方式与不同使用群体的需求相关。目前高校普遍采用802.1X认证方式,而运营商更多采用PPPOE。802.1x认证对设备要求较低,是一种低成本的认证方式,适合在经费比较短缺的教育领域使用。PPPOE认证方式技术与标准成熟,对设备的要求较高,适合与对运营环境要求较高的运营商用户。