一种IP地址的查看方法和装置与流程

文档序号:11156984阅读:420来源:国知局
一种IP地址的查看方法和装置与制造工艺

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



背景技术:

BMC(Baseboard Management Controller,基板管理控制器)是服务器的带外管理系统,BMC可以基于IPMI(Intelligent Platform Management Interface,智能平台管理接口)协议,管理和监控服务器。而且,用户可以通过BMC的管理口登录BMC的管理界面,从而对服务器进行管理和监控。用户登陆BMC管理界面的前提是:BMC已经获取到IP地址,并且用户知道BMC的IP地址。

目前,BMC获取IP地址的方式包括静态配置IP地址和动态申请IP地址。静态配置IP地址是指:用户直接为BMC配置IP地址,这种方式的优势是配置简单,而劣势在于:静态配置的IP地址与用户网络可能不在一个网段,且静态配置的IP地址可能会发生IP地址冲突。动态申请IP地址是指:BMC向DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器请求IP地址,由DHCP服务器为BMC分配IP地址,并将分配给BMC的IP地址通知给BMC。

无论是静态配置IP地址,还是动态申请IP地址,用户均有可能不知道BMC的IP地址,从而导致无法通过BMC的管理口来登录BMC的管理界面。

例如,用户在为BMC配置IP地址之后,可能会忘记这个IP地址,或者,其它用户无法获知该用户为BMC配置的IP地址。DHCP服务器在为BMC分配IP地址之后,用户无法获知DHCP服务器为BMC分配的IP地址。



技术实现要素:

本申请提供一种IP地址的查看方法,应用于客户端,所述方法包括:

获取基板管理控制器BMC对应的标识;

生成包括所述标识的因特网控制报文协议ICMP请求报文;

以广播方式发送所述ICMP请求报文;

接收所述BMC发送的第一报文,所述第一报文是所述BMC确定自身接收到的ICMP请求报文中携带所述BMC的标识后发送的,所述第一报文包括所述BMC的IP地址与介质访问控制MAC地址;

从所述第一报文中解析出所述BMC的IP地址与MAC地址,并在ARP表中记录所述IP地址与所述MAC地址的对应关系。

本申请提供一种IP地址的查看方法,应用于服务器的BMC,所述方法包括:接收来自客户端的因特网控制报文协议ICMP请求报文;

若所述ICMP请求报文携带所述BMC的标识,则向所述客户端发送携带所述BMC的IP地址与介质访问控制MAC地址的第一报文,以使所述客户端在ARP表中记录所述IP地址与所述MAC地址的对应关系;若所述ICMP请求报文未携带所述BMC的标识,则丢弃所述ICMP请求报文。

本申请提供一种IP地址的查看装置,应用于客户端,所述装置包括:

获取模块,用于获取基板管理控制器BMC对应的标识;

生成模块,用于生成包括所述标识的ICMP请求报文;

发送模块,用于以广播方式发送所述ICMP请求报文;

接收模块,用于接收所述BMC发送的第一报文,所述第一报文是所述BMC确定自身接收到的ICMP请求报文中携带所述BMC的标识后发送的,所述第一报文包括所述BMC的IP地址与介质访问控制MAC地址;

处理模块,用于从所述第一报文中解析出所述BMC的IP地址与MAC地址,并在ARP表中记录所述IP地址与MAC地址的对应关系。

本申请提供一种IP地址的查看装置,应用于服务器的BMC,所述装置包括:接收模块,用于接收来自客户端的因特网控制报文协议ICMP请求报文;

发送模块,用于当所述ICMP请求报文携带所述BMC的标识时,则向所述客户端发送携带所述BMC的IP地址与介质访问控制MAC地址的第一报文,以使所述客户端在ARP表中记录所述IP地址与所述MAC地址的对应关系;

处理模块,用于当所述ICMP请求报文未携带所述BMC的标识时,则丢弃所述ICMP请求报文。

基于上述技术方案,本申请实施例中,客户端可以通过向BMC发送ICMP(Internet Control Message Protocol,因特网控制报文协议)请求报文,触发BMC发送携带自身的MAC(Media Access Control,介质访问控制)地址以及IP地址的第一报文(如ARP(Address Resolution Protocol,地址解析协议)请求报文或者ICMP响应报文等),并在客户端本地的ARP表中记录第一报文中携带的IP地址与MAC地址的对应关系。这样,用户就可以从客户端的ARP表中查看BMC的IP地址,解决了用户无法获知BMC的IP地址的问题,而且ARP表中记录的BMC的IP地址是BMC最新的IP地址,不会出现错误。

附图说明

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

图1是本申请一种实施方式中的IP地址的查看方法的流程图;

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

图3是本申请一种实施方式中的客户端的硬件结构图;

图4是本申请一种实施方式中的IP地址的查看装置的结构图;

图5是本申请一种实施方式中的BMC的硬件结构图;

图6是本申请一种实施方式中的IP地址的查看装置的结构图。

具体实施方式

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

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

本申请实施例中提出一种IP地址的查看方法,该方法可以应用于包括客户端和服务器的系统中,该服务器上包括BMC。其中,BMC在启动后,可以通过静态方式或者动态方式获取IP地址,对于BMC获取IP地址的方式不做限制。而且,用户可以通过BMC的管理口登录BMC的管理界面,从而对服务器进行管理和监控。为了登陆BMC的管理界面,用户需要知道BMC的IP地址。

参见图1所示,为本申请实施例中提出的IP地址的查看方法的流程图,客户端可以获取到BMC的IP地址,且用户可以通过该客户端查看BMC的IP地址。其中,该方法可以应用于客户端,且该方法可以包括以下步骤:

步骤101,获取BMC对应的标识。其中,该标识具体可以包括但不限于:BMC的MAC地址,和/或,服务器的名称。当然,该标识也可以为其它能够唯一表示该BMC的标识,如资产编号等,对此标识不做限制。

在一个例子中,可以在服务器上贴一个标签,该标签写明BMC对应的标识。用户可以从该标签上获得BMC对应的标识,并在客户端上输入BMC对应的标识,以使客户端获取到BMC对应的标识。当然,上述只是客户端获取到BMC对应的标识的一个示例,客户端还可以通过其它方式获取到BMC对应的标识,本申请实施例中对此标识的获取方式不做限制。

步骤102,生成包括该BMC对应的标识的ICMP请求报文。其中,该ICMP请求报文的目的MAC地址是广播MAC地址,目的IP地址是BMC所属的网段广播地址,源MAC地址是客户端的MAC地址,源IP地址是客户端的IP地址。

在一个例子中,在生成ICMP请求报文之前,客户端可以先获得BMC所属的网段地址。为了对BMC进行管理,客户端与BMC通常位于同一个网段,当客户端与BMC位于同一个网段时,客户端可以将自身所属的网段地址,确定为BMC所属的网段地址。例如,当掩码为24位时,则BMC所属的网段地址的一个示例可以为192.168.0.0/24。而且,客户端可将网段地址192.168.0.0/24转换为相应的网段广播地址192.168.0.255,具体的转换过程不再赘述。

在一个例子中,针对客户端生成的ICMP请求报文,该ICMP请求报文的目的MAC地址可以是FFFF-FFFF-FFFF(广播MAC地址),目的IP地址可以是192.168.0.255(BMC所属的网段广播地址),源MAC地址可以是客户端的MAC地址00-01-6C-06-A6-29,源IP地址可以是客户端的IP地址192.168.0.2。

在一个例子中,用户通过在客户端上ping一个IP地址192.168.0.255,客户端就可以生成上述的ICMP请求报文。而且,在ping该IP地址192.168.0.255时,可以在该IP地址192.168.0.255之后输入BMC对应的标识,这样,客户端在生成上述ICMP请求报文时,就可以将BMC对应的标识添加到ICMP请求报文中。其中,ICMP请求报文可以包括IP头部分和数据域部分,上述目的MAC地址、目的IP地址、源MAC地址和源IP地址均位于ICMP请求报文的IP头部分,而BMC对应的标识可以位于ICMP请求报文的数据域部分。

步骤103,以广播方式发送ICMP请求报文。

在一个例子中,由于ICMP请求报文的目的MAC地址是广播MAC地址,目的IP地址是BMC所属的网段广播地址,因此,BMC所属网段内的各设备均可以接收到该ICMP请求报文,即BMC可以接收到该ICMP请求报文。

在一个例子中,BMC在接收到该ICMP请求报文后,若该ICMP请求报文携带本BMC的标识,则BMC向客户端发送第一报文,该第一报文携带本BMC的IP地址与MAC地址。若该ICMP请求报文未携带本BMC的标识(如没有携带标识或者携带其它设备的标识),则BMC丢弃该ICMP请求报文。

具体的,BMC在接收到ICMP请求报文后,先检查ICMP请求报文中是否携带本BMC的标识。如果没有携带,则丢弃该ICMP请求报文。如果携带,则检查携带的标识是否为本BMC的标识。如果不是,则丢弃该ICMP请求报文。如果是,则返回携带本BMC的IP地址与MAC地址的第一报文。其中,该第一报文可以包括但不限于:ARP请求报文;或者,ICMP响应报文。

在一个例子中,为了避免网络问题导致客户端没有接收到第一报文,则BMC可以发送预设数量(如5)个第一报文,以使客户端能够接收到第一报文。

在一个例子中,为了使客户端学习到本BMC的IP地址和MAC地址,BMC向客户端发送的第一报文的源IP地址为本BMC的IP地址192.168.0.3,源MAC地址为本BMC的MAC地址00-01-65-09-A6-38。此外,第一报文的目的IP地址为客户端的IP地址192.168.0.2,目的MAC地址为FFFF-FFFF-FFFF。

在一个例子中,针对客户端发送的ICMP请求报文,只有BMC会返回第一报文,而其它设备均不会返回第一报文,而是直接丢弃ICMP请求报文。因此,针对客户端发送的ICMP请求报文,不会造成大量的报文冲击。

步骤104,接收BMC发送的第一报文,该第一报文包括BMC的IP地址与MAC地址。

步骤105,从该第一报文中解析出BMC的IP地址与MAC地址,并在ARP表中记录该IP地址与该MAC地址的对应关系。

在一个例子中,由于该第一报文的目的MAC地址为FFFF-FFFF-FFFF,因此,客户端可以接收到该第一报文。而且,客户端还可以学习该第一报文的源IP地址192.168.0.3(即BMC的IP地址)和源MAC地址00-01-65-09-A6-38(即BMC的MAC地址),并在本地的ARP表中记录该IP地址192.168.0.3与该MAC地址00-01-65-09-A6-38的对应关系。进一步的,由于客户端的ARP表中记录了BMC的IP地址192.168.0.3与BMC的MAC地址00-01-65-09-A6-38的对应关系,因此,用户可以从该ARP表中查询到BMC的IP地址192.168.0.3。

在上述过程中已经介绍到,用户可以获取到BMC对应的标识,若该标识包括BMC的MAC地址00-01-65-09-A6-38,则用户可以使用BMC的MAC地址00-01-65-09-A6-38查询客户端的ARP表,从而可以得到BMC的IP地址192.168.0.3。若该标识不包括BMC的MAC地址00-01-65-09-A6-38,则还可以在客户端上配置BMC的MAC地址与BMC的标识的对应关系,这样,用户获取到BMC对应的标识后,可以得到BMC的标识对应的BMC的MAC地址00-01-65-09-A6-38,然后通过BMC的MAC地址00-01-65-09-A6-38查询客户端的ARP表,从而可以得到BMC的IP地址192.168.0.3。

在一个例子中,可能会出现如下情况:没有在BMC上静态配置IP地址,且DHCP服务器也没有为BMC动态分配IP地址,从而导致BMC没有可用的IP地址。针对这种情况,本申请实施例中,客户端还可以为BMC分配一个IP地址,且在客户端发送的ICMP请求报文中,还可以携带该IP地址。

这样,BMC在接收到来自客户端的ICMP请求报文之后,若该ICMP请求报文未携带本BMC的标识,则可以直接丢弃该ICMP请求报文。若ICMP请求报文携带本BMC的标识以及一个IP地址,则BMC在向客户端发送第一报文之前,可以采用如下两种方式的一种方式进行处理:

方式一、BMC先判断本BMC是否有IP地址。如果是,则丢弃ICMP请求报文携带的IP地址。如果否,则判断ICMP请求报文携带的IP地址是否为可用IP地址。如果是可用IP地址,则将ICMP请求报文携带的IP地址设置为本BMC的IP地址。如果不是可用IP地址,则丢弃ICMP请求报文携带的IP地址。

方式二、无论本BMC是否已经有IP地址,BMC均可以直接判断ICMP请求报文携带的IP地址是否为可用IP地址。如果是可用IP地址,则BMC可以将ICMP请求报文携带的IP地址设置为本BMC的IP地址(若本BMC已经有IP地址时,则使用该ICMP请求报文携带的IP地址替换本BMC当前正在使用的IP地址)。如果不是可用IP地址,则丢弃ICMP请求报文携带的IP地址。

在一个例子中,可以在BMC上配置一个拨码开关,如果该拨码开关为开,则BMC采用方式一进行处理,如果该拨码开关为关,则BMC采用方式二进行处理。或者,如果该拨码开关为开,则BMC采用方式二进行处理,如果该拨码开关为关,则BMC采用方式一进行处理。

针对方式一和方式二,IP地址是携带在ICMP请求报文中。在一个例子中,在ICMP请求报文中可以先携带BMC的标识,然后携带为BMC分配的IP地址。在另一个例子中,在ICMP请求报文中可以先携带为BMC分配的IP地址,然后携带BMC的标识。其中,在该标识与该IP地址之间,还可以添加一个或几个特殊字符,以使BMC基于这些特殊字符区分出该标识和该IP地址。

针对“BMC判断ICMP请求报文携带的IP地址是否为可用IP地址”的过程,BMC可以发送免费ARP报文,该免费ARP报文的目的IP地址为ICMP请求报文携带的IP地址。若该IP地址已经被使用,则使用该IP地址的设备就会发送ARP响应报文,表示该设备正在使用这个IP地址。基于此,如果BMC在预设时间内接收到ARP响应报文,则确定该IP地址不是可用地址。如果BMC在预设时间内未接收到ARP响应报文,则确定该IP地址是可用地址。

基于上述技术方案,本申请实施例中,客户端可以通过向BMC发送ICMP请求报文,触发BMC发送携带自身的MAC地址以及IP地址的第一报文(如ARP请求报文或者ICMP响应报文等),并在客户端本地的ARP表中记录第一报文中携带的IP地址与MAC地址的对应关系。这样,用户就可以从客户端的ARP表中查看BMC的IP地址,解决了用户无法获知BMC的IP地址的问题,而且ARP表中记录的BMC的IP地址是BMC最新的IP地址,不会出现错误。

参见图2所示,为本申请实施例中提出的IP地址的查看方法的流程图,该方法可以应用于服务器的BMC,且该方法可以包括以下步骤:

步骤201,接收来自客户端的ICMP请求报文。

步骤202,判断该ICMP请求报文是否携带本BMC的标识。

如果是,则执行步骤203;如果否,则执行步骤204。

步骤203,向客户端发送携带本BMC的IP地址与MAC地址的第一报文,以使客户端在ARP表中记录该IP地址与该MAC地址的对应关系。

步骤204,丢弃该ICMP请求报文。

在一个例子中,所述标识具体为:MAC地址,和/或,服务器的名称;ICMP请求报文的目的MAC地址是广播MAC地址,目的IP地址是BMC所属的网段广播地址,源MAC地址是客户端的MAC地址,源IP地址是客户端的IP地址;第一报文具体为:ARP请求报文;或者,ICMP响应报文。

在一个例子中,若ICMP请求报文携带BMC的标识以及一个IP地址,则在向客户端发送携带BMC的IP地址与MAC地址的第一报文之前:

还可以判断BMC是否有IP地址;如果是,丢弃ICMP请求报文携带的IP地址;如果否,判断ICMP请求报文携带的IP地址是否为可用IP地址;如果是,将ICMP请求报文携带的IP地址设置为BMC的IP地址。或者,

直接判断ICMP请求报文携带的IP地址是否为可用IP地址;如果是,将ICMP请求报文携带的IP地址设置为BMC的IP地址。

基于上述技术方案,本申请实施例中,客户端可以通过向BMC发送ICMP请求报文,触发BMC发送携带自身的MAC地址以及IP地址的第一报文(如ARP请求报文或者ICMP响应报文等),并在客户端本地的ARP表中记录第一报文中携带的IP地址与MAC地址的对应关系。这样,用户就可以从客户端的ARP表中查看BMC的IP地址,解决了用户无法获知BMC的IP地址的问题,而且ARP表中记录的BMC的IP地址是BMC最新的IP地址,不会出现错误。

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

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

获取模块11,用于获取BMC对应的标识;

生成模块12,用于生成包括所述标识的ICMP请求报文;

发送模块13,用于以广播方式发送所述ICMP请求报文;

接收模块14,用于接收所述BMC发送的第一报文,所述第一报文是所述BMC确定自身接收到的ICMP请求报文中携带所述BMC的标识后发送的,所述第一报文包括所述BMC的IP地址与介质访问控制MAC地址;

处理模块15,用于从所述第一报文中解析出所述BMC的IP地址与MAC地址,并在ARP表中记录所述IP地址与MAC地址的对应关系。

所述获取模块11获取的标识具体为:MAC地址,和/或,所述BMC所在服务器的名称;所述生成模块12生成的ICMP请求报文的目的MAC地址是广播MAC地址,目的IP地址是所述BMC所属的网段广播地址,源MAC地址是所述客户端的MAC地址,源IP地址是所述客户端的IP地址;所述接收模块14接收的第一报文具体为:地址解析协议ARP请求报文;或者,ICMP响应报文。

在一个例子中,所述生成模块12,还用于在生成包括所述标识的ICMP请求报文之前,为所述BMC分配一个IP地址;在生成所述ICMP请求报文时,将分配的IP地址添加到所述ICMP请求报文中;以使所述BMC在确定该分配的IP地址为可用IP地址时,将该分配的IP地址设置为所述BMC的IP地址。

其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。

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

如图6所示,为本申请提出的IP地址的查看装置的结构图,该装置包括:

接收模块21,用于接收来自客户端的ICMP请求报文;

发送模块22,用于当所述ICMP请求报文携带所述BMC的标识时,则向所述客户端发送携带所述BMC的IP地址与MAC地址的第一报文,以使所述客户端在ARP表中记录所述IP地址与所述MAC地址的对应关系;

处理模块23,用于当所述ICMP请求报文未携带所述BMC的标识时,则丢弃所述ICMP请求报文。

所述接收模块21接收的ICMP请求报文的目的MAC地址是广播MAC地址,目的IP地址是所述BMC所属的网段广播地址,源MAC地址是所述客户端的MAC地址,源IP地址是所述客户端的IP地址;所述接收模块21接收的ICMP请求报文中携带的标识具体为:MAC地址,和/或,所述服务器的名称;所述发送模块22发送的第一报文具体为ARP请求报文;或者,ICMP响应报文。

所述处理模块23,还用于当所述ICMP请求报文携带所述BMC的标识以及一个IP地址时,判断所述BMC是否有IP地址;如果是,丢弃所述ICMP请求报文携带的IP地址;如果否,判断所述ICMP请求报文携带的IP地址是否为可用IP地址;如果是,将所述ICMP请求报文携带的IP地址设置为所述BMC的IP地址;或者,判断所述ICMP请求报文携带的IP地址是否为可用IP地址;如果是,将所述ICMP请求报文携带的IP地址设置为所述BMC的IP地址。

其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。

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

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

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

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