CN114374670A - 管理ip资源池的方法、装置、dhcp服务器及存储介质 - Google Patents
管理ip资源池的方法、装置、dhcp服务器及存储介质 Download PDFInfo
- Publication number
- CN114374670A CN114374670A CN202111640607.2A CN202111640607A CN114374670A CN 114374670 A CN114374670 A CN 114374670A CN 202111640607 A CN202111640607 A CN 202111640607A CN 114374670 A CN114374670 A CN 114374670A
- Authority
- CN
- China
- Prior art keywords
- terminal
- target
- address
- state
- corresponding relation
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000001514 detection method Methods 0.000 claims description 76
- 230000006399 behavior Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 8
- 239000000523 sample Substances 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims 1
- 238000007726 management method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 230000002159 abnormal effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 206010048669 Terminal state Diseases 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明是关于一种管理IP资源池的方法、装置、DHCP服务器及存储介质,涉及以太网组网动态主机配置协议技术领域,本发明提出了在满足预设条件之后,判断目标对应关系中每个终端的状态是否为活跃状态;其中,目标对应关系为终端标识和DHCP服务器分配给终端的IP地址的对应关系;若目标对应关系中有终端的状态不为活跃状态,则删除目标对应关系中该终端和对应的IP地址的对应关系,并根据该终端对应的IP地址,更新IP资源池。本发明主动检测终端的状态,从而确定是否释放IP资源,提高了IP资源的利用率。
Description
技术领域
本发明涉及以太网组网动态主机配置协议技术领域,尤其涉及一种管理IP资源池的方法、装置、DHCP服务器及存储介质。
背景技术
在高速发展的信息时代,使用到的各类app(application,手机软件)进行点对点传输的时候,都需要使用到IP地址在网络层进行数据传输。当用户侧有新的终端连接网络时,客户端发送dhcp(Dynamic Host Configuration Protocol,动态主机配置协议)discover报文,经过传输网络传输进入云化平台的DHCP服务端程序,服务端响应用户侧请求,从资源池中取出一个IP地址分配给用户的终端,封装成dhcp报文,再经过传输网络将dhcp报文传递给用户终端,用户终端响应该报文获得分配的地址,这个过程就是动态地址分配过程。按照当前RFC标准的DHCP服务端协议资源管理机制:
1、客户端发送dhcp release报文,服务端才会被动释放分配的IP。
2、客户端的租期到期后,服务端没有收到客户端的续租报文,然后服务端被动释放该IP资源。
那么就会出现以下情况,1、配置租期较长,用户长时间终端下线,导致资源被占用,导致资源利用率低;2、网络传输丢失dhcp release包导致下线大量终端未被正常释放,引起新终端无法上网;3、现网中可能存在大量老旧型号设备不会发送release报文,引起大量资源未被正确释放。
综上所述,根据RFC协议标准,DHCP服务端为被动模式。服务端的资源管理机制不灵活,因此该协议的固有缺陷导致了在用户使用过程中极易造成IP资源的闲置。在用户侧接入终端较多的场景,很容易引起资源短缺,从而导致用户无法正常上网。
发明内容
本发明提供一种管理IP资源池的方法、装置、DHCP服务器及存储介质,主动检测终端的状态,从而确定是否释放IP资源,提高了IP资源的利用率。
第一方面,本发明实施例提供的一种管理IP资源池的方法,应用于DHCP服务器,包括:
在满足预设条件之后,判断目标对应关系中每个终端的状态是否为活跃状态;其中,所述目标对应关系为终端标识和DHCP服务器分配给终端的IP地址的对应关系;
若所述目标对应关系中有终端的状态不为活跃状态,则删除所述目标对应关系中该终端和对应的IP地址的对应关系,并根据该终端对应的IP地址,更新IP资源池。
上述方法,在满足预设条件在之后,终端的状态是否为活跃状态,在不活跃之后,解除该终端对应的IP地址,加入到IP资源池中,这样避免了终端长时间下线,占用资源的情况,提高了IP资源的利用率。
在一种可能的实现方式中,判断目标对应关系中每个终端的状态是否为活跃状态,包括:
针对所述目标对应关系中每个终端,通过以下部分或全部的方式判断所述终端的状态是否为活跃状态;
方式1:逐一向所述终端发送第一预设个数的所述终端对应的探测报文;其中,所述终端对应的探测报文是根据所述目标对应关系中适用于目标网络的通信特征构建的,所述目标网络为根据多个终端和DHCP服务器构建的网络;
若接收到所述终端发送的反馈报文的个数不超过第二预设个数,则确定所述终端的状态不为活跃状态;其中,所述第二预设个数小于所述第一预设个数;
若接收到所述终端发送的反馈报文的个数超过第二预设个数,则确定所述终端的状态为活跃状态;
方式2:若在所述终端的mac地址下预设时间段内产生的流量大于预设流量,则确定所述终端的状态为活跃状态;其中,所述预设时间段为满足预设条件之前的时间段;
若在所述终端的mac地址下所述更新周期内产生的流量不大于预设流量,则确定所述终端的状态不为活跃状态。
上述方法,能够通过探测报文探测终端是否在线,和/或通过流量判断终端是否有上网行为,从而确定终端的状态,提高了判断的准确率。
在一种可能的实现方式中,通过以下方式构建每个终端的探测报文:
若所述目标网络中包含中继器,则根据IPv4协议簇中的ICMP控制协议,构建每个终端的探测报文;
若所述目标网络中不包含中继器,则根据IPv4协议簇中的ICMP控制协议,构建每个终端的探测报文;或根据ARP协议,构建每个终端的探测报文。
上述方法,由于中继器会改变报文头的mac地址,所以对于有中继器的探测报文,可以根据IPv4协议簇中的ICMP控制协议构建,如果没有中继器,可以采用ARP协议构建,这样能够准确传输给终端,提高了传输的送达率。
在一种可能的实现方式中,其中:
若终端的探测报文为根据IPv4协议簇中的ICMP控制协议构建的,则通过L3转发功能向所述终端发送所述终端的探测报文;
若终端的探测报文为根据ARP协议构建的,则通过linux原始套接字raw socket向所述终端发送所述终端的探测报文。
上述方法,不同的报文采用不同的方式进行传输,提高了传输的送达率。
在一种可能的实现方式中,所述预设条件为:
达到更新周期;或
所述IP资源池中的IP地址的数量小于第一预设数量。
上述方法,通过更新周期,更新IP资源池,或者在IP资源池中的IP地址的数量比较少时,更新IP资源池,从而避免了终端长时间下线,占用资源的情况,导致新的终端请求IP时无资源可用。
在一种可能的实现方式中,所述方法还包括:
在接收终端发送的请求IP地址的目标报文之后,若所述终端的权限为允许权限,则根据所述目标报文中的MPLS的标识号、Pvlan的标识号和Cvlan的标识号,确定关键值;其中,所述允许权限为允许终端请求DHCP服务器分配IP地址;
根据关键值和虚拟服务器的对应关系,确定所述终端的关键值对应的虚拟服务器;其中,所述虚拟服务器是在DHCP服务器中构建的;
根据所述终端的关键值对应的虚拟服务器的IP资源池,为所述终端分配IP地址;
若所述终端的权限为禁止权限,则将接收到的请求IP地址的目标报文丢弃;其中,所述禁止权限为禁止终端请求DHCP服务器分配IP地址。
上述方法,能够通过目标报文中的MPLS的标识号、Pvlan的标识号和Cvlan的标识号,确定关键值,通过关键值和虚拟服务器的对应关系,得到对应的虚拟服务器,使得来自相同链路特征(mpls id、pvlan、cvlan相等)下的终端在相同的虚拟服务器上分配IP地址,通过虚拟化服务器实现扩容。
在一种可能的实现方式中,根据所述终端的关键值对应的虚拟服务器的IP资源池,为所述终端分配IP地址之后,所述方法还包括:
若在包含所述目标报文的接收时间的第二预设时长内,接收到的请求IP地址的报文的数量超过第二预设数量,则向第二预设时长内接收到的多个请求IP地址的报文对应的目标终端发送探测报文;
若反馈探测报文的目标终端的数量不超过第三预设数量,则针对每个目标终端,根据所述目标终端在预设时间段内流量信息,确定所述目标终端是否存在消耗IP资源行为;
若所述目标终端存在消耗IP资源行为,则对所述目标终端添加禁止权限,以使禁止权限的所述目标终端无法获取DHCP服务器分配的IP地址。
上述方法,在短时间内有大量请求IP的报文时,能够通过探测发送这些IP的报文的终端是否会响应探测报文,当大多数终端没有响应探测报文时,那么再根据这些终端的流量统计信息判读出终端是否真实存在,结合是否有回复报文判断是否为消耗IP资源的行为,并且对这些不存在的终端申请的资源进行释放,同时对这些终端添加禁止权限,从而使得这些终端无法获取IP地址,防止资源恶意消耗。
第二方面,本发明实施例提供的一种管理IP资源池的装置,应用于DHCP服务器,包括:
状态判断模块,用于在满足预设条件之后,判断目标对应关系中每个终端的状态是否为活跃状态;其中,所述目标对应关系为终端标识和DHCP服务器分配给终端的IP地址的对应关系;
更新模块,用于若所述目标对应关系中有终端的状态不为活跃状态,则删除所述目标对应关系中该终端和对应的IP地址的对应关系,并根据该终端对应的IP地址,更新IP资源池。
第三方面,本申请还提供一种DHCP服务器,包括:处理器和存储器;
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面中的任一项所述的管理IP资源池的方法。
第四方面,本申请还提供一种存储介质,当所述存储介质中的指令由DHCP服务器的处理器执行时,使得所述DHCP服务器能够执行如第一方面中的任一项所述的管理IP资源池的方法。
另外,第二方面至第四方面中被处理单元执行时实现第一方面所述任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理,并不构成对本发明的不当限定。
图1是本发明实施例提供的一种管理IP资源池的方法的流程图;
图2是本发明实施例提供的一种请求IP的报文的过程示意图;
图3是本发明实施例提供的一种目标网络包含中继器后确定终端的状态的流程图;
图4是本发明实施例提供的一种目标网络不包含中继器后确定终端的状态的流程图;
图5是本发明实施例提供的一种报文的示意图;
图6是本发明实施例提供的一种基于ICMP协议的探测报文的示意图;
图7是本发明实施例提供的另一种目标网络不包含中继器后确定终端的状态的流程图;
图8是本发明实施例提供的一种DHCP服务器构建虚拟服务器的示意图;
图9是本发明实施例提供的一种向DHCP服务器请求IP地址的示意图;
图10是本发明实施例提供的一种判断终端是否存在消耗IP资源行为方法的流程图;
图11是本发明实施例提供的一种管理IP资源池的装置的结构图;
图12是本发明实施例提供的一种DHCP服务器的结构图。
具体实施方式
为了使本领域普通人员更好地理解本发明的技术方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。
目前,根据RFC协议标准,DHCP服务端为被动模式。服务端的资源管理机制不灵活,导致了在用户使用过程中极易造成IP资源的闲置。
为了避免上述情况,本发明实施例提出了一种解决方案,以下结合附图详细说明。
结合图1所示,本发明实施例提出一种管理IP资源池的方法,应用于DHCP服务器,包括:
S100:在满足预设条件之后,判断目标对应关系中每个终端的状态是否为活跃状态;其中,目标对应关系为终端标识和DHCP服务器分配给终端的IP地址的对应关系;
预设条件为达到更新周期;或
IP资源池中的IP地址的数量小于第一预设数量。
例如,更新周期为1个月,半个月等,对此本发明不做具体限制。
IP资源池为可用的IP地址,即可用的IP地址的数量比较少时,那么为了避免无法给新的终端分配IP地址,则进行更新IP资源池。
S101:若目标对应关系中有终端的状态不为活跃状态,则删除目标对应关系中该终端和对应的IP地址的对应关系,并根据该终端对应的IP地址,更新IP资源池。
其中,终端标识为终端的mac地址,目标对应关系如表1所示:
表1
Mac地址 | IP地址 |
Mac地址1 | IP地址a |
Mac地址2 | IP地址b |
Mac地址3 | IP地址c |
在满足预设条件之后,判断Mac地址1的状态是否活跃,如果活跃,那么表1中mac地址1和IP地址a对应关系不变,如果判断出Mac地址2的状态是否活跃,如果不活跃,那么目标对应关系变为表2,即没有mac地址2和对应的IP地址b。从而达到释放IP地址b的目的。
表2
Mac地址 | IP地址 |
Mac地址1 | IP地址a |
Mac地址3 | IP地址c |
其中,判断目标对应关系中每个终端的状态是否为活跃状态,包括:
针对目标对应关系中每个终端,通过以下部分或全部的方式判断终端的状态是否为活跃状态;
方式1:逐一向终端发送第一预设个数的终端对应的探测报文;其中,终端对应的探测报文是根据目标对应关系中适用于目标网络的通信特征构建的,目标网络为根据多个终端和DHCP服务器构建的网络;
若接收到终端发送的反馈报文的个数不超过第二预设个数,则确定终端的状态不为活跃状态;其中,第二预设个数小于所述第一预设个数;
若接收到终端发送的反馈报文的个数超过第二预设个数,则确定终端的状态为活跃状态;
为了避免发一次探测报文会有丢失的情况,导致判断不准确,本发明逐一向终端发送多个探测报文,如果多次接收到反馈,那么说明该终端是在线的。
其中,通过以下方式构建每个终端的探测报文:
若目标网络中包含中继器,则根据IPv4协议簇中的ICMP控制协议,构建每个终端的探测报文;
若目标网络中不包含中继器,则根据IPv4协议簇中的ICMP控制协议,构建每个终端的探测报文;或根据ARP协议,构建每个终端的探测报文。
其中:若终端的探测报文为根据IPv4协议簇中的ICMP控制协议构建的,则通过L3转发功能向所述终端发送所述终端的探测报文;
若终端的探测报文为根据ARP协议构建的,则通过linux原始套接字raw socket向所述终端发送终端的探测报文。
方式2:若在终端的mac地址下预设时间段内产生的流量大于预设流量,则确定终端的状态为活跃状态;其中,预设时间段为满足预设条件之前的时间段;
若在终端的mac地址下更新周期内产生的流量不大于预设流量,则确定终端的状态不为活跃状态。
方式2是为了确定终端在预设时间段上网情况,如果终端有上网,即会产生流量的,说明该终端是活跃的,如果没有上网,说明该终端在这段时间是不活跃的。
当预设条件为更新周期,那么预设时间段可以为更新周期;
当预设条件为IP资源池中的IP地址的数量小于预设数量,那么预设时间段可以为IP资源池中的IP地址的数量小于预设数量之前的一段时间,IP资源池中的IP地址的数量小于预设数量的时间点为12月10日上午10点,那么预设时间段可以为10月10日上午10点~12月10日上午10点。
示例性的,结合图2所示,在用户侧光猫通过桥接方式组网,将用户侧的DHCPv4会话信息通过以太网传输至云化网络的DHCP服务器上,云端的DHCPv4服务端收到报文后作出应答操作,从而实现RFC2131描述的DHCP discover/offer/request/ack交互分配IP的场景。在完成IP地址分配后,DHCP服务器填写相关的交互信息,如下表所示:
其中,index表示索引ID号,DHCP会话状态可以为offer/ack状态;终端状态为活跃状态Active,不活跃状态inactive,权限为Permit,Permit表示允许终端的请求报文来请求DHCP服务器分配IP地址,deny为禁止该终端的请求报文来DHCP服务器请求地址分配,分配IP地址为DHCP服务器分配给终端的IP地址。其中,权限为后续通过朴素贝叶斯算法判断流量是否为异常流量,如果是异常流量,那么设定权限为deny,禁止该终端来DHCP服务器请求IP地址分配。否则为Permit,允许该终端来DHCP服务器请求IP地址分配。
对于有无中继网场景,结合图3所示,若目标网络中存在中继器,终端发送请求IP的报文,到中继器中,中继器通过单播的方式到服务器,服务器反馈IP地址给终端,先到中继器,中继器反馈报文给服务器,服务器发送反馈报文给中继器,中继器发送IP地址给终端,终端发送反馈给中继器,中继器发送反馈给终端。
这样可以更新DHCP服务器的终端状态管理表,本发明还提出可以进行会话管理监控,同时,在进行探测时,构造基于ICMP控制协议的探测报文发送给终端,根据终端反馈的情况更新终端的状态。
结合图4所示,若目标网络中不存在中继器,则终端发送的请求IP的报文直接发送给DHCP服务器,当交互完成后,更新上述表格,并进行会话管理监控,同时,在进行探测时,构造基于ARP协议的探测报文发送给终端,根据终端反馈的情况更新终端的状态。
若目标网络中存在中继器时,因为中继器会修改DHCP请求报文,结合图3所示,中继器和DHCP服务器交互对于终端是透明的,此时使用ARP等并不能有效的获取终端的情况。于是会话管理线程会采用L3转发基于ICMP控制协议的探测报文来实现探测功能。
结合图5所示,例如,client IP address:192.168.7.2;your(client)IPaddress:192.168.7.2;为本次DHCP服务器分配的地址,relay agent IP address:192.168.7.1,为可用来分析是否包含中继器;client mac address:e4:0c:fd:f5:e2:df(e4:0c:fd:f5:e2:df),为终端的mac地址。
通过报文携带的DHCP头部携带终端的mac地址和IP信息,构造ICMP控制协议的探测报文发送给终端,其报文格式,结合图6所示:
终端的mac地址为DST_MAC,DHCP服务器的mac地址为SRC_MAC,ETHTYPE为以太网的字段0×0800,ipv4 header,src ip:192.168.71.1;dst ip:192.168.71.2,prototype:1;基于ICMP控制协议的探测报文,type:8;ICMP echo request。
终端收到探测报文后,进行应答,当DHCP服务器收到来自终端的应答信息,则更新会话管理表项的终端状态为active,反之则设置为inactive,对于设置为inactive的报文,会话管理线程将会对申请的IP资源进行释放,以达到提高资源利用率的目的。
如果目标网络不包括DHCP中继器,则从终端的报文经过桥接到达DHCPv4服务器不会被修改。当在会话建立以后,会话管理线程通过linux rawsocket(原始套接字)构造自定义的ARP报文发送给终端,终端收到报文后,会对该ARP做出应答发送给DHCP服务器。当DHCP服务器收到来自终端的应答响应以后,可以获得终端的mac list,若在终端的mac地址下预设时间段内产生的流量大于预设流量,则确定终端的状态为活跃状态;其中,预设时间段为满足预设条件之前的时间段;若在终端的mac地址下更新周期内产生的流量不大于预设流量,则确定终端的状态不为活跃状态。查找到设置状态为active,反之则是inactive状态。对于inactive状态的终端,将会被会话管理线程释放其对应的IP资源,来达到提高利用率的目的。
示例性的,结合图7所示,本发明实施例提供了一种判断终端是否活跃的方法,包括:
S700:达到更新周期后,使用ARP协议,构建每个终端的探测报文;
S710:通过linux原始套接字raw socket向终端发送终端的探测报文;即向给终端分配IP地址发送报文;
S720:获取IP地址下终端的mac地址,针对每个终端,在终端的mac地址下预设时间段内产生的流量大于预设流量时,终端为活跃状态,否则,终端为不活跃状态,反馈给状态管理表。
实际上,传统的DHCP服务器分配地址时,是新接入的终端分配新的IP地址,且规格容量较小的缺点。本发明提出虚拟服务器的概念,每个虚拟服务器包含多个IP地址,虚拟服务器为在DHCP服务器中构建的,从而得到扩容的效果。
详细来说:
在接收终端发送的请求IP地址的目标报文之后,若终端的权限为允许权限,则根据目标报文中的MPLS的标识号、Pvlan的标识号和Cvlan的标识号,确定关键值;其中,允许权限为允许终端请求DHCP服务器分配IP地址;
根据关键值和虚拟服务器的对应关系,确定终端的关键值对应的虚拟服务器;其中,所述虚拟服务器是在DHCP服务器中构建的;
根据终端的关键值对应的虚拟服务器的IP资源池,为终端分配IP地址;
若终端的权限为禁止权限,则将接收到的请求IP地址的目标报文丢弃;其中,禁止权限为禁止终端请求DHCP服务器分配IP地址。
结合图8所示和图9所示,DHCP服务器构建多个虚拟服务器,虚拟服务器1~M,每个虚拟服务器包括多个IP地址,例如,虚拟服务器7包括IP地址为1~n,在目标网络中的网络设备中添加mpls(Multi-Protocol Label Switching,多协议标签交换)功能,终端发送的请求IP的报文通过mpls功能的网络设备后,在报文中添加mpls的标识号,即mpls的ID,终端发送的请求IP的报文通过网络设备后,Pvlan的标识号和Cvlan的标识号,标识号可以为ID,然后通过目标报文中的MPLS的ID、Pvlan的ID和Cvlan的ID,确定关键值,然后根据关键值和虚拟服务器的对应关系,确定关键值对应的虚拟服务器。
例如,MPLS的ID为1,Pvlan的ID和Cvlan的ID为1024,确定的虚拟服务器为服务器的ID为0;
例如,MPLS的ID为100,Pvlan的ID和Cvlan的ID为1500,确定的虚拟服务器为服务器的ID为100。
实际上,用户侧存在通过修改DHCP报文首部达到模拟新终端上线的行为,而传统DHCP只要收到请求交互完成就会分配地址,如果终端不主动释放该IP,则在租期到期前都不会释放该IP,从而导致IP资源浪费。对此,本发明还提出:
若在包含目标报文的接收时间的第二预设时长内,接收到的请求IP地址的报文的数量超过第二预设数量,则向第二预设时长内接收到的多个请求IP地址的报文对应的目标终端发送探测报文;
若反馈探测报文的目标终端的数量不超过第三预设数量,则针对每个目标终端,根据目标终端在预设时间段内流量信息,确定目标终端是否存在消耗IP资源行为;
若目标终端存在消耗IP资源行为,则对目标终端添加禁止权限,以使添加禁止权限的目标终端无法获取DHCP服务器分配的IP地址。
对于发送报文探测报文,若所述目标网络中包含中继器,则根据IPv4协议簇中的ICMP控制协议,构建每个终端的探测报文;
若目标网络中不包含中继器,则根据IPv4协议簇中的ICMP控制协议,构建每个终端的探测报文;或根据ARP协议,构建每个终端的探测报文。
若终端的探测报文为根据IPv4协议簇中的ICMP控制协议构建的,则通过L3转发功能向终端发送终端的探测报文;
若终端的探测报文为根据ARP协议构建的,则通过linux原始套接字raw socket向终端发送终端的探测报文。
对于发送探测报文的过程如上述所示。
当目标网络中存在中继场景,则通过IPv4控制协议ICMP来对终端进行状态探测、通过分析对应终端的流量信息等手段综合决策终端状态。当构造报文发送给终端均无应答,且网络设备对终端报文统计为零,而中继器一直在发送DHCP会话报文,则分析该中继器处于模拟用户终端的攻击行为,此时资源守护线程将对该中继器申请的IP资源进行释放,将异常流量的报文特征参数、网络链路参数、协议特征、转发表入接口等信息作为输入值,输入到朴素贝叶斯决策树进行异常流量分析,当分析出为异常流量时,将该中继的mac地址对应会话管理表项的权限设置为deny,在该周期内dhcp服务器不会应答中继器的地址分配请求,使得该中继器下挂的终端在权限老化之前均无法申请资源访问网络。
当目标网络中没有中继器时,则分析dhcp头部和以太头部报文的特征。如果均来自同一个src mac的模拟终端上线来消耗资源的攻击行为,则对该终端释放其IP地址操作,同时对终端的权限设置为deny,进一步的,通过朴素贝叶斯算法决策树分析流量情况。如果不是来着同一个终端的报文(src mac和dhcp头部携带mac一致)则资源守护线程对终端进行分析,分别对终端发送探测报文,当没有反馈的终端的数量比较多,分析终端的流量,当分析出为异常流量时,将权限被设置为deny,该终端无法申请地址访问网络。
对于终端的权限,可以通过权限检测周期来检测的,即在权限检测周期开始时,将状态管理表中的终端的权限均设置为允许权限,如果在该权限检测周期内,状态管理表中的终端没有存在消耗IP资源行为,那么权限依旧为允许权限;状态管理表中的终端有存在消耗IP资源行为,那么权限依旧为禁止权限。
结合图10所示,本发明实施例提供了一种判断终端是否存在消耗IP资源行为的方法,包括:
S1000:若目标网络中包括中继器,向第二预设时长内接收到的多个请求IP地址的报文对应的目标终端发送探测报文;
S1001:若反馈探测报文的目标终端的数量不超过对应的预设数量,则针对每个目标终端,根据目标终端在预设时间段内流量信息,确定目标终端是否存在消耗IP资源行为;
S1002:若目标网络中不包括中继器,若数量大于对应的预设数量的报文均来自同一终端,则确定目标终端存在消耗IP资源行为;
进一步的,根据目标终端在预设时间段内流量信息确定为异常流量时,则确定目标终端存在消耗IP资源行为,更新状态管理表,即将状态管理表中的目标终端的权限设置为禁止权限;
其中,确定目标终端不存在消耗IP资源行为,更新状态管理表,即将状态管理表中的目标终端的权限设置为允许权限;
S1003:若数量大于对应的预设数量的报文不是均来自同一终端,则针对每个目标终端,根据目标终端在预设时间段内流量信息,确定目标终端是否存在消耗IP资源行为。
本发明实施例还提供了一种管理IP资源池的装置,应用于DHCP服务器结合图11所示,包括:
状态判断模块1100,用于在满足预设条件之后,判断目标对应关系中每个终端的状态是否为活跃状态;其中,所述目标对应关系为终端标识和DHCP服务器分配给终端的IP地址的对应关系;
更新模块1110,用于若所述目标对应关系中有终端的状态不为活跃状态,则删除所述目标对应关系中该终端和对应的IP地址的对应关系,并根据该终端对应的IP地址,更新IP资源池。
可选的,状态判断模块1100,具体用于:
针对所述目标对应关系中每个终端,通过以下部分或全部的方式判断所述终端的状态是否为活跃状态;
方式1:逐一向所述终端发送第一预设个数的所述终端对应的探测报文;其中,所述终端对应的探测报文是根据所述目标对应关系中适用于目标网络的通信特征构建的,所述目标网络为根据多个终端和DHCP服务器构建的网络;
若接收到所述终端发送的反馈报文的个数不超过第二预设个数,则确定所述终端的状态不为活跃状态;其中,所述第二预设个数小于所述第一预设个数;
若接收到所述终端发送的反馈报文的个数超过第二预设个数,则确定所述终端的状态为活跃状态;
方式2:若在所述终端的mac地址下预设时间段内产生的流量大于预设流量,则确定所述终端的状态为活跃状态;其中,所述预设时间段为满足预设条件之前的时间段;
若在所述终端的mac地址下所述更新周期内产生的流量不大于预设流量,则确定所述终端的状态不为活跃状态。
可选的,状态判断模块1100,具体用于:
若所述目标网络中包含中继器,则根据IPv4协议簇中的ICMP控制协议,构建每个终端的探测报文;
若所述目标网络中不包含中继器,则根据IPv4协议簇中的ICMP控制协议,构建每个终端的探测报文;或根据ARP协议,构建每个终端的探测报文。
可选的,其中:
若终端的探测报文为根据IPv4协议簇中的ICMP控制协议构建的,则通过L3转发功能向所述终端发送所述终端的探测报文;
若终端的探测报文为根据ARP协议构建的,则通过linux原始套接字raw socket向所述终端发送所述终端的探测报文。
可选的,所述预设条件为:
达到更新周期;或
所述IP资源池中的IP地址的数量小于第一预设数量。
可选的,所述装置还包括:
分配IP模块,用于在接收终端发送的请求IP地址的目标报文之后,若所述终端的权限为允许权限,则根据所述目标报文中的MPLS的标识号、Pvlan的标识号和Cvlan的标识号,确定关键值;其中,所述允许权限为允许终端请求DHCP服务器分配IP地址;
根据关键值和虚拟服务器的对应关系,确定所述终端的关键值对应的虚拟服务器;其中,所述虚拟服务器是在DHCP服务器中构建的;
根据所述终端的关键值对应的虚拟服务器的IP资源池,为所述终端分配IP地址;
若所述终端的权限为禁止权限,则将接收到的请求IP地址的目标报文丢弃;其中,所述禁止权限为禁止终端请求DHCP服务器分配IP地址。
可选的,所述装置还包括:
确定用户违规模块,用于若在包含所述目标报文的接收时间的第二预设时长内,接收到的请求IP地址的报文的数量超过第二预设数量,则向第二预设时长内接收到的多个请求IP地址的报文对应的目标终端发送探测报文;
若反馈探测报文的目标终端的数量不超过第三预设数量,则针对每个目标终端,根据所述目标终端在预设时间段内流量信息,确定所述目标终端是否存在消耗IP资源行为;
若所述目标终端存在消耗IP资源行为,则对所述目标终端添加禁止权限,以使添加禁止权限的所述目标终端无法获取DHCP服务器分配的IP地址。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由DHCP服务器的处理器执行以完成上述管理IP资源池的方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明实施例提供了一种DHCP服务器,包括:
包括:处理器和存储器;
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一项所述的管理IP资源池的方法。
基于上述的介绍,示例性的,提出了图12的DHCP服务器的结构。
DHCP服务器可以包括处理器1210以及存储有计算机程序指令的存储器1220。
具体地,上述处理器1210可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器1220可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器1220可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器1220可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1220可在数据处理装置的内部或外部。在特定实施例中,存储器1220是非易失性固态存储器。在特定实施例中,存储器1220包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器1210通过读取并执行存储器1220中存储的计算机程序指令,以实现上述实施例中的任意一种管理IP资源池的方法。
在一个示例中,DHCP服务器还可包括通信接口1230和总线1240。其中,如图12所示,处理器1210、存储器1220、通信接口1230通过总线1240连接并完成相互间的通信。
通信接口1230,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线1240包括硬件、软件或两者,将DHCP服务器的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1240可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
另外,结合上述实施例中的DHCP服务器,本发明实施例可提供一种存储介质,当所述存储介质中的指令由DHCP服务器的处理器执行时,使得所述DHCP服务器能够执行如上述任一项所述的管理IP资源池的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种管理IP资源池的方法,其特征在于,应用于DHCP服务器,包括:
在满足预设条件之后,判断目标对应关系中每个终端的状态是否为活跃状态;其中,所述目标对应关系为终端标识和DHCP服务器分配给终端的IP地址的对应关系;
若所述目标对应关系中有终端的状态不为活跃状态,则删除所述目标对应关系中该终端和对应的IP地址的对应关系,并根据该终端对应的IP地址,更新IP资源池。
2.根据权利要求1所述的管理IP资源池的方法,其特征在于,判断目标对应关系中每个终端的状态是否为活跃状态,包括:
针对所述目标对应关系中每个终端,通过以下部分或全部的方式判断所述终端的状态是否为活跃状态;
方式1:逐一向所述终端发送第一预设个数的所述终端对应的探测报文;其中,所述终端对应的探测报文是根据所述目标对应关系中适用于目标网络的通信特征构建的,所述目标网络为根据多个终端和DHCP服务器构建的网络;
若接收到所述终端发送的反馈报文的个数不超过第二预设个数,则确定所述终端的状态不为活跃状态;其中,所述第二预设个数小于所述第一预设个数;
若接收到所述终端发送的反馈报文的个数超过第二预设个数,则确定所述终端的状态为活跃状态;
方式2:若在所述终端的mac地址下预设时间段内产生的流量大于预设流量,则确定所述终端的状态为活跃状态;其中,所述预设时间段为满足预设条件之前的时间段;
若在所述终端的mac地址下所述更新周期内产生的流量不大于预设流量,则确定所述终端的状态不为活跃状态。
3.根据权利要求2所述的管理IP资源池的方法,其特征在于,通过以下方式构建每个终端的探测报文:
若所述目标网络中包含中继器,则根据IPv4协议簇中的ICMP控制协议,构建每个终端的探测报文;
若所述目标网络中不包含中继器,则根据IPv4协议簇中的ICMP控制协议,构建每个终端的探测报文;或根据ARP协议,构建每个终端的探测报文。
4.根据权利要求3所述的管理IP资源池的方法,其特征在于,其中:
若终端的探测报文为根据IPv4协议簇中的ICMP控制协议构建的,则通过L3转发功能向所述终端发送所述终端的探测报文;
若终端的探测报文为根据ARP协议构建的,则通过linux原始套接字raw socket向所述终端发送所述终端的探测报文。
5.根据权利要求1所述的管理IP资源池的方法,其特征在于,所述预设条件为:
达到更新周期;或
所述IP资源池中的IP地址的数量小于第一预设数量。
6.根据权利要求1~5任一项所述的管理IP资源池的方法,其特征在于,所述方法还包括:
在接收终端发送的请求IP地址的目标报文之后,若所述终端的权限为允许权限,则根据所述目标报文中的MPLS的标识号、Pvlan的标识号和Cvlan的标识号,确定关键值;其中,所述允许权限为允许终端请求DHCP服务器分配IP地址;
根据关键值和虚拟服务器的对应关系,确定所述终端的关键值对应的虚拟服务器;其中,所述虚拟服务器是在DHCP服务器中构建的;
根据所述终端的关键值对应的虚拟服务器的IP资源池,为所述终端分配IP地址;
若所述终端的权限为禁止权限,则将接收到的请求IP地址的目标报文丢弃;其中,所述禁止权限为禁止终端请求DHCP服务器分配IP地址。
7.根据权利要求6所述的管理IP资源池的方法,其特征在于,根据所述终端的关键值对应的虚拟服务器的IP资源池,为所述终端分配IP地址之后,所述方法还包括:
若在包含所述目标报文的接收时间的第二预设时长内,接收到的请求IP地址的报文的数量超过第二预设数量,则向第二预设时长内接收到的多个请求IP地址的报文对应的目标终端发送探测报文;
若反馈探测报文的目标终端的数量不超过第三预设数量,则针对每个目标终端,根据所述目标终端在预设时间段内流量信息,确定所述目标终端是否存在消耗IP资源行为;
若所述目标终端存在消耗IP资源行为,则对所述目标终端添加禁止权限,以使禁止权限的所述目标终端无法获取DHCP服务器分配的IP地址。
8.一种管理IP资源池的装置,其特征在于,应用于DHCP服务器,包括状态判断模块,用于在满足预设条件之后,判断目标对应关系中每个终端的状态是否为活跃状态;其中,所述目标对应关系为终端标识和DHCP服务器分配给终端的IP地址的对应关系;
更新模块,用于若所述目标对应关系中有终端的状态不为活跃状态,则删除所述目标对应关系中该终端和对应的IP地址的对应关系,并根据该终端对应的IP地址,更新IP资源池。
9.一种DHCP服务器,其特征在于,包括:处理器和存储器;
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至权利要求7中任一项所述的管理IP资源池的方法。
10.一种存储介质,其特征在于,包括:当所述存储介质中的指令由DHCP服务器的处理器执行时,使得所述DHCP服务器能够执行如权利要求1至权利要求7中的任一项所述的管理IP资源池的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111640607.2A CN114374670B (zh) | 2021-12-29 | 2021-12-29 | 管理ip资源池的方法、装置、dhcp服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111640607.2A CN114374670B (zh) | 2021-12-29 | 2021-12-29 | 管理ip资源池的方法、装置、dhcp服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114374670A true CN114374670A (zh) | 2022-04-19 |
CN114374670B CN114374670B (zh) | 2024-04-30 |
Family
ID=81141473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111640607.2A Active CN114374670B (zh) | 2021-12-29 | 2021-12-29 | 管理ip资源池的方法、装置、dhcp服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114374670B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331190A (zh) * | 2015-06-19 | 2017-01-11 | 中兴通讯股份有限公司 | Ip地址回收方法、装置及动态主机配置协议服务器 |
CN107707689A (zh) * | 2017-10-31 | 2018-02-16 | 迈普通信技术股份有限公司 | 一种dhcp报文处理方法、dhcp服务器及网关设备 |
US20180083918A1 (en) * | 2015-03-02 | 2018-03-22 | Nec Corporation | Information processing system, proxy server, address duplication prevention method, and computer-readable recording medium |
CN108076004A (zh) * | 2016-11-09 | 2018-05-25 | 中国移动通信有限公司研究院 | 用于客户端检测的ipoe认证方法、装置及服务器 |
CN110661897A (zh) * | 2018-06-29 | 2020-01-07 | 华为技术有限公司 | 管理地址的方法和装置 |
-
2021
- 2021-12-29 CN CN202111640607.2A patent/CN114374670B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180083918A1 (en) * | 2015-03-02 | 2018-03-22 | Nec Corporation | Information processing system, proxy server, address duplication prevention method, and computer-readable recording medium |
CN106331190A (zh) * | 2015-06-19 | 2017-01-11 | 中兴通讯股份有限公司 | Ip地址回收方法、装置及动态主机配置协议服务器 |
CN108076004A (zh) * | 2016-11-09 | 2018-05-25 | 中国移动通信有限公司研究院 | 用于客户端检测的ipoe认证方法、装置及服务器 |
CN107707689A (zh) * | 2017-10-31 | 2018-02-16 | 迈普通信技术股份有限公司 | 一种dhcp报文处理方法、dhcp服务器及网关设备 |
CN110661897A (zh) * | 2018-06-29 | 2020-01-07 | 华为技术有限公司 | 管理地址的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114374670B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9210124B2 (en) | Method, apparatus, and system for allocating public IP address | |
CN101179566B (zh) | 一种防御arp报文攻击的方法和装置 | |
CN106412142B (zh) | 一种资源设备地址获取方法及装置 | |
US10122679B2 (en) | Method, relay agent, and system for acquiring internet protocol address in network | |
WO2015085523A1 (zh) | 一种虚拟可扩展局域网的通信方法、装置和系统 | |
CN106533973B (zh) | 分发业务消息的方法、设备和系统 | |
CN106302322B (zh) | 一种虚拟机数据流管理方法和系统 | |
CN104378455A (zh) | Ip地址分配方法以及装置 | |
CN101834870A (zh) | 一种防止mac地址欺骗攻击的方法和装置 | |
US20140244733A1 (en) | Method, Apparatus, Device and System for Generating DHCP Snooping Binding Table | |
CN110445723B (zh) | 一种网络数据调度方法及边缘节点 | |
CN107690004B (zh) | 地址解析协议报文的处理方法及装置 | |
US10419392B2 (en) | Method, device and system for implementing address sharing | |
CN108667957B (zh) | Ip地址分配方法、第一电子设备以及第一服务器 | |
US10680930B2 (en) | Method and apparatus for communication in virtual network | |
KR100606005B1 (ko) | Ipc를 위한 아이피 주소 관리 방법 | |
CN109714376B (zh) | 一种固网报文的发送方法、装置及系统 | |
CN110958124B (zh) | 多播组管理方法、装置、可读存储介质、及计算机 | |
CN114374670B (zh) | 管理ip资源池的方法、装置、dhcp服务器及存储介质 | |
CN112511440B (zh) | 报文转发方法、系统、存储介质和电子设备 | |
CN107995125B (zh) | 一种流量调度方法及装置 | |
CN105791458B (zh) | 地址配置方法和装置 | |
WO2015085558A1 (zh) | 一种动态分配ip地址的方法、装置和系统 | |
CN114598675A (zh) | 基于arp实现主机阻断的控制方法、装置、设备及介质 | |
CN109921918B (zh) | 一种服务质量QoS控制方法及装置 |
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 |