一种IP地址的分配方法和装置与流程

文档序号:12279035阅读:147来源:国知局
一种IP地址的分配方法和装置与流程

本申请涉及通信技术领域,尤其涉及一种IP地址的分配方法和装置。



背景技术:

目前,IP地址的分配方式包括静态配置IP地址和动态申请IP地址。其中,静态配置IP地址是指:管理员在业务服务器上直接配置IP地址,这种方式的优势是配置简单,而劣势在于:当业务服务器的数量很多时,需要逐一在每个业务服务器上配置IP地址,配置工作量很大,而且容易出现配置错误等问题。动态申请IP地址是指:业务服务器向DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器发送DHCP请求报文,DHCP服务器在接收到DHCP请求报文后,从DHCP地址池内选择一个可用的IP地址,并通过DHCP响应报文将该IP地址发送给业务服务器,从而将该IP地址分配给业务服务器。

在DHCP服务器选择可用的IP地址时,DHCP服务器是随机选择IP地址的,这样会增加管理的复杂度。例如,业务服务器1上包括端口1-端口3,业务服务器2上包括端口1和端口2,假设将100.1.1.3分配给业务服务器1的端口1,将100.1.1.200分配给业务服务器1的端口2,将100.1.2.123分配给业务服务器1的端口3,又将100.1.1.4分配给业务服务器2的端口1,将100.2.1.155分配给业务服务器2的端口1。显然,这种IP地址的分配方式没有任何规律,每个业务服务器的IP地址都是无序的,不同业务服务器之间的IP地址也是无序的。



技术实现要素:

本申请提供一种IP地址的分配方法,应用于业务服务器,包括:

确定所述业务服务器的物理位置信息以及指定端口的端口信息;其中,所述指定端口是指当前申请IP地址的端口;

利用所述物理位置信息和所述端口信息获得一个IP地址;

将获得的IP地址分配给所述指定端口。

所述利用所述物理位置信息和所述端口信息获得一个IP地址的过程,具体包括:从本地查询最大端口数量、最大业务服务器数量;

利用所述物理位置信息、所述端口信息、所述最大端口数量、所述最大业务服务器数量,获得一个IP地址。

所述物理位置信息包括:所述业务服务器所在机架的机架标识、所述业务服务器在所述机架上的槽位标识;所述端口信息包括:所述指定端口在所述业务服务器上的唯一标识。

所述利用所述物理位置信息、所述端口信息、所述最大端口数量、所述最大业务服务器数量,获得一个IP地址的过程,具体包括:

利用如下公式获得IP地址:初始IP地址+(R*MaxS*M+S*M+K);

其中,所述R为所述业务服务器所在机架的机架标识,所述MaxS为所述最大业务服务器数量,所述M为所述最大端口数量,所述S为所述业务服务器在所述机架上的槽位标识,所述K为所述端口信息。

所述确定所述业务服务器的物理位置信息的过程,具体包括:

接收来自所述业务服务器所在机架的通知消息;

从所述通知消息中解析出所述业务服务器的物理位置信息。

本申请提供一种IP地址的分配装置,应用于业务服务器,包括:

确定模块,用于确定所述业务服务器的物理位置信息以及指定端口的端口信息;其中,所述指定端口是指当前申请IP地址的端口;

获得模块,用于利用所述物理位置信息和所述端口信息获得一个IP地址;

分配模块,用于将获得的IP地址分配给所述指定端口。

所述获得模块,具体用于在利用所述物理位置信息和所述端口信息获得一个IP地址的过程中,从本地查询最大端口数量、最大业务服务器数量;

利用所述物理位置信息、所述端口信息、所述最大端口数量、所述最大业务服务器数量,获得一个IP地址。

所述确定模块确定的所述物理位置信息包括:所述业务服务器所在机架的机架标识、所述业务服务器在所述机架上的槽位标识;所述确定模块确定的所述端口信息包括:所述指定端口在所述业务服务器上的唯一标识。

所述获得模块,具体用于在利用所述物理位置信息、所述端口信息、所述最大端口数量、所述最大业务服务器数量,获得一个IP地址的过程中:

利用如下公式获得IP地址:初始IP地址+(R*MaxS*M+S*M+K);

其中,所述R为所述业务服务器所在机架的机架标识,所述MaxS为所述最大业务服务器数量,所述M为所述最大端口数量,所述S为所述业务服务器在所述机架上的槽位标识,所述K为所述端口信息。

所述确定模块,具体用于在确定所述业务服务器的物理位置信息的过程中,接收来自所述业务服务器所在机架的通知消息;从所述通知消息中解析出所述业务服务器的物理位置信息。

基于上述技术方案,本申请实施例中,业务服务器可以利用物理位置信息和指定端口的端口信息,为该指定端口分配IP地址,而不是随机为指定端口分配IP地址,这样,业务服务器的各端口分配到的IP地址具有某种规律,也就是相对固定,减少管理的复杂度,而且操作简单,可以帮助管理员快速部署批量的业务服务器。由于业务服务器的物理位置信息与IP地址具有对应关系,因此,可以通过业务服务器的IP地址反查出物理位置信息。由于业务服务器可以自己分配IP地址,而不用DHCP服务器为业务服务器分配IP地址,从而不依赖DHCP服务器的操作,与DHCP服务器无关,不依赖DHCP服务器的配置。

附图说明

为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是一种数据中心内的业务服务器的部署结构示意图;

图2是本申请一种实施方式中的IP地址的分配方法的流程图;

图3是本申请一种实施方式中的业务服务器的硬件结构图;

图4是本申请一种实施方式中的IP地址的分配装置的结构图。

具体实施方式

在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

如图1所示,为数据中心内的业务服务器的部署结构示意图。在大型数据中心内,通常会将大量业务服务器放置在机架上,每个业务服务器位于机架的一个槽位上。为方便管理,每个机架均有唯一的机架标识(即机架号),且机架上的每个槽位均有唯一的槽位标识(即槽位号)。因此,可以通过机架标识和槽位标识来唯一表示一个业务服务器的物理位置,即业务服务器的物理位置信息包括:业务服务器所在机架的机架标识、业务服务器在机架上的槽位标识。在图1中,业务服务器1的物理位置信息为机架0和槽位0,业务服务器2的物理位置信息为机架0和槽位1,以此类推,业务服务器8的物理位置信息为机架0和槽位7,业务服务器9的物理位置信息为机架1和槽位0,以此类推。

在每个业务服务器上,可以包括一个或两个以上的端口,如NIC(Network Interface Card,网络适配器)端口和BMC(Baseboard Management Controller,基板管理控制器)端口等,且业务服务器需要为这些端口申请IP地址。在传统的动态申请IP地址的过程中,业务服务器为这些端口申请到的IP地址是杂乱无序的,这些IP地址没有任何规律可言。例如,业务服务器1的端口1的IP地址为100.1.1.3,端口2的IP地址为100.1.1.200,端口3的IP地址为100.1.2.123。

针对上述发现,本申请实施例中提出了一种IP地址的分配方法,该方法可以应用于业务服务器上。参见图2所示,为该IP地址的分配方法的流程图。

步骤201,确定本业务服务器的物理位置信息以及指定端口的端口信息。

在一个例子中,指定端口是指当前申请IP地址的端口。该物理位置信息可以包括:本业务服务器所在机架的机架标识、本业务服务器在该机架上的槽位标识。该端口信息可以包括:该指定端口在该业务服务器上的唯一标识。

步骤202,利用该物理位置信息和该端口信息获得一个IP地址。

步骤203,将获得的IP地址分配给该指定端口。

针对步骤201,业务服务器在需要申请IP地址时,先确定本业务服务器的物理位置信息。针对确定本业务服务器的物理位置信息的过程,可以包括:业务服务器接收来自本业务服务器所在机架的通知消息,并从该通知消息中解析出本业务服务器的物理位置信息。如图1所示,机架0可以将业务服务器1的物理位置信息(如业务服务器1所在机架的机架标识(机架0)、业务服务器1在该机架0上的槽位标识(槽位0)等)添加到通知消息中,并将该通知消息发送给业务服务器1,由业务服务器1从该通知消息中解析出机架0和槽位0。当然,在实际应用中,并不局限于机架0通知物理位置信息的方式,业务服务器1也可以采用其它方式获得自身的物理位置信息,对此不做限制。

在一个例子中,机架0可以将业务服务器1的物理位置信息发送给业务服务器1的BMC(Baseboard Management Controller,基板管理控制器),由BMC将物理位置信息发送给业务服务器1的BIOS(Basic Input Output System,基础输入输出系统)和OS(Operating System,操作系统)。这样,业务服务器1的BMC、BIOS、OS均可以获知业务服务器1的物理位置信息。当业务服务器1的BMC需要为端口申请IP地址时,BMC可以获知物理位置信息。当业务服务器1的BIOS需要为端口申请IP地址时,BIOS可以获知物理位置信息。当业务服务器1的OS需要为端口申请IP地址时,OS可以获知物理位置信息。

针对步骤201,在一个例子中,业务服务器在确定指定端口的端口信息的过程中,该端口信息可以包括该指定端口在本业务服务器上的唯一标识。例如,本业务服务器包括8个端口,为这8个端口编号,则这8个端口的标识可以分别为端口0-端口7。基于此,假设当前需要为端口5申请IP地址,则指定端口为端口5,且业务服务器确定该端口信息为端口5。

针对步骤202,在一个例子中,针对利用该物理位置信息和该端口信息获得一个IP地址的过程,可以包括:业务服务器从本地查询最大端口数量、以及最大业务服务器数量。业务服务器利用该物理位置信息、该端口信息、该最大端口数量、该最大业务服务器数量,获得一个IP地址。

其中,可以预先在业务服务器上配置最大端口数量,该最大端口数量可以是指:所有机架上的所有业务服务器的端口数量的最大值。例如,如图1所示,当业务服务器1包含8个端口,业务服务器2-业务服务器14均包含6个端口时,则所有机架上的所有业务服务器的端口数量的最大值为8,因此,最大端口数量可以是8个。假设最大端口数量是8时,则由于业务服务器可以为自身的一个端口或者多个端口申请一个IP地址,因此,对于所有机架上的所有业务服务器来说,最多只会申请8个IP地址,不会申请超过8个IP地址。

其中,可以预先在业务服务器上配置最大业务服务器数量,该最大业务服务器数量可以是指:所有机架上的业务服务器数量的最大值。例如,当机架0包含8个业务服务器,机架1包含6个业务服务器时,则所有机架上的业务服务器数量的最大值为8,因此,最大业务服务器数量可以是8。假设最大业务服务器数量是8时,对于所有机架来说,最多只有8个业务服务器申请IP地址。

在一个例子中,业务服务器利用物理位置信息、端口信息、最大端口数量、最大业务服务器数量,获得一个IP地址的过程,可以包括但不限于:利用如下公式获得IP地址:初始IP地址+(R*MaxS*M+S*M+K)。其中,该R为业务服务器所在机架的机架标识,该MaxS为最大业务服务器数量,该M为最大端口数量,该S为业务服务器在机架上的槽位标识,该K为端口信息。

其中,初始IP地址可以根据实际情况进行配置,例如,可以配置初始IP地址为100.1.1.3。在此基础上,如图1所示,针对业务服务器1为端口0分配IP地址的过程,则R为0,MaxS为8,M为8,S为0,K为0,因此,获得的IP地址为100.1.1.3。针对业务服务器1为端口1分配IP地址的过程,则R为0,MaxS为8,M为8,S为0,K为1,因此,获得的IP地址为100.1.1.4。以此类推,业务服务器1为8个端口分配的IP地址分别为100.1.1.3-100.1.1.10。针对业务服务器2为端口0分配IP地址的过程,则R为0,MaxS为8,M为8,S为1,K为0,因此,获得的IP地址为100.1.1.11,以此类推。上述过程只是给出了几个分配IP地址的示例,对于其它分配过程,与此过程类似,在此不再赘述。经过上述方式分配的IP地址,对于每个业务服务器来说,该业务服务器分配到的多个IP地址是连续的IP地址,具有某种规律,而且相对固定。

本申请实施例中,对于上述公式,机架标识、槽位标识、端口信息均是从0开始编号,若机架标识、槽位标识、端口信息不是从0开始编号,则还可以对上述公式进行修改。例如,当机架标识从1开始编号时,则上述公式可以修改为:初始IP地址+[(R-1)*MaxS*M+S*M+K]。当机架标识和槽位标识均从1开始编号时,则上述公式可以修改为:初始IP地址+[(R-1)*MaxS*M+(S-1)*M+K]。当机架标识、槽位标识和端口信息均从1开始编号时,则上述公式可以修改为:初始IP地址+[(R-1)*MaxS*M+(S-1)*M+(K-1)]。当然,在上述过程中,只是给出了几个IP地址的获得方式,在实际应用中,还可以采用其它方式获得IP地址,本申请实施例对此不做限制,以上述公式为例进行说明。

在一个例子中,在采用上述公式得到IP地址后,考虑到全0和全1的地址不能使用,因此若得到全0或者全1的IP地址,则还可以对得到的IP地址进行调整。例如,可以预先保留几个IP地址,在得到全0或者全1的IP地址后,则从保留的IP地址中选择一个可用的IP地址,以代替当前得到的IP地址。

在一个例子中,业务服务器还可以确定本机的端口数量,并比较该端口数量与预先配置的最大端口数量。若该端口数量大于该最大端口数量,则说明之前配置的最大端口数量存在错误,通知管理员修改配置的最大端口数量。

在一个例子中,假设机架上最大可容纳的业务服务器数量是40,在各业务服务器上,最大可配置的端口数量是12,则MaxS为40,M为12。若将地址段10.0.0.0~10.255.255.255中的10.128.0.0~10.207.255.255地址分配给业务服务器的端口,且对每个0~255地址段,只使用XXX.12~XXX.251等240个地址,则可以支持80*256*240/(40*12)=10240个业务服务器,这可以满足地址使用。

针对步骤203,在一个例子中,业务服务器在获得IP地址后,就可以将该获得的IP地址分配给该指定端口,这样,该指定端口就可以使用该IP地址发送报文。

基于上述技术方案,本申请实施例中,业务服务器可以利用物理位置信息和指定端口的端口信息,为该指定端口分配IP地址,而不是随机为指定端口分配IP地址,这样,业务服务器的各端口分配到的IP地址具有某种规律,也就是相对固定,减少管理的复杂度,而且操作简单,可以帮助管理员快速部署批量的业务服务器。由于业务服务器的物理位置信息与IP地址具有对应关系,因此,可以通过业务服务器的IP地址反查出物理位置信息。由于业务服务器可以自己分配IP地址,而不用DHCP服务器为业务服务器分配IP地址,从而不依赖DHCP服务器的操作,与DHCP服务器无关,不依赖DHCP服务器的配置。

基于与上述方法同样的申请构思,本申请实施例还提供一种IP地址的分配装置,应用在业务服务器上。该IP地址的分配装置可通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的业务服务器的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图3所示,为本申请提出的IP地址的分配装置所在的业务服务器的一种硬件结构图,除了图3所示的处理器、非易失性存储器外,该业务服务器还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该业务服务器还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。

如图4所示,为本申请提出的IP地址的分配装置的结构图,该装置包括:

确定模块11,用于确定所述业务服务器的物理位置信息以及指定端口的端口信息;其中,所述指定端口是指当前申请IP地址的端口;

获得模块12,用于利用所述物理位置信息和所述端口信息获得一个IP地址;

分配模块13,用于将获得的IP地址分配给所述指定端口。

所述获得模块12,具体用于在利用所述物理位置信息和所述端口信息获得一个IP地址的过程中,从本地查询最大端口数量、最大业务服务器数量;

利用所述物理位置信息、所述端口信息、所述最大端口数量、所述最大业务服务器数量,获得一个IP地址。

所述确定模块11确定的所述物理位置信息包括:所述业务服务器所在机架的机架标识、所述业务服务器在所述机架上的槽位标识;所述确定模块11确定的所述端口信息包括:所述指定端口在所述业务服务器上的唯一标识。

所述获得模块12,具体用于在利用所述物理位置信息、所述端口信息、所述最大端口数量、所述最大业务服务器数量,获得一个IP地址的过程中:

利用如下公式获得IP地址:初始IP地址+(R*MaxS*M+S*M+K);

其中,所述R为所述业务服务器所在机架的机架标识,所述MaxS为所述最大业务服务器数量,所述M为所述最大端口数量,所述S为所述业务服务器在所述机架上的槽位标识,所述K为所述端口信息。

在一个例子中,所述确定模块11,具体用于在确定所述业务服务器的物理位置信息的过程中,接收来自所述业务服务器所在机架的通知消息;从所述通知消息中解析出所述业务服务器的物理位置信息。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。

本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1