CN117579598B - 基于物理网卡分配ip地址的方法、装置、设备和介质 - Google Patents

基于物理网卡分配ip地址的方法、装置、设备和介质 Download PDF

Info

Publication number
CN117579598B
CN117579598B CN202311507243.XA CN202311507243A CN117579598B CN 117579598 B CN117579598 B CN 117579598B CN 202311507243 A CN202311507243 A CN 202311507243A CN 117579598 B CN117579598 B CN 117579598B
Authority
CN
China
Prior art keywords
address
physical network
network card
client
allocation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311507243.XA
Other languages
English (en)
Other versions
CN117579598A (zh
Inventor
赵东方
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quanxun Huiju Network Technology Beijing Co ltd
Original Assignee
Quanxun Huiju Network Technology Beijing Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Quanxun Huiju Network Technology Beijing Co ltd filed Critical Quanxun Huiju Network Technology Beijing Co ltd
Priority to CN202311507243.XA priority Critical patent/CN117579598B/zh
Publication of CN117579598A publication Critical patent/CN117579598A/zh
Application granted granted Critical
Publication of CN117579598B publication Critical patent/CN117579598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及IP地址分配的技术领域,尤其是涉及基于物理网卡分配IP地址的方法、装置、设备和介质,方法包括:当检测到应用层发出拓展调用指令时,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到第一DHCP请求报文。然后,将第一DHCP请求报文传递至应用层,应用层对第一DHCP请求报文进行报文解析,得到物理网卡名称。最终,基于物理网卡名称进行IP地址分配,得到客户端对应的IP地址。基于客户端接入的物理网卡来选取对应的地址池进行IP地址分配,以使得客户端接入不同的物理网卡,分配的地址段不一样,提高了IP地址分配的灵活度,便于对不同区域的客户端做集中管理。

Description

基于物理网卡分配IP地址的方法、装置、设备和介质
技术领域
本申请涉及IP地址分配的技术领域,尤其是涉及基于物理网卡分配IP地址的方法、装置、设备和介质。
背景技术
在局域网下,客户端需要基于IP地址在网络中与其他设备进行通信,相关技术中,一个LAN口绑定了多个物理网卡,并在DHCP服务中为LAN接口配置一个地址池,客户端从LAN口下的不同物理网卡接入时,获取到的IP地址均是从统一的地址池中随机分配的。然而,客户端无法通过不同的物理网卡获取特定地址段,以使得IP地址分配的灵活度低。
因而,如何提供一种灵活度高的IP地址分配方式是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供基于物理网卡分配IP地址的方法、装置、设备和介质,用于解决以上至少一项技术问题。
本申请的上述发明目的是通过以下技术方案得以实现的:
第一方面,本申请提供一种基于物理网卡分配IP地址的方法,采用如下的技术方案:
一种基于物理网卡分配IP地址的方法,包括:
当检测到应用层发出拓展调用指令时,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文;
将所述第一DHCP请求报文传递至所述应用层,所述应用层对所述第一DHCP请求报文进行报文解析,得到物理网卡名称;
基于所述物理网卡名称进行IP地址分配,得到所述客户端对应的IP地址,其中,不同物理网卡名称对应不同的地址池。
通过采用上述技术方案,当检测到应用层发出拓展调用指令时,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文。然后,将第一DHCP请求报文传递至应用层,进而,应用层对第一DHCP请求报文进行报文解析,得到物理网卡名称。最终,基于物理网卡名称进行IP地址分配,得到客户端对应的IP地址。通过这种方式,不再基于LAN接口对应的总地址池进行随机IP地址分配,而是,基于客户端接入的物理网卡来选取对应的地址池进行IP地址分配,以使得客户端接入不同的物理网卡,分配的地址段不一样,提高了IP地址分配的灵活度,便于对不同区域的客户端做集中管理。
本申请在一较佳示例中可以进一步配置为:当检测到应用层发出拓展调用指令时之前,还包括:
获取所述DHCP请求报文,基于所述DHCP请求报文对所述客户端进行多维分析,确定所述客户端对应的网络区域和设备类型;
基于所述网络区域、所述设备类型和物理网卡分配规则,确定所述DHCP请求报文接入的所述物理网卡名称。
本申请在一较佳示例中可以进一步配置为:所述基于所述物理网卡名称进行IP分配,得到所述客户端对应的IP地址,包括:
基于所述物理网卡名称进行地址池查找,确定与所述物理网卡名称对应的目标地址池;
基于所述目标地址池对应的分配情况进行可分配IP地址筛选,确定可分配IP地址;
获取历史IP地址使用数据库,基于所述历史IP地址使用数据库和客户端发出的所述第一DHCP请求报文,确定历史IP地址;
基于所述可分配IP地址和所述历史IP地址进行IP分配,得到所述客户端对应的IP地址。
本申请在一较佳示例中可以进一步配置为:确定所述目标地址池对应的分配情况的方式,包括:
实时获取客户端和IP地址的分配关系,基于所述分配关系对应的第一IP地址,在初始分配情况中更新所述目标地址池中所述第一IP地址状态为已分配;
当检测到客户端的主动释放指令,基于所述主动释放指令中的第二IP地址,在所述初始分配情况中更新所述目标地址池中所述第二IP地址状态为未分配;
将最新的所述初始分配情况记为所述目标地址池对应的所述分配情况。
本申请在一较佳示例中可以进一步配置为:所述将最新的所述初始分配情况记为所述目标地址池对应的分配情况之后,还包括:
基于所述分配情况确定每一已分配IP地址对应的租期,并基于每一所述已分配IP地址对应的租期对所有已分配IP地址进行划分,得到第一已分配IP地址和第二已分配IP地址,其中,所述第一已分配IP地址为租期达到第一阈值的已分配IP地址,所述第二已分配IP地址为租期达到第二阈值的已分配IP地址;
基于所述第二已分配IP地址进行主动询问,当接收到回应指令时,则基于所述回应指令进行分配情况调整,得到调整后的分配情况,其中,所述主动询问用于询问第二已分配IP地址对应的客户端是否仍存在IP地址使用需求。
本申请在一较佳示例中可以进一步配置为:基于所述物理网卡名称进行IP地址分配,得到所述客户端对应的IP地址之后,还包括:
基于所述客户端对应的IP地址生成DHCP应答报文,并利用UDP数据包的形式将所述DHCP应答报文发送至客户端,以使得客户端能够利用IP地址进行网络连接和数据传输。
本申请在一较佳示例中可以进一步配置为:所述网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文之后,还包括:
将所述物理网卡信息存储至网络层的内核sock结构中。
第二方面,本申请提供一种基于物理网卡分配IP地址的装置,采用如下的技术方案:
一种基于物理网卡分配IP地址的装置,包括:
报文来源解析模块,用于当检测到应用层发出拓展调用指令时,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文;
解析名称模块,用于将所述第一DHCP请求报文传递至所述应用层,所述应用层对所述第一DHCP请求报文进行报文解析,得到物理网卡名称;
地址分配模块,用于基于所述物理网卡名称进行IP地址分配,得到所述客户端对应的IP地址,其中,不同物理网卡名称对应不同的地址池。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
至少一个处理器;
存储器;
至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行上述的基于物理网卡分配IP地址的方法。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行上所述的基于物理网卡分配IP地址的方法。
综上所述,本申请包括以下至少一种有益技术效果:
1.当检测到应用层发出拓展调用指令时,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文。然后,将第一DHCP请求报文传递至应用层,进而,应用层对第一DHCP请求报文进行报文解析,得到物理网卡名称。最终,基于物理网卡名称进行IP地址分配,得到客户端对应的IP地址。通过这种方式,不再基于LAN接口对应的总地址池进行随机IP地址分配,而是,基于客户端接入的物理网卡来选取对应的地址池进行IP地址分配,以使得客户端接入不同的物理网卡,分配的地址段不一样,提高了IP地址分配的灵活度,便于对不同区域的客户端做集中管理。
2.基于物理网卡名称进行地址池查找,确定与物理网卡名称对应的目标地址池,并基于目标地址池对应的分配情况进行可分配IP地址筛选,确定可分配IP地址。然后,基于历史IP地址使用数据库和客户端发出的第一DHCP请求报文,确定历史IP地址,基于可分配IP地址和历史IP地址进行IP分配,得到客户端对应的IP地址。优先选取客户端使用过的历史IP地址进行地址分配,能够提高网络效率、降低网络流量和增强用户体验感。
附图说明
图1是本申请其中一实施例的相关技术中客户端接入物理网卡的IP地址分配情况的示意图;
图2是本申请其中一实施例的本申请中客户端接入物理网卡的IP地址分配情况的示意图;
图3是本申请其中一实施例的一种基于物理网卡分配IP地址的方法的流程示意图;
图4是本申请其中一实施例的基于物理网卡分配IP地址的方法的系统架构示意图;
图5是本申请其中一实施例的基于物理网卡分配IP地址的装置的结构示意图;
图6是本申请其中一实施例的一种电子设备的结构示意图。
具体实施方式
以下结合图1至图6对本申请作进一步详细说明。
本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
下面结合说明书附图对本申请实施例作进一步详细描述。
相关技术中,为LAN接口配置了一个地址池,LAN接口下绑定了多个物理网卡,针对接入LAN接口中的任意物理网卡的客户端进行IP地址分配时,会从LAN接口对应的地址池中随机选取一个空闲IP地址,客户端无法通过不同的物理网卡获取特定地址段,以使得IP地址分配的灵活度低。如图1所示,图1表示了相关技术中客户端接入物理网卡后的IP地址分配情况,图1中LAN接口对应的地址池为:192.168.1.1-192.168.1.254,pc1、pc2和pc3分别表示三个客户端,eth0、eth1、eth2、eth3分别表示四个物理网卡,进而,pc1、pc2和pc3所分配的IP地址是从地址段:192.168.1.1-192.168.1.254中随机选取的。
为了解决相关技术中IP地址分配的灵活度低的问题,本申请实施例提供了一种基于物理网卡分配IP地址的方法,当LAN接口绑定了多个物理网卡时,针对不同物理网卡划分不同的地址池,当客户端接入物理网卡时,则从物理网卡对应地址池中进行IP地址分配,客户端能够通过不同的物理网卡获取特定地址段,提高了IP地址分配的灵活度。如图2所示,图2表示了本申请中客户端接入物理网卡后的IP地址分配情况,即,客户端pc1接入物理网卡eth0,从地址段:192.168.1.1-192.168.1.100中随机分配IP地址;客户端pc2接入物理网卡eth1,从地址段:192.168.1.101-192.168.1.200中随机分配IP地址;客户端pc3接入物理网卡eth2,从地址段:192.168.1.201-192.168.1.254中随机分配IP地址。
本申请实施例提供了一种基于物理网卡分配IP地址的方法,由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此,该终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制,如图3所示,该方法包括步骤S101、步骤S102以及步骤S103,其中:
步骤S101:当检测到应用层发出拓展调用指令时,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文。
对于本申请实施例,在应用层拓展了一个setsockopt选项,开启该setsockopt选项后,应用层在接收DHCP请求报文时,会将真实的物理网卡信息从网络层传递给上层应用程序。当应用层开启setsockopt选项后,应用层会向网络层发出一个拓展调用指令,拓展调用指令用于通知网络层将物理网卡信息传递给应用程序,故,网络层针对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文,其中,物理网卡信息用于表征客户端请求的物理网卡的详细信息。本申请实施例中,在网络层的网络驱动程序中添加了一个网络模块,利用网络模块来解析DHCP请求报文中的物理网卡信息。优选的,在解析到物理网卡信息后,将物理网卡信息存储至内核sock结构中,以得到携带有物理网卡信息的sock结构。
步骤S102:将第一DHCP请求报文传递至应用层,应用层对第一DHCP请求报文进行报文解析,得到物理网卡名称。
对于本申请实施例,网络层将携带有物理网卡信息的第一DHCP请求报文传递至应用层,然后,应用层对第一DHCP请求报文进行报文解析,得到客户端接入的物理网卡名称。由于第一DHCP请求报文包括物理网卡信息,故,应用层通过对携带有物理网卡信息的第一DHCP请求报文进行报文解析,得到客户端接入的物理网卡的网卡名称。
步骤S103:基于物理网卡名称进行IP地址分配,得到客户端对应的IP地址,其中,不同物理网卡名称对应不同的地址池。
对于本申请实施例,LAN接口绑定了多个物理网卡时,将LAN接口对应的总地址池划分至LAN接口下的每一物理网卡,得到每一物理网卡对应的地址池,例如,LAN接口下包括:eth0、eth1、eth2、eth3四个物理网卡,LAN接口对应的总地址池为:192.168.1.1-192.168.1.254,在地址段划分后,确定物理网卡名称为eth0的地址池为:192.168.1.1-192.168.1.100,物理网卡名称为eth1的地址池为:192.168.1.101-192.168.1.200,物理网卡名称为eth2的地址池为:192.168.1.201-192.168.1.254,物理网卡名称为eth3的暂无分配地址段。进而,基于物理网卡名称选取与之对应的地址池,并在该地址池中选取一个IP地址分配给客户端,以完成基于物理网卡的IP地址分配。在本申请实施例中,不再基于LAN接口对应的总地址池进行随机IP地址分配,而是,基于客户端接入的物理网卡来选取对应的地址池进行IP地址分配,以使得客户端接入不同的物理网卡,分配的地址段不一样,提高了IP地址分配的灵活度,便于对不同区域的客户端做集中管理。
如图4所示,图4为基于物理网卡分配IP地址的方法的层级架构图,在本申请实施例中,在网络驱动程序中添加了一个网络模块,网络模块用于分析DHCP请求报文的得到真实的物理网卡信息,并将该物理网卡信息存储至内核sock结构中,在应用层中添加了一个setsockopt选项,开启该setsockopt选项用于通知网络层将物理网卡信息传递给应用程序。
可见,在本申请实施例中,当检测到应用层发出拓展调用指令时,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文。然后,将第一DHCP请求报文传递至应用层,进而,应用层对第一DHCP请求报文进行报文解析,得到物理网卡名称。最终,基于物理网卡名称进行IP地址分配,得到客户端对应的IP地址。通过这种方式,不再基于LAN接口对应的总地址池进行随机IP地址分配,而是,基于客户端接入的物理网卡来选取对应的地址池进行IP地址分配,以使得客户端接入不同的物理网卡,分配的地址段不一样,提高了IP地址分配的灵活度,便于对不同区域的客户端做集中管理。
进一步的,为了更加合理地分配网络资源,避免资源浪费和性能瓶颈,并优化网络性能和资源利用率,在本申请实施例中,当检测到应用层发出拓展调用指令时之前,还包括:
获取DHCP请求报文,基于DHCP请求报文对客户端进行多维分析,确定客户端对应的网络区域和设备类型;
基于网络区域、设备类型和物理网卡分配规则,确定DHCP请求报文接入的物理网卡名称。
对于本申请实施例,为了能够针对不同网络区域和设备类型的客户端进行管理,在客户端接入物理网卡时,会综合考虑客户端的网络区域和设备类型,以便于客户端管理工作的进行。DHCP请求报文包括但不限于:硬件地址、硬件类型、硬件地址长度、跳数、事务ID、秒数、标志、客户端IP地址、服务器IP地址、网关IP地址、硬件类型选项、域名选项、域名服务器选项和主机名选项等信息。然后,基于DHCP请求报文对客户端进行多维分析,确定客户端对应的网络区域和设备类型,例如,基于硬件地址的MAC地址段,确定客户端所属网络区域;基于硬件类型和硬件地址长度,确定客户端的设备类型。与此同时,在电子设备内预先存储了网络区域、设备类型和物理网卡名称的对应关系,记为物理网卡分配规则,该物理网卡分配规则是技术人员根据实际需求自行设定的,用户也可以基于实际情况自行调整,对此,本申请实施例不再进行限定。最终,基于客户端对应的网络区域、设备类型和物理网卡分配规则进行匹配,将匹配成功的物理网卡名称记为DHCP请求报文接入的物理网卡名称。在客户端接入物理网卡时,综合网络区域和设备类型量因素,能够更加合理地分配网络资源,避免资源浪费和性能瓶颈,并优化网络性能和资源利用率。
可见,在本申请实施例中,基于DHCP请求报文对客户端进行多维分析,确定客户端对应的网络区域和设备类型,然后,基于网络区域、设备类型和物理网卡分配规则,确定DHCP请求报文接入的物理网卡名称。在客户端接入物理网卡时,综合网络区域和设备类型量因素,能够更加合理地分配网络资源,避免资源浪费和性能瓶颈,并优化网络性能和资源利用率。
进一步的,为了提高网络效率、降低网络流量和增强用户体验感,在本申请实施例中,基于物理网卡名称进行IP分配,得到客户端对应的IP地址,包括:
基于物理网卡名称进行地址池查找,确定与物理网卡名称对应的目标地址池;
基于目标地址池对应的分配情况进行可分配IP地址筛选,确定可分配IP地址;
获取历史IP地址使用数据库,基于历史IP地址使用数据库和客户端发出的第一DHCP请求报文,确定历史IP地址;
基于可分配IP地址和历史IP地址进行IP分配,得到客户端对应的IP地址。
对于本申请实施例,由于LAN接口下绑定了多个物理网卡,针对每一物理网卡均有对应的地址池,故电子设备内预先存储了多个地址池,在进行IP地址分配时,接入不同物理网卡的客户端需要在与之对应的地址池中选取IP地址,因而,基于物理网卡名称进行地址池查找,确定与物理网卡名称对应的目标地址池。然而,目标地址池中并非每一IP地址均为空闲状态,在地址池中还会存在一些已经分配给其他客户端的IP地址,记为已分配IP地址,地址池中除了已分配IP地址其余称为可分配IP地址。针对确定目标地址池对应的分配情况的方式有多种,在一种可实现的方式中,基于DHCP服务器日志记录确定分配情况,其中,DHCP服务器日志会记录IP地址分配给哪个客户端、分配时间、客户端MAC地址等。在另一种可实现的方式中,利用网络监控工具来实时监控网络中的IP地址分配情况。例如,使用Nmap工具来扫描网络中的IP地址,并查看哪些IP地址已经被使用,哪些IP地址是可用的,进而,确定目标地址池对应的分配情况。当然,还可以采用其他方式确定目标地址池对应的分配情况,对此,本申请实施例不再进行限定。然后,获取历史IP地址使用数据库,历史IP地址使用数据库中记录了过去的IP地址的所有使用情况,即,IP地址在过去分配给到哪个客户端对应的硬件地址,进而,基于客户端发出的第一DHCP请求报文中的硬件地址与历史IP地址使用数据库进行地址匹配,将历史IP地址使用数据库中与硬件地址匹配成功的IP地址记为客户端对应的IP地址。当硬件地址与历史IP地址使用数据库无一项数据匹配成功时,则从可分配IP地址中随机选取,确定为客户端对应的IP地址。优先选取客户端使用过的历史IP地址进行地址分配,能够提高网络效率、降低网络流量和增强用户体验感。
可见,在本申请实施例中,基于物理网卡名称进行地址池查找,确定与物理网卡名称对应的目标地址池,并基于目标地址池对应的分配情况进行可分配IP地址筛选,确定可分配IP地址。然后,基于历史IP地址使用数据库和客户端发出的第一DHCP请求报文,确定历史IP地址,基于可分配IP地址和历史IP地址进行IP分配,得到客户端对应的IP地址。优先选取客户端使用过的历史IP地址进行地址分配,能够提高网络效率、降低网络流量和增强用户体验感。
进一步的,为了保证可分配IP地址的准确性,在本申请实施例中,确定目标地址池对应的分配情况的方式,包括:
实时获取客户端和IP地址的分配关系,基于分配关系对应的第一IP地址,在初始分配情况中更新目标地址池中第一IP地址状态为已分配;
当检测到客户端的主动释放指令,基于主动释放指令中的第二IP地址,在初始分配情况中更新目标地址池中第二IP地址状态为未分配;
将最新的初始分配情况记为目标地址池对应的分配情况。
对于本申请实施例,针对该过程中表述的客户端指的是局域网中的任意一个客户端,由于客户端分配的IP地址是存在租期,租期到达或者客户端主动释放,会使得IP地址恢复至未分配的状态,目标地址池对应的分配情况是伴随着IP地址租期和客户端主动释放而实时变化的。因而,实时获取客户端和IP地址的分配关系,基于分配关系对应的第一IP地址,在初始分配情况中更新目标地址池中第一IP地址状态为已分配,其中,第一IP地址为已经匹配了客户端的IP地址,表征该IP地址已经分配,最初的初始分配情况为目标地址池中每一IP地址状态均为未分配,即,在初始分配情况的基础上将第一IP地址的状态更为已分配。与此同时,还需要时刻检测客户端是否主动释放该IP地址,当检测到客户端发送的主动释放指令时,表征该主动释放指令中的第二IP地址不再被占用,故,在初始分配情况中将目标地址池中第二IP地址的状态更新为未分配。为了保证可分配IP地址的准确性,基于目标地址池对应的分配情况进行可分配IP地址筛选时,将最新版本的初始分配情况记为目标地址池对应的分配情况。
可见,在本申请实施例中,当检测到客户端的主动释放指令,基于主动释放指令中的第二IP地址,在初始分配情况中更新目标地址池中第二IP地址状态为未分配,为了保证可分配IP地址的准确性,将最新的初始分配情况记为目标地址池对应的分配情况。
进一步的,为了在不需要IP地址时能够及时释放,避免IP地址的浪费,在本申请实施例中,将最新的初始分配情况记为目标地址池对应的分配情况之后,还包括:
基于分配情况确定每一已分配IP地址对应的租期,并基于每一已分配IP地址对应的租期对所有已分配IP地址进行划分,得到第一已分配IP地址和第二已分配IP地址,其中,第一已分配IP地址为租期达到第一阈值的已分配IP地址,第二已分配IP地址为租期达到第二阈值的已分配IP地址;
基于第二已分配IP地址进行主动询问,当接收到回应指令时,则基于回应指令进行分配情况调整,得到调整后的分配情况,其中,主动询问用于询问第二已分配IP地址对应的客户端是否仍存在IP地址使用需求。
对于本申请实施例,每为客户端分配IP地址均存在着租期,客户端对IP地址的使用并非是长期的,为了提高IP地址的使用效率,针对不同租期的已分配IP地址采取不同的应对措施,并对租期达到第二阈值的已分配IP地址进行主动询问,在不需要IP地址时能够及时释放,避免了IP地址的浪费。
具体的,基于分配情况中的每一已分配IP地址,确定每一已分配IP地址对应的租期,并基于每一已分配IP地址对应的租期对所有已分配IP地址进行划分,确定租期达到第一阈值的第一已分配IP地址和租期达到第二阈值的第二已分配IP地址,优选的,第一阈值为50%、第二阈值为85%。针对租期已达到50%的第一已分配IP地址进行标记,标记用于提升电子设备对租期已达到50%的第一已分配IP地址的关注,在该IP地址发送续约请求时,则优先进行响应。针对租期已达到85%的第二已分配IP地址进行主动询问,主动询问用于确认第二已分配IP地址是否存在续约需求,当第二已分配IP地址表示不存在续约需求时,则不再监控该第二已分配IP地址的续约请求,当第二已分配IP地址表示存在续约需求时,则在检测到第二已分配IP地址的续约请求时优先进行响应。
可见,在本申请实施例中,基于分配情况确定每一已分配IP地址对应的租期,并基于每一已分配IP地址对应的租期对所有已分配IP地址进行划分,得到第一已分配IP地址和第二已分配IP地址。然后,基于第二已分配IP地址进行主动询问,当接收到回应指令时,则基于回应指令进行分配情况调整,得到调整后的分配情况。针对不同租期的已分配IP地址采取不同的应对措施,并对租期达到第二阈值的已分配IP地址进行主动询问,在不需要IP地址时能够及时释放,避免了IP地址的浪费。
进一步的,在本申请实施例中,基于物理网卡名称进行IP地址分配,得到客户端对应的IP地址之后,还包括:
基于客户端对应的IP地址生成DHCP应答报文,并利用UDP数据包的形式将DHCP应答报文发送至客户端,以使得客户端能够利用IP地址进行网络连接和数据传输。
对于本申请实施例,在确定客户端对应的IP地址之后,需要将IP地址发送至客户端,以使得客户端能够利用IP地址进行网络连接和数据传输。故,根据DHCP协议的规定和客户端对应的IP地址,生成一个DHCP应答报文,其中,DHCP应答报文包括:分配给客户端的IP地址、子网掩码、默认网关、DNS服务器等网络配置参数,生成DHCP应答报文的过程可以通过编写网络应用程序来实现,当然,也可以使用现有的DHCP服务器软件来完成。然后,将生成的DHCP应答报文封装在一个UDP数据包中,并通过网络接口发送给客户端,其中,UDP数据包的目的地址是客户端的硬件地址,目的端口是DHCP协议规定的端口号(通常是68)。
可见,在本申请实施例中,基于客户端对应的IP地址生成DHCP应答报文,并利用UDP数据包的形式将DHCP应答报文发送至客户端,以使得客户端能够利用IP地址进行网络连接和数据传输。
进一步的,为了帮助操作系统在网络层正确处理该请求,在本申请实施例中,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文之后,还包括:
将物理网卡信息存储至网络层的内核sock结构中。
对于本申请实施例,在得到包括物理网卡信息的第一DHCP请求报文之后,将物理网卡信息存储至网络层的内核sock结构中可以帮助操作系统在网络层正确处理该请求。例如,操作系统可以根据报文中的目标IP地址确定将请求转发到哪个网络接口,或者根据报文中的源IP地址确定请求的来源,此外,存储DHCP请求报文还可以帮助操作系统跟踪和管理网络连接,以便在需要时释放IP地址或其他网络资源。总之,将物理网卡信息存储至sock结构中有助于操作系统在网络层处理和转发该请求,并管理网络连接。
可见,在本申请实施例中,将物理网卡信息存储至网络层的内核sock结构中,用于帮助操作系统在网络层正确处理该请求。
上述实施例从方法流程的角度介绍一种基于物理网卡分配IP地址的方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种基于物理网卡分配IP地址的装置,具体详见下述实施例。
本申请实施例提供一种基于物理网卡分配IP地址的装置,如图5所示,该基于物理网卡分配IP地址的装置具体可以包括:
报文来源解析模块210,用于当检测到应用层发出拓展调用指令时,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文;
解析名称模块220,用于将第一DHCP请求报文传递至应用层,应用层对第一DHCP请求报文进行报文解析,得到物理网卡名称;
地址分配模块230,用于基于物理网卡名称进行IP地址分配,得到客户端对应的IP地址,其中,不同物理网卡名称对应不同的地址池。
对于本申请实施例,报文来源解析模块210当检测到应用层发出拓展调用指令时,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文。然后,解析名称模块220将第一DHCP请求报文传递至应用层,进而,应用层对第一DHCP请求报文进行报文解析,得到物理网卡名称。最终,地址分配模块230基于物理网卡名称进行IP地址分配,得到客户端对应的IP地址。通过这种方式,不再基于LAN接口对应的总地址池进行随机IP地址分配,而是,基于客户端接入的物理网卡来选取对应的地址池进行IP地址分配,以使得客户端接入不同的物理网卡,分配的地址段不一样,提高了IP地址分配的灵活度,便于对不同区域的客户端做集中管理。
本申请实施例的一种可能的实现方式,基于物理网卡分配IP地址的装置,还包括:
物理网卡选取模块,用于获取DHCP请求报文,基于DHCP请求报文对客户端进行多维分析,确定客户端对应的网络区域和设备类型;
基于网络区域、设备类型和物理网卡分配规则,确定DHCP请求报文接入的物理网卡名称。
本申请实施例的一种可能的实现方式,地址分配模块230在执行基于物理网卡名称进行IP分配,得到客户端对应的IP地址时,用于:
基于物理网卡名称进行地址池查找,确定与物理网卡名称对应的目标地址池;
基于目标地址池对应的分配情况进行可分配IP地址筛选,确定可分配IP地址;
获取历史IP地址使用数据库,基于历史IP地址使用数据库和客户端发出的第一DHCP请求报文,确定历史IP地址;
基于可分配IP地址和历史IP地址进行IP分配,得到客户端对应的IP地址。
本申请实施例的一种可能的实现方式,确定目标地址池对应的分配情况的方式,包括:
实时获取客户端和IP地址的分配关系,基于分配关系对应的第一IP地址,在初始分配情况中更新目标地址池中第一IP地址状态为已分配;
当检测到客户端的主动释放指令,基于主动释放指令中的第二IP地址,在初始分配情况中更新目标地址池中第二IP地址状态为未分配;
将最新的初始分配情况记为目标地址池对应的分配情况。
本申请实施例的一种可能的实现方式,基于物理网卡分配IP地址的装置,还包括:
租期监控模块,用于基于分配情况确定每一已分配IP地址对应的租期,并基于每一已分配IP地址对应的租期对所有已分配IP地址进行划分,得到第一已分配IP地址和第二已分配IP地址,其中,第一已分配IP地址为租期达到第一阈值的已分配IP地址,第二已分配IP地址为租期达到第二阈值的已分配IP地址;
基于第二已分配IP地址进行主动询问,当接收到回应指令时,则基于回应指令进行分配情况调整,得到调整后的分配情况,其中,主动询问用于询问第二已分配IP地址对应的客户端是否仍存在IP地址使用需求。
本申请实施例的一种可能的实现方式,基于物理网卡分配IP地址的装置,还包括:
应答传输模块,用于基于客户端对应的IP地址生成DHCP应答报文,并利用UDP数据包的形式将DHCP应答报文发送至客户端,以使得客户端能够利用IP地址进行网络连接和数据传输。
本申请实施例的一种可能的实现方式,基于物理网卡分配IP地址的装置,还包括:
网卡信息存储模块,用于将物理网卡信息存储至网络层的内核sock结构中。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的一种装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例中提供了一种电子设备,如图6所示,图6所示的电子设备300包括:处理器301和存储器303。其中,处理器301和存储器303相连,如通过总线302相连。可选地,电子设备300还可以包括收发器304。需要说明的是,实际应用中收发器304不限于一个,该电子设备300的结构并不构成对本申请实施例的限定。
处理器301可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器301也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线302可包括一通路,在上述组件之间传送信息。总线302可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一型的总线。
存储器303可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与相关技术相比,本申请实施例,当检测到应用层发出拓展调用指令时,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文。然后,将第一DHCP请求报文传递至应用层,进而,应用层对第一DHCP请求报文进行报文解析,得到物理网卡名称。最终,基于物理网卡名称进行IP地址分配,得到客户端对应的IP地址。通过这种方式,不再基于LAN接口对应的总地址池进行随机IP地址分配,而是,基于客户端接入的物理网卡来选取对应的地址池进行IP地址分配,以使得客户端接入不同的物理网卡,分配的地址段不一样,提高了IP地址分配的灵活度,便于对不同区域的客户端做集中管理。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种基于物理网卡分配IP地址的方法,其特征在于,LAN接口下包括多个供客户端接入的物理网卡,包括:
当检测到应用层发出拓展调用指令时,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文,其中,所述物理网卡信息用于表征客户端所接入的物理网卡对应的相关信息;
将所述第一DHCP请求报文传递至所述应用层,所述应用层对所述第一DHCP请求报文进行报文解析,得到物理网卡名称,其中,所述物理网卡名称为LAN接口下客户端接入的物理网卡对应的名称;
基于所述物理网卡名称进行IP地址分配,得到所述客户端对应的IP地址,其中,不同物理网卡名称对应不同的地址池。
2.根据权利要求1所述的基于物理网卡分配IP地址的方法,其特征在于,还包括:
获取所述DHCP请求报文,基于所述DHCP请求报文对所述客户端进行多维分析,确定所述客户端对应的网络区域和设备类型;
基于所述网络区域、所述设备类型和物理网卡分配规则,确定所述DHCP请求报文接入的所述物理网卡名称。
3.根据权利要求1所述的基于物理网卡分配IP地址的方法,其特征在于,所述基于所述物理网卡名称进行IP分配,得到所述客户端对应的IP地址,包括:
基于所述物理网卡名称进行地址池查找,确定与所述物理网卡名称对应的目标地址池;
基于所述目标地址池对应的分配情况进行可分配IP地址筛选,确定可分配IP地址;
获取历史IP地址使用数据库,基于所述历史IP地址使用数据库和客户端发出的所述第一DHCP请求报文,确定历史IP地址;
基于所述可分配IP地址和所述历史IP地址进行IP分配,得到所述客户端对应的IP地址。
4.根据权利要求3所述的基于物理网卡分配IP地址的方法,其特征在于,确定所述目标地址池对应的分配情况的方式,包括:
实时获取客户端和IP地址的分配关系,基于所述分配关系对应的第一IP地址,在初始分配情况中更新所述目标地址池中所述第一IP地址状态为已分配;
当检测到客户端的主动释放指令,基于所述主动释放指令中的第二IP地址,在所述初始分配情况中更新所述目标地址池中所述第二IP地址状态为未分配;
将最新的所述初始分配情况记为所述目标地址池对应的所述分配情况。
5.根据权利要求4所述的基于物理网卡分配IP地址的方法,其特征在于,所述将最新的所述初始分配情况记为所述目标地址池对应的分配情况之后,还包括:
基于所述分配情况确定每一已分配IP地址对应的租期,并基于每一所述已分配IP地址对应的租期对所有已分配IP地址进行划分,得到第一已分配IP地址和第二已分配IP地址,其中,所述第一已分配IP地址为租期达到第一阈值的已分配IP地址,所述第二已分配IP地址为租期达到第二阈值的已分配IP地址;
基于所述第二已分配IP地址进行主动询问,当接收到回应指令时,则基于所述回应指令进行分配情况调整,得到调整后的分配情况,其中,所述主动询问用于询问第二已分配IP地址对应的客户端是否仍存在IP地址使用需求。
6.根据权利要求1所述的基于物理网卡分配IP地址的方法,其特征在于,基于所述物理网卡名称进行IP地址分配,得到所述客户端对应的IP地址之后,还包括:
基于所述客户端对应的IP地址生成DHCP应答报文,并利用UDP数据包的形式将所述DHCP应答报文发送至客户端,以使得客户端能够利用IP地址进行网络连接和数据传输。
7.根据权利要求1所述的基于物理网卡分配IP地址的方法,其特征在于,所述网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文之后,还包括:
将所述物理网卡信息存储至网络层的内核sock结构中。
8.一种基于物理网卡分配IP地址的装置,其特征在于,包括:
报文来源解析模块,用于当检测到应用层发出拓展调用指令时,网络层对客户端发出的DHCP请求报文进行报文来源解析,得到包括物理网卡信息的第一DHCP请求报文,其中,所述物理网卡信息用于表征客户端所接入的物理网卡对应的相关信息;
解析名称模块,用于将所述第一DHCP请求报文传递至所述应用层,所述应用层对所述第一DHCP请求报文进行报文解析,得到物理网卡名称,其中,所述物理网卡名称为LAN接口下客户端接入的物理网卡对应的名称;
地址分配模块,用于基于所述物理网卡名称进行IP地址分配,得到所述客户端对应的IP地址,其中,不同物理网卡名称对应不同的地址池。
9.一种电子设备,其特征在于,包括:
至少一个处理器;
存储器;
至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行权利要求1~7任一项所述的基于物理网卡分配IP地址的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行权利要求1~7任一项所述的基于物理网卡分配IP地址的方法。
CN202311507243.XA 2023-11-13 2023-11-13 基于物理网卡分配ip地址的方法、装置、设备和介质 Active CN117579598B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311507243.XA CN117579598B (zh) 2023-11-13 2023-11-13 基于物理网卡分配ip地址的方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311507243.XA CN117579598B (zh) 2023-11-13 2023-11-13 基于物理网卡分配ip地址的方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN117579598A CN117579598A (zh) 2024-02-20
CN117579598B true CN117579598B (zh) 2024-09-17

Family

ID=89892788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311507243.XA Active CN117579598B (zh) 2023-11-13 2023-11-13 基于物理网卡分配ip地址的方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN117579598B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872126A (zh) * 2016-05-05 2016-08-17 成都西加云杉科技有限公司 一种分配ip地址的方法及网关
CN112751949A (zh) * 2020-12-28 2021-05-04 紫光云技术有限公司 一种自适应分配管理网地址的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534329B (zh) * 2009-04-16 2012-05-02 华为技术有限公司 一种ip地址分配方法及系统
CN114422473B (zh) * 2017-04-19 2023-10-17 中兴通讯股份有限公司 Ip地址的分配方法及装置
US11012406B2 (en) * 2019-04-01 2021-05-18 International Business Machines Corporation Automatic IP range selection
CN113438335B (zh) * 2021-06-10 2022-09-06 深圳市广和通无线股份有限公司 路由方法、装置、设备及存储介质
CN116455814A (zh) * 2023-03-20 2023-07-18 上海道客网络科技有限公司 一种基于容器云平台的多网卡ip地址管理的方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872126A (zh) * 2016-05-05 2016-08-17 成都西加云杉科技有限公司 一种分配ip地址的方法及网关
CN112751949A (zh) * 2020-12-28 2021-05-04 紫光云技术有限公司 一种自适应分配管理网地址的方法

Also Published As

Publication number Publication date
CN117579598A (zh) 2024-02-20

Similar Documents

Publication Publication Date Title
CN110677405B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN103607428B (zh) 一种访问共享内存的方法和装置
JP2002169694A (ja) ネットワーク上のpxeクライアントにdhcpサーバを介してブート・サーバを自動的に割り当てる方法とシステム
CN111212134A (zh) 一种请求报文处理方法、装置、边缘计算系统和电子设备
CN106657434B (zh) 一种ip地址的查看方法和装置
US10282120B2 (en) Method, apparatus and system for inserting disk
CN110798507B (zh) 一种dhcp地址分配记忆的方法与系统
CN114095430B (zh) 一种访问报文的处理方法、系统及工作节点
CN110099142B (zh) Ip地址分配方法、装置、设备和存储介质
CN110830481A (zh) 一种车载设备上网方法、装置、服务器及存储介质
CN108429824B (zh) 一种地址分配方法及装置
CN111585887A (zh) 基于多个网络的通信方法、装置、电子设备及存储介质
US10237233B2 (en) Allocating identifiers with minimal fragmentation
JP2005260828A (ja) Ipアドレス自動付与方法/プログラム/記録媒体/装置/システム、シャーシ管理装置、制御カード
CN106060131A (zh) 一种分配dns服务器的方法和装置
CN111163186A (zh) 一种id生成方法、装置、设备和存储介质
CN110636149B (zh) 远程访问方法、装置、路由器及存储介质
US8972604B1 (en) Network address retention and assignment
CN117579598B (zh) 基于物理网卡分配ip地址的方法、装置、设备和介质
CN109862134B (zh) 一种ip地址的租约时间配置方法和系统及dhcp客户端
CN115801733A (zh) 一种网络地址分配方法、装置、电子设备及可读介质
CN103441865A (zh) 管理IP地址的方法、系统及BRAS和Portal服务器
CN114173396B (zh) 终端联网时间的确定方法和装置、电子设备和存储介质
CN114221933A (zh) 手机银行多中心多活的寻址方法、装置及系统
CN109561170B (zh) 地址池创建方法、装置、地址池管理系统及储存介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant