CN104158694B - DHCPv6服务器的热备方法和装置 - Google Patents

DHCPv6服务器的热备方法和装置 Download PDF

Info

Publication number
CN104158694B
CN104158694B CN201410428071.1A CN201410428071A CN104158694B CN 104158694 B CN104158694 B CN 104158694B CN 201410428071 A CN201410428071 A CN 201410428071A CN 104158694 B CN104158694 B CN 104158694B
Authority
CN
China
Prior art keywords
dhcpv6
servers
vduid
main
duid
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
CN201410428071.1A
Other languages
English (en)
Other versions
CN104158694A (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.)
Ruijie Networks Co Ltd
Original Assignee
Fujian Star Net Communication 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 Fujian Star Net Communication Co Ltd filed Critical Fujian Star Net Communication Co Ltd
Priority to CN201410428071.1A priority Critical patent/CN104158694B/zh
Publication of CN104158694A publication Critical patent/CN104158694A/zh
Application granted granted Critical
Publication of CN104158694B publication Critical patent/CN104158694B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种DHCPv6服务器的热备方法和装置,包括:主DHCPv6服务器接收DHCPv6客户端发送的包含VDUID的服务请求,并确定存储的DUID链表中是否包含VDUID,若包含,则为DHCPv6客户端提供业务服务;主DHCPv6服务器在发生故障时通知备DHCPv6服务器,备DHCPv6服务器会将VDUID的状态从不可用状态切换为可用状态并为DHCPv6客户端提供业务服务,而当备DHCPv6服务器重启后,备DHCPv6服务器可以自身生成与主DHCPv6服务器相同的VDUID,从而提高了主DHCPv6服务器发生故障时,备DHCPv6服务器接管主DHCPv6服务器的及时性和可靠性。

Description

DHCPv6服务器的热备方法和装置
技术领域
本发明涉及通信技术,尤其涉及一种DHCPv6服务器的热备方法和装置。
背景技术
互联网协议第六版(Internet Protocol Version 6,简称为:IPv6)动态主机配置协议(Dynamic Host Configuration Protocol for IPv6,简称为:DHCPv6)服务器,可以为网络节点分配IPv6地址、前缀和网络配置参数。DHCPv6服务器通过响应DHCPv6客户端的请求,为DHCPv6客户端分配地址、前缀和网络配置参数,如果DHCPv6客户端和DHCPv6服务器不在同一个子网内,可以通过DHCPv6中继转发DHCPv6客户端和DHCPv6服务器发送的报文,以实现跨网段的业务请求,从而减轻了网络管理员的负担和提高了地址分配的管理性。
DHCPv6定义了DHCP唯一标识符(DHCP Unique Identifier,简称为:DUID)作为DHCPv6服务器和DHCPv6客户端的标识。DHCPv6客户端与DHCPv6服务器通信的过程中,DHCPv6客户端会选择满足自身需求的DHCPv6服务器发起请求,并将包含所选择的DHCPv6服务器的DUID的请求消息广播至系统中的DHCPv6服务器,当DHCPv6服务器在收到请求消息后,会判断请求消息中携带的DHCPv6服务器的DUID是否与本机的DUID匹配,如果匹配,才会对请求消息进行处理,否则认为DHCPv6客户端不是向自己发出请求,不会对请求消息进行处理。
为了提高DHCPv6服务器的可用性,DHCPv6服务器自身需要具备热备服务功能,在主DHCPv6服务器发生故障时,备DHCPv6服务器能够接管主DHCPv6服务器为DHCPv6客户端继续提供服务,因此,备DHCPv6服务器的DUID必须保持与主DHCPv6服务器的DUID一致,这样才能保证切换后,DHCPv6客户端发送的请求消息中的DUID与备DHCPv6服务器的DUID一致,从而使得请求消息可以得到备DHCPv6服务器的处理。
而备DHCPv6服务器可能会随时发生异常或断电而重启,为了使得重启后的备DHCPv6服务器的DUID与主DHCPv6服务器的DUID继续保持一致,在现有技术中,可以通过主DHCPv6服务器定期发送自身的DUID到备DHCPv6服务器上,从而使得备DHCPv6服务器与主DHCPv6服务器的DUID一致。
在备DHCPv6服务器获取到主DHCPv6服务器的DUID之前,如果主DHCPv6服务器发生故障,备DHCPv6服务器就无法及时接管主DHCPv6服务器为DHCPv6客户端提供无缝持续的服务。
发明内容
本发明实施例提供一种互联网协议第六版动态主机配置协议DHCPv6服务器的热备方法和装置,以克服现有技术中备DHCPv6服务器无法及时接管主DHCPv6服务器为DHCPv6客户端提供无缝持续的服务的问题。
本发明第一方面提供一种互联网协议第六版动态主机配置协议DHCPv6服务器的热备方法,包括:
主DHCPv6服务器接收DHCPv6客户端发送的服务请求,所述服务请求中包含DHCPv6唯一标识DUID,DHCPv6唯一标识DUID为虚拟的DHCPv6唯一标识VDUID,所述VDUID为根据所述主DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的;
所述主DHCPv6服务器确定存储的DUID链表中是否包含所述VDUID,若包含,则为所述DHCPv6客户端提供业务服务;
所述主DHCPv6服务器在发生故障时通知备DHCPv6服务器,以使所述备DHCPv6服务器将所述VDUID的状态从不可用状态切换为可用状态并为所述DHCPv6客户端提供业务服务;
其中,所述主DHCPv6服务器与所述备DHCPv6服务器对应相同的VRRP组。
在第一方面的第一种可能的实现方式中,还包括:
所述主DHCPv6服务器接收所述DHCPv6客户端发送的发现请求;
所述主DHCPv6服务器确定所述DUID链表中是否包含可用的VDUID;
若包含可用的VDUID,则所述主DHCPv6服务器将所述可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端;
若包含不可用的VDUID,则所述主DHCPv6服务器确定不提供DHCPv6地址服务;
若不包含VDUID,则所述主DHCPv6服务器将DUID发送给所述DHCPv6客户端,所述DUID为根据所述主DHCPv6服务器的链路地址生成的。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述主DHCPv6服务器将所述可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端,包括:
所述主DHCPv6服务器将所述DUID链表中第一个可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端。
结合第一方面、第一方面的第一或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述主DHCPv6服务器接收DHCPv6客户端发送的服务请求之前,还包括:
所述主DHCPv6服务器根据对应的VRRP组的MAC地址生成所述VDUID,将所述VDUID添加到所述DUID链表中,并将所述VDUID设置为不可用状态;
所述主DHCPv6服务器在接收到VRRP主设备角色通告后,将所述VDUID设置为可用状态。
本发明第二方面提供一种互联网协议第六版动态主机配置协议DHCPv6服务器的热备方法,包括:
备DHCPv6服务器接收VRRP角色切换通告信息,所述角色切换通告信息用于通知所述备DHCPv6服务器需要接管发生故障的主DHCPv6服务器为DHCPv6客户端提供业务服务;
所述备DHCPv6服务器将存储的DUID链表中的与所述主DHCPv6服务器为所述DHCPv6客户端提供业务服务相同的虚拟的DHCPv6唯一标识VDUID设置为可用状态,所述VDUID为根据所述备DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的;
所述备DHCPv6服务器根据所述设置为可用状态的VDUID为所述DHCPv6客户端提供业务服务;
其中,所述备DHCPv6服务器与所述主DHCPv6服务器对应相同的VRRP组。
在第二方面的第一种可能的实现方式中,所述备DHCPv6服务器接收角色切换通告信息之前,还包括:
所述备DHCPv6服务器根据对应的VRRP组的MAC地址生成所述VDUID,将所述VDUID添加到所述DUID链表中,并将所述VDUID设置为不可用状态。
本发明第三方面提供一种互联网协议第六版动态主机配置协议DHCPv6服务器,所述DHCPv6服务器为主DHCPv6服务器,所述主DHCPv6服务器包括:
第一接收模块,用于接收DHCPv6客户端发送的服务请求,所述服务请求中包含DHCPv6唯一标识DUID,DHCPv6唯一标识DUID为虚拟的DHCPv6唯一标识VDUID,所述VDUID为根据所述主DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的;
确定模块,用于确定存储的DUID链表中是否包含所述VDUID,若包含,则为所述DHCPv6客户端提供业务服务;
切换模块,用于所述主DHCPv6服务器在发生故障时通知备DHCPv6服务器,以使所述备DHCPv6服务器将所述VDUID的状态从不可用状态切换为可用状态并为所述DHCPv6客户端提供业务服务;
其中,所述主DHCPv6服务器与所述备DHCPv6服务器对应相同的VRRP组。
在第三方面的的第一种可能的实现方式中,还包括:第二接收模块和发送模块,
所述第二接收模块用于接收所述DHCPv6客户端发送的发现请求;
所述确定模块还用于确定所述DUID链表中是否包含可用的VDUID;
若包含可用的VDUID,则所述发送模块将所述可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端;
若包含不可用的VDUID,则所述确定模块确定不提供DHCPv6地址服务;
若不包含VDUID,则所述发送模块将DUID发送给所述DHCPv6客户端,所述DUID为根据所述主DHCPv6服务器的链路地址生成的。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述发送模块将所述可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端,包括:
所述发送模块将所述DUID链表中第一个可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端。
结合第三方面、第三方面的第一或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,还包括:添加模块和设置模块,
所述添加模块用于在所述第一接收模块接收DHCPv6客户端发送的服务请求之前,根据对应的VRRP组的MAC地址生成所述VDUID,将所述VDUID添加到所述DUID链表中,并将所述VDUID设置为不可用状态;
所述设置模块在接收到VRRP主设备角色通告后,将所述VDUID设置为可用状态。
本发明第四方面提供一种互联网协议第六版动态主机配置协议DHCPv6服务器,所述DHCPv6服务器为备DHCPv6服务器,所述备DHCPv6服务器包括:
接收模块,用于接收VRRP角色切换通告信息,所述角色切换通告信息用于通知所述备DHCPv6服务器需要接管发生故障的主DHCPv6服务器为DHCPv6客户端提供业务服务;
切换模块,用于将存储的DUID链表中的与所述主DHCPv6服务器为所述DHCPv6客户端提供业务服务相同的虚拟的DHCPv6唯一标识VDUID设置为可用状态,所述VDUID为根据所述备DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的;
服务模块,用于根据所述切换模块设置为可用状态的VDUID为所述DHCPv6客户端提供业务服务;
其中,所述备DHCPv6服务器与所述主DHCPv6服务器对应相同的VRRP组。
在第四方面的第一种可能的实现方式中,还包括:生成模块,用于在所述接收模块接收角色切换通告信息之前,根据对应的VRRP组的MAC地址生成所述VDUID,将所述VDUID添加到所述DUID链表中,并将所述VDUID设置为不可用状态。
本发明提供一种DHCPv6服务器的热备方法和装置,首先,主DHCPv6服务器接收DHCPv6客户端发送的服务请求,其中,服务请求中包含VDUID,且VDUID为根据主DHCPv6服务器对应的VRRP组的MAC地址生成的,然后,主DHCPv6服务器确定存储的DUID链表中是否包含VDUID,若包含,则为DHCPv6客户端提供业务服务。
主DHCPv6服务器在发生故障时通知备DHCPv6服务器,备DHCPv6服务器会将VDUID的状态从不可用状态切换为可用状态并为DHCPv6客户端提供业务服务,其中,通过VDUID作为DHCPv6服务器的标识为DHCPv6客户端提供业务服务,使得备DHCPv6服务器重启后,备DHCPv6服务器可以自身生成与主DHCPv6服务器相同的VDUID,从而提高了主DHCPv6服务器发生故障时,备DHCPv6服务器接管主DHCPv6服务器的及时性和可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的DHCPv6服务器的热备方法流程图一;
图2为本发明实施例提供的DHCPv6服务器的热备方法流程图二;
图3为本发明实施例提供的DHCPv6服务器与DHCPv6客户端进行通信的方法流程图;
图4为图3中步骤304的实现方法流程图;
图5为DHCPv6服务器1+1备份冗余方法的示意图一;
图6为DHCPv6服务器1+1备份冗余方法的示意图二;
图7为DHCPv6服务器的1+1负载均衡方法的示意图一;
图8为DHCPv6服务器的1+1负载均衡方法的示意图二;
图9为DHCPv6服务器的N+1备份冗余方法的示意图一;
图10为DHCPv6服务器的N+1备份冗余方法的示意图二;
图11为本发明实施例提供的DHCPv6服务器的结构示意图一;
图12为本发明实施例提供的DHCPv6服务器的结构示意图二;
图13为本发明实施例提供的DHCPv6服务器的结构示意图三;
图14为本发明实施例提供的DHCPv6服务器的结构示意图四;
图15为本发明实施例提供的DHCPv6服务器的结构示意图五。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种互联网协议第六版动态主机配置协议DHCPv6服务器的热备方法流程图,如图1所示,本实施例的方法可以包括:
步骤101:主DHCPv6服务器接收DHCPv6客户端发送的服务请求,服务请求中包含虚拟的DHCPv6唯一标识VDUID,VDUID为根据主DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的。
具体的,DHCPv6客户端会发送服务请求到主DHCPv6服务器,其中,服务请求中包含虚拟的DHCPv6唯一标识VDUID,并且VDUID为根据主DHCPv6服务器对应的虚拟路由器冗余协议(Virtual Router Redundancy Protocol,简称:VRRP)组的虚拟介质访问控制MAC地址生成的,服务请求中的VDUID用于主DHCPv6服务器判断DHCPv6客户端是否向自身发送服务请求。
其中,DHCPv6客户端发送的服务请求可以为地址请求、前缀请求或网络配置参数请求,本发明不对DHCPv6客户端发送的服务请求的具体内容加以限制。
步骤102:主DHCPv6服务器确定存储的DUID链表中是否包含VDUID,若包含,则为DHCPv6客户端提供业务服务。
进一步的,主DHCPv6服务器会将根据自身对应的VRRP组的虚拟MAC地址生成的VDUID存储在DUID链表中,当主DHCPv6服务器接收到DHCPv6客户端发送的服务请求后,首先分析自身维护的DUID链表中是否包含服务请求中的VDUID,若包含服务请求中的VDUID,则说明DHCPv6客户端向自身发送服务请求,并为DHCPv6客户端提供业务服务;若主DHCPv6服务器自身维护的DUID链表中不包含服务请求中的VDUID,则说明DHCPv6客户端不是向自身发送服务请求,将丢弃接收到的DHCPv6客户端的服务请求。
步骤103:主DHCPv6服务器在发生故障时通知备DHCPv6服务器,以使备DHCPv6服务器将VDUID的状态从不可用状态切换为可用状态并为DHCPv6客户端提供业务服务,其中,主DHCPv6服务器与备DHCPv6服务器对应相同的VRRP组。
具体的,由于主DHCPv6服务器在为DHCPv6客户端提供业务服务的过程中可能会发生故障,此时故障的主DHCPv6服务器无法继续为DHCPv6客户端,如果没有其他的DHCPv6服务器及时接管主DHCPv6服务器继续为DHCPv6客户端提供业务服务,会导致业务服务中断。因此,主DHCPv6服务器需要具备热备功能,使得主DHCPv6服务器在发生故障无法继续为DHCPv6客户端的时候,备DHCPv6服务器可以及时接管主DHCPv6服务器继续为DHCPv6客户端提供业务服务,保证了为DHCPv6客户端提供业务服务的连续性。
可选的,主DHCPv6服务器会定时的发送给备DHCPv6服务器业务报文,此业务报文用于主DHCPv6服务器通知备DHCPv6服务器自身的状态,当主DHCPv6服务器故障时,主DHCPv6服务器无法向备DHCPv6服务器发送业务报文,当备DHCPv6服务器在提前预置的时间内没有接收到主DHCPv6服务器发送的业务报文,备DHCPv6服务器会默认主DHCPv6服务器故障,自身需要接管主DHCPv6服务器为DHCPv6客户端提供业务服务。
由于主DHCPv6服务器为DHCPv6客户端提供业务服务的过程中。只有当自身维护的DUID链表中包含DHCPv6客户端发送的服务请求中包含的VDUID,才会为DHCPv6客户端提供业务服务,因此,如果主DHCPv6服务器故障,需要备DHCPv6服务器接管主DHCPv6服务器为DHCPv6客户端提供无缝持续的服务,备DHCPv6服务器维护的DUID链表中也就需要包含DHCPv6客户端发送的服务请求中包含的VDUID,也即,备DHCPv6服务器维护的DUID链表中的VDUID应该与主DHCPv6服务器维护的DUID链表中的VDUID相同,但主DHCPv6服务器在正常状态下为DHCPv6客户端提供业务服务的过程中,备DHCPv6服务器维护的DUID链表中的VDUID设置为不可用状态。
当主DHCPv6服务器发生故障,备DHCPv6服务器接管主DHCPv6服务器的过程中,备DHCPv6服务器首先会将与主DHCPv6服务器为DHCPv6客户端提供业务服务相同的VDUID设置为可用状态,并根据设置为可用的VDUID为DHCPv6客户端继续提供业务服务。
进一步的,在现有技术中,主DHCPv6服务器和备DHCPv6服务器在为DHCPv6客户端提供业务服务的同时也提供DUID,而DUID是根据链路地址生成的,每个DHCPv6服务器只能维护一个DUID,当主DHCPv6服务器发生故障时,备DHCPv6服务器可以接管主DHCPv6服务器,根据备DHCPv6服务器存储的主DHCPv6服务器的DUID为DHCPv6客户端继续提供业务服务,而当备DHCPv6服务器由于断电等故障需要重启时,备DHCPv6服务器就需要及时重新请求主DHCPv6服务器对应的DUID,以使主DHCPv6服务器发生故障时,备DHCPv6服务器可以接管主DHCPv6服务器。
在现有技术的一种方案中,主DHCPv6服务器可以定期发送自身的DUID到备DHCPv6服务器,从而使得备DHCPv6服务器可以维护与主DHCPv6服务器相同的DUID,但如果主DHCPv6服务器发送自身的DUID到备DHCPv6服务器的频率过高,会加重备份通道的负担,如果发送自身的DUID到备DHCPv6服务器的频率过低,可能会无法及时发送自身的DUID到备DHCPv6服务器。
在现有技术的另一种方案中,备DHCPv6服务器在生成DUID前,向主DHCPv6服务器查询,如果查询成功,则使用主DHCPv6服务器的DUID,否则使用本设备上的链路地址生成DUID,而备DHCPv6服务器在向主DHCPv6服务器发送查询消息时,可能主DHCPv6服务器还未生成DUID,使备DHCPv6服务器得查询失败,无法生成与主DHCPv6服务器一致的DUID。
可选的,本实施例提供的方法在主DHCPv6服务器接收DHCPv6客户端发送的服务请求之前,还包括:
主DHCPv6服务器接收DHCPv6客户端发送的发现请求;
主DHCPv6服务器接收到DHCPv6客户端发送的发现请求后,确定自身维护的DUID链表中是否包含可用的VDUID;
如果主DHCPv6服务器自身维护的DUID链表中包含可用的VDUID,则主DHCPv6服务器将可用的VDUID作为主DHCPv6服务器的DUID发送给DHCPv6客户端,具体的,主DHCPv6服务器将自身维护的DUID链表中第一个可用的VDUID作为主DHCPv6服务器的DUID发送给DHCPv6客户端。
若包含不可用的VDUID,则主DHCPv6服务器确定不向DHCPv6客户端提供服务;
若不包含VDUID,则主DHCPv6服务器将DUID发送给DHCPv6客户端,DUID为根据主DHCPv6服务器的链路地址生成的。
进一步的,DHCPv6中定义了4种类型的DUID,分别为基于链路地址和时间生成DUID(DUID Based on Link-layer Address Plus Time,简称为:DUID-LLT)、基于企业编号生成DUID(DUID Assigned by Vendor Based on Enterprise Number,简称为:DUID-EN)、基于链路地址生成DUID(DUID Based on Link-layer Address,简称为:DUID-LL)和基于通用唯一识别码生成DUID((DUID Based on Universally Unique IDentifier,简称为:DUID-UUID)。而本实施例中的DUID是基于链路地址生成的DUID。
本发明实施例中,由于主DHCPv6服务器和备DHCPv6服务器都是通过VDUID为DHCPv6客户端提供业务服务,而VDUID是根据主DHCPv6服务器对应的VRRP组的MAC地址生成的,因此,在备DHCPv6服务器由于断电或者其他原因需要重启,备DHCPv6服务器只需要根据主DHCPv6服务器对应的VRRP组的MAC地址生成VDUID,以使主DHCPv6服务器发生故障时,备DHCPv6服务器可以接管主DHCPv6服务器,并根据此VDUID为DHCPv6客户端提供无缝持续的服务,而无需被动的向主DHCPv6服务器请求主DHCPv6服务器对应的DUID。
本发明实施例提供的DHCPv6服务器的热备方法,首先,主DHCPv6服务器接收DHCPv6客户端发送的服务请求,其中,服务请求中包含VDUID,且VDUID为根据主DHCPv6服务器对应的VRRP组的MAC地址生成的,然后,主DHCPv6服务器确定存储的DUID链表中是否包含VDUID,若包含,则为DHCPv6客户端提供业务服务。
主DHCPv6服务器在发生故障时通知备DHCPv6服务器,备DHCPv6服务器会将VDUID的状态从不可用状态切换为可用状态并为DHCPv6客户端提供业务服务,其中,通过VDUID作为DHCPv6服务器的标识为DHCPv6客户端提供业务服务,使得备DHCPv6服务器重启后,备DHCPv6服务器可以自身生成与主DHCPv6服务器相同的VDUID,从而提高了主DHCPv6服务器发生故障时,备DHCPv6服务器接管主DHCPv6服务器的及时性和可靠性。
图2为本发明实施例提供的DHCPv6服务器的热备方法流程图,如图2所示,本实施例的方法可以包括:
步骤201:备DHCPv6服务器接收角色切换通告信息,角色切换通告信息用于通知备DHCPv6服务器需要接管发生故障的主DHCPv6服务器为DHCPv6客户端提供业务服务。
可选的,备DHCPv6服务器接收角色切换通告信息之前,还会根据对应的VRRP组的MAC地址生成VDUID,并将VDUID添加到DUID链表中,将VDUID设置为不可用状态。由于备DHCPv6服务器与主DHCPv6服务器对应相同的VRRP组,所以备DHCPv6服务器维护的DUID链表中的VDUID与主DHCPv6服务器为DHCPv6客户端提供业务服务的VDUID相同。
具体的,在主DHCPv6服务器根据VDUID为DHCPv6客户端提供业务服务的过程中,备DHCPv6服务器维护的DUID链表中的与主DHCPv6服务器为DHCPv6客户端提供业务服务相同VDUID设置为不可用状态。
在主DHCPv6服务器为DHCPv6客户端提供业务服务的过程中,会定时的发送给备DHCPv6服务器业务报文,此业务报文用于主DHCPv6服务器通知备DHCPv6服务器自身的状态,当主DHCPv6服务器故障时,主DHCPv6服务器无法向备DHCPv6服务器发送业务报文,当备DHCPv6服务器在提前预置的时间内没有接收到主DHCPv6服务器发送的业务报文,备DHCPv6服务器会默认主DHCPv6服务器故障,并接收角色切换通告信息,角色切换通告信息用于通知备DHCPv6服务器需要接管发生故障的主DHCPv6服务器为DHCPv6客户端提供业务服务。
步骤202:备DHCPv6服务器将存储的DUID链表中的与主DHCPv6服务器为DHCPv6客户端提供业务服务相同的虚拟的DHCPv6唯一标识VDUID设置为可用状态,VDUID为根据备DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的。
步骤203:备DHCPv6服务器根据设置为可用状态的VDUID为DHCPv6客户端提供业务服务,其中,备DHCPv6服务器与主DHCPv6服务器对应相同的VRRP组。
具体的,备DHCPv6服务器接收到角色切换通告信息后,会将存储的DUID链表中的与主DHCPv6服务器为DHCPv6客户端提供业务服务相同的VDUID设置为可用状态,然后利用设置为可用状态的VDUID为DHCPv6客户端提供业务服务。
由于为DHCPv6客户端提供业务服务的标识VDUID为备DHCPv6服务器根据主DHCPv6服务器的VRRP组对应的MAC地址生成的,而无需被动的向主DHCPv6服务器请求主DHCPv6服务器对应的DUID,即使备DHCPv6服务器由于断电等故障需要重启,重启后的备DHCPv6服务器也无需被动的请求主DHCPv6服务器的DUID,从而保证了备DHCPv6服务器接管主DHCPv6服务器为DHCPv6客户端提供服务的及时性和无缝性。
进一步的,DHCPv6中定义了4种类型的DUID,分别为基于链路地址和时间生成DUID(DUID Based on Link-layer Address Plus Time,简称为:DUID-LLT)、基于企业编号生成DUID(DUID Assigned by Vendor Based on Enterprise Number,简称为:DUID-EN)、基于链路地址生成DUID(DUID Based on Link-layer Address,简称为:DUID-LL)和基于通用唯一识别码生成DUID((DUID Based on Universally Unique IDentifier,简称为:DUID-UUID)。而本实施例中的DUID是基于链路地址生成的DUID。
本发明实施例提供的DHCPv6服务器的热备方法,首先备DHCPv6服务器接收角色切换通告信息,角色切换通告信息用于通知备DHCPv6服务器需要接管发生故障的主DHCPv6服务器为DHCPv6客户端提供业务服务,然后备DHCPv6服务器将存储的DUID链表中与主DHCPv6服务器为DHCPv6客户端提供业务服务相同的VDUID设置为可用状态,其中,VDUID为根据备DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的。
备DHCPv6服务器根据设置为可用状态的VDUID为DHCPv6客户端提供业务服务。其中,通过VDUID作为DHCPv6服务器的标识为DHCPv6客户端提供业务服务,使得备DHCPv6服务器重启后,备DHCPv6服务器可以自身生成与主DHCPv6服务器相同的VDUID,从而提高了主DHCPv6服务器发生故障时,备DHCPv6服务器接管主DHCPv6服务器的及时性和可靠性。
图3为本发明实施例提供的DHCPv6服务器与DHCPv6客户端进行通信的方法流程图,如图3所示,本实施例的方法可以包括:
步骤301:DHCPv6服务器首先通过自身对应的链路地址生成DUID,并将DUID添加在DUID链表中。
步骤302:DHCPv6服务器收到VRRP的配置通告信息后,使用对应的VRRP组的虚MAC地址生成VDUID,并将生成的VDUID添加到DUID链表中。同时将DUID链表中的DUID和VDUID标志设置为不可用。
步骤303:DHCPv6服务器接收到角色通告信息后,如果DHCPv6服务器的角色为主服务器,则遍历DUID链表,找到根据VRRP组的虚MAC地址所生成的DUID,将其的状态从不可用状态切换为可用状态。
步骤304:DHCPv6服务器与DHCPv6客户端进行通信,其通信的具体流程图如图4所示:
步骤3041:DHCPv6客户端向DHCPv6服务器发送发现请求,即发送SOLICIT消息到特定的组播地址(All_DHCP_Relay_Agents_and_Servers,FF02::1:2),在该组播组内的所有的DHCPv6服务器都会做出响应,此阶段为发现阶段
步骤3042:DHCPv6服务器收到DHCPv6客户端的SOLICIT消息后,如果DHCPv6服务器有基于虚MAC地址生成且可用的VDUID,说明该DHCPv6服务器的角色为主DHCPv6服务器,则该DHCPv6服务器将该VDUID、可用的IPv6地址和其他参数信息通过ADVERTISE消息通告给DHCPv6客户端。
如果DHCPv6服务器有基于虚MAC地址生成且不可用的VDUID,说明该DHCPv6服务器的角色为备DHCPv6服务器,其不反馈给DHCPv6客户端信息,也不为DHCPv6客户端提供业务服务。
如果DHCPv6服务器没有基于虚MAC地址生成且可用的VDUID,则DHCPv6服务器将用设备链路地址生成的DUID、可用的IPv6地址和其他参数信息通过ADVERTISE消息通告给DHCPv6客户端,利用DUID作为DHCPv6服务器的标识为现有技术,本申请中不再赘述。
该阶段为通告阶段。
步骤3043:DHCPv6客户端收到DHCPv6服务器发送的ADVERTISE消息后,根据自身业务的需求,选择一个DHCPv6服务器为自身提供服务,并通过REQUEST消息向该DHCPv6服务器发起服务请求,服务请求消息中包括该DHCPv6服务器对应的VDUID,该阶段为请求阶段。
步骤3044:DHCPv6服务器收到DHCPv6客户端发送的REQUEST消息后,判断自身所维护的DUID链表中是否包含接收到的服务请求消息中的VDUID,如果包含,DHCPv6服务器从自身维护的IPv6地址中重新挑选可用的IPv6地址和其他参数信息通过REPLY消息答复DHCPv6客户端,并生成租约(binding)。
以使DHCPv6客户端使用DHCPv6服务器所分配的IPv6地址与网络上其他节点进行通信。如果不包含,DHCPv6服务器丢弃该服务请求消息。该阶段为回复阶段。
步骤3045:DHCPv6客户端在一定时间后,需要向DHCPv6服务器发起续租请求,此时,DHCPv6客户端向DHCPv6服务器发送RENEW消息。如果租约还存在,DHCPv6服务器就以该地址和新的租期回复DHCPv6客户端。以使DHCPv6客户端可以继续使用DHCPv6服务器所分配的IPv6地址与网络上其他节点进行通信,该阶段为更新阶段。
步骤3046:备DHCPv6服务器收到角色切换通告,也即,需要将备DHCPv6服务器切换为主DHCPv6服务器,此时,备DHCPv6服务器将自身维护的DUID链表中与主DHCPv6服务器相同的VDUID切换为可用状态,并参照步骤3041-3045为后续的DHCPv6客户端继续提供服务,同时,也会处理原主DHCPv6服务器已经分配地址的DHCPv6客户端的续租请求。
进一步的,DHCPv6中定义了4种类型的DUID,分别为基于链路地址和时间生成DUID(DUID Based on Link-layer Address Plus Time,简称为:DUID-LLT)、基于企业编号生成DUID(DUID Assigned by Vendor Based on Enterprise Number,简称为:DUID-EN)、基于链路地址生成DUID(DUID Based on Link-layer Address,简称为:DUID-LL)和基于通用唯一识别码生成DUID((DUID Based on Universally Unique IDentifier,简称为:DUID-UUID)。而本实施例中的DUID是基于链路地址生成的DUID。
进一步的,图5-图10以三种场景具体描述了主DHCPv6服务器与备DHCPv6服务器的切换过程。
其中,图5和图6为DHCPv6服务器1+1备份冗余方法的示意图,该方法应用于系统中有两台DHCPv6服务器,一台DHCPv6服务器作为主服务器为DHCPv6客户端提供业务服务,另外一台DHCPv6服务器作为备DHCPv6服务器,不为DHCPv6客户端提供业务服务的场景。
其中,图5为由主服务器为DHCPv6客户端提供业务服务的方法示意图,如图5所示,该方法中包括两台DHCPv6服务器,分别为DHCPv6服务器A和DHCPv6服务器B,并且DHCPv6服务器A和DHCPv6服务器B同属于虚拟MAC地址(00-00-5E-00-02-{VRID})中的VRID为1的VRRP组。
DHCPv6服务器A作为主DHCPv6服务器。DHCPv6服务器B作为备DHCPv6服务器。当主DHCPv6服务器发生故障时,由备DHCPv6服务器接管主DHCPv6服务器为DHCPv6客户端提供业务服务。
DHCPv6服务器A维护的的DUID链表中包括两个DUID,分别为DUIDA和V_DUID,其中,DUIDA为DHCPv6服务器A根据自身对应的链路地址生成的,V_DUID为DHCPv6服务器A根据VRID为1的VRRP组的虚拟MAC地址生成的,DHCPv6服务器B维护的DUID链表中同样包括两个DUID,分别为DUIDB和V_DUID,其中,DUIDB为DHCPv6服务器B根据自身对应的链路地址生成的,V_DUID为DHCPv6服务器B根据VRID为1的VRRP组的虚拟MAC地址生成的。
具体的,当DHCPv6服务器A处于正常工作状态时,DHCPv6服务器A维护的DUID链表中的V_DUID为可用状态,即True状态,DHCPv6服务器B维护的DUID链表中的V_DUID为不可用状态,即False状态,当DHCPv6服务器A收到DHCPv6客户端的服务请求时,都是以V_DUID作为DHCPv6服务器的DUID发给DHCPv6客户端。如果DHCPv6服务器A发生故障,如图5所示,DHCPv6服务器B维护的DUID链表中的V_DUID会自动切换为可用状态,即True状态,当DHCPv6服务器B收到DHCPv6客户端的请求时,仍然可以以V_DUID作为DHCPv6服务器的DUID发给DHCPv6客户端,而DHCPv6客户端感知不到DHCPv6服务器的变化。
图7和图8为DHCPv6服务器的1+1负载均衡方法的示意图,该方法应用于系统中有两台DHCPv6服务器,并且两台DHCPv6服务器都同时为DHCPv6客户端提供服务,两台DHCPv6服务器互相备份的场景。
其中,图7为两台主服务器为DHCPv6客户端提供业务服务的方法示意图,如图7所示,该方法包括两台DHCPv6服务器,分别为DHCPv6服务器A和DHCPv6服务器B,并且DHCPv6服务器A和DHCPv6服务器B同属于虚拟MAC地址(00-00-5E-00-02-{VRID})中的VRID=1和VRID=2的VRRP组。DHCPv6服务器A是VRID=1的VRRP组的主DHCPv6服务器,是VRID=2的VRRP组的备DHCPv6服务器。DHCPv6服务器B是VRID=1的VRRP组的备DHCPv6服务器,是VRID=2的VRRP组的主DHCPv6服务器。
DHCPv6服务器A维护的DUID链表中包括三个DUID,其中,DUIDA为DHCPv6服务器A根据自身对应的链路地址生成的,,V_DUID1是DHCPv6服务器A根据VRID=1的VRRP组的虚MAC地址生成的、状态为可用的DUID,即True状态,V_DUID2是DHCPv6服务器A基于VRID=2的VRRP组的虚MAC地址生成的、状态为不可用的DUID,即False状态。DHCPv6服务器B维护的DUID链表中同样包括三个DUID,其中,V_DUID1是DHCPv6服务器B基于VRID=1的VRRP组的虚MAC地址生成的,V_DUID2是DHCPv6服务器B基于VRID=2的VRRP组的虚MAC地址生成的,但是状态与DHCPv6服务器A相反,V_DUID2在DHCPv6服务器B上的状态是可用的,即True状态,V_DUID1在DHCPv6服务器B上的状态是不可用的,即False状态。其中任何一台DHCPv6服务器发生故障时,另外一台DHCPv6服务器能够接管发生故障的DHCPv6服务器正在为DHCPv6客户端提供的业务。
具体的,Host A向DHCPv6服务器A发起DHCPv6服务请求,DHCPv6服务器A以V_DUID1作为DHCPv6服务器的DUID发给DHCPv6客户端,也即,DHCPv6服务器A以V_DUID1作为自身为Host A提供业务服务的标识,HOST B向DHCPv6服务器B发起DHCPv6请求,DHCPv6服务器B以V_DUID2作为DHCPv6服务器的DUID发给DHCPv6客户端,也即,DHCPv6服务器B以V_DUID2作为自身为Host B提供业务服务的标识。
如果DHCPv6服务器A发生故障,如图8所示,DHCPv6服务器B维护的DUID链表中的与DHCPv6服务器A为Host A提供业务服务的标识相同的V_DUID1自动切换为可用状态,即True状态,。Host A发起的RENEW消息中的DHCPv6服务器DUID值为V_DUID1,DHCPv6服务器B接收到Host A的RENEW消息后,可以在自身维护的DUID链表中找到可用的V_DUID1,从而可以继续为Host A服务。
作为另一种可实现的方式,如果DHCPv6服务器B发生故障,DHCPv6服务器A维护的DUID链表中的与DHCPv6服务器B为Host B提供业务服务的标识相同的V_DUID2自动切换为可用状态,即True状态。Host B发起的RENEW消息中的DHCPv6服务器DUID值为V_DUID2,DHCPv6服务器A接收到Host B的RENEW消息后,可以在自身维护的DUID链表中找到可用的V_DUID1,从而可以继续为Host B服务。
图9和图10为DHCPv6服务器的N+1备份冗余方法的示意图,该方法的应用于系统中有N(N≥2)台主DHCPv6服务器和1台备DHCPv6服务器的场景。如图8所示,DHCPv6服务器A和DHCPv6服务器C属于虚拟MAC地址(00-00-5E-00-02-{VRID})中的VRID为1的VRRP组。,DHCPv6服务器B和DHCPv6服务器C属于虚拟MAC地址(00-00-5E-00-02-{VRID})中的VRID为2的VRRP组。DHCPv6服务器A是VRID=1的VRRP组的主DHCPv6服务器,DHCPv6服务器B是VRID=2的VRRP组的主DHCPv6服务器,DHCPv6服务器C同属于VRID=1的VRRP组和VRID=2的VRRP组的备DHCPv6服务器。DHCPv6服务器A维护的的DUID链表中包括两个DUID,分别为DUIDA和V_DUID1,其中,DUIDA为DHCPv6服务器A根据自身对应的链路地址生成的,V_DUID1为DHCPv6服务器A根据VRID为1的VRRP组的虚拟MAC地址生成的;DHCPv6服务器B维护的DUID链表中同样包括两个DUID,分别为DUIDB和V_DUID2,其中,DUIDB为DHCPv6服务器B根据自身对应的链路地址生成的,V_DUID2为DHCPv6服务器B根据VRID为2的VRRP组的虚拟MAC地址生成的;DHCPv6服务器C维护的DUID链表中包括三个DUID,分别为DUIDC、V_DUID1和V_DUID2,其中,DUIDC为DHCPv6服务器C根据自身对应的链路地址生成的,V_DUID1为DHCPv6服务器C根据VRID为1的VRRP组的虚拟MAC地址生成的,V_DUID2为DHCPv6服务器C根据VRID为2的VRRP组的虚拟MAC地址生成的。
具体的,当DHCPv6服务器A处于正常工作状态时,DHCPv6服务器A维护的DUID链表中的V_DUID1为可用状态,即True状态,当DHCPv6服务器B处于正常工作状态时,DHCPv6服务器B维护的DUID链表中的V_DUID2为可用状态,即True状态,DHCPv6服务器C维护的DUID链表中的V_DUID1和V_DUID2均为不可用状态,即False状态。
当DHCPv6服务器A收到DHCPv6客户端A发送的服务请求时,都是以V_DUID1作为DHCPv6服务器的DUID发给DHCPv6客户端A。如果DHCPv6服务器A发生故障,如图10所示,DHCPv6服务器C维护的DUID链表中的V_DUID1会自动切换为可用状态,即True状态,
DHCPv6服务器A会以V_DUID1作为DHCPv6服务器的DUID与Host A进行交互。DHCPv6服务器B会以V_DUID2作为DHCPv6服务器的DUID与Host B进行交互。
如果DHCPv6服务器A发生故障,DHCPv6服务器C维护的DUID链表中的与DHCPv6服务器A为Host A提供业务服务的标识相同的V_DUID1自动切换为可用状态,即True状态。HostA发起的RENEW消息中的DHCPv6服务器DUID值为V_DUID1,DHCPv6服务器C可以在自身维护的DUID链表中找到可用的V_DUID1,从而继续为Host A提供服务。
本发明实施例提供的DHCPv6服务器与DHCPv6客户端进行通信的方法,主DHCPv6服务器接收DHCPv6客户端发送的服务请求,其中,服务请求中包含VDUID,且VDUID为根据主DHCPv6服务器对应的VRRP组的MAC地址生成的,然后,主DHCPv6服务器确定存储的DUID链表中是否包含VDUID,若包含,则为DHCPv6客户端提供业务服务。
当主DHCPv6服务器在发生故障时,备DHCPv6服务器接收角色切换通告信息,角色切换通告信息用于通知备DHCPv6服务器需要接管发生故障的主DHCPv6服务器为DHCPv6客户端提供业务服务,然后备DHCPv6服务器将存储的DUID链表中与主DHCPv6服务器为DHCPv6客户端提供业务服务相同的VDUID设置为可用状态,其中,VDUID为根据备DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的。
备DHCPv6服务器根据设置为可用状态的VDUID为DHCPv6客户端提供业务服务。其中,通过VDUID作为DHCPv6服务器的标识为DHCPv6客户端提供业务服务,使得备DHCPv6服务器重启后,备DHCPv6服务器可以自身生成与主DHCPv6服务器相同的VDUID,从而提高了主DHCPv6服务器发生故障时,备DHCPv6服务器接管主DHCPv6服务器的及时性和可靠性。
图11为本发明实施例提供的互联网协议第六版动态主机配置协议DHCPv6服务器的结构示意图,所述DHCPv6服务器为主DHCPv6服务器,所述主DHCPv6服务器400包括:
第一接收模块401,用于接收DHCPv6客户端发送的服务请求,所述服务请求中包含DHCPv6唯一标识DUID,DHCPv6唯一标识DUID为虚拟的DHCPv6唯一标识VDUID,所述VDUID为根据所述主DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的;
第一确定模块402,用于确定存储的DUID链表中是否包含所述VDUID,若包含,则为所述DHCPv6客户端提供业务服务;
切换模块403,用于所述主DHCPv6服务器在发生故障时通知备DHCPv6服务器,以使所述备DHCPv6服务器将所述VDUID的状态从不可用状态切换为可用状态并为所述DHCPv6客户端提供业务服务;
其中,所述主DHCPv6服务器与所述备DHCPv6服务器对应相同的VRRP组。
进一步的,如图12所示,所述主DHCPv6服务器400还包括:第二接收模块404、第二确定模块405和发送模块406,
所述第二接收模块404用于接收所述DHCPv6客户端发送的发现请求;
所述第二确定模块405用于确定所述DUID链表中是否包含可用的VDUID;
若包含可用的VDUID,则所述发送模块406将所述可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端;
若包含不可用的VDUID,则所述第二确定模块405确定不提供DHCPv6地址服务;
若不包含VDUID,则所述发送模块406将DUID发送给所述DHCPv6客户端,所述DUID为根据所述主DHCPv6服务器的链路地址生成的。
进一步的,所述发送模块406将所述可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端,包括:
所述发送模块406将所述DUID链表中第一个可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端。
进一步的,如图13所示,所述主DHCPv6服务器400还包括:添加模块407和设置模块408,
所述添加模块407用于在所述第一接收模块401接收DHCPv6客户端发送的服务请求之前,根据对应的VRRP组的MAC地址生成所述VDUID,将所述VDUID添加到所述DUID链表中,并将所述VDUID设置为不可用状态;
所述设置模块408在接收到VRRP主设备角色通告后,将所述VDUID设置为可用状态。
本发明实施例提供的DHCPv6服务器,为图1所示本发明实施例提供的DHCPv6服务器的热备方法的执行设备,其实现原理和技术效果类似,此处不再赘述。
图14为本发明实施例提供的互联网协议第六版动态主机配置协议DHCPv6服务器的结构示意图,所述DHCPv6服务器为备DHCPv6服务器,所述备DHCPv6服务器500包括:
接收模块501,用于接收VRRP角色切换通告信息,所述角色切换通告信息用于通知所述备DHCPv6服务器需要接管发生故障的主DHCPv6服务器为DHCPv6客户端提供业务服务;
切换模块502,用于将存储的DUID链表中的与所述主DHCPv6服务器为所述DHCPv6客户端提供业务服务相同的虚拟的DHCPv6唯一标识VDUID设置为可用状态,所述VDUID为根据所述备DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的;
服务模块503,用于根据所述切换模块502设置为可用状态的VDUID为所述DHCPv6客户端提供业务服务;
其中,所述备DHCPv6服务器与所述主DHCPv6服务器对应相同的VRRP组。
进一步,如图15所示,所述备DHCPv6服务器500还包括:生成模块504,用于在所述接收模块501接收角色切换通告信息之前,根据对应的VRRP组的MAC地址生成所述VDUID,将所述VDUID添加到所述DUID链表中,并将所述VDUID设置为不可用状态。
本发明实施例提供的DHCPv6服务器,为图2所示本发明实施例提供的DHCPv6服务器的热备方法的执行设备,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种互联网协议第六版动态主机配置协议DHCPv6服务器的热备方法,其特征在于,包括:
主DHCPv6服务器接收DHCPv6客户端发送的服务请求,所述服务请求中包含DHCPv6唯一标识DUID,DHCPv6唯一标识DUID为虚拟的DHCPv6唯一标识VDUID,所述VDUID为根据所述主DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的;
所述主DHCPv6服务器确定存储的DUID链表中是否包含所述VDUID,若包含,则为所述DHCPv6客户端提供业务服务;
所述主DHCPv6服务器在发生故障时通知备DHCPv6服务器,以使所述备DHCPv6服务器将所述VDUID的状态从不可用状态切换为可用状态并为所述DHCPv6客户端提供业务服务;
其中,所述主DHCPv6服务器与所述备DHCPv6服务器对应相同的VRRP组。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述主DHCPv6服务器接收所述DHCPv6客户端发送的发现请求;
所述主DHCPv6服务器确定所述DUID链表中是否包含可用的VDUID;
若包含可用的VDUID,则所述主DHCPv6服务器将所述可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端;
若包含不可用的VDUID,则所述主DHCPv6服务器确定不提供服务;
若不包含VDUID,则所述主DHCPv6服务器将DUID发送给所述DHCPv6客户端,所述DUID为根据所述主DHCPv6服务器的链路地址生成的。
3.根据权利要求2所述的方法,其特征在于,所述主DHCPv6服务器将所述可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端,包括:
所述主DHCPv6服务器将所述DUID链表中第一个可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端。
4.根据权利要求1~3中任一项所述的方法,其特征在于,所述主DHCPv6服务器接收DHCPv6客户端发送的服务请求之前,还包括:
所述主DHCPv6服务器根据对应的VRRP组的MAC地址生成所述VDUID,将所述VDUID添加到所述DUID链表中,并将所述VDUID设置为不可用状态;
所述主DHCPv6服务器在接收到VRRP主设备角色通告后,将所述VDUID设置为可用状态。
5.一种互联网协议第六版动态主机配置协议DHCPv6服务器的热备方法,其特征在于,包括:
备DHCPv6服务器接收VRRP角色切换通告信息,所述角色切换通告信息用于通知所述备DHCPv6服务器需要接管发生故障的主DHCPv6服务器为DHCPv6客户端提供业务服务;
所述备DHCPv6服务器将存储的DUID链表中的与所述主DHCPv6服务器为所述DHCPv6客户端提供业务服务相同的虚拟的DHCPv6唯一标识VDUID设置为可用状态,所述VDUID为根据所述备DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的;
所述备DHCPv6服务器根据所述设置为可用状态的VDUID为所述DHCPv6客户端提供业务服务;
其中,所述备DHCPv6服务器与所述主DHCPv6服务器对应相同的VRRP组。
6.根据权利要求5所述的方法,其特征在于,所述备DHCPv6服务器接收角色切换通告信息之前,还包括:
所述备DHCPv6服务器根据对应的VRRP组的MAC地址生成所述VDUID,将所述VDUID添加到所述DUID链表中,并将所述VDUID设置为不可用状态。
7.一种互联网协议第六版动态主机配置协议DHCPv6服务器,其特征在于,所述DHCPv6服务器为主DHCPv6服务器,所述主DHCPv6服务器包括:
第一接收模块,用于接收DHCPv6客户端发送的服务请求,所述服务请求中包含DHCPv6唯一标识DUID,DHCPv6唯一标识DUID为虚拟的DHCPv6唯一标识VDUID,所述VDUID为根据所述主DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的;
确定模块,用于确定存储的DUID链表中是否包含所述VDUID,若包含,则为所述DHCPv6客户端提供业务服务;
切换模块,用于所述主DHCPv6服务器在发生故障时通知备DHCPv6服务器,以使所述备DHCPv6服务器将所述VDUID的状态从不可用状态切换为可用状态并为所述DHCPv6客户端提供业务服务;
其中,所述主DHCPv6服务器与所述备DHCPv6服务器对应相同的VRRP组。
8.根据权利要求7所述的DHCPv6服务器,其特征在于,还包括:第二接收模块和发送模块,
所述第二接收模块用于接收所述DHCPv6客户端发送的发现请求;
所述确定模块还用于确定所述DUID链表中是否包含可用的VDUID;
若包含可用的VDUID,则所述发送模块将所述可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端;
若包含不可用的VDUID,则所述确定模块确定不提供DHCPv6地址服务;
若不包含VDUID,则所述发送模块将DUID发送给所述DHCPv6客户端,所述DUID为根据所述主DHCPv6服务器的链路地址生成的。
9.根据权利要求8所述的DHCPv6服务器,其特征在于,所述发送模块将所述可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端,包括:
所述发送模块将所述DUID链表中第一个可用的VDUID作为主DHCPv6服务器的DUID发送给所述DHCPv6客户端。
10.根据权利要求7~9中任一项所述的DHCPv6服务器,其特征在于,还包括:添加模块和设置模块,
所述添加模块用于在所述第一接收模块接收DHCPv6客户端发送的服务请求之前,根据对应的VRRP组的MAC地址生成所述VDUID,将所述VDUID添加到所述DUID链表中,并将所述VDUID设置为不可用状态;
所述设置模块在接收到VRRP主设备角色通告后,将所述VDUID设置为可用状态。
11.一种互联网协议第六版动态主机配置协议DHCPv6服务器,其特征在于,所述DHCPv6服务器为备DHCPv6服务器,所述备DHCPv6服务器包括:
接收模块,用于接收VRRP角色切换通告信息,所述角色切换通告信息用于通知所述备DHCPv6服务器需要接管发生故障的主DHCPv6服务器为DHCPv6客户端提供业务服务;
切换模块,用于将存储的DUID链表中的与所述主DHCPv6服务器为所述DHCPv6客户端提供业务服务相同的虚拟的DHCPv6唯一标识VDUID设置为可用状态,所述VDUID为根据所述备DHCPv6服务器对应的虚拟路由器冗余协议VRRP组的虚拟介质访问控制MAC地址生成的;
服务模块,用于根据所述切换模块设置为可用状态的VDUID为所述DHCPv6客户端提供业务服务;
其中,所述备DHCPv6服务器与所述主DHCPv6服务器对应相同的VRRP组。
12.根据权利要求11所述的DHCPv6服务器,其特征在于,还包括:生成模块,用于在所述接收模块接收角色切换通告信息之前,根据对应的VRRP组的MAC地址生成所述VDUID,将所述VDUID添加到所述DUID链表中,并将所述VDUID设置为不可用状态。
CN201410428071.1A 2014-08-27 2014-08-27 DHCPv6服务器的热备方法和装置 Active CN104158694B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410428071.1A CN104158694B (zh) 2014-08-27 2014-08-27 DHCPv6服务器的热备方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410428071.1A CN104158694B (zh) 2014-08-27 2014-08-27 DHCPv6服务器的热备方法和装置

Publications (2)

Publication Number Publication Date
CN104158694A CN104158694A (zh) 2014-11-19
CN104158694B true CN104158694B (zh) 2017-11-24

Family

ID=51884105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410428071.1A Active CN104158694B (zh) 2014-08-27 2014-08-27 DHCPv6服务器的热备方法和装置

Country Status (1)

Country Link
CN (1) CN104158694B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3641278A1 (de) * 2018-10-17 2020-04-22 Siemens Aktiengesellschaft Verfahren zur bereitstellung redundanter relay-, insbesondere routing funktion, system, computerprogramm und computerlesbares medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707689B (zh) * 2017-10-31 2020-09-22 迈普通信技术股份有限公司 一种dhcp报文处理方法、dhcp服务器及网关设备
CN109451063B (zh) * 2018-12-24 2021-08-17 北京东土科技股份有限公司 一种服务器热备方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447858A (zh) * 2008-01-17 2009-06-03 中兴通讯股份有限公司 双机热备份系统中实现虚拟路由冗余协议同步倒换的方法
CN101815007A (zh) * 2010-03-17 2010-08-25 杭州华三通信技术有限公司 一种基于vrrp负载均衡的快速切换方法和设备
CN103546315A (zh) * 2013-10-11 2014-01-29 北京星网锐捷网络技术有限公司 一种dhcp服务器的备份系统、方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8514854B2 (en) * 2009-06-11 2013-08-20 Brocade Communications Systems, Inc. Virtual router redundancy for server virtualization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447858A (zh) * 2008-01-17 2009-06-03 中兴通讯股份有限公司 双机热备份系统中实现虚拟路由冗余协议同步倒换的方法
CN101815007A (zh) * 2010-03-17 2010-08-25 杭州华三通信技术有限公司 一种基于vrrp负载均衡的快速切换方法和设备
CN103546315A (zh) * 2013-10-11 2014-01-29 北京星网锐捷网络技术有限公司 一种dhcp服务器的备份系统、方法及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3641278A1 (de) * 2018-10-17 2020-04-22 Siemens Aktiengesellschaft Verfahren zur bereitstellung redundanter relay-, insbesondere routing funktion, system, computerprogramm und computerlesbares medium
WO2020078684A1 (de) * 2018-10-17 2020-04-23 Siemens Aktiengesellschaft Verfahren zur bereitstellung redundanter relay-, insbesondere routing funktion, system, computerprogramm und computerlesbares medium

Also Published As

Publication number Publication date
CN104158694A (zh) 2014-11-19

Similar Documents

Publication Publication Date Title
CN101330531B (zh) Dhcp地址分配处理方法和dhcp中继
CN102549983B (zh) 分布式数据中心接入交换机
US9219641B2 (en) Performing failover in a redundancy group
CN104506372B (zh) 一种实现主备服务器切换的方法及系统
CN102333027B (zh) 基于vrrpe备份组的流量负载分担实现方法及其装置
CN102025630A (zh) 负载均衡方法及负载均衡系统
US10367680B2 (en) Network relay apparatus, gateway redundancy system, program, and redundancy method
CN102123105B (zh) Vrrp标准协议与vrrp负载均衡协议之间的切换方法和设备
EP2854377A1 (en) A method for centralized address resolution
EP2482524B1 (en) Address distribution method, device and system thereof
US20100098082A1 (en) Method for application broadcast forwarding for routers running redundancy protocols
CN101938370A (zh) 用于基于边界网关巡逻的虚拟专用局域网业务多宿主机环境的冗余伪线
CN108600069B (zh) 链路切换方法及装置
CN102244690A (zh) 动态主机配置协议地址分配方法、系统、客户端及服务器
CN102299932A (zh) 一种dhcp服务器备份方法和dhcp服务器
CN104158694B (zh) DHCPv6服务器的热备方法和装置
CN113169895A (zh) 用于具有低时延故障转移的虚拟化服务的n+1冗余
CN105340226A (zh) 动态路由设备的主备系统切换的方法及其装置
CN112152920B (zh) 一种实现表项备份的方法和装置
CN100563263C (zh) 在网络存储业务中实现系统高可用性的方法和系统
WO2017000625A1 (zh) 动态主机配置协议dhcp服务器管理方法及装置
CN103414642A (zh) 一种转发信息维护方法及设备
CN102752414B (zh) 释放IPv6地址的实现方法及设备
JP5157685B2 (ja) 通信システム、ネットワーク機器及びそれらに用いる通信復旧方法並びにそのプログラム
CN115499414A (zh) 地址分配方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor

Patentee after: RUIJIE NETWORKS Co.,Ltd.

Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor

Patentee before: Beijing Star-Net Ruijie Networks Co.,Ltd.