发明内容
本发明提供一种AP故障检测方法和设备,能够克服现有技术中通过LWAPP超时协议判断AP故障的方式所存在AP故障检测时间较长的问题。
为了达到上述目的,本发明实施例提供一种AP故障检测方法,应用于包含了多个AP和至少一个AC组成的WLAN,该方法包括以下步骤:
AC接收AP上报的故障报告信息,所述故障报告信息为所述AP检测到所述AP需要检测的邻居AP故障时上报给所述AC的信息,所述故障报告信息用于指示所述邻居AP故障;
所述AC根据所述故障报告信息,确定所述邻居AP故障。
优选的,所述方法还包括:
所述AC向所述AP发送邻居通告信息,所述邻居通告信息包括为所述AP分配的需要检测的邻居AP的标识信息,以便所述AP对分配的需要检测的邻居AP进行故障检测。
优选的,所述AC向所述AP发送邻居通告信息之前,所述方法还包括:
所述AC接收各个AP对相邻AP的检测信息,其中,所述检测信息包括AP接收到相邻AP发送的无线信号的信号接收强度RSSI及相邻AP的标识信息;
所述AC根据接收到的检测信息中携带的相邻AP的标识信息以及对应的RSSI为各个AP分配需要检测的邻居AP。
优选的,所述AC根据接收到的检测信息中携带的相邻AP的标识信息以及对应的RSSI为各个AP分配需要检测的邻居AP,具体包括:
所述AC根据所述检测信息中的各相邻AP的标识信息,统计所有AP针对同一个相邻AP上报的RSSI,并将该同一个相邻AP作为需要检测的邻居AP分配给针对该同一个相邻AP上报的RSSI最强的AP。
优选的,所述AC根据所述故障报告信息确定所述邻居AP故障,具体包括:
所述AC根据所述故障报告信息,确定所述AP检测的出现故障的所述邻居AP,并确定所述AC接收到其他AP上报的指示所述邻居AP故障的故障报告信息时,确定所述邻居AP故障;
或者,所述AC在预设时间内接收到所述AP上报的预设数量的用于指示所述邻居AP故障的故障报告信息时,确定所述邻居AP故障。
优选的,所述AC确定所述邻居AP故障之后,所述方法还包括:
所述AC向所述AP发送替换通知消息,所述替换通知消息用于指示所述AP模拟出现故障的所述邻居AP广播故障信息,以使得接入所述邻居AP的客户端接收到所述故障信息后重新选择AP接入,所述故障信息用于指示所述邻居AP故障。
本发明实施例还提供了另外一种AP故障检测方法,包括:
AP确定自身需要检测的邻居AP,并判断距上一次接收到所述邻居AP发送的无线信号的时间超过预设值时,确定所述邻居AP故障;
所述AP确定所述邻居AP故障时,向所述AC上报故障报告信息,所述故障报告信息用于指示所述邻居AP故障,以便所述AC根据所述故障报告信息确定所述邻居AP故障。
优选的,所述方法还包括:
所述AP接收所述AC发送的邻居通告信息,所述邻居通告信息包括为所述AP分配的需要检测的邻居AP的标识信息,并根据所述邻居通告信息确定需要检测的邻居AP,所述邻居通告信息包括为所述AP分配的需要检测的邻居AP的标识信息。
优选的,所述方法还包括:
所述AP将对相邻AP的检测信息上报给AC,所述检测信息包括所述AP接收到的相邻AP发送的无线信号的信号接收强度RSSI及相邻AP的标识信息,以便所述AC基于各AP上报的检测信息中携带的邻AP的标识信息以及对应的RSSI为各AP分配需要检测的邻居AP。
优选的,所述AP在向所述AC上报故障报告信息之后,所述方法还包括:
所述AP接收所述AC发送的替换通知消息,并根据所述替换通知消息模拟出现故障的所述邻居AP广播故障信息,以使得接入所述邻居AP的客户端接收到所述故障信息后重新选择AP接入,所述故障信息用于指示所述邻居AP故障。
本发明实施例提供了一种接入控制器AC,包括:
接收模块,用于接收AP上报的故障报告信息,所述故障报告信息为所述AP检测到所述AP需要检测的邻居AP故障时上报给所述AC的信息,所述故障报告信息用于指示所述邻居AP故障;
故障确定模块,用于根据所述故障报告信息,确定所述邻居AP故障。
优选的,所述AC还包括:
邻居通告模块,用于向所述AP发送邻居通告信息,所述邻居通告信息包括为所述AP分配的需要检测的邻居AP的标识信息,以便所述AP对分配的需要检测的邻居AP进行故障检测。
优选的,所述接收模块还用于,在邻居通告模块向所述AP发送邻居通告信息之前接收各个AP对相邻AP的检测信息;其中,所述检测信息包括AP接收到相邻AP发送的无线信号的信号接收强度RSSI及相邻AP的标识信息;
所述AC还包括:
邻居分配模块,用于根据接收到的检测信息中携带的相邻AP的标识信息以及对应的RSSI为各个AP分配需要检测的邻居AP。
优选的,所述邻居分配模块,具体用于根据所述检测信息中的各相邻AP的标识信息,统计所有AP针对同一个相邻AP上报的RSSI,并将该同一个相邻AP作为需要检测的邻居AP分配给针对该同一个相邻AP上报的RSSI最强的AP。
优选的,所述故障确定模块具体用于根据所述故障报告信息,确定所述AP检测的出现故障的所述邻居AP,并确定所述接收模块接收到其他AP上报的指示所述邻居AP故障的故障报告信息时,确定所述邻居AP故障;或者,在预设时间内接收到所述AP上报的预设数量的用于指示所述邻居AP故障的故障报告信息时,确定所述邻居AP故障。
优选的,所处AC还包括:
故障响应模块,用于在所述故障确定模块确定所述邻居AP故障之后,向所述AP发送替换通知消息,所述替换通知消息用于指示所述AP模拟出现故障的所述邻居AP广播故障信息,以使得接入所述邻居AP的客户端接收到所述故障信息后重新选择AP接入,所述故障信息用于指示所述邻居AP故障。
本发明实施例还提供了一种接入点AP,包括:
故障检测模块,用于确定自身需要检测的邻居AP,并判断距上一次接收到所述邻居AP发送的无线信号的时间超过预设值时,确定所述邻居AP故障;
故障上报模块,用于在所述故障检测模块检测到需要检测的邻居AP故障时向接入控制器AC上报故障报告信息,所述故障报告信息用于指示所述邻居AP故障,以便所述AC根据所述故障报告信息确定所述邻居AP故障。
优选的,所述AP还包括:
邻居AP确定模块,用于接收所述AC发送的邻居通告信息,并根据所述邻居通告信息中的AP的标识信息确定需要检测的邻居AP,所述邻居通告信息包括为所述AP分配的需要检测的邻居AP的标识信息。
优选的,所述AP还包括:
检测信息上报模块,用于将对相邻AP的检测信息上报给AC,所述检测信息包括所述AP接收到的相邻AP发送的无线信号的信号接收强度RSSI及相邻AP的标识信息,以便所述AC基于各AP上报的检测信息中携带的相邻AP的标识信息以及对应的RSSI为各AP分配需要检测的邻居AP。
优选的,所述AP还包括:
故障通报模块,用于在向所述AC上报故障报告信息之后,接收所述AC发送的替换通知消息,并根据所述替换通知消息模拟出现故障的所述邻居AP广播故障信息,以使得接入所述邻居AP的客户端接收到所述故障信息后重新选择AP接入,所述故障信息用于指示所述邻居AP故障。
与现有技术相比,本发明实施例至少具有以下优点:通过使AP判断邻居AP发生故障后,向AC发送故障报告信息,通告AC该邻居AP发生故障,能够避免各个AP向AC频繁发送大量的、无用的心跳报文,节省了AP与AC之间的带宽资源;同时,也无需AC对每个AP是否发生故障进行判断,降低了AC的工作负担;并且,本发明实施例中,AP在检测到邻居AP故障后立即上报给AC,使AC设备能够及时获知该邻居AP故障,降低了AC检测到AP故障的时间,提高故障检测效率。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
本发明实施例一提供了一种AP故障检测方法,应用于包含了多个AP和至少一个AC组成的WLAN中,在该WLAN中,AC可与多个AP无线连接。本实施例中,AC可根据AP上报的故障报告信息,确定AP所检测的邻居AP是否故障,具体地,如图2所示,本发明实施例一提供的AP故障检测方法可以包括以下步骤:
步骤201,AC接收AP上报的故障报告信息,所述故障报告信息为所述AP检测到所述AP需要检测的邻居AP故障时上报给所述AC的信息,所述故障报告信息用于指示所述邻居AP故障。
本步骤中,AP可对一个或多个AP进行检测,即AP需要检测的邻居AP可以是一个或多个。其中,AP需要检测的邻居AP,具体可以是预先设定的,或者由AP自己选定的,或者由AC下发给AP的,本实施例中以AC下发为例进行说明。
本领域技术人员可以理解,若AP仅检测一个邻居AP(即AC向AP仅下发一个需要检测的邻居AP),则AC接收到故障报告信息后,就可以根据自身下发的信息,确定该AP检测出的故障的邻居AP;若AP同时检测多个邻居AP(即AC向AP下发多个需要检测的邻居AP),则AP发送的故障报告信息中应该携带发生故障的邻居AP的标识信息,比如邻居AP所使用的BSSID(BasicServiceSetIdentifier,基本服务集标识)等,以使AC设备判断具体是哪个AP设备发生了故障。
步骤202,所述AC根据所述故障报告信息,确定所述邻居AP故障。
对应于步骤201,如果AC仅为各个AP分别分配并下发了一个需要检测的邻居AP,即各个AP需要检测的邻居AP只有一个,则AC在接收到AP发送的故障报告信息后,根据发送该故障报告信息的AP即可确定该故障报告信息针对的AP,即故障的AP。如果AC为各个AP都分配了多于一个AP作为其需要检测的邻居AP,则AC需要根据故障报告信息中携带的AP的标识信息确定该故障报告信息针对的AP。
本实施例中,通过使AP判断邻居AP发生故障后,向AC发送故障报告信息,通告AC该邻居AP发生故障,能够避免各个AP向AC频繁发送大量、无用的心跳报文,节省了AP与AC之间的带宽资源。同时也无需AC对每个AP是否发生故障进行判断,降低了AC的工作负担。并且,本发明实施例中,AP在检测到邻居AP故障后立即上报给AC,使AC设备能够及时获知该邻居AP故障,降低了AC检测到AP故障的时间,提高AP故障检测效率。本实施例在达到快速提高AP故障检测效率的同时,可避免AP与AC之间的进行故障检测的报文交互数量,节省带宽资源。
本发明另外一个实施例二提供了一种AP故障检测方法,应用于包含了多个AP和至少一个AC组成的WLAN,本发明实施例二中,AP可实时对需要检测的邻居AP进行检测,并在检测到邻居AP故障时,实时上报给AC,以使得AC确定该邻居AP是否故障,具体地,如图3所示,本发明实施例二提供的AP故障检测方法可以包括以下步骤:
步骤301,AP确定自身需要检测的邻居AP,并判断距上一次接收到所述邻居AP发送的无线信号的时间超过预设值时,确定所述邻居AP故障。
本领域技术人员可可以理解,这里的无线信号具体可以是指无线通信***中的无线通信信号,例如信标帧等。具体地,本实施例中的无线信号可以是包括用于携带实际数据内容的数据帧和用于进行状态交互或者时间同步的信标帧,如果AP在预设的时间内没有接收到自身需要检测的邻居AP发送的任何无线信号,则认为在该预设值对应的时间内需要检测的邻居AP没有向外发送任何无线信号,此时,AP就可以确定所述邻居AP故障。在实际应用中,WLAN内的各个AP必须按照预设的周期(该预设的周期由用户自行设定,一般在20-1000ms之间)向外发送信标帧进行无线网络连接的同步,或者通告自身的状态信息。因此,在本发明优选的实施方式中,如果AP在预设的时间内没有接收到需要检测的邻居AP发送的信标帧,则可以判定邻居AP故障。
具体应用中,可以使AP针对需要检测的邻居AP设置对应的计时器,并在接收到邻居AP发送的无线信号后,将该邻居AP对应的计时器置为0。如果AP一直未接收到自身检测的某个邻居AP发送的无线信号,则该邻居AP对应的计时器的计数会逐渐增加直至超过预设值,此时,AP认为在该预设值对应的时间段里该邻居AP没有发送无线信号,此时,该AP认为该邻居AP故障。
步骤302,所述AP向所述AC上报故障报告信息,所述故障报告信息用于指示所述邻居AP故障,以便所述AC根据所述故障报告信息确定所述邻居AP故障。
本发明实施例中,通过使AP在判断邻居AP设备发生故障后,向AC上报故障信息,避免各个AP向AC频繁发送大量的、无用的心跳报文,节省AP与AC之间的带宽资源,降低AC的工作负担。同时本发明实施例中,可允许通过调低AP没有接收到邻居AP所允许的预设时间值的方式,提高AP故障检测的及时性。
基于上述实施例一或二,本发明实施例三还提供了另外一种AP故障检测方法,本发明实施例中,假设所述无线信号具体为信标帧,并假设AP2为AP1所需要检测的邻居AP,如图4所示,可包括如下步骤:
步骤401,AP1判断距上一次接收到邻居AP2发送的信标帧的时间是否超过预设值;若是,则转向步骤402,若否,则结束流程。
本发明实施例中,可将AP在预设时间(即上述预设值),例如3个信标帧周期内是否接收到邻居AP发送的信标帧作为邻居AP是否发生故障的判断标准,这样,如果AP在预设时间内,没有接收到邻居AP发送的信标帧,就可以确定邻居AP故障。
步骤402,AP1向AC设备发送故障报告信息。
步骤403,AC接收AP1发送的故障报告信息,并根据故障报告信息确定AP2故障。
步骤404,AC向AP1下发替换通知消息,其中携带了AP2故障前所使用的BSSID。
实际应用中,AC上会记录每个AP实际使用的BSSID。本步骤中,AC向AP1下发替换通知消息中携带了所有AP2在故障前使用的BSSID,用于表示邻居AP,即AP2故障,指示AP1代替AP2发送信息给接入AP2的客户端,通知AP2故障。
步骤405,AP1接收AC发送的替换通知消息后,以AP2故障前所用的各个BSSID作为BSSID广播故障信息,通告接入AP2的客户端重新选择AP接入。
其中,故障信息用于指示接入AP2的各客户端邻居故障,这样,接入AP2的各客户端就可以重新选择新的AP接入无线网络,避免通信中断。
本步骤之后,对于那些接入到AP2的客户端来说,会在接收到AP1发送的信标帧后进入漫游状态,选择新的AP重新接入。而对于那些没有接入到AP2的客户端来说,则不受影响。
本发明实施例三中,通过使AC在判断AP2故障后,向AP1发送替换通知消息,通知AP1广播用于通告AP2不可用的故障信息,能够使客户端在其所接入的AP发生故障后,自动选择其他的AP接入,提高了用户的接入体验,保证了网络服务的稳定性。
在本发明实施例一或二的基础上,本发明实施例四提供的AP故障检测方法中,还可以由AC自动为AP分配其所要检测的邻居AP,在本发明实施例四提供的一种优选的实施方式中,可以通过如下步骤使AP确定自身所要检测的邻居AP,如图5所示,可包括如下步骤:
步骤501,AP1对各个相邻AP进行检测,获取对各个相邻AP的检测信息,所述检测信息包括接收到的各个相邻AP所发送的无线信号的RSSI以及相邻AP的标识信息。
这里的相邻AP的标识信息可以为相邻AP发送无线信号时所使用的BSSID,即AP接收到的无线信号中携带的BSSID,或者还可以为该BSSID对应的桥MAC地址。以下仅以相邻AP的标识信息为接收到的无线信号中携带的BSSID进行说明。
同时为了方便说明,本发明实施例本步骤之后的各个步骤中,均以所述无线信号为信标帧进行说明。
步骤502,AP1将对各个相邻AP的检测信息上报给AC。
实际应用中,如果AP1接收到的某个信标帧的信号强度较弱(小于预设值),则说明发送该信标帧的AP很可能离AP1比较远,并不适合被AP1监听,因此本发明实施例的一种优选的实施方式是,使AP1在检测到各个信标帧后,根据RSSI选择部分信号强度较强(大于预设值)的信标帧或者选择信号强度最强的几个信标帧及其对应的BSSID上报给AC。
以下以AP1实际上报了两个AP(分别为AP2、AP3)发送的信标帧的BSSID及RSSI进行说明。当然实际应用中,为了避免某个AP对应的BSSID没有被其他AP上报的情况,也可以将AP1上报的BSSID的数量设置为一个更大值,本实施例并不做限制。
步骤503,AC接收各个AP上报的对相邻AP的检测信息,并根据接收到的检测信息中携带的相邻AP的标识信息以及对应的RSSI为各个AP分配需要检测的邻居AP。
本步骤中,AC在接收到AP1发送的BSSID后,需要根据BSSID确定该BSSID对应的相邻AP,即AP2或AP3,分别记录相邻AP即AP2和AP3发送的信标帧的RSSI,以及上报该AP2和AP3的检测信息的AP,即AP1。按照这种方式,AC记录各个AP上报的各相邻AP、各邻居AP的RRSI,以及上报各邻居AP的AP之间的对应关系,这样,就可以根据各个AP针对同一个相邻AP上报的RSSI,将该同一个相邻AP分配给针对该同一个相邻AP上报的RSSI最强的AP,比如在所有针对AP2的BSSID上报检测信息的AP中,如果AP1上报的对应于AP2的RSSI最强,则将AP2分配给AP1,以作为AP1需要检测的邻居AP。
当然实际应用中,就为了实现本发明的技术方案而言,AC并不一定通过上述方式为AP分配其需要检测的邻居AP,也可以将AP上报的BSSID对应的AP直接分配给上报该BSSID的AP作为AP1需要检测的邻居AP,或者在AC上直接配置各个AP所需要检测的邻居AP并下发给各个AP。
为了方便说明,本实施例中,仅以AP2被分配给AP1作为AP1需要检测的邻居AP进行说明。
步骤504,AC向AP1发送邻居通告信息,其中携带了AP2的标识信息。
相应的,本步骤中AC向AP1下发的邻居通告信息中携带的标识信息可以为AP2故障前所使用的BSSID,或者AP2的桥MAC地址。
步骤505,AP1接收AC发送的邻居通告信息,根据邻居通告信息中携带的AP2的标识信息确定需要对AP2进行故障检测。
在本步骤之后,如果AP2发生故障,不再向外广播信标帧,会触发如步骤201-步骤202或步骤401-步骤406的AP故障检测流程。在此不再赘述。
在本发明实施例中,通过根据AP上报的RSSI信息为各个AP分配邻居信息,能够在保证各个AP被合理的AP检测。
上述任一实施例中,AC根据AP上报的故障报告信息确定邻居AP故障,具体可通过以下方式:
所述AC根据所述故障报告信息,确定所述AP检测的出现故障的所述邻居AP,并确定所述AC接收到其他AP上报的指示所述邻居AP故障的故障报告信息时,确定所述邻居AP故障;
或者,所述AC在预设时间内接收到所述AP上报的预设数量的用于指示所述邻居AP故障的故障报告信息时,确定所述邻居AP故障。
具体地,在多个AP检测同一个AP时,AC在接收到一个AP上报针对一相邻AP的故障报告信息后,AC可判断是否接收到了其他AP针对该一相邻AP的故障报告信息,如果是,则判断该AP故障,如果不是,则保存该故障报告信息;或者,AC在第一次接收到AP上报的针对邻居AP的故障报告信息后,不立即确定邻居AP故障,保存该故障报告信息,如果在预设的时间内再次接收到该AP上报的故障报告信息,则认为该邻居AP故障。通过这种方式,能够避免因AP的错误上报导致AC对其邻居AP故障的误判。当然,本领域技术人员可以理解的是,上述优选的实施方式中,也可以使AC在接收到超过两个AP上报的针对同一个邻居AP的故障报告信息后才认为该邻居AP故障,或者使AC在预设的时间范围内接收到同一AP上报的针对同一邻居AP故障报告信息超过两次,才认为该邻居AP上报。上述实施方式仅是本申请优选的实施方式,而不应理解为对本发明实施例的限定。
下面结合具体应用场景,对本发明提供的AP故障检测方法进行详细说明,假设本发明实施例五中,WLAN中包含AP1、AP2、AP3、AP4、AP5五台AP以及一台AC,AC与各个AP之间通过LAPP连接,各个AP上有3个在用的BSSID,如图6所示,本发明提供的AP故障检测方法的优选实施方式的流程示意图可包括如下步骤:
步骤601,AP1按照预设周期检测当前能够接收到的各个信标帧的信号强度RSSI。
实际应用中,该预设周期可以由管理员根据需要任意设定。但是由于各个AP部署大规模、高频率变动的可能性较小,为了避免给AP造成的负担,可以为该预设周期设置一个适当的较大的值。
步骤602,AP1将检测到的各个信标帧的RSSI及对应的BSSID上报给AC。
本步骤中,假设AP1在检测到各个信标帧的RSSI后选择两个最强的RSSI及其对应的BSSID上报。为了方便说明,以下步骤中,均假设AP1上报的BSSID分别归属于AP2和AP4。
实际应用中,还可以使AP将检测到的RSSI及对应的BSSID上报给AC后,判断本次需要上报的几个(比如两个最强的)RSSI及对应的BSSID是否与上一次上报的相同,如果判断为是,则不进行上报,如果否,则进行上报。这样就能避免该AP所在的空间内AP部署没有发生变化时向AC上报检测信息,节省与AC之间的带宽资源。
具体地,网络中的AP可按照时间T0的间隔将自己检测到的相邻AP的检测信息上报给AC,此相邻AP特指连接在本AC上的处于工作状态的AP。其中,上报的检测信息具体可包括:相邻AP的MAC地址、最近3次连续信标帧(Beacon)的RSSI平均值。
AP上报的检测信息的消息格式可按如下格式:
其中,T为自定义消息类型,在(E)内保存了AP通知AC的消息内容;MsgElement为具体交互信息的内容;E包含检测到的相邻AP的相关信息。AC收到此消息后需要向AP发送响应消息,并将E置为空。
步骤603,AC记录各个AP上报的BSSID对应的RSSI,并查找各个BSSID对应的AP。
实际应用中,AC可以记录如表1所示的对应关系。
表1
如表1所示,AP1和AP3上报了AP2的两个BSSID,MAC21和MAC22,其中,AP1上报的MAC21对应的RSSI为50db(即AP1接收到AP2发送的信标帧的BSSID为MAC21,接收到该信标帧的RSSI为50db),AP3上报的MAC22的RSSI为40db。表1中仅是一种理想情况,即各个AP上报的BSSID刚好不冲突,且不属于同一个AP,实际应用中,AP上报的BSSID及其对应的RSSI的情况可能远比表1中所示的复杂,相应的,需要选择较为复杂的算法进行邻居AP的分配,本发明实施例中,仅结合表1进行说明。
步骤604,AC根据各个AP上报的RSSI为各个AP分配邻居AP,并将为各个AP分配的邻居AP的标识信息携带在邻居通告信息中发送给相应的AP。
对于AP1来说,AP3接收其信标帧的信号强度最强,因此,将AP1作为AP3需要检测的邻居AP发送给AP3。对于AP2,AP1接收其信标帧的信号强度最强,因此,将AP2作为AP1需要检测的邻居AP发送给AP1。相应的,将AP3分配给AP4作为AP4需要检测的邻居AP,将AP4分配给AP5作为其需要检测的邻居AP,将AP5分配给AP2作为其需要检测的邻居AP。进一步的,为了避免AP的错误上报,还可以将同一个AP分配给多个AP作为其需要检测的邻居AP,并使另外的AP对该AP进行检测。本发明实施例中,假设AP2还分配给了AP3作为AP3需要检测的邻居设备。
在实际应用中,AC在接收到AP上报的BSSID后还会判断该BSSID所归属的AP是否为自身所管理的AP,若不是,则丢弃该BSSID及其对应的RSSI,同时还可以使AC判断同一个AP上报的RSSI是否都小于预设值,如果是,则说明该AP很可能与其他所有AP的距离都较远,网络规划不合理,此时AC发出告警信息,并选择该AP上报的最大的几个RSSI及其对应的BSSID进行后续处理。在实际操作过程中,为了实现为各个AP分配相同的或合理数量需要检测的邻居AP,在遵循将AP分配给上报该AP的RSSI最强的AP作为需要检测的邻居AP的原则的同时,可能还需要结合排除法等数学算法,在此不再赘述。
优选的,本发明实施例中,可以使AC为每个AP分配最多两个邻居AP作为其需要检测的邻居AP,同时保证每个AP最多被分配给两个邻居AP作为该两个邻居AP需要检测的邻居AP。
实际应用中,邻居通告信息中携带的AP的标识信息可以为该AP所使用的BSSID,或者该AP的桥MAC地址。本发明实施例中,仅以邻居通告信息中携带的AP的标识信息为该AP所使用的BSSID进行说明,并假设下发给AP1的邻居通告信息中携带AP2的标识信息为AP2的一个BSSID(MAC21),下发给AP3的邻居通告信息中携带AP2的标识信息为AP2的另一个BSSID(MAC22)。
具体地,AC可以下格式下发邻居通告消息给AP:
其中,T0为自定义消息类型,在(E0)内保存了AC通知AP的消息内容;MsgElement为具体交互信息的内容;E0包含AC通知AP的具体消息,包含此AP应该侦听的两个(或者一个)邻居AP的MAC地址。
进一步的,在执行本步骤之前,还可以使AC判断接收到的AP1上报的检测信息与上一次接收到的AP1的检测信息是否相同,如果是,则无需进行重新分配,如果否,则需要进行重新分配。
步骤605,AP1接收AC发送的邻居通告信息,获取邻居通告信息中携带的AP2的标识MAC21。
步骤606,AP1设置针对MAC21的计时器,该计时器的初始值为0,并在接收到BSSID为MAC21的信标帧后将该计时器置为0。
相应的,AP3在接收到AC发送的邻居信息后,也会针对MAC22设置计时器,在接收到BSSID为MAC22的信标帧后将该计时器置为0。
在步骤606之后,假设AP2发生故障,则AP2不能发送信标帧,从而导致AP1中设置的MAC21对应的计时器超时,则本发明实施例五提供的AP故障检测的流程还包括如下步骤。
步骤607,AP1判断MAC21对应的计时器超时,向AC发送故障报告信息,该故障报告信息中携带了AP2所使用的BSSID(MAC21)。
其中,AP可按如下格式向AC发送故障报告信息:
其中,T1为自定义消息类型,在(E1)内保存了AP通知AC的消息内容;MsgElement为具体交互信息的内容;E1包含AP通知AC的邻居信息。
AC收到此消息后不需要回应;同时收到另外一个AP也报告了此邻居故障,则确认此AP故障,进行后续处理;如果没有收到,等待时间T后如果收到了相同AP报告的第二次故障信息,则确认此AP故障,如果没有收到,则丢弃第一次的故障报告信息,不做任何处理。
步骤608,AC接收AP1发送的故障报告信息,获取故障报告信息中携带的BSSID(MAC21)。
步骤609,AC确定MAC21对应的AP为AP2,并判断之前是否接收到了AP3针对该AP2的故障报告信息,如果是,则转向步骤610,如果否,转转向步骤612。
本步骤中,如果是,则说明AP3也检测到了AP2的故障,并上报了相应的故障信息。此时,AC确认AP2故障,通过这种方式,能够避免因AP1发生故障错误上报故障信息,导致AC的误判。
步骤610,AC向AP1下发替换通知消息,其中携带了AP2的两个BSSID,该两个BSSID分别对应于MAC21和MAC22。
实际应用中,也可以使将MAC21和MAC22对应的MAC地址分别下发给AP1和AP3,或者将MAC21和MAC22对应的MAC地址同时下发给AP1和AP3。
步骤611,AP1接收AC发送的替换通知消息,以MAC21和MAC22为BSSID广播故障信息,通告WLAN内客户端MAC21和MAC22不可用。
实际应用中,可以使AP1将自身的两个没有正在使用的BSSID的值修改为MAC21和MAC22,并使AP1分别使用两个修改后的BSSID向外广播用于通告MAC21和MAC22不可用的信标帧。其中,广播的信标帧可包含含有BSS(BasicServiceSet)Loadelement(基础服务集负载元)和VendorSpecificinformationelement(厂家指定信息元)等类型的信息元,无线客户端根据接收到的信标帧(Beacon)中包含的此类信息域会选择适当的AP去漫游或者重新关联。
本步骤后,客户端在接收到AP1广播的故障信息后,认为MAC21和MAC22对应的BSSID不可用,则接入到AP2的客户端会重新选择其他的BSSID进行接入。
步骤612,AC记录针对AP2的故障报告信息。
本实施例AP故障检测中,网络中的某个AP故障时,AC可在最短的时间内确认故障AP,并可采取相应的措施,可有效确保客户端接入的稳定性和连续性,最大限度的提高了用户的接入体验,提高了无线网络服务的稳定性和可靠性。
上述本发明各实施例中,当AP检测到需要检测的邻居AP故障,并上报故障报告信息给AC后,若再次检测到该邻居AP故障时,可确定距上次上报故障信息的时间是否超过一预设的时间值,若超过该一预设的时间值则进行上报,否则不进行上报,这样可以避免AP频繁的上报。当然,实际应用中,也可在AP检测到邻居AP就上报,本实施例并不做特别限制。
基于相同的思想,本发明实施例七还提供了一种AC,如图7所示,所述AC包括:
接收模块701,用于接收AP上报的故障报告信息,所述故障报告信息为所述AP检测到所述AP需要检测的邻居AP故障时上报给所述AC的信息,所述故障报告信息用于指示所述邻居AP故障。
故障确定模块702,用于根据所述故障报告信息,确定所述邻居AP故障。
本实施例提供的AC可基于上述本发明实施例方法的步骤,实现对AP的故障检测,其具体实现过程可参见上述本发明方法实施例的说明,在此不再赘述。
基于上述实施例七,本发明实施例八提供的AC还可以包括图8所示的各个模块:
接收模块801,用于接收AP上报的故障报告信息,所述故障报告信息为所述AP检测到所述AP需要检测的邻居AP故障时上报给所述AC的信息,所述故障报告信息用于指示所述邻居AP故障。
故障确定模块802,用于根据所述故障报告信息,确定所述邻居AP故障。
邻居通告模块803,用于向所述AP发送邻居通告信息,所述邻居通告信息包括为所述AP分配的需要检测的邻居AP的标识信息,以便所述AP对分配的需要检测的邻居AP进行故障检测。
优选的,接收模块801还用于在邻居通告模块803向所述AP发送邻居通告信息之前接收各个AP对相邻AP的检测信息;其中,所述检测信息包括AP接收到相邻AP发送的无线信号的信号接收强度RSSI及相邻AP的标识信息;
本发明实施例八提供的AC还包括:
邻居分配模块804,用于根据接收到的检测信息中携带的相邻AP的标识信息以及对应的RSSI为各个AP分配需要检测的邻居AP。
优选的,邻居分配模块804具体用于根据所述检测信息中的各相邻AP的标识信息,统计所有AP针对同一个相邻AP上报的RSSI,并将该同一个相邻AP作为需要检测的邻居AP分配给针对该同一个相邻AP上报的RSSI最强的AP。
优选的,故障确定模块802具体用于根据所述故障报告信息,确定所述AP检测的出现故障的所述邻居AP,并确定所述接收模块接收到其他AP上报的指示所述邻居AP故障的故障报告信息时,确定所述邻居AP故障;或者,在预设时间内接收到所述AP上报的预设数量的用于指示所述邻居AP故障的故障报告信息时,确定所述邻居AP故障
基于上述实施例七或八,本发明实施例九提供的AC还可以包括图9所示的各个模块:
接收模块901,用于接收AP上报的故障报告信息,所述故障报告信息为所述AP检测到所述AP需要检测的邻居AP故障时上报给所述AC的信息,所述故障报告信息用于指示所述邻居AP故障。
故障确定模块902,用于根据所述故障报告信息,确定所述邻居AP故障。
故障响应模块903,用于在故障确定模块902确定所述邻居AP故障之后,向所述AP发送替换通知消息,所述替换通知消息用于指示所述AP模拟出现故障的所述邻居AP广播故障信息,以使得接入所述邻居AP的客户端接收到所述故障信息后重新选择AP接入。
基于相同的构思,本发明实施例十还提供了一种AP,如图10所示,该AP包括:
故障检测模块1001,用于确定自身需要检测的邻居AP,并判断距上一次接收到所述邻居AP发送的无线信号的时间超过预设值时,确定所述邻居AP故障。
故障上报模块1002,用于在故障检测模块1001检测到需要检测的邻居AP故障时向接入控制器AC上报故障报告信息,所述故障报告信息用于指示所述邻居AP故障,以便所述AC根据所述故障报告信息确定所述邻居AP故障。
本实施例提供的AP可基于上述本发明实施例方法的步骤,实现对AP的故障检测,其具体实现过程可参见上述本发明方法实施例的说明,在此不再赘述。
基于上述实施例十,本发明实施例十一提供的AP还可以包括如图11所示的各个模块:
故障检测模块1101,用于确定自身需要检测的邻居AP,并判断距上一次接收到所述邻居AP发送的无线信号的时间超过预设值时,确定所述邻居AP故障。
故障上报模块1102,用于在故障检测模块1101检测到需要检测的邻居AP故障时向接入控制器AC上报故障报告信息,所述故障报告信息用于指示所述邻居AP故障,以便所述AC根据所述故障报告信息确定所述邻居AP故障。
邻居AP确定模块1103,用于接收所述AC发送的邻居通告信息,并根据所述邻居通告信息中的AP的标识信息确定需要检测的邻居AP,所述邻居通告信息包括为所述AP分配的需要检测的邻居AP的标识信息。
优选的,本发明实施例中,AP还可以包括:
检测信息上报模块1104,用于将对相邻AP的检测信息上报给AC,所述检测信息包括所述AP接收的到相邻AP发送的无线信号的信号接收强度RSSI及相邻AP的标识信息,以便所述AC基于各AP上报的检测信息中携带的相邻AP的标识信息以及对应的RSSI为各AP分配需要检测的邻居AP。
基于上述实施例十或十一,本发明实施例十二提供的AP还可以包括如图12所示的各个模块:
故障检测模块1201,用于确定自身需要检测的邻居AP,并判断距上一次接收到所述邻居AP发送的无线信号的时间超过预设值时,确定所述邻居AP故障。
故障上报模块1202,用于在故障检测模块1202检测到需要检测的邻居AP故障时向接入控制器AC上报故障报告信息,所述故障报告信息用于指示所述邻居AP故障,以便所述AC根据所述故障报告信息确定所述邻居AP故障。
故障通报模块1203,用于在向所述AC上报故障报告信息之后,接收所述AC发送的替换通知消息,并根据所述替换通知消息模拟出现故障的所述邻居AP广播故障信息,以使得接入所述邻居AP的客户端接收到所述故障信息后重新选择AP接入,所述故障信息用于指示所述邻居AP故障。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。