作者:sysv | 来源:互联网 | 2024-12-24 16:47
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认证流程
- 用户访问网站,经过AC重定向到Portal Server,推送认证页面;
- 用户输入用户名和密码,提交页面,发起连接请求;
- Portal Server向AC请求Challenge;
- AC生成并返回Challenge给Portal Server;
- Portal Server发起认证请求至AC;
- AC进行RADIUS认证,获取结果;
- AC返回认证结果给Portal Server;
- Portal Server将结果填入页面,推送给用户;
- Portal Server确认收到认证结果。
3.2 PAP认证流程
- 用户访问网站,经过AC重定向到Portal Server,推送认证页面;
- 用户输入用户名和密码,提交页面,发起连接请求;
- Portal Server直接发起认证请求至AC;
- AC进行RADIUS认证,获取结果;
- AC返回认证结果给Portal Server;
- Portal Server将结果填入页面,推送给用户;
- Portal Server确认收到认证结果。
四、用户下线流程
用户下线分为正常下线和异常下线两种情况:
4.1 正常下线流程
- 用户发起下线请求至Portal Server;
- Portal Server向AC请求下线;
- AC回应下线请求;
- Portal Server推送下线结果页面给用户。
4.2 异常下线流程
- AC侦测到用户下线,主动通知Portal Server;
- 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根据用户语言上下文推送对应信息页面。