实现vrrp备份组中dhcp租约平滑切换的方法、装置和路由器的制作方法

文档序号:7682203阅读:305来源:国知局
专利名称:实现vrrp备份组中dhcp租约平滑切换的方法、装置和路由器的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种实现VRRP备份组中DHCP租约平 滑切换的方法和装置,还涉及一种路由器。
背景技术
VRRP (Virtual Router Redundancy Protocol,虚拟路由器冗余协议)提供 了虚拟路由器的配置方式将局域网内的一组路由器划分在一起称为一个备 份组,其中的一个路由器被选举为Master,其它的路由器作为Backup,该备 份组的功能相当于一台虚拟路由器。图1为一VRRP备份组的图示路由器 A、 B、 C经过协商选举出Master路由器(假设为A) , B、 C作为Backup 路由器,则由Master路由器A作为网关负责主机Hostl、 2和3的报文转发, Backup路由器B、 C负责监视A是否正常工作;当路由器A出现故障,B、 C之间再选举出新的Master路由器作为网关继续负责报文转发。DHCP (Dynamic Host Configuration Protocol,动态主机配置协议)提供 了局域网中主机地址配置方式主机Host作为DHCP客户端(DHCP Client), 通过向作为DHCP服务器(DHCP Server)的路由器申i青,获取地址、网关、 DNS服务器等信息;或者,当多个局域网使用一个DHCP Server时,DHCP Client通过DHCP中继(DHCP Relay)路由器来实现地址、网关、DNS服务 器等信息的获取。当地址分配出去之后,DHCP Server会把分配的DHCP租 约记录下来,例如,记录分配的地址,使之形成一个地址租约表,该表不仅 用于地址租约的维护,还利用租约信息提供用户认证,即根据租约中记录的 IP地址和MAC地址信息,判断是否为合法用户;同时,在目前的应用中, Relay路由器一般也会就相应的DHCP租约加以记录,以实现用户认证等功 能。图2为一 DHCP Client从DHCP Server动态获取主机IP地址的工作流程 图示,可以分为地址申请阶段、地址续约阶段和地址释放阶段。在地址申请阶段,包括DHCP Client以广播发送Discover发现报文寻找DHCP Server; DHCP Server根据IP地址分配的优先次序选出一个IP地址并通过Offer提供 报文广播给DHCP Client; DHCP Client对第一个收到的Offer报文以广播方 式发送Request请求报文,该Request报文中包含所分配的IP地址;以及, DHCP Server确认将该地址分配给该DHCP Client则广播ACK确认报文,并 生成相应的租约记录地址和MAC,否则广播NAK反确认报文,表明地址不^ 能分配给该DHCP Client。当地址租约到达期限的一半时间时,需要进行地 址续约阶段的操作,包括DHCP Client向DHCP Server单播发送Request 报文,如果DHCP Server需要延长地址的使用期限,则单播回复ACK报文, 同时刷新地址租约时间,否则DHCP Server广播NAK报文,通知该DHCP Client不能继续使用该地址。当DHCP Client主动释放地址时,进行地址释 放阶段的操作,包括DHCP Client向DHCP Server发送一个Release释放报 文。图3为一 DHCP Client通过DHCP Relay从DHCP Server动态获取主机 IP地址的工作流程图示,其中,DHCP Client与DHCP Relay之间的地址申 请、续约和释放过程基本与图2所示的Client/Server模式相同,在此不再赘 述。可以看出,当路由器同时充当VRRP Master和DHCP Server时,如果发 生故障,其VRRP功能可以很快地切换到其它Backup路由器上,但其所记 录的DHCP租约却难以同步切换到相应的路由器上。如果新的路由器仍需要 根据DHCP租约(如地址和MAC)进行通信的过滤,则切换后的所有DHCP Client都无法和外界通信,即由于VRRP切换时DHCP租约不具有连续性, 导致了新的Master无法继续提供DHCP服务。发明内容本发明的实施例旨在提供能够实现VRRP备份组中DHCP租约平滑切换 的技术方案,以在发生VRRP切换时,能够保证DHCP租约的连续性,即保 证新的Master路由器具有原Master路由器的全部DHCP租约。为实现上述目的,本发明的实施例提供了一种实现VRRP备份组中 DHCP租约平滑切换的方法,应用于包括一 Master路由器和至少一 Backup路由器的VRRP备份组,且该Master路由器为其所连接的客户端提供DHCP 服务;包括以下步骤S1 、该Master路由器通过对所连接客户端发送的DHCP报文加以响应, 在本地维护第一 DHCP租约,并通过预设的DHCP响应报文将其第一 DHCP租约的变化同步给Backup路由器;其中,该DHCP响应报文的源 地址为VRRP备份组虚IP,并携带包含客户端地址在内的租约信息;S2、该Backup路由器根据监听到的、该Master路由器发送的DHCP响 应报文,在本地维护第二 DHCP租约,使其切换为Master路由器时,通过 该第二 DHCP租约继续为所述客户端提供DHCP服务。本发明的实施例还提供了一种实现VRRP备份组中DHCP租约平滑切换 的装置,应用于包括一 Master路由器和至少一 Backup路由器的VRRP备份 组,且所述Master路由器为其所连接的客户端提供DHCP服务;包括路由器识别单元,用于识别所在路由器在VRRP备份组内的状态;DHCP租约建立单元,与该路由器识别单元连接,用于接受识别结 果为Master路由器的情况下该路由器识别单元的触发,通过对所连接客 户端发送的DHCP报文加以响应,在本地维护第一DHCP租约,以及通过 预设的DHCP响应报文将其第一 DHCP租约的变化同步给Backup路由 器;其中,该DHCP响应报文的源地址为VRRP备份组虚IP,并携带包 含客户端地址在内的租约信息;DHCP租约备份单元,与该路由器识别单元连接,用于接受识别结 果为Backup路由器的情况下该路由器识别单元的触发,根据监听到的、 Master路由器发送的DHCP响应报文,在本地维护第二 DHCP租约,使 所在Backup路由器切换为Master路由器时,通过该第二 DHCP租约继 续为客户端提供DHCP服务;DHCP租约保存单元,分别与该DHCP租约建立单元和DHCP租约备份 单元连接,用于保存本地的第一/第二DHCP租约。本发明的实施例还提供了一种路由器,应用于VRRP备份组内,设有上 述实现VRRP备份组中DHCP租约平滑切换的装置,用于根据该实现VRRP 备份组中DHCP租约平滑切换的装置记录的DHCP租约提供DHCP服务。由上述技术方案可知,本发明的实施例通过在VRRP备份组内的Backup路由器进行DHCP租约的备份,实现了 DHCP信息在VRRP备份组内各路由 器之间的同步,保证了 VRRP备份组内Master路由器切换前后DHCP信息 的连续性,使新的Master可以根据备份的租约实现认证和通信过滤等功能。 通过以下参照附图对优选实施例的说明,本发明的上述以及其它目的、 特征和优点将更加明显。


图1为现有技术中一VRRP备份组的图示;图2为现有技术中一 DHCP Client从DHCP Server动态获取主机IP地址 的工作流程图示;图3为现有技术中一 DHCP Client通过DHCP Relay从DHCP Server动态获取主机IP地址的工作流程图示;图4为本发明提供的实现VRRP备份组中DHCP租约平滑切换的方法一实施例的流程图;图5A为图4所示方法中Master路由器一实施例的处理流程图;图5B为图4所示方法中Backup路由器一实施例的处理流程图;图6A为图4所示方法中Master路由器另一实施例的处理流程图;图6B为图4所示方法中Backup路由器另一实施例的处理流程图;图7为本发明提供的实现VRRP备份组中DHCP租约平滑切换的方法中,在DHCP Client/Relay/Server模式下Master路由器操作实施例的流程图; 图8为本发明提供的实现VRRP备份组中DHCP租约平滑切换的装置一实施例的框图;图9为图8所示装置中,DHCP租约建立单元一具体实施例的框图; 图10为图8所示装置中,DHCP租约备份单元一具体实施例的框图。
具体实施方式
下面将详细描述本发明的具体实施例。应当注意,这里描述的实施例只 用于举例说明,并不用于限制本发明。首先,需要说明的是,VRRP和DHCP是两种互不干扰的体系,VRRP 备份组内的Master路由器可能作为Client/Server模式下的DHCP Server或者Client/Relay/Server模式下的DHCP Relay,为其所连接的客户端提供DHCP 服务;本发明所提供的技术方案同时适用于上述两种情况。本发明的总体设想包括在VRRP备份组中的各路由器上都配置相同的 DHCP服务并同步DHCP租约,这样,当发生VRRP切换时,由于各个路由 器的租约具有同步性,因此新的Master路由器可以继续提供DHCP服务, 如根据租约来实现认证和通信过滤功能。为了实现上述构想,本发明提供了实现VRRP备份组中DHCP租约平滑 切换的技术方案,当有DHCP Client进行DHCP租约申请时,只有处于Master 状态的路由器才会响应,其他路由器监听Master路由器与DHCP客户端的 报文交互过程并记录租约,从而实现DHCP租约在所有VRRP路由器上的同 步。下面结合附图和实施例对本发明的技术方案进行详细描述。参见图4,显示了本发明提供的实现VRRP备份组中DHCP租约平滑切 换的方法一实施例的流程图,包括以下步骤51、 Master路由器通过对所连接客户端发送的DHCP报文加以响应,在 本地维护第一 DHCP租约,并通过预设的DHCP响应报文将其第一 DHCP 租约的变化同步给Backup路由器;其中,所述预设的DHCP响应报文可以延用现有技术中的Offer报文、 NAK报文和ACK报文等,其源地址为VRRP备份组虚IP,并携带包含客户 端地址在内的租约信息;进一步的,同步给Backup路由器的方式可以采用广播或者VRRP组播 的方式,本发明的实施例采用了广播方式加以实现。52、 Backup路由器根据监听到的、Master路由器发送的DHCP响应报 文,在本地维护第二 DHCP租约,使其切换为Master路由器时,通过该第 二 DHCP租约继续为所述客户端提供DHCP服务。举例来说,当Master路由器将DHCP响应报文组播或者广播后,Backup 路由器通过监控接收到的报文,基于租约信息进行本地租约的控制,即可实 现与Master路由器之间的DHCP租约的同步。通过上述步骤S1 S2可以看出,处于Master状态的路由器进行DHCP 报文响应,而处于Backup状态的路由器只作为监听,当VRRP路由器同时 充当DHCP Server并发生切换时,DHCP地址租约信息能够保持连续性,实现平稳过渡。下面分别对Client/Server模式下和Client/Relay/Server模式下,Master 路由器作为其所连接的客户端的Server和Relay时,本发明实施例所提供的 实现VRRP备份组中DHCP租约平滑切换的方法加以描述。其中,在Client/Server模式下在租约建立阶段,由于Discover、 Offer、 Request、 ACK/NAK报文都是 广播报文,所以在VRRP备份组内可以被所有的路由器所收到,Master路由 器无需特别执行DHCP响应报文的同步操作。在续约阶段或者释放阶段,对于Request报文和Release报文而言,其 为单播报文,Master路由器所反馈的也是单播报文或者无反馈,导致其他的 Backup路由器无法监听到。为了解决这一问题,本发明实施例需要采取通过 预设的DHCP响应报文向Backup路由器同步的操作,包括沿用现有技术中 的NAK/ACK报文,并对其加以广播实现同步。无论在上述哪一阶段,Master路由器所广播的报文其报文源地址都为 VRRP备份组虚IP,并携带包括客户端地址在内的租约信息。这样,监听到 的Backup路由器可以识别出该报文对应的租约并执行相应处理。具体的,步骤S1如图5A所示,可以包括(11) 当接收到客户端广播的Discover报文时,广播提供源地址为 VRRP备份组虚IP并携带包含客户端地址在内的租约信息的Offer报文, 并建立本地临时租约,为了和后续Backup路由器建立的租约相区分,这 里命名为第一临时租约;则客户端收到广播后根据该客户端地址识别对应本端的Offer报文, 并根据该Offer报文广播Request报文;由于客户端仅对第一个收到的 Offer报文加以反馈,因此Master路由器有可能接收不到客户端的Request 广播反馈,即下述(12)的情况;当然,也有可能接收到客户端的Request 广播反馈,即下述(13)的情况;(12) 当第一临时租约建立后的预设时间内未接收到客户端的请求 Request报文,即第一临时租约到期,则删除本地临时租约;在(12)中所提供的,仅仅是Master路由器的一种处理方案,即 Master路由器仅进行本地租约的处理,不另行通知Backup路由器,由Backup路由器根据时限监控实现其临时租约的删除;但本领域技术人员 可以理解,在Master路由器进行第一临时租约删除的同时,还可以相应 广播NAK报文,从而,Backup路由器无需设置时间监控,只需要根据 监控的广播报文即可实现租约同步。(13) 当第一临时租约到期前,如果接收到客户端的Request报文, 广播ACK报文并将第一临时租约变更为第一正式租约,或者,广播NAK 报文并删除第一临时租约;同样的,第一正式租约为了和后续Backup路 由器建立的租约相区分而命名的。(14) 当第一正式租约到期前,如果接收到客户端的单播Request 报文时,向客户端单播回复ACK报文并对单播后的ACK报文加以广播, 并刷新第一正式租约;或者,单播回复NAK报文并对单播后的NAK报 文加以广播,以及删除第一正式租约;(15) 如果第一正式租约到期前接收到客户端的单播释放Release报文 删除第一正式租约,并广播发送NAK报文;(16) 如果检测到第一正式租约到期,则删除该第一正式租约。 类似的,在Master路由器进行第一正式租约删除的同时,还可以相应广播NAK报文,从而,Backup路由器无需设置时间监控,只需要根据监控 的广播报文即可实现租约同步。相应的,步骤S2如图5B所示,可以包括(21) 当监听到源地址为虚IP的Offer报文时,Backup路由器在本 地建立第二临时租约;(22) 当第二临时租约建立后预设时间内未监听到相应的ACK报文时,即第二临时租约到期,则删除该第二临时租约;(23) 当第二临时租约到期前监听到Master路由器广播的NAK报 文时,删除第二临时租约;(24) 当第二临时租约到期前监听到Master路由器广播的ACK报 文时,将第二临时租约变更为第二正式租约;(25) 当第二正式租约到期前监听到Master路由器广播的ACK报 文时,刷新第二正式租约;(26) 当第二正式租约到期前监听到Master路由器广播的NAK报文时,删除本地正式租约;(27)当第二正式租约到期,删除该第二正式租约。可以看出,当Master路由器沿用了 ACK/NAK/Offer报文等作为DHCP 响应报文时,由于在租约建立阶段上述报文都以广播方式被发送,因此Master 路由器无需进行特别处理;而在续约和释放阶段,由于Master路由器采取了 相应的报文广播操作,因此Backup路由器仍然能够获得完整的信息来进行 第二 DHCP租约的变化,使第一 DHCP租约和第二 DHCP租约保持同步。进一步的,如果步骤S1中,当第一临时租约到期或者第一正式租约到 期时,还包括执行广播NAK报文的步骤,如图6A所示,则步骤S2的操作 如图6B所示,包括(31) 当监听到Master路由器广播的Offer报文时,在本地建立第 二临时租约;(32) 在第二临时租约建立后,如果监听到Master路由器广播的 ACK报文,将所述第二临时租约变更为第二正式租约;(33) 如果监听到Master路由器广播的NAK报文,删除第二临时租约;(34) 在第二正式租约建立后,如果监听到所述Master路由器广播的 ACK报文,刷新第二正式租约;(35) 如果监听到所述Master路由器广播的NAK报文,删除第二正式租约。也就是说,在图6B所示情况下,Backup路由器无需进行第二 DHCP租 约的期限监控。相应的,Backup路由器还可以釆用仅对第二临时租约进行期 限监控,或者仅对第二正式租约进行期限监控的方案,具体采用哪一种实现 方式,视具体应用环境灵活确定。下面将一个VRRP组内的Master路由器和Backup路由器结合起来加以 举例描述。在Client/Server模式下地址申请阶段。局域网内的所有路由器都能收到Discover、 Offer、 Request, ACK/NAK等广播报文。接收到广播报文的各路由器首先判断自己 的VRRP状态,只有处于Master状态的路由器才会作响应,其他Backup路 由器只作监听。当Master路由器基于Client发送的Discover报文以虚IP为源地址发送出Offer报文后,在Master上会建立第一临时租约,监听到源地 址为虚IP的Offer报文的各Backup路由器也相应的记录第二临时租约。当 收到客户端发送的Request后,如果确认地址分配,Master路由器会广播ACK 报文确认,第一临时租约也变成第一正式租约,监听到该ACK报文后各 Backup路由器也将相应的第二临时租约变为第二正式租约;如果不分配地 址,Master路由器会广播NAK报文,且Master路由器和Backup路由器都 需要删除相应的临时租约。如果建立临时租约后,一段时间内收不到Request, 则Master路由器会将第一临时租约删除,Backup路由器由于监听不到ACK, 经过相同时间的超时后,也会将第二临时租约删除。地址续约阶段。当DHCP客户端想续约,续约的Request是单播报文, 则其他的Backup路由器将无法监听获得。因此,如果续约成功,Master路 由器回复一个单播的ACK,并同时再发送一个广播的ACK,则其他Backup 路由器也可以监听到这个ACK报文,并刷新自己记录的租约信息;如果续 约失败,Master路由器删除租约,并回复广播的NAK报文,通知各Backup 路由器删除租约。如果客户端出现通信故障,Server发现租约到期而没人续 约时,Master路由器同样广播NAK报文,通知Backup路由器删除租约。地址释放阶段。客户端单播Release报文,其他的Backup路由器同样无 法监听。解决方法是Master路由器根据Release报文删除相应的租约,并广 播发送一个该地址的NAK报文,则其他Backup路由器都可以监听到这个 NAK报文,并据此删除相应的租约。进一步的,本发明所提供的实现VRRP备份组中DHCP租约平滑切换的 方法同样适用于Client/Rday/Server模式下,作为Relay的Master路由器的 切换。在地址申请阶段,Master路由器向Server转发客户端广播的DHCP报 文,包括Discover报文及Request报文;Master路由器接收Server的反馈并相应广播发送DHCP响应报文,其 中,DHCP响应报文可以沿用Server反馈的Offer报文、ACK报文及NAK报文;以及,Master路由器在本地建立第一 DHCP租约,包括根据Server 提供的Offer报文,建立第一临时租约;在第一临时租约到期前,如果接收到客户端广播的请求Request报文,则根据Server提供的ACK报文将第一 临时租约变更为第一正式租约,或者,根据Server提供的NAK报文删除第 一临时租约;如果第一临时租约到期,删除所述第一临时租约。同样的,如果第一临时租约到期,Master路由器还可以将NAK报文作 为DHCP响应报文加以广播。可以看出,上述地址申请阶段中,作为Relay的Master路由器和客户端 之间的交互与作为Server的Master路由器与客户端之间的交互基本相同,只 是多了向Server转发DHCP报文并接收Server反馈的步骤。但是在地址续约和释放阶段,由于作为Relay的路由器对于续约的 Request单播报文和释放地址的Release单播报文是加以直接转发,而不检查 其中的内容,因此也就不会采取相应的DHCP动作去处理租约信息,这是目 前作为Relay的DHCP服务器所固有的问题。对于上述Relay存在的问题,为了保证Relay上租约记录的完整性,在 现有技术中采取了 Relay定期向Server发送携带有相应客户端地址的Request 报文的方案,通过探测该地址是释放还是续约,以此更新自己的租约表。在本发明的技术方案中沿用了该解决方案,但为了保证Relay切换时 DHCP信息的连续性,作为Relay的Master路由器还要对所获得的反馈加以 广播,如图7所示,显示了第一正式租约建立后,Master路由器的操作流程Master路由器向Server直接转发所述客户端单播的DHCP报文,包括 Request报文及Release报文,接受并向客户端直接转发Server的反馈,包括 ACK报文及NAK报文;Master路由器向Server周期性发送携带所述客户端地址的请求Request 报文并识别获得的反馈;当Server反馈指示客户端地址被释放时,Master路由器删除第一正式租 约并广播NAK报文;当Server反馈指示客户端地址被续约时,Master路由器刷新第一正式租 约并广播ACK报文。对于Client/Rday/Server模式下的Backup路由器而言,其操作与图5B 或图6B相同,在此不再赘述。通过上述实施例可以看出,当发生VRRP状态切换时,新的Master将响应DHCP客户端的请求,接手DHCP Server或DHCP Relay的工作。由于 在上述描述的各种情况下,所有VRRP路由器上的租约都实现了同步更新, 所以对于DHCP客户端来说,Server或Relay切换是透明、无影响的,原有 的租约都可以正常生效,这保证了利用DHCP租约实现的认证和通信过滤等 功能。需要说明的是,本发明实施例提供的实现VRRP备份组中DHCP租约平 滑切换的方法主要适用于Client/Server模式下的Server备份和 Client/Relay/Server模式下的Relay备份。对于Client/Relay/Server模式下的 Server,其往往属于另一个Client/Server模式下VRRP备份组,同样适用于 本发明所提供的实现VRRP备份组中DHCP租约平滑切换的方法,因此不再 赘述。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,所述的程序可以存储于一计算机可读 取存储介质中,该程序在执行时,包括如下步骤51、 所述Master路由器通过对所连接客户端发送的DHCP报文加以响 应,在本地维护第一DHCP租约,并通过预设的DHCP响应报文将其第一 DHCP租约的变化同步给所述Backup路由器;其中,所述DHCP响应报 文的源地址为VRRP备份组虚IP,并携带包含客户端地址在内的租约信 息;52、 所述Backup路由器根据监听到的、所述Master路由器发送的DHCP 响应报文,在本地维护第二 DHCP租约,使其切换为Master路由器时,通 过所述第二 DHCP租约继续为所述客户端提供DHCP服务。所述的存储介质包括ROM/RAM (Read Only Memory/Random-Access Memory,只读存储器/随机访问内存)、磁碟或者光盘等。本发明的实施例还提供了一种实现VRRP备份组中DHCP租约平滑切换 的装置100,应用于包括一 Master路由器和至少一 Backup路由器的VRRP 备份组,且所述Master路由器为其所连接的客户端提供DHCP服务。该实现VRRP备份组中DHCP租约平滑切换的装置100分别设置在 VRRP备份组的各路由器中,请结合图8,显示了其一实施例的框图,包括:路由器识别单元101,用于识别所在路由器在VRRP备份组内的状 态,包括是作为Master路由器还是作为B ackup路由器;DHCP租约建立单元103,与该路由器识别单元101连接,该路由器 识别单元101在识别结果为Master路由器的情况下触发DHCP租约建立 单元103,通过对所连接客户端发送的DHCP报文加以响应,在本地维护第 一 DHCP租约,以及通过预设的DHCP响应报文将其第一 DHCP租约的 变化同步给所述Backup路由器;一般来说,DHCP租约建立单元103可以采用广播DHCP响应报文 的方式实现同步;其中,该DHCP响应报文的源地址为VRRP备份组虚 IP,并携带包含客户端地址在内的租约信息;DHCP租约备份单元104,与该路由器识别单元101连接,该路由器识 别单元101在识别结果为Backup路由器的情况下触发DHCP租约备份单元 104,使其监听Master路由器同步的报文,则DHCP租约备份单元104根据 监听到的、所述Master路由器发送的DHCP响应报文,在本地维护第二 DHCP 租约,使所在Backup路由器切换为Master路由器时,通过第二 DHCP租约 继续为客户端提供DHCP服务;DHCP租约保存单元102,分别与DHCP租约建立单元103和DHCP租 约备份单元104连接,用于保存本地即所在路由器的第一/第二 DHCP租约。作为具体实施方式
,如图9所示,DHCP租约建立单元103可以包括单播模块1031,用于向客户端单播ACK/NAK报文,这是在客户端 续约阶段发生的;广播模块1032,用于进行报文广播;其中,所述广播的报文源地址 为VRRP备份组虚IP,并携带包含客户端地址在内的租约信息; 第一计时器模块1033,用于对第一DHCP租约进行计时; 维护本地租约的第 一 租约维护模块1034 ,用于在DHCP Client/Server 模式下接收到客户端的发现Discover报文的情况下,触发广播模块1032 使其广播Offer报文,并在DHCP租约保存单元102中建立第一临时租约; 在第一临时租约建立后的预设时间内未接收到客户端的R叫uest报文的情况下,接受第一计时器模块1033在第一临时租约到期时的触发, 在DHCP租约保存单元102中删除第一临时租约;在第一临时租约建立后接收到客户端的Request报文并决定不建立 相应租约的情况下,触发广播模块1032使其广播NAK报文,并在DHCP 租约保存单元102中删除第一临时租约;在第一临时租约建立后接收到客户端的Request报文并决定建立相 应租约的情况下,触发广播模块1032使其广播ACK报文,并在DHCP 租约保存单元102中变更第一临时租约为第一正式租约;在第一正式租约建立后的预设时间内未接收到客户端的Request报 文的情况下,接受第一计时器模块1033在第一正式租约到期时的触发, 在DHCP租约保存单元102中删除第一正式租约;在第一正式租约到期前接收到客户端的单播R叫uest报文并决定续 约的情况下,触发单播模块1031使其向客户端发送ACK报文,触发广 播模块1032使其广播ACK报文,并在DHCP租约保存单元102中刷新 第一正式租约;在第一正式租约到期前接收到客户端的单播Request报文并决定不 予续约的情况下,触发单播模块1031使其向客户端发送NAK报文,触 发广播模块1032使其广播NAK报文,并在DHCP租约保存单元102中 删除第一正式租约;在第一正式租约到期前接收到客户端的单播Release报文的情况下, 触发广播模块1032使其广播NAK报文,并在DHCP租约保存单元102 中删除第一正式租约。进一步的,为了适应VRRP路由器工作在Client/Relay/Server模式下, 且作为Relay路由器的情况,克服其直接转发单播报文造成的DHCP租 约不完整的问题,DHCP租约建立单元103还可以包括转发模块1035,用于向Server转发客户端发送的DHCP报文,并接 收Server发送的反馈;査询模块1036,用于向客户端单播报文的目的地址发送携带所述客 户端地址的请求Request报文,并接收反馈指示;则第一租约维护模块1034用于在DHCP Client/Relay/Server模式下触发转发模块1035向Server转发所述客户端广播的DHCP报文, 包括Discover报文及Request报文;根据所述转发模块接收到的、Server 的反馈,触发所述广播模块1032向客户端广播相应的DHCP响应报文, 包括Offer报文、ACK报文及NAK报文;以及,相应在本地建立第一 DHCP租约根据Server提供的Offer报文,建立第一临时租约;根据第 一计时器模块1033在第一临时租约到期时的触发,在所述DHCP租约保 存单元中删除所述第一临时租约;根据Server提供的ACK报文将第一临 时租约变更为第一正式租约,或者,根据Server提供的NAK报文删除第 一临时租约;
触发转发模块1035向Server直接转发客户端单播的DHCP报文, 包括Request报文及Release报文,根据转发模块1035接收到的Server 的反馈,触发单播模块1031向客户端转发,包括ACK报文及NAK报文, 并周期性触发査询模块1036;根据査询模块1036接收到的、客户端地址 被释放的反馈指示,触发广播模块1032使其广播NAK报文并删除第一 正式租约;根据査询模块1036接收到的、客户端地址被续约的反馈指示, 触发广播模块1032使其广播ACK报文并刷新第一正式租约。 相应的,如图IO所示,DHCP租约备份单元104可以包括 广播报文监听模块1041,用于监听Master路由器与客户端之间的 DHCP报文交互,即监听Master路由器广播的DHCP响应报文; 第二计时器模块1042,用于对第二DHCP租约进行计时; 维护本地第二DHCP租约的第二租约维护模块1043,用于 在监听到Offer报文的情况下,在DHCP租约保存单元102中建立 第二临时租约;
在第二临时租约建立后预设时间内未监听到ACK报文的情况下,根 据第二计时器模块1042在第二临时租约到期时的触发,在DHCP租约保 存单元102中删除第二临时租约;
在第二临时租约建立后预设时间内监听到NAK报文的情况下,在 DHCP租约保存单元102中删除第二临时租约;
在第二临时租约建立后预设时间内监听到ACK报文的情况下,在 DHCP租约保存单元102中变更第二临时租约为第二正式租约;在第二正式租约建立后预设时间内未监听到ACK报文的情况下,根据第二计时器模块1042在第二正式租约到期时的触发,在DHCP租约保 存单元102中删除第二正式租约;在第二正式租约建立后监听到ACK报文的情况下,在DHCP租约保 存单元102中刷新第二正式租约;在第二正式租约建立后监听到NAK报文的情况下,在DHCP租约保存 单元102中删除第二正式租约,这可能是由于客户端到期未请求续约、客户 端主动释放或者Master路由器拒绝续约等情况导致的。上述DHCP租约建立单元103和DHCP租约备份单元的实施例中, 都釆用了计时器进行本地DHCP租约的监控。可替换的,DHCP租约建 立单元103中,第一租约维护模块1034还可以根据第一计时器模块1033 的触发,相应触发广播模块1032,使其广播NAK报文。这样,DHCP 租约备份单元104可以不设置第二计时器模块1042,此时维护本地第二 DHCP租约的第二租约维护模块1043用于在监听到Offer报文的情况下,在DHCP租约保存单元102中建立 第二临时租约;在第二临时租约建立后监听到NAK报文的情况下,在DHCP租约保 存单元102中删除第二临时租约;在第二临时租约建立后监听到ACK报 文的情况下,在DHCP租约保存单元102中变更第二临时租约为第二正 式租约;在第二正式租约建立后监听到ACK报文的情况下,在DHCP租约保存 单元102中刷新第二正式租约;在第二正式租约建立后监听到NAK报文的 情况下,在DHCP租约保存单元102中删除第二正式租约。与图9、图10所示实施例相比,取消第二计时器模块1042能够使Backup 路由器的本地租约维护和监控更易实现。本发明的实施例还提供了一种路由器,应用于VRRP备份组内,设有上 述的实现VRRP备份组中DHCP租约平滑切换的装置100,用于根据该实现 VRRP备份组中DHCP租约平滑切换的装置100记录的DHCP租约提供路由 服务。这样,当VRRP备份组内的路由器发生切换时,DHCP服务不会发生中断,新的Master路由器仍然可以根据本地备份的租约来实现认证和通信过
滤等功能。
虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是 说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而 不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细 节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利 要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
权利要求
1.一种实现VRRP备份组中DHCP租约平滑切换的方法,应用于包括一Master路由器和至少一Backup路由器的VRRP备份组,且所述Master路由器为其所连接的客户端提供DHCP服务;其特征在于,包括以下步骤S1、所述Master路由器通过对所连接客户端发送的DHCP报文加以响应,在本地维护第一DHCP租约,并通过预设的DHCP响应报文将其第一DHCP租约的变化同步给所述Backup路由器;其中,所述DHCP响应报文的源地址为VRRP备份组虚IP,并携带包含客户端地址在内的租约信息;S2、所述Backup路由器根据监听到的、所述Master路由器发送的DHCP响应报文,在本地维护第二DHCP租约,使其切换为Master路由器时,通过所述第二DHCP租约继续为所述客户端提供DHCP服务。
2. 根据权利要求1所述的实现VRRP备份组中DHCP租约平滑切换 的方法,其特征在于,所述Master路由器在DHCP Client/Server模式下作 为其所连接的客户端的Server时,所述步骤SI包括当接收到所述客户端广播的发现Discover报文时,广播提供Offer 报文,并建立第一临时租约;在所述第一临时租约到期前,如果接收到客户端广播的请求Request 报文,广播ACK报文并将所述第一临时租约变更为第一正式租约,或者, 广播NAK报文并删除所述第一临时租约;如果所述第一临时租约到期,删除所述第一临时租约;在所述第一正式租约到期前,如果接收到客户端单播的Request报 文,向所述客户端单播ACK报文并刷新所述第一正式租约,以及执行对 所述ACK报文加以广播的步骤,或者,向所述客户端单播NAK报文并 删除所述第一正式租约,以及执行对所述NAK报文加以广播的步骤;如 果接收到客户端单播的释放Release报文,则删除所述第一正式租约,以 及执行广播NAK报文的步骤;如果所述第一正式租约到期,删除所述第一正式租约。'
3. 根据权利要求2所述的实现VRRP备份组中DHCP租约平滑切换的方法,其特征在于,所述Master路由器在DHCP Client/Relay/Server模 式下作为其所连接的客户端的Relay时,所述步骤SI包括所述Master路由器向Server转发所述客户端广播的DHCP报文,包 括Discover报文及Request报文,接收Server的反馈并相应广播发送 DHCP响应报文,包括Offer报文、ACK报文及NAK报文,以及在本地 建立第一DHCP租约;其中,所述在本地建立第一DHCP租约包括根 据Server提供的Offer报文,建立第一临时租约;在所述第一临时租约到 期前,如果接收到客户端广播的请求R叫uest报文,则根据Server提供 的ACK报文将所述第一临时租约变更为第一正式租约,或者,根据Server 提供的NAK报文删除所述第一临时租约;如果所述第一临时租约到期, 删除所述第一临时租约;当所述第一正式租约建立后,所述Master路由器向Server直接转发 所述客户端单播的DHCP报文,包括R叫uest报文及Release报文,接受 并向客户端直接转发Server的反馈,包括ACK报文及NAK报文,以及 向所述Server周期性发送携带所述客户端地址的请求Request报文;当 所述Server反馈指示所述客户端地址被释放时,所述Master路由器删除 所述第一正式租约并广播NAK报文;当所述Server反馈指示所述客户端 地址被续约时,所述Master路由器刷新所述第一正式租约并广播ACK 报文。
4.根据权利要求2或3所述的实现VRRP备份组中DHCP租约平滑 切换的方法,其特征在于,所述步骤S2包括当监听到所述Master路由器广播的Offer报文时,所述Backup路由 器在本地建立第二临时租约;在所述第二临时租约到期前,如果监听到所述Master路由器广播的 ACK报文,将所述第二临时租约变更为第二正式租约;如果监听到所述 Master路由器广播的NAK报文,删除所述第二临时租约;如果所述第二临时租约到期,删除所述第二临时租约 ,在所述第二正式租约到期前,如果监听到所述Master路由器广播的 ACK报文,刷新所述第二正式租约;如果监听到所述Master路由器广播 的NAK报文,删除所述第二正式租约;如果所述第二正式租约到期,删除所述第二正式租约。
5. 根据权利要求2或3所述的实现VRRP备份组中DHCP租约平滑 切换的方法,其特征在于,所述步骤S1中,当所述第一临时租约到期或 者所述第一正式租约到期时,还包括执行广播NAK报文的步骤。
6. 根据权利要求5所述的实现VRRP备份组中DHCP租约平滑切换 的方法,其特征在于,所述步骤S2包括当监听到所述Master路由器广播的Offer报文时,在本地建立第二 临时租约;在所述第二临时租约建立后,如果监听到所述Master路由器广播的 ACK报文,将所述第二临时租约变更为第二正式租约;如果监听到所述 Master路由器广播的NAK报文,删除所述第二临时租约;在所述第二正式租约建立后,如果监听到所述Master路由器广播的 ACK报文,刷新所述第二正式租约;如果监听到所述Master路由器广播 的NAK报文,删除所述第二正式租约。
7. —种实现VRRP备份组中DHCP租约平滑切换的装置,应用于包 括一 Master路由器和至少一 Backup路由器的VRRP备份组,且所述Master 路由器为其所连接的客户端提供DHCP服务;其特征在于,所述装置分别 设置在VRRP备份组的各路由器中,包括路由器识别单元,用于识别所在路由器在VRRP备份组内的状态; DHCP租约建立单元,与所述路由器识别单元连接,用于接受识别 结果为Master路由器的情况下所述路由器识别单元的触发,通过对所连 接客户端发送的DHCP报文加以响应,在本地维护第一 DHCP租约,以及 通过预设的DHCP响应报文将其第一 DHCP租约的变化同步给所述 Backup路由器;其中,所述DHCP响应报文的源地址为VRRP备份组虚 IP,并携带包含客户端地址在内的租约信息;DHCP租约备份单元,与所述路由器识别单元连接,用于接受识别 结果为Backup路由器的情况下所述路由器识别单元的触发,根据监听到 的、所述Master路由器发送的DHCP响应报文,在本地维护第二 DHCP 租约,使所在Backup路由器切换为Master路由器时,通过所述第二 DHCP 租约继续为所述客户端提供DHCP服务;DHCP租约保存单元,分别与所述DHCP租约建立单元和DHCP租 约备份单元连接,用于保存本地的第一/第二DHCP租约。
8.根据权利要求7所述的实现VRRP备份组中DHCP租约平滑切换 的装置,其特征在于,所述DHCP租约建立单元包括单播模块,用于向客户端单播ACK/NAK报文;广播模块,用于进行报文广播;第一计时器模块,用于对第一DHCP租约进行计时; 维护本地第一 DHCP租约的第一租约维护模块,用于在DHCPClient/Server模式下接收到客户端广播的发现Discover报文的情况下,触发所述广播模块使其广播Offer报文,并在所述DHCP租约保存单元中建立第一临时租约;根据所述第一计时器模块在第一临时租约到期时的触发,在所述 DHCP租约保存单元中删除所述第一临时租约;接收到客户端的Request报文并决定不建立相应租约的情况下,触 发所述广播模块使其广播NAK报文,并在所述DHCP租约保存单元中删 除所述第一临时租约;接收到客户端的Request报文并决定建立相应租约的情况下,触发 所述广播模块使其广播ACK报文,并在所述DHCP租约保存单元中变更 所述第一临时租约为第一正式租约;根据所述第一计时器模块在第一正式租约到期时的触发,在所述 DHCP租约保存单元中删除所述第一正式租约;接收到客户端的单播Release报文的情况下,触发所述广播模块使其 广播NAK报文,并在所述DHCP租约保存单元中删除所述第一正式租约;接收到客户端的单播Request报文并决定续约的情况下,触发所述 单播模块使其向客户端发送ACK报文,触发所述广播模块使其广播ACK 报文,并在所述DHCP租约保存单元中刷新所述第一正式租约;接收到客户端的单播R叫uest报文并决定不予续约的情况下,触发 所述单播模块使其向客户端发送NAK报文,触发所述广播模块使其广播 NAK报文,并在所述DHCP租约保存单元中删除所述第一正式租约。
9. 根据权利要求8所述的实现VRRP备份组中DHCP租约平滑切换 的装置,其特征在于,所述DHCP租约建立单元还包括转发模块,用于向Server转发客户端发送的DHCP报文,并接收 Server发送的反馈;查询模块,用于向客户端单播报文的目的地址发送携带所述客户端 地址的请求Request报文,并接收反馈指示;则第 一 租约维护模块用于在DHCP Client/Rday/Server模式下触发所述转发模块向Server转发所述客户端广播的DHCP报文,包 括Discover报文及Request报文;根据所述转发模块接收到的、Server 的反馈,触发所述广播模块向所述客户端广播相应的DHCP响应报文, 包括Offer报文、ACK报文及NAK报文;以及,相应在本地建立第一 DHCP租约根据Server提供的Offer报文,建立第一临时租约;根据所 述第一计时器模块在第一临时租约到期时的触发,在所述DHCP租约保 存单元中删除所述第一临时租约;根据Server提供的ACK报文将所述第 一临时租约变更为第一正式租约,或者,根据Server提供的NAK报文删 除所述第一临时租约;触发所述转发模块向Server直接转发所述客户端单播的DHCP报文, 包括Request报文及Release报文,根据所述转发模块接收到的Server的 反馈,触发所述单播模块向所述客户端转发,包括ACK报文及NAK报 文,并周期性触发所述查询模块;根据所述査询模块接收到的、所述客 户端地址被释放的反馈指示,触发所述广播模块使其广播NAK报文并删 除所述第一正式租约;根据所述査询模块接收到的、所述客户端地址被 续约的反馈指示,触发所述广播模块使其广播ACK报文并刷新所述第一 正式租约。
10. 根据权利要求8或9所述的实现VRRP备份组中DHCP租约平滑 切换的装置,其特征在于,所述DHCP租约备份单元包括广播报文监听模块,用于监听Master路由器广播的DHCP响应报文; 第二计时器模块,用于对第二DHCP租约进行计时; 维护本地第二DHCP租约的第二租约维护模块,用于 在监听到Offer报文的情况下,在所述DHCP租约保存单元中建立第二临时租约;根据所述第二计时器模块在第二临时租约到期时的触发,或者,在第二临时租约建立后监听到NAK报文的情况下,在所述DHCP租约保存单元中删除所述第二临时租约;在第二临时租约建立后监听到ACK报文的情况下,在所述DHCP 租约保存单元中变更所述第二临时租约为第二正式租约;在第二正式租约建立后监听到ACK报文的情况下,在所述DHCP 租约保存单元中刷新所述第二正式租约;根据所述第二计时器模块在第二正式租约到期时的触发,或者,在 第二正式租约建立后监听到NAK报文的情况下,在所述DHCP租约保存 单元中删除所述第二正式租约。
11. 根据权利要求8或9所述的实现VRRP备份组中DHCP租约平滑 切换的装置,其特征在于,所述DHCP租约建立单元中,所述第一租约 维护模块还根据第一计时器模块的触发,相应触发所述广播模块,使其 广播NAK报文。
12. 根据权利要求11所述的实现VRRP备份组中DHCP租约平滑切 换的装置,其特征在于,所述DHCP租约备份单元包括广播报文监听模块,用于监听Master路由器广播的DHCP响应报文; 维护本地第二DHCP租约的第二租约维护模块,用于 在监听到Offer报文的情况下,在所述DHCP租约保存单元中建立 第二临时租约;在第二临时租约建立后监听到NAK报文的情况下,在所述DHCP 租约保存单元中删除所述第二临时租约;在第二临时租约建立后监听到 ACK报文的情况下,在所述DHCP租约保存单元中变更所述第二临时租 约为第二正式租约;在第二正式租约建立后监听到ACK报文的情况下,在所述DHCP 租约保存单元中刷新所述第二正式租约;在第二正式租约建立后监听到 NAK报文的情况下,在所述DHCP租约保存单元中删除所述第二正式租 约。
13. —种路由器,应用于VRRP备份组内,其特征在于,设有如权利要求7-12任一所述的实现VRRP备份组中DHCP租约平滑切换的装置, 用于根据所述实现VRRP备份组中DHCP租约平滑切换的装置记录的 DHCP租约提供DHCP服务。
全文摘要
本发明公开了一种实现VRRP备份组中DHCP租约平滑切换的方法和装置,应用于包括一Master路由器和至少一Backup路由器的VRRP备份组。该方法包括该Master路由器通过对所连接客户端发送的DHCP报文加以响应,在本地维护第一DHCP租约,并通过预设的DHCP响应报文将其第一DHCP租约的变化同步给Backup路由器;该Backup路由器根据监听到的、该Master路由器发送的DHCP响应报文,在本地维护第二DHCP租约,使其切换为Master路由器时,通过该第二DHCP租约继续为所述客户端提供DHCP服务。本发明还公开了一种路由器。通过本发明,保证了VRRP备份组内Master路由器切换前后DHCP信息的连续性。
文档编号H04L12/56GK101217477SQ20081000097
公开日2008年7月9日 申请日期2008年1月10日 优先权日2008年1月10日
发明者哲 黄 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1