发明内容
有鉴于此,本申请提供了一种用于AP在热备AC间切换的控制方法和控制装置。
本申请提供的一种用于AP在热备AC间切换的控制方法,应用该控制方法的AP与所在WLAN中的主AC之间建立有主LWAPP隧道、与所在WLAN中的备份AC之间建立有备份LWAPP隧道;
当应用该控制方法的AP接收到备份AC发出的隧道切换通知后,该控制方法包括在该AP中执行的如下步骤:
步骤a0、在预定的探测周期内分别向主AC和备份AC连续发送同等数量的探测报文、并启动切换探测定时器;
步骤a1、若在切换探测定时器超时之前从主AC收到了回应报文,且从主AC收到的回应报文数量达到了预定的正常值,则将本机保持在主LWAPP隧道、并对切换探测定时器清零;
步骤a2、若在切换探测定时器超时之前从主AC和/或备份AC收到了回应报文,且从主AC和备份AC收到的回应报文数量均未达到预定的正常值,则本机保持在主LWAPP隧道、并对切换探测定时器清零;
步骤a3、若在切换探测定时器超时之前从主AC和备份AC收到了回应报文,且从主AC收到的回应报文数量未达到预定的正常值、但从备份AC收到的回应报文数量达到了预定的正常值,则将本机从主LWAPP隧道切换至备份LWAPP隧道、并对切换探测定时器清零。
当应用该控制方法的AP接收到备份AC发出的隧道切换通知后,该控制方法进一步包括在该AP中执行的如下步骤:
步骤a4、若从主AC和备份AC均未收到回应报文、并导致切换探测定时器超时,则将本机从主LWAPP隧道切换至备份LWAPP隧道、并对切换探测定时器清零。
当应用该控制方法的AP进一步接收到主AC发出的隧道强制回切通知后,该控制方法包括在该AP中执行的如下步骤:
步骤b0、在预定的探测周期内向主AC发送预定数量的探测报文、并启动回切探测定时器;
步骤b1、若在回切探测定时器超时之前从主AC收到了回应报文,且从主AC收到的回应报文数量达到了预定的正常值,则将本机从备份LWAPP隧道回切至主LWAPP隧道、并对回切探测定时器清零;
步骤b2、若在回切探测定时器超时之前从主AC收到了回应报文,且从主AC收到的回应报文数量未达到预定的正常值,则将本机保持在备份LWAPP隧道、并对回切探测定时器清零。
当应用该控制方法的AP接收到主AC发出的隧道强制回切通知后,该控制方法进一步包括在该AP中执行的如下步骤:
步骤b3、若从主AC未收到回应报文、并导致回切探测定时器超时,则将本机保持在备份LWAPP隧道、并对回切探测定时器清零。
每个应用该控制方法的AP均被主AC配置有延时偏移,该延时偏移用于对该AP中的探测周期、切换探测定时器、以及回切探测定时器的启动时间产生预定偏移量的延时;并且,主AC为所有应用该控制方法的AP配置的延时偏移的大小不全相同。
主AC和备份AC均配置有本端和对端的IP地址,主AC和备份AC相互发送至对端的心跳检测报文以本端IP地址为心跳检测报文的源IP、以对端IP地址为目的IP;
以及,每个应用该控制方法的AP向主AC发送的探测报文以该AP的IP地址为源IP、以主AC的IP地址为目的IP,每个应用该控制方法的AP向备份AC发送的探测报文以该AP的IP地址为源IP、以备份AC的IP地址为目的IP。
心跳检测报文和探测报文中均携带有IP优先级,且心跳检测报文的IP优先级高于探测报文的IP优先级。
本申请提供的一种用于AP在热备AC间切换的控制装置,应用该控制装置的AP与所在WLAN中的主AC之间建立有主LWAPP隧道、与所在WLAN中的备份AC之间建立有备份LWAPP隧道;
当应用该控制装置的AP接收到备份AC发出的隧道切换通知后,该控制装置包括在该AP中触发的如下模块:
切换判决探测模块,在预定的探测周期内分别向主AC和备份AC连续发送同等数量的探测报文、并启动切换探测定时器;
第一切换判决模块,若在切换探测定时器超时之前从主AC收到了回应报文,且从主AC收到的回应报文数量达到了预定的正常值,则将本机保持在主LWAPP隧道、并对切换探测定时器清零;
第二切换判决模块,若在切换探测定时器超时之前从主AC和/或备份AC收到了回应报文,且从主AC和备份AC收到的回应报文数量均未达到预定的正常值,则本机保持在主LWAPP隧道、并对切换探测定时器清零;
第三切换判决模块,若在切换探测定时器超时之前从主AC和备份AC收到了回应报文,且从主AC收到的回应报文数量未达到预定的正常值、但从备份AC收到的回应报文数量达到了预定的正常值,则将本机从主LWAPP隧道切换至备份LWAPP隧道、并对切换探测定时器清零。
当应用该控制装置的AP接收到备份AC发出的隧道切换通知后,该控制装置进一步包括在该AP中触发的如下模块:
第四切换判决模块,若从主AC和备份AC均未收到回应报文、并导致切换探测定时器超时,则将本机从主LWAPP隧道切换至备份LWAPP隧道、并对切换探测定时器清零。
当应用该控制装置的AP进一步接收到主AC发出的隧道强制回切通知后,该控制装置包括在该AP中触发的如下模块:
回切判决探测模块,在预定的探测周期内向主AC发送预定数量的探测报文、并启动回切探测定时器;
第一回切判决模块,若在回切探测定时器超时之前从主AC收到了回应报文,且从主AC收到的回应报文数量达到了预定的正常值,则将本机从备份LWAPP隧道回切至主LWAPP隧道、并对回切探测定时器清零;
第二回切判决模块,若在回切探测定时器超时之前从主AC收到了回应报文,且从主AC收到的回应报文数量未达到预定的正常值,则将本机保持在备份LWAPP隧道、并对回切探测定时器清零。
当应用该控制装置的AP接收到主AC发出的隧道强制回切通知后,该控制装置进一步包括在该AP中触发的如下模块:
第三回切判决模块,若从主AC未收到回应报文、并导致回切探测定时器超时,则将本机保持在备份LWAPP隧道、并对回切探测定时器清零。
每个应用该控制装置的AP均被主AC配置有延时偏移,该延时偏移用于对该AP中的探测周期、切换探测定时器、以及回切探测定时器的启动时间产生预定偏移量的延时;并且,主AC为所有应用该控制方法的AP配置的延时偏移不全相同。
主AC和备份AC均配置有本端和对端的IP地址,主AC和备份AC发送至对端的心跳检测报文以本端IP地址为心跳检测报文的源IP、以对端IP地址为目的IP;
以及,每个应用该控制方法的AP向主AC发送的探测报文以该AP的IP地址为源IP、以主AC的IP地址为目的IP,每个应用该控制方法的AP向备份AC发送的探测报文以该AP的IP地址为源IP、以备份AC的IP地址为目的IP。
心跳检测报文和探测报文中均携带有IP优先级,且心跳检测报文的IP优先级高于探测报文的IP优先级。
由此可见,基于本申请所提供的方案,AP在接收到备份AC发送的隧道切换通知后,可以通过对主AC和备份AC的探测来判断主AC和备份AC的存活状态,并且只有在主AC的存活状态不正常时才依据备份AC的隧道切换通知执行切换,因而就能够避免在主AC未发生故障时的误切换,从而避免由于误切换所导致的业务数据流中断。而且,AP在接收到主AC发送的隧道强制回切通知后,同样可以通过对主AC的探测来判断主AC的存活状态,并且只有在主AC的存活状态正常时才依据主AC的隧道强制回切通知执行回切,因而就能够避免在故障修复后的主AC尚未完全稳定时的误回切,从而避免由于误回切所导致的业务数据流中断。
可选地,基于本申请所提供的方案,可以通过主AC对所有AP的配置来实现各AP的分时探测,从而,能够避免突发的大量探测报文对主AC和备份AC的影响。
进一步可选地,基于本申请所提供的方案,可以利用IP地址来明确指定每两台AC的热备组合,从而,能够消除VLAN和Domain对热备组合的限制。而且,每两台互为热备的AC之间交互的心跳检测报文可以采用IP报文,从而能够提高心跳检测的安全性、并满足跨三层的各种应用;探测报文可以采用IP报文,从而能够避免主AC、备份AC的非隧道端口误发送回应报文;以及,心跳检测报文可以具有比探测报文更高的IP优先级,从而能够使主AC、备份AC在收到大量探测报文时仍能够优先确保心跳检测的正常实现。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
在本实施例中,AP在接收到备份AC发送的隧道切换通知后,并不是立即执行切换、而是通过对主AC和备份AC的探测来判断主AC和备份AC的存活状态,并且,只有在主AC的存活状态不正常时才依据备份AC的隧道切换通知执行切换。
图2为本申请实施例中用于AP在热备AC间切换的控制方法在备份AC发出隧道切换通知后执行的流程示意图。如图2所示,当AP接收到备份AC发出的隧道切换通知后,本实施例中用于AP在热备AC间切换的控制方法包括在该AP中执行的如下步骤:
步骤210,在预定的探测周期内分别向主AC和备份AC连续发送同等数量的探测报文、并启动一切换探测定时器。
步骤220,根据切换探测定时器超时之前从主AC和备份AC收到的回应报文数量,判断主AC和备份AC的存活状态。
步骤221,若在切换探测定时器超时之前从主AC收到了回应报文,且从主AC收到的回应报文数量达到了预定的正常值,则表示主AC的存活状态为正常,此时,可以判断出备份AC在主AC未发生故障时错误地发出了隧道切换通知,因而无论备份AC的存活状态是否正常,均将本机保持在主LWAPP隧道、并对切换探测定时器清零,然后结束本流程。
步骤222,若在切换探测定时器超时之前从主AC和/或备份AC收到了回应报文,且从主AC和备份AC收到的回应报文数量均未达到预定的正常值(若仅从主AC收到回应报文、但未从备份AC收到回应报文,则从备份AC收到的回应报文数量记为0,反之同理),则表示主AC和备份AC的存活状态均不正常,此时,可以认为即便切换也无法改善业务数据流的转发、并且还会导致业务数据流的无谓中断,因而仍将本机保持在主LWAPP隧道、并对切换探测定时器清零,然后结束本流程。
步骤223,若在切换探测定时器超时之前从主AC和备份AC均收到了回应报文,且从主AC收到的回应报文数量未达到预定的正常值、但从备份AC收到的回应报文数量达到了预定的正常值,则表示主AC的存活状态不正常、但备份AC的存活状态为正常,此时,即可判断出切换是必要的,将本机从主LWAPP隧道切换至备份LWAPP隧道、并对切换探测定时器清零,然后结束本流程。
步骤224,若从主AC和备份AC均未收到回应报文、并导致切换探测定时器超时,则表示有可能是由于主AC和备份AC无暇处理或无法识别探测报文而导致无法探测主AC和备份AC的存活状态,此时,既然无法探测到主AC和备份AC的存活状态,则只能够完全信赖备份AC发出的隧道切换通知,因而将本机从主LWAPP隧道切换至备份LWAPP隧道、并对切换探测定时器清零,然后结束本流程。
需要说明的是,步骤224所针对的是一种极端情况、且这种极端情况不属于本实施例基于探测实现切换的范畴之内,本实施例针对这种极端情况而在步骤224提供的处理方式仅仅是为了使方案更为完整,但在实际应用中,本领域技术人员可以根据需要,而任意设置针对这种极端情况的处理方式。
至此,本流程结束。
如上述流程可见,基于本实施例中用于AP在热备AC间切换的控制方法,AP只有在探测到主AC的存活状态不正常时才依据备份AC的隧道切换通知执行切换,因而,就能够避免在主AC未发生故障时的误切换,从而避免由于误切换所导致的业务数据流中断。
当AP由于探测出主AC的生存状态不正常而执行切换之后,主AC的生存状态还有可能通过故障修复而恢复为正常、并向AP发出隧道强制回切通知。
相应地,为了避免AP在尚未确定故障修复后的主AC完全稳定时即盲目回切,AP在接收到主AC发送的隧道强制回切通知后,并不是立即执行切换、而是可以通过对主AC的探测来判断主AC的存活状态,并且只有在主AC的存活状态正常时才依据主AC的隧道强制回切通知执行回切。
图3为本申请实施例中用于AP在热备AC间切换的控制方法在主AC发出隧道强制回切通知后执行的流程示意图。如图3所示,当AP接收到主AC发出的隧道强制回切通知后,本实施例中用于AP在热备AC间切换的控制方法包括在该AP中执行的如下步骤:
步骤310,在预定的探测周期内向主AC发送预定数量的探测报文、并启动回切探测定时器。
步骤320,根据回切探测定时器超时之前从主AC收到的回应报文数量,判断主AC的存活状态。
步骤321,若在回切探测定时器超时之前从主AC收到了回应报文,且从主AC收到的回应报文数量达到了预定的正常值,则表示主AC的存活状态变为正常,此时,将本机从备份LWAPP隧道回切至主LWAPP隧道、并对回切探测定时器清零,然后结束本流程。
步骤322,若在回切探测定时器超时之前从主AC收到了回应报文,且从主AC收到的回应报文数量未达到预定的正常值,则表示主AC的存活状态仍不正常,此时,将本机保持在备份LWAPP隧道、并对回切探测定时器清零,然后结束本流程。
步骤323,若从主AC未收到回应报文、并导致回切探测定时器超时,则表示有可能是由于主AC无暇处理或无法识别探测报文而导致无法探测主AC的存活状态,此时,既然无法探测到主AC的存活状态,则为了保持业务数据流能够继续在正常的备份AC转发,因而将本机保持在备份LWAPP隧道、并对回切探测定时器清零,然后结束本流程。
需要说明的是,步骤323所针对的是一种极端情况、且这种极端情况不属于本实施例基于探测实现切换的范畴之内,本实施例针对这种极端情况而在步骤323提供的处理方式仅仅是为了使方案更为完整,但在实际应用中,本领域技术人员可以根据需要,而任意设置针对这种极端情况的处理方式。
至此,本流程结束。
如上述流程可见,基于本实施例中用于AP在热备AC间切换的控制方法,AP只有在主AC的存活状态正常时才依据主AC的隧道强制回切通知执行回切,因而就能够避免在修复故障后的主AC尚未完全稳定时的误回切,从而避免由于误回切所导致的业务数据流中断。
在具体实现上述控制方法时,每个AP中的探测周期、切换探测定时器、以及回切探测定时器的时长和启动时间,都可以由主AC在该AP上电启动后的初始化过程中下发相应的配置。
而且,在每个AP上电启动后的初始化过程中,主AC还可以向该AP下发延时偏移的配置。其中,每个AP被主AC配置的延时偏移用于对该AP中的探测周期、切换探测定时器、以及回切探测定时器的启动时间产生预定偏移量的延时;并且,主AC为所有AP配置的延时偏移的大小不全相同。从而,通过主AC对所有AP的延时偏移的配置即可实现各AP的分时探测,进而能够避免突发的大量探测报文对主AC和备份AC的影响。
此外,为了消除VLAN和Domain对热备组合的限制,本实施例为每台AC分配对应的IP地址,并通过配置IP地址来明确指定每两台AC的热备组合,即,在每两台互为热备的AC中,主AC和备份AC均配置(可通过静态配置来实现)有本端和对端的IP地址。
而且,基于以IP地址指名热备组合的方式:
每两台互为热备的AC之间交互的心跳检测报文还可以采用IP报文,即,主AC和备份AC相互发送至对端的心跳检测报文以本端IP地址为心跳检测报文的源IP、以对端IP地址为目的IP,这样,能够提高心跳检测的安全性、并满足跨三层的各种应用;而且,为了进一步提高心跳检测的安全性,心跳检测报文中还可以携带有用于主AC和备份AC相互验证的验证码;
AP向主AC、备份AC发送的探测报文也可以采用IP报文,即,每个AP向主AC发送的探测报文以该AP的IP地址为源IP、以主AC的IP地址为目的IP,每个AP向备份AC发送的探测报文以该AP的IP地址为源IP、以备份AC的IP地址为目的IP,这样,能够避免主AC、备份AC的非隧道端口(非IP端口)误发送回应报文;
以及,心跳检测报文和探测报文中可以均携带有IP优先级,且心跳检测报文可以具有比探测报文更高的IP优先级,这样,能够使主AC、备份AC在收到大量探测报文时仍能够优先确保心跳检测的正常实现。
图4为本申请实施例中用于在主AC和备份AC间交互的心跳检测报文的结构示意图。如图4所示,以IP报文中的Hello(招呼)报文实现心跳检测报文为例,本实施例中的心跳检测报文包括:
Version(版本)字段,其长度为4比特,用于表示心跳检测报文所属的IP版本,例如,4表示IPv4、6表示IPv6;
Type(类型)字段,其长度为4比特,用于表示该报文是否属于心跳检测报文,例如,1表示用作心跳检测报文的Hello报文、非1表示非Hello报文;
IP address1(第一IP地址)字段,其长度在心跳检测报文属于IPv4(Version=4)时为32比特、在心跳检测报文属于IPv6(Version=6)时为128比特,用于承载发送心跳检测报文的本端IP地址;
IP address2(第二IP地址)字段,其长度在心跳检测报文属于IPv4(Version=4)时为32比特、在心跳检测报文属于IPv6(Version=6)时为128比特,用于承载接收心跳检测报文的对端用IP地址;
Priority(优先级)字段,其长度可以任意设定,用于表示发送心跳检测报文的本端的热备优先级;
Auth Type(验证类型)字段,其长度可以任意设定,用于心跳检测报文采用的验证类型,例如,0表示No Authentication(无验证)、1表示Simple Text Password(简单文本密码)、2表示MD5(Message Digest Algorithm 5,信息摘要算法第五版)等;若对端接收到验证类型与其不相符的Hello报文、即心跳检测报文,则会将该Hello报文、即心跳检测报文丢弃;
Hello Int(招呼初始)字段,其长度可以任意设定,用于表示Hello报文、即心跳检测报文的发送周期;若对端接收到发送周期与其不相符的Hello报文、即心跳检测报文,则会将该Hello报文、即心跳检测报文丢弃;
Checksum(校验和)字段,其长度可以任意设定,用于携带Hello报文、即心跳检测报文的校验和;
Authentication Data(验证数据)字段,其长度可以任意设定,用于携带对应Auth Type的验证数据,Auth Type=0时填充全0。
基于上述心跳检测报文,备份AC中会维护对应的Master_Down_time(主AC故障时间)定时器和Delay_time(延迟时间)定时器;其中,Master_Down_time定时器用于备份AC判断是否从主AC未接收到心跳检测报文的时间达到定时时长,该定时时长可以等于3倍的Hello_Int;Delay_time定时器用于定义备份AC从检测到主AC故障之后、到备份AC接管时的延迟时间,该延迟时间可以任意设定。
本实施例利用IP报文所实现的探测报文,可以为任意一种LWAPP报文,例如Discovery(发现)报文等,因此,本实施例对于探测报文的结构就不再赘述。
实际应用中,本实施例中用于AP在热备AC间切换的控制方法能够以计算机程序来实现,因此,与该方法相对应地,本实施例还提供了一种用于AP在热备AC间切换的控制装置。
图5为本申请实施例中用于AP在热备AC间切换的控制装置在备份AC发出隧道切换通知后触发的结构示意图。如图5所示,当AP接收到备份AC发出的隧道切换通知后,本实施例中用于AP在热备AC间切换的控制装置承载于该AP中的如下模块被触发:
切换判决探测模块510,在预定的探测周期内分别向主AC和备份AC连续发送同等数量的探测报文、并启动切换探测定时器;
第一切换判决模块521,若在切换探测定时器超时之前从主AC收到了回应报文,且从主AC收到的回应报文数量达到了预定的正常值,则将本机保持在主LWAPP隧道、并对切换探测定时器清零;
第二切换判决模块522,若在切换探测定时器超时之前从主AC和/或备份AC收到了回应报文,且从主AC和备份AC收到的回应报文数量均未达到预定的正常值,则本机保持在主LWAPP隧道、并对切换探测定时器清零;
第三切换判决模块523,若在切换探测定时器超时之前从主AC和备份AC收到了回应报文,且从主AC收到的回应报文数量未达到预定的正常值、但从备份AC收到的回应报文数量达到了预定的正常值,则将本机从主LWAPP隧道切换至备份LWAPP隧道、并对切换探测定时器清零;
第四切换判决模块524,若从主AC和备份AC均未收到回应报文、并导致切换探测定时器超时,则将本机从主LWAPP隧道切换至备份LWAPP隧道、并对切换探测定时器清零。
与前文所述的控制方法同理,第四切换判决模块所针对的是一种极端情况、且这种极端情况不属于本实施例基于探测实现切换的范畴之内,本实施例针对这种极端情况而为第四切换判决模块提供的处理方式仅仅是为了使方案更为完整,但在实际应用中,本领域技术人员可以根据需要,而任意设置针对这种极端情况的处理方式。
图6为本申请实施例中用于AP在热备AC间切换的控制装置在主AC发出隧道强制回切通知后触发的结构示意图。如图6所示,当AP接收到主AC发出的隧道强制回切通知后,本实施例中用于AP在热备AC间切换的控制装置承载于该AP中的如下模块被触发:
回切判决探测模块610,在预定的探测周期内向主AC发送预定数量的探测报文、并启动回切探测定时器;
第一回切判决模块621,若在回切探测定时器超时之前从主AC收到了回应报文,且从主AC收到的回应报文数量达到了预定的正常值,则将本机从备份LWAPP隧道回切至主LWAPP隧道、并对回切探测定时器清零;
第二回切判决模块622,若在回切探测定时器超时之前从主AC收到了回应报文,且从主AC收到的回应报文数量未达到预定的正常值,则将本机保持在备份LWAPP隧道、并对回切探测定时器清零;
第三回切判决模块623,若从主AC未收到回应报文、并导致回切探测定时器超时,则将本机保持在备份LWAPP隧道、并对回切探测定时器清零。
与前文所述的控制方法同理,第三回切判决模块所针对的是一种极端情况、且这种极端情况不属于本实施例基于探测实现切换的范畴之内,本实施例针对这种极端情况而在第三回切判决模块提供的处理方式仅仅是为了使方案更为完整,但在实际应用中,本领域技术人员可以根据需要,而任意设置针对这种极端情况的处理方式。
同样地,在具体实现上述控制装置时,每个AP中的探测周期、切换探测定时器、以及回切探测定时器的时长和启动时间,都可以由主AC在该AP上电启动后的初始化过程中下发相应的配置。而且,在每个AP上电启动后的初始化过程中,主AC还可以向该AP下发延时偏移的配置。其中,每个AP被主AC配置的延时偏移用于对该AP中的探测周期、切换探测定时器、以及回切探测定时器的启动时间产生预定偏移量的延时;并且,主AC为所有AP配置的延时偏移的大小不全相同。从而,通过主AC对所有AP的延时偏移的配置即可实现各AP的分时探测,进而能够避免突发的大量探测报文对主AC和备份AC的影响。
此外,上述控制装置同样能够适用于通过配置IP地址来明确指定热备组合的情况,以及,适用于心跳检测报文和探测报文采用IP报文的情况,此处就不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。