锐捷N18010 部分终端识别有误
一、故障现象
客户在使用N18007时出现十几个终端识别类型有误,把ios移动端识别成ios的pc、安卓手机识别成windows等情况,由于sam服务器的套餐有限制终端的个数类型,识别错误会导致终端无法上网。

二、故障排查分析
-
原理介绍以及局限性说明
锐捷终端识别指纹数据库综合运用了MAC OUI、DHCP option 55、60和HTTP User-Agent三种终端类型识别方法,并根据其可靠性设定了优先级。
1)MAC OUI识别
MAC地址前6位16进制数代表网络硬件制造商的编号,即OUI(rganizationally unique identifier 组织唯一标识符)。终端设备接入网络,首先发起身份认证,认证请求报文中携带设备的MAC地址,从而识别OUI。
使用该方案因为厂商会有多个OUI,而且还会出现混用的情况,例如终端直接使用网卡原厂的MAC地址,导致部分终端都是相同的OUI,从而无法识别。并且MAC地址容易更改、仿冒,识别容易出现误差。因此,MAC OUI的识别方式优先级最低。
2)DHCP请求识别
终端设备在接入网络过程中会发起DHCP请求,接入设备将DHCP请求透传给N18K设备,N18K截获DHCP请求报文,并解析DHCP报文属性,将根据终端设备的Option 55或Option 60信息进行数据库匹配识别。如下图Option 55中的value字段,其中370103060F77FC信息表示Apple ios终端,以及Option 60中的Vendor class identifier字段,其中MSFT 5.0表示终端为光猫。

Option 55中的value字段

Option 60中的Vendor class identifier字段
并且该方式一般只能识别到操作系统,无法识别出具体设备,以及会存在有些终端不上报DHCP option60的Vendor class identifier字段或Option 55中的value字段,并且DHCP的option也可以更改,因此也会出现误报。
3)HTTP User-Agent识别
终端设备进行web认证,用户访问web站点,会发出HTTP请求,N18K设备根据终端设备的HTTP报文的User-Agent字段进行数据库匹配识别,如下图的User-Agent识别到的终端类型为windows。

由于有些终端只上报浏览器类型和操作系统的类型,不上报终端类型,并且浏览器可以修改UA字段,导致设备对终端识别不准确。因此,准确识别出终端类型需要有一个覆盖所有终端UA映射的指纹数据库,而此数据库的更新需要建立在UA的指纹采集上,存在很大的滞后性,会存在一定的误判漏判问题。
-
故障现场收集及定位
从现场收集的信息可知当时故障时总的终端数有3W+,出现十几个终端报障,设备携带的终端数据库为系统自带,未进行更新。如下图用户使用的安卓手机会被识别成windows的现象:

故障终端识别信息
通过更新数据库后(最新为2021年04版本),用户使用的小米移动端被识别成小米PC,识别依旧不准确。

升级最新终端数据库识别信息
综上,由于终端识别运用的三种终端类型识别方法均有局限性,因此会存在一定的误判漏判问题。
三、故障根因说明
触发原因:终端设备接入网络后,设备会通过终端上传报文中的mac地址、DHCP请求信息、http请求信息中的终端信息对终端识别指纹特征库进行匹配,判断出终端所属类型,而现场出现终端特征信息在特征库中无相关记录,导致匹配出现异常。
根本原因:设备使用的终端识别特征库的更新速率远远赶不上市面上新终端的更新速率,最新的特征库也无法涵盖全所有终端类型,导致终端识别存在一定的识别不准确,从而出现故障。
四、故障解决方案
鉴于终端识别的准确性强依赖终端识别指纹数据库(即使最新的指纹库识别准确性也只能做到85%以上),且也无法做到百分百准确识别终端类型,而sam的套餐方案设置会出现部分终端无法正常上网的问题,因此建议更改sam的套餐方案进行规避,sam的套餐修改位置如下图所示:

sam套餐位置
-
增加终端的类型(无线移动终端、电脑和其他)以及数量(重复登陆次数):

接入控制基本信息
-
手动校正终端类型,例如电脑被识别成手机时,修改终端类型为电脑,识别方式为手动校正。如下图:

手动校正终端类型
五、经验总结
终端识别类型没有对外准出过,其准确性终端识别指纹数据库关联,设备使用的终端识别特征库的更新速率远远赶不上市面上新终端的更新速率,最新的特征库也无法涵盖全所有终端类型,导致终端识别存在一定的识别不准确。
阅读剩余
版权声明:
作者:SE_You
链接:https://www.cnesa.cn/4521.html
文章版权归作者所有,未经允许请勿转载。
THE END