CN112260928B - 节点切换方法、装置、电子设备及可读存储介质 - Google Patents

节点切换方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN112260928B
CN112260928B CN202011206293.0A CN202011206293A CN112260928B CN 112260928 B CN112260928 B CN 112260928B CN 202011206293 A CN202011206293 A CN 202011206293A CN 112260928 B CN112260928 B CN 112260928B
Authority
CN
China
Prior art keywords
hub
client
server
clients
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011206293.0A
Other languages
English (en)
Other versions
CN112260928A (zh
Inventor
陈一辰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN202011206293.0A priority Critical patent/CN112260928B/zh
Publication of CN112260928A publication Critical patent/CN112260928A/zh
Application granted granted Critical
Publication of CN112260928B publication Critical patent/CN112260928B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/30Decision processes by autonomous network management units using voting and bidding

Abstract

本申请提供一种节点切换方法、装置、电子设备及可读存储介质,应用于动态虚拟网络DVPN中的服务器,所述DVPN还包括多个客户端,所述多个客户端中的一个客户端被指定为Hub,其余客户端为Spoke;所述方法包括:所述服务器在切换条件满足时,从作为Spoke的客户端中选择一个作为新的Hub;所述服务器指示所述多个客户端中除所述新的Hub之外的其余客户端与所述新的Hub建立通信隧道,以使所述新的Hub能够提供Hub服务。可以在满足切换条件时更换Hub,避免了承担Hub角色的客户端一旦故障,则整个DVPN就会瘫痪的问题,提高了DVPN的稳定性。

Description

节点切换方法、装置、电子设备及可读存储介质
技术领域
本申请涉及数据传输领域,具体而言,涉及一种节点切换方法、装置、电子设备及可读存储介质。
背景技术
现有的动态虚拟网络(Dynamic Virtual Private Network,简称DVPN)通过动态获取对端的信息建立VPN连接。DVPN通常包括一个总部节点Hub和多个分支节点Spoke,其中,Hub与多个Spoke均可以是客户端client。当Hub是固定的一个客户端,若该承担Hub功能的客户端一旦故障,则整个DVPN就会瘫痪,稳定性较差。
发明内容
本申请实施例的目的在于提供一种节点切换方法、装置、电子设备及可读存储介质,用以改善现有技术中DVPN稳定性较差的问题。
第一方面,本申请实施例提供了一种节点切换方法,应用于动态虚拟网络DVPN中的服务器,所述DVPN还包括多个客户端,所述多个客户端中的一个客户端被指定为Hub,其余客户端为Spoke;所述方法包括:所述服务器在切换条件满足时,从作为Spoke的客户端中选择一个作为新的Hub;所述服务器指示所述多个客户端中除所述新的Hub之外的其余客户端与所述新的Hub建立通信隧道,以使所述新的Hub能够提供Hub服务。
在上述的实施方式中,可以在满足切换条件时更换Hub,避免了承担Hub角色的客户端一旦故障,则整个DVPN就会瘫痪的问题,提高了DVPN的稳定性。
在一个可能的设计中,所述在切换条件满足时,从作为Spoke的客户端中选择一个作为新的Hub,包括:所述服务器接收源客户端发送的请求与目标客户端进行通信的通信请求,记录该目标客户端被请求进行通信的次数,其中,所述源客户端为所述多个客户端中的除所述Hub以外的任意一个客户端,所述目标客户端为所述多个客户端中除所述Hub及源客户端以外的任意一个客户端;所述服务器将所述目标客户端的地址映射关系返回给所述源客户端,以便所述源客户端通过当前的所述Hub向所述目标客户端发送通信隧道的隧道建立请求;在到达设定的任期时间后,所述服务器获取被请求进行通信的次数最多的客户端,并将该客户端选择为新的Hub。
在上述的实施方式中,多个客户端中的一个客户端欲与另一客户端进行通信时,可以将欲建立通信的客户端作为源客户端,被建立通信的对象作为目标客户端。源客户端向服务器发送通信请求,服务器更新该目标客户端被请求进行通信的次数,并且将目标客户端的地址映射关系返回给源客户端。源客户端可以依据地址映射关系,通过当前指定的Hub向目标客户端发送隧道建立请求。在当前的Hub的任期结束后,服务器可以统计多个客户端中每个客户端分别对应的被请求进行通信的次数,将次数最多的客户端作为新的Hub。被选出的Hub持续设定的任期时间后,便启动下一轮由服务器选择出的被请求次数最多的客户端作为新的Hub,从而令Hub可以灵活变化,避免了承担Hub角色的客户端一旦故障,则整个DVPN就会瘫痪的问题,提高了DVPN的稳定性。
在一个可能的设计中,所述服务器指示所述多个客户端中除所述新的Hub之外的其余客户端与所述新的Hub建立通信隧道,包括:所述服务器将所述新的Hub的地址映射关系发送给所述DVPN内的除所述新的Hub之外的其余客户端,以便所述新的Hub之外的其余客户端与所述新的Hub重新建立隧道。
在上述的实施方式中,服务器在确定出新的Hub之后,可以把该Hub的地址映射关系发送给DVPN内的全部客户端,从而使得客户端均与新的Hub建立隧道。由于新的Hub是上一Hub的任职期间内被请求建立隧道次数最多的客户端,因此,将其作为新的Hub,并直接建立与其他客户端的隧道,在提高DVPN的稳定性的同时,也提高了信息的通信效率。
在一个可能的设计中,所述方法还包括:若所述服务器在当前的Hub的保活时间清零时仍未收到所述当前的Hub的保活报文,所述服务器删除该Hub对应的注册信息;所述服务器从所述DVPN内的全部客户端中获取被请求进行通信的次数最多的客户端,并将该客户端选择为新的Hub。
在上述的实施方式中,服务器在当前的Hub的保活时间到达时依然未收到该Hub对应的保活报文,则表示担当当前的Hub的客户端掉线,此时,服务器可以删除该客户端对应的注册信息,然后从DVPN网络剩下的全部客户端中获取被请求进行通信的次数最多的客户端,并将其作为新的Hub。即使客户端在担当Hub时掉线,也可以迅速地选择出该Hub的替代节点,进一步提高了DVPN的稳定性。
在一个可能的设计中,在所述服务器接收源客户端发送的请求与目标客户端进行通信的通信请求之前,所述方法还包括:所述服务器接收客户端的注册请求,与发送所述注册请求的客户端进行信息交互以完成所述客户端的注册,并将所述客户端的地址映射关系记录在地址映射表中;所述服务器将当前的Hub的地址映射关系发送给所述客户端,以使所述客户端与当前的所述Hub建立隧道。
在上述的实施方式中,在有客户端担当Hub的情况下,若有新的客户端欲加入该DVPN,则新的客户端可以向DVPN中的服务器发送注册请求,并与服务器进行信息交互以完成注册过程。服务器把当前的Hub的地址映射关系发送给上述客户端,并且存储该新的客户端的地址映射关系,以便客户端与Hub建立通信隧道以及方便该新的客户端与其他客户端建立通信的隧道。
在一个可能的设计中,在所述服务器接收客户端的注册请求之前,所述方法还包括:所述服务器接收第一个客户端的注册请求,与所述第一个客户端进行信息交互以完成该客户端的注册,并将所述第一个客户端的地址映射关系记录在地址映射表中;所述服务器将所述第一个客户端指定为当前的Hub。
在上述的实施方式中,在该DVPN中只存在服务器尚未存在客户端时,若有客户端向服务器注册,则服务器可以完成该客户端的注册,并将该客户端指定为第一个Hub。
在一个可能的设计中,所述方法还包括:所述服务器接收每个客户端发送的保活报文;所述服务器返回携带有当前的Hub的地址映射关系的保活应答,以便接收到所述保活应答的客户端核对是否需与当前的Hub重新建立隧道。
在上述的实施方式中,服务器在对客户端的保活报文进行保活应答时,会在保活应答中携带当前的Hub的地址映射关系,使得某个客户端即使在服务器统一发送Hub的信息时没有及时收到或中途被截断,也可以在收到保活应答后与当前的Hub建立隧道,进一步提高了本申请实施例提供的DVPN网络的稳定性。
第二方面,本申请实施例提供了一种节点切换装置,应用于动态虚拟网络DVPN中的服务器,所述DVPN还包括多个客户端,所述多个客户端中的一个客户端被指定为Hub,其余客户端为Spoke;所述装置包括:节点选择模块,用于在切换条件满足时,从作为Spoke的客户端中选择一个作为新的Hub;隧道指示模块,用于指示所述多个客户端中除所述新的Hub之外的其余客户端与所述新的Hub建立通信隧道,以使所述新的Hub能够提供Hub服务。在一个可能的设计中,节点选择模块包括:通信请求接收模块,用于接收源客户端发送的请求与目标客户端进行通信的通信请求,记录该目标客户端被请求进行通信的次数,其中,所述源客户端为所述多个客户端中的除所述Hub以外的任意一个客户端,所述目标客户端为所述多个客户端中除所述Hub及源客户端以外的任意一个客户端;地址映射返回模块,用于将所述目标客户端的地址映射关系返回给所述源客户端,以便所述源客户端通过当前的所述Hub向所述目标客户端发送通信隧道的隧道建立请求;新节点切换模块,用于在到达设定的任期时间后,获取被请求进行通信的次数最多的客户端,并将该客户端选择为新的Hub。
在一个可能的设计中,隧道指示模块包括:地址映射发送模块,用于将所述新的Hub的地址映射关系发送给所述DVPN内的新的Hub之外的其余客户端,以便所述新的Hub之外的其余客户端与所述新的Hub重新建立隧道。
在一个可能的设计中,所述装置还包括:信息删除模块,用于当所述服务器在当前的Hub的保活时间清零时仍未收到所述当前的Hub的保活报文时,删除该Hub对应的注册信息;Hub任命模块,用于从所述DVPN内的全部客户端中获取被请求进行通信的次数最多的客户端,并将该客户端选择为新的Hub。
在一个可能的设计中,所述装置还包括:注册请求接收模块,用于接收客户端的注册请求,与发送所述注册请求的客户端进行信息交互以完成所述客户端的注册,并将所述客户端的地址映射关系记录在地址映射表中;隧道建立模块,用于将当前的Hub的地址映射关系发送给所述客户端,以使所述客户端与当前的所述Hub建立隧道。
在一个可能的设计中,所述装置还包括:客户端注册模块,用于接收第一个客户端的注册请求,与所述第一个客户端进行信息交互以完成该客户端的注册,并将所述第一个客户端的地址映射关系记录在地址映射表中;节点指定模块,用于将所述第一个客户端指定为当前的Hub。
在一个可能的设计中,所述装置还包括:保活报文接收模块,用于接收每个客户端发送的保活报文;应答返回模块,用于返回携带有当前的Hub的地址映射关系的保活应答,以便接收到所述保活应答的客户端核对是否需与当前的Hub重新建立隧道。
第三方面,本申请提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第四方面,本申请提供一种可读存储介质,该可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。
为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的节点切换方法的流程示意图;
图2为图1中步骤S10的具体步骤的流程示意图;
图3为本申请实施例提供的节点切换方法的部分步骤的流程示意图;
图4为本申请实施例提供的节点切换方法的部分步骤的流程示意图;
图5为本申请实施例提供的节点切换方法的部分步骤的流程示意图;
图6为本申请实施例提供的DVPN的第一个客户端接入时的应用场景图;
图7为本申请实施例提供的DVPN中client1担任Hub的应用场景图;
图8为本申请实施例提供的DVPN中client2与client3建立隧道的应用场景图;
图9为本申请实施例提供的DVPN中client4担任Hub的应用场景图;
图10为本申请实施例提供的DVPN中client3担任Hub的应用场景图;
图11为本申请实施例提供的节点切换装置的示意性结构框图。
具体实施方式
在对照实施例中,DVPN通常有如下几种类型:
DVPN的一种是由一个总部节点Hub和多个分支节点Spoke组成。多个Spoke中的每个Spoke均与Hub建立隧道,每个Spoke均配置有Hub的隧道地址与Hub的实际地址的地址映射关系,Spoke根据上述的地址映射关系,通过Hub的隧道地址所在的隧道向Hub发送报文。报文的内容是该Spoke自身的实际地址与该Spoke自身的隧道地址的地址映射关系。Hub上可以维护全部Spoke的实际地址与隧道地址的映射关系。多个Spoke中的任意一个Spoke欲向另外的Spoke进行通信时,可以选择通过Hub转发通信报文,也可以选择向Hub请求目标Spoke的地址映射关系,在得到Hub返回的目标Spoke的地址映射关系后,然后通过Hub向目标Spoke发送隧道建立请求,从而建立用于通信的隧道。
上述的DVPN中的Hub既需要维护多个Spoke的地址映射表,还需要维护不同Spoke的隧道关系,对Hub的性能要求较高;并且需要指定Hub的角色,若Hub故障掉线,则整个DVPN会陷入瘫痪。
DVPN的另一种在Hub与Spoke的基础上,还额外引入了服务器。所有的Hub和Spoke均向服务器进行安全注册,安全注册包括与服务器交互加密算法、认证算法以及将自身的实际地址与自身的隧道地址的映射关系发送到服务器。服务器可以维护全部Spoke的实际地址与隧道地址的映射关系。多个Spoke中的任意一个Spoke欲向另外的Spoke进行通信时,可以选择通过Hub转发通信报文,也可以向服务器请求目标Spoke的地址映射关系,在得到服务器返回的目标Spoke的地址映射关系后,然后通过Hub向目标Spoke发送隧道建立请求,从而建立用于通信的隧道。
上述的动态虚拟网络中,由于服务器承担了Hub的部分功能,因此降低了对Hub的性能要求,然而依然需要指定Hub的角色,若Hub故障掉线,则整个DVPN也会陷入瘫痪;并且为了保障网络稳定,需要额外设置维护Hub角色的网络设备,从而增加了维护成本。
本申请实施例提供的节点切换方法通过令被选出的Hub持续设定的任期时间后,便由服务器选择出的被请求次数最多的Spoke担任新的Hub的角色,从而令Hub可以灵活变化,避免了承担Hub角色的客户端一旦故障,则整个DVPN就会瘫痪的问题,提高了DVPN的稳定性;由于Hub可以灵活变化,不再需要额外设置维护Hub角色的网络设备,降低了维护成本。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参见图1,图1示出了本申请实施例提供的节点切换方法的流程示意图,应用于DVPN中的服务器,所述DVPN还包括多个客户端,所述多个客户端中的一个客户端被指定为临时总部节点Hub,其余客户端为分支节点Spoke。每个作为Spoke的客户端与指定的Hub均建立有隧道。该方法可以由服务器执行,具体包括如下步骤S10至步骤S20:
步骤S10,服务器在切换条件满足时,从作为Spoke的客户端中选择一个作为新的Hub。
步骤S20,服务器指示所述多个客户端中除所述新的Hub之外的其余客户端与所述新的Hub建立通信隧道,以使所述新的Hub能够提供Hub服务。
上述实施方式可以在满足切换条件时更换Hub,避免了承担Hub角色的客户端一旦故障,则整个DVPN就会瘫痪的问题,提高了DVPN的稳定性。
可选地,在一种具体实施方式中,切换条件可以是Hub达到性能临界值,服务器可以从作为Spoke的客户端中选择出一个性能更强的客户端代替当前的Hub。其中,每个客户端的性能参数可以均存储在服务器中。
可选地,在另一种具体实施方式中,切换条件可以是当前的Hub的持续时长到达设定的任期时间。当前Hub作为Hub角色的持续时长为任期时间,每个客户端的地址映射关系均记录在所述服务器的地址映射表中,地址映射关系为实际地址与隧道地址的映射关系。
请参见图2,图2示出了步骤S10的具体步骤流程示意图,具体包括如下步骤S110至步骤S130:
步骤S110,服务器接收源客户端发送的请求与目标客户端进行通信的通信请求,记录该目标客户端被请求进行通信的次数。
其中,源客户端为多个客户端中的除Hub以外的任意一个客户端,源客户端为发出通信请求的客户端。目标客户端为多个客户端中除Hub及源客户端以外的任意一个客户端,目标客户端为源客户端欲建立通信的对象。
步骤S120,服务器将所述目标客户端的地址映射关系返回给所述源客户端,以便所述源客户端通过当前的所述Hub向所述目标客户端发送通信隧道的隧道建立请求。
通信请求中可以携带有目标客户端的角色标识信息,服务器可以根据目标客户端的角色标识信息从自身的地址映射表中查找该目标客户端的地址映射关系。
角色标识信息为可以唯一标识目标客户端的角色的信息,例如,角色标识信息可以为目标客户端的隧道地址信息,服务器可以依据隧道地址信息,从地址映射表中查找到目标客户端的实际mac地址,并且将查找到的实际mac地址返回给源客户端。
角色标识信息也可以为用户设置的一个唯一的标识码,服务器可以根据该标识码从地址映射表中查找到目标客户端对应的隧道地址信息以及实际mac地址信息,并且将隧道地址信息以及实际mac地址信息均返回给源客户端。角色标识信息在满足能够对目标客户端进行唯一角色标识的前提下,其具体内容不应该理解为是对本申请的限制。
源客户端根据目标客户端的实际mac地址以及隧道地址,通过当前的Hub向目标客户端发送隧道建立请求,以建立源客户端与目标客户端之间的通信隧道。
步骤S130,在到达设定的任期时间后,所述服务器获取被请求进行通信的次数最多的客户端,并将该客户端选择为新的Hub。
当前的Hub由服务器选出的客户端担任,且该客户端担任Hub的任期时长为任期时间。在当前的Hub的任期结束后,服务器可以统计多个客户端中每个客户端分别对应的被请求进行通信的次数,将次数最多的客户端作为新的Hub。在每次被选出的Hub持续设定的任期时间,启动下一轮由服务器选择出被请求次数最多的客户端担任新的Hub的角色,从而令Hub可以灵活变化,避免了承担Hub角色的客户端一旦故障,则整个DVPN就会瘫痪的问题,提高了DVPN的稳定性。
可选地,在本申请的一种具体实施方式中,该方法还可以包括:所述服务器接收每个客户端发送的保活报文;所述服务器返回携带有当前的Hub的地址映射关系的保活应答,以便接收到所述保活应答的客户端核对是否需与当前的Hub重新建立隧道。
为了确保每个客户端依然处于可通信的状态,每个客户端均会定期向服务器发送保活报文,服务器在接收到保活报文后会向客户端返回保活应答。服务器在对客户端的保活报文进行保活应答时,会在保活应答中携带当前的Hub的地址映射关系,使得某个客户端即使在服务器统一发送Hub的信息时没有及时收到或中途被截断,也可以在收到保活应答后与当前的Hub建立隧道,进一步提高了本申请实施例提供的DVPN网络的稳定性。
若服务器在某客户端的保活时间清零之前,未收到该客户端发送的保活报文,则服务器可以判定该客户端掉线,此时,服务器可以删除该客户端对应的注册信息。
可选地,在本申请的一种具体实施方式中,步骤S20具体可以包括:所述服务器将所述新的Hub的地址映射关系发送给所述DVPN内的新的Hub之外的其余客户端,以便所述新的Hub之外的其余客户端与所述新的Hub重新建立隧道。
服务器在确定出新的Hub之后,可以把该Hub的地址映射关系发送给DVPN内的全部客户端,从而使得客户端均与新的Hub建立隧道。应当理解,担任上一Hub的角色的客户端由于不再继续担任Hub的角色,因此,其恢复了普通的客户端的角色,新的Hub的地址映射关系也可以发送给该担任上一Hub的角色的客户端。
由于新的Hub是上一Hub的任职期间内被请求建立隧道次数最多的客户端,因此,将其作为新的Hub,并直接建立与其他客户端的隧道,在提高DVPN的稳定性的同时,也提高了信息的通信效率。
可选地,请参见图3,在一种具体实施方式中,本申请实施例还可以包括如下步骤S140至步骤S150:
步骤S140,若所述服务器在当前的Hub的保活时间清零时仍未收到所述当前的Hub的保活报文,所述服务器删除该Hub对应的注册信息。
步骤S150,所述服务器从所述DVPN内的全部客户端中获取被请求进行通信的次数最多的客户端,并将该客户端选择为新的Hub。
服务器在当前的Hub的保活时间到达时依然未收到该Hub对应的保活报文,则表示担当当前的Hub的客户端掉线,此时,服务器可以删除该客户端对应的注册信息;然后从DVPN网络剩下的全部客户端中获取被请求进行通信的次数最多的客户端,并将其作为新的Hub。即使客户端在当前Hub时掉线,也可以迅速地选择出该Hub的替代节点,进一步提高了DVPN的稳定性。
若服务器在当前的Hub的保活时间到达前依然能够持续接收到当前Hub发送的保活报文,则在当前的Hub的任期(即任期时间)内可以保持其Hub的角色不变。
可选地,请参见图4,在一种具体实施方式中,在步骤S110之前,该方法还可以包括如下步骤S210至步骤S220:
步骤S210,服务器接收客户端的注册请求,与发送所述注册请求的客户端进行信息交互以完成所述客户端的注册,并将所述客户端的地址映射关系记录在地址映射表中。
步骤S220,服务器将当前的Hub的地址映射关系发送给所述客户端,以使所述客户端与当前的所述Hub建立隧道。
在有客户端担当Hub的情况下,若有新的客户端欲加入该DVPN,则新的客户端可以向DVPN中的服务器发送注册请求,并与服务器进行信息交互以完成注册过程。服务器把当前的Hub的地址映射关系发送给上述客户端,并且存储该新的客户端的地址映射关系,以便客户端与Hub建立通信隧道以及方便该新的客户端与其他客户端建立通信的隧道。
新的客户端与服务器的注册过程包括如下内容:
新的客户端与服务器进行信息交互,交互的内容包括加密算法、认证算法、密钥等安全套件,上述的安全套件可以保护该新的客户端与服务器、或该新的客户端与其他客户端之间通信的安全性。
可选地,请参见图5,在一种具体实施方式中,在步骤S210之前,该方法还可以包括如下步骤S310至步骤S320:
步骤S310,服务器接收第一个客户端的注册请求,与所述第一个客户端进行信息交互以完成该客户端的注册,并将所述第一个客户端的地址映射关系记录在地址映射表中。
步骤S320,服务器将所述第一个客户端指定为当前的Hub。
在该DVPN中只存在服务器尚未存在客户端时,若有客户端向服务器注册,则服务器可以完成该客户端的注册,并将该客户端指定为第一个Hub。
上述的DVPN无需静态指定网络节点(即客户端)的角色,即使初始组网时不指定固定的Hub,只有服务器接入该DVPN,在客户端的不断接入的过程中,依然可以完成通信。
接下来以一个服务器服务器和四个客户端(client1、client2、client3、client4)为例,对本申请实施例提供的节点切换方法进行说明:
不妨设client1为该DVPN中的第一个接入的客户端,请参见图6,client1向服务器发起注册请求,client1与服务器进行多次报文交互过程,完成注册。client1存储有服务器端确认的加密算法、认证算法和通信密钥,服务器也记录下client1的隧道地址与实际地址的映射关系。服务器将client1推选为临时总部节点Hub,并且服务器对client1自身会维护一个保活时长,对client所担任的Hub角色会维护一个担任时长(即任期时间)。保活时长与担任时长均可以自由配置。
请参见图7,在client1担任Hub角色的担任时长内,client2、client3、client4纷纷接入DVPN。在接入DVPN的过程中,client2、client3、client4分别向服务器进行注册,注册过程与client1的注册过程相同,在此便不做赘述。
client2在完成注册后,服务器会将当前的Hub(即client1)的隧道地址与实际地址的映射关系发送给client2,以便client2与Hub完成隧道的建立。
client3在完成注册后,服务器会将当前的Hub(即client1)的隧道地址与实际地址的映射关系发送给client3,以便client3与Hub完成隧道的建立。
client4在完成注册后,服务器会将当前的Hub(即client1)的隧道地址与实际地址的映射关系发送给client4,以便client4与Hub完成隧道的建立。
此时,如果client2欲与client3进行通信,则会执行如图8示出的通信过程:
(1)client2向服务器请求client3的映射关系信息;
(2)服务器将client3的映射关系信息返回给client2,并且在服务器本地将client3被请求通信的次数记录下来;
(3)client2根据client3的映射关系信息,发送隧道建立请求对应的报文,由于目前client2只与Hub建立隧道,因此,该报文只会转发给Hub;
(4)Hub将(3)中的报文转发给client3,从而完成client2与client3的通信的隧道的建立。
Client1担任Hub角色的担任时长到期时,服务器可以统计本地记录的client2、client3、client4被请求通信的次数,并将被请求通信的次数最多的client作为新的Hub。
请参见图9,不妨设Client1担任Hub角色的担任时长到期时,client4被请求通信的次数最多,则服务器令client4担任新Hub的角色,并且服务器立即把client4为新Hub的信息通过报文的形式发送给其他client(client1、client2、client3),以便client1、client2、client3重新与新Hub建立隧道。
在整个DVPN的运行过程中,client与服务器一直维持着保活机制,每个client(包括担任Hub角色的client)需要定时向服务器发送保活报文;服务器在收到保活报文后会回复保活应答,刷新对应client的保活时间。可选地,保活应答中可以携带有当前Hub的地址映射信息,client在收到保活应答时,将收到的新Hub的地址映射信息与自身存储的Hub的信息进行比对,判断是否需要重新建立隧道。因此,即使某个client在服务器统一发送Hub信息的报文时未能及时收到,或中途被截断,也会在收到保活应答时重新与当前的Hub建立隧道。
请参见图10,假设client4在担任Hub角色的担任时长内突然掉线,则服务器端便会在client4的保活时间到达时依然接收不到client4的保活报文。此时,服务器会删掉client4的注册信息,并从剩下的client(即client1、client2、client3)中选择被请求通信的次数最多的client,不妨设client3是被请求通信的次数最多的client。服务器会将client3作为担任Hub角色的新Hub,并立即把这个变更通过报文的形式发送给所有其他client(即client1、client2),以便其他client重新向新的Hub发起隧道建立的过程。
请参见图11,图11示出了本申请实施例提供的节点切换装置的一种具体实施方式,应用于服务器,该装置400包括:
节点选择模块410,用于在切换条件满足时,从作为Spoke的客户端中选择一个作为新的Hub。
隧道指示模块420,用于指示所述多个客户端中除所述新的Hub之外的其余客户端与所述新的Hub建立通信隧道,以使所述新的Hub能够提供Hub服务。其中,节点选择模块410包括:
通信请求接收模块,用于接收源客户端发送的请求与目标客户端进行通信的通信请求,记录该目标客户端被请求进行通信的次数,其中,所述源客户端为所述多个客户端中的除所述Hub以外的任意一个客户端,所述目标客户端为所述多个客户端中除所述Hub及源客户端以外的任意一个客户端。
地址映射返回模块,用于将所述目标客户端的地址映射关系返回给所述源客户端,以便所述源客户端通过当前的所述Hub向所述目标客户端发送通信隧道的隧道建立请求。
新节点切换模块,用于在到达设定的任期时间后,获取被请求进行通信的次数最多的客户端,并将该客户端选择为新的Hub。
隧道指示模块包括:地址映射发送模块,用于将所述新的Hub的地址映射关系发送给所述DVPN内的新的Hub之外的其余客户端,以便所述新的Hub之外的其余客户端与所述新的Hub重新建立隧道。
所述装置还包括:
信息删除模块,用于当所述服务器在当前的Hub的保活时间清零时仍未收到所述当前的Hub的保活报文时,删除该Hub对应的注册信息。
Hub任命模块,用于从所述DVPN内的全部客户端中获取被请求进行通信的次数最多的客户端,并将该客户端选择为新的Hub。
注册请求接收模块,用于接收客户端的注册请求,与发送所述注册请求的客户端进行信息交互以完成所述客户端的注册,并将所述客户端的地址映射关系记录在地址映射表中。
隧道建立模块,用于将当前的Hub的地址映射关系发送给所述客户端,以使所述客户端与当前的所述Hub建立隧道。
客户端注册模块,用于接收第一个客户端的注册请求,与所述第一个客户端进行信息交互以完成该客户端的注册,并将所述第一个客户端的地址映射关系记录在地址映射表中。
节点指定模块,用于将所述第一个客户端指定为当前的Hub。
保活报文接收模块,用于接收每个客户端发送的保活报文。
应答返回模块,用于返回携带有当前的Hub的地址映射关系的保活应答,以便接收到所述保活应答的客户端核对是否需与当前的Hub重新建立隧道。
图11示出的节点切换装置与图2示出的节点切换方法相对应,在此便不做赘述。
本申请实施例提供的组网系统不需要静态指定网络节点(即客户端)的角色,尤其不需要在初始组网中就限定一个固定Hub角色的节点,组网自由度高,只需要服务器进行软件处理,客户端接入进来的操作难度低。
本申请实施例提供的组网系统只需要在核心位置放入一个服务器,服务器只需要维护各个client的信息,不参与实际的业务报文的转发工作,服务器自身的性能压力很低,并且整体组网系统的后期维护,也只需要维护这个服务器的稳定工作,其他client是否在线对于整网是否能够正常工作没有影响,维护成本大幅度降低。
本申请实施例提供的组网系统的安全性、稳定性、鲁棒性很强,由于依托Hub推选机制,即使某一个Hub掉线后,服务器也能够通过保活机制,快速发现并及时更改新的Hub,DVPN能够在很短的时间内恢复正常。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种节点切换方法,其特征在于,应用于动态虚拟网络DVPN中的服务器,所述DVPN还包括多个客户端,所述多个客户端中的一个客户端被指定为总部节点Hub,其余客户端为分支节点Spoke;
所述方法包括:
所述服务器在切换条件满足时,从作为Spoke的客户端中选择一个作为新的Hub;
所述服务器指示所述多个客户端中除所述新的Hub之外的其余客户端与所述新的Hub建立通信隧道,以使所述新的Hub能够提供Hub服务。
2.根据权利要求1所述的方法,其特征在于,所述在切换条件满足时,从作为Spoke的客户端中选择一个作为新的Hub,包括:
所述服务器接收源客户端发送的与目标客户端进行通信的通信请求,记录该目标客户端被请求进行通信的次数,其中,所述源客户端为所述多个客户端中的除所述Hub以外的任意一个客户端,所述目标客户端为所述多个客户端中除所述Hub及源客户端以外的任意一个客户端;
所述服务器将所述目标客户端的地址映射关系返回给所述源客户端,以便所述源客户端通过当前的所述Hub向所述目标客户端发送通信隧道的隧道建立请求;
在到达设定的任期时间后,所述服务器获取被请求进行通信的次数最多的客户端,并将该客户端选择为新的Hub。
3.根据权利要求2所述的方法,其特征在于,所述服务器指示所述多个客户端中除所述新的Hub之外的其余客户端与所述新的Hub建立通信隧道,包括:
所述服务器将所述新的Hub的地址映射关系发送给所述DVPN内的除所述新的Hub之外的其余客户端,以便所述新的Hub之外的其余客户端与所述新的Hub重新建立隧道。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
若所述服务器在当前的Hub的保活时间清零时仍未收到所述当前的Hub的保活报文,所述服务器删除该Hub对应的注册信息;
所述服务器从所述DVPN内的全部客户端中获取被请求进行通信的次数最多的客户端,并将该客户端选择为新的Hub。
5.根据权利要求2所述的方法,其特征在于,在所述服务器接收源客户端发送的请求与目标客户端进行通信的通信请求之前,所述方法还包括:
所述服务器接收客户端的注册请求,与发送所述注册请求的客户端进行信息交互以完成所述客户端的注册,并将所述客户端的地址映射关系记录在地址映射表中;
所述服务器将当前的Hub的地址映射关系发送给所述客户端,以使所述客户端与当前的所述Hub建立隧道。
6.根据权利要求5所述的方法,其特征在于,在所述服务器接收客户端的注册请求之前,所述方法还包括:
所述服务器接收第一个客户端的注册请求,与所述第一个客户端进行信息交互以完成该客户端的注册,并将所述第一个客户端的地址映射关系记录在地址映射表中;
所述服务器将所述第一个客户端指定为当前的Hub。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述服务器接收每个客户端发送的保活报文;
所述服务器返回携带有当前的Hub的地址映射关系的保活应答,以便接收到所述保活应答的客户端核对是否需与当前的Hub重新建立隧道。
8.一种节点切换装置,其特征在于,应用于动态虚拟网络DVPN中的服务器,所述DVPN还包括多个客户端,所述多个客户端中的一个客户端被指定为总部节点Hub,其余客户端为分支节点Spoke;
所述装置包括:
节点选择模块,用于在切换条件满足时,从作为Spoke的客户端中选择一个作为新的Hub;
隧道指示模块,用于指示所述多个客户端中除所述新的Hub之外的其余客户端与所述新的Hub建立通信隧道,以使所述新的Hub能够提供Hub服务。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-7任一项所述的节点切换方法。
10.一种可读存储介质,其特征在于,该可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1-7任一项所述的节点切换方法。
CN202011206293.0A 2020-11-02 2020-11-02 节点切换方法、装置、电子设备及可读存储介质 Active CN112260928B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011206293.0A CN112260928B (zh) 2020-11-02 2020-11-02 节点切换方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011206293.0A CN112260928B (zh) 2020-11-02 2020-11-02 节点切换方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112260928A CN112260928A (zh) 2021-01-22
CN112260928B true CN112260928B (zh) 2022-05-17

Family

ID=74267798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011206293.0A Active CN112260928B (zh) 2020-11-02 2020-11-02 节点切换方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112260928B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347071B (zh) * 2021-05-20 2022-07-05 杭州快越科技有限公司 动态虚拟专用网络vpn建立方法、装置及设备
CN113630276B (zh) * 2021-08-16 2024-04-09 迈普通信技术股份有限公司 一种主备切换控制方法、装置及dvpn网络系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101312424A (zh) * 2007-05-25 2008-11-26 杭州华三通信技术有限公司 Vpn结构还原方法和装置
US7848335B1 (en) * 2005-10-27 2010-12-07 Juniper Networks, Inc. Automatic connected virtual private network
CN202178777U (zh) * 2011-01-08 2012-03-28 珠海清华科技园创业投资有限公司 一种mpls虚拟专用网络路由器组成架构
CN102594678A (zh) * 2012-02-15 2012-07-18 杭州华三通信技术有限公司 一种dvpn大规模组网的方法和客户端
CN103107942A (zh) * 2013-02-26 2013-05-15 杭州华三通信技术有限公司 一种静态路由的跟踪方法和设备
CN103166853A (zh) * 2013-02-19 2013-06-19 杭州华三通信技术有限公司 一种数据传输方法和设备
CN103986638A (zh) * 2014-05-27 2014-08-13 杭州华三通信技术有限公司 Advpn隧道绑定多公网链路的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209108B (zh) * 2013-04-10 2016-03-02 杭州华三通信技术有限公司 一种基于dvpn的路由生成方法和设备
CN104427010B (zh) * 2013-08-30 2018-02-09 新华三技术有限公司 应用于动态虚拟专用网络的网络地址转换方法和装置
US9218463B2 (en) * 2014-02-21 2015-12-22 Venafi, Inc. Trust map management and user interface

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7848335B1 (en) * 2005-10-27 2010-12-07 Juniper Networks, Inc. Automatic connected virtual private network
CN101312424A (zh) * 2007-05-25 2008-11-26 杭州华三通信技术有限公司 Vpn结构还原方法和装置
CN202178777U (zh) * 2011-01-08 2012-03-28 珠海清华科技园创业投资有限公司 一种mpls虚拟专用网络路由器组成架构
CN102594678A (zh) * 2012-02-15 2012-07-18 杭州华三通信技术有限公司 一种dvpn大规模组网的方法和客户端
CN103166853A (zh) * 2013-02-19 2013-06-19 杭州华三通信技术有限公司 一种数据传输方法和设备
CN103107942A (zh) * 2013-02-26 2013-05-15 杭州华三通信技术有限公司 一种静态路由的跟踪方法和设备
CN103986638A (zh) * 2014-05-27 2014-08-13 杭州华三通信技术有限公司 Advpn隧道绑定多公网链路的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Dynamic routing influence on secure enterprise network based on DMVPN;Gebere Akele Tizazu,Ki-Hyung Kim,Abraham Belay Berhe;《2017 Ninth International Conference on Ubiquitous and Future Networks (ICUFN)》;20170727;全文 *
基于改进目录服务技术的动态VPN的研究与实现;韦衍恒;《中国优秀硕士学位论文全文数据库》;20120415;正文第14页第5行-第53页第7行,图3-5~3-9 *

Also Published As

Publication number Publication date
CN112260928A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
EP1796342B1 (en) A method for transmitting requests
US6957276B1 (en) System and method of assigning and reclaiming static addresses through the dynamic host configuration protocol
US7518983B2 (en) Proxy response apparatus
US20070121490A1 (en) Cluster system, load balancer, node reassigning method and recording medium storing node reassigning program
CN112260928B (zh) 节点切换方法、装置、电子设备及可读存储介质
US20060153129A1 (en) System and method for efficient selection of a packet data servicing node
JP2011125049A (ja) 状態転送にコアベースのノードを使用するよう拡張された技術
JP2006253900A (ja) Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム
EP2153625A1 (en) Mobile device file sharing method and apparatus
US20100195613A1 (en) Method, system and apparatus for heterogeneous addressing mapping
CN102047131B (zh) 用于移动性代理恢复的方法和设备
CN100563263C (zh) 在网络存储业务中实现系统高可用性的方法和系统
CN110875857A (zh) 断网状态的上报方法、装置及系统
JP5039975B2 (ja) ゲートウェイ装置
JP3944491B2 (ja) 移動通信システムのコンテキスト同期化方法
CN109561004B (zh) 报文转发方法、装置及交换机
CN112492030B (zh) 数据存储方法、装置、计算机设备和存储介质
EP3884647B1 (en) Methods of operating service control nodes
US20070291704A1 (en) Internet protocol address take-over system in a local area network and method thereof
JP4757670B2 (ja) システム切替方法、その計算機システム及びプログラム
CN112104888B (zh) 一种直播用户分组的方法及系统
WO2011041976A1 (zh) 缓存维护方法和系统以及接入服务节点
CN110572290A (zh) 主设备确定方法、装置、电子设备、存储介质及网络系统
JP2003140986A (ja) 遠隔監視システムおよび通信制御方法
CN115967669B (zh) 基于vrrp拓展协议的脑裂抑制方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant