一种IP地址解析方法及相关装置与流程

文档序号:15847568发布日期:2018-11-07 09:19阅读:276来源:国知局
一种IP地址解析方法及相关装置与流程

本发明涉及ip地址解析技术领域,更具体地说,涉及一种ip地址解析方法、系统、装置及计算机可读存储介质。

背景技术

在网络信息时代,物理主机之间通常需要通过ip地址互相访问,目前有两种ip地址形式,一种是ipv4类型,ipv4是互联网协议(internetprotocol,ip)的第四版,ipv4的地址位数是32位,也就是最多有2的32次方的电脑可以连到网络上。

但是随着计算机网络的盛行,ipv4所具有的的ip地址数量已不能满足现在电脑数量的要求,因此ipv6的ip地址逐渐被应用,ipv6的地址位数为128,因此其几乎可以不受限制的提供的ip地址。

由于ipv4的ip地址与ipv6的ip地址在形式上并不相同,因此在进行域名解析时,使用同样的方法就不能对ipv6的ip地址进行解析,在现有设备当中,其提供的域名解析服务依然不支持ipv6,从而导致对ipv6的使用造成限制。

因此,如何对ipv4类型与ipv6类型的ip地址均进行解析,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种ip地址解析方法、系统、装置及计算机可读存储介质,以解决如何对ipv4类型与ipv6类型的ip地址均进行解析的问题。

为实现上述目的,本发明实施例提供了如下技术方案:

一种ip地址解析方法,包括:

接收地址解析请求;

确定与所述地址解析请求对应的目标ip地址;

确定所述目标ip地址的类型,其中所述类型为ipv4类型或ipv6类型;

将所述目标ip地址与所述目标ip地址的类型返回至接收方,以使所述接收方根据所述目标ip地址的类型对所述目标ip地址进行处理。

其中,所述接收方包括pdns。

其中,所述确定与所述地址解析请求对应的目标ip地址,包括:

利用与每个集群节点ip地址对应的连接数信息确定连接数最少的目标节点ip地址;其中,所述连接数信息包括集群节点ip地址与对应的连接数,所述连接数为利用预设ipv6接口和预设ipv4接口实时监听到的与每个集群节点ip地址建立连接的连接数。

其中,所述利用每个集群节点ip地址对应的连接数信息确定连接数最少的目标节点ip地址,包括:

确定每个集群节点ip地址对应的连接信息,其中,所述连接信息包括客户端与集群建立连接所用的ip地址信息;

将所述ip地址信息中的ipv6类型的ip地址转换为目标格式;

统计每个集群节点ip地址连接的客户端的数量,将该数量作为每个集群节点ip地址的连接数;

将连接数最少的集群节点ip地址作为目标ip地址。

其中,所述将所述目标ip地址与所述目标ip地址的类型返回之后,还包括:

接收所述接收方发送的所述目标ip地址;

当所述目标ip地址为ipv6类型的ip地址时,将所述目标ip地址转换为目标格式;

利用所述目标格式的目标ip地址在配置文件中确定对应所述目标ip地址的域名信息;

向所述接收方返回所述域名信息。

本申请还提供了一种ip地址解析系统,包括:

第一接收模块,用于接收地址解析请求;

第一确定模块,用于确定与所述地址解析请求对应的目标ip地址;

第二确定模块,用于确定所述目标ip地址的类型,其中所述类型为ipv4类型或ipv6类型;

第一返回模块,用于将所述目标ip地址与所述目标ip地址的类型返回至接收方,以使所述接收方根据所述目标ip地址的类型对所述目标ip地址进行处理。

其中,所述接收方包括pdns。

其中,还包括:

第二接收模块,用于接收所述接收方发送的所述目标ip地址;

转换模块,用于当所述目标ip地址为ipv6类型的ip地址时,将所述目标ip地址转换为目标格式;

第三确定模块,用于利用所述目标格式的目标ip地址在配置文件中确定对应所述目标ip地址的域名信息;

第二返回模块,用于向所述接收方返回所述域名信息。

本申请还提供了一种ip地址解析装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如所述ip地址解析方法的步骤。

本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述ip地址解析方法的步骤。

通过以上方案可知,本发明提供的一种ip地址解析方法,包括:接收地址解析请求;确定与所述地址解析请求对应的目标ip地址;确定所述目标ip地址的类型,其中所述类型为ipv4类型或ipv6类型;将所述目标ip地址与所述目标ip地址的类型返回至接收方,以使所述接收方根据所述目标ip地址的类型对所述目标ip地址进行处理。

由此可见,本申请实施例提供的一种ip地址解析方法,在确定了与地址解析请求对应的目标ip地址后,还要进一步确定其类型,并且将类型与目标ip地址均返回给接收方,从而可以使接收方区分ipv6类型的ip地址与ipv4类型的ip地址,避免了解析失败的问题,有效保证了ipv6与ipv4的兼容。

本申请还提供了一种ip地址解析系统、装置、系统及计算机可读存储介质,同样可以实现上述技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种ip地址解析方法流程图;

图2为本发明实施例公开的一种具体的ip地址解析方法流程图;

图3为本发明实施例公开的一种具体的ip地址解析方法流程图;

图4为本发明实施例公开的一种ip地址解析系统结构示意图;

图5为本发明实施例公开的一种ip地址解析装置结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种ip地址解析方法、系统、装置及计算机可读存储介质,以解决如何对ipv4类型与ipv6类型的ip地址均进行解析的问题。

参见图1,本发明实施例提供的一种ip地址解析方法,具体包括:

s101,接收地址解析请求。

首先接收地址解析请求,地址解析请求即是需要将域名解析为ip地址的请求,其中包括了想要解析的域名。该地址解析请求可以是由dns(domainnamesystem,域名系统)解析服务组件发送的地址请解析请求,dns解析服务组件包括pdns,即powerdns,是一个跨平台的开源dns服务组件。

需要说明的是,在客户端请求与集群服务器建立连接时,客户端输入的通常为域名,由dns解析服务利用该域名确定一个地址解析请求,然后将该地址解析请求发送到系统,由系统对域名进行解析。

s102,确定与所述地址解析请求对应的目标ip地址。

根据地址解析请求中的域名信息找到与该域名对应的ip地址,将该ip地址作为目标ip地址。

需要说明的是,对于同一个服务集群,其对客户端体现的是同一个域名,但是集群中又包括多个节点,每个节点的ip地址却不相同,当用户输入域名,请求与集群建立连接时,系统会在对域名解析时,在集群中确定出一个ip地址作为目标ip地址。

在有大量用户客户端访问该集群时,如果为所有客户端确定的目标ip地址为同一个,则会出现一个集群节点与大量客户单建立连接的情况,从而造成了集群的负载不均衡问题。因此在为一个地址解析请求确定目标ip地址时,则需要为不同的请求分配不同的ip地址,以使不同的客户端连接不同的节点,从而避免一个节点连接大量的客户端,造成集群节点负载不均衡的情况。

因此在本方案中,可以采用两种确定目标ip地址的方式,即可以通过轮询的方式确定,也可以通过连接数方法确定。

轮询的方式,是确定出上一次接收到解析请求时,确定的目标ip地址,然后再确定出上一次目标ip地址的下一个ip地址,将这个ip地址作为目标ip地址,再接收到请求时,即依次循环地往下确定目标ip地址。

连接数方法则是确定出当前每个集群节点已连接的客户端的数量,将连接数最少的一个节点的ip地址作为目标ip地址,以使此次地址解析请求对应的客户端与这个连接数最少的节点建立连接。

关于轮询、连接数对应的方法,具体内容可以参考现有技术,此处将不做过多介绍。但是,在本方案中,由于兼容了ipv6类型ip地址的解析,而ipv6类型的ip地址通常会有多种格式,也就是多种表示方法,例如,冒号表示法:2001:0250:3000:1000:0000:0000:0005;0位压缩表示法:2001:250:3000:1000::5;内嵌ipv4表示法:::ffff:192.168.0.1。

在连接数方法中,如果集群节点对应的ip地址是ipv6类型,而ipv6类型的表示格式又有多种,因此客户端在与同一个ipv6类型ip地址对应的集群节点建立连接时,每个客户端使用的ip地址的表示格式可能会有所不同,但是其实质上对应的还是同一个ip地址,因此为了更好的统计连接数,需要先确定每个客户端所使用的ip地址,也就是先确定客户端建立连接的ip地址,如果这个ip地址是ipv6类型,那么需要将这个ip地址转换为目标格式,然后再进行统计。因此,对于不同表示格式的ipv6类型的同一个ip地址,都会在格式上转换成为同一个ip地址,因此,更方便统计一个ip地址对应的连接数。

有关连接数方法在本方案中应用的具体介绍,将在下述实施例中做具体描述,此处将不再进行赘述。

s103,确定所述目标ip地址的类型,其中所述类型为ipv4类型或ipv6类型。

具体地,为了使解析服务兼容ipv4与ipv6两种类型的ip地址,在确定了目标ip地址后,还需要确定ip地址类型,也就是确定目标ip地址是ipv4类型还是ipv6类型。ipv4类型为a,ipv6类型为aaaa。

s104,将所述目标ip地址与所述目标ip地址的类型返回至接收方,以使所述接收方根据所述目标ip地址的类型对所述目标ip地址进行处理。

需要说明的是,如果没有发送目标ip地址对应的类型,那么在ipv6类型的地址返回到dns解析服务器时,则该服务器则会按照ipv4类型的ip地址进行处理,此时,就会出现错误,造成解析失败的问题。例如,pdns在与loadbalance(负载均衡)通信时会出现通信超时,进而pdns就会将loadbalance重启。

因此,为了兼容ipv6类型的ip地址,本方案中,需要将目标ip地址与其对应的类型共同发送到接收方,从而可以使接收方区分ipv6类型的ip地址与ipv4类型的ip地址,进而避免解析失败的问题。

由此可见,本申请实施例提供的一种ip地址解析方法,在确定了与地址解析请求对应的目标ip地址后,还要进一步确定其类型,并且将类型与目标ip地址均返回给接收方,从而可以使接收方区分ipv6类型的ip地址与ipv4类型的ip地址,避免了解析失败的问题,有效保证了ipv6与ipv4的兼容。

下面对本申请实施例提供的一种具体的ip地址解析方法进行介绍,下文描述的一种具体的ip地址解析方法,对上述实施例中目标ip地址的确定做了进一步的限定说明,其他步骤内容与上述实施例大致相同,具体可以参考上述实施例,此处将不再进行赘述。

参见图2,本申请实施例提供的一种具体的ip地址解析方法,具体包括:

s201,接收地址解析请求。

s202,利用与每个集群节点ip地址对应的连接数信息确定连接数最少的目标节点ip地址;其中,所述连接数信息包括集群节点ip地址与对应的连接数,所述连接数为利用预设ipv6接口和预设ipv4接口实时监听到的与每个集群节点ip地址建立连接的连接数。

在本方案中,预先添加了ipv6接口和ipv4接口,这两个接口分别用来监听不同类型的集群节点ip地址对应的连接数,ipv4用来监听ipv4类型的集群节点ip地址对应的连接数,ipv6用来监听ipv6类型的集群节点ip地址对应的连接数。其中ipv4接口可以参考现有技术,ipv6接口可以通过添加“udp6:[::]:1662”来实现。

需要说明的是,监听且保存当前各种类型ip地址对应的连接数可以实时进行,也可以间隔预设时间进行,但是在所有的集群节点中确定连接数最少的目标ip地址这一操作,是在接收到地址解析请求后进行,也就是在接收到地址解析请求后,在已经监听到的信息中确定出连接数最少的目标节点ip地址。

需要说明的是,如果集群节点对应的ip地址是ipv6类型,而ipv6类型的表示格式又有多种,因此客户端在与同一个ipv6类型ip地址对应的集群节点建立连接时,每个客户端使用的ip地址的表示格式可能会有所不同,但是其实质上对应的还是同一个ip地址,因此为了更好的统计连接数,需要先确定每个客户端所使用的ip地址,也就是确定客户端建立连接的ip地址,如果这个ip地址是ipv6类型,那么需要将这个ip地址转换为同一个目标格式,然后再进行统计。因此,对于不同标识格式的ipv6类型的同一个ip地址,都会在格式上转换成为同一个ip地址,因此,更方便统计一个ip地址对应的连接数。

因此,在一个具体的实施方式中,首先确定每个集群节点ip地址对应的连接信息,其中,所述连接信息包括客户端与集群建立连接所用的ip地址信息;

将所述ip地址信息中的ipv6类型的ip地址转换为目标格式;

统计每个集群节点ip地址连接的客户端的数量,将该数量作为每个集群节点ip地址的连接数;

将连接数最少的集群节点ip地址作为目标ip地址。

s203,确定所述目标ip地址的类型,其中所述类型为ipv4类型或ipv6类型。

s204,将所述目标ip地址与所述目标ip地址的类型返回至接收方,以使所述接收方根据所述目标ip地址的类型对所述目标ip地址进行处理。

下面对本申请实施例提供的一种具体的ip地址解析方法进行介绍,下文描述的一种具体的ip地址解析方法与上述实施例可以相互参照。

参见图3,本申请实施例提供的一种具体的ip地址解析方法,具体包括:

s301,接收地址解析请求。

s302,确定与所述地址解析请求对应的目标ip地址。

s303,确定所述目标ip地址的类型,其中所述类型为ipv4类型或ipv6类型。

s304,将所述目标ip地址与所述目标ip地址的类型返回至接收方,以使所述接收方根据所述目标ip地址的类型对所述目标ip地址进行处理。

s305,接收所述接收方发送的所述目标ip地址。

需要说明的是,在域名解析的实际应用中,除了上述实施例提到的正向解析,也就是根据域名确定ip地址,还有逆向解析的情况,即通过ip地址来确定域名。

在本方案中,系统将正向解析得到的ip地址返回给接收方,也就是dns解析服务器,进而接收方也可以再将接收到的ip地址发回到系统,验证该ip地址对应的域名是否是客户端请求访问的域名。

具体地,首先接收上述接收方发送的目标ip地址,目标ip地址也就是系统向接收方返回的正向解析得到的目标ip地址。

s306,当所述目标ip地址为ipv6类型的ip地址时,将所述目标ip地址转换为目标格式。

由于ipv6类型的ip地址会有多种格式,因此为了便于ip地址与域名的匹配,需要将ipv6类型的ip地址转换为目标格式。

s307,利用所述目标格式的目标ip地址在配置文件中确定对应所述目标ip地址的域名信息。

具体地,利用目标格式的目标ip地址即可在配置文件中确定对应的域名信息。需要说明的是,在配置文件中,设置有域名与ip地址的对应关系,根据配置文件可以完成解析操作。

s308,向所述接收方返回所述域名信息。

具体地,将逆向解析得到的域名信息返回给接收方即可。

下面对本申请实施例提供的一种ip地址解析系统进行介绍,下文描述的一种ip地址解析系统与上述实施例提供的一种ip地址解析方法可以相互参照。

参见图4,本申请实施例提供的一种ip地址解析系统,具体包括:

第一接收模块401,用于接收地址解析请求。

第一确定模块402,用于确定与所述地址解析请求对应的目标ip地址。

第二确定模块403,用于确定所述目标ip地址的类型,其中所述类型为ipv4类型或ipv6类型。

第一返回模块404,用于将所述目标ip地址与所述目标ip地址的类型返回至接收方,以使所述接收方根据所述目标ip地址的类型对所述目标ip地址进行处理。

本实施例的ip地址解析系统用于实现前述的ip地址解析方法,因此ip地址解析系统中的具体实施方式可见前文中的ip地址解析方法的实施例部分,例如,第一接收模块401,第一确定模块402,第二确定模块403,第一返回模块404,分别用于实现上述ip地址解析方法中步骤s101,s102,s103和s104,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

下面对本申请实施例提供的一种具体的ip地址解析系统进行介绍,下文描述的一种具体的ip地址解析系统在上述实施例的基础上对增加用于逆向解析的相关模块,其他模块内容与上述实施例可以相互参照,此处不再赘述。

本申请实施例提供的一种具体的ip地址解析系统,在上述实施例的基础上,还包括:

第二接收模块,用于接收所述接收方发送的所述目标ip地址;

转换模块,用于当所述目标ip地址为ipv6类型的ip地址时,将所述目标ip地址转换为目标格式;

第三确定模块,用于利用所述目标格式的目标ip地址在配置文件中确定对应所述目标ip地址的域名信息;

第二返回模块,用于向所述接收方返回所述域名信息。

本实施例的ip地址解析系统用于实现前述的ip地址解析方法,因此ip地址解析系统中的具体实施方式可见前文中的ip地址解析方法的实施例部分,例如,第二接收模块,转换模块,第三确定模块,第二返回模块,分别用于实现上述ip地址解析方法中步骤s305,s306,s307和s308,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

下面对本申请实施例提供的一种ip地址解析装置进行介绍,下文描述的一种ip地址解析装置与上述实施例可以相互参照。

参见图5本申请实施例提供的一种ip地址解析装置,具体包括:

存储器100,用于存储计算机程序;

处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。

具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200为ip地址解析装置提供计算和控制能力,可以实现上述任一ip地址解析方法实施例所提供的步骤。

在上述实施例的基础上,作为优选实施方式,所述数据采集设备还包括:

输入接口300,用于获取外部导入的计算机程序、参数和指令,经处理器控制保存至存储器中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。具体的,在本实施例中,可以通过输入装置配置用于解析域名或ip地址的配置文件。

显示单元400,用于显示处理器发送的数据。该显示单元400可以为pc机上的显示屏、液晶显示屏或者电子墨水显示屏等。具体的,在本实施例中,显示单元400可以显示对地址解析请求的处理情况。

网络端口500,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(mhl)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术等。在本实施例中,ip地址解析装置可以与接收方通过网络端口传输地址解析请求、解析结果等数据。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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