学校已经有认证网关在跑了——可能是之前运营商部署的Portal认证,也可能是学校自己采购的一台网关设备。现在要上校园无线wifi计费系统,两套系统之间的关系怎么处理?是让计费系统接管认证网关的全部功能,还是让认证网关继续做认证、计费系统只做计费和策略?这个耦合方式的选择,直接影响部署难度、运行稳定性和后期维护成本。
紧耦合:计费系统替代认证网关
紧耦合的方式是让校园无线wifi计费系统同时承担认证和计费功能,原有的认证网关退役或降级为透明转发。好处是架构简化:一套系统管认证和计费,策略配置在一个界面完成,运维不用在两个系统之间来回切换。用户从认证到计费是一条完整的链路,中间没有断层。但紧耦合的前提是计费系统的认证能力足够强——它需要支持学校原来认证网关提供的所有认证方式,包括Portal认证、802.1X认证、短信验证、微信认证等。如果原有认证网关有某种认证方式是计费系统不支持的,紧耦合就会丢失功能。
紧耦合的风险点在于切换过程。原有认证网关下线、计费系统上线,中间需要一个割接窗口。割接期间全校用户的认证流程会短暂中断,如果割接失败需要回退,恢复时间取决于原有认证网关的重新启动速度。割接前必须做完整的平行运行测试:在测试环境下把计费系统配置成跟原认证网关一样的策略,用模拟用户做压力测试,确认认证成功率、认证耗时、并发支撑能力都达标。平行运行测试不过就不要进入割接,否则上线后出问题的修复成本远高于测试阶段多花的时间。
松耦合:认证网关继续做认证,计费系统做后端计费
松耦合的方式是保留现有认证网关的认证功能,校园无线wifi计费系统只负责认证后的计费、带宽策略下发和日志记录。认证网关在用户认证通过后,把用户信息通过RADIUS计费报文传递给计费系统,计费系统开始计时计费。这种方式的好处是部署风险低——不改现有认证流程,只是在后端加了一层计费处理。原有认证网关的运维人员不需要学新系统,只需要在RADIUS配置里把计费报文的目标地址指向新的计费服务器。
松耦合的缺点是策略分散:认证策略在认证网关上配置,计费策略在计费系统上配置。如果认证网关做了某个策略变更(比如改了认证页面的展示内容),计费系统这边可能不知道,导致两个系统的策略状态不一致。运维人员需要在两个系统的管理界面之间来回操作,增加了出错概率。有些学校因为运维人力有限,松耦合模式下两个系统的策略长期对不上——认证网关上的某些用户组在计费系统里没有对应的计费策略,导致这些用户认证通过了但不被计费,白用了网。
半耦合:认证网关做前端认证,计费系统做认证代理+计费
还有一种中间方案:认证网关继续做Portal认证页面的展示和前端交互,但认证请求的处理逻辑交给校园无线wifi计费系统。认证网关变成一个"前端代理",把用户提交的认证请求转发给计费系统的RADIUS服务器,计费系统完成认证判断和计费策略下发。这种方式保留了原有认证页面的外观和用户交互习惯(学生看到的还是原来的认证页面),但认证判断逻辑由计费系统控制。好处是改造成本比紧耦合低(认证页面不需要重新开发),策略控制比松耦合集中(认证和计费逻辑在一个系统里)。
半耦合的关键是对接协议的适配。认证网关需要支持把认证请求转发到外部RADIUS服务器,而不是只在本地做认证判断。如果原有认证网关不支持外部RADIUS转发,半耦合就走不通。这个能力在选型阶段必须确认——问供应商"你们的认证网关是否支持外部RADIUS服务器配置?能不能把认证请求转发到第三方服务器?"如果供应商说可以,让他在测试环境下实际演示一遍,不要只看文档。
耦合方式的选择逻辑
三种耦合方式各有适用场景。紧耦合适合学校想彻底统一架构、原有认证网关功能较弱或即将退役的情况。松耦合适合学校运维人力不足、原有认证网关运行稳定不愿冒险更换的情况。半耦合适合学校想保留原有认证页面但需要计费系统接管认证逻辑的情况。
选哪种,不是看哪种"技术最优",而是看学校的实际约束条件。如果原有认证网关是运营商提供的,运营商不让学校改配置,那紧耦合和半耦合都不行,只能松耦合。如果原有认证网关是学校自己采购的,信息中心对它的配置完全可控,那三种方式都可以选,按运维人力和风险偏好决定。
对接过程中的常见技术坑
不管选哪种耦合方式,对接过程中最容易出现的问题集中在两个地方:一是RADIUS报文的属性字段不一致,认证网关发出的某些属性计费系统识别不了,导致计费策略下发失败;二是计费开始和结束报文的时序问题,用户下线后认证网关发出的停止计费报文被计费系统延迟接收,导致用户被多计费。这两个问题不是架构设计能解决的,是需要在部署调试阶段逐条排查的。排查方法是用抓包工具在两个系统之间同时抓RADIUS报文,对照属性字段和时序差异,逐一调整配置。
割接的应急预案不能少
不管松耦合还是紧耦合,实际割接当天都要准备应急预案。最常见的预案是"回退到原认证网关独立运行模式"——如果新系统上线后出现大面积认证失败或计费异常,5分钟内恢复原有认证网关的独立运行状态,让全校用户先能上网。这个回退方案需要在割接前做一次演练,确认回退操作步骤和恢复时间。演练不做,割接当天万一出问题就是全校断网等排查,风险太大。
耦合方式的选择不是技术偏好问题,是学校网络现状、运维能力、风险承受能力三者综合的结果。想清楚这三条,选择就不会纠结。纠结的根源通常是没想清楚自己到底有哪些约束条件,总以为技术方案能覆盖所有情况。实际上,技术方案覆盖的是"功能能实现",约束条件决定的是"功能能不能跑起来"。