发明内容
本发明的目的在于,提供通过探测客户端维护DHCP安全特性表的方法与装置,解决现有维护DHCP安全特性表实时性差的问题。
为达到上述发明目的,本发明提供一种通过探测客户端维护DHCP安全特性表的方法,该方法应用于客户端(DHCP Client)通过DHCP经由中继器(DHCP Relay)获得服务器(DHCP Server)提供的网络配置的网络,该方法包括:
所述中继器读取其上安全特性表项,根据该安全特性表项信息发送探测报文至该安全特性表项对应的客户端;
该中继器判断该客户端是否超时未响应该探测报文,是则判定该客户端不在线,对该安全特性表项进行老化处理。
其中,所述该中继器对该安全特性表项进行老化处理,包括有:该中继器删除该安全特性表项;以及该中继器构造DHCP Release报文发送至该安全特性表项对应的服务器(DHCP Server),通知其释放该安全特性表项对应的租约并回收对应的IP地址。
对于一种上述通过探测客户端维护DHCP安全特性表的方法,其中,所述探测报文可为ARP(Address Resolution Protocol,地址解析协议)报文,也可为ICMP(Internet Control and Message Protocol,因特网控制消息协议)PING报文,还可为其他任何能引起所述客户端响应的报文。
对于上述一种通过探测客户端维护DHCP安全特性表的方法,其中,所述该中继器判断该客户端是否超时未响应该探测报文的方法是:
该中继器上建立有超时链表,用于记录该中继器发送的探测报文;
该中继器以响应时限为周期,周期性查看该超时链表;
如果该超时链表中存在有探测报文未被响应,且该探测报文的发送时间加上该响应时限早于当前时间,则该中继器判定该探测报文对应的客户端超时未响应该探测报文;
其中,所述响应时限也可由用户根据该中继器实际处理能力和该中继器所处网络实际状况来设定。
对于上述一种通过探测客户端维护DHCP安全特性表的方法,其中,所述中继器周期性循环遍历其上安全特性表,分批读取该安全特性表中的安全特性表项;每批读取的安全特性表项的数量,及连续所述两批读取之间的探测时间间隔,均可由用户根据该中继器实际处理能力和该中继器所处网络实际状况设定。
如上所述,用于探测所述客户端的探测报文可为任何一种能引起该客户端响应的报文。这些多种多样的探测报文,有的可以经过三层设备,如ICMPPING报文;有的则不能,如ARP报文。对于客户端经由多级中继器获得服务器提供的网络配置的网络,只有如ICMP PING报文这样的单播三层报文才能从上级中继器透过中间的三层设备到达客户端,对客户端进行探测。但是,如果中继器到客户端之间或该客户端上装配有防火墙时,就有可能出现所述ICMP PING报文被所述防火墙拦截,并因此导致该中继器错误判定该ICMP PING报文超时未被响应,从而导致该中继器错误判定该客户端已不在线,以至该中继器错误地老化掉该客户端对应的安全特性表项。
所以,对于客户端经由多级中继器获得服务器提供的网络配置的网络,应用上述本发明提供的一种通过探测客户端维护DHCP安全特性表的方法时,对所述探测报文的选择存在诸多限制。
为了解决上述多级中继器情况下,应用上述一种通过探测客户端维护DHCP安全特性表的方法时,所述探测报文选择难的问题;本发明还提供另一种通过探测客户端维护DHCP安全特性表的方法,该方法应用于客户端通过DHCP经由中继器获得服务器提供的网络配置的网络。该方法包括:
所述中继器读取其上安全特性表项,判断该安全特性表项对应的客户端的网关中继器的IP地址是否等于该中继器的IP地址;
是则,该中继器发送探测报文至该客户端,并判断该客户端是否超时未响应该探测报文;是则判定该客户端不在线,对该安全特性表项进行老化处理,其中,用于判定所述该客户端是否超时未响应该探测报文的响应时限,可由用户根据该中继器实际处理能力和该中继器所处网络实际状况设定;
否则,该中继器发送代理探测请求至该网关中继器,指定该网关中继器代理探测该客户端;并根据该网关中继器回复该代理探测请求时返回的该客户端不在线状态信息,判定该客户端不在线,对该客户端对应的安全特性表项进行老化处理。
对于上述另一种通过探测客户端维护DHCP安全特性表的方法,其中,所述中继器上的安全特性表项,包括有该安全特性表项对应的客户端的网关中继器的IP地址信息。
对于上述另一种通过探测客户端维护DHCP安全特性表的方法,其中,所述中继器周期性循环遍历其上安全特性表,分批读取该安全特性表中安全特性表项;每批读取的安全特性表项的数量,及连续两批读取之间的探测时间间隔,均可由用户根据该中继器实际处理能力和该中继器所处网络实际状况设定。
对于上述另一种通过探测客户端维护DHCP安全特性表的方法,其中,所述判断该客户端是否超时未响应该探测报文的方法是:
所述中继器上建立有超时链表,用于记录该中继器发送的探测报文;
该中继器以响应时限为周期,周期性查看该超时链表;
如果该超时链表中存在有探测报文未被响应,且该探测报文的发送时间加上该响应时限早于当前时间,则该中继器判定该探测报文对应的客户端超时未响应该探测报文;
其中,所述响应时限也可由用户根据该中继器实际处理能力和该中继器所处网络实际状况来设定。
对于上述另一种通过探测客户端维护DHCP安全特性表的方法,该方法涉及的中继器,包括所述中继器及所述网关中继器,其上建立有代理请求表;该代理请求表用于记录发送至该中继器的代理探测请求。这样,该另一种通过探测客户端维护DHCP安全特性表的方法还包括;所述中继器老化处理其上安全特性表项的同时,查看其上代理请求表是否存在指定该中继器代理探测该安全特性表项对应的客户端的代理探测请求;是则,该中继器回复该代理探测请求,并将该代理探测请求从该代理请求表中删除。
对于上述另一种通过探测客户端维护DHCP安全特性表的方法,该方法还包括:所述中继器查看其上代理请求表中是否存在代理探测请求,该代理探测请求指定的网关中继器的IP地址不等于该中继器的IP地址;是则,该中继器转发该代理探测请求至该网关中继器,指定该网关中继器代理探测该代理探测请求对应的客户端;其中,该中继器周期性循环遍历其上代理请求表,分批查看该代理请求表中代理探测请求指定的网关中继器的IP地址;每批查看的代理探测请求的数量,以及连续两批查看之间的时间间隔,均可由用户根据该中继器实际处理能力和该中继器所处网络实际状况设定。
对于上述本发明提供的另一种通过探测客户端维护DHCP安全特性表的方法,该方法涉及的中继器通过使用DHCP ClientDetect报文(DHCP探测代理报文),进行所述发送代理探测请求及回复代理探测请求的操作。
该DHCP ClientDetect报文中各字段的定义如下:
option字段:标识该报文为DHCP ClientDetect报文,其中:该option字段的标识号(code)等于53,表示该报文为DHCP类型报文;该option字段的长度(length)等于1;该option字段的信息内容(value)等于10,表示该报文为DHCP ClientDetect报文;
op字段:该op字段等于1表示该报文为发送代理探测请求;该op字段等于2表示该报文为回复代理探测请求;
ciaddr字段:表示该代理探测请求对应的客户端的IP地址;
chaddr字段:表示该代理探测请求对应的客户端的MAC地址;
giaddr字段:表示该代理探测请求指定的网关中继器的IP地址;
yiaddr字段:表示发送该代理探测请求的中继器的IP地址;
siaddr字段:表示接收该代理探测请求的中继器的IP地址。
对于上述DHCP ClientDetect报文,所述代理探测请求对应的客户端的在线状态信息填充在该报文的seconds字段中,该seconds字段等于1表示该客户端不在线。
对于上述DHCP ClientDetect报文,该报文的htype字段、hlen字段、hops字段、transaction id字段、及flags字段的定义不变,其中flags字段等于0表示该报文只用单播。
对于上述DHCP ClientDetect报文,除上述被定义的字段外,该报文中的其余字段暂不被使用。
基于上述本发明提供的,应用于客户端通过DHCP经由中继器获得服务器提供的网络配置的网络,两种不同的通过探测客户端维护DHCP安全特性表的方法;本发明还提供一种通过探测客户端维护DHCP安全特性表的装置,应用于客户端通过DHCP经由中继器获得服务器提供的网络配置的网络。
该通过探测客户端维护DHCP安全特性表的装置,其安装于所述中继器中,包括有安全特性表项读取模块,客户端探测模块,及安全特性表项老化模块;其中:
所述安全特性表项读取模块,用于从该中继器上安全特性表中读取安全特性表项,并发送该安全特性表项信息至所述客户端探测模块;
所述客户端探测模块,用于根据上述安全特性表项信息发送探测报文至该安全特性表项对应的客户端;并判断该客户端是否超时未响应该探测报文,是则判定该客户端不在线,发送该客户端信息至所述安全特性表项老化模块;
所述安全特性表项老化模块,用于根据上述该客户端信息,对该客户端对应的安全特性表项进行老化处理;该老化处理包括有:删除该安全特性表项,以及构造DHCP Release报文通知该安全特性表项对应的服务器释放相应的租约、回收相应的IP地址。
对于上述通过探测客户端维护DHCP安全特性表的装置,所述安全特性表项读取模块读取所述安全特性表项的方式可以为:该安全特性表项读取模块周期性循环遍历该装置所处中继器上的安全特性表,分批读取该安全特性表中安全特性表项;其中,每批读取的安全特性表项的数量,及连续两批读取之间的时间间隔,由用户根据该装置所处中继器实际处理能力和该中继器所处网络实际状况设定。
对于上述通过探测客户端维护DHCP安全特性表的装置,该装置还包括有代理探测模块,用于发送/回复代理探测请求,以及接收该装置所处网络中其他所述中继器的发送/回复代理探测请求:
所述安全特性表项读取模块判断所述安全特性表项对应的客户端的网关中继器的IP地址是否等于该装置所处中继器的IP地址;是则发送该安全特性表项信息至所述探测客户端模块;否则发送该安全特性表项信息至所述代理探测模块;
所述代理探测模块根据该安全特性表项信息,发送所述代理探测请求至该网关中继器,指定该网关中继器代理探测该客户端;并根据该网关中继器回复该代理探测请求是返回的该客户端不在线状态信息,判定该客户端不在线,发送该客户端信息至所述安全特性表项老化模块;
所述安全特性表项老化模块,根据上述该客户端的信息,对该客户端对应的安全特性表项进行老化处理;该老化处理包括有删除该安全特性表项。
该通过探测客户端维护DHCP安全特性表的装置,通过增加所述代理探测模块,使得该装置应用于客户端通过DHCP经由多级中继器获得服务器提供的网络配置的网络时,对所述用来探测客户端的探测报文的选择无限制。
对于上述通过探测客户端维护DHCP安全特性表的装置,该装置应用于客户端通过DHCP经由多级中继器获得服务器提供的网络配置的网络时,对所述用来探测客户端的探测报文的选择无限制;该装置还包括有代理请求表和代理请求处理模块:
所述代理请求表,用于存储所述代理探测模块接收的代理探测请求;
所述代理请求处理模块,用于接收所述安全特性表项模块转发的客户端信息,并根据该客户端信息查看所述代理请求表,判断是否存在指定该装置所处中继器代理探测该客户端的代理探测请求;是则,该代理请求处理模块发送该代理探测请求至所述代理探测模块,使其回复该代理探测请求,同时该代理请求处理模块将该代理探测请求从所述代理请求表中删除。
对于上述通过探测客户端维护DHCP安全特性表的装置,所述代理请求处理模块查看所述代理请求表中是否存在有代理探测请求,该代理探测请求指定的网关中继器的IP地址不等于该装置所处中继器的IP地址;是则,该代理请求模块将该代理探测请求发送至所述代理探测模块,使其转发该代理探测请求至该网关中继器。
其中,所述代理请求处理模块查看所述代理请求表的方式可以为:该代理请求处理模块周期性循环遍历所述代理请求表,分批查看该代理请求表中代理探测请求指定的网关中继器的IP地址;并且,每批查看的代理探测请求的数量,以及连续两批查看之间的时间间隔,由用户根据该装置所处中继器实际处理能力和该中继器所处网络实际状况设定。
对比现有技术,本发明的主要优点在于通过探测客户端维护DHCP安全特性表,极大地提高了维护DHCP安全特性表的实时性和可靠性,具体分析如下:
1)通过探测客户端维护DHCP安全特性表的技术跳过了服务器释放租约环节,和现有握手检测服务器维护DHCP安全特性表的技术相比,安全特性表项的绝对最大老化延迟缩减了1/2租期部分,对实时老化异常下线的客户端对应的安全特性表项有了质的提高;
2)分批处理安全特性表中的安全特性表项,缩短了安全特性表的遍历周期,从而有效缩减了安全特性表项的相对最大老化延迟;
3)随着上述绝对最大老化延迟及相对最大老化延迟的有效缩减,使得中继器能及时通知服务器释放不在线客户端对应的租约,回收相应的IP地址,从而提高了服务器DHCP地址池的使用效率;
4)此外,通过探测客户端维护DHCP安全特性表技术直接对客户端进行探测,摆脱了对服务器的依赖,从而避开了由服务器端引入的不稳定性,如服务器没能及时回收IP地址、释放租约等,进而提高了DHCP安全特性表的可靠性。
具体实施方式
以使用ICMP(Internet Control and Message Protocol,因特网控制消息协议)PING报文作为探测报文为例,参照说明书附图中图2及图3,详细介绍本发明提供的一种通过探测客户端维护DHCP安全特性表的方法。
如图2所示,该方法应用于客户端(DHCP Client)通过DHCP经由中继器(DHCP Relay)获得服务器(DHCP Server)提供的网络配置的网络。
如图3所示,该方法的实现过程包括:
1-1)图2中所示中继器读取其上安全特性表项,根据该安全特性表项的IP地址及MAC地址信息,发送ICMP PING报文至图2中所示该安全特性表项对应的客户端;
该中继器读取其上安全特性表项的方式为:该中继器周期性循环遍历其上安全特性表,分批读取该安全特性表;其中,每批读取的安全特性表项的数量,以及连续两批读取之间的探测时间间隔,均可由用户根据该中继器实际处理能力和该中继器所处网络实际状况设定;
1-2)该中继器判断该客户端是否超时未响应该ICMP PING报文;
所述判断该客户端是否超时未响应的方法是:该中继器上建立有超时链表,用于记录该中继器发送的ICMP PING报文;该中继器以响应时限为周期,周期性查看该超时链表;如果该超时链表中存在有ICMP PING报文未被响应,且该ICMP PING报文的发送时间加上该响应时限早于当前时间,则该判定该ICMP PING报文对应的客户端超时未响应该ICMP PING报文;
其中,所述响应时限可由用户根据该中继器实际处理能力和该中继器所处网络实际状况来设定;
1-3)如果上述1-2)的判断结果为否,则该中继器判定该客户端在线,不做任何处理;
1-4)如果上述1-2)的判断结果为是,则该中继器判定该客户端不在线,对该安全特性表项进行老化处理;
所述老化处理包括:该中继器删除该安全特性表项;并构造DHCPRelease报文发送至图2所示该安全特性表项对应的服务器,通知其释放相应的租约、回收相应的IP地址。
使用ICMP PING报文作为探测报文对所述客户端进行探测,如果中继器到其上安全特性表项对应的客户端之间或者在该客户端上装配有防火墙,就可能出现由于ICMP PING报文被所述防火墙拦截而导致误判该ICMPPING报文超时未被响应,从而导致错误地判定该客户端已不在线,以至错误地删除该客户端对应的安全特性表项。也就是说,用ICMP PING报文作为探测报文对所述客户端进行探测,在网络中存在防火墙的情况下,不能保证探测所得的该客户端是否在线情况绝对准确。
和ICMP PING报文相比,使用ARP(Address Resolution Protocol,地址解析协议)报文作为探测报文对所述客户端进行探测更可靠,因为ARP报文通常都能通过同一网段内的防火墙。
以使用ARP请求报文作为探测报文为例,同样参照说明书附图中图2及图3,再次详细介绍本发明提供的一种通过探测客户端维护DHCP安全特性表的方法。
如图3所示,该方法的实现过程包括:
1-1)图2中所示中继器读取其上安全特性表项,根据该安全特性表项的IP地址及MAC地址信息,发送ARP请求至图2中所示该安全特性表项对应的客户端;
该中继器读取其上安全特性表项的方式为:该中继器周期性循环遍历其上安全特性表,分批读取该安全特性表中的安全特性表项;其中,每批读取的安全特性表项的数量,以及连续两批读取之间的探测时间间隔,均由用户根据该中继器实际处理能力和该中继器所处网络实际状况设定;
1-2)该中继器判断该客户端是否超时未响应该ARP请求;
所述判断该客户端是否超时未响应的方法是:该中继器上建立有超时链表,用于记录该中继器发送的ARP请求;该中继器以响应时限为周期,周期性查看该超时链表;如果该超时链表中存在有ARP请求未被响应,且该ARP请求的发送时间加上该响应时限早于当前时间,则该判定该ARP请求对应的客户端超时未响应该ARP请求;
其中,所述响应时限可由用户根据该中继器实际处理能力和该中继器所处网络实际状况来设定;
1-3)如果上述1-2)的判断结果为否,则该中继器判定该客户端在线,不做任何处理;
1-4)如果上述1-2)的判断结果为是,则该中继器判定该客户端不在线,对该安全特性表项进行老化处理;
所述老化处理包括有:该中继器删除该安全特性表项;并构造DHCPRelease报文发送至图2所示该安全特性表项对应的服务器,通知其释放相应的租约、回收相应的IP地址。
当然,也可用其他报文或协议对所述客户端进行探测,从而判断该客户端是否在线;甚至可以根据需要,现行开发客户端小软件来实现对所述客户端的探测;总之,探测客户端的原理是相同的,即向所述客户端发送能引起该客户端响应的探测报文,根据该客户端是否在响应时限内回复该探测报文来判定该客户端是否在线,从而实现对该客户端对应的DHCP安全特性表项进行及时的老化处理。
对于上述本发明提供的一种通过探测客户端维护DHCP安全特性表,每个表项的相对最大老化延迟,即从服务器上某个IP地址空闲到中继器上该IP地址对应的安全特性表项被删除的时间,其计算方法为:中继器上的表项数量÷该中继器每批读取的安全特性表项数量×探测时间间隔+响应时限。
并且,由于上述本发明提供的一种通过探测客户端维护DHCP安全特性表的方法跳过了服务器释放租约环节,从而使得,每个安全特性表项的绝对最大老化延迟,即从客户端异常下线到中继器上该客户端对应的安全特性表项被删除的时间,其计算方法同上述相对最大老化延迟的计算方法。
以背景技术中计算DHCP安全特性表项的相对最大老化延迟及绝对最大老化延迟的数据为例:服务器配置租期为1天,中继器上安全特性表项数为2000,探测时间间隔为5秒,该中继器每批读取100个安全特性表项,客户端响应探测报文的响应时限为5秒。
这样,上述本发明提供的一种通过探测客户端维护DHCP安全特性表的方法中,安全特性表项的绝对最大老化延迟及相对最大老化延迟分别为:
通过探测客户端维护DHCP安全特性表的方法中表项的相对最大老化延迟=(2000÷100)×5(探测时间间隔)+5(响应时限)=105秒;
通过探测客户端维护DHCP安全特性表的方法中表项的绝对最大老化延迟=(2000÷100)×5(探测时间间隔)+5(响应时限)=105秒。
而在背景技术中,即使将上述探测时间间隔缩减至最短1秒,握手检测服务器维护DHCP安全特性表的表项的相对/绝对老化延迟时间分别为:
握手检测服务器维护DHCP安全特性表的方法中表项的相对最大老化延迟=2000秒;
握手检测服务器维护DHCP安全特性表的方法中表项的绝对最大老化延迟=2000秒+(12,24)小时。
对比可见,本发明所提供的一种通过探测客户端维护DHCP安全特性表的方法,相比现有握手检测服务器技术,极大提高了维护DHCP安全特性表的实时性。最重要的是,对于异常下线的客户端,上述一种通过探测客户端维护DHCP安全特性表的方法仍然有效。
如上所述,用于探测所述客户端的探测报文是多种多样,有的可以经过三层设备,如ICMP PING报文;有的则不能,如ARP报文。对于客户端经由多级中继器获得服务器提供的网络配置的网络,只有如ICMP PING这样的单播三层报文才能从上级中继器透过中间的三层设备到达客户端,对客户端进行探测。但是,同样如上所述,利用ICMP PING报文作为探测报文对所述客户端进行探测,在网络中存在防火墙时,并不能保证探测所得的该客户端在线状态绝对准确。也就是说,对于客户端经由多级中继器获得服务器提供的网络配置的网络,应用上述本发明提供的一种通过探测客户端维护DHCP安全特性表的方法时,对所述探测报文的选择存在诸多限制。
为了解决上述多级中继器情况下,应用上述一种通过探测客户端维护DHCP安全特性表的方法时,所述探测报文选择难的问题;本发明还提供另一种通过探测客户端维护DHCP安全特性表的方法。参照说明书附图中图4及图5,详细介绍该方法。
如图4所示,该方法应用于客户端(DHCP Client)通过DHCP经由多级中继器(DHCP Relay)获得服务器(DHCP Server)提供的网络配置的网络;其中,图4中将所述多级中继器简示为包括有:中继器,也就是第一级中继器;以及网关中继器,也就是第二级中继器。
如图5所示,该方法的实现过程包括:
2-1)图4中所示中继器读取其上安全特性表项,判断该安全特性表项对应的客户端的网关中继器的IP地址是否等于该中继器的IP地址;
该中继器处理其上安全特性表项的方式为:该中继器上安全特性表项还包括有该安全特性表项对应的客户端的网关中继器的IP地址;该中继器周期性循环遍历其上安全特性表,分批查看该安全特性表中的安全特性表项中网关中继器的IP地址;
其中,每批处理的安全特性表项的数量,以及连续两批处理之间的探测时间间隔,均可由用户根据该中继器实际处理能力和该中继器所处网络实际状况设定;
2-2)如果上述2-1)的判断结果为是,则该中继器发送探测报文至图4中所示该安全特性表项对应的客户端,进行直接探测;并判断该客户端是否超时未响应该探测报文;
所述判断该客户端是否超时未响应该探测报文的方法是:该中继器上建立有超时链表,用于记录该中继器发送的探测报文;该中继器以响应时限为周期,周期性查看该超时链表;如果该超时链表中存在有探测报文未被响应,且该探测报文的发送时间加上该响应时限早于当前时间,则该判定该探测报文对应的客户端超时未响应该探测报文;其中,所述响应时限可由用户根据该中继器实际处理能力和该中继器所处网络实际状况来设定;
2-2-1)如果上述2-2)的判断结果为否,则该中继器判定该客户端在线,不做任何处理;
2-2-2)如果上述2-2)的判断结果为是,则该中继器判定该客户端不在线,对该安全特性表项进行老化处理;
所述老化处理包括有:该中继器删除该安全特性表项;并构造DHCPRelease报文发送至图4所示该安全特性表项对应的服务器,通知其释放相应的租约、回收相应的IP地址。
2-3)如果上述2-1)的判断结果为否,则该中继器发送代理探测请求至图4中所示该安全特性表项对应的网关中继器,指定该网关中继器代理探测图4中所示该安全特性表项对应的客户端;并判断该网关中继器是否回复该代理探测请求时返回了该客户端不在线状态信息;
2-3-1)如果上述2-3)的判断结果为否,则该中继器判定该客户端在线,不做任何处理;
2-3-2)如果上述2-3)的判断结果为是,则该中继器判定该客户端不在线,对该安全特性表项进行老化处理;
由于该网关中继器在判定该客户端不在线后,对其上该客户端对应的安全特性表项进行老化处理时,已构造DHCP Release报文发送至图4中所示服务器;因此,该中继器进行该2-3-2)中所述老化处理时,无需再构造DHCP Release报文通知该服务器释放相应的租约、回收相应的IP地址,而只需删除该安全特性表项;
2-4)执行上述2-2-2)和2-3-2)后,该中继器查看其上代理请求表,判断是否存在有代理探测请求,该代理探测请求指定该中继器代理探测该客户端;
如果该2-4)的判断结果为是,则该中继器回复该代理探测请求,并将该代理探测请求从该代理请求表中删除;
其中,所述代理请求表用于记录发送至该中继器的代理探测请求。
2-5)该中继器查看其上代理请求表,判断是否存在有代理探测请求,该代理探测请求指定的网关中继器的IP地址不等于该中继器的IP地址;
如果该2-5)的判断结果为是,则该中继器转发该代理探测请求至该网关中继器,指定该网关中继器代理探测该代理探测请求对应的客户端;
其中,该中继器查看其上代理请求表的方式为:该中继器周期性循环遍历其上代理请求表,分批查看该代理请求表中代理探测请求指定的网关中继器的IP地址;每批查看的代理探测请求的数量,以及连续两批查看之间的时间间隔,均可由用户根据该中继器实际处理能力和该中继器所处网络实际状况设定;
本领域技术人员通过阅读上述2-5)的相关介绍,应该能够领悟:该中继器通过周期性循环遍历其上代理请求表,判断该代理请求表中代理探测请求指定的网关中继器是否为该中继器,使得该中继器能及时探知网络拓扑改变对客户端通过DHCP获得的网络配置所产生的影响;并且通过转发该代理探测请求,使得该中继器在网络拓扑改变时仍能实时维护其上DHCP安全特性表。也就是说,通过上述于中继器上建立代理请求表,集中管理所述代理探测请求,使得本发明技术方案能够适应网络拓扑的改变,从而有效提高本发明技术方案的容错性和健壮性。
对于上述本发明提供的另一种通过探测客户端维护DHCP安全特性表的方法,每个表项的相对最大老化延迟,即从服务器上某个IP地址空闲到中继器上该IP地址对应的安全特性表项被删除的时间,其计算方法为:
第一级中继器上的安全特性表项数量÷该第一级中继器每批处理的安全特性表项数量×探测时间间隔+第二级中继器上的安全特性表项数量÷该第二级中继器每批处理的安全特性表项数量×探测时间间隔+(……+)响应时限。
并且,由于上述本发明提供的另一种通过探测客户端维护DHCP安全特性表的方法,跳过了服务器释放租约环节,从而使得,每个表项的绝对最大老化延迟,即从客户端异常下线到中继器上该客户端对应的安全特性表项被删除的时间,其计算方法同上述相对最大老化延迟的计算方法。
如果假设:所有中继器上的安全特性表项数量相等;所有中继器的探测时间间隔也相等;所有中继器每批处理的安全特性表项数量也相等;以及,通过N(N为不小于2的自然数)级中继完成一次所述探测客户端。
同样以背景技术中计算DHCP安全特性表项的相对最大老化延迟及绝对最大老化延迟的数据为例:服务器配置租期为1天,中继器上安全特性表项数为2000,探测时间间隔为5秒,每批处理100个所述安全特性表项,客户端响应探测报文的响应时限为5秒。
这样,上述本发明提供的另一种通过探测客户端维护DHCP安全特性表的方法,应用于客户端通过DHCP经由多级中继器获得服务器提供的网络配置的网络时,每个安全特性表项的绝对最大老化延迟及相对最大老化延迟分别为:
另一种通过探测客户端维护DHCP安全特性表的方法中表项的相对最大老化延迟=(2000÷100)×5(探测时间间隔)×N+5(响应时限)
=100×N+5秒;
另一种通过探测客户端维护DHCP安全特性表的方法中表项的绝对最大老化延迟=(2000÷100)×5(探测时间间隔)×N+5(响应时限)
=100×N+5秒。
一般情况下,N等于2就足够完成一次跨网络的客户端探测;这样,上述另一种通过探测客户端维护DHCP安全特性表的方法中安全特性表项的绝对最大老化延迟及相对最大老化延迟,其计算值可进一步具体为:
2级中继器时另一种通过探测客户端维护DHCP安全特性表的方法中表项的相对最大老化延迟=(2000÷100)×5(探测时间间隔)×2+5(响应时限)
=205秒;
2级中继器时另一种通过探测客户端维护DHCP安全特性表的方法中表项的绝对最大老化延迟=(2000÷100)×5(探测时间间隔)×2+5(响应时限)
=205秒。
由此可见,由于引入了中继代理探测行为,相比前述本发明提供的一种通过探测客户端维护DHCP安全特性表的方法中的直接探测,该另一种通过探测客户端维护DHCP安全特性表的方法中安全特性表项的相对最大老化延迟以及绝对最大老化延迟均有所增加,从105秒增加到205秒。但是,相比现有技术中的握手检测服务器维护DHCP安全特性表的方法,其安全特性表项的相对最大老化延迟为2000秒,而其安全特性表项的绝对最大老化时间为(2000秒+(12,24)小时),该另一种通过探测客户端维护DHCP安全特性表的方法,仍极大提高了维护DHCP安全特性表的实时性。
最重要的是,对于异常下线的客户端,该本发明提供的另一种通过探测客户端维护DHCP安全特性表的方法,同前述本发明提供的一种通过探测客户端维护DHCP安全特性表的方法一样,仍然有效。
对于上述本发明提供的另一种通过探测客户端维护DHCP安全特性表的方法,该方法涉及的中继器通过使用DHCP ClientDetect报文(DHCP探测代理报文),进行所述发送代理探测请求及回复代理探测请求的操作。
参照说明书附图中图6,对该DHCP ClientDetect报文(DHCP探测代理报文)的定义详细解释如下:
如图6所示,该报文的报文格式为:该报文中option字段的标识号code等于53,表示该报文为DHCP类型报文;该option字段的长度length等于1;该option字段的信息内容value等于10,表示该报文为DHCP ClientDetect报文(DHCP探测代理报文);
如图6所示,该报文包含的字段还有op字段、htype字段、hlen字段、hops字段、transaction id字段、seconds字段、flags字段、ciaddr字段、yiaddr字段、siaddr字段、giaddr字段等;其中,
该op字段定义为:该op字段等于1表示该报文为发送代理探测请求,该op字段等于2表示该报文为回复代理探测请求;
该htype字段定义不变,表示网络硬件地址类别,等于1表示以太网Ethernet类型;
该hlen字段定义不变,表示网络硬件地址长度,等于6表示以太网Ethernet类型的MAC地址;
该hops字段定义不变,表示当前的DHCP报文经过的中继器的数目;若该DHCP报文封包需经中继器传送,每站加1;若在同一网内,则等于0;
该transaction id字段定义不变,为标识一个会话的随机数;
该seconds字段定义为:表示该代理探测请求对应的客户端的在线状态信息,该seconds字段等于1表示该客户端不在线;
该flags字段定义不变,对于该DHCP ClientDetect报文来说,该flags字段等于0,表示该报文只用单播;
该ciaddr字段定义为:表示该代理探测请求对应的客户端的IP地址;
该siaddr字段定义为:表示接收该代理探测请求的中继器的IP地址;大多数情况下,该siaddr字段等于该报文的giaddr字段;
该yiaddr字段定义为:表示该代理探测请求指定的网关中继器的IP地址;
该giaddr字段定义为:表示发送该代理探测请求的中继器的IP地址;
该chaddr字段定义为:表示该代理探测请求对应的客户端的MAC地址;
除上述被介绍的字段外,该DHCP ClientDetect报文中的其余字段暂不被使用。
基于上述本发明提供的,应用于客户端通过DHCP经由中继器获得服务器提供的网络配置的网络,两种不同的通过探测客户端维护DHCP安全特性表的方法;本发明还提供一种通过探测客户端维护DHCP安全特性表的装置。下面参照说明书附图中图7对该装置进行详细介绍。
如图7所示,该通过探测客户端维护DHCP安全特性表的装置,应用于客户端通过DHCP经由中继器获得服务器提供的网络配置的网络,其安装于该网络中所述中继器上。
如图7所示,该通过探测客户端维护DHCP安全特性表的装置,包括有:安全特性表项读取模块,客户端探测模块,安全特性表项老化模块:
所述安全特性表项读取模块,用于从该中继器上安全特性表中读取安全特性表项,并发送该安全特性表项信息至所述客户端探测模块;其中,该安全特性表项读取模块读取所述安全特性表项的方式可以为:该安全特性表项读取模块周期性循环遍历该装置所处中继器上的安全特性表,分批读取该安全特性表中安全特性表项;每批读取的安全特性表项的数量,及连续两批读取之间的时间间隔,由用户根据该装置所处中继器实际处理能力和该中继器所处网络实际状况设定;
所述客户端探测模块,用于根据上述安全特性表项信息发送探测报文至该安全特性表项对应的客户端;并判断该客户端是否超时未响应该探测报文,是则判定该客户端不在线,发送该客户端信息至所述安全特性表项老化模块;
所述安全特性表项老化模块,用于根据上述该客户端信息,对该客户端对应的安全特性表项进行老化处理;该老化处理的操作包括有:该安全特性表项老化模块删除该安全特性表项;并构造DHCP Release报文至图7中所示该安全特性表项对应的服务器,通知其释放相应的租约以及回收相应的IP地址。
如图7所示,该通过探测客户端维护DHCP安全特性表的装置,还包括有代理探测模块,用于发送/回复代理探测请求,以及接收该装置所处网络中其他所述中继器的发送/回复代理探测请求:
所述安全特性表项读取模块判断所述安全特性表项对应的客户端的网关中继器的IP地址是否等于该装置所处中继器的IP地址;是则发送该安全特性表项信息至所述探测客户端模块;否则发送该安全特性表项信息至所述代理探测模块;
所述代理探测模块根据该安全特性表项信息,发送所述代理探测请求至该网关中继器,指定该网关中继器代理探测该客户端;并判断该网关中继器是否已回复该代理探测请求,是则判定该客户端不在线,发送该客户端信息至所述安全特性表项老化模块;
所述安全特性表项老化模块,根据上述该客户端的信息,对该客户端对应的安全特性表项进行老化处理;该老化处理的操作包括有:该安全特性表项老化模块删除该安全特性表项。
本领域技术人员经阅读上述文字可以知悉:通过增加所述代理探测模块,使得该通过探测客户端维护DHCP安全特性表的装置,应用于客户端通过DHCP经由多级中继器获得服务器提供的网络配置的网络时,对所述用来探测客户端的探测报文的选择无特殊要求。
如图7所示,该通过探测客户端维护DHCP安全特性表的装置,还包括有代理请求表和代理请求处理模块:
所述代理请求表,用于存储所述代理探测模块接收的代理探测请求;
所述代理请求处理模块,用于接收所述安全特性表项模块转发的客户端信息,并根据该客户端信息查看所述代理请求表,判断是否存在指定该装置所处中继器代理探测该客户端的代理探测请求;是则,该代理请求处理模块发送该代理探测请求至所述代理探测模块,使其回复该代理探测请求,同时该代理请求处理模块将该代理探测请求从所述代理请求表中删除。
图7中所示代理请求处理模块还可执行如下操作:该代理请求处理模块查看所述代理请求表中是否存在有代理探测请求,该代理探测请求指定的网关中继器的IP地址不等于该装置所处中继器的IP地址;是则,该代理请求模块将该代理探测请求发送至所述代理探测模块,使其转发该代理探测请求至该网关中继器;
其中,该代理请求处理模块查看所述代理请求表的方式可以为:该代理请求处理模块周期性循环遍历所述代理请求表,分批查看该代理请求表中代理探测请求指定的网关中继器的IP地址;并且,每批查看的代理探测请求的数量,以及连续两批查看之间的时间间隔,由用户根据该装置所处中继器实际处理能力和该中继器所处网络实际状况设定。
本领域技术人员结合前述关于本发明提供的另一种通过探测客户端维护DHCP安全特性表的方法的介绍,理解此处相应的装置说明文字,能够明白:本发明提供的通过探测客户端维护DHCP安全特性表的装置,应用于客户端通过DHCP经由中继器获得服务器提供的网络配置的网络;而且当所述中继器为多级中继器时,应用该装置进行所述通过探测客户端维护DHCP安全特性表,对选择用于探测客户端的探测报文无特殊要求;此外,该装置还能适应网络拓扑的改变。也就是说,该通过探测客户端维护DHCP安全特性表的装置,能够全线满足维护DHCP安全特性表的实时性、可靠性、健壮性等多方面需求。
需要声明的是,上述发明内容及具体实施方式意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理内,当可作各种修改、等同替换、或改进。本发明的保护范围以所附权利要求书为准。