热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Wi-FiPortal认证协议详解

本文详细介绍了Wi-FiPortal认证协议的原理、流程和相关技术细节,涵盖用户上线认证、下线流程以及数据报文格式等内容。

Wi-Fi Portal认证协议(也称为Web认证)是一种广泛应用于无线网络和有线网络的通用认证方法。该协议通过AC(接入控制器)和Portal服务器协同工作,实现对用户的认证与授权。


一、认证原理


当用户首次访问网络时,AC会拦截其请求并将用户重定向到Portal服务器的认证页面。用户在该页面输入用户名和密码后,Portal服务器会与RADIUS服务器进行交互以验证用户身份。认证成功后,AC允许用户访问网络,并开始统计流量或使用时间,将统计数据发送给RADIUS服务器用于计费。若认证失败,AC则拒绝用户访问网络。


Portal认证方式具有无需安装客户端、便于管理和运营等优点,因此被广泛应用于运营商、学校等网络环境中。



二、二次地址分配


二次地址分配技术是指在802.1X或Web Portal接入方式中,初始DHCP为用户预分配私网IP地址,认证通过后再分配公网IP地址。这一机制有效解决了公网IP地址资源浪费的问题,提高了公网地址的利用率。配置二次地址分配功能需在BRAS上设置认证域并启用相应选项。



三、用户上线认证流程


用户上线认证包括两种方式:CHAP和PAP,其中CHAP为必选功能,PAP为可选功能。


3.1 CHAP认证流程



  1. 用户访问网站,经过AC重定向到Portal Server,推送认证页面;

  2. 用户输入用户名和密码,提交页面,发起连接请求;

  3. Portal Server向AC请求Challenge;

  4. AC生成并返回Challenge给Portal Server;

  5. Portal Server发起认证请求至AC;

  6. AC进行RADIUS认证,获取结果;

  7. AC返回认证结果给Portal Server;

  8. Portal Server将结果填入页面,推送给用户;

  9. Portal Server确认收到认证结果。



3.2 PAP认证流程



  1. 用户访问网站,经过AC重定向到Portal Server,推送认证页面;

  2. 用户输入用户名和密码,提交页面,发起连接请求;

  3. Portal Server直接发起认证请求至AC;

  4. AC进行RADIUS认证,获取结果;

  5. AC返回认证结果给Portal Server;

  6. Portal Server将结果填入页面,推送给用户;

  7. Portal Server确认收到认证结果。



四、用户下线流程


用户下线分为正常下线和异常下线两种情况:


4.1 正常下线流程



  1. 用户发起下线请求至Portal Server;

  2. Portal Server向AC请求下线;

  3. AC回应下线请求;

  4. Portal Server推送下线结果页面给用户。



4.2 异常下线流程



  1. AC侦测到用户下线,主动通知Portal Server;

  2. Portal Server回应下线成功。



五、数据报文格式


协议包采用固定长度头加可变长度属性字段组成,属性字段采用TLV格式。


5.1 报文字段说明



  • Ver: 协议版本号,长度为1字节,当前值为0x01;

  • Type: 报文类型,长度为1字节,具体值见规范;

  • Pap/Chap: 认证方式,长度为1字节,仅对Type为0x03的认证请求有意义;

  • Rsv: 保留字段,长度为1字节,值为0;

  • SerialNo: 报文序列号,长度为2字节,由Portal Server随机生成;

  • ReqID: 请求ID,长度为2字节,由AC设备随机生成;

  • UserIP: 用户IP地址,长度为4字节;

  • UserPort: 用户端口,长度为2字节,当前无用,值为0;

  • ErrCode: 错误代码,长度为1字节,具体含义见规范;

  • AttrNum: 属性个数,长度为1字节;

  • Attr: 属性字段,可变长,由多个属性依次链接而成。



六、参数说明



  • 此协议承载于UDP协议,AC设备在固定端口2000等待接收Portal Server发来的各种请求报文和确认报文。

  • 强制PORTAL URL中需包含特定参数,如wlanuserip、wlanacname等。

  • CHAP认证中的challenge由AC设备生成,长度为16字节。

  • 无论采用CHAP还是PAP认证,都允许用户口令为空。

  • 用户名为空时,Portal Server应使用缺省用户名代替。

  • 认证过程中各报文所带属性的个数建议如下:请求Challenge报文0个属性,请求认证报文2个属性(用户名、密码),其他报文根据具体情况确定。

  • 报文长度限制为最小16字节,最大1024字节。

  • 认证结果信息支持多国语言编码,Portal Server根据用户语言上下文推送对应信息页面。



推荐阅读
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 本文探讨了在 ASP.NET MVC 5 中实现松耦合组件的方法。通过分离关注点,应用程序的各个组件可以更加独立且易于维护和测试。文中详细介绍了依赖项注入(DI)及其在实现松耦合中的作用。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • 本文探讨了三种常用的数值求解方法——有限差分法(FDM)、有限元法(FEM)和有限容积法(FVM),并详细介绍了它们的基本原理及应用场景。 ... [详细]
  • 区块链赋能新零售:提升线下溯源防伪体验,保障线上消费安全
    通过区块链技术的应用,实现产品全流程溯源和防伪,为消费者提供更安全、放心的线上线下购物体验。 ... [详细]
  • 本文详细介绍了Java中的三大类设计模式:创建型模式、结构型模式和行为型模式,并探讨了设计模式遵循的六大原则,帮助开发者更好地理解和应用这些模式。 ... [详细]
  • 创建项目:Visual Studio Online 入门指南
    本文介绍如何使用微软的 Visual Studio Online(VSO)创建和管理开发项目。作为一款基于云计算的开发平台,VSO 提供了丰富的工具和服务,简化了项目的配置和部署流程。 ... [详细]
  • 深入理解一致性哈希算法及其应用
    本文详细介绍了分布式系统中的一致性哈希算法,探讨其原理、优势及应用场景,帮助读者全面掌握这一关键技术。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • 本文详细介绍如何通过修改配置文件来隐藏Apache、Nginx和PHP的版本号,从而增强网站的安全性。我们将提供具体的配置步骤,并解释这些设置的重要性。 ... [详细]
  • 本文探讨了大数据生态系统的构建,重点介绍其分布式存储和运算机制,并补充相关技术及应用场景。 ... [详细]
  • 本主题面向IT专业人士,介绍了Windows Server 2012 R2和Windows Server 2012中的组托管服务账户(gMSA),涵盖了其应用场景、功能改进、硬件和软件要求以及相关资源。 ... [详细]
author-avatar
sysv
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有