基于动态主机配置协议连接局域网的方法、装置及系统的制作方法

文档序号:7813979阅读:150来源:国知局
基于动态主机配置协议连接局域网的方法、装置及系统的制作方法
【专利摘要】本发明的实施例公开一种基于动态主机配置协议连接局域网的方法、装置及系统。基于动态主机配置协议连接局域网的方法包括:在驱动层截获来自动态主机配置协议DHCP客户端的DHCP请求包;根据截获的DHCP请求包,为所述DHCP客户端配置局域网参数,并携带在DHCP请求响应中,发送至所述DHCP客户端,以使所述DHCP客户端根据接收的DHCP请求响应中的局域网参数,接入所述局域网参数对应的局域网。应用本发明,可以提升DHCP客户端接入局域网的成功率。
【专利说明】基于动态主机配置协议连接局域网的方法、装置及系统

【技术领域】
[0001] 本发明涉及计算机网络通信技术,尤其涉及一种基于动态主机配置协议(DHCP, Dynamic Host Configuration Protocol)连接局域网的方法、装置及系统。

【背景技术】
[0002] DHCP是一种局域网网络协议,基于客户端/服务器(C/S,Client/Server)工作模 式,涉及DHCP客户端(简称客户端)以及DHCP服务器(简称服务器),通过该协议,DHCP 服务器可以对局域网内的IP地址进行集中管理和自动分配,为需要进行局域网连接的客 户端分配IP地址并提供客户端配置参数,并及时回收局域网中DHCP客户端的IP地址。由 于可以有效利用局域网内有限的IP地址资源,因而,在大、中、小型局域网中得到了广泛应 用,尤其在高校校园局域网、大中型企业内部局域网中,在IP地址资源缺乏的情况下,由于 不可能为这些局域网内的每一客户端分配一 IP地址,使得通过DHCP为局域网中的客户端 分配IP地址成为一种较佳的选择方案。
[0003] 图1为现有基于DHCP连接局域网的方法流程示意图。参见图1,该流程包括:
[0004] 步骤101,DHCP服务器在应用层绑定DHCP端口,并通过该绑定的DHCP端口监听 DHCP客户端的DHCP请求;
[0005] 本步骤中,绑定的DHCP端口号一般为67。
[0006] 步骤102, DHCP客户端建立局域网连接时,发起DHCP请求;
[0007] 本步骤中,当DHCP客户端需要接入局域网时,构建DHCP请求并向DHCP服务器发 送。
[0008] 步骤103, DHCP服务器应用层的绑定DHCP端口监听到DHCP请求,为DHCP客户端 配置局域网参数,并携带在DHCP请求响应中,返回至DHCP客户端;
[0009] 本步骤具体包括:
[0010] DHCP客户端发送标识DHCP请求的DHCP DISCOVER广播包,在网络上查询DHCP服 务器;
[0011] DHCP服务器应用层的绑定DHCP端口监听到DHCP DISCOVER广播包,向DHCP客户 端发送包含配置的局域网参数的DHCP OFFER单播数据包;
[0012] 本步骤中,局域网参数包含:IP地址、子网掩码、媒体访问控制(MAC,Media Access Control)地址、域名(DN, Domain Name)信息以及地址租期信息等。
[0013] DHCP客户端发送DHCP REQUEST广播包,向DHCP服务器请求分配接收的局域网参 数中的IP地址;
[0014] DHCP服务器应用层的绑定DHCP端口监听到DHCP REQUEST广播包,向DHCP客户端 发送标识DHCP请求响应的DHCP ACK单播包,确认DHCP客户端的DHCP请求。
[0015] 步骤104, DHCP客户端根据返回的DHCP请求响应中的局域网参数,接入DHCP服务 器所在的局域网。
[0016] 由上述可见,现有基于DHCP连接局域网的方法,DHCP服务器通过在应用层绑定 DHCP端口,并通过该绑定的DHCP端口监听DHCP客户端的DHCP请求,如果监听到DHCP请 求,则为DHCP客户端配置局域网参数以使1)呢13客户端根据配置的局域网参数接入局域网。 但该方法,由于通过绑定的DHCP端口进行监听,如果在一 DHCP客户端的DHCP请求到来时, 该DHCP端口被另一 DHCP客户端占用,即DHCP端口正在处理该另一 DHCP客户端0^DHCP请 求,将导致DHCP端口监听不到该一 DHCP客户端的DHCP请求,导致该一 DHCP客户接入局 域网失败,使得DHCP客户端接入局域网的成功率较低;进一步地,DHCP服务器中的一些网 卡,由于版本及型号较老,在应用层并不支持近年来新出现的无线局域网通彳旨,例如,无线 保真(WiFi,Wireless Fidelity)局域网通信,因而,在应用层接收到DHCP请求后,会直接 拒绝该DHCP请求,从而也导致DHCP客户端接入局域网的成功率较低。


【发明内容】

[0017] 有鉴于此,本发明实施例提供一种基于动态主机配置协议连接局域网的方法、装 置及系统,提升DHCP客户端接入局域网的成功率。
[0018] 为达到上述目的,本发明的实施例采用如下技术方案:
[0019] 一方面,本发明实施例提供一种基于动态主机配置协议连接局域网的方法,包 括:
[0020] 在驱动层截获来自动态主机配置协议DHCP客户端的DHCP请求包;
[0021] 根据截获的DHCP请求包,为所述DHCP客户端配置局域网参数,并携带在DHCP请 求响应中,发送至所述DHCP客户端,以使所述DHCP客户端根据接收的DHCP请求响应中的 局域网参数,接入所述局域网参数对应的局域网。
[0022] 本发明实施例提供的基于动态主机配置协议连接局域网的方法,通过在驱动层对 DHCP请求包进行拦截,使之不发送至应用层的DHCP端口,并依序为拦截的DHCP请求包进行 局域网参数配置,以使发送DHCP请求包的DHCP客户端根据局域网参数接入局域网。避免 了应用层DHCP端口被一 DHCP客户端占用,导致其它DHCP客户端接入局域网失败的情形, 有效提升DHCP客户端接入局域网的成功率;进一步地,通过在驱动层对DHCP请求包进行处 理,可以避免应用层不支持无线局域网通信,从而直接拒绝DHCP请求包的情形,进一步提 升DHCP客户端接入局域网的成功率。
[0023] 另一方面,本发明实施例提供一种基于动态主机配置协议连接局域网的装置,包 括:截获模块、配置模块以及输出模块,其中,
[0024] 截获模块,用于在驱动层截获来自动态主机配置协议DHCP客户端的DHCP请求 包;
[0025] 配置模块,用于根据截获模块截获的DHCP请求包,为所述DHCP客户端配置局域网 参数,将配置的局域网参数信息输出至输出模块;
[0026] 输出模块,用于将接收的局域网参数信息封装在DHCP请求响应中,发送至所述 DHCP客户端,以使所述DHCP客户端根据接收的DHCP请求响应中的局域网参数,接入所述局 域网参数对应的局域网。
[0027] 本发明实施例提供的基于动态主机配置协议连接局域网的装置,截获模块通过在 驱动层对DHCP请求包进行拦截,配置模块依序为拦截的DHCP请求包进行局域网参数配置, 输出模块输出局域网参数信息以使发送DHCP请求包的DHCP客户端根据局域网参数接入局 域网。避免了应用层DHCP端口被一 DHCP客户端占用导致的其它DHCP客户端接入失败,有 效提升DHCP客户端接入局域网的成功率;进一步地,截获模块和配置模块在驱动层对DHCP 请求包进行处理,可以避免应用层不支持或不兼容拒绝DHCP请求包的情形,进一步提升 DHCP客户端接入局域网的成功率。
[0028] 再一方面,本发明实施例提供一种基于动态主机配置协议连接局域网的系统,包 括:DHCP客户端以及DHCP服务器,其中,
[0029] DHCP客户端,用于在需要接入局域网时,向DHCP服务器发送DHCP请求包;解析接 收的DHCP请求响应,获取局域网参数,按照获取的局域网参数接入局域网;
[0030] DHCP服务器,用于在驱动层截获来自DHCP客户端的DHCP请求包,为所述DHCP客 户端配置局域网参数,将配置的局域网参数信息封装在DHCP请求响应中,发送至所述DHCP 客户端。
[0031] 本发明实施例提供的基于动态主机配置协议连接局域网的系统,DHCP服务器在驱 动层对DHCP请求包进行拦截,为拦截的DHCP请求包进行局域网参数配置,以使发送DHCP 请求包的DHCP客户端根据局域网参数接入局域网。避免了应用层DHCP端口被一 DHCP客 户端占用,导致其它DHCP客户端接入局域网失败的情形,有效提升DHCP客户端接入局域网 的成功率;进一步地,通过在驱动层对DHCP请求包进行处理,可以避免应用层不支持引起 的拒绝DHCP请求包的情形,可以进一步提升DHCP客户端接入局域网的成功率。

【专利附图】

【附图说明】
[0032] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其它的附图。
[0033] 图1为现有基于DHCP连接局域网的方法流程示意图;
[0034]图2为本发明实施例基于动态主机配置协议连接局域网的方法流程示意图; [0035] 图3为本发明实施例基于动态主机配置协议连接局域网的方法具体流程示意图;
[0036]图4为本发明实施例基于动态主机配置协议连接局域网的装置结构示意图; [0037]图5为本发明实施例基于动态主机配置协议连接局域网的系统结构示意图。

【具体实施方式】
[0038]下面结合附图对本发明实施例进行详细描述。
[0039] 应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基 于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其 它实施例,都属于本发明保护的范围。
[0040]图2为本发明实施例基于动态主机配置协议连接局域网的方法流程示意图。参见 图2,该方法包括:
[0041] 步骤201,在驱动层截获来自DHCP客户端的DHCP请求包;
[0042]本步骤中,驱动层与应用层之间的通信机制采用sys文件系统的uevent机制。其 中,驱动层中设置有DHCP服务器与外围设备进行通信的驱动程序库,应用层通过调用驱动 程序库来实现DHCP服务器的一些上层功能。
[0043] 本发明实施例中,作为可选实施例,局域网可以为WiFi网络,则DHCP服务器可以 是WiFi网络的接入点(AP,Access Point),即WiFi接入点,例如,可以为非对称数字用户线 (ADSL,Asymmetric Digital Subscriber Line)路由器,或者,同时具有无线路由以及ADSL 路由功能的无线路由器。
[0044] 作为可选实施例,本步骤具体包括:
[0045] All,在DHCP服务器的驱动层注入预先设置的截获程序;
[0046] A12,启动截获程序,并通过启动的截获程序暂时拦截发往DHCP服务器应用层的 网络包;
[0047] A13,如果暂时拦截的所述网络包为来自DHCP客户端的DHCP请求包,拦截所述 DHCP客户端的DHCP请求包。
[0048] 本步骤中,作为一可选实施例,识别所述网络包为来自DHCP客户端的DHCP请求包 具体包括:
[0049] 解析网络包的包头,获取传输层类型信息、源端口号信息以及目的端口号信息,如 果传输层类型信息为TCP/UDP、源端口号信息为6 8且目的端口号信息为67,则确定暂时拦 截的网络包为DHCP请求包。
[0050] 实际应用中,也可以根据网络包是否为一些特殊格式的数据包来识别DHCP请 求包。例如,如果所述网络包为DHCP客户端用于在网络上查询DHCP服务器而发送的 DHCP DISCOVER广播包,则确定所述网络包为来自DHCP客户端的DHCP请求包。关于DHCP DISCOVER广播包的数据结构及格式为公知技术,在此略去详述。
[0051] 本发明实施例中,对于暂时拦截的所述网络包为非DHCP请求包的情形,则执行转 发至上层应用层的流程,因而,该方法进一步包括:
[0052] 确定所述网络包不为来自DHCP客户端的DHCP请求包,放行暂时拦截的所述网络 包。
[0053] 步骤202,根据截获的DHCP请求包,为所述DHCP客户端配置局域网参数,并携带在 DHCP请求响应中,发送至所述DHCP客户端,以使所述DHCP客户端根据接收的DHCP请求响 应中的局域网参数,接入所述局域网参数对应的局域网。
[0054] 本步骤中,根据截获的DHCP请求包,为所述DHCP客户端配置局域网参数,并携带 在DHCP请求响应中具体包括:
[0055] B11,根据截获的DHCP请求包,为所述DHCP客户端配置局域网参数,并预留配置的 局域网参数资源;
[0056] 本步骤中,局域网参数包含:DHCP服务器标识信息、源IP地址、分配的IP地址、子 网掩码、媒体访问控制(MAC,Media Access Control)地址、域名(DN,Domain Name)信息以 及地址租期信息等。
[0057] 本发明实施例中,DHCP服务器集中管理IP地址等局域网参数配置信息,DHCP客户 端从DHCP服务器请求配置局域网参数,从而实现DHCP客户端网络连接的自动配置。
[0058] 关于DHCP服务器具体为DHCP客户端配置局域网参数为公知技术,在此略去详述。
[0059] B12,向DHCP客户端发送包含配置的局域网参数的而CP OFFER单播数据包;
[0060] 本步骤中,在配置局域网参数后,根据截获的DHCP请求包中包含的DHCP客户端, 采用单播的方式,向该DHCP客户端发送配置好的局域网参数信息。
[0061] B13,驱动层截获DHCP客户端发送的DHCP REQUEST广播包,所述DHCP REQUEST广 播包用于DHCP客户端在接收到DHCP OFFER单播数据包后,向DHCP服务器请求分配接收的 局域网参数中的IP地址;
[0062] 本步骤中,如果有多个DHCP服务器向DHCP客户端发送DHCP OFFER单播数据包, DHCP客户端可以接收到多个DHCP服务器的DHCP OFFER单播数据包,然后,可能接受其中任 何一个DHCP OFFER单播数据包。作为一可选实施例,DHCP客户端通常接受第一个接收的 DHCP OFFER单播数据包。
[0063] 本发明实施例中,DHCP客户端向DHCP服务器发送DHCP REQUEST广播包,是为了 让其它向该DHCP客户端发送DHCP OFFER单播数据包的DHCP服务器也能够接收到该DHCP REQUEST广播包,以便于释放已经预分配(OFFER)给该DHCP客户端的IP地址资源。
[0064] 实际应用中,DHCP服务器为DHCP客户端配置的局域网参数中的IP地址,可能已 被其他DHCP客户端使用。因而,该方法可以进一步包括:
[0065] 驱动层截获DHCP客户端发送的标识再次DHCP请求的DHCP DECLINE广播包,所述 DHCP DECLINE广播包用于DHCP客户端在接收到DHCP OFFER单播数据包后,向DHCP服务器 拒绝接收的局域网参数中的IP地址,并请求重新分配局域网参数。
[0066] 本步骤中,如果配置给DHCP客户端的IP地址已经被其他DHCP客户端使用,该 DHCP客户端向DHCP服务器发送DHCP DECLINE广播包,拒绝接受已经分配的IP地址,并请 求DHCP服务器重新分配局域网参数。
[0067] 如前所述,如果驱动层暂时截获的网络包为DHCP REQUEST广播包或DHCP DECLINE 广播包,则可以确定该网络包为DHCP请求包。
[0068] B14,驱动层向DHCP客户端发送标识DHCP请求响应的DHCPACK单播包,确认DHCP 客户端的DHCP请求包。
[0069] 实际应用中,由于网络中可能存在非法DHCP服务器,非法DHCP服务器可能会提供 虚假局域网参数配置信息,而一般的DHCP客户端没有采取任何安全防范措施,因而,按照 虚假局域网参数进行配置,很可能绑定到错误的配置信息,导致 DHCP客户端不能正常访问 局域网或访问恶意网站,甚至可能引发泄密等风险。因而,作为一可选实施例,该方法可以 进一步包括:
[0070] Cl 1,DHCP客户端将接收的DHCP OFFER单播数据包进行存储;
[0071] C12, DHCP客户端将接收的DHCP ACK单播包进行存储;
[0072] C13,判断存储的DHCP OFFER单播数据包中的DHCP服务器标识信息是否与存储的 DHCPACK单播包中的DHCP服务器标识信息是否相同,如果相同,执行所述接入所述局域网 参数对应的局域网的流程;否则,结束流程或重新发起 DHCP请求。
[0073] 作为另一可选实施例,该方法可以进一步包括:
[0074] C21,DHCP客户端将接收的DHCP OFFER单播数据包进行存储;
[0075] C22, DHCP客户端将接收的DHCP ACK单播包进行存储;
[0076] C23,判断存储的DHCP OFFER单播数据包中的源IP地址信息以及存储的DHCPACK 单播包中的ip地址信息是否都与预先设置的DHCP服务器标识信息相同,如果相同,执行所 述接入所述局域网参数对应的局域网的流程;否则,结束流程或重新发起DHCP请求。
[0077] 作为再一可选实施例,该方法可以进一步包括:
[0078] C31,DHCP客户端将接收的DHCP OFFER单播数据包进行存储;
[0079] C32, DHCP客户端将接收的DHCP ACK单播包进行存储;
[0080] C33,判断存储的DHCP OFFER单播数据包中分配的IP地址是否与存储的DHCPACK 单播包中分配的IP地址相同,如果相同,执行所述接入所述局域网参数对应的局域网的流 程;否则,结束流程或重新发起DHCP请求。
[0081] 这样,通过上述的方法,可以有效避免非法DHCP服务器提供虚假局域网参数配置 信息,导致的DHCP客户端不能正常访问局域网或访问恶意网站,甚至可能引发泄密等风 险。
[0082] 图3为本发明实施例基于动态主机配置协议连接局域网的方法具体流程示意图。 参见图3,该方法包括:
[0083] 步骤301,在DHCP服务器的驱动层注入预先设置的截获程序;
[0084] 本步骤具体包括:
[0085] D11,在DHCP服务器的驱动层注入预先设置的截获程序的截获模块,利用所述注 入的截获模块拦截发往DHCP服务器应用层的DHCP请求包;
[0086] 本步骤中,可以通过Windows提供的钩子(Hook)的消息处理机制,调用 WindowManager的addview方法注入所述截获模块,其中,截获模块为一个网络过滤驱动。 这样,通过注入的截获模块,对DHCP客户端发送的DHCP请求包进行拦截,使之不发送至应 用层的DHCP端口,并依序为拦截的DHCP请求包进行局域网参数配置,避免了应用层DHCP 端口被一 DHCP客户端占用,无法监听其它DHCP客户端的DHCP请求包,导致其它DHCP客户 端接入局域网失败的情形,可以有效提升DHCP客户端接入局域网的成功率;进一步地,通 过在驱动层对DHCP请求进行处理,可以避免一些DHCP服务器中的网卡,由于版本及型号较 老,在应用层不支持无线局域网通信,从而直接拒绝DHCP请求(包)的情形,也提升了 DHCP 客户端接入局域网的成功率。
[0087] 本发明实施例中,关于调用WindowManager的addview方法,属于公知技术,在此 略去详述。
[0088] 作为可选实施例,利用所述注入的截获模块拦截发往DHCP服务器应用层的DHCP 请求包包括:
[0089] D111,查找所述截获模块的内存变量;
[0090] D112,将所述截获模块的内存变量设置为具有拦截功能的内存变量;
[0091] D113,新增所述截获模块的内存变量,并使新增的内存变量与所述DHCP端口用于 配置局域网参数的内存变量相同。
[0092] 本发明实施例中,截获模块中新增的内存变量对应的代码所实现的功能与DHCP 端口用于配置局域网参数的内存变量对应的代码所实现的功能一致,不同的是,截获模块 在驱动层中配置局域网参数,DHCP端口在应用层中配置局域网参数,且截获模块在驱动层 进行截获,DHCP端口在应用层进行监听。
[0093] 本发明实施例中,将所述截获模块的内存变量设置为具有拦截功能的内存变量的 操作与新增所述截获模块的内存变量相类似,在此略去详述。
[0094] 所应说明的是,本发明实施例中的注入仅是示例性的,本领域普通技术人员可以 采用其他的技术来完成替换流程,本发明实施例不再一一例举。
[0095] D12, DHCP服务器启动,同步启动注入在驱动层的截获程序中的截获模块。
[0096]作为可选实施例,在注入预先设置的截获程序的截获模块之前,该方法进一步包 括:
[0097] 设置网络过滤驱动,以在设置的网络过滤驱动中拦截DHCP请求包。
[0098] 本步骤中,通过编写网络过滤(filter)驱动,用以在网络过滤驱动中拦截DHCP请 求包,并对拦截到的DHCP请求包进行DHCP协议处理,例如,确定拦截到的DHCP请求包是 DHCP REQUEST广播包还是DHCP OFFER单播数据包等。
[0099] 本步骤中,通过设置截获程序,每当DHCP客户端发出DHCP请求包之后,该DHCP请 求包在没有到达DHCP服务器的应用层之前,截获程序可以截获该DHCP请求包,从而使得截 获程序优先得到控制权。这样,截获程序可以处理该DHCP请求包,例如,为发送DHCP请求 包的DHCP客户端配置局域网参数。
[0100] 作为另一可选实施例,在注入预先设置的截获程序的截获模块之前,该方法可以 进一步包括:
[0101] 获取操作系统的根(Root)权限。
[0102] 本步骤中,通过预先获取操作系统的Root权限,从而可以实现用户权限提升。其 中,Root是Linux操作系统、Windows操作系统和Unix操作系统中的超级管理员用户账户, 如果获得Root权限,表示已经获取操作系统的最高权限。这样,可以对操作系统中的任何 文件(包括操作系统文件)执行增、删、改、查等操作,从而实现截获程序的注入。
[0103] 步骤3〇2,驱动层注入的截获程序暂时拦截发往DHCP服务器应用层的网络包;
[01 04] 本步骤中,截获程序只拦截DHCP请求包,但由于不能识别发往DHCP服务器应用层 的网络包中,哪些是DHCP请求包,因而,先将发往DHCP服务器应用层的网络包进行暂时拦 截,后续再进行识别。
[0105] 步骤303,判断暂时拦截的网络包是否为DHCP请求包,如果是,执行步骤304,否 贝 1J,执行步骤308 ;
[0106] 本步骤中,可以通过解析网络包的包头,获取传输层类型信息、源端口号信息以及 目的端口号信息等,如果传输层类型信息为TCP/UDP、源端口号信息为68且目的端口号信 息为67,则确定暂时拦截的网络包为DHCP请求包。
[0107] 步骤304,拦截所述DHCP请求包;
[0108] 本步骤中,在驱动层中拦截DHCP请求包,使之不发送至应用层,并在驱动层中对 拦截的DHCP请求包进行处理。
[0109] 步骤305,解析DHCP请求包中的请求,为发送DHCP请求包的DHCP客户端配置局域 网参数;
[0110] 本步骤中,DHCP服务器驱动层的截获程序根据所属局域网内的IP地址资源使用 情况,为发送DHCP请求包的DHCP客户端配置局域网参数,预留配置的局域网参数资源。
[0111] 步骤306,将配置的局域网参数信息发送至发送DHCP请求包的DHCP客户端;
[0112] 步骤307,接收DHCP客户端返回的分配预留资源的请求,向DHCP客户端发送确认 信息;
[0113] 本步骤中,DHCP客户端接收DHCP服务器配置的局域网参数,确定接受该配置的局 域网参数,向DHCP服务器发送分配预留资源的请求,请求分配接收的局域网参数中的资源 信息。
[0114] 步骤308,放行暂时拦截的网络包。
[0115] 由上述可见,本发明实施例基于动态主机配置协议连接局域网的方法,通过在驱 动层截获发往DHCP服务器的网络包,在确定网络包为DHCP客户端请求的DHCP请求包后, 为DHCP客户端配置局域网参数并预留资源,以使DHCP客户端根据配置的局域网参数及预 留资源接入局域网。这样,不需要开启DHCP服务,即无需监听DHCP端口,可以有效解决DHCP 端口被占用导致DHCP客户端不能接入局域网的技术问题,可以大幅提高DHCP客户端连接 局域网的成功率;进一步地,在网络层进行截获和配置局域网参数,可以解决一些型号老网 卡在应用层不支持或不兼容无线局域网,从而拒绝响应DHCP请求而导致DHCP客户端连接 不上的技术问题,也提升了 DHCP客户端连接局域网的成功率;而且,由于是在(网络)驱 动层处理DHCP请求,效率较应用层高,且无需将DHCP请求发送至应用层,降低了驱动层将 DHCP请求传输至应用层,以及,应用层将配置的局域网参数传输至驱动层引起的传输时延, 从而提升了 DHCP客户端连接局域网的连接速度。
[0116] 图4为本发明实施例基于动态主机配置协议连接局域网的装置结构示意图。参见 图4,该装置包括:截获模块、配置模块以及输出模块,其中,
[0117] 截获模块,用于在驱动层截获来自动态主机配置协议DHCP客户端的DHCP请求 包;
[0118] 本发明实施例中,作为可选实施例,截获模块包括:注入单元、第一拦截单元、识别 单元、第二拦截单元以及放行单元(图中未示出),其中,
[0119] 注入单元,用于在DHCP服务器的驱动层注入预先设置的截获程序;
[0120] 本发明实施例中,注入单元在DHCP服务器的驱动层注入预先设置的截获程序的 截获模块,利用所述注入的截获模块拦截发往DHCP服务器应用层的DHCP请求包;DHCP服 务器启动,同步启动注入在驱动层的截获程序中的截获模块。
[0121] 作为可选实施例,注入单元包括:注入子单元、查找子单元、设置子单元、新增子单 元以及同步子单元,其中,
[0122] 注入子单元,用于在DHCP服务器的驱动层注入预先设置的截获程序的截获模块;
[0123] 查找子单元,用于查找所述截获模块的内存变量;
[0124] 设置子单元,用于将所述截获模块的内存变量设置为具有拦截功能的内存变量; [0125]新增子单元,新增所述截获模块的内存变量,并使新增的内存变量与所述DHCP端 口用于配置局域网参数的内存变量相同;
[0126] 同步子单元,用于在DHCP服务器启动后,同步启动注入在驱动层的截获程序中的 截获模块。
[0127] 第一拦截单元,用于启动截获程序,并通过启动的截获程序暂时拦截发往DHCP服 务器应用层的网络包;
[0128] 识别单元,用于识别暂时拦截的所述网络包是否为来自DHCP客户端的DHCP请求 包,如果是,通知第二拦截单元,否则,通知放行单元;
[0129] 本发明实施例中,如果所述网络包为DHCP客户端用于在网络上查询DHCP服务器 而发送的DHCP DISCOVER广播包,则确定所述网络包为来自DHCP客户端的DHCP请求包。
[0130] 第二拦截单元,用于根据接收的通知,拦截第一拦截单元中的所述DHCP客户端的 DHCP请求包;
[0131] 放行单元,用于根据接收的通知,放行第一拦截单元中的所述网络包。
[0132] 配置模块,用于根据截获模块截获的DHCP请求包,为所述DHCP客户端配置周域网 参数,将配置的局域网参数信息输出至输出模块;
[0133] 本发明实施例中,作为可选实施例,配置模块包括:配置单元、局域网参数发送单 元、接收单元以及局域网参数确认单元(图中未示出),其中,
[0134] 配置单元,用于根据截获的DHCP请求包,为所述DHCP客户端配置局域网参数,并 预留配置的局域网参数资源;
[0135] 本发明实施例中,局域网参数包含:DHCP服务器标识信息、源IP地址、分配的1P 地址、子网掩码、媒体访问控制(MAC,Media Access Control)地址、域名(DN,Domain Name) 信息以及地址租期信息等。
[0136] 局域网参数发送单元,用于将配置的局域网参数封装在DHCP OFFER单播数据包 中,向DHCP客户端发送;
[0137] 接收单元,用于在驱动层截获DHCP客户端发送的DHCP REQUEST广播包,通知局域 网参数确认单元,所述DHCP REQUEST广播包用于DHCP客户端在接收到DHCP OFFER单播数 据包后,向DHCP服务器请求分配接收的局域网参数中的IP地址;
[0138] 局域网参数确认单元,用于在接收到通知后,在驱动层向DHCP客户端发送标识 DHCP请求响应的DHCP ACK单播包,确认DHCP客户端的DHCP请求包。
[0139] 输出模块,用于将接收的局域网参数信息封装在DHCP请求响应中,发送至所述 DHCP客户端,以使所述DHCP客户端根据接收的DHCP请求响应中的局域网参数,接入所述局 域网参数对应的局域网。
[0140] 作为一可选实施例,该装置还可以进一步包括:
[0141]截获程序设置模块,用于设置网络过滤驱动,以在设置的网络过滤驱动中拦截 DHCP请求包。
[0142]图5为本发明实施例基于动态主机配置协议连接局域网的系统结构示意图。参见 图5,该系统包括:DHCP客户端以及DHCP服务器,其中,
[0143] DHCP客户端,用于在需要接入局域网时,向DHCP服务器发送DHCP请求包;解析接 收的DHCP请求响应,获取局域网参数,按照获取的局域网参数接入局域网;
[0144] 本发明实施例中,DHCP客户端包括:接入请求模块、解析模块以及接入模块(图中 未示出),其中,
[0145]接入请求模块,用于在需要接入局域网时,向DHCP服务器发送DHCP请求包;
[0146] 解析模块,用于解析接收的DHCP请求响应,获取局域网参数;
[0147] 接入模块,用于按照获取的局域网参数接入局域网。 '
[0148] 作为可选实施例,DHCP客户端还可以进一步包括:
[0149]重请求模块,用于在拒绝接收获取的局域网参数中的ip地址后,构建DHCP DECLINE广播包,用以请求DHCP服务器重新分配局域网参数。
[0150] 作为另一可选实施例,DHCP客户端还可以进一步包括:第一存储模块、第二存储 模块以及第一判断模块,其中,
[0151] 第一存储模块,用于存储接收的DHCP OFFER单播数据包;
[0152] 第二存储模块,用于存储接收的DHCPACK单播包;
[0153] 第一判断模块,用于判断存储的DHCP OFFER单播数据包中的DHCP服务器标识信 息是否与存储的DHCP ACK单播包中的DHCP服务器标识信息是否相同,如果相同,执行所述 接入所述局域网参数对应的局域网的流程;否则,结束流程或重新发起DHCP请求。
[0154] 作为再一可选实施例,DHCP客户端还可以进一步包括:第一存储模块、第二存储 模块以及第二判断模块,其中,
[0155] 第一存储模块,用于存储接收的DHCP OFFER单播数据包;
[0156] 第二存储模块,用于存储接收的DHCP ACK单播包;
[0157] 第二判断模块,用于判断存储的DHCP OFFER单播数据包中的源IP地址信息以及 存储的DHCP ACK单播包中的IP地址信息是否都与预先设置的DHCP服务器标识信息相同, 如果相同,执行所述接入所述局域网参数对应的局域网的流程;否则,结束流程或重新发起 DHCP请求。
[0158] 作为再一可选实施例,DHCP客户端还可以进一步包括:第一存储模块、第二存储 模块以及第三判断模块,其中,
[0159] 第一存储模块,用于存储接收的DHCP OFFER单播数据包;
[0160] 第二存储模块,用于存储接收的DHCP ACK单播包;
[0161] 第三判断模块,用于判断存储的DHCP OFFER单播数据包中分配的IP地址是否与 存储的DHCP ACK单播包中分配的IP地址相同,如果相同,执行所述接入所述局域网参数对 应的局域网的流程;否则,结束流程或重新发起DHCP请求。
[0162] DHCP服务器,用于在驱动层截获来自DHCP客户端的DHCP请求包,为所述DHCP客 户端配置局域网参数,将配置的局域网参数信息封装在DHCP请求响应中,发送至所述DHCP 客户端。
[0163] 本发明实施例中,DHCP服务器的具体结构可参见图4,在此不再赘述。
[0164] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁 碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。
[0165] 以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应 涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
【权利要求】
1. 一种基于动态主机配置协议连接局域网的方法,其特征在于,该方法包括: 在驱动层截获来自动态主机配置协议DHCP客户端的DHCP请求包; 根据截获的DHCP请求包,为所述DHCP客户端配置局域网参数,并携带在DHCP请求响 应中,发送至所述DHCP客户端,以使所述DHCP客户端根据接收的DHCP请求响应中的局域 网参数,接入所述局域网参数对应的局域网。
2. 根据权利要求1所述的方法,其特征在于,所述在驱动层截获来自动态主机配置协 议DHCP客户端的DHCP请求包包括: 在DHCP服务器的驱动层注入预先设置的截获程序; 启动截获程序,并通过启动的截获程序暂时拦截发往DHCP服务器应用层的网络包; 如果暂时拦截的所述网络包为来自DHCP客户端的DHCP请求包,拦截所述DHCP客户端 的DHCP请求包。
3. 根据权利要求2所述的方法,其特征在于,识别所述网络包为来自DHCP客户端的 DHCP请求包包括: 解析网络包的包头,获取传输层类型信息、源端口号信息以及目的端口号信息,如果传 输层类型信息为TCP/UDP、源端口号信息为68且目的端口号信息为67,则确定暂时拦截的 网络包为DHCP请求包。
4. 根据权利要求2所述的方法,其特征在于,识别所述网络包为来自DHCP客户端的 DHCP请求包包括: 如果所述网络包为DHCP客户端用于在网络上查询DHCP服务器而发送的DHCP DISCOVER广播包,则确定所述网络包为来自DHCP客户端的DHCP请求包。
5. 根据权利要求2所述的方法,其特征在于,所述在DHCP服务器的驱动层注入预先设 置的截获程序包括: 在DHCP服务器的驱动层注入预先设置的截获程序的截获模块,利用所述注入的截获 模块拦截发往DHCP服务器应用层的DHCP请求包; DHCP服务器启动,同步启动注入在驱动层的截获程序中的截获模块。
6. 根据权利要求5所述的方法,其特征在于,所述在DHCP服务器的驱动层注入预先设 置的截获程序的截获模块之前,所述方法进一步包括: 设置网络过滤驱动,以在设置的网络过滤驱动中拦截DHCP请求包。
7. 根据权利要求5或6所述的方法,其特征在于,所述利用所述注入的截获模块拦截发 往DHCP服务器应用层的DHCP请求包包括: 查找所述截获模块的内存变量; 将所述截获模块的内存变量设置为具有拦截功能的内存变量; 新增所述截获模块的内存变量,并使新增的内存变量与所述DHCP端口用于配置局域 网参数的内存变量相同。
8. 根据权利要求2所述的方法,其特征在于,所述方法进一步包括: 确定所述网络包不为来自DHCP客户端的DHCP请求包,放行暂时拦截的所述网络包。
9. 根据权利要求1所述的方法,其特征在于,所述根据截获的DHCP请求包,为所述 DHCP客户端配置局域网参数,并携带在DHCP请求响应中具体包括: 根据截获的DHCP请求包,为所述DHCP客户端配置局域网参数,并预留配置的局域网参 数资源; 向DHCP客户端发送包含配置的局域网参数的DHCP OFFER单播数据包; 驱动层截获DHCP客户端发送的DHCP REQUEST广播包,所述DHCP REQUEST广播包用于 DHCP客户端在接收到DHCP OFFER单播数据包后,向DHCP服务器请求分配接收的局域网参 数中的IP地址; 驱动层向DHCP客户端发送标识DHCP请求响应的DHCPACK单播包,确认DHCP客户端的 DHCP请求包。
10. 根据权利要求9所述的方法,其特征在于,所述局域网参数包含:DHCP服务器标识 信息、源IP地址、分配的IP地址、子网掩码、媒体访问控制地址、域名信息以及地址租期信 息。
11. 根据权利要求9所述的方法,其特征在于,所述方法进一步包括: 驱动层截获DHCP客户端发送的标识再次DHCP请求的DHCP DECLINE广播包,所述DHCP DECLINE广播包用于DHCP客户端在接收到DHCP OFFER单播数据包后,向DHCP服务器拒绝 接收的局域网参数中的IP地址,并请求重新分配局域网参数。
12. 根据权利要求9所述的方法,其特征在于,所述方法进一步包括: DHCP客户端将接收的DHCP OFFER单播数据包进行存储; DHCP客户端将接收的DHCP ACK单播包进行存储; 判断存储的DHCP OFFER单播数据包中的DHCP服务器标识信息是否与存储的DHCPACK 单播包中的DHCP服务器标识信息是否相同,如果相同,执行所述接入所述局域网参数对应 的局域网的流程;否则,结束流程或重新发起DHCP请求。
13. 根据权利要求9所述的方法,其特征在于,所述方法进一步包括: DHCP客户端将接收的DHCP OFFER单播数据包进行存储; DHCP客户端将接收的DHCP ACK单播包进行存储; 判断存储的DHCP OFFER单播数据包中的源IP地址信息以及存储的DHCP ACK单播包 中的IP地址信息是否都与预先设置的DHCP服务器标识信息相同,如果相同,执行所述接入 所述局域网参数对应的局域网的流程;否则,结束流程或重新发起DHCP请求。
14. 根据权利要求9所述的方法,其特征在于,所述方法进一步包括: DHCP客户端将接收的DHCP OFFER单播数据包进行存储; DHCP客户端将接收的DHCP ACK单播包进行存储; 判断存储的DHCP OFFER单播数据包中分配的IP地址是否与存储的DHCP ACK单播包中 分配的IP地址相同,如果相同,执行所述接入所述局域网参数对应的局域网的流程;否则, 结束流程或重新发起DHCP请求。
15. -种基于动态主机配置协议连接局域网的装置,其特征在于,该装置包括:截获模 块、配置模块以及输出模块,其中, 截获模块,用于在驱动层截获来自动态主机配置协议DHCP客户端的DHCP请求包; 配置模块,用于根据截获模块截获的DHCP请求包,为所述DHCP客户端配置局域网参 数,将配置的局域网参数信息输出至输出模块; 输出模块,用于将接收的局域网参数信息封装在DHCP请求响应中,发送至所述DHCP客 户端,以使所述DHCP客户端根据接收的DHCP请求响应中的局域网参数,接入所述局域网参 数对应的局域网。 I6·根据权利要求15所述的装置,其特征在于,所述截获模块包括:注入单元、第一拦 截单元、识别单元、第二拦截单元以及放行单元,其中, 注入单元,用于在DHCP服务器的驱动层注入预先设置的截获程序; 第一拦截单元,用于启动截获程序,并通过启动的截获程序暂时拦截发往DHCP服务器 应用层的网络包; 识别单元,用于识别暂时拦截的所述网络包是否为来自DHCP客户端的DHCP请求包,如 果是,通知第二拦截单元,否则,通知放行单元; 第二拦截单元,用于根据接收的通知,拦截第一拦截单元中的所述DHCP客户端的DHCP 请求包; 放行单元,用于根据接收的通知,放行第一拦截单元中的所述网络包。
17. 根据权利要求16所述的装置,其特征在于,所述注入单元包括:注入子单元、查找 子单兀、设置子单元、新增子单元以及同步子单元,其中, 注入子单元,用于在DHCp服务器的驱动层注入预先设置的截获程序的截获模块; 查找子单元,用于查找所述截获模块的内存变量; 设置子单元,用于将所述截获模块的内存变量设置为具有拦截功能的内存变量; 新增子单元,新增所述截获模块的内存变量,并使新增的内存变量与所述DHCP端口用 于配置局域网参数的内存变量相同; 同步子单元,用于在DHCP服务器启动后,同步启动注入在驱动层的截获程序中的截获 模块。
18. 根据权利要求15所述的装置,其特征在于,所述配置模块包括:配置单元、局域网 参数发送单元、接收单元以及局域网参数确认单元,其中, 配置单元,用于根据截获的DHCP请求包,为所述DHCP客户端配置局域网参数,并预留 配置的局域网参数资源; 局域网参数发送单元,用于将配置的局域网参数封装在DHCP OFFER单播数据包中,向 DHCP客户端发送; 接收单元,用于在驱动层截获DHCP客户端发送的DHCP REQUEST广播包,通知局域网参 数确认单元,所述DHCP REQUEST广播包用于DHCP客户端在接收到DHCP OFFER单播数据包 后,向DHCP服务器请求分配接收的局域网参数中的IP地址; 局域网参数确认单元,用于在接收到通知后,在驱动层向DHCP客户端发送标识DHCP请 求响应的DHCP ACK单播包,确认DHCP客户端的DHCP请求包。
19. 根据权利要求15至18任一项所述的装置,其特征在于,所述装置进一步包括: 截获程序设置模块,用于设置网络过滤驱动,以在设置的网络过滤驱动中拦截DHCP请 求包。
20. -种基于动态主机配置协议连接局域网的系统,其特征在于,该系统包括:DHCP客 户端以及DHCP服务器,其中, DHCP客户端,用于在需要接入局域网时,向DHCP服务器发送DHCP请求包;解析接收的 DHCP请求响应,获取局域网参数,按照获取的局域网参数接入局域网; DHCP服务器,用于在驱动层截获来自DHCP客户端的DHCP请求包,为所述DHCP客户端 配置局域网参数,将配置的局域网参数信息封装在DHCP请求响应中,发送至所述DHCP客户 端。
21. 根据权利要求20所述的系统,其特征在于,所述DHCP客户端包括:接入请求模块、 解析模块以及接入模块,其中, 接入请求模块,用于在需要接入局域网时,向DHCP服务器发送DHCP请求包; 解析模块,用于解析接收的DHCP请求响应,获取局域网参数; 接入模块,用于按照获取的局域网参数接入局域网。
22. 根据权利要求21所述的系统,其特征在于,所述DHCP客户端进一步包括: 重请求模块,用于在拒绝接收获取的局域网参数中的IP地址后,构建DHCP DECLINE广 播包,用以请求DHCP服务器重新分配局域网参数。
23. 根据权利要求21所述的系统,其特征在于,所述DHCP客户端进一步包括:第一存 储模块、第二存储模块以及第一判断模块,其中, 第一存储模块,用于存储接收的DHCP OFFER单播数据包; 第二存储模块,用于存储接收的DHCPACK单播包; 第一判断模块,用于判断存储的DHCP OFFER单播数据包中的DHCP服务器标识信息是 否与存储的DHCPACK单播包中的DHCP服务器标识信息是否相同,如果相同,执行所述接入 所述局域网参数对应的局域网的流程;否则,结束流程或重新发起DHCP请求。
24. 根据权利要求21所述的系统,其特征在于,所述DHCP客户端进一步包括:第一存 储模块、第二存储模块以及第二判断模块,其中, 第一存储模块,用于存储接收的DHCP OFFER单播数据包; 第二存储模块,用于存储接收的DHCPACK单播包; 第二判断模块,用于判断存储的DHCP OFFER单播数据包中的源IP地址信息以及存储 的DHCP ACK单播包中的IP地址信息是否都与预先设置的DHCP服务器标识信息相同,如 果相同,执行所述接入所述局域网参数对应的局域网的流程;否则,结束流程或重新发起 DHCP请求。
25. 根据权利要求21所述的系统,其特征在于,所述DHCP客户端进一步包括:第一存 储模块、第二存储模块以及第三判断模块,其中, 第一存储模块,用于存储接收的DHCP OFFER单播数据包; 第二存储模块,用于存储接收的DHCPACK单播包; 第三判断模块,用于判断存储的DHCP OFFER单播数据包中分配的IP地址是否与存储 的DHCPACK单播包中分配的IP地址相同,如果相同,执行所述接入所述局域网参数对应的 局域网的流程;否则,结束流程或重新发起DHCP请求。
26. 根据权利要求20至25任一项所述的系统,其特征在于,所述DHCP服务器包括:截 获模块、配置模块以及输出模块,其中, 截获模块,用于在驱动层截获来自动态主机配置协议DHCP客户端的DHCP请求包; 配置模块,用于根据截获模块截获的DHCP请求包,为所述DHCP客户端配置局域网参 数,将配置的局域网参数信息输出至输出模块; 输出模块,用于将接收的局域网参数信息封装在DHCP请求响应中,发送$所$ DHCP # 户端,以使所述DHCP客户端根据接收的DHCP请求响应中的局域网参数,接入所述局域网参 数对应的局域网。
【文档编号】H04L12/28GK104219173SQ201410459664
【公开日】2014年12月17日 申请日期:2014年9月10日 优先权日:2014年9月10日
【发明者】徐建新, 郑伟鹏 申请人:珠海市君天电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1