动态主机配置协议地址分配方法及服务器的制作方法

文档序号:7595841阅读:269来源:国知局
专利名称:动态主机配置协议地址分配方法及服务器的制作方法
技术领域
本发明涉及网络通信技术,尤其涉及一种动态主机配置协议地址分配方法及服务
O
背景技术
动态主机配置协议(DynamicHost Configuration Protocol ;简称为DHCP)是 一种用于简化主机网际协议(Internet Protocol ;简称为IP)配置管理的标准协议。通 过DHCP,DHCP服务器可以自动为网络上所有启用DHCP的客户端分配IP地址、掩码、网关、 域名系统(Domain Name System ;简称为DNS)等网络参数,这简化了用户的网络设置,提 高了管理效率。但是,在大型局域网络中,由于同一个区域的终端数量较多,而所有终端都 要通过DHCP服务器来获取地址,这就对DHCP服务器造成了很大的压力。为了减轻DHCP服务器的压力,提高DHCP服务器的可靠性,现有技术多采用在网络 中配置多台DHCP服务器以实现DHCP服务器的负载均衡。其中,一种较为常用的方法为在 局域网络中放置两台DHCP服务器,由两台DHCP服务器同时响应客户端的请求,以降低DHCP 服务器的负载。其中,如果两台DHCP服务器配置相同的地址池,可能出现不同客户端得到 同一 IP地址的情况,因此,在该方法中,为避免地址冲突要求为两台DHCP服务器配置不同 的地址池,则每台DHCP服务器将只能配置整个地址池中的部分地址,如果一台DHCP服务器 发生故障时,整个局域网络只能使用另一台DHCP服务器提供的部分地址,这将出现地址空 间不足的问题。另外,在该方法中,由于两台DHCP服务器都要响应客户端的请求,每台DHCP 服务器的负载并未真正降低。现有技术中另一种较为常用的方法是在网络中配置多台DHCP服务器,多台DHCP 服务器采用相同的负载均衡算法,以客户端的介质访问控制(Media Access Control ;简称 为MAC)地址为输入,通过计算获取处于某一区间的数值,然后根据预先配置的服务区段 来判断本DHCP服务器是否需要对客户端的请求进行响应,以实现DHCP服务器的负载均衡。 在该方法中,为避免地址冲突,同样要求各DHCP服务器配置不同的地址池,当有DHCP服务 器发生故障时,同样存在地址空间不足的问题;另外,为了使整个网络的客户端均被覆盖, 需要对各DHCP服务器的服务区段进行协作配置,因此,该方法中对DHCP服务器的配置较为 复杂。基于上述可知,如何在实现DHCP服务器的负载均衡同时,解决地址空间不足、配 置复杂等问题成为DHCP地址分配过程中有待解决的问题。

发明内容
本发明提供一种动态主机配置协议地址分配方法及服务器,用以在实现DHCP服 务器负载均衡的同时,解决现有技术存在的地址空间不足、配置复杂等问题。本发明提供一种动态主机配置协议地址分配方法,包括网络中各服务器中的主服务器根据客户端发送的地址分配请求,从所述各服务器中指定为所述客户端提供服务的第一服务器,所述地址分配请求包括所述客户端的介质访 问控制地址;所述主服务器向所述第一服务器发送指示消息,所述指示消息包括所述第一服务 器的标识;所述第一服务器根据所述指示消息和本地存储的地址分配信息表,向所述客户端 分配网际协议地址,所述地址分配信息表包括当前网络中已分配使用的网际协议地址。本发明提供一种服务器,包括指定模块,用于根据客户端发送的地址分配请求,从网络中各服务器中指定为所 述客户端提供服务的第一服务器,所述地址分配请求包括所述客户端的介质访问控制地 址;第一发送模块,用于向所述第一服务器发送指示消息,以供所述第一服务器根据 所述指示消息和所述第一服务器本地存储的地址分配信息表,向所述客户端分配网际协议 地址;所述指示消息包括所述第一服务器的标识,所述地址分配信息表包括当前网络中已 分配使用的网际协议地址。本发明又提供一种服务器,包括第三接收模块,用于接收所述客户端发送的地址分配请求,所述地址分配请求包 括所述客户端的介质访问控制地址;第四接收模块,用于接收主服务器发送的指示消息,并根据所述指示消息和本地 存储的地址分配信息表,向所述客户端分配网际协议地址,所述地址分配信息表中包括当 前网络中已分配使用的网际协议地址。本发明的动态主机配置协议地址分配方法及服务器,采用由主服务器根据客户端 的地址分配请求,在各服务器中指定一台为客户端提供服务,并向指定的服务器发送指示 消息,被指定的服务器根据指示消息和本地存储的当前网络中已分配使用的IP地址,为客 户端分配IP地址的技术方案,一方面由于由主服务器指定为客户端提供服务的服务器,可 以实现各服务器之间的负载均衡,另一方面被指定的服务器结合当前网络中已分配使用的 IP地址信息为客户端分配IP地址,可以避免分配给客户端的IP地址与已经分配使用的IP 地址发生冲突,使得各服务器可以配置相同的地址池,其配置简单,并且不会出现因某台服 务器出现故障导致地址空间不足的问题。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。图1为本发明实施例一提供的DHCP地址分配方法的流程图;图2A为本发明实施例二提供的DHCP地址分配方法的流程图;图2B为本发明实施例二所定义的报文格式的示意图;图3为本发明实施例三提供的DHCP地址分配方法的流程图;图4为本发明实施例四提供的服务器的结构示意图5为本发明实施例五提供的服务器的结构示意图;图6为本发明实施例六提供的服务器的结构示意图;图7为本发明实施例七提供的服务器的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例一提供的DHCP地址分配方法的流程图。如图1所示,本实施 例的方法包括步骤11、网络中各服务器中的主服务器根据客户端发送的地址分配请求,从各服 务器中指定为客户端提供服务的第一服务器。具体的,DHCP客户端向所在网络中广播地址分配请求,即DHCPDISC0VER广播包, 以寻求网络中的DHCP服务器。该地址分配请求中包括客户端的MAC地址,用于标识客户端 的身份。在本实施例中,网络中设置有多台DHCP服务器,DHCP服务器用于接收客户端发送 的地址分配请求,并为客户端提供服务。其中,本实施例在多台DHCP服务器中指定一台主 DHCP服务器(以下简称主服务器),用于指定为客户端提供服务的服务器,对于各DHCP服 务器以下将简称为服务器。主服务器上存储有网络中各服务器的信息,当主服务器接收到 地址分配请求之后,从各服务器中指定一台为客户端提供服务,即由指定的服务器响应客 户端的地址分配请求。其中,主服务器可以根据预先设定的轮询算法从各台服务器中指定响应客户端的 地址分配请求的服务器,这样可以保证各服务器之间的负载均衡。其中,轮询算法可以是根 据各服务器的IP地址、MAC地址或优先级等信息对各服务器进行轮询指定。在此说明,在本实施例中,主服务器在为客户端指定为其分配IP地址的服务器 时,主服务器本身可以和其他服务器(即除主服务器之外的服务器)一样进行地址分配。即 主服务器指定的为客户端提供服务的服务器可以是主服务器本身也可以是其他服务器。但 是,当网络中的客户端数量较多时,主服务器将会频繁执行为客户端指定服务器的操作,且 当服务器数量也较多时,为了保证各服务器的负载均衡,主服务器的轮询算法也将更加复 杂,此时,主服务器的负担将加重,因此,为了保证主服务器自身的负担和工作质量,还可以 设定主服务器仅执行从其他服务器中指定为客户端提供服务的服务器的操作,而其本身不 参与地址分配操作。具体采用哪种方式本实施例不做限定,但本实施例以及后续各实施例 将以前者为例。步骤12、主服务器向第一服务器发送指示消息,所述指示消息包括第一服务器的 标识。具体的,当主服务器选定为客户端提供服务的服务器(即第一服务器)之后,通过 向第一服务器发送指示消息,以告知第一服务器响应客户端的地址分配请求。其中,第一服 务器的标识可以是第一服务器的IP地址、MAC地址等可以唯一标识一台服务器的信息,另 外,该标识还可以是网络中各服务器预先约定的、可唯一标识每台服务器(包括主服务器)
7的信息,例如可以预先设置各台服务器的ID(每台服务器的ID均不同),以设定的ID作 为服务器的标识。步骤13、第一服务器根据指示消息和本地存储的地址分配信息表,向客户端分配 IP地址。在本实施例中,各服务器(包括主服务器)上均存储有当前网络中已分配使用的 IP地址的信息;对各服务器而言,当前网络中已分配使用的IP地址包括该服务器本身分配 的IP地址和其他服务器分配的IP地址。其中,在各服务器上,当前网络中已经分配使用的 IP地址以信息表的形式存储,但并不限于这一种存储方式。其中,对于主服务器而言,为实现各服务器的负载均衡,需要对各服务器进行管 理,因此,在主服务器上除了存储当前网络中已经分配使用的IP地址作为为客户端分配IP 地址时的依据之外,还需要存储其他服务器的信息,例如每台服务器的标识、每台服务器 分配了哪些IP地址,将IP地址分配给了哪些客户端等。基于此,在本实施例中,主服务器 同时将当前网络中已分配使用的IP地址和各服务器的信息(包括主服务器本身的)以地 址分配对应关系表的形式来存储,但并不限于此。本领域技术人员可以理解,当前网络中已 分配使用的IP地址和各服务器的信息也可以分别存储。对于除主服务器之外的其他服务器而言,也可以建立地址分配对应关系表,来存 储当前网络中已经分配使用的IP地址以及其他服务器的信息等,这样在主服务器失效而 由其他服务器重新作为主服务器时不需要重新建立地质分配对应关系表,只需进行适应性 更新即可,可以提高新主服务器的工作效率。但是,由于主服务器失效的情况不会经常发 生,而其他服务器不需要执行为客户端指定服务器的操作,不需要存储各服务器的信息,因 此,本实施例其他服务器以地址分配信息表来存储当前网络中已分配使用的IP地址,以与 主服务器上的地址分配对应关系表进行区分,同时还可以节约其他服务器的存储空间。本 实施例以及以下各实施例均以后者为例。具体的,当第一服务器接收到主服务器的指示消息之后,获知由其来响应客户端 的地址分配请求,则第一服务器为客户端分配IP地址。为防止分配给客户端的IP地址与 已经分配使用的IP地址发生冲突,本实施例的第一服务器通过查找本地存储的地址分配 信息表获知当前已经分配使用的IP地址,然后,从未分配使用的IP地址中为客户端分配IP 地址。其中,当主服务器选择其本身为第一服务器时,主服务器可通过其发送模块向其 分配模块发送指示消息,以使其分配模块为客户端分配IP地址。本实施例的DHCP地址分配方法,由主服务器根据客户端的地址分配请求,指定为 客户端提供服务的服务器,然后向指定的服务器发送指示消息,以使被指定的服务器根据 指示消息和本地存储的当前网络中已分配使用的IP地址,为客户端分配IP地址,实现对客 户端的地址分配。其中,本实施例由主服务器指定为客户端提供服务的服务器,可以实现 各服务器之间的负载均衡;而被指定的服务器结合当前网络中已分配使用的IP地址信息 为客户端分配IP地址,可以避免分配给客户端的IP地址与已经分配使用的IP地址发生冲 突。另外,由于各服务器基于当前网络中已经分配使用的IP地址信息为客户端分配IP地 址,不会发生IP地址冲突,因此,各服务器配置的地址池可以完全相同,因此,不会出现由 于配置了不同地址池,一台服务器出现故障时导致出现地址空间不足的问题;又由于各服务器的地址池相同,对各服务器的配置可以独立进行而不需要协作配置,配置服务器的操
作简单。图2A为本发明实施例二提供的DHCP地址分配方法的流程图。本实施例基于实施 例一实现,如图2A所示,本实施例的方法在步骤11之前还包括步骤10a、网络中各服务器发送选举报文,并接收其他服务器发送的选举报文。步骤10b、各服务器根据发送的和接收到的选举报文中的选举标识,选举主服务
ο本实施例通过步骤IOa和步骤IOb可自动在网络中选举主服务器。在本实施例中, 服务器包括三种状态,分别为初始状态、主服务器状态和从服务器状态。服务器在开机启动 或是重新启动时均进入初始状态,并定时广播选举报文,标识支持负载均衡的服务器接入 网络;当服务器被选举为主服务器时,就处于主服务器状态,反之,处于从服务器状态。具体的,在不存在主服务器的网络状态下,各服务器根据选举报文中携带的选举 标识,将本身发出的选举报文和接收到的其他服务器的选举报文进行优先级比较;其中,若 本服务器发送的选举报文的优先级最高,则本服务器作为主服务器;反之,如果其他服务器 发送的选举报文的优先级比本服务器的选举报文的优先级高,则本服务器自动进入从服务 器状态。其中,选举报文中携带的选举标识是各服务器进行选举的依据。该选举标识可以 是服务器的IP地址,则可以以IP地址的大小作为优先级。例如可以选举最大IP地址对 应的服务器为主服务器,即IP地址越大对应的优先级越高;还可以选举最小IP地址对应的 服务器为主服务器,即IP地址越小对应的优先级越高。另外,该选举标识还可以是MAC地 址等其他信息。本实施例的选举报文可以采用HELLO报文,但并不限于此,还可以根据实际情况 自行定义。本实施例自行定义了一种报文格式,用于传输本实施例中的各种信息。图2B所 示为本发明实施例二所定义的报文格式,该报文中各字段值的含义如表1所示。表 权利要求
1.一种动态主机配置协议地址分配方法,其特征在于,包括网络中各服务器中的主服务器根据客户端发送的地址分配请求,从所述各服务器中指 定为所述客户端提供服务的第一服务器,所述地址分配请求包括所述客户端的介质访问控 制地址;所述主服务器向所述第一服务器发送指示消息,所述指示消息包括所述第一服务器的 标识;所述第一服务器根据所述指示消息和本地存储的地址分配信息表,向所述客户端分配 网际协议地址,所述地址分配信息表包括当前网络中已分配使用的网际协议地址。
2.根据权利要求1所述的动态主机配置协议地址分配方法,其特征在于,所述网络中 各服务器中的主服务器根据客户端发送的地址分配请求,从所述各服务器中指定为所述客 户端提供服务的第一服务器之前包括所述各服务器接收所述客户端发送的地址分配请求,并获取所述客户端的介质访问控 制地址;所述主服务器判断所述客户端的介质访问控制地址是否存在于本地存储的地址分配 对应关系表中;当所述主服务器的判断结果为否时,所述主服务器执行根据所述客户端发送的地址分 配请求,从所述各服务器中指定为所述客户端提供服务的第一服务器的操作。
3.根据权利要求1或2所述的动态主机配置协议地址分配方法,其特征在于,所述主服 务器具体根据预设轮询算法从所述各服务器中,指定为所述客户端提供服务器的第一服务
4.根据权利要求1或2所述的动态主机配置协议地址分配方法,其特征在于,在所述主 服务器接收所述客户端发送的地址分配请求之前包括所述网络中各服务器发送选举报文,并接收其他服务器发送的选举报文;所述各服务器根据发送的和接收到的所述选举报文中的选举标识,选举所述主服务
5.根据权利要求2所述的动态主机配置协议地址分配方法,其特征在于,所述第一服 务器根据所述指示消息和本地存储的地址分配信息表,向所述客户端分配网际协议地址之 后包括所述第一服务器向所述主服务器发送通告消息,以使所述主服务器更新所述地址分配 对应关系表,所述通告消息包括所述第一服务器分配给所述客户端的网际协议地址、所述 客户端的介质访问控制地址和所述第一服务器的标识。
6.根据权利要求5所述的动态主机配置协议地址分配方法,其特征在于,还包括所述主服务器根据所述地址分配对应关系表,定时向所述各服务器中除所述主服务器 之外的其他服务器发送更新消息,以使所述其他服务器更新所述地址分配信息表,所述更 新消息包括发送所述更新消息时所述地址分配对应关系表中存储的已分配使用的网际协 议地址。
7.根据权利要求6所述的动态主机配置协议地址分配方法,其特征在于,当所述其他 服务器在预设时间内未接收到所述主服务器发送的更新消息时,所述其他服务器发送选举 报文,以重新选举所述主服务器。
8.一种服务器,其特征在于,包括指定模块,用于根据客户端发送的地址分配请求,从网络中各服务器中指定为所述客 户端提供服务的第一服务器,所述地址分配请求包括所述客户端的介质访问控制地址;第一发送模块,用于向所述第一服务器发送指示消息,以供所述第一服务器根据所述 指示消息和所述第一服务器本地存储的地址分配信息表,向所述客户端分配网际协议地 址;所述指示消息包括所述第一服务器的标识,所述地址分配信息表包括当前网络中已分 配使用的网际协议地址。
9.根据权利要求8所述的服务器,其特征在于,还包括第一接收模块,用于接收所述客户端发送的地址分配请求,并获取所述客户端的介质 访问控制地址;第一判断模块,用于判断所述客户端的介质访问控制地址是否存在于本地存储的地址 分配对应关系表中;第一触发模块,用于在所述第一判断模块的判断结果为否时,触发所述指定模块执行 根据所述客户端发送的地址分配请求,从各服务器中指定为所述客户端提供服务的第一服 务器的操作。
10.根据权利要求8或9所述的服务器,其特征在于,还包括第二发送模块,用于在接收所述客户端发送的地址分配请求之前,发送选举报文,并接 收其他服务器发送的选举报文;第一选举模块,用于根据所述第二发送模块发送的和接收到的所述选举报文中的选举 标识,选举本服务器为主服务器。
11.根据权利要求9所述的服务器,其特征在于,还包括第二接收模块,用于接收所述第一服务器发送的通告消息,并根据所述通告消息更新 所述地址分配对应关系表,所述通告消息中包括所述第一服务器分配给所述客户端的网际 协议地址、所述客户端的介质访问控制地址和所述第一服务器的标识。
12.根据权利要求11所述的服务器,其特征在于,还包括第三发送模块,用于根据所述地址分配对应关系表,定时向所述各服务器中除本服务 器之外的其他服务器发送更新消息,以使所述其他服务器更新所述地址分配信息表,所述 更新消息包括发送所述更新消息时所述地址分配对应关系表中存储的已分配使用的网际 协议地址。
13.一种服务器,其特征在于,包括第三接收模块,用于接收所述客户端发送的地址分配请求,所述地址分配请求包括所 述客户端的介质访问控制地址;第四接收模块,用于接收主服务器发送的指示消息,并根据所述指示消息和本地存储 的地址分配信息表,向所述客户端分配网际协议地址,所述地址分配信息表中包括当前网 络中已分配使用的网际协议地址。
14.根据权利要求13所述的服务器,其特征在于,还包括第二判断模块,用于在所述第四接收模块接收所述指示消息之前,判断所述客户端的 介质访问控制地址是否存在于所述地址分配信息表中;分配模块,用于在所述第二判断模块的判断结果为是时,根据所述地址分配信息表,向所述客户端分配网际协议地址;第二触发模块,用于在所述第二判断模块的判断结果为否时,触发所述第四接收模块 执行接收主服务器发送的指示消息,并根据所述指示消息和本地存储的地址分配信息表, 向所述客户端分配网际协议地址的操作。
15.根据权利要求13或14所述的服务器,其特征在于,还包括第四发送模块,用于在所述第三接收模块接收所述地址分配请求之前,发送选举报文, 并接收网络中其他服务器发送的选举报文;第二选举模块,用于根据发送的和接收的所述选举报文中的选举标识,选举本服务器 为非主服务器。
16.根据权利要求13或14所述的服务器,其特征在于,还包括第五发送模块,用于在所述第四接收模块向所述客户端分配网际协议地址之后,向所 述主服务器发送通告消息,以使所述主服务器更新地址分配对应关系表;所述通告消息包 括本服务器分配给所述客户端的网际协议地址、所述客户端的介质访问控制地址和本服务 器的标识,所述地址分配对应关系表包括当前网络中已分配使用的网际协议地址、所述已 分配使用的网际协议地址对应的介质访问控制地址和分配所述已分配使用的网际协议地 址的服务器标识。
17.根据权利要求16所述的服务器,其特征在于,还包括第五接收模块,用于定时接收所述主服务器发送的更新消息,并更新所述地址分配信 息表,所述更新消息包括发送所述更新消息时所述地址分配对应关系表中存储的已分配使 用的网际协议地址;第三触发模块,用于在所述第五接收模块在预设时间内未接收到所述主服务器发送的 更新消息时,触发所述第四发送模块发送选举报文,以重新选举所述主服务器。
全文摘要
本发明提供一种动态主机配置协议地址分配方法及服务器。其中方法包括网络中各服务器中的主服务器根据客户端发送的地址分配请求,从各服务器中指定为客户端提供服务的第一服务器,地址分配请求包括客户端的MAC地址;主服务器向第一服务器发送指示消息,指示消息包括第一服务器的标识;第一服务器根据指示消息和本地存储的地址分配信息表,向客户端分配IP地址,地址分配信息表包括当前网络中已分配使用的IP地址。本发明技术方案在为客户端分配IP地址的同时解决了各服务器之间的负载均衡问题,且可以简化对各服务器的配置操作,同时解决了服务器出现故障造成地址空间不足的问题。
文档编号H04L29/08GK102098354SQ20111004808
公开日2011年6月15日 申请日期2011年2月28日 优先权日2011年2月28日
发明者刘勇 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1