IMS服务器

UniFi 电脑 UniFi® 软件定义网络(SDN)平台是一款跨越不同区域的网络设备端到端系统,全部都通过一个管理界面控制

UniFi(APP) 手机 无需安装 UniFi® 控制器即可通过 UniFi® 手机应用管理 UniFi® AP

 

进军行业:UBNT的无线AP、控制器软件去给客户提供无线网络解决方案

 

 

 

 

分配服务器功能:

1、根据自主的负载均衡算法,平均分配设备连接的设备服务器

2、设备服务器上报数据的收集与统计

设备服务器

1、所有设备均匀连接到各设备服务器,保持tcp长连接,配置可快速下发。

2、设备服务器可根据当前负载状况动态增加减少,而不影响其他设备

      服务器正常使用。

3、某台设备服务器宕机,设备将重新连接到其他正常服务器,用户几乎无感知

 

各数据存储的说明:

存储方式 特点 存储数据

mysql 1、持续化存储,存放到磁盘。数据不会丢失。

        2、可配置主从数据库。方便数据同步、备份

        3、读取数据慢,性能较差 有较强关系逻辑的数据,

                                                           操作频率不高

                                                           数据可靠性高

                                                 如:项目管理、设备绑定

redis

        1、存放在内存,可支持持续化。

        2、读取数据速度快,性能好。

        3、对于存放关联性的数据存储不好, 数据操作频率较高

                                                        有较高性能需求

                                                        如:状态信息

磁盘 1、存储资源大,性价比较大读取效率一般要高于数据库 数据比较大

数据相对独立

                                              如:备份文件、配置文件

 

app设备添加的步骤:

  1. App连接设备的wifi发送udp广播包,设备端接收到报文。
  2. 设备端判断当前项目id是否为0,若为0则说明设备未绑定,返回app设备相关信息。
  3. App收到设备返回的数据,显示出可添加设备,用户勾选设备并选择项目将绑定请求发到设备端。
  4. 设备请求连接服务器,并将绑定的请求发送到服务器等待服务器绑定返回,同时立即返回app绑定成功。
  5. 同一时间,可以有多个app扫描到设备,但若其中一台app点击添加设备,则其他app之后再添加设备就会返回失败。
  6. 若添加设备后添加失败,其他app在五分钟内扫描到该台设备都不会收到设备的返回,若添加成功,则其他app在解绑之前都发送扫描,设备端都不会回复。

 

通信协议

路由设备因为需要及时上报、及时响应,其通信协议同之前不变,采用tcp长连接方式与服务器维持消息通道。

服务器的数据展示包括有app端和web端。web端肯定使用http(s)协议;app端由于是即开即用且同web端的接口有很多重复部分,而且android和ios平台上针对于http(s)的开发套件和库也非常完善,所以我们决定app端也使用http(s)作为通信协议。

 

 

Ims云管理平台获取信息

都是基于项目来管理设备。各设备的状态信息若从设备直接获取,会比较慢。所以采用状态信息从云服务器获取,各设备定时更新状态信息。这样即可以较快的获取到信息。且状态数据信息也相对有效。为了减少服务器的压力。状态信息上报设计为如下策略:

1)、触发式设备状态信息上报,由云服务器触发设备上报相关的状态信息。当app或者服务器web进行云管理时,触发设备定时上报设备信息.15s上报一次,默认上报3分钟,上报时间可由服务器下发配置。

2)、某些信息是需求显示历史记录,如wan速率、无线总速率、在线设备数等。数据上报间隔ucloud中设置为15s,但可以由服务器更改,当前服务器配置的上报时间间隔为20分钟一次以减缓服务器压力。该数值由服务器从配置中读取,下发到ucloud中,ucloud获取时间间隔,并用该间隔开启定时器,定时上报数据。

 

设备云管理模式和本地管理模式

两种模式的配置同步方式不一样。

云管理模式:用户可通过app或云服务器web页面管理设备。包括配置下发、状态获取等。本地则不能进行设备的管理。设备的配置以云端为准。当设备配置与云端不同时,则同步云端的配置到设备。

本地模式:用户只能在本地对设备进行配置操作。云端可以获取设备的配置信息和状态信息,但是不能对设备进行配置操作。如果本地有配置修改。15s上报一次配置信息。云服务器会保存两份配置信息,本地配置和云配置。该模式时只会使用本地配置。当切换为云模式时会去服务器同步云配置。

 

设备账号信息同步:

1.  设备端连上服务器后会向服务器发送自身的设备信息和账号项目等相关信息

2.  服务器收到数据后根据sn查数据库并比对数据

a). 若设备上报的cloud_id长度大于0,且等于数据库中的cloud_id则同步成功,

不进行其他操作。

b). 若数据库中cloud_id为0,而设备上报的cloud_id大于0,且项目id等于0,则服务器产生消息添加提醒推送给用户,。

c). 若数据库中cloud_id为0,而设备上报的clooud_id长度和项目id值都不为0则通知设备解绑

d). 若数据库中cloud_id长度大于0,而上报的cloud_id等于数据库中的cloud_id但是项目id等于0时,此时不产生消息提示,而是直接将账号信息同步到设备,设备绑定到之前的项目中。

3.  项目id为0的时候说明当前设备未添加到项目中,此时如果数据库没有绑定关系则直接添加消息提醒,若有绑定关系,则看设备上报的云平台唯一码是否与数据库中的一致,一致则直接同步绑定信息到设备,不一致则检查设备上报的唯一码在数据库中是否有效,有效则向该用户推送消息提醒。

 

 

服务器架构:

 

App/Web接入

App和Web使用互联网流行的nginx作为负载均衡器,如果在负载均衡中想要一些额外的功能比如说:限流、黑白名单、客户端类型统计等,可以使用openresty替换掉nginx,它的功能更强大

WEB服务器(http服务器)主要用于APP与WEB页面的接入。所有的请求都将连接到WEB服务器处理。Web服务器开发技术采用的nginx+openresty框架。该服务器主要有两个方面的作用:一是为了避免可能存在的攻击情况,网关处需要对http(s)请求做接入控制;二是对后端的应用服务器做负载均衡。

 

在不同的 WLAN 应用场景,要尽量保证用户能快速连接网络,需要实现无线用户的负载均衡。当某个 AP接入的用户过多时,用户体验下降,新用户无法接入,已经接入用户可能掉线,单个用户速率很低。负载均衡是指AC或者AP收集各个节点的负荷信息,进行相关算法决策,对分配给各节点的任务进行重新调度(进程迁移或任务调度),平衡各个AP的负荷差异, 最大化地利用网络资源。作用如下:(1)提高网络的整体吞吐量及频带利用率,充分利用资源;(2)减小拥塞AP的接入延迟,在线单个用户的带宽提高;(3)提高空闲AP的吞吐量,平分整个系统负担。

 

Ucloud工作流程大致为:

  1. Ucloud启动,初始化相关数据,注册云管理相关命令
  2. 后台进程连接到ucloud注册相关命令和实现函数的绑定
  3. 后台上报基本信息给ucloud例如sn,mac,版本等(若已绑定则连接服务器)
  4. Ucloud获取项目id和云平台唯一码,若未绑定则为空,同时开启udp广播接收
  5. app连接本地网络发现并管理设备(通过ucloud命令调度模块通知后台进程实现相关操作)

ucloud结构图

 

 

IMS云平台总体设计

 

构架概述

IMS云平台主要是解决用户逐一单台配置设备的繁琐,能满足快速配置一套网络解决方案,包括路由器、交换机、AP等。用户可以通过手机APP和WEB页面进行远程多台设备统一配置。大大减少设备的配置成本。并支持项目的概览,可以对一个项目中的所有设备

统一管理。对于后期的设备的维护和统计数据分析。提供很大帮助。

为了满足用户的需求和用户体验,则IMS云平台需求满足配置下发的生效的及时性,高并发时服务器的稳定性,呈现给用户的数据的可靠性。

基于上述的要求,IMS云平台需求大量的配套服务器。根据不同的实现功能分成不同的服务器。这些服务器从逻辑上讲是多台,物理上可能是一台。这个可能要根据当前具体的资源消耗来确定(cpu、内存、磁盘等)。可动态调整配置。设备服务器、应用服务器和数据服务器都可以根据需求动态增加,从而满足逐步增长的业务处理。

总体框架如下图:

 

 

 

总体设计图

服务器功能概述

     服务器的开发分为:分配服务器,设备服务器,数据服务器,监控服务器,WEB

服务器,应用服务器。各服务器都有自己的功能,来保证IMS

云平台的正常稳定运行。

分配服务器

 分配服务器是整个系统的核心,使用统一域名xxx.xxx.com。整个系统各种设备(路由器、交换机、AP)都通过解析该域名得到分配服务器的IP地址,然后建立相应连接,根据负载均衡将设备需要连接到的设备服务器的IP地址发给设备。这样软AC与服务器连接的IP是动态变换的,也可以保证设备服务器的动态增加和减少。

 

注意:Redis是一个进程,这里的Redis是指的调用Redis API。

 

    分配服务器的模块划分:

  1. 上报信息模块

上报信息给监控服务器,上报的数据采用Redis 的 发布订阅机制。

 

  1. 信息管理

管理设备服务器组上报的数据处理,设备服务器状态、在线接入的设备数的统计等信息。

 

  1. 负载均衡调度模块

将所有的软AC请求分配给设备服务器。可以通过设备服状态,负载状态等负载均衡。

  4  多线程处理模块

  处理所有设备请求连接,进行设备的认证流程处理。

设备服务器

设备服务器主要实现对所有软AC的管理,设备服务器之间相对独立。设备服务器所管理的软AC信息会上传到分配服务器中。当某一台设备服务器出现故障时,分配服务器删除连接到这台设备服务器的软AC信息。

每台设备服务器有一个公网IP,设备服务器启动时通过配置的分配服务器的IP地址进行连接,获得网络拓扑后,和分配服务器进行连接。这里可能会有几种情况:

  1. 设备服务器和分配服务器分别为同一个地方的多台物理主机时采用内网连接,

适用于一些比较大的节点。

 

 

  1. 设备服务进程和分配服务进程运行在同一台物理机,适用于一些小的节点。

 

 

设备服务器还要接受所有软AC的连接请求并将软AC信息上报到分配服务器。软AC与设备服务器保持长连接,当APP/WEB用户通过应用服务器找到软AC所属的设备服务器后,和APP/WEB的数据通道也就打通了。设备服务器就会担任着代理转发的任务以及后期一些云服务的主要工作,对性能的要求极高。

 

 

设备服务器模块划分:

  1.   当前设备数据管理

管理所有连接该设备服务器的设备信息(IPCOM支持IMS的设备)

 

  1.  上报信息模块,不尽上报状态,还需要上报日志。

上报软AC信息给分配服务器。

上报设备服务器本身的状态。

 

  1.  转发模块

确定APP/WEB和软AC的绑定关系后,负责处理转发命令,转发APP/WEB和软AC的通信消息数据。

 

  4  逻辑功能模块

处理发送给服务器的命令,比如认证,上传,通知等功能的实现。

 

监控服务器

为了实现对全网数据的掌控,我们将分配服务器的数据上报给监控服务器,监控服务器里需要内置数据库,负责将一些重要数据备份。将接收到的分配服务器的日志信息,状态信息,写入相应的数据库。

 

WEB服务器

  WEB服务器(http服务器)主要用于APP与WEB页面的接入。所有的请求都将连接到WEB服务器处理。Web服务器开发技术采用的nginx+openresty框架。该服务器主要有两个方面的作用:一是为了避免可能存在的攻击情况,网关处需要对http(s)请求做接入控制;二是对后端的应用服务器做负载均衡。

 

 

 

Web服务器模块划分:

1  配置模块

主要是对访问控制模块的参数配置。比如限制速率、IP限制等;负载均衡模块中应用服务器的新增和删除。满足负载均衡的要求。

   2  访问控制模块

  负责对接入请求的限制。包括总速率限制和IP黑名单功能:

WEB限速表示限制每秒请求数,具体分为总接入限速和ip限速。总接入限速表示WEB网关的每秒接入请求有一个上限值,ip限速表示WEB网关对于固定ip的接入请求有一个上限值。

IP黑名单表示对特定IP做访问控制,禁止该IP访问WEB业务。

   3  负载均衡模块

 对于将请求转给后端应用服务器时做负载均衡。基于openresty框架下的upstream模块开发的。通过对请求源ip hash后取模来选取服务器,然后把请求转发到该服务器进行处理。当后端有多个应用服务器时,能够将请求分摊到各服务器上,减少应用服务器的压力。

 

 

应用服务器

应用服务器是整个平台的业务处理中心。所有的APP/WEB请求都会转发应用服务器进行处理。设备服务器的数据上报也会发送到应用服务器进行处理。应用服务器对外提供了多种协议RPC接口:http(https)和tcp。

APP/WEB接入为http(https)协议,采用GO语言自带的gin框架。根据不同请求注册不同的实现函数来完成业务处理。设备服务器与应用服务器的数据通信采用自己实现的TCP协议RPC。保证两个服务器的双向通信。

应用服务器可以根据业务处理的压力情况进行动态的增加和减少。能达到灰度操作,对于当前的业务处理不会有影响。对于用户来说是无感知的。应用服务器不直接对数据库做操作。所有数据库相关操作都会发给数据服务器去处理。

 

 

 

应用服务器模块划分:

1  接入模块

负责处理接收APP、WEB页面、设备服务器发送的请求。http(https)使用gin框架来处理,对请求的token的有效性验证;tcp协议使用套接字监听端口来接收设备服务器的请求。

   2  配置模块

 主要是读取和解析应用服务器的配置文件,包括所监听的端口,连接数据服务器的IP、端口等。

  1. 数据交互流向

软AC云平台包括的是:软AC、WEB、服务器之间的交互。WEB通过服务器做为中转。对软AC进行统一的管理。那么它们的具体的数据流程是什么呢?

 

 

 

 

连接协议

 

软AC云平台连接协议有两种TCP和HTTP/HTTPS(APP本地扫描是使用udp广播包,用于设备发现,不用于数据交互)。

1)软AC与服务器为tcp长连接。一旦建立就保持连接,心跳包维持连接。

2)设备服务器与应用服务器为tcp连接。通过封装RPC进行通信

3)APP/WEB、WEB服务器、应用服务器为HTTP/HTTPS连接。

4)应用服务器、数据服务器、数据库(mysql/redis)为tcp连接,通过调用封装RPC通信.

3.2 数据流

 ●APP/WEB配置数据(如图中1号虚线):

1)与软AC无关模块,如账号系统、方案生成、项目管理等业务。处理完成后,直接将数据写到服务器上。

数据流向:APP/WEB—>WEB服务器—>应用服务器—>数据服务器—>数据库

2)与软AC有关,如解绑等业务。

数据流向:APP/WEB—>WEB服务器—>应用服务器—>数据服务器—>数据库

 ———>设备服务器—>软AC ●APP/WEB数据获取(如上图3号虚线)

APP/WEB的数据获取,为了保证数据能及时返回,所有的数据都是从服务器上直接获取。

数据流向:APP/WEB—>WEB服务器—>应用服务器—>数据服务器—>数据库

 

●软AC数据上报(如上图2号虚线):

   软AC向服务器上报数据,目前就控制器详情

 

   数据流向:软AC—>设备服务器->应用服务器->数据服务器->数据库

 

 

  1. 基本概念

1) 项目管理

 软AC云平台引入项目的概念,即对多台设备统一管理的集合。账号与软AC绑定,一个账号下可以管理多个软AC。

 

2)云模式与本地模式

设备端有两种管理模式:云模式和本地管理模式。

云模式:APP和远程WEB页面可以软AC进行管理。目前就对控制器的解绑。本地是无法接触软AC和服务器之间绑定关闭

本地管理模式:用户只能在本地对设备进行配置操作。云端可以获取设备的配置信息和状态信息,但是不能对设备进行配置操作。本地配置也会触发式上报到服务器上。该规则不会覆盖云服务器本身的规则。

 

3)数据上报

当前由软AC项目采用定时上报数据控制器详情数据,后续会根据压力做出调整

 

    4)软AC的sn

软AC连接云服务器后会分配一个sn作为唯一标识,用于确定软AC、账号之间的绑定关系。

 

  1. 技术细节

主要介绍下软AC云平台逻辑相对比较重要和复杂的功能。

设备和控制器的绑定

设备初始默认关闭控制器维护,此时未连接到控制器。想要连接到控制器步骤如下:

 

  1. 控制器发起udp广播包,设备端接收报文。
  2. 设备回复控制器设备基础相关信息。
  3. 控制器收到设备返回的数据,选择绑定或抢占,并将请求发到设备端。
  4. 设备检验控制器的账户信息成功后,回复控制器绑定成功,并和控制器建立新的TCP连接

 

 

注:当设备和控制器存在绑定关系时,若设备或控制器一方断开了TCP连接,当控制器再次发起扫描操作时,控制器收到设备信息后不用再手动选择是否绑定,默认直接发起绑定(借此实现断线重连)

 

 

流程图:

 

 

 

控制器和服务器的绑定

当软AC控制器选择和服务器连接后,服务器会将根据软AC分配的sn以及对应的云账号进行一个关系绑定。该绑定关闭只能有web端去选择遗忘解绑,软AC端可以做到切换绑定账号,但无权限去删除服务器保存的绑定关系。

 

注:账号可以在不同电脑上同时登录,同一电脑不能同时启动两个软AC客户端。

 

数据上报

上报分为两部分:设备上报给控制器,软AC上报给服务器

 

设备上报控制器 数据大致分为两部分,统计模块和射频优化模块

统计模块包含:设备状态,无线等终端数统计,日志信息,告警信息,丢包统计以及关联失败事件。由设备在绑定后定时上报,时间间隔1分钟

 

 

射频优化模块:由控制器触发射频优化后,设备执行优化操作,若30s内为未返回优化结果则优化失败。

 

 

软AC向服务器上报控制台的详情,采用定时上报,时间间隔1分钟

 

负载均衡:

负载均衡是比较常见的技术,目前负载均衡的常用算法有以下几个:

  1. 轮询法

负载均衡器按照请求顺序轮流分配到后台服务器上,均衡地对待每一台服务器。

其不适合作为IMS中消息中心负载均衡算法的原因是这种算法忽略了后台机器的真实负载状况,会造成业务服务器的真实压力不均衡,并且当有新机器加入的时候不能快速地进行负载均衡。

  1. 随机分配法

负载均衡系统按照随机函数,根据后台服务器列表的大小值来随机选取其中一台进行访问。随着调用次数增大,其实际效果越来越接近平均分配,达到轮询法的效果。

其不适合作为IMS消息中心负载均衡算法的原因也同轮询法一样。

  1. 源地址哈希法

它是根据客户端ip,通过哈希函数计算得到一个哈希值,然后根据哈希值确定后端服务器地址的序号。采用这种算法进行负载均衡,相同的IP地址,如果服务器列表不变,将映射到同一个后台服务器进行访问。

其不适合作为IMS消息中心负载均衡算法的原因也同轮询法一样。

  1. 加权轮询法

不同的后台服务器可能机器的配置和当前系统的负载并不相同,因此其抗压能力也不一样。对不同的机器赋予不同的权重,按照权重使用轮询法选取后台服务器。

其不适合作为IMS消息中心负载均衡算法的原因是因为只使用权重值并不能很好的对系统负载做整体的预判,还需要对数据做额外的处理才行。

  1. 加权随机法

其和加权轮询法类似,也是根据后台服务器的配置和负载来计算权重。不同的是它使用随机法选取后台服务器。

这种算法比较契合消息中心的业务逻辑,适合作为IMS消息中心的负载均衡算法。

使用加权随机法最重要的是计算权重值,由于权重值是动态变化的,所以我们使用数据服务器上报的速率值来计算权重值,具体的计算过程如下:

  1. 根据上报的所有数据服务器的数据,记录当前速率最大的值
  2. 遍历所有的速率值,计算出最大速率除以每个服务器速率的商
  3. 如果速率为0,则该服务器权重为16;如果商>1000,则该服务器权重为16;如果1000>商>100,则该服务器权重为8;如果100>商>10,则该服务器权重为4;如果10>商>1,则该服务器权重为2;其余情况服务器的权重值为1。
  4. 权重值即为负载的几率,权重为16的服务器比权重8的服务器得到负载的几率多一倍

需要注意的一点是:应用服务器只会同一台数据服务器建立连接,当有新的应用服务器上线时,数据服务器的业务速率并不会平滑增加,而是会出现跳变的现象。

 

  1. 模块的概述

在不同的 WLAN 应用场景,要尽量保证用户能快速连接网络,需要实现无线用户的负载均衡。当某个 AP接入的用户过多时,用户体验下降,新用户无法接入,已经接入用户可能掉线,单个用户速率很低。负载均衡是指AC或者AP收集各个节点的负荷信息,进行相关算法决策,对分配给各节点的任务进行重新调度(进程迁移或任务调度),平衡各个AP的负荷差异, 最大化地利用网络资源。作用如下:(1)提高网络的整体吞吐量及频带利用率,充分利用资源;(2)减小拥塞AP的接入延迟,在线单个用户的带宽提高;(3)提高空闲AP的吞吐量,平分整个系统负担。

 

  1. 设计思路及原理

负载均衡模块设计思路是基于接入式负载均衡和切换式负载均衡。当AP负载较重时,拒绝该 AP 与新加入的终端关联,新加入网络的终端只好寻找其他负载较轻的AP进行连接,从而在一定程度上实现负载的均衡调度。AP之间通过AC进行有线连接,通过负载均衡机制相互传递负载相关信息参数,根据这些信息,判断出各AP之间的负载状况进行负载均衡决策。

在客户端成功连接AP前进行客户端连接数和流量统计判断是否超过阈值可连接,若超过阈值,AP拒绝客户端的连接请求,若没有超过阈值,AP处理并连接客户端的连接请求。

 

  1. 逻辑架构

负载均衡的实现依赖于AC端的决策和AP端的信息采集。其中AP端的射频管理主要负责AP相关信息的采集及与AC端信息收集分析模块交互;AC端的信息收集分析模块与负载均衡信息交互处理构成了负载均衡决策。

 

 

 

  1. 关键流程图及说明

AP数据采集(AP实时向AC上报自身信息)->分析(AC实时或定时对收集数据进行分析评估)->决策(AC根据负载均衡算法决策,更新AP决策)->执行(AP 执行AC 下发的配置,进行网络资源调优)。

AP侧的数据采集模块定时向AC通告自身状态信息,包括频段繁忙情况、收发包统计、用户接入数、AP流量及负荷、邻居AP状态信息等动态数据;AC侧的负载均衡模块对AP上报数据做分析,当检测到某AP拥塞或信道繁忙时,如果邻居范围内存在空闲且可接入的AP,将向该AP发送拥塞指令;AP收到AC均衡调度指令后,禁止响应后续工作站的探测请求以及关联请求(该过程的目的是引导客户端关联至邻居未拥塞的AP上),直至收到AC的解除拥塞指令才允许新的无线客户端关联(此过程中终端可能在关联上合适的AP之前需要不断尝试连接不同AP花费掉时间,降低了用户体验度)。

一,信息采集

AC对整个网络的负载进行集中决策控制,必须要收集所有AP的负载状态信息,所以AP务必要将负载信息通告给AC。AP采集的信息包括:连接会话的客户端数目,AP实时流量,工作信道,信道使用率,信号强度,信道带宽,可接入用户数,SNR等。

二,分析(定时周期轮询)

  1. AP收到客户端连接请求通知(终端请求连接消息通知函数接口需提供给负载均衡模块),STA向AP发送的请求连接过程上传至AC处理。
  2. 客户端发送连接请求时,AC根据当前AP接入数负载状态判断是否可接入,如果没有超过当前AP的负载阈值则允许STA接入。
  3. 在2)中如果超过阈值,则通过4)中的遍历扫描,通过比较该STA可连接的其他AP的负载状态,若STA可见的AP中有负载数小于当前请求连接即将接入的AP,则不允许当前AP接入,使其接入至其他负载较轻的AP(此时由AC负责迁移连接AP),并记录STA的MAC地址不回应请求连接。若STA可见的AP中没有可接入负载数小于当前AP的,则进行流量负载判断进行下一步判断,根据负载均衡算法进行负载调整,使客户端接入到合适的AP;若通过4)中的遍历扫描,查找不到其他可接入的AP,即只有当前AP可接入时允许STA直接接入,此时不考虑负载状态,在下一个轮询周期内再进行负载调整。
  4. 根据终端请求连接或已上线连接的AP的AP MAC,AC遍历检查该AP所有已关联的终端,以及同一AC网络中该AP的邻居AP,检查客户端扫描到的可见AP的负载状态;若查找不到邻居AP,则创建对应的关联终端记录;
  5. 若以上几步负载状态调整均失败,则允许用户直接接入;

分析流程图(1)如下:

 

流程图(1)

三,决策

当前负载均衡决策判断条件最大连接数,最大流量的处理。最大连接数通过设置AP同时接入STA数目;最大流量通过AP侧统计当前STA业务处理流量;信道利用率是信道实际用量与信道容量的比值,通过AP获取并计算;信号强度由AP将参数返回给AC。

当前已连接AP的连接数负载达到80%时不再让客户端接入(此时的80%是预设参数,需在调试中不断确认);当已连接AP与邻居AP的连接数负载差值在10%(此时的10%是预设参数,需在调试中不断确认)内时考虑流量负载(类似于连接数负载预设参数)、信道利用率负载以及信号强度负载,当这几个参数指标差值都在10%范围内时无需进行踢除用户进行负载切换,以免影响用户体验。决策中的阈值设定需要在实际环境中进行调整。

四,执行

AP通过判断执行决策中的参数指标是否允许客户端接入和客户端接入后踢除已连接客户端进行负载调整,其中踢除客户端的参数暂定为流量和信号强度(其中动态调整后续优化)。流程图(2)是客户端扫描连接上线前的过程。

客户端关联流程图(2)如下:

 

 

流程图(2)

你可能感兴趣的:(云服务器)